Обеспечение информационной безопасности традиционно рассматривается как совокупность чисто оборонительных мероприятий. Характерными примерами оборонительных мер, используемых для защиты коммуникационных сетей, являются межсетевые экраны, шифрование и системы обнаружения вторжений (Intrusion Detection Systems, IDS). Стратегия строится на классической парадигме обеспечения безопасности “защищай, выявляй, исправляй”. Иными словами, стремись обеспечить наилучшую защиту сети, выявляй любые бреши в системе обороны и устраняй обнаруженные недостатки.
При таком подходе возникает проблема, связанная с тем, что инициатива принадлежит атакующему, который всегда оказывается на шаг впереди вас. Например, антивирусные решения, использующие базы сигнатур, едва поспевают за ежедневно появляющимися потоками нового вредоносного кода. Ведь организаторы атак имеют возможность протестировать образцы вредоносного кода, прежде чем запустить их в сеть. За последние несколько лет становится все более очевидным, что традиционные приемы сетевой защиты эффективны лишь в определенных пределах.
Соответственно необходимы новые методы усиления защиты сетей. Одним из перспективных подходов является использование приманок — находящихся под постоянным наблюдением компьютерных ресурсов, которые мы позволяем испытывать на прочность, атаковать и взламывать. Точнее говоря, приманка представляет собой “элемент информационной системы, ценность которого заключается в том, что он позволяет вести мониторинг несанкционированного или противоправного использования данного элемента”. Такое определение содержится в посвященном приманкам бюллетене сайта SecurityFocus.
Чем хороши приманки
Ценность приманки зависит от того, какую информацию можно получить с ее помощью. Мониторинг данных, поступающих на приманку и покидающих ее, позволяет собрать сведения, которые нельзя добыть с помощью IDS. Например, мы можем вести журнал интерактивной сессии, даже если сетевой трафик защищен с помощью шифрования. Для выявления враждебных действий посредством IDS необходимы сигнатуры уже имевших место атак. Поэтому IDS часто не удается обнаружить проникновение в сеть, способы которого еще не были известны на момент развертывания системы.
Приманки же могут продемонстрировать пока не обнаруженные уязвимости, используемые для так называемых “атак нулевого дня”. Например, мы можем засечь проникновение в сеть, наблюдая за покидающим приманку сетевым трафиком, даже если примененные при этом способы взлома прежде никогда не встречались.
Приманки могут работать под управлением любой операционной системы и на любом количестве серверов. С помощью настроек задаются доступные противнику способы взлома или проверки устойчивости системы. Так называемая интерактивная приманка представляет собой реальную систему, с которой может взаимодействовать нападающий. Приманка с ограниченной интерактивностью, напротив, моделирует лишь некоторые элементы системы. Например, относящаяся к этой категории приманка Honeyd воспроизводит сетевые элементы некой системы.
Приманки с высокой и низкой интерактивностью
Интерактивные приманки могут быть полностью взломаны, что позволяет противнику получить полный доступ к системе и использовать ее для организации последующих сетевых атак. С помощью подобных приманок можно, в частности, расширить представления о целенаправленных нападениях на систему и даже о нападениях со стороны инсайдеров.
Приманка же с ограниченной интерактивностью моделирует только те сервисы, через которые нельзя получить полный доступ к приманке. Ее возможности ограниченны, но она может быть полезна для сбора информации более высокого уровня – например, о попытках проникновения в сеть или о действиях запущенного в нее червя. Кроме того, приманка с низкой интерактивностью может использоваться для анализа действий спамеров или для применения активных контрмер против червей. Однако не следует думать, будто приманки одного вида лучше или хуже, чем другого, каждый вид обладает своими преимуществами и недостатками, которые подробно рассматриваются в книге “Виртуальные приманки: от обнаружения сетей зомбированных компьютеров к выявлению вторжений” (“Virtual Honeypots: From Botnet Tracking to Intrusion Detection”).
В конце концов, приманки — это концепция, а не инструмент, которым можно легко воспользоваться. Предварительно необходимо определить, что именно вы хотите узнать, а затем настроить приманку в соответствии с вашими целями. В своей книге мы описываем некоторые случаи использования различного рода приманок для защиты конкретной сети.
Физические и виртуальные приманки
Мы различаем также физические и виртуальные приманки. Первые — это полноценные сетевые устройства с собственным IP-адресом. Как правило, они относятся к категории интерактивных, позволяющих нападающему полностью взломать систему. Обычно их установка и эксплуатация обходятся довольно дорого. При большом числе адресов нецелесообразно или невозможно установить приманку для каждого IP-адреса. В таких случаях следует развернуть виртуальные приманки.
Виртуальная приманка моделируется устройством, которое реагирует на направляемый к приманке сетевой трафик. При сборе информации о сетевых атаках или о проведении разведки сети объем и точность собранных данных зависят от количества установленных приманок. Хорошим примером может служить определение активности червей, использующих протокол HTTP. Мы способны выявить таких червей только после того, как они завершат установку соединения по протоколу TCP и начнут действовать. Однако большинство их запросов на установку соединения останется без ответа, поскольку они выбирают IP-адреса случайным образом. Приманка может перехватить активность червя, настроившись на работу в качестве веб-сервера или смоделировав уязвимые сетевые сервисы. Чем больше приманок установлено, тем выше шансы, что червь обратится к одной из них.
Вы можете легко развернуть множество виртуальных приманок. Более того, такие приманки обладают двумя дополнительными преимуществами: масштабируемостью и легкостью в обслуживании. На одном компьютере можно установить тысячи приманок. Это обходится недорого и доступно практически каждому. В своей книге мы подробно рассказываем, как развернуть, настроить, использовать и обслуживать виртуальные приманки в информационной системе, даже если прежде вы никогда ими не пользовались.
Об авторах
Нилс Провос и Торстен Холз являются авторами книги “Виртуальные приманки: от обнаружения сетей зомбированных компьютеров к выявлению вторжений” (Virtual Honeypots: From Botnet Tracking to Intrusion Detection. Addison Wesley Professional, 2007).
Нилс Провос является одним из создателей протокола OpenSSH и получил известность благодаря своей работе по обеспечению безопасности операционной системы OpenBSD. Он спроектировал популярную открытую платформу приманок Honeyd, SpyBye — приманку, устанавливаемую на клиентских компьютерах и позволяющую веб-мастерам выявлять вредоносный код, проникший на их веб-страницы, и много других инструментов, таких как Systrace и Stegdetect. Он является участником проекта Honeynet Project и активно занимается разработкой открытого ПО. В настоящее время Провос работает старшим инженером senior staff engineer в Google. Ему можно писать по адресу: provos@gmail.com.
Торстен Холз был одним из инициаторов проекта German Honeynet Project и входит в состав управляющего комитета ассоциации Honeynet Research Alliance. В настоящее время он изучает способы “зомбирования” компьютеров и создания из них сетей, приманки, устанавливаемые на клиентских ПК, а также вредоносный код в целом. Он регулярно публикуется в блоге honeyblog.org. Ему можно писать по адресу: thorsten.holz@gmail.com.