Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Сетевые провокации, конфликты и розыгрыши


Сетевые провокации, конфликты и розыгрыши
Цикл # Ловушки    Выпуск 72

Honeynet Project: ловушка для хакеров

Уважаемые любители розыгрышей! Цикл загадок и тестов пока отложен в сторону - и в шутках требуются антракты - и мы открываем новый цикл, посвященный ловушкам в Сети.

Ловушки, как вы сами понимаете, бывают разные... Но пока не будем обобщать. Рассмотрим сначала несколько примеров. И первый из них - Honeynet Project.

Чем именно хакеры угрожают компьютерным сетям? Кто осуществляет эти угрозы, и каким образом? Цель инициативы Honeynet Project состоит в том, чтобы найти ответы на подобные вопросы, изучая действия злоумышленников, и распространяя полученную информацию и сделанные выводы. Участники проекта собирают данные, развертывая сети, получившие название «сети-приманки» (honeynet), основное назначение которых — стать объектом злонамеренных действий хакеров.

Honeynet Project (www.honeynet.org) — это научная организация, занимающаяся исследованиями в области систем безопасности и специализирующаяся на изучении инструментария, используемого злоумышленниками, их тактики и мотивов. Затем полученная информация и сделанные выводы предлагаются для ознакомления всем желающим. В состав организации входят специалисты по вопросам безопасности из разных стран, которые на добровольной основе предоставляют свои ресурсы для развертывания и изучения сетей-приманок, основное назначение которых — стать объектом атаки хакеров. После каждого зарегистрированного инцидента собранная информация тщательно анализируется.

Проект был инициирован в 1999 году небольшой группой специалистов как неформальный список рассылки. Однако в скором времени стало понятно, что ни один специалист сам по себе не обладает всем опытом, необходимым для анализа собранных сведений об атаках. Ряды участников проекта постепенно расширялись, и в июне 2000 года он получил официальное название Honeynet Project.

По прошествии двух лет деятельность в рамках Honeynet Project была формализована. Число участников группы достигло 30, она получила статус некоммерческой организации. Был создан совет директоров, в состав которого вошли Брюс Шнейер, Джордж Куртц, Элиас Леви и Дженифер Граник. Однако группа по-прежнему не обладала ресурсами, достаточными для проведения исследований, разработки и массового развертывания сетей-приманок. В январе 2002 года был создан альянс Honeynet Research Alliance, а в декабре того же года в его состав входило уже 10 активных организаций из Бразилии, Греции, Индии, Мексики, Ирландии и США. Альянс значительно расширил возможности Honeynet Project, касающиеся сбора данных и формирования общего представления о том, с какими угрозами сталкивается Internet.

Сеть-приманка — вид ловушки, представляющей собой «защищенный ресурс, назначение которого состоит в том, чтобы служить объектом зондирования, атак и взломов». Концепция, лежащая в ее основе, очень проста. Вы создаете ресурс, который не используется в работе и на котором не ведется никакая содержательная деятельность. Это значит, что, если в данную ловушку передается какой-нибудь пакет или кто-то предпринимает попытку получить к ней доступ, то, скорее всего, это зондирование, сканирование или атака. Неотъемлемым преимуществом этой модели является ее простота.

Чтобы лучше понять значение ловушек, разделим их на две категории: «промышленные» и исследовательские. Первые призваны защитить организацию. Основная задача, которая ставится перед вторыми, — сбор информации о хакерах. Эта информация косвенно помогает защитить сеть. Развернуть промышленную ловушку проще и менее рискованно, но такие ловушки получают меньше информации о злоумышленниках, которые атаковали их.

Промышленные ловушки помогают защитить компанию тремя способами: за счет предотвращения атаки, обнаружения атаки и помощи специалистам в организации адекватных действий в ответ на атаку. Такие ловушки могут предотвращать нападения за счет замедления или эффекта увязания (tarring) автоматизированных атак, как это делает ловушка LaBrea. Ловушки могут более эффективно обнаруживать атаки, поскольку порождают меньшее количество тревог, как истинных, так и ложных. Свободно распространяемый инструментарий Honeyd не имеет себе равных в обнаружении атак, особенно в крупных сетях. Кроме того, промышленные ловушки можно использовать для организации действий в ответ на атаку (например, разоблачать хакеров после того, как они укажут на изъян в защите) или для анализа ситуации на ловушке, в которую проник хакер. Скажем, в крупной компании могут знать, что защита была взломана, но им не известно, в какие именно системы проник хакер и кто он такой. Ловушки, развернутые во внутренней сети, могут помочь идентифицировать хакеров и понять, как они проникли в систему и в какую именно ее часть.

Распределенные исследовательские ловушки могут собирать общую информацию (раннее предупреждение и прогнозирование атак) или сведения, касающиеся конкретных организаций или угроз (сбор информации о потенциальном враге). В 2002 году группа хакеров из Пакистана проникла в ряд федеральных систем США. Информация, собранная в ловушках, помогла специалистам по безопасности разобраться в методах злоумышленников и адекватно отреагировать на их действия.

Сеть-приманка первого поколения GenI, по существу, — это разновидность исследовательской ловушки. Ее основное предназначение — собирать информацию о хакерах. С этой целью развертывается сеть систем, способных служить объектами атаки. Ничего не эмулируется; используются реальные системы и приложения. Цель — добиться того, чтобы хакеры проникли в систему, расположенную внутри сети-приманки, и записать и проконтролировать каждое их действие, причем так, чтобы они об этом не догадывались.

И при управлении данными, и при их сборе ситуация усугубляется тем, что необходимо действовать так, чтобы нарушитель этого не обнаружил. Давайте посмотрим, как это делается в рамкахv сети-приманки второго поколения GenII.

Поскольку необходимо предоставить хакерам возможность попасть в наши системы, но не позволить им проникнуть дальше и нанести вред другим, следует изолировать системы-цели в сети-приманке с помощью мостового устройства второго уровня. В этом случае весь трафик, проходящий через системы сети-приманки, сначала пересылается через «невидимый» мост второго уровня. Поскольку мост действует на втором уровне, не происходит никакого замедления при маршрутизации пакетов или появления MAC-адресов, которые может идентифицировать хакер. Мост позволяет злоумышленникам проникнуть в сеть, но дает возможность контролировать их действия и исходящий трафик. Это очень важно. Было обнаружено, что в большинстве случаев взлома сетей-приманок Honeynet хакеры предпринимали попытки использовать такие сети для проникновения в другие системы, в частности, для организации DoS-атак (denial of service — «отказ в обслуживании»).

Таким образом, главное в управлении данными — предоставить хакерам свободу действий и в то же время не дать им возможность причинять вред. Одно из потенциальных решений — создать сеть-приманку, в которую может попасть любой, а затем блокировать на мосту все исходящие соединения. Это позволило бы не допустить причинение вреда другим системам, но подобная сеть-приманка будет практически бесполезной: выяснить, что делали хакеры после того, как проникли в сеть, будет невозможно. Кроме того, хакерам не составит труда распознать сеть-приманку, если после попадания в нее они будут лишены обратной связи.

Второе решение, опирающееся на технологии GenI, предполагает подсчет числа исходящих соединений и блокировку любых соединений, превышающих установленный лимит. Можно начать с пяти-десяти соединений в час. Как только число соединений на ловушке достигнет этого предела, все остальные исходящие соединения необходимо блокировать. Это предотвращает большинство DoS-атак, сканирование или другую вредоносную деятельность, но по-прежнему оставляет хакерам достаточную свободу действий.

Этот метод эффективен, но имеет свои ограничения: хакеры по-прежнему могут опознавать сеть-приманку и инициировать атаки, не превышая ограничения на число исходящих соединений. В GenII существует второй уровень управления данными: шлюз IPS (intrusion prevention system — «система предотвращения вторжений»). Этот шлюз обладает теми же возможностями для обнаружения атак, что и обычные IDS (intrusion detection system — «система обнаружения вторжений»), но имеет преимущество, поскольку позволяет блокировать атаки после того, как те идентифицированы.

Honeynet Project еще более эффективно использует эту возможность за счет применения Snort-Inline, представляющей собой модифицированную версию свободно распространяемой технологии обнаружения вторжений Snort. Вместо того чтобы блокировать обнаруженные исходящие атаки, их модифицируют и обезвреживают. Хакеры запускают свои эксплоиты, которые путешествуют по Internet и поражают установленные для них цели, но Snort-Inline обезвреживает такие атаки, и те заканчиваются впустую. Хакеры осознают свою неудачу, но понять ее причины они не в состоянии. В этой ситуации можно выполнять мониторинг действий хакеров, одновременно снижая риск нанесения ущерба удаленным системам.

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

Для гарантии эффективной записи данных Honeynet Project использует сразу несколько методов, поскольку ни один в отдельности не в состоянии получить всю требуемую информацию. Многие считают, что если записать все команды, выдаваемые хакером, то таким образом можно получить все необходимые сведения. Это далеко не так. Предположим, выясняется, что записанная команда запускает некий сценарий. Что этот сценарий делает, какие изменения вносит и какую функциональность поддерживает? Восстановление этого сценария столь же важно, как и его обнаружение. Для этого Honeynet Project использует разные уровни сбора данных.

Первый уровень — это сам мост. Шлюз IDS, который идентифицирует и блокирует атаки, пассивно просматривает каждый пакет и весь трафик, который тот создает в сети. Это гарантирует, что мы можем записать и зарегистрировать все действия хакера для последующего анализа. В частности, шлюз позволяет восстанавливать такие данные, как учетные записи или пароли, к примеру, из открытых протоколов, таких как IRC, HTTP или telnet. По журналу регистрации, содержащему информацию о передаче файлов, можно восстановить, какой инструментарий применял хакер. Даже при использовании зашифрованных протоколов, с помощью пассивного анализа характерных признаков пакетов не очень сложно определить тип атакующей системы и ее возможное местонахождение.

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

Третий уровень предназначен для сбора информации о том, какие команды инициировал хакер, и вообще о его деятельности в системе. Это сделать намного труднее, чем кажется: хакеры стали часто использовать шифрование. Большинство организаций, стремясь обеспечить защиту данных, развертывают шифрующие протоколы наподобие SSH и HTTPS. Однако и хакеры, чтобы скрыть свои действия, могут использовать те же самые протоколы. Как только хакер проник в систему, расположенную в сети-приманке, он может осуществлять удаленное администрирование системы с помощью SSH, в силу чего проследить его действия становится еще сложнее. Даже если в системе, куда попал хакер, SSH не установлен, все чаще оказывается, что в этом случае хакер инсталлирует свою собственную версию протокола.

Чтобы преодолеть эти трудности, в Honeynet Project были разработаны модули ядра, устанавливаемые в системах, которые могут стать объектами нападения. Эти модули накапливают информацию обо всей деятельности хакеров, в частности, о зашифрованных командах или о scp (защищенное копирование или инструментарий, для зашифрованной передачи файлов) при загрузке наборов инструментальных средств. Информацию, которую собирают модули ядра, нельзя сохранять локально в ловушке, поскольку хакер может обнаружить, случайно удалить или изменить ее. Данную информацию необходимо удаленно собирать на защищенной системе, причем так, чтобы хакер об этом не знал.

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

Хакеры легко могут проанализировать трафик в канале и увидеть, что в пересылаемых по нему пакетах содержатся сведения об их собственной деятельности. Чтобы воспрепятствовать этому, модуль ядра маскирует пакеты под трафик NetBIOS, передаваемый из других систем. IP- и MAC-адреса отправителей и получателей маскируются под адреса локального сервера Windows. Даже если хакер анализирует канал и просматривает пакеты, то для него они будут выглядеть как обычный трафик. Реальные данные, содержащиеся в пакетах, шифруются Blow-fish, что гарантирует их конфиденциальность.

Эти многочисленные уровни сбора данных гарантируют, что мы получим истинное представление о деятельности хакеров. Чтобы больше узнать о технических подробностях развертывания сетей-приманок, посетите сайт www.honeynet.org/papers/honeynet.

Стремясь собирать как можно более широкий спектр сведений, Honeynet Project развертывает в своих сетях-приманках различные виды операционных систем. Существуют сети-приманки, где работают Solaris, OpenBSD, Linux и Windows. Хотя все эти проекты пока находятся на начальных этапах реализации, можно отметить весьма интересные тенденции: главная заключается в том, что разные операционные системы привлекают разные категории злоумышленников. Windows-системы, как правило, становятся объектами нападения червей или простых автоматизированных атак, таких как сканирование открытых совместно используемых ресурсов или передача рекламных объявлений через порт 135. На Linux-системы, как правило, организаторами нападения становятся жители Восточной Европы, в основном, румыны, которые используют общеизвестные дефекты систем и автоматизированные средства планирования атак, такие как wu-ftpd massrooter. Системы, работающие под управлением Solaris и OpenBSD, подвергаются более разнообразным и интересным атакам, в частности, организуемым с использованием туннелирования IPv6.

Лучше всего работу сетей-приманок можно продемонстрировать на примере анализа данных, собранных о конкретной атаке.

В феврале 2002 года член Honeynet Project Майкл Кларк с помощью технологии GenI развернул виртуальную сеть. В роли предполагаемых жертв выступали несколько ловушек, на которых был установлен Linux. 18 февраля с помощью стандартного эксплоита FTP хакер проник на одну из ловушек с операционной системой Linux, установленную в сети-приманке. В данном случае использовался wu-ftpd massrooter, хорошо известный и весьма эффективный инструментарий для автоматизированных атак. Сеть-приманка легко обнаружила атаку и собрала о ней сведения, в том числе первые команды хакера, инициированные на взломанной системе. Проанализировав все сетевые пакеты, собранные Snort, мы легко определили природу атаки и команды, выполненные на удаленной системе.

После запуска эксплоита, хакер инициировал команду для загрузки из удаленной системы исполняемого файла foo, установил его под именем /usr/bin/mingetty и запустил, после чего покинул систему. Это еще раз подтверждает, что простая запись всех команд хакера не позволяет получить всю необходимую информацию. Что представляет собой исполняемый файл foo, и чего хотел добиться хакер?

Вскоре после того, как этот файл был выполнен, механизм фильтрации сети-приманки для управления данным (в нашем случае IPTables) зарегистрировал, что с ловушки передаются входящие и исходящие пакеты, но наш анализатор Snort не получил и не зарегистрировал никакой деятельности. Мы совершили ошибку. После анализа трафика мы поняли, в чем она состояла. В этом случае кто-то посылал в ловушку нестандартные IP-пакеты — пакеты протокола Network Voice Protocol. Межсетевой экран регистрировал эту передачу, но анализатор — нет. Мы сами попали в ловушку, проектируя сеть-приманку так, чтобы она собирала сведения о том, что, по нашему предположению, должны были делать хакеры, но, на самом деле, далеко не все, что они могли действительно делать. К счастью, поскольку информация в сети-приманке собирается на нескольких уровнях, то, если один уровень не срабатывает, за трафиком проследят другие.

После того, как стало понятно, в чем состояла ошибка, мы исправили ее, переконфигурировав Snort так, чтобы он собирал данные и регистрировал весь IP-трафик. Теперь мы могли собирать все передаваемые пакеты всего трафика NVP, пересылаемого как на ловушку, так и с нее. Во-первых, в пакетах трудно было разобраться; они маскируются или шифруются. Кроме того, разнообразные источники, используемые для маскировки (такие как army.mil) посылают множество идентичных пакетов.

Чтобы лучше разобраться в том, что происходит, мы извлекли исполняемый файл foo из сети-приманки, провели обратный инжиниринг этого файла и проанализировали его. Оказалось, что бинарный файл foo, выполненный на ловушке, был средством проникновения, которое давало хакеру удаленное управление над системой. Этот исполняемый файл пассивно прослушивал пакеты протокола NVP, записывал их, декодировал и выполнял команду. К примеру, после декодирования пакета, стало ясно, какие команды были выполнены на удаленной ловушке. Этот исполняемый файл также поддерживал различные возможности организации DoS-атак, позволяя хакеру запускать координированные, распределенные DoS-атаки посредством отсылки замаскированных пакетов IP-протокола NVP.

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

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

Деятельность Honeynet Project подтвердила ценность технологий создания сетей-приманок, доказав, что она заключается, прежде всего, в информации, которую они собирают. Однако реальный потенциал сетей-приманок не может быть реализован до тех пор, пока организации не смогут эффективно развертывать многочисленные сети-приманки и согласовывать информацию, которую они собирают. В этом и состоит будущее Honeynet Project. Первым шагом к нему станет создание загружаемого компакт-диска, который значительно упростит развертывание таких сетей и стандартизует собираемую ими информацию. После этого организации смогут развертывать различные сети-приманки в распределенной среде. Как только такую информацию станет возможно регистрировать в центральной базе данных, будут разработаны пользовательские интерфейсы, позволяющие легко анализировать и согласовывать накопленные данные, учитывая их крайнюю важность для организаций. У технологий сетей-приманок большие перспективы.

Автор: Ланс Спитцнер (lance@honeynet.org) — ведущий архитектор систем безопасности корпорации Sun Microsystems и преподаватель SANS Institute. К его основным научным интересам относится изучение сетей-приманок.
 

До новых встреч!
Двуглавый Юл, историк-экспериментатор
архив выпусков на http://hhh.h1.ru


В избранное