Разработчики: | 3S-Smart Software Solutions |
Дата последнего релиза: | 2021/08/19 |
Технологии: | ИБ - Средства шифрования, Средства разработки приложений |
Содержание[Свернуть] |
Основная статья: Криптография
CoDeSys - аппаратно-независимое ПО, представляющее собой среду разработки для программирования приложений контроллера в соответствии с промышленным стандартом автоматизации IEC 61131-3.
2021: Устранение уязвимости, позволяющей злоумышленнику вывести ПЛК из строя
Компания 3S-Smart Software Solutions 19 августа 2021 года сообщила о том, что исправила уязвимость в программном комплексе промышленной автоматизации CODESYS V3 Runtime System, выявленную экспертом Positive Technologies Денисом Горюшевым. CODESYS V3 Runtime System является частью CODESYS — аппаратно-независимого программного обеспечения, представляющего собой среду разработки для программирования приложений контроллера в соответствии с промышленным стандартом автоматизации IEC 61131-3. Продукты компании на август 2021 года установлены более чем у 400 промышленных компаний в более чем десятке стран, в том числе и в России.
В программном комплексе CODESYS V3 Runtime System (версии 3.15.9.10) была обнаружена уязвимость высокой степени риска, которая получила идентификатор CVE-2021-36764. Эта уязвимость позволяет злоумышленнику вывести ПЛК (программируемый логический контроллер) из строя и, как следствие, нарушить технологический процесс. Ошибка содержится в компоненте CmpGateway и относится к классу уязвимостей NULL pointer dereference. Атакующий, имеющий сетевой доступ к промышленному контроллеру, может отправить специально сформированный TCP-пакет и прервать работу ПЛК. Также в данном ПО была обнаружена вторая уязвимость класса локального повышения привилегий, которая на август 2021 года находится на рассмотрении у вендора.
![]() | Продукты CODESYS распространены по всему миру, включая Россию. Один из наших партнеров на их основе создает системы пожарной автоматики, применяемые на электростанциях. Если хакеры проэксплуатируют эту уязвимость и нарушат работу системы пожаротушения, то в случае возгорания это чревато огромными убытками (например, если огонь доберется до турбинного цеха), — рассказывает аналитик отдела безопасности промышленных систем управления Positive Technologies Артур Ахатов. | ![]() |
![]() | Исследуемая версия находится в открытом доступе уже достаточно давно — странно, что никто из экспертов до сих пор не нашел эту уязвимость. Это простая логическая ошибка, связанная с отсутствием проверки передаваемых значений: можно отправить специально сформированный запрос, управляющий соединением, что приведет к обращению по нулевому адресу и отказу в обслуживании, — комментирует специалист отдела анализа приложений Positive Technologies Денис Горюшев.
Уязвимость была выявлена в марте 2021 года, и буквально за четыре месяца компания CODESYS успела выпустить патч. Для устранения уязвимости необходимо установить последнюю версию ПО, доступную на официальном сайте CODESYS. Обнаружить признаки проникновения (например, в случае невозможности установки обновления) помогут системы непрерывного мониторинга защищенности, управления инцидентами информационной безопасности промышленных систем, в частности PT Industrial Security Incident Manager. | ![]() |
2017: Критические уязвимости ставят под угрозу сотни тысяч промышленных систем
В апреле 2017 года стало известно о том, что огромное количество устройств промышленного Интернета вещей и систем управления производственными процессами оказались уязвимыми перед хакерскими атаками. Причиной являются критические бреши в популярном ПО для автоматизации процессов CoDeSys производства немецкой компании 3S-Smart Software Solutions. Эксперты предполагают, что установка патчей на все оборудование займет немало времени, поскольку, по данным SecurityWeek, проблема касается сотен тысяч устройств.
Одна из уязвимостей — CVE-2017-6027 — допускает загрузку произвольных файлов на CoDeSys Web Server; для этого к серверу потребуется направить специально сформированный запрос. Как следствие, на сервере становится возможным запускать произвольный код. [1]
Вторая уязвимость — CVE-2017-6025 — связана переполнением буфера. Ее существование стало возможным в связи с отсутствием проверки количества символов в запросах к функциям, обрабатывающим XML, перед их копированием в память. Злоумышленник может воспользоваться этим, чтобы вызвать "падение" приложения, или для запуска произвольного кода.
Обе уязвимости затрагивает веб-серверный программный компонент визуализационного ПО CoDeSys WebVisu (Web Server версий 2.3 и ранее).
Уязвимость обнаружена стартапом CyberX, специализирующимся на безопасности промышленных систем. Как пояснили эксперты компании, существует сразу несколько сценариев возможной эксплуатации этих уязвимостей. Нужны ли роботы складам? Опрос участников рынка и мнения экспертов
Например, злоумышленник может воспользоваться поисковиком типа Shodan для поиска уязвимых систем, доступных из интернета, а затем произвести атаку вышеописанным образом. Помимо этого, злоумышленник может загрузить эксплойт с флеш-накопителя или удаленно скомпрометировать сеть предприятия, через нее получить доступ к сети управления производственными объектами и оттуда уже атаковать промышленные контроллеры. Вариантов того, что злоумышленник может после успешной первичной атаки, тоже немало.
Злоумышленник может эксплуатировать уязвимости для установки бэкдоров, чтобы с их помощью вести кибершпионскую деятельность, загружать в системы шифровальщики-вымогатели или осуществить киберсаботаж, который приведет к остановке производства или к катастрофическим нарушениям безопасности и экологическому ущербу, поясняют эксперты.
По данным CyberX, разработчики CoDeSys оперативно выпустили патч. Однако эта система используется в сотнях программных разработок сторонних фирм, и установка патча на них может быть непростым делом.
Каждый производитель должен будет сначала установить патч CoDeSys на свой собственный код, затем перекомпилировать свою программную оболочку, и только после этого переслать обновленный вариант конечным пользователям. Патч CoDeSys не может быть установлен конечными пользователями самостоятельно. Большая часть устройств требует "перепрошивки", процесса, который требует больше времени и усилий, чем стандартное обновление ПО на смартфонах или персональных компьютерах, говорится в сообщении CyberX. [2]
![]() | Обновление систем промышленного контроля действительно непростой процесс, и тем больше проблем создают уязвимости в их программных компонентах, — говорит Ксения Шилак, директор по продажам компании SEC-Consult Rus. — К сожалению, разработчики "промышленного" ПО делают не меньше ошибок, чем разработчики программ общей направленности, так что промышленные системы в обязательном порядке требуют сегодня дополнительных мер защиты и регулярной проверки. | ![]() |
2011: CoDeSys 3.5
По информации на ноябрь 2011 года версия CoDeSys 3.5 в сочетании с аппаратной защитой CmDongle (технология CodeMeter) от WIBU-SYSTEMS позволяет производителям систем автоматизации эффективно защищать от пиратства свои разработки, созданные на базе стандарта IEC 61131-3.
В новую систему защиты промышленного оборудования включены дополнительные функции безопасности "Подписанное приложение" и "Зашифрованная связь" между ПК и программируемыми логическими контроллерами. Security CoDeSys обладает также интегрированными средствами администрирования пользователей, что исключает возможность использования злоумышленниками ПЛК в своих целях.
За счет дополнительных функций технологии CodeMeter, интегрированных в CoDeSys, производители оборудования смогут легко создавать и поставлять необходимые лицензии для своих клиентов, а также использовать новые бизнес-модели для ПЛК, такие как «Плата-за-использование» или «Функции-по-запросу». Защита программного обеспечения с помощью аппаратных ключей CmDongle характеризуется эффективным управлением лицензиями и легкостью использования, так как вся информация доступна в любое время и в любом месте. Все функции безопасности CoDeSys не являются обязательными и могут быть использованы автономно.
![]() | Оливер Винзенрид, CEO компании WIBU-SYSTEMS, отметил: "Наше сотрудничество с компанией 3S-Smart Software Solutions GmbH было направлено на разработку высокопроизводительного решения для защиты программных продуктов и ноу-хау в области автоматизации. За основу мы взяли аппаратный ключ CmDongle, обеспечивающий высокий уровень безопасности и в то же время имеющий различные форм-факторы, такие как CF и SD-карты, которые легко модифицировать в существующие ПЛК.` | ![]() |
2010
Компания 3S-Smart Software Solutions с продуктом CoDeSys является одним из лидеров среди поставщиков инструментов для разработки приложений, используемых на программируемых логических контроллерах (ПЛК) на языках стандарта IEC 61131-3. Приложения, разработанные с помощью инструмента CoDeSys, широко применяются во многих областях: мобильные приложения, механика, энергетика, инженерные системы, управление и др.
Программируемые логические контроллеры (ПЛК) — специализированные устройства, используемые для автоматизации технологических процессов в промышленности.
Подрядчики-лидеры по количеству проектов
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Данные не найдены
Распределение систем по количеству проектов, не включая партнерские решения
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Подрядчики-лидеры по количеству проектов
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Данные не найдены
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Данные не найдены
Распределение систем по количеству проектов, не включая партнерские решения
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)