
Концепт-доказательство, воспроизводящее уязвимость жёстко зашитого ключа CVE-2021-22681 и проверяющее исправление на основе взаимного TLS/CRL для каждого устройства поверх симулированного EtherNet/IP, с сопоставлением с IEC 62443-4-2.
Шесть исполняемых скриптов — реальный трафик протокола EtherNet/IP (Тест 1), реальная механика TLS/PKI (Тесты 3–6) — без единого компонента Rockwell или лицензий где-либо в цепочке. Создано для проверки утверждения до его оформления, а не для защиты его на веру.
Происхождение: создано 2026-07-31, параллельно с расследованием инцидента на водоочистной станции в Брахаме, штат Миннесота — одной из четырёх объектов коммунального хозяйства, публично раскрытых в скоординированном инциденте в водном секторе Миннесоты 26–27 июля 2026 года. Контекст этого инцидента описан в консультативном бюллетене CISA AA26-097A (совместный FBI/CISA/NSA/EPA/DOE/USCYBERCOM/Mинфин; выпущен 2026-04-07, расширен 2026-07-22), который охватывает продолжающуюся кампанию CyberAv3ngers, связанную с IRGC. Оговорка об атрибуции, сформулированная точно: ни одно ведомство официально не приписывало конкретно инцидент в Миннесоте этой группе — только более широкую продолжающуюся кампанию. Эта папка — сторона технического исправления, намеренно отделённая от расследования инцидента.
В Rockwell PSIRT ([email protected]) и RA Secure Mail ([email protected]) обращались 2026-07-31, до публикации этого репозитория и отчёта (~за 30 минут до, по временным меткам файлов). Команда архитектуры безопасности Rockwell изучила репозиторий и ответила 2026-08-03. Цитируется дословно, без перефразирования в более сильное утверждение, чем они сделали:
Rockwell Automation не поддерживает и не подтверждает вашу интерпретацию, ваше сопоставление с IEC 62443-4-2 или любые выводы, сделанные на основе доказательства концепции. Пожалуйста, не представляйте эту работу как проверенную, одобренную или поддержанную Rockwell Automation... скрипты демонстрируют общие криптографические и аутентификационные принципы, а не что-то специфичное для CIP Security или CVE-2021-22681.
Эта работа не была проверена, одобрена или поддержана Rockwell Automation, точка. Их техническая
характеристика — общие принципы, а не специфика CIP Security — это то же различие, которое таблица
«Жёсткая граница» ниже уже проводит в отношении утверждений этого репозитория; их проверка подтверждает это
независимо, а не оспаривает. Для объектов коммунального хозяйства на оборудовании, которое не поддерживает CIP Security,
Rockwell указал на собственное Руководство по проектированию и внедрению Converged Plantwide Ethernet (CPwE)
(цитируется в PHASED_ROLLOUT.md, Фаза 1) — существующий ресурс вендора, к которому этот проект пытается
направлять людей, а не дублировать его.
Вывод Теста 1 — отсутствие аутентификации в состоянии по умолчанию протокола — не уникален для EtherNet/IP. Modbus TCP, по-прежнему один из наиболее широко развёрнутых протоколов в системах управления водоснабжением/водоотведением, вообще не имеет концепции аутентификации в спецификации протокола; он восходит к последовательной связи 1979 года и никогда не проектировался с учётом безопасности. CISA неоднократно называла именно этот недостаток в консультативных бюллетенях по ICS (например, серия MELSEC iQ-F от Mitsubishi Electric: «MODBUS/TCP не имеет надлежащей аутентификации», что позволяет несанкционированное чтение/запись/остановку). Собственный ответ Организации Modbus, Modbus/TCP Security, — это инкапсуляция TLS с сертификатами X.509 — структурно та же категория исправления, которую демонстрирует Тест 3, стандартизированная на уровне организации протокола, а не одного вендора. DNP3 имеет опциональное расширение Secure Authentication (SAv5, стандартизировано в 2012 году); независимый анализ и отчёты интеграторов описывают его как редко настраиваемый на практике, ссылаясь на пробелы в совместимости между производителями ОТ и реальную сложность протокола — что оставляет ту же уязвимость, которую Тест 1 демонстрирует для EtherNet/IP.
Архитектурный тезис, сформулированный точно, чтобы не переоценивать его: исправление Теста 3 — взаимный TLS, привязка идентичности каждого устройства в сертификате (не только валидность CA), отзыв через CRL — работает на транспортном уровне, а не на прикладном протоколе ICS. Принцип в равной степени применим под Modbus, DNP3 или проприетарным протоколом; меняется обёртка, а не форма исправления. Этот репозиторий не создавал и не запускал PoC, специфичный для Modbus или DNP3 — это архитектурное обобщение на основе публичной документации, придерживающееся той же иерархии «продемонстрировано vs. подтверждено источниками», что и всё остальное здесь, а не новое проверенное утверждение.
Источники: Консультативные бюллетени CISA ICS о пробелах аутентификации Modbus/TCP — Industrial Cyber · Обзор Modbus/TCP Security — Veridify · Проблемы внедрения DNP3 SAv5/SAv6 — Step Function I/O
Пакет раскрытия живёт или умирает на том, чтобы не смешивать эти понятия, потому что у каждого своё исправление:
Продемонстрированное здесь исправление — привязка идентичности каждого устройства (Тест 3) — устраняет отказ общего ключа парка.
| Утверждение | Уровень | Почему | |
|---|---|---|---|
| Архитектурный принцип | «один общий секрет для всего парка скомпрометирован по всему парку одной утечкой; привязка идентичности к каждому устройству закрывает это» | ДОКАЗАНО | продемонстрировано реальным работающим кодом, включая отрицательный контроль, доказывающий, что проверка необходима, а не просто срабатывает: на строгой конечной точке Устройства B действительно валидный сертификат CA отклоняется по идентичности (Тест 3 · случай 3), но на конечной точке, проверяющей только валидность CA, тот же сертификат принимается (случай 4 — контроль) → «только валидная подпись CA == доступ ко всему парку == Тест 2 в обёртке TLS». Привязка также работает в обратную сторону: мошеннический сервер, предъявляющий валидный сертификат парка, отклоняется клиентом (случай 5). Тест 1 отдельно показывает более широкую базовую линию без аутентификации. |
| Конкретная реализация CIP Security от Rockwell ведёт себя идентично | «включение CIP Security на реальном оборудовании Rockwell устраняет CVE-2021-22681 именно таким образом» | ГИПОТЕЗА, подтверждена источниками, не проверена | это формулировка собственного бюллетеня Rockwell (PN1550) — «При правильном развёртывании CIP Security устраняет эту уязвимость... не использует никаких жёстко заданных ключей» — а не то, что мы независимо подтвердили на реальном оборудовании Logix. Мы тестировали принцип, который описывает их бюллетень, а не их точную реализацию на уровне протокола. |
Не смешивайте две строки. Принцип доказан. Конкретная реализация вендора правдоподобна (это их собственное заявленное проектное намерение), но не проверена нами на реальном оборудовании.