Приманки - это устройства безопасности, ценность которых заключается в том, чтобы их исследовать и взломать. Традиционные приманки - это серверы (или устройства, предоставляющие серверные службы), пассивно ожидающие атаки. Клиентские приманки - это активные устройства безопасности для поиска вредоносных серверов, атакующих клиентов. Клиентская приманка выдает себя за клиента и взаимодействует с сервером, чтобы проверить, произошла ли атака. Часто в центре внимания клиентских приманок находятся веб-браузеры, но любой клиент, взаимодействующий с серверами, может быть частью клиентских приманок (например, ftp , ssh, электронная почта и т. Д.).
Для описания клиентских приманок используется несколько терминов. Помимо клиентской приманки, которая является общей классификацией, медклиент - это еще один общепринятый термин. Однако здесь есть тонкость, поскольку "honeyclient" на самом деле является омографом, который также может относиться к первой известной реализации приманки для клиента с открытым исходным кодом (см. Ниже), хотя это должно быть ясно из контекста.
Клиентская приманка состоит из трех компонентов. Первый компонент, очередь, отвечает за создание списка серверов, которые клиент должен посетить. Этот список можно создать, например, путем сканирования. Второй компонент - это сам клиент, который может делать запросы к серверам, идентифицированным очередью. После взаимодействия с сервером третий компонент, механизм анализа, отвечает за определение того, произошла ли атака на клиентскую приманку.
В дополнение к этим компонентам клиентские приманки обычно снабжены некоторой стратегией сдерживания, чтобы предотвратить распространение успешных атак за пределы клиентских приманок. Обычно это достигается за счет использования межсетевых экранов и песочниц виртуальных машин.
Как и традиционные серверные приманки, клиентские приманки в основном классифицируются по уровню взаимодействия: высокий или низкий; который обозначает уровень функционального взаимодействия, которое сервер может использовать с клиентской приманкой. В дополнение к этому существуют также новые гибридные подходы, которые обозначают использование методов обнаружения как высокого, так и низкого уровня взаимодействия.
Приманки для клиентов с высоким уровнем взаимодействия - это полнофункциональные системы, сопоставимые с реальными системами с реальными клиентами. Таким образом, никаких функциональных ограничений (кроме стратегии сдерживания) для клиентских приманок с высокой степенью взаимодействия не существует. Атаки на клиентские приманки с высоким уровнем взаимодействия обнаруживаются путем проверки состояния системы после взаимодействия с сервером. Обнаружение изменений в клиентской приманке может указывать на атаку, направленную на использование уязвимости клиента. Примером такого изменения является наличие нового или измененного файла.
Приманки для клиентов с высоким уровнем взаимодействия очень эффективны при обнаружении неизвестных атак на клиентов. Однако компромисс для этой точности - это снижение производительности из-за количества состояний системы, которые необходимо отслеживать для оценки атаки. Кроме того, этот механизм обнаружения подвержен различным формам уклонения со стороны эксплойта. Например, атака может задержать немедленное срабатывание эксплойта (бомбы замедленного действия) или может сработать при определенном наборе условий или действий ( логические бомбы). Поскольку немедленного заметного изменения состояния не произошло, клиентский приманка, скорее всего, неправильно классифицирует сервер как безопасный, даже если он успешно выполнил атаку на клиента. Наконец, если клиентские приманки работают на виртуальных машинах, то эксплойт может попытаться обнаружить присутствие виртуальной среды и перестать срабатывать или вести себя иначе.
Capture [1] - это клиентская приманка с высоким уровнем взаимодействия, разработанная исследователями из Университета Виктории в Веллингтоне, Новая Зеландия. Захват отличается от существующих клиентских приманок по-разному. Во-первых, он разработан, чтобы быть быстрым. Изменения состояния обнаруживаются с помощью модели на основе событий, позволяющей реагировать на изменения состояния по мере их возникновения. Во-вторых, Capture рассчитана на масштабирование. Центральный сервер Capture может управлять множеством клиентов в сети. В-третьих, Capture должен быть фреймворком, который позволяет использовать разных клиентов. Первоначальная версия Capture поддерживает Internet Explorer, но текущая версия поддерживает все основные браузеры (Internet Explorer, Firefox, Opera, Safari), а также другие клиентские приложения с поддержкой HTTP, такие как офисные приложения и медиаплееры.
HoneyClient [2] - это клиентская приманка с высоким уровнем взаимодействия на основе веб-браузера (IE / FireFox), разработанная Кэти Ванг в 2004 году и впоследствии разработанная в MITER . Это была первая приманка для клиентов с открытым исходным кодом, представляющая собой смесь Perl, C ++ и Ruby. HoneyClient основан на состоянии и обнаруживает атаки на клиентов Windows, отслеживая файлы, события процессов и записи реестра. Он интегрировал средство проверки целостности Capture-HPC в реальном времени для выполнения этого обнаружения. HoneyClient также содержит поискового робота, так что он может быть заполнен списком начальных URL-адресов, с которых следует начать, и затем может продолжать просматривать веб-сайты в поисках вредоносных программ на стороне клиента.
HoneyMonkey [3] - это клиентская приманка с высоким уровнем взаимодействия на основе веб-браузера (IE), реализованная Microsoft в 2005 году. Она недоступна для загрузки. HoneyMonkey основан на состоянии и обнаруживает атаки на клиентов, отслеживая файлы, реестр и процессы. Уникальной характеристикой HoneyMonkey является многоуровневый подход к взаимодействию с серверами для выявления эксплойтов нулевого дня. HoneyMonkey изначально сканирует Интернет с уязвимой конфигурацией. После выявления атаки сервер повторно исследуется с полностью исправленной конфигурацией. Если атака все же обнаружена, можно сделать вывод, что атака использует эксплойт, для которого еще не выпущен публичный патч, и поэтому он довольно опасен.
Shelia [4] - это клиентская приманка с высоким уровнем взаимодействия, разработанная Джоан Роберт Рокаспана из Vrije Universiteit Amsterdam. Он интегрируется с программой чтения электронной почты и обрабатывает каждое полученное письмо (URL-адреса и вложения). В зависимости от типа полученного URL-адреса или вложения он открывает другое клиентское приложение (например, браузер, офисное приложение и т. Д.). Он отслеживает, выполняются ли исполняемые инструкции в области данных памяти (что может указывать на срабатывание эксплойта переполнения буфера) . При таком подходе SHELIA способна не только обнаруживать эксплойты, но и фактически предотвращать срабатывание эксплойтов.
Spycrawler [5], разработанный в Вашингтонском университете, представляет собой еще одну клиентскую приманку с высоким уровнем взаимодействия на основе браузера (Mozilla), разработанную Мощуком и др. в 2005 г. Эта клиентская приманка недоступна для загрузки. Spycrawler основан на состоянии и обнаруживает атаки на клиентов, отслеживая сбои файлов, процессов, реестра и браузера. Механизм обнаружения шпионов основан на событиях. Кроме того, это увеличивает время прохождения виртуальной машины, на которой работает Spycrawler, для преодоления (или, скорее, уменьшения воздействия) бомб замедленного действия.
WEF [6] - это реализация автоматического обнаружения загрузки в виртуальном окружении, разработанная Томасом Мюллером, Бенджамином Маком и Мехметом Арзиманом, тремя студентами из Высшей школы медицины (HdM), Штутгарт, во время летнего семестра в г. 2006. WEF можно использовать как активную сеть HoneyNet с полной архитектурой виртуализации для отката скомпрометированных виртуальных машин.
Клиентские приманки с низким уровнем взаимодействия отличаются от клиентских приманок с высоким уровнем взаимодействия тем, что они не используют всю реальную систему, а, скорее, используют облегченные или смоделированные клиенты для взаимодействия с сервером. (в мире браузеров они похожи на поисковые роботы). Ответы серверов проверяются напрямую, чтобы оценить, произошла ли атака. Это можно сделать, например, путем проверки ответа на наличие вредоносных строк.
Клиентские приманки с низким уровнем взаимодействия проще в развертывании и эксплуатации, чем приманки с высоким уровнем взаимодействия, а также они лучше работают. Тем не менее, они, вероятно, будут иметь более низкий уровень обнаружения, поскольку об атаках должен быть известен клиентский приманка, чтобы он мог их обнаружить; новые атаки скорее всего останутся незамеченными. Они также страдают от проблемы уклонения с помощью эксплойтов, которая может усугубляться из-за их простоты, что облегчает эксплойту обнаружение клиентского приманки.
HoneyC [7] - это клиентская приманка с низким уровнем взаимодействия, разработанная Кристианом Зайфертом в Университете Виктории в Веллингтоне в 2006 году. HoneyC - это платформенно-независимый фреймворк с открытым исходным кодом, написанный на Ruby. В настоящее время он концентрируется на симуляторе веб-браузера для взаимодействия с серверами. Вредоносные серверы обнаруживаются путем статической проверки ответа веб-сервера на наличие вредоносных строк с помощью сигнатур Snort.
Monkey-Spider [8] - это клиентская приманка с низким уровнем взаимодействия, изначально разработанная Али Икинчи в Университете Мангейма. Monkey-Spider - это клиентская приманка на основе краулера, изначально использующая антивирусные решения для обнаружения вредоносных программ. Утверждается, что он быстрый и расширяемый с помощью других механизмов обнаружения. Работа началась как дипломная работа и продолжена и выпущена как бесплатное программное обеспечение под лицензией GPL .
PhoneyC [9] - это клиент с низким уровнем взаимодействия, разработанный Хосе Назарио. PhoneyC имитирует нормальные веб-браузеры и может распознавать динамический контент, деобфускируя вредоносный контент для обнаружения. Кроме того, PhoneyC эмулирует определенные уязвимости, чтобы определить вектор атаки. PhoneyC - это модульная структура, которая позволяет изучать вредоносные HTTP-страницы и разбирается в современных уязвимостях и методах злоумышленников.
SpyBye [10] - это клиентская приманка с низким уровнем взаимодействия, разработанная Нильсом Провосом . SpyBye позволяет веб-мастеру определять, является ли веб-сайт вредоносным, с помощью набора эвристик и сканирования содержимого на предмет обнаружения механизма ClamAV.
Thug [11] - это клиентская приманка с низким уровнем взаимодействия, разработанная Анджело Дель'Аэра. Thug имитирует поведение веб-браузера и ориентирован на обнаружение вредоносных веб-страниц. Инструмент использует движок Google V8 Javascript и реализует собственную объектную модель документа (DOM). Наиболее важными и уникальными особенностями Thug являются: модуль обработки элементов управления ActiveX (модуль уязвимости) и возможности статического + динамического анализа (с использованием абстрактного синтаксического дерева и анализатора шелл-кода Libemu). Thug написан на Python под Стандартной общественной лицензией GNU.
ЯЛИХ (еще один медовый клиент с низким уровнем взаимодействия) [12]- это приманка для клиентов с низким уровнем взаимодействия, разработанная Масудом Мансури из отделения honeynet Университета Виктории в Веллингтоне, Новая Зеландия, и предназначена для обнаружения вредоносных веб-сайтов с помощью методов сигнатур и сопоставления с образцом. YALIH имеет возможность собирать подозрительные URL-адреса из баз данных вредоносных веб-сайтов, Bing API, папки входящих сообщений и спама через протоколы POP3 и IMAP. Он может выполнять извлечение Javascript, деобфускацию и деминификацию скриптов, встроенных в веб-сайт, и может эмулировать реферер, агентов браузера и обрабатывать перенаправление, файлы cookie и сеансы. Его агент посетителя способен извлекать веб-сайт из нескольких мест, чтобы обойти атаки с использованием геолокации и IP-маскировки. YALIH также может генерировать автоматические сигнатуры для обнаружения вариантов атаки. YALIH доступен как проект с открытым исходным кодом.
miniC [13] - это клиентская приманка с низким уровнем взаимодействия, основанная на wget retriever и движке Yara. Он разработан, чтобы быть легким, быстрым и подходящим для поиска большого количества веб-сайтов. miniC позволяет устанавливать и моделировать реферер, пользовательский агент, accept_language и несколько других переменных. miniC был разработан в новозеландском отделении Honeynet Веллингтонского университета Виктории.
Гибридные клиентские приманки сочетают в себе клиентские приманки с низким и высоким уровнем взаимодействия, чтобы воспользоваться преимуществами обоих подходов.
Сеть HoneySpider [14] - это гибридная клиентская приманка, разработанная как совместное предприятие NASK / CERT Polska , GOVCERT.NL [1] и SURFnet . [2] Целью проекта является разработка полной клиентской системы приманки на основе существующих решений приманки для клиентов и поискового робота, специально предназначенного для массовой обработки URL-адресов.