Атака контроля пин - Pin control attack

Атака контроля пин это класс нападения на система на чипе (SoC) в Встроенная система где атакующий нацелен Ввод / вывод конфигурация встроенных систем и отключает функции ввода-вывода программного обеспечения или операционной системы без обнаружения. Атаке способствует отсутствие аппаратной защиты для конфигурация контактов и мультиплексирование контактов конфигурации.

Самая важная цель для атаки с контролем булавки - это Программируемый логический контроллер (ПЛК). Применение атак управления выводами на ПЛК имеет большое значение, поскольку ввод / вывод является основным механизмом, посредством которого ПЛК взаимодействуют с внешним миром и управляют им. Ввод-вывод ПЛК, как и другие встроенные устройства, управляется методом вывода. Атака управления контактами - это атака, при которой злоумышленник может нарушить целостность и доступность ввода-вывода ПЛК, используя определенные операции управления контактами и нехватку оборудования. прерывает связанные с ними.

Семья нападавших была впервые представлена ​​на Black Hat Europe 2016.[1] Атака управления контактами использует настройки конфигурации периферийных устройств ввода-вывода SoC ПЛК для физического завершения интерфейса связи модуля ввода-вывода с ПЛК. Ориентируясь на конфигурацию ввода-вывода ПЛК вместо времени выполнения ПЛК или изменяя логическая программа злоумышленники могут избежать типичных механизмов обнаружения, существующих во встроенных системах.[2]

Задний план

Классические атаки на ПЛК основываются на изменении прошивки устройства, его параметров конфигурации или последовательности выполнения запущенных процессов. Эти типичные атаки вызывают прерывания в нормальном режиме работы ПЛК, которые программное обеспечение безопасности, такое как IDS подхватывает и предупреждает человека-оператора. Атака управления контактами нацелена на динамическую память ПЛК, где устройство хранит свою конфигурацию ввода-вывода.[3][4]

Векторы атак

Исследователи предложили как минимум два варианта атаки: Атака с использованием конфигурации контактов и Атака с мультиплексированием контактов.[5] Хотя эти два вектора атаки действуют по-разному, их концепция схожа, и оба физически прерывают ввод-вывод из доступа к программному обеспечению без уведомления программного обеспечения об этом из-за отсутствия аппаратных прерываний для ввода-вывода. Мультиплексирование и конфигурация ввода / вывода.[6]

Пин-мультиплексная атака

Встроенные SoC обычно используют сотни контактов, подключенных к электрической цепи. Некоторые из этих булавок имеют единственное определенное назначение. Например, некоторые выдают только электричество или тактовый сигнал. Поскольку разные поставщики оборудования с различными требованиями к вводу-выводу будут использовать эти SoC, производитель SoC производит свои SoC для использования определенного физического контакта для нескольких взаимоисключающих функций, в зависимости от приложения.[7] Концепция переопределения функциональности вывода называется мультиплексированием выводов и является одной из необходимых спецификаций конструкции SoC.[8] Что касается взаимодействия мультиплексирования контактов с ОС, поставщики SoC рекомендуют мультиплексировать контакты только во время запуска, поскольку для мультиплексирования нет прерывания. Однако пользователь по-прежнему может мультиплексировать вывод во время выполнения, и на это нет ограничений.

Текущий дизайн мультиплексирования контактов на аппаратном уровне вызывает вопросы безопасности. Например, предположим, что приложение использует конкретный периферийный контроллер, подключенный к выводу с определенной настройкой мультиплексирования. В какой-то момент другое приложение (второе приложение) изменяет настройку мультиплексирования вывода, используемого первым приложением. Как только вывод мультиплексируется, физическое соединение с первым периферийным контроллером отключается. Однако, поскольку на аппаратном уровне прерывания нет, ОС будет считать, что первый периферийный контроллер все еще доступен. Таким образом, ОС будет продолжать выполнять операции записи и чтения, запрошенные приложением, без каких-либо ошибок.[6]

Концепция изменения функциональности вывода, подключенного к вводу-выводу во время выполнения, называется атакой мультиплексирования выводов.[9]

Атака конфигурации контактов

ПЛК может принимать и передавать различные типы электрических и электронных сигналов. Вход, который обычно поступает от датчиков, и выход, который может использоваться для управления двигателями, клапанами или реле, связаны с входными и выходными контактами на интегральной схеме, известной как система на кристалле (SoC). Контроллер выводов SoC может настраивать режимы вывода (т. Е. Они настроены на вход или выход). Эксперты обнаружили, что злоумышленник, взломавший ПЛК, может вмешаться во входные и выходные данные, не будучи обнаруженными и не предупреждая операторов, отслеживающих процесс через человеко-машинный интерфейс (HMI).[10]

Скрытность

И конфигурация выводов, и мультиплексирование выводов не вызывают никаких предупреждений или аппаратных прерываний.[10] Следовательно, во время активной атаки среда выполнения ПЛК будет взаимодействовать с виртуальной памятью ввода-вывода, в то время как злоумышленник физически разорвал соединение ввода-вывода с виртуальной памятью. Состояние, когда значения ввода-вывода в программной памяти не отражают физическую память ввода-вывода, называется иллюзией памяти ввода-вывода.[11]

Смотрите также

использованная литература

  1. ^ "Взлом промышленных процессов с помощью необнаружимого руткита PLC". Вопросы безопасности. 2016-09-18. Получено 2016-11-08.
  2. ^ «Исследователи создают необнаруживаемый руткит для программируемых логических контроллеров». PCWorld. Получено 2016-11-08.
  3. ^ «Исследователи создают необнаруживаемый руткит, предназначенный для промышленного оборудования». КровотечениеКомпьютер. Получено 2016-11-08.
  4. ^ «Обладающие ПЛК: исследователи создают« необнаруживаемый »руткит». Темное чтение. Получено 2016-11-08.
  5. ^ «Как взломать системы ПЛК с помощью скрытых атак на управление контактами». Газета по информационной безопасности. 2016-11-05. Получено 2016-11-08.
  6. ^ а б «Призрак в ПЛК, проектирующий не поддающийся обнаружению руткит программируемого логического контроллера с помощью атаки по управлению контактами» (PDF). Брифинги Black Hat Europe 2016.
  7. ^ «Подсистема управления контактами в ядре Linux». Kernel.org.
  8. ^ «Метод, позволяющий сделать проверку soc независимым от изменения мультиплексирования контактов». Международная конференция по компьютерным коммуникациям и информатике (ICCCI). 2013.
  9. ^ «ПЛК, уязвимые для атак с использованием скрытого управления PIN-кодом | SecurityWeek.Com». www.securityweek.com. Получено 2016-11-08.
  10. ^ а б «Как взломать системы ПЛК с помощью скрытых атак на управление контактами». Вопросы безопасности. 2016-11-05. Получено 2016-11-08.
  11. ^ «Призрак в ПЛК, проектирующий необнаруживаемый руткит программируемого логического контроллера с помощью атаки с помощью PIN-кода (презентация)» (PDF). Брифинги Black Hat Europe.