Противостояние защиты и нападения в цифровом мире происходит постоянно. Зачастую, чтобы получить преимущество, противника следует пустить по ложному следу или подсунуть приманку, чтобы он выдал себя и свои намерения. Как на поле боя применяются муляжи различных вооружений, так и на полях киберсражений используются обманные технологии. В результате в кибербезопасности возникло понятие киберловушки (honeypot).
«Мед» для хакеров
Honeypot — это вид ловушки, представляющий собой преднамеренно не защищенный ресурс, назначение которого состоит в том, чтобы служить объектом зондирования, атак и взломов. Любое внешнее взаимодействие с киберловушкой, за исключением административного, является нелегитимным.
На текущий момент существует множество реализаций подобных ловушек – как от именитых вендоров, так и общедоступных, с открытым исходным кодом. Все решения данного класса представляют собой набор сенсоров, предназначенных для детектирования угроз и сбора аналитической информации по угрозам за счет непосредственного взаимодействия со злоумышленниками в контролируемой среде.
Киберловушка может отвлечь злоумышленников от вашей реальной инфраструктуры хотя бы потому, что она менее защищена и этим более привлекательна, а аналитическая информация по атакам позволит изучить поведение злоумышленников более подробно, при этом без какого-либо ущерба для вашей реальной инфраструктуры.
Ловушки позволяют получить сразу несколько результатов. Во-первых, выявлять новые типы угроз: в системе протоколируются как подключения, так и различные действия злоумышленников. Во-вторых, иметь минимум ложных срабатываний – практически все обращения к приманке для хакеров являются нелегитимными. В-третьих, быть внутренним источником информации об угрозах: вы можете не только покупать информацию о киберугрозах от различных вендоров, но и сами стать поставщиком такой информации – хотя бы для самого себя. Наконец, собирая данные о методах работы и целях злоумышленника, изучая различные угрозы, вы сможете не только получать новые маркеры компрометации, но и узнавать различные техники и тактики, применяемые злоумышленниками, и разработать меры противодействия.
Виды приманок
Honeypot отличаются друг от друга тем, как они установлены, и сложностью определения того, что данный ресурс является ловушкой. Один из способов классификации различных видов приманок – уровень их взаимодействия со злоумышленниками. Вы можете выбирать между ловушкой с низким, средним и высоким уровнем взаимодействия.
- Виртуальная система с низким уровнем взаимодействия предлагает злоумышленнику очень ограниченный доступ к сервису или к операционной системе. Такого рода ловушки не позволяют злоумышленнику взаимодействовать с вашей системой в полном объеме, поскольку ловушка не является полноценной системой, а лишь эмулирует часть базовых функций. Honeypot с низким уровнем взаимодействия обычно реализует небольшое количество интернет-протоколов и сетевых сервисов – достаточное, чтобы обмануть злоумышленника, но не более.
Honeypot с низким уровнем взаимодействия просты в установке, имеют очень ограниченные настройки и не требуют значительных ресурсов для обслуживания. Такая ловушка может быть недостаточно эффективной: она способна привлечь злоумышленников на начальном этапе, но не даст полного понимания о тактиках и техниках, а также о конечных целях и намерениях злоумышленника, не позволит отследить сложные угрозы, например эксплойты нулевого дня.
- Приманки с высоким уровнем взаимодействия – это противоположность вышеописанному: злоумышленнику предоставляют специально сгенерированные системы для атаки, которые очень похожи на реальные. Это значительно снижает вероятность того, что он догадается, что его перенаправили на ловушку и наблюдают за ним. Поскольку honeypot присутствуют только в качестве приманки и не участвуют в легитимном рабочем процессе, любой обнаруженный трафик к ним уже сам по себе является подозрительным, что позволяет легко обнаруживать угрозы и отслеживать поведение злоумышленников. Используя приманку с высоким уровнем взаимодействия, вы можете изучить инструменты, которые злоумышленник использует для повышения привилегий или дальнейшего проникновения в корпоративную сети.
В современных коммерческих решениях такого класса применяются методы динамического формирования ложной инфраструктуры. Система сама формирует ловушки с высоким уровнем взаимодействия, адаптируясь к каждому инциденту, что значительно снижает вероятность того, что злоумышленник поймет, что взаимодействует с ложной инфраструктурой. Информация, получаемая с такого рода ловушек, позволяет аналитикам кибербезопасности получить различную информацию о последних тактиках и тенденциях и собрать инструментарий злоумышленников.
Конечно, самый большой недостаток ловушек с высоким уровнем взаимодействия – время и усилия, которые требуются для создания системы таких ловушек, а затем для поддержания и дальнейшего мониторинга.
Исходя из того, что ловушки с низким уровнем взаимодействия слишком просты, а с высоким – чрезмерно сложны, многие останавливают выбор на приманках со средним уровнем взаимодействия. Среди таких ловушек есть как коммерческие решения, так и решения с открытым исходным кодом. Они создают баланс, обеспечивая меньший риск, чем создание полной физической или виртуализированной системы ловушек, но обладают большой функциональностью. И хотя такие ловушки не подходят для сложных угроз наподобие эксплойтов нулевого дня, они могут быть нацелены на злоумышленников, ищущих определенные уязвимости. Например, ловушки со средним взаимодействием могут эмулировать веб-сервер Apache или Microsoft IIS и обладать достаточно сложной функциональностью, чтобы привлечь атаки определенного типа, по которым вы хотите получить больше информации и исследовать их.
Места расстановки ловушек
При планировании мест установки ловушек нужно определить, информацию о каких угрозах вы хотите получать, как вы ее будете обрабатывать и применять. На сегодняшний день очень популярна тема предупреждений по угрозам, и многие производители средств защиты предлагают покупать эту информацию за большие деньги. Несомненно, это ценная информация, но часть таких данных вы сможете собирать и сами, разместив ловушки в Интернете, желательно по несколько экземпляров в разных географических локациях. Это позволит выявить атаки, характерные для того или иного региона, или зафиксировать распространение атаки. Объем данных по атакам очень большой, и зачастую они исходят либо с динамических диапазонов различных провайдеров, либо из сети TOR. Данные с такими типами источников дадут для анализа не много пользы. Однако если вы будете выделять из этого потока не входящие соединения злоумышленников, а исходящие к их инфраструктуре, информация станет более ценной.
При этом размещение ловушек в Интернете ничего не скажет об угрозах, которые направлены на ваш внешний периметр. Потому для выявления угроз, нацеленных на вашу компанию, целесообразно иметь ловушки именно на периметре вашей сети. А приманки, размещенные внутри сети или даже отдельных ее сегментов, позволят выявить информацию о целенаправленных атаках, которые реализуются уже в вашей инфраструктуре.
Проблемы ловушек
Может сложится впечатление, что достаточно развернуть ловушки в определенных местах – и все атаки сразу будут выявлены. Однако это не так. Ловушки, особенно те, которые расположены внутри инфраструктуры, бóльшую часть времени простаивают, и самая большая проблема заключается в том, чтобы заманить туда злоумышленника. Для этого ловушка должна быть привлекательна для взлома. Однако если все остальные узлы в сети будут защищенными, а один – со множеством сервисов и уязвимостей, это будет очень подозрительным и может отпугнуть злоумышленника.
Для активного привлечения злоумышленника к ловушке разрабатываются различные методы, начиная от направления трафика на все незадействованные IP-адреса к ловушкам и заканчивая размещением различных так называемых мышеловок (honeytoken).
В первом случае к ловушке направляются все сетевые обращения на IP-адреса, не занятые какими-либо реальными хостами, или даже трафик на несуществующие сервисы на хосте. Таким образом увеличивается площадь сети, которые покрывают ловушки.
При использовании мышеловок на реальные хосты раскладываются различные привлекательные объекты, которые будут указывать на ловушку. Это могут быть файлы с различными интересными названиями (зарплатная ведомость, логины и пароли, конфиденциальная информация), при открытии которых на ловушку будет поступать сигнал, а затем собираться и передаваться различная телеметрическая информация, которая позволит провести расследование инцидента. Другие варианты – специально сфабрикованные учетные записи, точки сетевых подключений, информация в браузерах или каких-либо других программах типа RDP или SSH клиентов, которая будет в итоге вести на ловушку. Ведь злоумышленник, попав на машину жертвы, начинает осматриваться и собирать дополнительную информацию для дальнейшего закрепления в системе. И дополнительно созданная ложная информация, ведущая на ловушку, будет вводить злоумышленника в заблуждение, а ее объем будет мешать ему сделать выбор и при этом не попасться. Такой подход позволяет усложнить жизнь злоумышленнику и засечь его если и не на первом шаге исследования системы, то на втором-третьем.
Ловушки других типов
Для поимки различных инсайдеров, неблагонадежных или просто чрезмерно любопытных сотрудников могут использоваться записи, специально заведенные в различных автоматизированных системах. Например, в CRM-системе заводятся ложные карточки для ключевых клиентов компании, в медицинских базах – для известных людей. Контроль доступа к таким ложным записям позволяет выявлять нелегитимную активность сотрудников.
Практика использования
Для получения данных о внешних угрозах в Интернете или в периметре вашей компании можно использовать проекты с открытыми исходными кодами. Это могут быть ловушки для отдельных сервисов: например, проект Glastopf предназначен для выявления атак на сервис HTTP, а Cowrie выявляет атаки на сервис Telnet/SSH. Возможны и мультисервисные «комбайны» типа Dionaea, которые поддерживают множество сервисов: например, таких как FTP, HTTP, SMB, MongoDB, MySQL, PPTP и т. д.
Есть и готовые решения в виде образов виртуальных машин или сборок. В качестве примера можно привести Modern Honey Network, которую использует один из мировых лидеров среди поставщиков сведений об угрозах – Anomaly, или T-Pot, которую применяет крупнейшая в Европе телекоммуникационная компания Deutsche Telekom.
Рассмотрим на примере T-Pot, что можно получить, как говорится, прямо из коробки.
Загрузить дистрибутив вы можете с GitHub: https://github.com/dtag-dev-sec/tpotce. Существуют готовые сборки для установки как на железо, так и на виртуальные машины, описана архитектура решения, а также имеется подробная инструкция по установке. Решение активно развивается и обновляется, при появлении новых видов ловушек они добавляются в пакет.
Архитектура решения представляет собой набор визуализированных контейнеров Docker для ловушек, а все события с них собираются в ELK. После установки мы сразу получаем набор разнообразных ловушек, каждая их которых запущена в своем отдельном Docker-контейнере. Для управления и мониторинга ловушек есть удобный веб-интерфейс, в котором можно видеть различные статистические срезы по выявленным ловушкой событиям.
Заключение
Противостояние между атакующими и средствами защиты – источник ценной информации прежде всего для защитников. Оно развивает технологии, и то, что в настоящий момент является новой технологией, со временем станет стандартом. Ловушки – технология уже не новая, но со временем она видоизменяется и совершенствуется.
В этой статье мы постарались сформулировать понимание различий между решениями киберловушек с низким, средним и высоким уровнем взаимодействия, что поможет сделать правильный выбор для конкретных условий применения технологии. Следует понимать сильные и слабые стороны каждого типа ловушек и сферу их применения. Важно помнить о безопасности решения, использовать микросегментацию и обеспечивать изолированную среду для ловушки. Это позволит вам быть уверенным, что именно вы поймаете злоумышленника на крючок, а не наоборот.