Атака с контролем контакта
Атака с управлением выводами — это класс атак на систему на кристалле (SoC) во встроенной системе , при которой злоумышленник нацелен на конфигурацию ввода-вывода встроенных систем и отключает функции ввода-вывода программного обеспечения или операционной системы без обнаружения. Атака возможна из-за отсутствия аппаратной защиты конфигурации контактов и конфигураций мультиплексирования контактов .
Наиболее значимой целью атаки на управление выводами является программируемый логический контроллер (ПЛК). Применение атаки управления выводами на ПЛК имеет важное значение, поскольку ввод-вывод является основным механизмом, посредством которого ПЛК взаимодействуют с внешним миром и управляют им. Ввод-вывод ПЛК, как и другие встроенные устройства, управляется по принципу вывода. Атака управления выводами — это атака, при которой злоумышленник может нарушить целостность и доступность ввода-вывода ПЛК, используя определенные операции управления выводами и отсутствие аппаратных прерываний связанных с ними .
Первый пример такой атаки был впервые представлен на выставке Black Hat Europe 2016. [1] Атака с управлением выводами использует настройки конфигурации периферийных устройств ввода-вывода SoC ПЛК для физического отключения интерфейса связи модуля ввода-вывода от ПЛК. Нацелившись на конфигурацию ввода-вывода ПЛК вместо среды выполнения ПЛК или изменив логическую программу, злоумышленники могут избежать типичных механизмов обнаружения, существующих во встроенных системах. [2]
Фон
[ редактировать ]Классические атаки на ПЛК основаны на изменении прошивки устройства, его параметров конфигурации или потока выполнения запущенных процессов. Эти типичные атаки приводят к прерываниям нормального режима работы ПЛК, которые программное обеспечение безопасности, такое как IDS распознает , и предупреждает человека-оператора. Атака с помощью управления выводами нацелена на динамическую память ПЛК, где устройство хранит свою конфигурацию ввода-вывода. [3] [4]
Векторы атак
[ редактировать ]Исследователи предложили как минимум два варианта атаки: атака конфигурации контактов и атака мультиплексирования контактов. [5] Хотя эти два вектора атаки действуют по-разному, их концепция схожа, и оба физически прекращают ввод-вывод из программного доступа без аппаратного прерывания, тем самым предотвращая их обнаружение. [6]
Атака на конфигурацию контактов
[ редактировать ]ПЛК может принимать и передавать различные типы электрических и электронных сигналов. Входной сигнал, который обычно поступает от датчиков, и выходной сигнал, который можно использовать для управления двигателями, клапанами или реле, связаны с входными и выходными контактами интегральной схемы, известной как система на кристалле (SoC). Контроллер выводов SoC может настраивать режимы вывода (т. е. они настроены на работу в качестве входа или выхода). Эксперты обнаружили, что злоумышленник, скомпрометировавший ПЛК, может изменить входные и выходные данные, не будучи обнаруженным и не предупредив операторов, контролирующих процесс через человеко-машинный интерфейс (HMI). [7]
Атака с мультиплексированием выводов
[ редактировать ]Во встроенных SoC обычно используются сотни контактов, подключенных к электрической цепи. Некоторые из этих контактов имеют одно определенное назначение. Например, некоторые обеспечивают только электричество или тактовый сигнал. Поскольку эти SoC будут использовать разные поставщики оборудования с различными требованиями к вводу-выводу, производитель SoC создает свои SoC с использованием определенного физического контакта для нескольких взаимоисключающих функций, в зависимости от приложения. [8] Концепция переопределения функциональности вывода называется мультиплексированием выводов и является одной из необходимых спецификаций конструкции SoC. [9] Что касается взаимодействия мультиплексирования выводов с ОС, производители SoC рекомендуют мультиплексировать выводы только во время запуска, поскольку для мультиплексирования нет прерываний. Однако пользователь по-прежнему может мультиплексировать вывод во время выполнения, и на это нет никаких ограничений.
Текущая конструкция мультиплексирования выводов на аппаратном уровне вызывает вопросы безопасности. Например, предположим, что приложение использует конкретный периферийный контроллер, подключенный к выводу с определенной настройкой мультиплексирования. В какой-то момент другое приложение (второе приложение) меняет настройку мультиплексирования вывода, используемого первым приложением. Как только вывод мультиплексируется, физическое соединение с первым периферийным контроллером отключается. Однако, поскольку на аппаратном уровне прерывания нет, ОС будет считать, что первый периферийный контроллер все еще доступен. Таким образом, ОС продолжит без ошибок выполнять операции записи и чтения, запрошенные приложением. [6]
Концепция изменения функциональности вывода, подключенного к вводу-выводу во время выполнения, называется атакой мультиплексирования выводов. [10]
Скрытность
[ редактировать ]И конфигурация контактов, и мультиплексирование контактов не вызывают никаких предупреждений или аппаратных прерываний. [7] Таким образом, во время активной атаки среда выполнения ПЛК будет взаимодействовать с виртуальной памятью ввода-вывода, в то время как злоумышленник физически разорвал соединение ввода-вывода с виртуальной памятью. Состояние, когда значения ввода-вывода в программной памяти не отражают физическую память ввода-вывода, известно как иллюзия памяти ввода-вывода. [11]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Взлом промышленных процессов с помощью необнаружимого руткита ПЛК» . Дела безопасности . 18 сентября 2016 г. Проверено 8 ноября 2016 г.
- ^ «Исследователи создали необнаружимый руткит для программируемых логических контроллеров» . ПКМир . Проверено 8 ноября 2016 г.
- ^ «Исследователи создали необнаружимый руткит, нацеленный на промышленное оборудование» . Мигающий компьютер . Проверено 8 ноября 2016 г.
- ^ «Обладание ПЛК: исследователи создали «необнаружимый» руткит» . Мрачное чтение . Проверено 8 ноября 2016 г.
- ^ «Как скомпрометировать системы ПЛК с помощью скрытых атак управления выводами» . Газета «Информационная безопасность» . 05.11.2016 . Проверено 8 ноября 2016 г.
- ^ Jump up to: а б «Призрак в ПЛК. Разработка необнаружимого руткита программируемого логического контроллера посредством атаки управления выводами» (PDF) . Брифинги Black Hat Europe 2016 .
- ^ Jump up to: а б «Как скомпрометировать системы ПЛК с помощью скрытых атак управления выводами» . Дела безопасности . 05.11.2016 . Проверено 8 ноября 2016 г.
- ^ «Подсистема управления выводами в ядре Linux» . Кернел.орг .
- ^ «Метод, позволяющий сделать проверку социальных сетей независимой от изменения мультиплексирования контактов». Международная конференция по компьютерной связи и информатике (ICCCI) . 2013 .
- ^ «ПЛК уязвимы для скрытых атак на управление выводами | SecurityWeek.Com» . www.securityweek.com . Проверено 8 ноября 2016 г.
- ^ «Призрак в ПЛК. Разработка необнаружимого руткита программируемого логического контроллера посредством атаки на управление выводами (презентация)» (PDF) . Брифинги Black Hat Europe .