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]
Примечания
- ↑ NCSC Nationaal Cyber Security Centrum - NCSC (нидерл.). www.ncsc.nl (14 мая 2013). Дата обращения: 1 июня 2024. Архивировано 30 апреля 2018 года.
- ↑ SURF is de ICT-coöperatie van onderwijs en onderzoek (нидерл.). SURF.nl. Дата обращения: 1 июня 2024. Архивировано 30 апреля 2018 года.
Литература
- Jan Göbel, Andreas Dewald. Client-Honeypots: Exploring Malicious Websites. Oldenbourg Verlag, 2010. ISBN 978-3-486-70526-3. Книга на Amazon
Ссылки
- Capture-HPC project (архив) (англ.). projects.honeynet.org. Дата обращения: 1 июня 2024. Архивировано 31 января 2010 года.
- HoneyC project (архив) (англ.). projects.honeynet.org. Дата обращения: 1 июня 2024. Архивировано 31 января 2010 года.
- HoneyClient project (архив) (англ.). honeyclient.org. Дата обращения: 1 июня 2024. Архивировано 10 апреля 2007 года.
- HoneySpider project (архив) (англ.). honeyspider.net. Дата обращения: 1 июня 2024. Архивировано 30 апреля 2018 года.
- Monkey-Spider project (англ.). monkeyspider.sourceforge.net. Дата обращения: 1 июня 2024.
- PhoneyC project (англ.). code.google.com. Дата обращения: 1 июня 2024.
- Thug project (англ.). github.com. Дата обращения: 1 июня 2024.
- Shelia project (англ.). cs.vu.nl. Дата обращения: 1 июня 2024.
- SpyBye project (англ.). spybye.org. Дата обращения: 1 июня 2024.
- Web Exploit Finder overview (архив) (англ.). xnos.org. Дата обращения: 1 июня 2024. Архивировано 22 марта 2007 года.
- MWCollectD project (архив) (англ.). code.mwcollect.org. Дата обращения: 1 июня 2024. Архивировано 20 февраля 2010 года.
- New Zealand Honeynet project (англ.). nz-honeynet.org. Дата обращения: 1 июня 2024.
- YALIH project (англ.). github.com. Дата обращения: 1 июня 2024.
- miniC project (англ.). github.com. Дата обращения: 1 июня 2024.