24 апреля 2020

Ландшафт угроз для систем промышленной автоматизации. Уязвимости, обнаруженные в 2019 году

Уязвимости в различных компонентах АСУ ТП

Анализ уязвимостей проводился на основе уведомлений производителей, общедоступной информации из открытых баз уязвимостей (US ICS-CERT, CVE, Siemens Product CERT), а также результатов собственных исследований Kaspersky ICS CERT.

В качестве данных для статистики использовалась информация об уязвимостях, опубликованная на сайте US ICS-CERT в 2019 году.

Количество обнаруженных уязвимостей

В 2019 году на сайте US ICS-CERT было опубликовано 509 уязвимостей, выявленных в различных компонентах АСУ ТП. Это число превышает аналогичный показатель за 2017 и 2018 год, что, на наш взгляд, связано с повышением внимания к безопасности решений промышленной автоматизации со стороны исследователей безопасности и не говорит о снижении качества разработки этих продуктов.

Количество уязвимостей в разных компонентах АСУ ТП, опубликованных на сайте US ICS-CERT

Анализ по отраслям

Большая часть уязвимостей затрагивает автоматизированные системы управления в энергетике (283), технологическими процессами различных производственных предприятий, относимых в США к критической инфраструктуре (274) и водоснабжением и канализацией (162).

Количество уязвимых продуктов, используемых в различных отраслях (по классификации US ICS-CERT). Уязвимости, опубликованные в 2019 году

Степень риска выявленных уязвимостей

Больше половины выявленных в системах АСУ ТП уязвимостей (358, в прошлом году — 284) получили оценку более 7 баллов по шкале CVSS версии 3.0, что соответствует высокой и критической степени риска. Две уязвимости были исключены из оценки степени риска, так как им соответствует множество CVE, и они не имеют отдельного CWE ID.

Оценка степени риска от 9 до 10 (критическая) от 7 до 8,9 (высокая) от 4 до 6,9 (средняя) от 0 до 3,9 (низкая)
Количество уязвимостей 97 249 143 18

Таблица 1. Распределение опубликованных уязвимостей по степени риска

В сравнении с данными прошлого года доля уязвимостей, имеющих высокую и критическую степень риска, возросла.

Процент уязвимостей по степени риска (по шкале CVSS v.3), 2019 год в сравнении с 2018 и 2017 годами

Наивысшая оценка в 10 баллов была присвоена уязвимостям, обнаруженным в следующих продуктах:

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

Типы выявленных уязвимостей

Как и в 2018 году, среди наиболее распространенных типов уязвимостей – переполнение буфера (Stack-based Buffer Overflow, Heap-based Buffer Overflow, Classic Buffer Overflow), некорректная проверка входных данных (Improper Input Validation) и инъекции (SQL Injection, Code Injection, Command Injection).

Наиболее распространенные типы уязвимостей. Уязвимости, опубликованные в 2019 году

17,3% всех опубликованных уязвимостей связанны с проблемами аутентификации (Improper Authentication, Authentication Bypass, Missing Authentication for Critical Function) и с проблемами управления доступом (Access Control, Incorrect Default Permissions, Improper Privilege Management, Credentials Management).

15,5% опубликованных уязвимостей являются веб-уязвимостями (Injection, Path traversal, Cross-site request forgery (CSRF), Cross-site scripting). По сравнению с 2018 годом их доля выросла на 5,5 п.п.

Процент уязвимостей различных типов от общего числа уязвимостей, 2019 год в сравнении с 2018 и 2017 годами

Эксплуатация злоумышленниками уязвимостей в различных компонентах АСУ ТП может привести к выполнению произвольного кода, несанкционированному управлению промышленным оборудованием и отказу в его работе (DoS).

При этом:

  • Большинство уязвимостей (420) могут эксплуатироваться удаленно без аутентификации,
  • Эксплуатация большинства уязвимостей (480) не требует от злоумышленника специальных знаний и высокого уровня навыков.
  • Для 23 уязвимостей опубликованы эксплойты, что повышает риск их злонамеренного использования.

Уязвимые компоненты АСУ ТП

Наибольшее количество уязвимостей было выявлено в:

  • инженерном ПО (103, 20%),
  • сетевых устройствах промышленного назначения (78, 15%),
  • SCADA/HMI-компонентах (63, 12%),
  • РСУ (56, 11%)
  • ПЛК (47, 9%).
Процент уязвимостей в различных компонентах АСУ ТП от общего числа уязвимостей. Уязвимости, опубликованные в 2019 году

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

Уязвимости в операционных системах

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

Так, в связи с проблемами безопасности в ОС RUGGEDCOM ROX II в 2019 году оказались уязвимыми все промышленные устройства Siemens RUGGEDCOM под управлением этой ОС.

Кроме того, множественные уязвимости, обнаруженные в ОС реального времени VxWorks, затронули решения вендоров Rockwell Automation, Schneider Electric, Xerox, Dräger.

Еще одним примером масштабного влияния уязвимостей ОС на безопасность решений является обнаружение уязвимости TCP SACK Panic в ядре Linux. Эта уязвимость затронула множество продуктов компании Siemens.

Уязвимости в менеджерах лицензий

В 2019 году исследователи безопасности сообщили об уязвимостях сразу в нескольких менеджерах лицензий:

За счет использования таких компонентов в составе различных решений уязвимости в них могут затрагивать сразу несколько промышленных продуктов. Так, распределенная система управления CENTUM VP и система автоматической противоаварийной защиты ProSafe-RS производства компании Yokogawa оказались подвержены уязвимостям, найденным в Yokogawa License Manager Service.

Аналогично уязвимости в Floating License Manager затронули сразу несколько решений Schneider Electric, включая инженерное ПО EcoStruxure Control Expert, распределенную систему управления EcoStruxure Hybrid Distributed Control System (также известную как Plant Struxure PES), Power SCADA Expert и другие. Также уязвимости в этом менеджере лицензий затронули продукты Vijeo Citect и Citect SCADA производства AVEVA, являющейся дочерней компанией Schneider Electric. Отдельно стоит отметить, что уязвимости в Floating License Manager в свою очередь связаны со множественными уязвимостями в стороннем ПО Flexera FlexNet Publisher.

Кроме того, продукты сразу нескольких промышленных вендоров, включая Siemens, Phoenix Contact, Sprecher Automation и COPA-DATA, оказались подвержены уязвимостям в техническом средстве защиты авторских прав WibuKey Digital Rights Management (DRM).

Уязвимости в фреймворках разработки и выполнения программ

Отдельное внимание стоит уделить безопасности фреймворков, используемых вендорами для разработки и выполнения программ автоматизированного управления технологическим процессом. В 2019 году уязвимости были обнаружены сразу в нескольких компонентах программного комплекса промышленной автоматизации CoDeSyS, включая веб-сервер, коммуникационный сервер и OPC UA сервер

Уязвимости, обнаруженные Kaspersky ICS CERT

В 2019 году эксперты Kaspersky ICS CERT продолжили исследования проблем безопасности сторонних программных и программно-аппаратных решений, широко применяемых в системах промышленной автоматизации, решениях класса “интернет вещей” и “промышленный интернет вещей” и так далее. Особе внимание было уделено кроссплатформенным решениям и продуктам с открытым исходным кодом. Такие решения или их компоненты широко распространены как отдельные или как заимствования в составе коммерческих решений.

Количество найденных уязвимостей

В 2019 году Kaspersky ICS CERT было выявлено 103 уязвимости в промышленных системах, системах IIoT/IoT и других типах решений.

Распределение уязвимостей, найденных Kaspersky ICS CERT в 2019 году, по типам исследованных компонентов

Обо всех обнаруженных уязвимостях мы незамедлительно проинформировали производителей соответствующих продуктов. 

Возможные последствия эксплуатации найденных уязвимостей

В этом году мы разделили уязвимости, которые позволяют выполнить код, на два типа:

  1. Execute Unauthorized Code or Commands – выполнение кода в контексте приложения/среды выполнения. Пример: XSS, SQLi, XXE, ReadObject.
  2. Remote code execution (RCE) – выполнение произвольного машинного кода. Пример: выполнение системных команд/команд операционной системы и машинного кода.

Также следует отметить, что RCE может приводить к различным последствиям –произвольному чтению и модификации папок, файлов, отказам в обслуживании и так далее.

В статистике ниже RCE и Execute Unauthorized Code or Commands разделены на две разные категории.

Распределение уязвимостей, найденных Kaspersky ICS CERT в 2019 году, по возможным последствиям эксплуатации

Эксплуатация 30,1% выявленных уязвимостей может привести к удаленному выполнению произвольного кода, 14,6% – к DoS. Эксплуатация 13,6% уязвимостей позволяет повышать привилегии или же перехватывать сессии. Также в статистике фигурируют три уязвимости, относящиеся к аппаратному обеспечению. Эксплуатация таких уязвимостей позволяет получить доступ к данным из-за недостаточной защиты аппаратной платформы или элементной базы исследуемого решения.

Результаты, которые мы считаем наиболее важными

ПО / решение Количество обнаруженных уязвимостей Возможные последствия эксплуатации Результат
RAT на основе VNC протокола 34 Уязвимости различного уровня критичности, некоторые позволяют выполнить произвольный код как на серверной, так и на клиентской части Уязвимости устранены производителем. Опубликована статья
Менеджеры лицензий 4 Уязвимости различного уровня критичности, позволяют потенциальному злоумышленнику развивать атаку на внутреннюю инфраструктуру Уязвимости устранены производителями
Популярная среда выполнения в ПЛК 9 Выявленные уязвимости являются наиболее деструктивными для технологического процесса, ввиду того, что эксплуатация таких уязвимостей сложно детектируется. Уязвимости позволяют злоумышленнику скрытно вносить изменения в технологический процесс, как следствие, атака может иметь высокую персистентность и тяжёлые последствия с возможным физическим эффектом Информация об уязвимостях направлена производителю
Не промышленные решения
Устройства из инфраструктуры умных городов 6 Выявленные уязвимости позволяют:
  1. подменять передаваемые данные;
  2. получать доступ к защищаемой информации;
  3. эксплуатировать ошибки работы с памятью.
Уязвимости устранены производителем
Аппаратный кошелек для хранения криптовалюты 4 (в программном и аппаратном обеспечении) Выявленные уязвимости позволяют атакующему получить полный контроль над кошельком и проводить любые операции с ним Уязвимости устранены производителем

Оценка опасности обнаруженных уязвимостей

Для оценки опасности обнаруженных уязвимостей использовалась система градации уязвимостей, основанная на метрике CVSS v3.0 (Common Vulnerability Scoring System) и включающая следующие уровни критичности уязвимостей:

  • наименее критичные: вес уязвимости не более 5.0 по CVSS v3.0;
  • средней критичности: вес уязвимости от 5.1 до 6.9 включительно по CVSS v3.0;
  • наиболее критичные: вес уязвимости 7.0 и более по CVSS v3.0.

Абсолютное большинство обнаруженных Kaspersky ICS CERT уязвимостей, для которых в 2019 году были опубликованы CVE, по шкале CVSS v.3 имеют вес не менее 7.0 и относятся к группе наиболее критичных. При этом 10 уязвимостей получили по шкале CVSS v.3 максимальную оценку критичности в 10 баллов. В их числе – уязвимости в программных компонентах, общих для многих продуктов – кроссплатформенных решениях, которые работают по протоколу VNC.

Причина возникновения уязвимостей

Все существующие уязвимости возникают из-за ошибок, допущенных при разработке программного обеспечения, включая архитектуру решения. Существует классификация таких ошибок – Common Weakness Enumeration. По результатам исследований Kaspersky ICS CERT в 2019 году самой популярной стала ошибка под номером CWE-787 “Out-of-bounds Write”, которая была обнаружена при исследовании RAT решений. Такой тип ошибки является необходимым, но не достаточным условием для эксплуатации уязвимости типа Remote Code Execution (удаленное выполнение произвольного кода).

Количество опубликованных CVE

В 2019 году на основании исследований, проведенных Kaspersky ICS CERT, было опубликовано 43 CVE.

Предыдущая часть | Следующая часть