CrashOverride
CrashOverride (также известный как Industroyer) — вредоносное программное обеспечение, предназначенное для атаки на промышленные системы управления (SCADA) и объекты критической инфраструктуры, в первую очередь — электрические подстанции. Относится к классу троянов, способных напрямую взаимодействовать с протоколами промышленной автоматизации, нарушая работу энергосетей.
История
Впервые вредоносная программа была обнаружена в декабре 2016 года после атаки на энергосистему Украины, в результате которой 17 декабря 2016 года произошло отключение электроснабжения в северных районах Киева. Атака затронула около 225 тысяч потребителей и продолжалась от 30 минут до нескольких часов. Расследование, проведённое компанией ESET и украинскими властями, выявило, что в отличие от предыдущих атак на украинские энергосети (декабрь 2015 года), в данном случае использовалось новое, специализированное вредоносное ПО, получившее название CrashOverride.
В июне 2017 года компания ESET опубликовала подробный отчёт о вредоносе, в котором описала его архитектуру и возможности. Аналитики связали CrashOverride с группой Sandworm (также известной как Voodoo Bear, APT 28, Fancy Bear), которая, по данным западных разведок, связана с Главным управлением Генерального штаба Вооружённых сил России (ГРУ). Впоследствии, в 2018 году, Министерство юстиции США предъявило обвинения семи российским гражданам, приписываемым к Sandworm, в том числе за атаки с использованием CrashOverride.
В 2022 году, после начала полномасштабного вторжения России на Украину, сообщалось о попытках применения модифицированных версий Industroyer (в частности, Industroyer2) против украинских энергообъектов, однако атаки были частично предотвращены.
Архитектура и принцип действия
CrashOverride является модульным вредоносным ПО, построенным на принципе «пейлоада» (исполняемой нагрузки). Его архитектура включает несколько ключевых компонентов:
- Основной модуль (Main backdoor): Обеспечивает связь с командным сервером (C2), загрузку дополнительных модулей и управление атакой.
- Модуль сканирования (Scanning module): Сканирует локальную сеть для обнаружения устройств SCADA, контроллеров (PLC) и серверов, работающих по промышленным протоколам.
- Модуль атаки (Attack module): Непосредственно реализует атаку. Включает в себя подмодули для работы с различными протоколами:
- IEC 104 (IEC 60870-5-104): Основной протокол для диспетчерского управления в европейских и азиатских энергосетях. Этот модуль позволяет отправлять команды на отключение выключателей на подстанциях.
- IEC 61850 (GOOSE и MMS): Протокол для передачи данных и команд в современных цифровых подстанциях. Модуль может отправлять команды GOOSE (Generic Object-Oriented Substation Events) для быстрого отключения оборудования.
- OLE for Process Control (OPC): Протокол для интеграции SCADA-систем с Windows-приложениями. Модуль позволяет взаимодействовать с OPC-серверами.
- Модуль очистки (Data wiper): После выполнения атаки этот модуль удаляет системные журналы, файлы конфигурации и может стереть данные с жёстких дисков, чтобы затруднить восстановление и расследование. В некоторых версиях он также перезаписывает прошивку контроллеров.
Процесс атаки
- Проникновение: Вредонос попадает в сеть предприятия через фишинговые письма, эксплуатацию уязвимостей в периметре или через скомпрометированные учётные записи (например, VPN).
- Разведка: Модуль сканирования определяет топологию сети, типы контроллеров и используемые протоколы.
- Подготовка: Вредонос загружает необходимые модули атаки, соответствующие обнаруженной инфраструктуре.
- Атака: Модуль атаки отправляет команды на отключение выключателей, размыкание цепей, изменение параметров работы оборудования. Это приводит к физическому отключению электроэнергии.
- Сокрытие следов: Модуль очистки удаляет логи, уничтожает данные и, в некоторых случаях, выводит из строя контроллеры, делая невозможным быстрое восстановление дистанционного управления.
Классификация
CrashOverride относится к нескольким категориям вредоносного ПО:
- Промышленный троян (Industrial Trojan): Предназначен для атак на промышленные системы, а не на обычные компьютеры.
- Кибероружие (Cyber Weapon): Создан для нанесения физического ущерба объектам критической инфраструктуры.
- Wiper (Уничтожитель данных): Содержит компоненты для безвозвратного уничтожения данных и вывода из строя оборудования.
Применение и значение
CrashOverride стал первым в истории вредоносным ПО, которое было специально разработано для атак на электрические сети, в отличие от более ранних атак (например, Stuxnet), нацеленных на ядерные центрифуги. Его значение заключается в следующем:
- Демонстрация уязвимости энергосетей: Атака показала, что современные цифровые подстанции, использующие стандартные протоколы (IEC 104, 61850), уязвимы для целенаправленных кибератак.
- Модульность и адаптивность: Архитектура CrashOverride позволяет легко адаптировать его под другие протоколы и типы промышленных объектов (газ, вода, транспорт).
- Автономность: Вредонос может работать без постоянной связи с командным сервером, что делает его сложным для обнаружения и блокирования.
- Повышение критичности кибербезопасности: После атаки регулирующие органы и операторы энергосетей во всём мире начали активнее внедрять меры защиты, такие как сегментация сетей, усиление контроля доступа и мониторинг промышленных протоколов.
Критика и контрмеры
Основная критика в адрес систем, которые были атакованы CrashOverride, касается недостаточной сегментации корпоративных и промышленных сетей, а также использования устаревших или необновлённых систем управления. В ответ на угрозу были разработаны следующие меры защиты:
- Глубокий анализ трафика (Deep Packet Inspection, DPI): Системы, способные анализировать содержимое пакетов промышленных протоколов (IEC 104, Modbus) и выявлять аномальные команды.
- Сетевая сегментация: Разделение корпоративной сети (IT) и промышленной сети (OT) с помощью межсетевых экранов и DMZ-зон.
- Мониторинг целостности файлов: Отслеживание изменений в конфигурационных файлах SCADA-систем и контроллеров.
- Аутентификация и шифрование: Внедрение строгой аутентификации для команд управления и шифрования трафика (например, использование TLS для IEC 61850).
- Резервирование и ручное управление: Наличие физических резервных каналов управления и возможность ручного отключения оборудования в случае кибератаки.
Интересные факты
- Название «CrashOverride» отсылает к персонажу из фильма 1995 года «Хакеры» (Hackers), где главный герой используёт программу с таким именем для отключения систем управления.
- Вредоносное ПО не использует уязвимости нулевого дня (0-day). Вместо этого оно опирается на легитимные функции промышленных протоколов и стандартные методы аутентификации, что делает его обнаружение сложным.
- Анализ показал, что CrashOverride был написан на C++ и содержит код, который, по мнению экспертов, мог быть разработан с учётом опыта предыдущих атак на украинскую энергосистему в 2015 году.
Источники
- ESET Research: «CRASHOVERRIDE: Analysis of the threat to electric grid operations» (2017).
- Dragos Inc.: «CRASHOVERRIDE: A Threat to the Electric Grid» (2017).
- ICS-CERT (CISA): «Alert (ICS-ALERT-17-206-01): CrashOverride Malware» (2017).
- Министерство юстиции США: «U.S. Charges Russian GRU Officers with International Hacking and Related Influence and Disruption Operations» (2018).
- Отчёты СБУ и «Киберполиции Украины» по инцидентам 2016 и 2022 годов.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →