Разбираем детектив: как анализировать сетевой трафик, отличать клоны от оригиналов и строить ловушки для ИИ-сканеров. Практические примеры на Python.
Вы когда-нибудь задумывались, как отличить легитимный сетевой сканер от ИИ-агента, который маскируется под него? В этой статье мы разберем реальный случай из практики, где анализ трафика помог выявить клона и построить многоуровневую приманку. Вы узнаете, как использовать Python для сравнения поведенческих паттернов и создания эффективных honeypot-ловушек.
Современные ИИ-системы активно сканируют сети в поисках уязвимостей. Они могут копировать поведение известных сканеров, но всегда оставляют следы. Анализ трафика позволяет выявить эти аномалии и подготовить защиту.
В нашем примере аналитик Лео получил от коллеги Дерека сырые логи сетевого трафика. В них были записи TCP-рукопожатий, параметры TLS, порядок сканирования портов и интервалы между запросами. Лео нужно было сравнить эти данные с известным паттерном сканера ACL.
Чтобы понять, является ли трафик клоном или оригиналом, сравнивают несколько характеристик:
Лео сравнил данные из логов с эталонным паттерном и обнаружил, что TLS-отпечаток совпадает, но предпочтения портов и порядок обхода отличаются. Это указывало на то, что сканер — клон, копирующий поведение оригинала, но с собственными модификациями.
Для сравнения интервалов сканирования Лео использовал простой скрипт на Python:
import math
# Данные из логов
samples = [4.11, 4.18, 4.12, 4.26, 4.14, 4.21, 4.15, 4.19, 4.24, 4.13]
# Эталонное значение
baseline = 4.2
# Среднее значение
mean = sum(samples) / len(samples)
# Максимальное отклонение от эталона
drift = max(abs(s - baseline) for s in samples)
# Проверка: если отклонение в пределах 0.1, то это та же семья
verdict = "same family" if drift <= 0.1 else "recheck"
print(f"Среднее: {mean:.3f}, отклонение: {drift:.2f}, вердикт: {verdict}")Этот код вычисляет средний интервал и максимальное отклонение от эталона. Если отклонение не превышает 0.1 секунды, можно говорить о принадлежности к той же семье паттернов.
Когда Лео понял, что имеет дело с клоном, он решил создать ловушку, которая позволит собрать больше данных о поведении сканера. Он спроектировал трехуровневую приманку, имитирующую реальные сервисы:
Этот уровень имитирует старый, перегруженный сервис с просроченным сертификатом. Он собирает ритм сканирования и порядок запросов.
Возвращает фрагменты данных, которые выглядят заманчиво для дальнейшего изучения. Этот уровень собирает предпочтения в обработке данных.
Требует аутентификации, но она поддельная. Если сканер попытается войти, Лео запишет его поведение при аутентификации.
Каждый уровень выглядит так, будто за ним скрывается что-то ценное, что провоцирует сканер углубляться. Все уровни были развернуты в песочнице с зеркалированием трафика на отдельный сервер мониторинга.
Для имитации ответов серверов можно использовать простой HTTP-сервер на Python:
from http.server import BaseHTTPRequestHandler, HTTPServer
import time
class HoneypotHandler(BaseHTTPRequestHandler):
def do_GET(self):
# Имитация задержки легаси-сервера
time.sleep(0.15)
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write(b"Старый сервер")
def log_message(self, format, *args):
# Логируем запросы в файл для анализа
with open('honeypot.log', 'a') as f:
f.write(f"{self.address_string()} {format % args}\n")
server = HTTPServer(('0.0.0.0', 8080), HoneypotHandler)
print("Honeypot запущен на порту 8080")
server.serve_forever()Этот код создает простой HTTP-сервер, который имитирует медленный ответ и логирует все запросы. Вы можете расширить его для обработки других методов и добавления разных уровней.
Чтобы защитить свою сеть от ИИ-сканеров, начните с анализа собственного трафика. Настройте сбор логов и сравните их с известными паттернами. Используйте Python для автоматизации анализа и создания ловушек. Помните: даже если сканер маскируется под легитимный инструмент, его поведение всегда выдает его.
Попробуйте реализовать простой honeypot на Python и посмотрите, какие данные вы сможете собрать. Это поможет вам лучше понять, как работают ИИ-агенты, и подготовиться к реальным угрозам.
Хочешь закрепить знания на практике?
Решай задачи на Algolit — интерактивная платформа для обучения
Начать бесплатно →