(Окончание, начало в №37)
Перед тем как рассмотреть некоторые виды атак, вспомним основные термины, тем или иным образом связанные с безопасностью в IP-сетях:
proxy - сервер-посредник, т.е. программа, посылающая от своего имени пакеты во внешнюю сеть по запросу клиентов. Прокси бывают разных типов: уровня приложений - http, ftp, транспортного уровня TCP/UDP - socks и некоторые другие;
router (он же маршрутизатор, он же роутер, старое название - gateway) - программа или железо, обеспечивающие маршрутизацию пакетов между интерфейсами по заданным правилам;
firewall (он же брандмауэр) - единственное определение, которое удалось найти в Интернет, звучит приблизительно так: "Система, ограничивающая доступ из одной сети в другую". Под это определение попадает, например, любой роутер с настраиваемыми правами доступа, работающий в связке с прокси-сервером. Однако принято называть брандмауэрами только специализированные программные комплексы.
Теперь об атаках:
IP spoofing
Спуфингом называется подмена адреса отправителя в заголовке IP-пакета с целью пробить аутентификацию, основанную на определении IP-адреса источника пакета. Несмотря на то, что ответный пакет никогда не вернётся к атакующему, спуфинг является лучшим другом хакера-злоумышленника и применяется в качестве составляющей множества других атак.
SYN flooding
- является разновидностью атак типа denial-of-service (отказ от обслуживания). Осуществляется она с помощью создания полуоткрытых или недооткрытых (half-open) соединений. Ей подвержен стек любой операционной системы или даже стек маршрутизатора, если он ещё и предоставляет какой-либо TCP-сервис, например, echo... Рассмотрим нормальный процесс установления соединения клиента (ftp, http, telnet...) с сервером:
- начинает клиент с отправки запроса SYN на установление соединения с сервером;
- сервер подтверждает получение запроса SYN отправкой клиенту сообщения SYN-ACK;
- клиент завершает процесс установления соединения отправкой сообщения ACK.
Таким образом, соединение открыто, и сервер может обмениваться с клиентом специфичными для конкретного приложения данными. Если сервер не получил сообщение ACK, то будет ожидать его в течение некоторого времени (timeout) прежде, чем закроет полуоткрытое соединение. До закрытия сервер сохраняет в памяти структуру данных, описывающих ожидающие установления соединения. Эта структура со временем переполняется, и сервер, в лучшем случае, лишается возможности открывать новые соединения до тех пор, пока список полуоткрытых соединений не очистится. В худшем случае сервер может выйти из строя.
SMURF
- также относится к атакам типа denial-of-service и работает на базе Internet Control Message Protocol (ICMP). Возможно, не каждый пользователь знаком с названием этого протокола, однако подавляющее большинство работающих с Сетью сталкивалось с программой, реализующей одну из его функций - командой "PING". Эта безобидная программа предназначена для определения доступности какого-либо хоста (удалённого устройства, имеющего IP-адрес) посылкой пакета эхо-запроса ICMP. Если получен пакет с эхо-ответом, то хост считается доступным. Однако пакет может быть отправлен не по адресу конкретного хоста, а по широковещательному (broadcast) адресу сети.
(Широковещательный адрес представляет собой адрес, в котором разряды, отведённые под адрес хоста, равны единице. Например, 10.255.255.255 - это широковещательный адрес для сети 10.0.0.0. Если такая сеть класса A разбита на 256 подсетей, то широковещательный адрес для подсети 10.50.0.0 будет 10.50.255. 255. Впрочем, сетевой адрес, в котором разряды, отведённые под адрес хоста, равны нулю, тоже может обеспечить широковещательный отклик.)
В этом случае пакет будет доставлен всем машинам в этой сети. Очевидно, что если на широковещательный пакет ответят (могут и не ответить - см.ниже) несколько сотен или тысяч машин, то компьютер-инициатор эхо-запроса может не справиться с обработкой эхо-ответов.
Впрочем, вернемся к недобрым помыслам злоумышленников. Схема их действий проста: они посылают ICMP пакет, в котором адрес отправителя является адресом жертвы (спуфинг), а в качестве получателя указывается широковещательный адрес некоего посредника. Компьютеры посредника отвечают на полученный эхо-запрос посылкой пакетов по адресу отправителя, т.е. выбранной злоумышленником жертве. Дальнейшее предсказать трудно: компьютер может временно оказаться неспособным работать в сети, может "зависнуть", но возможно и нарушение функционирования самой сети из-за чрезмерного трафика.
Сделать невозможной атаку SMURF могут маршрутизаторы в сети потенциального посредника. Если они фильтруют широковещательный трафик, то совесть настроившего их сетевого администратора может быть чиста - компьютеры во вверенной ему сети не будут посредниками в деструктивных действиях внешнего злоумышленника против неизвестной жертвы. Впрочем, инициатор атаки может находиться и внутри сети. В этом случае маршрутизаторы не помогут, и ответственность за защиту возлагается на хосты, которые также не должны отвечать на broadcast ICMP пакеты.
От описанных атак можно защититься, пожалуй, только приличным брандмауэром. Теперь рассмотрим некоторые виды атак, рассчитанных исключительно на "кривой" стек.
Land&Teardrop
Вероятно, наибольшее количество реализаций имеет именно эта парочка. При желании, в Сети можно найти множество программ, использующих именно эти два вида атак.
Принцип работы первой достаточно прост - жертве отправляется пакет, например, SYN с запросом на соединение, в котором адрес получателя, т.е. адрес жертвы, идентичен адресу отправителя (снова спуфинг). Если TCP/IP-стек операционной системы жертвы имеет соответствующий баг и не сможет разобраться с искусственно созданной злоумышленником ситуацией, то последствия могут быть самые печальные - вплоть до дампа памяти...
Воздействие Teardrop также основано на использовании возможных ошибок в TCP/IP-стеке жертвы. Злоумышленник формирует последовательность фрагментированных пакетов, части которых перекрываются. Если при их сборке происходит ошибка, то пользователя может "порадовать" дамп памяти или машина может просто намертво зависнуть.
Windows NT 4.0 не подвержен этой атаке только с Service Pack 3 и postSP3fix, Windows 95 также нуждается в соответствующих фиксах.
Back Orifice, он же BO
Эта скромная программулька размером всего в 120k(!) является "троянским конём". Умеет она не слишком многое - "всего лишь" предоставляет анонимному удалённому пользователю полный контроль над Windows 9x, подключенному к Интернет. Судите сами:
- доступ к жесткому диску жертвы через браузер;
- редактирование реестра;
- полный контроль над файловой системой;
- отчёт о введённых паролях;
- копия экрана;
- просмотр сетевых ресурсов, подключенных к жертве;
- управление списком процессов;
- удаленная перезагрузка;
- удаленное выполнение программ с возможностью перенаправления консоли клиенту (своего рода телнет).
Приведенный список возможностей не полон, так что Back Orifice почти серьезно можно рекомендовать сетевым администраторам в качестве бесплатной альтернативы таким недешевым продуктам как Landesk Management Suite или Managewise, точнее, входящим в эти пакеты средствам доступа к дэсктопам юзеров. Загрузить BO и найти полную информацию можно по адресу www.cultdeadcow.com.
Весьма примечательной была реакция MicroSoft на Back Orifice: "Мы не придаем большого значения появлению этой программы, и не думаем, что на неё следует обращать внимание нашим клиентам". С этой цитатой можно также познакомиться по адресу выше. В самом деле - ну "через Интернет", ну "анонимный", ну "полный контроль", но BackOffice-то лучше! А если пользователя вдруг взволновало, что некий anonymous будет втихаря чужой реестр редактировать, так это проблемы пользователя...
Как и все средства удаленного администрирования, BO состоит из двух частей - сервера и клиента. Сервер запускается один раз на машине жертвы, он быстро отрабатывает и удаляет себя, но до удаления он успевает спрятаться в недрах Win95 так, что найти его следы нелегко. Распространяется BO очень просто - некоторые мои знакомые уже получили (не от меня, конечно :)) "ускорители IRC", "патчи к ICQ", причем одного и того же размера 120k...
Клиенты Back Orifice существуют под Unix, OS/2 и Win32. Кроме того, сервер запросто предоставит любому удалённому браузеру жесткий диск, на котором окопалась Win 9x. Он же позволит из браузера сделать download или upload... Клиент представляет собой текстовую оболочку со встроенной помощью, достаточно удобную в использовании. Под Win32 есть GUI-клиент, однако его функциональность вызывает сомнения (как и всё Win32 :))).
Интересен еще один факт: Win95 с установленным сервером BO напрочь отказался падать под воздействием атак. Может быть, BO все баги исправил?!
Не стоит уповать на амбициозные продукты наподобие системы безопасности, доступной по адресу lockdown2000.com, ранее известному как www.hackerfree98.com. Один пользователь клиента BO сообщил, что обнаружил указанную программку на удаленном компьютере, уверенную, что доверенный ей компьютер находится в полной безопасности.
ИТОГО
Если вы - пользователь Linux, то сам Линус Торвальдс велел вам разбираться в вопросах работы в IP-сетей. Так что, вовремя набирайте "make" и не обвешивайте свою машину всеми известными и, зачастую, ненужными вам сервисами.
Если вы - пользователь Windows, то это тоже не фатально :). У вас есть надёжнейший способ обеспечить безопасность ваших данных - не подключайтесь к Интернет. Впрочем, это шутка. Не стоит думать, что Сеть перенасыщена страшными хакерами, которые только и заняты тем, что строят козни против пользователей Windows, коих пока подавляющее большинство. Однако, пользуясь IRC или ICQ, т.е. службами, с помощью которых, можно узнать IP-адрес, лучше обезопасить себя от возможных диверсий ваших собеседников и поставить соответствующие фиксы и патчи, если, конечно, вас не защищает брандмауэр.
Пользователи OS/2 могли бы эту статью и не читать - IBM почти не заботится о своем детище, но то, что она делает, она делает надежно и качественно.
Степан ТРУБАЧЕВ
Полезные ссылки:
http://www.cultdeadcow.com - домашняя страничка авторов BackOrifice;
http://www.hackzone.ru - свежие новости о взломах, вирусах, троянских конях ...;
http://www.cert.org - Координационный центр CERT - один из самых авторитетных источников по вопросам безопасности в Сети;
http://www.os2.spb.ru - с этой ссылки должен начинать хождение (скорее, ползание :)) по Интернет каждый уважающий себя полуосевик.
Горячие темы