В июле 2019 года в операционной системе реального времени VxWorks, на которой работают более 2 миллиардов устройств, найдены критические уязвимости. На Хабре про это не написали ни слова, хотя это важная новость в области промышленного программирования, RTOS и automotive.
Wind River VxWorks используется для ежедневной работы множества устройств интернета вещей, таких как веб-камеры, сетевые коммутаторы, роутеры, файрволлы, VOIP телефоны, принтеры и устройства видеосвязи, а также в светофорах.
Кроме того VxWorks используется в safety-critical системах, включая SCADA-системы, поезда, лифты, промышленные контроллеры, мониторы состояния пациентов, полетные Wi-Fi системы и даже марсоходы.
Специалисты по безопасности обнаружили почти дюжину уязвимостей нулевого дня в VxWorks, одной из наиболее широко используемых операционных систем реального времени для встроенных устройств. На VxWorks работают более двух миллиардов устройств в аэрокосмической, оборонной, промышленной, медицинской, бытовой, сетевой и других критически важных областях.
Согласно новому отчету Armis, совокупность уязвимостей называют URGENT/11, так как в данной группе 11 элементов, 6 из которых критически важны и уязвимы к разрушительным кибератакам.
Armis Labs – это та же компания, работающая в области интернета вещей, которая ранее обнаружила уязвимости в BlueBone, протоколе Bluetooth, которые коснулись более 5,3 миллиардов устройств – от Android, iOS и Linux до устройств в области интернета вещей.
Исследователи рассказали, что эти уязвимости позволяли злоумышленникам удаленно обойти привычные средства защиты и получать полный контроль над захваченным устройством, или наносить урон, аналогичный тому, который был вызван уязвимостью EternalBlue, при этом никакого взаимодействия с пользователем не требовалось.
URGENT/11 – уязвимости в ОСРВ VxWorks
Описанные уязвимости URGENT/11 находятся в сетевом стеке TCP/IP операционной системы реального времени, включенной в VxWorks начиная с версии 6.5, а значит все версии VxWorks за последние 13 лет уязвимы к атакам с захватом устройства.
Все 6 критических уязвимостей позволяют злоумышленникам выполнять атаки с удалённым выполнением кода, а остальные уязвимости могут привести к отказу в обслуживании, утечкам информации или логическим ошибкам.
Критические уязвимости, ведущие к удаленному выполнению кода:
- Переполнение стека при парсинге параметров IPv4 (CVE-2019-12256)
- Четыре уязвимости повреждения памяти, возникающие из-за неверной обработки поля указателя важности в протоколе TCP (CVE-2019-12255, CVE-2019-12260, CVE-2019-12261, CVE-2019-12263)
- Переполнение кучи при парсинге ответа DHCPOFFER или ACK в DCHP-клиенте ipdhcpc. (CVE-2019-12257)
Уязвимости, ведущие к отказу в обслуживании, утечкам информации и логическим ошибкам:
- Отказ TCP-соединения при помощи изменения параметров TCP-пакета (CVE-2019-12258)
- Обработка незапрашиваемых ответов обратного протокола преобразования адресов (логическая ошибка) (CVE-2019-12262)
- Логические ошибки при назначении IPv4-адресов DCHP-клиентом ipdhcpc (CVE-2019-12264)
- Отказ в обслуживании из-за разыменования NULL-значения при парсинге IGMP (CVE-2019-12259
- Утечка IGMP-информации через отчет о принадлежности IGMPv3 (CVE-2019-12265)
Все эти уязвимости могут быть использованы злоумышленником без аутентификации через отправку специально сформированного TCP-пакета на уязвимое устройство, при этом взаимодействие пользователя или наличие предварительной информации об устройстве необязательны.
Тем не менее, не все версии начиная с 6.5 уязвимы ко всем 11 уязвимостям, но по меньшей мере одна уязвимость, ведущая к удаленному выполнению кода, влияет на каждую из версий операционной системы.
«VxWorks включает в себя дополнительные меры безопасности, которые усложняют использование уязвимостей URGENT/11, но эти меры редко используются производителями устройств.», – говорят исследователи.
Исследователи из Armis считают, что уязвимости URGENT/11 могут также повлиять на устройства, использующие другие операционные системы реального времени, так как IPnet использовался в других операционных системах до его приобретения VxWorks в 2006 году.
Как удаленные злоумышленники могут использовать уязвимости в VxWorks
Использование уязвимостей VxWorks IPnet также зависит от местоположения злоумышленника и целевого уязвимого устройства, в конце концов, сетевые пакеты хакера должны достичь уязвимой системы.
По словам исследователей, поверхность атаки URGENT/11 может быть разбита на 3 сценария атаки, описанных ниже.
Сценарий 1: Атака на защиту сети
Поскольку VxWorks также используется в сетевых и защитных устройствах (вроде коммутаторов, маршрутизаторов и файрволлов), до которых можно добраться через публичную сеть, удаленный злоумышленник может начать прямую атаку на такие устройства, получив над ними полный контроль, а потом и над сетями, находящимися за ними.
Например, по данным поисковой системы Shodan, на момент написания этой статьи к интернету было подключено 775,000 файрволлов SoniсWall, работающих под управлением VxWorks.
Сценарий 2: Атака извне сети с обходом системы безопасности
Помимо устройств, подключенных к интернету, злоумышленник может также попытаться нацелиться на устройства интернета вещей, которые не подключены к интернету напрямую, но взаимодействуют со своим облачным приложением, защищенным файрволлом или NAT.
По словам исследователей, потенциальный злоумышленник может использовать вредоносное ПО, изменяющее DNS, либо совершать атаки типа man-in-the-middle, чтобы перехватить TCP-соединение целевого устройства с его облаком и запустить атаку с удаленным исполнением вредоносного кода.
Сценарий 3: Атака изнутри сети
В этом сценарии злоумышленник, уже проникший в сеть в результате предыдущего взлома, может одновременно проводить атаки на множество уязвимых устройств, работающих на VxWorks, даже если у них нет прямого подключения к интернету.
«Уязвимости в неуправляемых устройствах и устройствах интернета вещей могут быть использованы для манипуляции данными, повреждения физического оборудования, и создания рисков для жизни людей», – сказал Евгений Дибров, генеральный директор и соучредитель Armis.
«Скомпрометированный промышленный контроллер может отключить целую фабрику, а взломанный монитор состояния пациента может угрожать жизни»
«Насколько известно обеим компаниям, нет никаких признаков того, что уязвимости из списка URGENT/11 были использованы»
Однако, исследователи также подтвердили, что эти уязвимости не влияют на версии VxWorks, созданные для сертификации, такие как VxWorks 653 или VxWorks Cert Edition.
Armis ответственно сообщила об этих уязвимостях в Wind River Systems, и компания уже уведомила нескольких производителей и выпустила исправления для устранения уязвимостей в прошлом месяце.
Между тем, затронутые поставщики устройств также выпускают исправления для своих клиентов, что, по мнению исследователей, трудно и займет много времени, как это обычно и бывает, когда дело доходит до интернета вещей и критических обновлений инфраструктуры. SonicWall и Xerox уже выпустили исправления для своих файрволлов и принтеров, соответственно.
Дополнительная информация про URGENT/11 и VxWorks
- URGENT/11 Technical White Paper
- Брешь в ОС VxWorks позволяет удаленно управлять марсоходом NASA (2015)
- Уязвимости Urgent11 затрагивают SCADA-системы и IoT-устройства (2019)
- Что внутри марсохода Curiosity
- Интервью с разработчиком инопланетного софта: «Случись что, моя задница приняла бы основной удар»
- Первый баг на Марсе
Мы, пожалуй, самый сильный в России центр компетенций по разработке автомобильной электроники. Сейчас активно растем и открыли много вакансий (порядка 30, в том числе в регионах), таких как инженер-программист, инженер-конструктор, ведущий инженер-разработчик (DSP-программист) и др.
У нас много интересных задач от автопроизводителей и концернов, двигающих индустрию. Если хотите расти, как специалист, и учиться у лучших, будем рады видеть вас в нашей команде. Также мы готовы делиться экспертизой, самым важным что происходит в automotive. Задавайте нам любые вопросы, ответим, пообсуждаем.
Читать еще полезные статьи:
- Камеры или лазеры
- Автономные автомобили на open source
- McKinsey: переосмысляем софт и архитектуру электроники в automotive
- Очередная война операционок уже идет под капотом автомобилей
- Программный код в автомобиле
- В современном автомобиле строк кода больше чем…
Автор: T-800