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

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

Honeynet Project предлагает иной подход: «заманивать» хакеров в систему и анализировать их действия с самого начала. Такой метод эффективно дополняет хорошо известные технологии обнаружения и предотвращения вторжений.

В статье рассказывается о работе Honeynet Project, предлагается несколько примеров данных, которые собирают сети-приманки и ловушки (honeypot), а также приводятся дальнейшие планы развертывания распределенных сетей-приманок.

Honeynet Project

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

Скромное начало

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

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

Четыре этапа

Honeynet Project разделяет свою деятельность на четыре этапа. Участники берут на себя все финансирование деятельности Honeynet Project; каждый на безвозмездной основе предоставляет аппаратное обеспечение, а также тратит свое время и силы, не получая никакого вознаграждения. Вместе с тем, в момент подготовки данной статьи представители Honeynet Project изыскивали возможность получения государственного финансирования.

Этап I. Первый этап начался в 1999 году и продолжался два года. Его целью было подтверждение основополагающей идеи: создание, развертывание и тестирование технологии сетей-приманок и их возможности собирать информацию о деятельности хакеров. За первыми сетями-приманками закрепилось название GenI. Их структура была весьма далека от совершенства, они опирались лишь на базовые механизмы и не имели методов для сбора сведений о зашифрованных действиях злоумышленников. Однако они эффективно выявляли большинство автоматизированных атак. Кроме того, уже на этом этапе были успешно протестированы средства раннего предупреждения и прогнозирования атак.

Этап II. Второй этап начался в 2002 году и должен продлиться примерно два года. Его основная цель — усовершенствовать возможности сетей-приманок и упростить работу с ними. Предполагается развернуть сети GenII, которые будут отличаться более совершенными методами мониторинга и контроля действий хакеров. Адаптация методов контроля позволяет хакерам совершать значительно больше операций, при этом снижая риск того, что они обнаружат, что «попали в ловушку» и нанесут ущерб другим сетям. Опубликовано три документа, посвященные виртуальным сетям-приманкам. В 2002 году в Вашингтоне была развернута первая беспроводная сеть-приманка. Значительно улучшены возможности сбора информации (особенно касающейся зашифрованных передач), развертывание сетей-приманок стало существенно проще.

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

Этап IV. Четвертый этап, скорее всего, начнется в 2004 году. Его цель — разработать централизованную систему сбора данных, которая согласовывает сведения, получаемые из множества распределенных сетей-приманок, и предоставляет интерфейсы для их анализа. Работа в рамках данной концепции, связанная с созданием двух пользовательских интерфейсов, уже началась. Первый из этих интерфейсов будет действовать локально в каждой сети-приманке, позволяя администраторам анализировать в реальном времени атаки на их сеть и выполнять мониторинг функциональности, в частности, анализировать трафик и извлекать передаваемые по сети пакеты. Второй пользовательский интерфейс будет служить для анализа данных, полученных из множества различных сетей-приманок, и хранить эти сведения в единой базе данных. Распределенные сети-приманки будут передавать в центральную систему такие данные, как журналы регистрации межсетевых экранов, описание передаваемых пакетов и уведомления систем обнаружения вторжений. Эта информация затем будет согласовываться и анализироваться в реальном времени. Здесь открываются огромные потенциальные возможности для анализа тенденций или раннего предупреждения и прогнозирования атак.

Ловушки

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

Трафик, передаваемый через ловушки, невелик, но деятельность этих ресурсов очень важна. Значительно сокращается число ложных тревог. Вместо того чтобы генерировать, к примеру, 10 тыс. уведомлений в день, ловушка может генерировать всего пять или десять таких уведомлений, но большинство из них будут сообщениями о реальных попытках зондирования или атаках. Кроме того, ловушки, в отличие от других средств обнаружения вторжения, не зависят от сигнатур, правил или новых алгоритмов, поэтому они могут без труда собирать информацию даже о ранее неизвестных атаках. В частности, в январе 2002 года ловушка смогла распознать атаку, совершенную с помощью эксплоита dtspcd для операционной системы Solaris. Наконец, поскольку ловушки собирают крайне ценные и при этом вовсе не избыточные сведения, согласовывать данные и выявлять общие тенденции становится значительно проще.

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

Ловушки «промышленные» и исследовательские

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

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

Объем информации и уровень интерактивности

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

Как правило, уровень интерактивности в промышленных ловушках, в отличие от исследовательских, довольно низок. Уровень интерактивности определяет, насколько активную деятельность ведет хакер, проникший в ловушку. Чем больше уровень интерактивности, тем больше хакер может сделать. Чем больше хакер может сделать, тем больше мы можем узнать — и тем больше вреда он может нанести. Большинство систем с низким уровнем интерактивности эмулируют те или иные службы. Ловушка с низким уровнем интерактивности, например, может эмулировать FTP-сервер или Web-сервер. Насколько активно хакер будет работать в ловушке, зависит от уровня эмуляции, свойственного конкретной реализации.

Ловушки с высоким уровнем интерактивности службы не эмулируют. Вместо этого они предоставляют реальную операционную среду. В ловушке с высоким уровнем интерактивности устанавливается и используется реальный FTP-сервер (такой как wu-ftpd) или Web-сервер (такой как Microsoft IIS).

Различные виды сетей-приманок

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

Главная сложность, возникающая при развертывании сети-приманки, — отсутствие готового решения. Нельзя установить готовый программный пакет и начать использовать сеть-приманку. Во многом, сеть-приманка напоминает аквариум: можно видеть все, что происходит в ее среде. Как только соответствующая архитектура сформирована и созданы все условия для ее работы, в контролируемой среде развертываются системы-цели. На рис. 1 представлена сеть-приманка GenI.

Рис. 1. Сеть-приманка первого поколения GenI. Сеть-приманка — специальным образом устроенная искусственная среда. Расположенные в этой среде системы играют роль приманки

Архитектура сети-приманки в обязательном порядке должна отвечать двум важным требованиям: поддерживать управление данным и сбор данных. Для реализации этих требований можно использовать любые технологии, но при этом необходимо гарантировать, что данные требования выполняются. Цель управления данными — снизить риск. Точнее говоря, гарантировать, что после того, как хакер проник в системы сети-приманки, он не сможет использовать взломанные системы для атаки или для нанесения вреда другим системам. Сбор данных гарантирует, что можно обнаружить и зарегистрировать все действия хакеров, даже если они замаскированы или зашифрованы.

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

Управление данными

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

Рис. 2. Сеть-приманка второго поколения GenII. Мостовое устройство второго уровня (на рисунке оно называется сенсором сети-приманки) изолирует и ограничивает системы в сети-приманке

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

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

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

Рис. 3. Сигнатура Snort-Inline применяется для модификации и обезвреживания известной DNS-атаки, использующей опцию замены. Жирным шрифтом выделена команда, служащая для модификации и обезвреживания атаки

Honeynet Project еще более эффективно использует эту возможность за счет применения Snort-Inline, представляющей собой модифицированную версию свободно распространяемой технологии обнаружения вторжений Snort. Вместо того чтобы блокировать обнаруженные исходящие атаки, их модифицируют и обезвреживают (на рис. 3 представлен пример известной DNS-атаки). Хакеры запускают свои эксплоиты, которые путешествуют по 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, что гарантирует их конфиденциальность [2].

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

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

Какие сведения собирают на приманку

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

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

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

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

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

Рис. 4. Записанный пакет IP-протокола NVP, присланный на ловушку, куда проник хакер. Команда закодирована, чтобы скрыть ее истинное назначение

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

Рис. 5. Декодированный пакет IP-протокола NVP. Это пример удаленной передачи команд на взломанную систему. В декодированном пакете можно видеть, какие команды действительно выполняются на удаленной системе. В данном случае хакер «приказывает» взломанной системе загрузить инструментарий с другого взломанного сайта, запустить этот инструментарий, а затем удалить загруженный исполняемый модуль. В этом случае инструментарий использован для перехвата сеансов IRC

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

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

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

Литература
  1. L. Spitzner, Honeypots: Tracking Hackers, Addison-Wesley, 2002; www.tracking-hackers.com/book.
  2. B. Schneier, Applied Cryptography, John Wiley & Sons, 1996.

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


Lance Spitzner, The Honeynet Project: Trapping the Hackers. IEEE Security & Privacy, January-February 2003. IEEE Computer Society, 2003, All rights reserved. Reprinted with permission.


Юридические ловушки при использовании ловушек

Определение корректных с технической точки зрения конфигураций — лишь часть работы, связанной с развертыванием ловушек (honeypot). Необходимо подумать о многочисленных юридических тонкостях, способных превратить вашу ловушку в источник неприятностей для вас самих, в частности, заставить вас отвечать перед судом. Прежде, чем вы займетесь проектированием и развертыванием собственной ловушки, посоветуйтесь с юристом. Он сможет проанализировать вашу ситуацию и рассказать о законах, под которые подпадают ваши действия.

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

Мониторинг действий пользователей

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

Четвертая поправка

Если вы создаете ловушку для государственного учреждения или в качестве его сотрудника, вполне возможно, что Четвертая поправка к Конституции США ограничивает ваше право на контроль за действиями пользователей. Эта поправка запрещает сотрудникам госорганов вести розыск или получать доказательства без предварительной санкции судьи. Мониторинг действий пользователя в сети может включать в себя то, что подпадает под определение «розыск и получение доказательств».

Более того, доказательства, полученные во время мониторинга, проводимого в нарушение Конституции, во время слушания дела могут быть изъяты из рассмотрения, а, в некоторых случаях, некоторым государственным служащим придется отвечать за свои действия в судебном порядке. Однако утверждать, что их розыск был антиконституционным в соответствии с Четвертой поправкой, могут утверждать только те лица, кто «обосновано мог рассчитывать на соблюдение конфиденциальности». Те же, кто проник в сеть, являются нарушителями закона и не могут «обоснованно» рассчитывать на конфиденциальность, учитывая их неправомерные действия в сети, подвергнувшейся атаке. Кроме того, Четвертая поправка применима только к расследованиям, проводимым государственными органами. Частное лицо, действующее не по распоряжению государственного органа, вправе развертывать ловушки и контролировать действия пользователей, не опасаясь быть обвиненным в нарушении Четвертой поправки.

Акт о прослушивании

Федеральный Акт о прослушивании (USA Wiretap Act) в целом запрещает любому лицу прослушивать переговоры (в том числе, контролировать электронные сеансы связи), за исключением случаев, перечисленных в разделе, описывающем сферу применения этого закона. Хотя нарушитель не может «обоснованно рассчитывать на соблюдение конфиденциальности» при проникновении на вашу ловушку, это вовсе не означает, что Акт о прослушивании разрешает вести мониторинг. Даже человек, который не вправе рассчитывать на конфиденциальность, защищаемую Конституцией, может апеллировать к своему праву на конфиденциальность, гарантируемому Актом. Более того, лицо, нарушившее условия Акта, в соответствии с федеральным законодательством, могут привлечь к гражданской, а, в некоторых случаях, даже к уголовной ответственности.

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

Исключение «защиты провайдера» позволяет системному оператору прерывать соединение, если это делается с целью защитить права или имущество оператора.

Данное исключение разрешает оператору анализировать трафик пользователя, чтобы предотвратить ущерб, который может нанести мошенничество или нелегитимное использование услуг, предлагаемых этим оператором. На право выполнять мониторинг в соответствии с данным исключением ограничения не распространяются, но это право следует осуществлять таким образом, чтобы минимизировать прослушивание переговоров, не связанных с обеспечением защиты. Суды пока не приняли решение о том, применимо ли исключение «защиты провайдера», когда сеть, где велся мониторинг, являлась ловушкой, т.е. оператор действительно надеялся и рассчитывал на то, что он станет объектом нападения и действий хакеров.

Исключение «согласие стороны» разрешает прослушивание переговоров в тех случаях, когда одна из сторон, принимающих участие в этих переговорах, дает свое согласие на мониторинг (если этот мониторинг не преследует иную противозаконную цель). Оператор ловушки, как и любой сетевой оператор, может обезопасить себя, разместив на ловушке «баннер согласия», который могут увидеть нарушители. Такой баннер может уведомлять пользователей (в том числе и потенциальных хакеров) о том, что получая доступ в систему, они дают согласие на мониторинг своих действий. Если нарушитель после того, как прочитает этот баннер, продолжает оставаться в системе, он принимает предложенные условия, т. е. дает согласие на мониторинг своих действий во время работы в системе. Конечно, на некоторые порты баннеры повесить нельзя, и может оказаться, что хакер, проникающий в систему через эти порты и не видевший этого баннера, не давал предполагаемого согласия на мониторинг. Если при мониторинге действий пользователей вы полагаетесь исключительно на «баннер согласия», необходимо строго следить за тем, чтобы прослушивание трафика велось только на тех портах, где есть соответствующие баннеры.

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

Патриотический Акт

Исключение «компьютерный правонарушитель», описанное в Патриотическом Акте США (USA Patriot Act), принятом в октябре 2001 года, в определенных ситуациях дает государственным органам право мониторинга действий хакеров. Это исключение применяется для того, чтобы предоставить определенному лицу, действующему как представитель государственного органа, право отслеживать трафик хакера, «передаваемый в сеть, через нее или из нее», если:

  • владелец или оператор сети имеет право на такое прослушивание;
  • лицо, выполняющее прослушивание сеанса связи хакера, проводит законное расследование;
  • это лицо имеет веские основания полагать, что прослушиваемые сеансы связи имеют отношение к проводимому расследованию.

Это исключение может оказаться весьма полезным для владельцев ловушек, в тех случаях, когда ловушка создается с участием или по указанию государственных органов.

Причинение вреда другим лицам

При развертывании ловушек особое внимание следует обратить на снижение риска их использования в неправомерных целях. Хакеры могут попытаться с помощью вашего аппаратного обеспечения реализовать свои злые умыслы. Хакеры способны не только проникнуть в вашу сеть, но и использовать ее и имеющуюся полосу пропускания для организации атак на другие системы.

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

Провокация

Некоторые участники дискуссии о ловушках указывают на то, что владельца подобных систем могут обвинить в умышленной провокации на уголовно наказуемое деяние. Эти опасения несколько преувеличены. Умышленная провокация, в буквальном смысле, — это аргумент в свою защиту, которую ответчик по уголовному делу может привести в попытке избежать обвинительного приговора. Защита ссылкой на провокацию может применяться во время слушания уголовного дела в том случае, если представители государственных органов своими действиями на самом деле вынудили ответчика совершить преступление, в котором его обвиняют. Ответчик, который склонен к совершению преступления, не может обоснованно ссылаться на провокацию. Во всяком случае, аргументы защиты вряд ли будут убедительными, если хакер проник в компьютер, оказавшийся ловушкой, к которой государственные органы не имеют никакого отношения.

Ричард Салгадо — старший юридический советник отдела компьютерных преступлений и интеллектуальной собственности департамента уголовных преступлений Министерства юстиции США. Также занимает должность доцента юридического центра Джорджтаунского университета и преподает в SANS Institute. В данной статье изложено мнение самого Салгадо, которое может не совпадать с официальной позицией министерства.


Как принять участие

Если вы хотите принять участие в исследовании, выполняемом с помощью сетей-приманок, это можно сделать разными способами. Например, можно стать членом Honeynet Research Alliance. Эта группа имеет четкий устав и требования, которые можно найти по адресу www.honeynet.org/alliance.

Если вы предпочитаете менее формальное участие и хотите вести свои исследования независимо, обратитесь по адресу www.honeynet.org/research. Здесь перечислено несколько связанных с сетями-приманками тем, которые нуждаются в изучении. Если вы ищите тему для диссертации или ваша организация хочет выбрать направление для собственных исследований, то начинать имеет смысл именно с этого сайта.

Наконец, можно присоединиться к списку рассылки по сетям-приманкам (www.securityfocus.com/popups/forums/honeypots/ faq.shtml); это открытый форум для индивидуальных разработчиков, где обсуждаются технологии сетей-приманок.