Наш основной продукт - система анализа сетевого трафика и защиты от сетевых атак собственной разработки.
Мы помогаем нашим клиентам сделать их бизнес неуязвимым к сетевым DDoS-атакам, а также повысить доступность услуг.
Сейчас на новые крупные проекты мы ищем Системного (программного) архитектора с желательным опытом проектирования inline/out-of-path систем защиты на магистральных сетях, понимающий BGP (FlowSpec), MPLS, геораспределённую кластеризацию и синхронизацию состояния в условиях высокой задержки, способный прогнозировать производительность кластера узлов на 100+ Gbps на узел и обеспечить автоматический отвод трафика при сбоях с сохранением сессий. Знание программной инженерии, системный подход к проектированию высоконагруженных программных систем, понимание подходов к проектированию потоков данных, программного взаимодействия, интерфейсов обмена и обработки данных, архитектуры современных вычислительных систем и систем обработки информации.
Точно нужно уметь/знать:
- Проектировать информационную систему и упаковывать её в продукт, включая UML/DFD/CDM.
- Системное мышление: баланс между latency, throughput и cost.
- Коммуникация: работа с командой разработки, DevOps, аналитиками по ML.
- Документирование: ADR (Architecture Decision Records), threat model, разбор incidentов.
- Готовность к code review и созданию тестовых сред (simulated трафик, replay атак).
- Стек: OSS-библиотеки (DPDK, libpcap — только как fallback, Suricata Hyperscan, OpenSSL/BoringSSL, etc.).
- Архитектурное решение: лицензионная чистота (GPL/LGPL/BSD/MIT — допустимые), контейнеризация (Docker + containerd), оркестрация Kubernetes без vendor lock-in.
- Сборка: публичный CI (GitLab CI / Jenkins) с воспроизводимой сборкой.
- Языки: C (обязательно, как основа DPDK и высоконагруженных модулей), Rust или Go (для безопасных компонентов управления).
- ОС: Linux, настройка ядра (изоляция CPU, huge pages, XDP/eBPF — как плюс).
- Модульность: проектирование расширяемой архитектуры с чёткими интерфейсами между модулями (например, захват → предобработка → детекция → ML → логирование/блокировка).
Нужно быть в курсе, а лучше быть глубоко погруженным:
- Знание eBPF и XDP как альтернативы/дополнения к DPDK.
- Понимание гомоморфного шифрования или TEE (SGX/SEV) для защиты ML-моделей.
- Кластерные СУБД: PostgreSQL, MariaDB с шардированием, Tarantool или ClickHouse.
- Реализация продукта (или крупного модуля) с использованием DPDK в продакшене (от 10+ Gbps на одном узле).
- Опыт проектирования систем обнаружения вторжений (Suricata, Snort — их архитектура должна быть понятна, даже если не используется код).
- От 3 лет системного/сетевого программирования + от 2 лет на позиции архитектора.
- Понимание модульной архитектуры программного комплекса. Чёткое выделение модулей: перехват, декодирование протоколов, сигнатурный движок, ML-детектор, управление политиками, аудит.
- Слабое связывание через очереди и API.
- Горизонтальное масштабирование (например, RSS + DPDK с разделением потоков).
- Понимание архитектуры «облачной» сигнализация для обеспечения взаимодействия компонентов точка-точка, точка-многоточка, фулмэш. Применение сигнализации для кластеризации продукта. Асинхронная интеграция: очереди, event sourcing, гарантии доставки (at-least-once, exactly-once).
- Умение прогнозировать пропускную способность (Gbps, Mpps), латентность, требования к памяти, требование к вычислительным ресурсам.
- Профилирование (perf, Intel VTune), Понимание Stateful failover (синхронизация сессий при сбое), Понимание Graceful degradation под нагрузкой.
- Понимание защиты от утечек через ML-модели, контроль целостности модулей, изоляция компонентов.
- Понимание современных протоколов: gRPC, REST, WebSockets, Protobuf/FlatBuffers (для эффективной сериализации).
- Опыт с P4, Netronome Agilio, FPGA для ускорения.
- Сторонние системы: SIEM, SOAR, Threat Intelligence Feeds (STIX/TAXII), Active Directory, API управления.
- Роль ML в архитектуре: детекция аномалий, классификация трафика, снижение ложных срабатываний, прогнозирование состояний сети/трафика.
- Интеграция моделей: умение проектировать сервис/модуль для инференса (ONNX Runtime, TensorFlow Lite, самописные рантаймы) в реальном времени.
- Особенности: деплой модели без остановки системы, A/B тестирование правил/моделей, конвейер фич из сырого трафика.
- Проектирование схем хранения: метаданные атак, статистика, конфигурации правил.
- Партиционирование, репликация, асинхронная запись, очереди сообщений (Kafka / NATS) для развязки детектора и хранилища.
Весьма приветствуются расширенные знания:
- BGP :
- проектирование взаимодействия системы защиты с операторской сетью через BGP FlowSpec (RFC 5575, 8955) для динамического вброса правил фильтрации/редиректа трафика.
- BGP VPNv4/v6, RT/RD для изоляции клиентских сегментов.
- MPLS: понимание LDP, RSVP-TE, MPLS TE для направления трафика через защищённые узлы.
- Политики маршрутизации: PBR (Policy-Based Routing) на больших объёмах, ECMP с учётом асимметричной маршрутизации.
- Геораспределённая кластеризация:
- синхронизация сессий и метаданных между узлами защиты в разных точках присутствия (PoP) с учётом задержек до 50+ мс.
- eventual vs strong consistency для блок-листов и правил ML.
- Anycast:
- публикация одного IP для сервиса защиты (например, очистка трафика от DDoS) через BGP Anycast.
- управление аффинитетностью клиентов (source-destination stickiness).
- Фабрики пакетной обработки: понимание VXLAN, EVPN для stretch-кластеров.
- Inline-режим на магистрали:
- работа с netconf/gNMI для управления forwarding-таблицами соседних маршрутизаторов (Juniper, Cisco, Nokia, а также OSS-маршрутизаторы типа FRRouting / GoBGP).
- обработка асимметричного трафика (inbound через один узел защиты, outbound — через другой) без потери контекста.
- Out-of-path (tap / SPAN) + PBR/FlowSpec — как резервный сценарий.
- проектирование кластера из узлов с DPDK, агрегирующих трафик 400+ Gbps (типовой магистральный линк).
- балансировка потоков по узлам защиты на основе L2–L4 хэша (RSS, симметричный хэш).
- Packet Broker архитектура: возможность стыковки с open source решениями (PacketFabric, Open vSwitch с DPDK) для фильтрации и репликации трафика.
- sFlow/NetFlow/IPFIX агрегация с самих узлов защиты для обнаружения аномалий.
- интеграция с Prometheus + Thanos/Cortex (многокластерный мониторинг).
- GMPLS / SDN контроллеры: знание OpenFlow, но важнее — опыт с ODL (OpenDaylight) или ONOS для динамического изменения маршрутизации через защиту.
- RAFT (для управления конфигурацией) + CRDT (для синхронизации счётчиков и блок-листов).