На каждом веб-сайте есть два вида посетителей: люди, которые медленно бродят по ссылкам, и пауки - программы, быстро прочесывающие сайт. Теперь же появилась новая разновидность. Паук, который ведет себя как человек.
Среди заинтересованных специалистов довольно давно являются объектом исследования техники для хакерских атак и контр-техники для их обнаружения. В течение последних лет активно обсуждается и совершенствуется инструментарий в этой области. Чаще всего используются программы на основе библиотеки LibWhisker, а для "защиты" - аналитические системы вроде Snort. Однако специалисты редко обсуждают один важный аспект, который предшествует любой атаке - это скрытое "прощупывание" сайта, разведка. Обычно это делают или вручную, что очень утомительно, или с помощью обычного краулера вроде wget, который легко выдает себя. Он порождает ненормальный всплеск "посещаемости" на счетчиках и возросший поток трафика.
Новая программа-краулер лишена этих недостатков. Она исследует сайт с нескольких IP-адресов, выдает себя за разные браузеры, очень медленно ходит по ссылкам, чтобы имитировать человека. Она даже скачивает флэш-анимацию, картинки, скрипты и ActiveX для большей реалистичности.
Программа была представлена на недавней хакерской конференции Shmoo Con. Ее разработал известный хакер Билли Хоффман, прочитавший на конференции доклад на тему "Скрытый краулинг: волк среди овечек" (www.shmoocon.org/speakers.html#acidus).
В новой системе для скрытого изучения сайтов используются следующие техники:
- Распределенный краулинг с нескольких IP и в течение нескольких сессий, отделенных друг от друга по времени. Это делается для того, чтобы с одного IP или в течение одной сессии не выкачивать весь сайт целиком, потому что такое поведение выглядит ненормально.
- Краулинг сайта не по набору ссылок, а по определенным маршрутам, как это делают люди.
- Использование доступной статистики по сайту.
- Динамическая генерация фальшивых заходов с Google на страницы в глубине сайта. Генерация фальшивых заходов осуществляется на основе контента целевых страниц.
- Интеллектуальный выбор прокси-серверов с учетом страны и типа веб-сайта.
- Случайный выбор ссылок и перекрывание маршрутов краулинга для большей реалистичности.
- Фильтрация ссылок по популярности.
- Эскалация международного трафика.
Использование всех вышеперечисленных техник позволяет практически полностью замаскировать факт автоматического скачивания сайта. Веб-мастеру очень трудно будет заподозрить присутствие программы. Возможная последующая хакерская атака с использованием обнаруженных уязвимостей станет для него полной неожиданностью.
Исходные коды новой программы на Java, которую можно назвать "человек-паук", будут опубликованы в ближайшее время под свободной лицензией.
Для такой программы можно найти много разнообразных применений, кроме разведки перед хакингом. Первое, что приходит на ум - например, скачивание книг, которые демонстрируются постранично в сервисе Amazon Search Inside The Book.
Анатолий АЛИЗАР
Горячие темы