Под лицензией GPLv3 опубликована платформа ICSForge — open-source-инструмент для валидации покрытия средств кибербезопасности АСУ ТП. Платформа генерирует реалистичный промышленный трафик и PCAP-файлы и привязывает каждый сценарий к матрице MITRE ATT&CK for ICS v18. Заявленное покрытие — 68 техник из 83, или 82 %.

В версии 0.62 поддерживаются десять промышленных протоколов: Modbus/TCP, DNP3, IEC-104 (МЭК 60870-5-104), S7comm, OPC UA, EtherNet/IP, BACnet/IP, MQTT, IEC 61850 GOOSE и PROFINET DCP. Для каждого реализованы от 5 до 36 разновидностей трафика, в общей сложности — 536 одиночных сценариев и 11 готовых многошаговых атакующих цепочек.

Как это работает

Платформа построена вокруг двух взаимодействующих компонентов — отправителя и приёмника. Отправитель формирует трафик и встраивает в каждый пакет корреляционный маркер. Приёмник, развёрнутый в проверяемом сегменте, ищет этот маркер и отправляет квитанцию обратно. Если квитанция пришла — пакет дошёл по адресата. Если развёрнутая в этом же сегменте система мониторинга на трафик отреагировала — детектирование работает. Так фиксируется однозначная цепочка: выполнено → доставлено → обнаружено. Для случаев, когда сам факт присутствия маркера мешает чистоте эксперимента, предусмотрен скрытный режим — на проводе генерируются побайтно реалистичные кадры без каких-либо признаков ICSForge.

Архитектура ICSForge: отправитель ↔ приёмник
Рис. 1. Архитектура ICSForge: отправитель ↔ приёмник.

Что такое MITRE ATT&CK for ICS

MITRE ATT&CK for ICS — открытая база знаний, которую с 2020 года поддерживает американская некоммерческая корпорация MITRE. Это структурированный каталог приёмов, которые применяет противник при атаке на промышленные системы управления, основанный на изучении реальных инцидентов в энергетике, нефтегазе, водоснабжении и обрабатывающей промышленности.

База разделена на 12 тактик — это категории целей, которые ставит перед собой атакующий: получить первоначальный доступ (Initial Access), закрепиться (Persistence), уклониться от обнаружения (Evasion), нарушить работу защит (Inhibit Response Function), повлиять на технологический процесс (Impair Process Control) и так далее. Внутри каждой тактики — конкретные техники, описывающие способ её достижения: например, T0855 «Unauthorized Command Message» — несанкционированная команда уставки или управления, T0832 «Manipulation of View» — подмена данных, отображаемых оператору. На сегодняшний день в матрице описано 83 уникальные техники.

Для отрасли матрица стала стандартным языком для описания угроз и оценки защищённости. Современные пассивные мониторы (NSM), межсетевые экраны АСУ ТП и SIEM-системы маркируют свои детектирующие правила идентификаторами техник ATT&CK — это позволяет сравнивать продукты и выстраивать программу защиты по понятной координатной сетке. ICSForge использует ту же сетку с другой стороны: для каждой техники, которую можно воспроизвести на сетевом уровне, в платформе есть один или несколько готовых сценариев.

Матрица MITRE ATT&CK for ICS — концептуальная схема покрытия сценариями ICSForge
Рис. 2. Матрица MITRE ATT&CK for ICS — концептуальная схема покрытия сценариями ICSForge.

Из 83 техник в платформе реализовано 68. Оставшиеся 15 — это техники, требующие физического доступа или не оставляющие наблюдаемого сетевого следа: их авторы честно классифицируют как «не реализуемые на сетевом уровне» и снабжают каждую обоснованием в открытом конфигурационном файле. Подобная прозрачность — нечастое явление среди инструментов этого класса.

Готовые атакующие цепочки

Помимо одиночных техник, ICSForge содержит 11 многошаговых сценариев, моделирующих известные публичные атаки. Среди них — Industroyer2 (комбинация IEC-104 и S7comm), цепочки в стиле TRITON (нацеливание на системы противоаварийной защиты), Stuxnet (манипуляция программой ПЛК Siemens), сценарий по образцу инцидента в Олдсмаре (изменение уставок водоподготовки), а также «полная цепочка ICS Kill Chain» — от разведки до воздействия.

Что такое Industroyer

Industroyer (также известен как CrashOverride) — первое публично известное вредоносное ПО, изначально разработанное специально для атаки на электроэнергетические объекты. Применялось в декабре 2016 года при отключении электроснабжения в северной части Киева, поддерживало работу с протоколами IEC 60870-5-101, IEC 60870-5-104, IEC 61850 и OPC DA — то есть с тем самым набором, который штатно используется в АСУ ТП подстанций. Industroyer2 — модификация, обнаруженная в апреле 2022 года при попытке атаки на украинскую энергосистему: содержала жёстко зашитые конфигурации конкретного объекта и работала исключительно по IEC-104. Воспроизведение характерного для этих атак сетевого трафика в контролируемой среде — стандартная задача оценки готовности SOC, и ICSForge даёт для неё инструмент, не требующий ни реальных вредоносных образцов, ни доступа к ним.

Дополнительные возможности и безопасность

Помимо генерации трафика, ICSForge автоматически выпускает правила обнаружения для систем Suricata и Sigma в трёх уровнях — от лабораторных, ловящих собственный маркер платформы, до семантических, рассчитанных на промышленное применение и срабатывающих на конкретные функциональные коды и сервисы прикладного уровня.

Для предотвращения случайного запуска в боевой сети по умолчанию разрешена отправка только на адреса RFC 1918, loopback и TEST-NET; обращение к публичным адресам блокируется. Аутентификация в веб-интерфейсе обязательна, пароли хранятся через scrypt, передача квитанций защищена отдельным токеном. Авторы явно подчёркивают: ICSForge не эксплуатирует уязвимости, не модифицирует состояние реальных устройств и не моделирует физическое воздействие на технологический процесс — это инструмент для оценки качества обнаружения, а не для атаки.

Платформа написана на Python 3.10+, поддерживает развёртывание из исходников и через Docker Compose; командная строка имеет полный паритет с веб-интерфейсом.

Репозиторий проекта доступен по ссылке.