Критическая дыра в ENIP-совместимых устройствах грозит взломом АСУ ТП

Критическая дыра в ENIP-совместимых устройствах грозит взломом АСУ ТП

Критическая дыра в ENIP-совместимых устройствах грозит взломом АСУ ТП

В прошивках десятка устройств, использующих комплект разработчика 499ES EtherNet/IP (ENIP) производства Real Time Automation (RTA), присутствует критическая уязвимость, позволяющая удаленно выполнить вредоносный код.

Разработчик SDK выпустил патч еще в 2012 году, однако многие продавцы оборудования для промышленной автоматизации приобрели право пользования проектом задолго до этого и продолжают привносить уязвимый код в свои реализации сетевого стека ENIP.

Согласно бюллетеню, выпущенному американской Группой реагирования на киберинциденты в сфере АСУ ТП (ICS-CERT), уязвимость, зарегистрированная под идентификатором CVE-2020-25159, относится к классу «переполнение буфера». Использование этой ошибки позволяет с помощью особого сетевого пакета, поданного на TCP-порт 44818, вызвать на устройстве состояние отказа в обслуживании, а при благоприятных условиях — даже выполнить произвольный код в системе.

Проблема была оценена в 9,8 балла из 10 возможных по шкале CVSS. Она присутствует во всех выпусках EtherNet/IP Adapter Source Code Stack, предшествующих пропатченному 2.28.

Поскольку стандарт ENIP широко используется в системах промышленной автоматизации, обнаружившие лазейку исследователи попытались определить современные масштабы бедствия. Поиск через специализированные сервисы вроде Shodan выявил более 8 тыс. систем, совместимых с ENIP и подключенных к интернету.

Чтобы вычленить из них уязвимые устройства, эксперты создали уникальный цифровой отпечаток для компонентов прошивки, созданных на основе SDK RTA, и провели сканирование. В итоге им удалось обнаружить 11 потенциально уязвимых устройств и шесть производителей, использующих ENIP-стек RTA. Затронутые провайдеры уже уведомлены о возможной проблеме.

Операторам подобных устройств рекомендуется по возможности обновить прошивки. Снизить риск эксплуатации помогут превентивные меры, рекомендованные ICS-CERT США:

  • Предельное ограничение сетевого доступа ко всем управляющим устройствам и системам, а также введение запрета на доступ к ним из интернета.
  • Организация защиты систем и сетей управления с помощью межсетевых экранов, а также путем изоляции их от бизнес-сети.
  • Использование надежных средств удаленного доступа вроде VPN и своевременное обновление этих инструментов.
  • Удаление, деактивация или переименование дефолтных системных аккаунтов.
  • Введение политик, диктующих использование только сильных паролей.
  • Мониторинг создания учетных записей администратора субподрядчиками.

Разработчик запустил Doom на беспроводных наушниках без экрана

Кажется, список устройств, на которых запускали Doom, снова пополнился, на этот раз беспроводными наушниками. Разработчик Арин Саркисян (Arin-S) сумел портировать легендарный шутер на пару PineBuds Pro. Тех самых TWS-наушников, у которых вообще нет экрана.

Звучит как очередная шутка из серии «Doom запустили на тостере», но всё по-настоящему.

PineBuds Pro — редкий случай на рынке: это одни из немногих наушников с открытой прошивкой, чем Арин и воспользовался. Эти наушники выпускает Pine64 — та же компания, что стоит за RISC-V-паяльниками вроде Pinecil.

Внутри каждого наушника скрывается Arm Cortex-M4F, и именно он стал сердцем проекта DoomBuds. Ради эксперимента разработчик разогнал процессор с 100 до 300 МГц и полностью отключил энергосберегающий режим. Сегодня такой разгон для встраиваемых чипов звучит почти как экстремальный спорт.

 

Отдельной головной болью стали память и хранилище. Чтобы игра вообще влезла в наушники, Арину пришлось серьёзно перекроить код: заранее сгенерировать таблицы, сделать часть переменных константами, отключить систему кеширования и выкинуть всё лишнее. В результате сам движок Doom уложился менее чем в 1 МБ. А WAD-файл Doom 1 пришлось ужать с 4,2 до 1,7 МБ — благо в сети давно есть «облегчённые» версии ресурсов.

Ну и главный вопрос: как играть в Doom без экрана? Решение оказалось неожиданно практичным. Арин использовал UART-подключение PineBuds Pro, чтобы стримить картинку на внешнее устройство или даже в интернет. Bluetooth тоже рассматривался, но по совокупности факторов UART оказался быстрее и стабильнее.

В итоге картинка передаётся в формате MJPEG, а производительность достигает примерно 18 кадров в секунду. Теоретически можно было бы выжать около 25 fps, но процессору банально не хватает сил быстро перекодировать видеопоток.

RSS: Новости на портале Anti-Malware.ru