Client honeypot

Клиентский honeypot (англ. client honeypot) — это активное средство информационной безопасности, предназначенное для обнаружения вредоносных серверов, осуществляющих атаки на клиентские устройства. В отличие от традиционных honeypot, которые пассивно ожидают атак, клиентские honeypot выступают в роли клиента и взаимодействуют с сервером для определения факта атаки. Наиболее часто клиентские honeypot применяются для анализа веб-браузеров, однако они могут использоваться и для других типов клиентов, взаимодействующих с серверами, например, FTP, электронной почты, SSH.

Термин

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

Архитектура

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

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

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

Клиентские honeypot высокой интерактивности

Honeypot-клиенты высокой интерактивности представляют собой полнофункциональные системы, сравнимые с реальными клиентскими машинами. За исключением механизмов сдерживания, на них отсутствуют функциональные ограничения. Атаки обнаруживаются путём анализа состояния системы после взаимодействия с сервером; фиксация изменений в honeypot свидетельствует о взломе уязвимости клиента. Примером такого изменения является появление новых или изменённых файлов.

Honeypot-клиенты высокой интерактивности эффективны при выявлении неизвестных атак. Однако их использование связано с потерь производительности из-за необходимости отслеживания большого количества параметров состояния системы. Кроме того, эта технология подвержена способам обхода обнаружения, когда эксплойт запускается не сразу, либо только при определённых действиях. Если сразу после взаимодействия изменений не произошло, honeypot может ошибочно признать сервер безопасным, хотя атака была осуществлена. Также, если honeypot работает в виртуальной машине, эксплойт может обнаружить этот факт и изменить своё поведение или отказаться от атаки.

Capture-HPC

Capture[1] — honeypot-клиент высокой интерактивности, разработанный исследователями университета Виктории в Веллингтоне. Capture отличается от других решений высокой скоростью (отслеживание изменений состояния осуществляется по событийной модели), масштабируемостью (центральный сервер управляет множеством клиентов в сети), а также возможностью использовать различные клиентские приложения. Первая версия поддерживала только Internet Explorer, однако поздние версии охватывают все основные браузеры (Internet Explorer, Firefox, Opera, Safari), а также другие HTTP-ориентированные программы (офисные приложения, медиаплееры и др.).

HoneyClient

HoneyClient[2] — honeypot-клиент высокой интерактивности на базе веб-браузера (IE/Firefox), созданный Кэти Ван в 2004 году и далее развиваемый в MITRE. Это первый open source honeypot-клиент, написанный на Perl, C++ и Ruby. HoneyClient использует модель слежения за состоянием системы Windows (файлы, процессы, реестр), а также интегрирует модуль integrity-проверки Capture-HPC. В системе есть сканер-сборщик ссылок — HoneyClient посещает сайты, анализируя их на наличие вредоносных программ для клиента.

HoneyMonkey (неактуален с 2010)

HoneyMonkey[3] — клиентский honeypot высокой интерактивности на базе Internet Explorer, созданный Microsoft в 2005 году (недоступен для скачивания). Он использует анализ состояния файлов, процессов и реестра для обнаружения атак. Особенностью HoneyMonkey является многоуровневый подход: сборщик сайтов изначально работает с уязвимой конфигурацией, после обнаружения атаки повторяет посещение с полностью обновлённым ПО. Если атака повторяется, считается, что эксплойт использует неизвестную (0-day) уязвимость, что особенно опасно.

SHELIA (неактуален с 2009)

SHELIA[4] — honeypot-клиент высокой интерактивности, разработанный Жоаном Робертом Рокаспана в Свободном университете Амстердама. Интегрируется с почтовым клиентом, обрабатывает каждое полученное письмо (URL и вложения), запускает соответствующее приложение (браузер, офисное и пр.), отслеживает выполнение кода в области данных памяти (признак атаки переполнения буфера). Такой подход позволяет не только фиксировать, но и предотвращать срабатывание эксплойтов.

UW Spycrawler

Spycrawler[5] — honeypot-клиент высокой интерактивности на базе Mozilla, разработанный Мощуком и др. в Вашингтонском университете в 2005 г. (не распространяется). Обнаруживает атаки путём анализа изменений файлов, процессов, реестра и сбоев браузера на клиенте. Механизм отслеживания событий — событийный. Для повышения эффективности против time bomb-эксплойтов система ускоряет внутреннее время виртуальной машины.

Web Exploit Finder

Web Exploit Finder (WEF)[6] — система автоматического обнаружения drive-by загрузок в виртуализированной среде, разработанная Томасом Мюллером, Беньямином Маком и Мехметом Арциманом в Университете медиа (HdM), Штутгарт, в 2006 году. WEF может использоваться как активная HoneyNet с архитектурой полной виртуализации для откатов скомпрометированных машин.

Клиентские honeypot низкой интерактивности

Honeypot-клиенты низкой интерактивности не используют полноценную реальную систему, а основаны на облегчённых или эмулируемых клиентах для взаимодействия с сервером (в случае браузеров — это аналоги web crawler). Ответы серверов анализируются напрямую на предмет наличия вредоносного кода, например, с помощью поиска специфических строк.

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

HoneyC

HoneyC[7] — honeypot-клиент низкой интерактивности, разработанный Кристианом Зайфертом в университете Виктории (Веллингтон, 2006). Кроссплатформенный open source-фреймворк на Ruby, эмулирует браузер для анализа взаимодействий с серверами. Обнаружение вредоносных серверов осуществляется по статическим признакам с помощью Snort-сигнатур.

Monkey-Spider (неактуален с 2008)

Monkey-Spider[8] — honeypot-клиент низкой интерактивности, изначально созданный Али Икинчи в университете Мангейма. Базируется на crawler-модели и использует антивирусные решения для детектирования вредоносных объектов, легко расширяется дополнительными способами обнаружения. Проект распространяется как свободное программное обеспечение под GPL.

PhoneyC (неактуален с 2015)

PhoneyC[9] — honeypot-клиент низкой интерактивности, разработанный Хосе Назаро. Эмулирует функционал настоящих браузеров, анализирует динамические сценарии путём деобфускации вредоносного контента и эмуляции уязвимостей, что позволяет определять вектор атаки. PhoneyC — модульная платформа для анализа вредоносных HTTP-cтраниц и актуальных методов нападения.

SpyBye

SpyBye[10] — honeypot-клиент низкой интерактивности, созданный Нильсом Провосом. Помогает веб-мастерам выявлять вредоносные сайты с помощью эвристик и сопоставления содержимого с базой ClamAV.

Thug

Thug[11] — honeypot-клиент низкой интерактивности, разработанный Анджело Делл’Аера. Эмулирует поведение браузера, ориентирован на обнаружение вредоносных веб-страниц. Использует движок Google V8 для JavaScript и собственную реализацию DOM. Уникальные возможности Thug: поддержка ActiveX Vulnerability Module, статический и динамический анализ (AST и Libemu). Написан на Python, распространяется под GNU GPL.

YALIH

YALIH (Yet Another Low Interaction Honeyclient)[12] — honeypot-клиент низкой интерактивности, разработанный Масудом Мансури (группа Honeynet университета Виктории, Веллингтон). Предназначен для обнаружения вредоносных сайтов с применением сигнатур и анализа шаблонов. Собирает подозрительные URL из баз вредоносных сайтов, Bing API, почтовых ящиков POP3/IMAP. Может извлекать, деобфусцировать и деминифицировать JavaScript-код, эмулирует referrer, user-agent, ведёт работу с cookies и сессиями. Поддерживает загрузку страниц с разных геолокаций, что помогает обходить ограничения по IP. Доступен как open source-проект.

miniC

miniC[13] — honeypot-клиент низкой интерактивности на основе wget и движка Yara. Разработан группой Honeynet университета Виктории (Новая Зеландия), отличается лёгкостью, высокой скоростью, подходит для массового анализа сайтов. miniC поддерживает настройку referrer, user-agent, accept_language и других параметров.

Гибридные клиентские honeypot

Гибридные honeypot-клиенты сочетают архитектуру высокой и низкой интерактивности с целью объединения преимуществ обоих подходов.

HoneySpider[14] (неактуален с 2013) — гибридная honeypot-система, совместно разработанная CERT Polska, GOVCERT.NL и SURFnet. Проект направлен на создание полного honeypot-клиента, использующего существующие решения в сочетании с crawler для пакетной обработки URL[1].[2]

Примечания

Литература

  • Jan Göbel, Andreas Dewald. Client-Honeypots: Exploring Malicious Websites. Oldenbourg Verlag, 2010. ISBN 978-3-486-70526-3. Книга на Amazon

Ссылки

Категории