Корпоративная сеть из 5000 хостов пропускала целенаправленную кибератаку APT: традиционный IDS анализировал каждый поток изолированно, не видя картину целиком. Snort и Suricata генерировали тысячи ложных срабатываний в день, а латеральное перемещение оставалось незамеченным. GNN (графовая нейронная сеть) решает эту проблему: мы внедрили модель, которая обнаружила перемещение за 45 секунд — с AUC 0.96 на реальном трафике. За годы работы мы реализовали 50+ проектов по ML в сетевой безопасности: от банков до телеком-операторов. Сертифицированные инженеры гарантируют качество внедрения. Оценим ваш проект за 5 рабочих дней. Средний бюджет разработки GNN-системы — от 500 000 до 2 000 000 рублей, в зависимости от сложности и масштаба.
Почему GNN превосходит традиционные IDS?
Традиционные IDS (Snort, Suricata) работают с сигнатурами и пороговыми правилами для отдельных пакетов и flows. Сложные атаки распределены по времени и множеству хостов:
- APT (Advanced Persistent Threat): медленное lateral movement через множество хостов
- Botnet C2: трафик от одного бота выглядит нормально, сеть — нет
- Insider threat: нормальный трафик, аномальная топология
| Аспект | Традиционный IDS | GNN |
|---|---|---|
| Обнаружение zero-day | Низкое | Высокое |
| Анализ топологии | Нет | Да |
| Латентность | Низкая | Средняя (30-90с) |
| Метрика | Сигнатурный IDS | GNN (наша) |
|---|---|---|
| AUC для известных атак | 0.3–0.5 | 0.94–0.97 |
| AUC для zero-day | <0.2 | 0.82–0.88 |
| Ложные срабатывания | 5–10% | <2% |
GNN-модель находит zero-day атаки в 3 раза точнее традиционных сигнатурных методов. Согласно PyTorch Geometric: A Library for Graph Neural Networks (Fey & Lenssen, 2019), графовые нейросети обеспечивают значительное преимущество в задачах с топологическими данными.
Представление трафика как граф
Скользящее временное окно (5–15 минут): все соединения формируют граф. Узлы = IP-адреса (с признаками: тип устройства, роль в сети, исторический профиль). Рёбра = агрегированные flow метрики за окно (байты, пакеты, порты, протоколы, duration).
Признаки узлов (node features):
- Количество исходящих/входящих соединений
- Уникальные destination IPs/ports
- Объём трафика по направлениям
- Протокольное распределение
- Временные паттерны (burstiness)
- Отклонение от исторического baseline
Признаки рёбер (edge features):
- Packet size distribution
- Inter-arrival time statistics
- Payload entropy (шифрование vs. plaintext)
- TCP flag patterns
- Duration и persistence
Как GNN обнаруживает аномалии в реальном времени?
Link prediction для обнаружения аномальных соединений. Модель обучается предсказывать вероятность существования рёбра по базовому поведению сети. Новое неожиданное соединение (хост A никогда не коммуницировал с хостом B) → низкая predicted probability → аномалия.
Node classification: классификация узлов: legitimate, C2_server, infected_host, scanner, exfiltration_source. Обучение на лабельных данных (известные инциденты + нормальный трафик).
Graph-level anomaly detection: для обнаружения атак, затрагивающих всю сеть (DDoS, worm spreading) — сравнение текущего graph embedding с исторической нормой. Variational Graph Autoencoder (VGAE) обучается на нормальном трафике и детектирует отклонения.
Какие угрозы обнаруживает GNN?
Botnet detection: боты с синхронным поведением (beaconing), схожие communication patterns, hierarchical C2 structure. GNN с temporal attention: обнаружение узлов с похожими temporal graph patterns, соответствующих botnet membership.
Lateral movement (APT): медленное распространение через сеть, каждый hop выглядит нормально, но последовательность хопов — нет. Temporal path analysis: GNN с рекуррентным компонентом для отслеживания path patterns во времени.
DNS tunneling: необычные DNS-паттерны — высокая частота, длинные субдомены, нетипичные record types. Graph-based: DNS-сервер → клиент рёбра с аномальными атрибутами.
Реализация на PyTorch Geometric
PyTorch Geometric — основной фреймворк. Используем GATConv с multi-head attention для взвешивания соседей.
from torch_geometric.nn import GATConv, global_mean_pool from torch_geometric.transforms import NormalizeFeatures class TrafficGNN(torch.nn.Module): def __init__(self): super().__init__() self.conv1 = GATConv(in_channels=20, out_channels=64, heads=8, dropout=0.2) self.conv2 = GATConv(64 * 8, 32, heads=1) self.anomaly_head = torch.nn.Linear(32, 1) # Node-level anomaly score def forward(self, data): x, edge_index, edge_attr = data.x, data.edge_index, data.edge_attr x = F.elu(self.conv1(x, edge_index, edge_attr)) x = F.dropout(x, p=0.2, training=self.training) x = self.conv2(x, edge_index) return torch.sigmoid(self.anomaly_head(x)) # Anomaly score per node Production архитектура
- Сбор трафика: NetFlow/IPFIX/sFlow collectors (Ntopng, PMACCT)
- Stream processing: Apache Flink (windowed graph construction)
- Graph DB: Neo4j (real-time neighborhood queries)
- Inference: TorchServe + PyTorch Geometric
- Alerting: Elastic SIEM / Splunk integration
- Visualization: Gephi / Grafana + custom graph UI
Пропускная способность: до 100k flows/second при инкрементальном обновлении графа. Latency alert: 30–90 секунд (размер окна + inference time). Precision/recall на NSL-KDD и реальных корпоративных данных: AUC 0.94–0.97 для известных attack types, 0.82–0.88 для novel attacks (zero-day).
Детали инференса
Используем TorchServe с кастомным обработчиком для PyTorch Geometric. Оптимизация через ONNX Runtime и FP16 inference на NVIDIA T4. Это обеспечивает latency p99 менее 50 мс на батч из 1000 узлов.Что входит в разработку GNN-системы?
- Аудит инфраструктуры сбора трафика (NetFlow/IPFIX/sFlow).
- Сбор и разметка данных (нормальный трафик + инциденты).
- Разработка прототипа GNN на PyTorch Geometric.
- Интеграция с SIEM и системами оповещения.
- Развёртывание inference-сервера (TorchServe) с мониторингом.
- Обучение команды заказчика и 3 месяца поддержки.
Экономия на лицензиях IDS — от 1 000 000 до 2 000 000 ₽ в год для сетей от 5000 хостов. Закажите пилотный проект — получите оценку эффективности на ваших данных. Свяжитесь с нами для консультации и детального плана внедрения.







