Введение
HoneyMonkey, сокращение от Strider HoneyMonkey Exploit Detection System, — это honeypot, разработанный Microsoft Research. В его реализации используется сеть компьютеров для обхода Всемирной паутины в поисках веб-сайтов, использующих браузерные эксплойты для установки вредоносного ПО на компьютер HoneyMonkey. Перед посещением сайта создается снимок памяти, исполняемых файлов и реестра компьютера-honeypot. После посещения сайта состояние памяти, исполняемых файлов и реестра записывается и сравнивается с предыдущим снимком. Изменения анализируются для определения, установил ли посещенный сайт какое-либо вредоносное ПО на компьютер-honeypot. HoneyMonkey основан на концепции honeypot, но отличается тем, что активно ищет веб-сайты, пытающиеся его взломать. Термин был придуман в Microsoft Research в 2005 году. С помощью HoneyMonkey можно выявлять уязвимости в системе безопасности, которые еще не известны публично, но уже используются злоумышленниками.
HoneyMonkey, short for Strider HoneyMonkey Exploit Detection System, is a Microsoft Research honeypot. The implementation uses a network of computers to crawl the World Wide Web searching for websites that use browser exploits to install malware on the HoneyMonkey computer. A snapshot of the memory, executables and registry of the honeypot computer is recorded before crawling a site. After visiting the site, the state of memory, executables, and registry is recorded and compared to the previous snapshot. The changes are analyzed to determine if the visited site installed any malware onto the client honeypot computer. HoneyMonkey is based on the honeypot concept, with the difference that it actively seeks websites that try to exploit it. The term was coined by Microsoft Research in 2005. With honeymonkeys it is possible to find open security holes that are not yet publicly known but are being exploited by attackers.
Технология
Один HoneyMonkey — это автоматизированная программа, имитирующая действия пользователя при работе в интернете. Серия HoneyMonkeys запускается на виртуальных машинах с Windows XP, с разным уровнем установленных обновлений — некоторые полностью обновлены, некоторые полностью уязвимы, а другие находятся в промежуточном состоянии. Программа HoneyMonkey регистрирует каждое чтение и запись файловой системы и реестра, таким образом, создавая журнал собранных веб-сайтом данных и установленного им программного обеспечения. После посещения сайта этот журнал анализируется на предмет загрузки вредоносного кода. В случае обнаружения вредоносного кода, журнал действий отправляется для дальнейшего ручного анализа внешней управляющей программе, которая фиксирует данные об эксплуатации уязвимостей и перезапускает виртуальную машину, чтобы она могла начать сканирование других сайтов из известного чистого состояния.
Начало ползания
Из более чем 10 миллиардов веб-страниц существует множество легитимных сайтов, которые не используют уязвимости браузеров, и начинать обход с большинства из них было бы неэффективным использованием ресурсов. Поэтому был вручную составлен первоначальный список сайтов, известных использованием уязвимостей браузеров для компрометации систем посетителей вредоносным ПО. Система HoneyMonkey затем переходит по ссылкам с сайтов, использующих уязвимости, поскольку они с большей вероятностью ведут к другим подобным сайтам. HoneyMonkey также фиксирует количество ссылок, указывающих на сайт с уязвимостями, тем самым предоставляя статистическую оценку доступности такого сайта.
Обнаружение взлома
HoneyMonkey использует систему «черного ящика» для обнаружения эксплойтов, то есть не полагается на сигнатуры эксплойтов браузеров для их выявления. Программа Monkey, являющаяся отдельным экземпляром проекта HoneyMonkey, запускает Internet Explorer для посещения веб-сайта. Она также регистрирует все операции чтения и записи в реестре и файлах. Программа блокирует всплывающие окна и установку программного обеспечения. Любая операция чтения или записи, происходящая за пределами временной папки Internet Explorer, указывает на использование эксплойтов браузера. Эти эксплойты затем анализируются программами для обнаружения вредоносного ПО и впоследствии – вручную. После этого программа Monkey перезапускает виртуальную машину для посещения другого сайта в чистом состоянии.