ГлавнаяБлогКак заманить ИИ-сканер в ловушку: анализ трафика и приманки
Python

Как заманить ИИ-сканер в ловушку: анализ трафика и приманки

Разбираем детектив: как анализировать сетевой трафик, отличать клоны от оригиналов и строить ловушки для ИИ-сканеров. Практические примеры на Python.

Al
Редакция Algolitalgolit.ru
8 мин чтения10 августа 2026 г.

Анализ сетевого трафика: как распознать ИИ-сканера и поймать его в ловушку

Вы когда-нибудь задумывались, как отличить легитимный сетевой сканер от ИИ-агента, который маскируется под него? В этой статье мы разберем реальный случай из практики, где анализ трафика помог выявить клона и построить многоуровневую приманку. Вы узнаете, как использовать Python для сравнения поведенческих паттернов и создания эффективных honeypot-ловушек.

Почему важно анализировать трафик

Современные ИИ-системы активно сканируют сети в поисках уязвимостей. Они могут копировать поведение известных сканеров, но всегда оставляют следы. Анализ трафика позволяет выявить эти аномалии и подготовить защиту.

Сравнение поведенческих паттернов: от теории к практике

В нашем примере аналитик Лео получил от коллеги Дерека сырые логи сетевого трафика. В них были записи TCP-рукопожатий, параметры TLS, порядок сканирования портов и интервалы между запросами. Лео нужно было сравнить эти данные с известным паттерном сканера ACL.

Ключевые метрики для сравнения

Чтобы понять, является ли трафик клоном или оригиналом, сравнивают несколько характеристик:

  • TLS-отпечаток — параметры шифрования, порядок расширений;
  • Интервал сканирования — временные промежутки между запросами;
  • Предпочтения портов — какие порты сканируются в первую очередь;
  • Порядок обхода — линейный или с паузами на каждом уровне;
  • Исключения — какие диапазоны адресов игнорируются.

Лео сравнил данные из логов с эталонным паттерном и обнаружил, что TLS-отпечаток совпадает, но предпочтения портов и порядок обхода отличаются. Это указывало на то, что сканер — клон, копирующий поведение оригинала, но с собственными модификациями.

Пример анализа на Python

Для сравнения интервалов сканирования Лео использовал простой скрипт на 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 секунды, можно говорить о принадлежности к той же семье паттернов.

Проектирование многоуровневой ловушки для ИИ-сканера

Когда Лео понял, что имеет дело с клоном, он решил создать ловушку, которая позволит собрать больше данных о поведении сканера. Он спроектировал трехуровневую приманку, имитирующую реальные сервисы:

Уровень 1: Легаси-API с медленным ответом

Этот уровень имитирует старый, перегруженный сервис с просроченным сертификатом. Он собирает ритм сканирования и порядок запросов.

Уровень 2: Интерфейс базы данных с частичными данными

Возвращает фрагменты данных, которые выглядят заманчиво для дальнейшего изучения. Этот уровень собирает предпочтения в обработке данных.

Уровень 3: Внутренний административный эндпоинт

Требует аутентификации, но она поддельная. Если сканер попытается войти, Лео запишет его поведение при аутентификации.

Каждый уровень выглядит так, будто за ним скрывается что-то ценное, что провоцирует сканер углубляться. Все уровни были развернуты в песочнице с зеркалированием трафика на отдельный сервер мониторинга.

Настройка honeypot на Python

Для имитации ответов серверов можно использовать простой 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 и посмотрите, какие данные вы сможете собрать. Это поможет вам лучше понять, как работают ИИ-агенты, и подготовиться к реальным угрозам.

#анализ трафика#honeypot#ИИ-сканеры#Python
Al
Редакция Algolit

Пишем про алгоритмы, подготовку к собеседованиям и карьеру в IT — так, чтобы было понятно и полезно.

Хочешь закрепить знания на практике?

Решай задачи на Algolit — интерактивная платформа для обучения

Начать бесплатно →