Honeypot

Honeypot — это механизм обеспечения компьютерной безопасности, предназначенный для обнаружения, отвлечения или иным образом противодействия попыткам несанкционированного использования информационных систем. Обычно honeypot представляет собой данные (например, на сетевом ресурсе), которые кажутся легитимной частью сайта и содержат сведения или ресурсы, потенциально ценные для злоумышленников. На самом деле эти данные изолированы, контролируются и могут блокировать либо анализировать действия атакующих. Такой подход аналогичен методике полицейских операций-приманок, которые неформально называют «подсадкой» подозреваемых[1].

Основное назначение подобных сетевых ловушек заключается в том, чтобы отвлечь потенциальных злоумышленников от более важных ресурсов и информации внутри реальной сети, изучить возможные сценарии атак и их особенности в процессе эксплуатации honeypot. Данный механизм позволяет выявлять и исследовать уязвимости конкретной сетевой системы. Honeypot — это приманка, используемая для защиты сети от текущих и будущих атак[2][3]. Эффективность honeypot обусловлена тем, что его ценность возникает только при взаимодействии со стороны злоумышленников; если к ним не обращаются — практической пользы нет. Honeypot применяют для замедления или предотвращения автоматизированных атак, сбора новых эксплойтов, изучения новых угроз и формирования системы раннего предупреждения[4].

Типы

Honeypot могут различаться по принципу реализации — физические и виртуальные:[2][3]

  • Физический honeypot: это реальный компьютер со своим IP-адресом, имитирующий поведение выбранной системы. Такой вариант используется реже из-за высокой стоимости покупки оборудования, его обслуживания и сложности настройки специализированных устройств[2][3].
  • Виртуальный honeypot: позволяет создавать и имитировать любые узлы сети под разными операционными системами, для этого требуется настройка протокола TCP/IP под нужную ОС. Эта разновидность более распространена[2][3]

Honeypot можно классифицировать по месту развёртывания (использованию/назначению) и по уровню взаимодействия. В зависимости от места внедрения различают:[5].

  • промышленные (production) honeypot;
  • исследовательские (research) honeypot.

Промышленные honeypot просты в внедрении, фиксируют лишь ограниченный объём информации и в основном используются компаниями внутри производственной сети для повышения общего уровня защиты. Обычно это honeypot с низким уровнем взаимодействия, которые проще развернуть и поддерживать, однако они предоставляют меньше сведений об атаках по сравнению с исследовательскими[5].

Исследовательские honeypot применяют для сбора информации о мотивации и методах работы представителей black hat на различных сетях. Они почти не дают прямых выгод отдельным организациям, поскольку предназначены для научных и государственных исследований угроз и способов противостояния им[6]. Как правило, их сложно развернуть и поддерживать, но зато они позволяют фиксировать большой массив информации; чаще всего применяются в научных, военных и государственных учреждениях[7].

По критериям проектирования honeypot делят на:[5]

  • полноценные (pure honeypot);
  • с высоким уровнем взаимодействия (high-interaction honeypot);
  • с низким уровнем взаимодействия (low-interaction honeypot).

Полноценный honeypot — это полноценная рабочая система; все действия атакующего отслеживаются с помощью аппаратной «прослушки» соединения honeypot с сетью, не требуются дополнительные инструменты. Однако более надёжная скрытность защитных механизмов достигается в строго контролируемых конфигурациях.

Honeypot с высоким уровнем взаимодействия имитируют поведение настоящих сервисных систем, предоставляя атакующему богатый функционал. С применением виртуальных машин на одном физическом сервере размещают несколько honeypot, что ускоряет восстановление после компрометации. Такой тип honeypot сложнее выявить и он обеспечивает наивысший уровень безопасности, но требует затрат на поддержание. Если виртуализации нет, для каждого honeypot нужен отдельный сервер, что существенно увеличивает расходы. Пример — Honeynet.

Honeypot с низким уровнем взаимодействия эмулируют только те сервисы, которыми чаще всего пользуются злоумышленники[8]. За счёт низких ресурсов множество виртуальных honeypot можно разместить на одном сервере, что упрощает поддержку. Пример — Honeyd. Такими honeypot пользовались одними из первых (конец 1990-х), в основном для регистрации атак, а не их изучения[9].

Sugarcane — разновидность honeypot, маскирующаяся под открытый прокси-сервер[10]. Обычно это сервер, выглядящий как неправильно настроенный HTTP-прокси[11]. Одним из самых известных примеров был стандартный режим работы sendmail (до версии 8.9.0, 1998), который пересылал электронную почту с любого на любой адрес[12].

Технологии обмана

В последние годы появился особый сегмент рынка — технологии обмана, где к базовым honeypot добавляется автоматизация и масштабируемость, позволяющая централизованно внедрять приманки в инфраструктуру крупных организаций и ведомств[13].

Honeypot для вредоносного ПО

Вредоносный honeypot — это приманка, привлекающая вредоносное ПО за счёт имитации уязвимой системы или сети (например, веб-сервера), намеренно «уязвимой», чтобы вызвать атаку. Это позволяет ИТ-специалистам затем проанализировать вредоносное ПО: выяснить его происхождение и тактику[14].

Антиспам-honeypot

Рассыльщики спама эксплуатируют уязвимые ресурсы, такие как открытая почтовая пересылка и открытые прокси-серверы — те, что принимают почту со всего Интернета и пересылают её дальше. Некоторые администраторы внедряют honeypot-программы, имитирующие эти сервисы, чтобы выявлять активность спамеров.

Honeypot дают администраторам возможность делать злоупотребления такими системами более сложными и рискованными для атакующих. Благодаря honeypot можно фиксировать IP-адреса нарушителей и собирать массовые образцы спама (для определения URL и механизмов ответов). Как отмечает М. Эдвардс (ITPro Today):

Обычно спамеры тестируют сервер: отправляют на него почту самому себе. Если они получают письмо, значит, пересылка разрешена. Однако honeypot отлавливает такие тестовые письма, возвращает их и сразу же блокирует последующие сообщения от этого отправителя. Спамер продолжает использовать honeypot для спама, но тот не доставляется. Администратор honeypot может уведомить интернет-провайдера спамера, и его учётные записи аннулируются. Если обнаруживается отправка спама через открытые прокси, можно уведомить владельца прокси-сервера о необходимости закрытия доступа[15].

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

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

Сегодня спам до сих пор проходит через открытые реле, но такой трафик гораздо меньше, чем в 2001—2002 годах. Хотя большинство спама отправляется из США[16], спамеры пересылают рассылку через реле в других странах. Honeypot позволяют выявлять попытки такой пересылки, в том числе захватывая тестовые сообщения и отказавшись от доставки (то есть принимая сообщения, но не отправляя их получателю). Исследуя захваченные сообщения, можно узнать больше о механизмах спама и отправителях.

Известные open-relay honeypot: Jackpot (на Java, автор — Jack Cleaver), smtpot.py (на Python, автор — Karl A. Krueger)[17] и spamhole (на C)[18]. Существует также Bubblegum Proxypot — open source honeypot-прокси[19].

Почтовая ловушка

Специальный e-mail-адрес, заведомо созданный только для приёма спама, тоже рассматривается как honeypot. В отличие от «spamtrap», honeypot позволяет не только детектировать, но и контратаковать попытки рассылки — а у spamtrap спам поступает по стандартным каналам передачи электронной почты.

Комбинацией различных методик является Project Honey Pot — децентрализованный open-source проект, где honeypot-страницы на сайтах по всему миру распространяют уникальные email-ловушки; спамеры находят их адреса и затем по этим же адресам отслеживаются рассылки[20].

Honeypot для баз данных

Серверы баз данных часто становятся целью атак через SQL-инъекции. Такие действия не фиксируются обычными межсетевыми экранами, поэтому компании внедряют специализированные файрволл для БД с архитектурой honeypot — атакующие осуществляют вредоносные операции с ловушкой, в то время как штатное приложение работает корректно[21].

Honeypot для промышленных систем управления (ICS)

Промышленные системы управления часто становятся объектом кибератак[22]. Главными целями в таком контексте зачастую выступают программируемые логические контроллеры (PLC)[23]. Для изучения техник атак были предложены honeypot разного профиля, например Conpot[24][25] (ловушка низкого уровня взаимодействия для эмуляции Siemens PLC) и HoneyPLC (ловушка среднего уровня, эмулирующая Siemens, Rockwell и другие бренды контроллеров)[26][27].

Детектирование Honeypot

Так же, как honeypot применяют для борьбы со спамерами, существуют и противоположные — системы обнаружения honeypot, разрабатываемые злоумышленниками. В качестве признаков для такой идентификации могут выступать уникальные характеристики конкретных honeypot, например определённые параметры стандартных конфигураций[28], однако наличие множества версий honeypot позволяет усложнить задачу выявления. Иногда даже преднамеренно размещаются легко-обнаружимые honeypot в целях отпугивания. Фред Коэн, автор Deception Toolkit, считает, что каждый honeypot должен предусматривать специальный порт для выявления атакующими[29]. Такой ход может выступать фактором сдерживания нападений злоумышленников. Honeypot обеспечивают раннее оповещение о реальных угрозах: как только зафиксирована попытка атаки, администратор получает уведомление[30].

Риски

Основная задача honeypot — максимально долго удерживать злоумышленника внутри ловушки для получения максимально полной информации: используемых средств атаки (IoC), тактик, техник и процедур (TTP). Для этого honeypot должен эмулировать основные сервисы внутри производственной сети и предоставлять достаточную «свободу действий», чтобы стать интересным для атакующего. Несмотря на то, что honeypot работает в контролируемой среде (например, с помощью инструмента honeywall[31]), злоумышленники могут использовать его как промежуточный узел для проникновения во внутренние системы компании[32].

Второй риск связан с тем, что honeypot могут привлекать и легитимных пользователей по причине неинформированности (актуально для крупных корпоративных сетей), — если служба ИБ не сообщает остальным пользователям или администраторам о наличии honeypot[33][34].

Honeynet

Два и более honeypot, объединённых в одну сеть, образуют honey net (honeynet). Обычно honeynet используют для мониторинга крупных и/или гетерогенных сетей там, где одной ловушки недостаточно. Honeynet и honeypot, как правило, входят в состав систем обнаружения сетевых вторжений. Под honey farm понимают централизованный комплекс honeypot и инструментов анализа[35].

Идею honeynet впервые в 1999 году описал Лэнс Спитцнер, основатель Honeynet Project, опубликовав статью «To Build a Honeypot»[36].

История

Раннее определение концепции, названной «entrapment» («западня»), приводится в FIPS 39 (1976): «преднамеренное внесение кажущихся уязвимостей в систему с целью обнаружения попыток проникновения или создания ложного представления у атакующего о перечне уязвимостей»[37].

Наиболее ранние техники honeypot описаны в книге Клифорда Столла Яйцо кукушки (1989).

Одно из первых зафиксированных применений honeypot в практике ИБ относится к январю 1991 года. 7 января 1991 года, работая в AT&T Bell Laboratories, Билл Чесвик наблюдал попытку взлома со стороны «кракера», пытавшегося получить файл паролей системы. Чесвик вместе с коллегами создал «chroot Jail» (он же «roach motel»), позволивший в течение нескольких месяцев отслеживать активность нарушителя[38].

В 2017 году полиция Нидерландов активно применяла honeypot для идентификации пользователей даркнета Hansa.

Примечания

Литература

  • Lance Spitzner. Honeypots tracking hackers. — Addison-Wesley, 2002. — ISBN 0-321-10895-7.
  • Sean Bodmer. Reverse Deception: Organized Cyber Threat Counter-Exploitation / Sean Bodmer, Max Kilger, Gregory Carpenter … [и др.]. — McGraw-Hill Education, 2012. — ISBN 978-0-07-177249-5.