Positive Technologies
Новости

Positive Technologies обнаружила критически опасные уязвимости в CODESYS, угрожающие безопасности предприятий по всему миру

Возможность удаленного выполнения кода на ПЛК 1 представляет риск для технологического процесса.

Эксперты Positive Technologies Антон Дорфман, Иван Курнаков, Сергей Федонин, Вячеслав Москвин и Денис Горюшев выявили 10 уязвимостей в программном комплексе промышленной автоматизации CODESYS 2, часть которых имеет высокий и критически высокий уровень опасности. Производитель устранил уязвимости и выпустил уведомления (1, 2, 3).

«Вендор оценил некоторые из этих уязвимостей в 10 из 10 баллов — как крайне опасные. Их эксплуатация может привести к удаленному выполнению команд на ПЛК, что чревато нарушением технологических процессов, авариями на производстве и экономическими убытками. Самый известный пример эксплуатации подобных уязвимостей связан со Stuxnet: это вредоносное ПО смогло изменить проект в ПЛК, в результате чего центрифуги на заводе в иранском Натанзе физически вышли из строя, — рассказал руководитель отдела безопасности промышленных систем управления Positive Technologies Владимир Назаров. Изначально мы исследовали ПЛК WAGO 750-8207. Специалисты WAGO, получив от нас информацию об уязвимостях, сообщили о проблеме в компанию CODESYS, ПО которой используется как ядро для построения прошивки многих ПЛК. Среди них продукция более 15 производителей, включая WAGO: Beckhoff, Kontron, Moeller, Festo, Mitsubishi, HollySys и нескольких российских разработчиков. То есть этим уязвимостям подвержено большое количество контроллеров».

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

Наиболее опасные проблемы были выявлены в компоненте CODESYS V2.3 web server, который используется программным обеспечением WebVisu CODESYS для отображения человеко-машинного интерфейса в браузере. Множественные уязвимости, обнаруженные в этом компоненте, получили одинаковую оценку 10 по шкале CVSS 3.0 и идентификаторы CVE-2021-30189, CVE-2021-30190, CVE-2021-30191, CVE-2021-30192, CVE-2021-30193, CVE-2021-30194.

Другие уязвимости, получившие оценку 8,8, были обнаружены в системе реального времени CODESYS Control V2 communication, которая позволяет встраиваемым PC-системам выполнять функции ПЛК. Идентификаторы — CVE-2021-30186, CVE-2021-30188 и CVE-2021-30195.

Наконец, уязвимость CVE-2021-30187, выявленная в библиотеке CODESYS Control V2 Linux SysFile library, которая может быть использована для вызова дополнительных функций ПЛК с использованием системной библиотеки SysFile, получила оценку 5,3. Атакующий может, например, удалить некоторые файлы, что может привести к нарушению технологического процесса.

Для устранения уязвимостей необходимо руководствоваться рекомендациями, которые указаны в официальных уведомлениях компании CODESYS (1, 2, 3). Обнаружить признаки проникновения (например, в случае невозможности установки обновления) помогут системы непрерывного мониторинга защищенности, управления инцидентами информационной безопасности промышленных систем, в частности PT Industrial Security Incident Manager.

  1. Программируемые логические контроллеры (ПЛК) — устройства, которые полностью автоматизируют работу различного промышленного оборудования, механизмов, машин, станков и др.
  2. Основа комплекса CODESYS (сокр. от controller development system) — среда разработки прикладных программ для ПЛК, которая используется многими российскими и зарубежными производителями.