Security Week 2334: уязвимости в промышленном SDK Codesys

Security Week 2334: уязвимости в промышленном SDK Codesys
Одна из презентаций на недавно прошедшей конференции BlackHat была посвящена уязвимостям в SDK Codesys. Уязвимости нашли специалисты компании Microsoft, а история их обнаружения подробно изложена в этой публикации. Codesys — это среда разработки для систем промышленной автоматизации, а именно для работы с программируемыми логическими контроллерами (PLC). Специалисты Microsoft показали практическую эксплуатацию проблемы в двух контроллерах производства Schneider Electric и WAGO, но так как уязвимости были найдены именно в SDK, скорее всего, им подвержены все устройства, использующие данную среду разработки, — а это несколько сотен наименований.



Всего специалисты нашли 15 уязвимостей в пяти разных компонентах SDK, реализующих коммуникацию по сети с использованием проприетарного протокола Codesys V3. При этом все уязвимости имеют одну и ту же причину: некорректная обработка так называемых меток данных для маркировки пересылаемых пакетов. При наихудшем сценарии отправка модифицированного пакета данных на уязвимый контроллер PLC может приводить либо к выполнению произвольного кода и перехвату контроля, либо к отказу в обслуживании.

Ошибка, найденная в коде, относится к классической уязвимости типа «переполнение буфера». В определенный момент содержимое меток копируется в буфер оперативной памяти, причем без предварительной проверки размера тега. Авторы исследования смогли создать условия, при которых запись происходит в область памяти, предназначенную для исполняемого кода. Кроме того, в процессе им удалось обойти системы Data Execution Prevention и ASLR. Одну и ту же уязвимую процедуру они обнаружили в коде SDK 15 раз — отсюда и 15 уязвимостей. «До конца» удалось протестировать только две уязвимости в конкретных компонентах: одна из них приводит к отказу в обслуживании, другая — к выполнению произвольного кода.

Для создания практического эксплойта исследователям пришлось задействовать еще одну, довольно старую уязвимость в Codesys, известную как CVE-2019-9013. Она позволяет перехватить учетные данные для авторизации на контроллере, так как при их передаче используется неэффективное шифрование. Сначала атакующий крадет учетные данные, затем авторизуется на контроллере и уже после этого отправляет вредоносные пакеты данных.

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

Что еще произошло:

В Юго-Восточной Азии зафиксировано распространение вредоносной программы, подписанной сертификатом разработчика VPN-клиента Ivacy VPN.

Серьезная уязвимость закрыта в архиваторе WinRAR версии 6.23. Ошибка при распаковке архивов может приводить к выполнению произвольного кода.

Разработчики браузера Google Chrome планируют предупреждать пользователей о том, что у них установлено вредоносное расширение.

На конференции Def Con анонимный посетитель пытался атаковать владельцев iPhone, рассылая приглашения для подключения к устройству Apple TV. Пока не совсем понятно, считать ли эту возможность уязвимостью, — то есть, если согласиться на подключение, будут ли переданы атакующему какие-либо приватные данные. Но у рассылки таких приглашений (по факту — пакетов данных по протоколу Bluetooth) есть одна интересная особенность: они принимаются, даже если Bluetooth выключен в так называемом Control Center. Деактивация Bluetooth в этом меню, таким образом, не выключает беспроводной модуль до конца. Для этого нужно деактивировать Bluetooth в соответствующем разделе настроек телефона.

Еще одна интересная презентация на конференции BlackHat рассказывает о методе шифрования файлов исключительно с помощью клиента OneDrive. Для успешной атаки необходимо сперва получить доступ к учетной записи OneDrive. Затем можно зашифровать файлы, удалить незашифрованные копии и, например, потребовать выкуп.
codesys plc
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
310K
долларов
до 18 лет
Антипов жжет
Ребёнок как убыточный
актив. Считаем честно.
Почему рожают меньше те, кто умеет считать на десять лет вперёд.

FREE
100%
Кибербезопасность · Обучение
УЧИСЬ!
ИЛИ
ВЗЛОМАЮТ
Лучшие ИБ-мероприятия
и вебинары — в одном месте
ПОДПИШИСЬ
T.ME/SECWEBINARS