
В сфере кибербезопасности точная идентификация и характеризация веб-серверов имеют решающее значение для обнаружения угроз, оценки уязвимостей и картирования сети. Мы представляем HTTP-Basma — новый алгоритм активного фингерпринтинга, который раскрывает уникальные профили серверов с помощью многоуровневого подхода.
HTTP-Basma доступен по адресу https://httpbasma.netomize.ca/
В сфере кибербезопасности точная идентификация и характеризация веб-серверов имеет решающее значение для обнаружения угроз, оценки уязвимостей и картирования сети. Мы представляем HTTP-Basma — новый алгоритм активного снятия отпечатков, который раскрывает уникальные профили серверов с помощью многоуровневого подхода, решая тем самым эту задачу.
Ключевые особенности: Сформированные запросы, показательные ответы: HTTP-Basma отправляет 8 тщательно разработанных HTTP-зондов, вызывающих характерные ответы, отражающие конфигурации серверов. Двойное хеширование для универсальности. Алгоритм генерирует два хеша:
Кластеризация и поиск: Эти хеши обеспечивают кластеризацию серверов, идентификацию уникальных и похожих серверов, а также поиск злоумышленников с повышенной уверенностью.
Модульная архитектура для расширения: Архитектура алгоритма способствует добавлению новых вариантов хеширования, поощряя сотрудничество и адаптивность.
В этой статье мы сначала рассматриваем известные существующие работы по HTTP-снятию отпечатков, а затем исследуем функциональность, дизайн, архитектуру и результаты алгоритма. Кроме того, мы продемонстрируем убедительные результаты сканирования топ-1 миллиона веб-сайтов Majestic, включая идентификацию и кластеризацию C&C HTTP-серверов для различных семейств вредоносных программ.
Основная идея алгоритма HTTP-Basma заключается в отправке 8 специально сформированных HTTP-запросов с различными требованиями для получения разных ответов от сервера. После получения ответа сервера строка состояния HTTP тщательно разбирается на все элементы и оптимально кодируется. Кроме того, выбранные заголовки из ответа сервера также проверяются на кодирование.
Отправляемые запросы относятся к следующим типам:
После каждого запроса ответ сервера анализируется для извлечения определённых заголовков и их значений. Эти извлечённые данные подвергаются дальнейшей обработке, включая разбор и кодирование, для создания обратимого отпечатка.
Полные технические детали работы алгоритма приведены в прилагаемой статье.
Эта модульная философия проектирования рассматривает отпечаток каждого запроса как строительный блок, что позволяет элегантно выполнять рефакторинг с возможностью добавления и удаления отпечатка любого запроса.
Примеры отпечатков:
- verbosus fp: 011420958a0014514bd5221420958a221420958a221420958a2200001420958a22000000001f
- pacto fp: 02464ae8b7d86f82c9918e2c2b9d6b91
- примечание: частота ложных срабатываний (72/986 910)
- verbosus fp: 01142494d60914514bd522142494d6221420958a701420958a220000140e04922032c37f1609
- pacto fp: 020769322f3d94ac2f258ddf5ce08502
- примечание-1: частота ложных срабатываний 0
- примечание-2: tevedadav.site/43.209.165.126:443 (TLS)
- образец-(sha-256): 9aa1dec8dd12f8adc7fc1274e1958f3613450109ee8b4ec6442a0fcf06df0972
- verbosus fp: 01140a85e40014512f3612140a85e422140a85e422140a85e4220000140a85e4220000000001
- pacto fp: 0207292309a7a7e798e417d69df5f2a5
- примечание: частота ложных срабатываний (73/986 910)
- verbosus fp: 01140a85e4001320958a22142494d62214254c5e2214254c5e22080014254c5e220000000000
- pacto fp: 0202be780e1eaae0eaa6184e20c909b6
- примечание: частота ложных срабатываний (4/986 910)
- verbosus fp: 01140a85e4011320958a22142494d67214254c5e2214254c5e22080014254c5e220000000000
- pacto fp: 02cc5be6d05192e17de041538508bc22
- примечание: частота ложных срабатываний (38/986 910)
- verbosus fp: 01140a85e40914514bd522140a85e4721420958a701420958a220800140a85e4720000001609
- pacto fp: 0221b4e46bbd0e5c037f5a852ca3fdc0
- примечание: частота ложных срабатываний (6/986 910)
HTTP-Basma — это инструмент на C++, который я разработал для демонстрации практичности и жизнеспособности этого алгоритма. Он использует библиотеку Chilkat для всех HTTP-сокетных взаимодействий и применяет другие вспомогательные классы из этой библиотеки. Кроме того, инструмент включает функцию деманглера, которая может разбирать и обращать нечёткий хеш verbosus, выводя полный JSON-объект, а также функцию сравнения, которая выводит различия между двумя отпечатками verbosus.
Имейте в виду, что некоторые выходные данные инструмента могут использовать немного другие номера зондов, но базовый порядок остаётся неизменным: P1->P1, P2->P2, P3->P3, P4->P4, P->P5, P6->P6F, P7->P6L, P8->P7a.
Usage:
HTTP-Basma [OPTION...]