Введение

HoneyMonkey, сокращение от Strider HoneyMonkey Exploit Detection System, — это honeypot, разработанный Microsoft Research. В его реализации используется сеть компьютеров для обхода Всемирной паутины в поисках веб-сайтов, использующих браузерные эксплойты для установки вредоносного ПО на компьютер HoneyMonkey. Перед посещением сайта создается снимок памяти, исполняемых файлов и реестра компьютера-honeypot. После посещения сайта состояние памяти, исполняемых файлов и реестра записывается и сравнивается с предыдущим снимком. Изменения анализируются для определения, установил ли посещенный сайт какое-либо вредоносное ПО на компьютер-honeypot. HoneyMonkey основан на концепции honeypot, но отличается тем, что активно ищет веб-сайты, пытающиеся его взломать. Термин был придуман в Microsoft Research в 2005 году. С помощью HoneyMonkey можно выявлять уязвимости в системе безопасности, которые еще не известны публично, но уже используются злоумышленниками.

Технология

Один HoneyMonkey — это автоматизированная программа, имитирующая действия пользователя при работе в интернете. Серия HoneyMonkeys запускается на виртуальных машинах с Windows XP, с разным уровнем установленных обновлений — некоторые полностью обновлены, некоторые полностью уязвимы, а другие находятся в промежуточном состоянии. Программа HoneyMonkey регистрирует каждое чтение и запись файловой системы и реестра, таким образом, создавая журнал собранных веб-сайтом данных и установленного им программного обеспечения. После посещения сайта этот журнал анализируется на предмет загрузки вредоносного кода. В случае обнаружения вредоносного кода, журнал действий отправляется для дальнейшего ручного анализа внешней управляющей программе, которая фиксирует данные об эксплуатации уязвимостей и перезапускает виртуальную машину, чтобы она могла начать сканирование других сайтов из известного чистого состояния.

Начало ползания

Из более чем 10 миллиардов веб-страниц существует множество легитимных сайтов, которые не используют уязвимости браузеров, и начинать обход с большинства из них было бы неэффективным использованием ресурсов. Поэтому был вручную составлен первоначальный список сайтов, известных использованием уязвимостей браузеров для компрометации систем посетителей вредоносным ПО. Система HoneyMonkey затем переходит по ссылкам с сайтов, использующих уязвимости, поскольку они с большей вероятностью ведут к другим подобным сайтам. HoneyMonkey также фиксирует количество ссылок, указывающих на сайт с уязвимостями, тем самым предоставляя статистическую оценку доступности такого сайта.

Обнаружение взлома

HoneyMonkey использует систему «черного ящика» для обнаружения эксплойтов, то есть не полагается на сигнатуры эксплойтов браузеров для их выявления. Программа Monkey, являющаяся отдельным экземпляром проекта HoneyMonkey, запускает Internet Explorer для посещения веб-сайта. Она также регистрирует все операции чтения и записи в реестре и файлах. Программа блокирует всплывающие окна и установку программного обеспечения. Любая операция чтения или записи, происходящая за пределами временной папки Internet Explorer, указывает на использование эксплойтов браузера. Эти эксплойты затем анализируются программами для обнаружения вредоносного ПО и впоследствии – вручную. После этого программа Monkey перезапускает виртуальную машину для посещения другого сайта в чистом состоянии.