Защити себя в IRC Докучаев Дмитрий aka Forb Спецвыпуск Xakep, номер #041, стр. 041-024-3 Помимо флуда, злоумышленник может одной левой уронить твой клиент. Особенно это касается mIRC. Совсем недавно в нем была обнаружена уязвимость, которая заключается в переполнении буфера. Имя файла, пересылаемое по DCC, не проверялось на размер. При этом если оно составляет более 270 символов, клиент успешно умирает :). После обнаружения баги вышел mIRC 6.12, спустя несколько дней брешь обнаружили и в этом релизе, но публичного эксплойта до сих пор нет. Единственной защитой от напасти является установка игнора на все DCC-запросы. Это делается командой /ignore –wd *. Дай отпор сниферам! И, наконец, самая неприятная проблема это снифинг данных в IRC. Представь себе, что твой сегмент состоит из 30 машин. За одной сидишь ты, а за другой – сосед Вася с tcpdump'ом в руках. Если ты изучал стандарт Ethernet, то понимаешь, что все пакеты от твоего компьютера автоматически будут переданы повторителем на все Васины порты (естественно, что мы рассматриваем один домен коллизий), и Вася обязательно узнает о том, как ты развлекался с виртуальной девчонкой. Можно даже усложнить ситуацию, когда перехват осуществляется на (захаканном) центральном маршрутизаторе. Сам процесс снифинга отловить сложно (но можно, особенно локально - прим. ред.), поэтому способы противостояния ему сразу можно отбросить. Остается задействовать прелести прикладного уровня сетевой модели, которые заключаются в шифровании данных. Из сторонних программ для шифрования IRC-разговоров я бы рекомендовал скрипт к mIRC под названием Enygma Crypt. Малышка Энигма, состоящая из библиотеки и миниатюрного сценария, зашифрует твои сообщения методом cast128. Принцип работы этой программы очень прост – перед использованием генерируется пароль-ключ, который знают лишь избранные, кому действительно нужно видеть приватную беседу. Как ты уже догадался, весь базар зашифровывается необратимой функцией с помощью этого ключика. Но в любой бочке меда есть своя ложка дегтя. Это касается и Энигмы. Например, фразы, начинающиеся с обратного слеша, Enygma считает командой и отказывается их шифровать. Кроме этого, слишком большие мессаги также пропускаются. Но при желании все эти проблемы решаются пластической операцией над скриптом. Скачать малютку можно здесь: http://enigma.belland.org.uk/enigmacrypt.zip. Так как прога весьма популярна, поговорим подробнее о ее установке и использовании. Сперва необходимо подгрузить библиотеку cast.dll. Для этого закинь ее в %WINDIR%, после чего командуй "regsvr32 cast.dll" (в win9x/me подгружать DLL не нужно). После этого лезь в Remote (Alt+R) и активируй сценарий. Теперь кликай правой кнопкой по каналу. Ты увидишь новый пункт меню Enygma, в котором нужно выбрать пункт Initialise Enygma CrYpT key. Ключ должен составлять как минимум 6 символов и быть достаточно сложным. После всех операций активируй Энигму соответствующим пунктом меню и радуйся жизни – твою приватную беседу никто не расшифрует. Я уже рассказывал про psyBNC, но не упоминал о том, что баунсер поддерживает шифрование трафика. Достаточно лишь набрать команду “/ENCRYPT пароль :канал|ник”, и все твои фразы будут шифроваться методом BlowFish. Естественно, расшифровать мессаги могут лишь те, кто юзает psyBNC и знает пароль. В противном случае клиент получит неразбериху. |