Они угрожают безопасности предприятий по всему миру
Возможность удаленного выполнения кода на ПЛК представляет риск для технологического процесса
Эксперты Positive Technologies Антон Дорфман, Иван Курнаков, Сергей Федонин, Вячеслав Москвин и Денис Горюшев выявили 10 уязвимостей в программном комплексе промышленной автоматизации CODESYS , часть которых имеет высокий и критически высокий уровень опасности. Производитель устранил уязвимости и выпустил уведомления (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.