Атаки на станки с числовым программным управлением (ЧПУ)

Содержание

  1. А что случилось?
  2. Сценарий атаки
  3. Физические последствия от атаки
  4. Как влияет цифровизация?
  5. А если это не инцидент, а сбой?
  6. Топ10 защитных мер
  7. А что наши регуляторы?
  8. Дополнительные материалы

А что случилось?

25 марта выступал на одном мероприятии, где среди прочего рассказывал про атаки на CAD-системы, управляющие промышленными роботами и станками с ЧПУ, и возможные риски от этого. А тут стали поступать истории о том, что в России участились реальные инциденты с такого рода оборудованием, с физическим выведением из строя станков. Но при этом эти кейсы умалчиваются, что, как мне кажется, объясняется либо сокрытием фактов «ИТшниками», либо ИБ не знает, что с этим делать, либо никто не хочет выносить сор из избы, так как станки зарубежные, а компании уже отрапортовали об импортозамещении (хотя может есть и иные причины). Поэтому, не называя конкретных имен и не вдаваясь в детали, попробую порассуждать на эту тему. Тем более, что еще работая в Cisco, мы делали некоторое количество проектов по безопасности промышленных сред, использующих станки с ЧПУ от FANUC, и какие-то знания в памяти еще остались.

Сетевая архитектура применения станков с ЧПУ
Сетевая архитектура применения станков с ЧПУ

Сценарий атаки

Злоумышленник чаще всего не «ломает железо напрямую». Он получает доступ к тому, что уже имеет легитимный доступ к станку: серверу диспетчеризации, DNC-системе, рабочему месту технолога, инженерной станции, удаленному сервисному шлюзу или машине, через которую оператор загружает управляющие программы, написанные на G-Code/M-Code.

Нередко, на стойках (это целая система с ЧПУ – контроллер, панель управления, логика станка, параметры, программы, координаты, аварийные состояния) установлены пароли по умолчанию. И если раньше, когда сети были изолированы от внешнего мира, это было хоть и неправильно, но не так уж и критично, то сегодня это уже прям дырища, через которую на стойку может зайти, кто хочет, и сделать, что хочет.

Базовая модель угроз для станков с ЧПУ
Базовая модель угроз для станков с ЧПУ

Физические последствия от атаки

Для физического повреждения не обязательно «перепрошивать» стойку. Достаточно заставить станок выполнить опасное действие. Например:

  • Подмена управляющей программы. В станок загружается NC/G-code программа, которая выглядит как обычное задание, но содержит «опасные» движения: неверные координаты, слишком быстрые перемещения, неправильную смену инструмента, неверную систему координат, отключение компенсаций, движение шпинделя или оси не в тот момент. Ошибки в G-code сами по себе могут приводить к столкновениям инструмента, браку и авариям, а в злонамеренном сценарии это просто используется сознательно.

    Фреза или резец на высокой подаче может уйти глубже, чем надо, или поедет не по траектории обработки, а прямо в препятствие.

  • Изменение смещений и «нулей». У станка есть машинные координаты, рабочие координаты, «ноль» детали, «ноль» инструмента, коррекции длины и радиуса инструмента. Если изменить эти значения, даже нормальная программа может начать работать в неправильной системе отсчета. Для оператора программа выглядит привычной, но инструмент фактически едет не туда. Это может привести к столкновению движущихся частей, инструмента, шпинделя, заготовки или оснастки. Последствия могут быть от сломанной фрезы до повреждения шпинделя, направляющих, револьверной головы, датчиков, сервоприводов.
  • Изменение параметров защиты и ограничений. У станков есть программные ограничения, аппаратные концевики, ограничения перемещения, защиты от выхода за пределы. Если часть этих логических ограничений ослаблена, отключена или искажена, станок может дойти до зоны, куда в норме не должен попадать. Например, станок пытается переместить ось туда, где физически уже нельзя или где задан программный предел. В норме защита должна остановить движение, но до остановки уже возможны удар, деформация, сломанный инструмент, сбитая геометрия. Или, повторяя «сценарий Stuxnet», у шпинделя может включаться максимальная скорость вращения с последующие остановом и новой раскруткой, что может приводить к быстрому выходу их из строя.
  • Ручные команды движения через удаленный доступ. Если у злоумышленника есть доступ к HMI/удаленной панели/инженерному ПО, он может действовать не через программу обработки детали, а через режимы управления, сервисные команды, удаленный экран или технологическое ПО.
  • Атака через систему диспетчеризации. Системы типа DNC/MES/мониторинга обычно нужны для передачи программ, сбора статусов, учета загрузки, контроля простоев. Если такая система имеет право писать программы на станок или менять задания, ее компрометация превращается в компрометацию всего производственного контура.
Физические последствия от атак на станки с ЧПУ
Физические последствия от атак на станки с ЧПУ

Как влияет цифровизация?

Проблема не в самой цифровизации. Проблема в том, что станок часто проектировался как оборудование для доверенной заводской среды, а потом его подключили к обычной сети предприятия, где уже есть фишинг, доменные учетки, удаленные подрядчики, слабая сегментация, устаревшие ОС, общие пароли и «временные» правила МСЭ. Siemens прямо описывает необходимость реализации сетевой сегментации для производственных сетей. Идея в том, что компоненты с одинаковыми требованиями безопасности должны быть отделены, а не жить в одной плоской сети.

А если это не инцидент, а сбой?

С такого рода инцидентами, конечно, надо разбираться, так как бывает не всегда просто отделить обычный киберинцидент от технологического сбоя, которые тоже бывают. Поэтому стоит задать ряд вопросов:

  1. Был ли сетевой путь до стойки ЧПУ? Из Интернета, из корпоративной сети, из VPN, из сети подрядчика, из Wi-Fi, из сервера диспетчеризации.
  2. Кто мог писать на станок? Не просто читать статусы, а загружать программы, менять параметры, изменять смещения, управлять удаленной панелью.
  3. Что изменилось перед аварией? NC-программа, таблица инструментов, рабочие смещения, параметры осей, лимиты, сетевые настройки, учетные записи.
  4. Есть ли следы на промежуточных системах? DNC, MES, WinCC/SCADA, «Диспетчер», Winnum, файловые шары, инженерные станции, VPN, jump-server, доменные контроллеры.
  5. Был ли это киберинцидент или технологическая авария? Ошибка постпроцессора, неправильный ноль, неверный инструмент, человеческая ошибка и злонамеренная подмена могут выглядеть одинаково на уровне физического crash.

Топ10 защитных мер

Понятно, что у нас есть 239-й приказ ФСТЭК для ЗОКИИ, есть 31-й приказ для АСУ ТП, есть 31-й приказ для ИС ОПК, но я бы начал вот с этого Топ10 защитных мер:

  1. Сегментировать IT/OT и выделить отдельный сегмент станков.
  2. Запретить прямой доступ к ЧПУ из офиса и Интернета.
  3. Убрать дефолтные и общие пароли на стойках, HMI, DNC, VPN и сетевом оборудовании.
  4. Контролировать целостность управляющих программ G-code/NC.
  5. Ограничить изменение параметров, смещений, таблиц инструментов и PLC/PMC-логики.
  6. Защитить инженерные станции и запретить использовать их как обычные офисные ПК.
  7. Перевести удаленный доступ подрядчиков на временный, контролируемый и фиксируемый доступ.
  8. Провести инвентаризацию станков, протоколов, сервисов и связей.
  9. Настроить мониторинг загрузки программ, изменения параметров и аварийных событий.
  10. Подготовить резервные копии и процедуры восстановления стойки, программ и параметров.

А что наши регуляторы?

Если не брать в расчет очень общий 239-й приказ ФСТЭК и 31-е приказы этого же регулятора, ориентированные на защиту информационных/автоматизированных систем, то у нас есть еще достаточно старый документ ФСТЭК – «Положение по защите информации при использовании оборудования с числовым программным управлением, предназначенным для обработки информации ограниченного доступа, не содержащей сведений, составляющих государственную тайну».

Не знаю, есть ли на документе ограничительная пометка, но сам документ, утвержденный приказом ФСТЭК от 29 мая 2009 года №191, был зарегистрирован в Минюсте 6 июля 2009 года.

Сам документ всерьез рассматривать не стоит – он вообще не учитывает специфику объекта защиты, фокусируясь на традиционных требованиях регулятора того времени – организация учета и хранения носителей информации, учет лиц, моделирование угроз, предотвращение НСД (без деталей), обнаружение фактов НСД, блокирование портов доступа, сертифицированные средства защиты информации, аттестация автоматизированной системы, физическая охрана.

Дополнительные материалы

  • Siemens – SINUMERIK One. Industrial Cybersecurity. Руководство по настройке
  • Cisco Industrial Security Design Guides
  • Cisco Validated Designs for Digital Manufacturing
  • The Security Risks Faced by CNC Machines in Industry 4.0
  • Siemens – Configuration Manual Industrial Cybersecurity
  • Siemens – SINUMERIK One Industrial Cybersecurity
  • Siemens – SINUMERIK/MACHINUM/SINAMICS Industrial Cybersecurity
  • Siemens – Industrial Security Operational Guidelines
  • FANUC FOCAS Library – Protect

  • NIST SP 800-82 Rev. 3 – Guide to Operational Technology Security

  • CISA – ICS Recommended Practices

  • CISA – Configuring and Managing Remote Access for Industrial Control Systems

  • CISA – Industrial Control Systems

  • ISA/IEC 62443 Series of Standards

  • MITRE ATT&CK for ICS – Matrix

  • MITRE ATT&CK for ICS: Design and Philosophy

Данные о правообладателе фото и видеоматериалов взяты с сайта «Бизнес без опасности», подробнее в Условиях использования