Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Почему я не люблю ICQ

div.main {margin-left: 20pt; margin-right: 20pt} Почему я не люблю ICQ
Максим Степин

Все используют ICQ. Она стала основным средством онлайнового общения, вытеснив IRC и Web-чаты, потихоньку замещая традиционные средства передачи файлов и неинтерактивного общения. Масса молодых пользователей Internet предпочитают вместо написания вдумчивого и взвешенного электронного письма послать несколько сообщений по ICQ. При поступлении на новую работу типичен вопрос: "А "Аська" у вас есть?" Многие конторы строят на основе ICQ чуть ли не официальный документооборот. Во всяком случае передача больших файлов посредством ICQ, а не через корпоративный FTP-сервер наблюдается повсеместно и постоянно.


Наивно было бы полагать, что такое активное использование еще одной Internet-службы не уменьшит степень безопасности пользователя. Положение усугубляется принципиальным отличием протокола, используемого ICQ, от тех же FTP, SMTP и HTTP. Все традиционные протоколы стандартизованы в объемном наборе документов, называемом RFC (Request For Comments). В RFC полностью описаны все форматы данных и способы поведения в различных ситуациях. Относительно же ICQ мы не располагаем подобным сводом стандартов. Более того, стандарты целиком и полностью контролирует фирма-разработчик (Mirabilis, являющаяся частью America-on-line). Это означает, что обнаруженные прорехи в системе безопасности ICQ будут устраняться с такими скоростью и качеством, которые устраивают Mirabilis. Осложняет ситуацию то, что закрытый протокол традиционно более уязвим для всевозможных вредоносных воздействий. В самом деле, открытый протокол обсуждается неограниченным кругом заинтересованных людей. Большое количество разнообразных специалистов способно отловить потенциальные "дырки" еще на этапе проектирования. Закрытый же протокол разрабатывается одним-двумя специалистами, которые просто не в силах охватить всевозможные разнообразные ситуации, когда программа может вести себя некорректно. А более опасно то, что "дырки" в открытых стандартах довольно быстро становятся известны и соответственно быстро исправляются. Закрытый стандарт более неповоротлив и скрытен по самой своей природе. Вообще говоря, надо абсолютно не ценить информацию своего компьютера, чтобы установить на него бесплатную программу, работающую с локальными ресурсами с правами текущего пользователя, самостоятельно что-то посылающую в Сеть и принимающую из Сети по недокументированному протоколу.

Конкретные проблемы безопасности ICQ

Посылка сообщений от чужого имени, смена чужого пароля

Злоумышленники принялись за ICQ в конце 1997 г. Проблемы обнаружились сразу: это нешифрованная передача паролей, так что, используя сниффинг*, вполне возможно получить пароли пользователей и их сообщения.

Другая проблема - это возрастающие строго по порядку номера сообщений, начинающиеся с нуля. Нумерация ведется с того момента, как клиентская программа подсоединяется к серверу. После того, как ICQ отключается от сервера, счетчик обнуляется. Это дает возможность методом подбора найти порядковый номер очередного сообщения и, используя спуфинг**, десинхронизировать клиентскую программу и сервер ICQ. В самом деле, посылая сообщения с номера 0 и, например, до 50, можно с большой степенью вероятности угадать правильный номер и успешно послать поддельное сообщение. Это не сработает, если "жертва" вела активное общение и число сообщений превысило 50, но тогда можно провести нападение на операционную систему "жертвы" какой-нибудь DoS-атакой (см. таблицу) и тем самым вынудить "жертву" перезагрузить ICQ и снова начать с небольших номеров. Схожие проблемы существуют и в других службах Internet. В частности, нумеруются пакеты DNS и TCP. Но там разработаны и давно внедрены способы обхода подобных атак.

В ICQ отсутствует защита от флада***, что также снижает надежность: можно легко загрузить чью-либо машину обработкой потока сообщений, что приведет к существенному замедлению работы.

Первая атака на ICQ, получившая широкую известность, появилась весной 1998 г. Программа называлась ICQ Spoofer, она могла посылать сообщения любому пользователю от имени любого другого пользователя.

В начале лета 1998 г. стала широко доступна программа ICQ Hijack. Она позволяла похищать ICQ эккаунты, т. е. изменять пароли, не зная первоначальный. Вкратце механизм работы следующий:

определяется IP-порт, используемый клиентской программой ICQ-"жертвы", посылается сообщение на ICQ-сервер об изменении пароля с подделанным адресом источника, совпадающим с адресом "жертвы" (спуфинг), "жертва" отсоединяется от сервера путем посылки ей сообщения об ошибке соединения (опять-таки, подделывается адрес).

После этого "жертва" уже не может воспользоваться своим ICQ эккаунтом. Очень распространенным в то время "бизнесом" была продажа красивых или коротких UIN. Злодеи просто отнимали UIN у законных владельцев и перепродавали его. Этот вид "бизнеса" существует до сих пор. Попробуйте сделать поиск фразы "короткий UIN", и вы убедитесь в этом.

Достойным продолжением темы можно считать найденную в конце лета 1998 г. "дырку", позволявшую регистрироваться на ICQ-сервере под любым UIN, легальный пользователь которого в данный момент не находился на линии. Для этого использовался древнейший прием переполнения буфера, а именно ограничение ICQ на длину пароля в 8 символов не соблюдалось в Linux-версии ICQ клиента. Эта версия, из-за недокументированности протокола, была создана на основе эмпирических данных и поэтому вполне допускала разные расширенные функции типа описываемой. Набор в качестве пароля любой строки из 9-символов приводил к переполнению чего-то там на ICQ-сервере, и пользователь мог зайти на сервер под любым UIN с любым 9 символьным паролем. Понятно, что потом можно было, используя легальные средства, установить свой пароль и тут же перепродать красивый UIN. Справедливости ради надо сказать, что эту "дырку" довольно оперативно устранили.

Если говорить про ошибки переполнения, то одна из последних была обнаружена в мае 1999 г. Выяснилось, что, набрав очень длинную строку в качестве вашей домашней странички ICQ, используя ICQ webserver, встроенный в ICQ 99, можно вызвать переполнение и полный крах оного Web-сервера вместе с ICQ. К счастью, эта DoS-атака была закрыта build #1800. С ICQ webserver в build #1700 вообще была масса проблем, связанных с безопасностью. Начиная с доступа к вашей локальной машине и заканчивая всевозможными способами "отстрела" ICQ. Посему всем, кто еще пользуется ICQ 99 build #1700, рекомендуем немедленно произвести апгрейд. Последняя версия обычно находится по адресу http://www.icq.com/download/.

Атаки через ICQ

Другая сторона безопасности использования ICQ - это возможность определения чьего-либо IP-адреса и затем уже нападение, например, посредством DoS-атак. Хотя и есть флажок "не показывать IP-адрес", но при посылке прямых сообщений можно определить адрес посредством обычной утилиты netstat (входящей в комплект поставки Windows 9х), кроме того, была ошибка, которая позволяла увидеть недоступный адрес после отключения от сервера. Здесь может помочь установка режима посылки сообщений только через сервер Mirabilis, что сделает невозможным определение адреса посредством netstat. Хотя существуют и другие подобные опасности. В частности, известно, что если станция Windows NT имеет локальный IP-адрес и внешний IP-адрес, то ICQ отсылает в пакете оба адреса, не разбираясь, где находится собеседник - в локальной сети или Internet. Это теоретически может дать злоумышленнику информацию об адресах и структуре локальной Сети потенциальной "жертвы". Понятно, что "горе-хакеру", кои во множестве ищут готовые эксплоиты****, эти крохи информации никак не помогут, но серьезные специалисты по информационной безопасности вполне могут зацепиться и выстроить дальнейшую атаку на основе таких скудных сведений.

DoS-атаки
Аббревиатура DoS происходит от английского Denial of Service - отказ в обслуживании. Термином DoS-атака называют деструктивное воздействие на компьютерную систему, приводящее к выходу оной системы из строя. Это может быть повисание, перезагрузка, остановка одной из компонент и др. Если проводить аналогии с реальным миром, то типичная DoS-атака это, например, перекрытие крана водоснабжения в подвале жилого дома. Результатом этого действия является "отказ" водопроводных кранов "обслуживать" жильцов дома.
Из широко известных примеров DoS-атак можно назвать WinNuke. Весной 1997 г. аноним поместил в популярную телеконференцию описание того, как выводить из строя Windows-системы. Программная реализация этой идеи осуществлялась буквально в течение пяти минут. Поэтому практически немедленно было предпринято огромное количество сетевых атак по всему миру. "Пал" и сервер Microsoft. Более того, он "лежал" в течение нескольких дней, до тех пор пока не была написана соответствующая заплатка. Хотя она сразу же стала широко доступна, многие срезу ей не воспользовались. Еще в течение минимум полугода можно было достаточно легко найти себе "жертву". В 1997 после WinNuke возникла целая эпидемия DoS-атак. SPing, Land, TearDrop, Bonk, SynDrop - это только наиболее известные из них. "Жертвами" могли становиться как Windows-системы, так и другие. Сегодня на фронте DoS-атак наблюдается некоторое затишье. Старые "дырки" залатаны, новые пока не нашли или нашли, но не информировали о них. Тем не менее существуют некоторые общие универсальные методы DoS-атак в TCP/IP сетях, которые не являются следствием конкретных ошибок в конкретных системах. В первую очередь это различные флады. Может посылаться гигантское количество пакетов, открываться громадное число сессий и др. "Система-жертва" в один прекрасный момент просто перестанет справляться с возросшей активностью и начнет отказывать легальным запросам в обслуживании. Хорошо известен случай, когда сотрудник одной московской компании-провайдера с помощью атаки, называемой smurf, смог практически парализовать весь украинский сегмент Internet.
DoS-атаки отличаются от других способов несанкционированного воздействия своей деструктивностью и заметностью. Так, взлом сети с целью хищения важной информации при правильной организации дела не будет обнаружен никогда. DoS-атака же будет иметь четкий симптом, выражающийся, например, в перезагрузке сервера. Хотя, конечно, для правильной диагностики и верного решения возникшей ситуации системный администратор должен обладать определенной квалификацией.
"Человеческий фактор"

Еще одна опасность - это так называемый "человеческий фактор". Средний пользователь ICQ просто на порядок уступает в своей компьютерной квалификации типичному, например, IRC-шнику. Любопытность пользователей ICQ вполне может послужить, так сказать, наводкой для злоумышленника. Например, знакомый по ICQ порекомендовал посетить определенный сайт и загрузить оттуда новую версию ICQ. Собственно, уже были прецеденты, когда на различные сайты выкладывалась зараженная Back Orifice (популярный вирус-"троянец", дающий возможность полного контроля над вашим компьютером извне) - якобы новая версия ICQ-клиента, и множество доверчивых людей попали в ловушку. В качестве еще одного примера пресловутого "человеческого фактора" можно привести такой вариант обмана: при посылке файла посредством ICQ появляется диалог, в котором спрашивается разрешение на прием файла. Проблема в том, что этот диалог не контролирует длину имени файла. И можно послать какой-нибудь файл face.jpg .exe, при этом окончание имени файла будет пропущено. Пользователь, приняв это за картинку, разрешит прием и, если установлена опция об открытии файла сразу после перекачки, код будет беспрепятственно выполнен. Рекомендация тут простая: не разрешать безусловного открытия документов.

Мораль такова: до тех пор, пока протокол ICQ не будет открыт и не появится соответствующее RFC, ICQ останется эдакой "вещью в себе", в ней постоянно будут находить какие-то "дырки". Массовость увлечения ICQ породила всевозможные "войны за красивый UIN", "троянские обновления" ICQ, массу специальных программ для подделки адресата сообщений и для флада противников. Вероятно, поэтому автор не имеет ICQ у себя на рабочем компьютере и не советует этого всем читателям.

В заключение надо упомянуть статью УК РФ, имеющую отношение к затронутой теме.

Статья 273:

1. Создание программ для ЭВМ или внесение изменений в существующие программы, заведомо приводящих к несанкционированному уничтожению, блокированию, модификации либо копированию информации, нарушению работы ЭВМ, системы ЭВМ или их сети, а равно использование либо распространение таких программ или машинных носителей с такими программами - наказываются лишением свободы на срок до трех лет со штрафом в размере от двухсот до пятисот минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за период от двух до пяти месяцев.

2. Те же деяния, повлекшие по неосторожности тяжкие последствия, - наказываются лишением свободы на срок от трех до семи лет.

* Сниффинг (от англ. sniffing - вынюхивание) - перехват сетевого трафика. ** Спуфинг (от англ. spoofing - обман) - посылка пакета данных от чужого имени путем подделки адреса отправителя и другой системной информации. *** Флад (от англ. flood - наводнение) - чрезмерный поток пакетов, приводящий к расходу большого количества ресурсов на их обработку. **** Эксплоит (от англ. exploit - разрабатывать) - программа, осуществляющая несанкционированное действие, обычно использует какую-то известную ошибку.




  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте