Программы-черви для промышленных микроконтроллеров

Исследователи реализовали программу, которая распространяется между промышленными микроконтроллерами Siemens SIMATIC S7-1200 – есть публикация, описывающая принцип работы червя. Схема, отчасти, напоминает старые времена, когда небольшие вирусы распространялись между ПК, под управлением MS-DOS – правда, для появления действительно массовых вариантов потребовалось внедрение Windows, тогда появились решения, распространяющиеся без малейшего участия пользователя, просто передавая пакеты по сети. Собственно, описанный в статье червь для микроконтроллеров именно так и действует. А главная особенность в том, что для распространения не требуется ПК.

Предполагается, что микроконтроллер подключен к внутренней сети посредством Ethernet (такой порт имеется): программа сканирует IP-адресное пространство, пытаясь установить соединение TCP по известному номеру порта, который соответствует проприетарному протоколу Siemens. Если удалось установить соединение, то червь проверяет, не заражён ли уже найденный контроллер, а если нет, то копирует туда свой код. Для передачи кода используется протокол Siemens, предназначенный для управления контроллерами. Дело в том, что архитектура предполагает возможность удалённого обновления микропрограмм. В штатном режиме обновление проводит центральный управляющий узел, однако никакой аутентификации не предусмотрено (приходится признать, что это обычная ситуация), поэтому таким узлом может прикинуться всякий другой, в том числе, инфицированный червём микроконтроллер.

Авторы работы пишут, что во внутреннюю сеть червь может быть занесён в составе перепрошитого микроконтроллера. Понятно, что злоумышленник может и просто подключиться к сети, чтобы загрузить туда червя любым удобным способом. Архитектура Siemens содержит некоторые механизмы защиты, которые, впрочем, направлены не на предотвращение заражения, а на защиту “интеллектуальной собственности”, поэтому эффективным оказывается лишь режим, запрещающий запись микропрограмм на уровне контроллера (используется пароль).

Занятно, что также предусмотрен режим защиты микропрограммы от считывания и модификации, но он, во-первых, реализован на уровне управляющего узла – то есть, сам микроконтроллер манипуляции не ограничивает, можно работать напрямую, минуя управляющий узел, – во-вторых, ключ шифрования (используется AES) легко восстанавливается из доступных данных (это всего лишь часть значения хеш-функции от пароля).

В общем, поле промышленных систем (АСУ ТП) – непаханое, и тут отлично подходят методы атак, которым 15-20 лет.

Адрес записки: https://dxdt.ru/2016/05/06/7914/

Похожие записки:



Далее - мнения и дискуссии

(Сообщения ниже добавляются читателями сайта, через форму, расположенную в конце страницы.)

Комментарии читателей блога: 2

  • 1 <t> // 25th May 2016, 13:59 // Читатель Александр написал:

    В АСУТП сейчас основной вид защиты – это ограничение физического доступа к сети. Т.е. контроллеры варятся в своей сети, у которой нет связи с сетью предприятия. На этом всё и держится. При этом многие из заинтересованных лиц не принимают аргументы по намеренной диверсии, т.к. считают, что человек с доступом в данную сеть может совершить гораздо больше дел, чем просто внедрить вирус.

  • 2 <t> // 28th May 2016, 05:54 // Читатель зашел в гости написал:

    ограничение доступа – не такая уж плохая защита.
    сколько человек в мире знают, что на 10001-м заводе города N-ска стоит оборудование Сименс? Сколько человек знают, как вообще работают протоколы Сименс? Сколькие из них достаточно компетентны, чтобы написать вредоносную программу? Из всех этих людей, кто имеет физический доступ на территорию 10001-го завода? Людей, соответствующих всем вышеперечисленным критериям не так много. Единицы, да и то в лучшем случае. Скорее, спецы из Сименса приезжают в N-ск раз в тыщу лет, когда совсем все ломается. Какова вероятность того, что кто-то из них окажется злоумышленником? Риск того, что пьяный слесарь спалит цех из ревности к главбуху намного выше, как мне кажется.