12.08.2016
Выступая на Black Hat USA 2016, ИБ-исследователи рассказали о новом PoC-черве, разработанном, чтобы атаковать уязвимости автоматизированных систем управления, использующихся на промышленных предприятиях и объектах критической инфраструктуры. По словам экспертов из OpenSource Security, червь способен производить автономный поиск и заражение соединенных по сети программируемых логических контроллеров (ПЛК).
PLC-Blaster был разработан для атак на конкретные ПЛК производства Siemens — SIMATIC S7-1200. Siemens — крупнейшая машиностроительная компания Европы, имеющая наибольшую долю на рынке ПЛК. В марте, когда информация о черве была впервые озвучена на конференции Black Hat Asia, представители компании заявили, что в оборудовании производства Siemens отсутствуют уязвимости, которыми способен воспользоваться зловред. Майк Брюггеман (Maik Brüggemann), разработчик ПО и ИБ-инженер из OpenSource Security, заявил, что подобный червь представляет угрозу для любых индустриальных сетей.
«Это новая угроза для компаний, производящих АСУ, которые обычно имеют надежную защиту от атак извне, — заявил Брюггеман. — Нельзя отметать возможность, что ПЛК-червь может попасть в сеть через поставщика компонентов или сотрудника предприятия. Эта проблема касается далеко не только одной Siemens. Червь представляет собой угрозу для любой промышленной сети».
Во время своего выступления на Black Hat USA Брюггеман продемонстрировал, как атакующий, располагающий физическим или сетевым доступом к ПЛК, способен заразить сеть вредоносным ПО и провести атаку. Червь может быть запрограммирован для проведения различных видов атак. Альтернативно зараженный ПЛК может быть запрограммирован выходить на связь с C&C-сервером и управляться удаленно, однако только при условии, что у него имеется выход в Интернет. При помощи зловреда атакующий может остановить или саботировать работу наиболее уязвимых компонентов критической инфраструктуры.
По словам исследователей, корнем уязвимости являются изъяны в дизайне ПЛК, которые позволяют атаковать их при помощи консоли управления TIA Portal. Два из них связаны с программными компонентами Knowhow Protection и Copy Protection, ответственными за защиту паролей и серийных номеров. У этих функций отсутствует защита целостности, что позволяет атакующему считывать, записывать и модифицировать блоки кода, в которых хранятся хешированные пароли и серийные номера. Таким образом атакующий способен обойти программную защиту TIA Portal и загрузить червя в сеть.
«Встроенная защитная функция Knowhow Protection запрещает вносить изменения в пользовательскую программу или же извлекать ее из ПЛК. Однако мы смогли найти способ, как ее извлечь, изучить ее исходный код, изменить его и установить программу обратно», — пояснил эксперт.
Обойдя защиту ПЛК, зловред может быть с легкостью загружен на него, а оттуда червь сможет найти и заразить другие устройства, находящиеся в сети.
Однако, по словам Брюггемана, у этого сценария есть одна проблема — защитная функция Access Protection, ограничивающая передачу данных. Если она включена, то перед тем, как загрузить новое ПО, понадобится ввести еще один пароль. «Мы не обнаружили каких-либо уязвимостей в этом механизме защиты. Проблема, однако, в том, что по умолчанию он отключен. Если механизм включен, то червю понадобится пароль, а он им не располагает», — отметил Брюггеман.
По словам эксперта, необходимо, чтобы защита паролем в TIA Portal была включена по умолчанию.
Когда исследователи сообщили о своих находках в Siemens, им ответили, что в ПЛК-платформе на базе SIMATIC S7-1200 отсутствуют уязвимости. «Нам сказали, что никакие это не уязвимости и все работает как положено», — заявил эксперт.
На запрос Threatpost прокомментировать ситуацию представители Siemens ответили, что не рассматривают результаты исследований Брюггемана как убедительное доказательство наличия уязвимостей в ПЛК серии SIMATIC S7-1200. «В ходе PoC-эксплойта, продемонстрированного на конференции Black Hat, используется прототип червя, распространяемого путем внесения изменений в пользовательскую программу незащищенного ПЛК SIMATIC S7-1200 v3 (в данном контексте «незащищенный» означает, что была отключена функция Access Protection, к тому же не были соблюдены пункты оперативного руководства)», — гласит заявление компании.
Представители компании Siemens заявляют, что в оперативном руководстве рекомендуется включать защитную функцию Access Protection. Стоит отметить, что в марте компания опубликовала бюллетень безопасности, в котором говорится об уязвимостях в SIMATIC S7-1200, «позволяющих атакующему обойти защиту пользовательской программы».
«Мы благодарны за то, что Майк Брюггеман и Ральф Спеннеберг (Ralf Spenneberg) сообщили нам о дополнительных проблемах, не связанных с прототипом червя, которые были устранены (CVE-2016-2846)», — ответили представители компании в ходе интервью.
Брюггеман настаивает на том, что, во-первых, нужно внести изменения, чтобы опцию Access Protection было проще найти среди настроек, а во-вторых, она должна быть включена по умолчанию.
«Эта проблема касается не только одной Siemens. Все эти компании, производящие АСУ, делают вещи так же, как и 30 лет назад. Им следует взглянуть на проблемы безопасности новым, современным взглядом, только так они смогут сделать производимые ими устройства безопаснее», — подытожил эксперт.
//threatpost — Новостная служба "Лаборатории Касперского"
Для справки:
Simatic S7-1200 — семейство программируемых логических контроллеров модульной конструкции универсального применения фирмы Siemens AG из семейства устройств автоматизации Simatic S7. В линейке контроллеров этого семейства по сравнению с семействами S7-300,S7-400 и S7-1500 по своей производительности позиционируется как Basic Controller.
Контроллеры S7-1200 имеют компактные пластиковые корпуса со степенью защиты IP20, могут монтироваться на стандартную 35 мм профильную шину DIN или на плоскую поверхность и сохраняют работоспособность в диапазоне температур от 0 до +50 °C. Они способны обслуживать от 10 до 284 дискретных и от 2 до 51 аналогового канала ввода-вывода.
В состав программируемого контроллера S7-1200 вошли модули центральных процессоров (CPU); коммуникационные модули (CM); коммуникационные процессоры (CP); сигнальные модули (SM); платы (SB) ввода-вывода дискретных и аналоговых сигналов, технологические модули а также модуль блока питания (PM 1207).
Для конфигурирования и программирования новой серии контроллеров используется программное обеспечение Simatic STEP 7 Basic v13 со встроенным ПО Simatic WinCC Basic, предназначенным для программирования средств HMI.
SIEMENS. Бюллетень безопасности, в котором говорится об уязвимостях в SIMATIC S7-1200 (PDF)