Кибербезопасность на скорости: уязвимость в модеме открывает путь к полному контролю над автомобилем

information security

Эксперты Kaspersky ICS CERT обнаружили критическую уязвимость в модеме автомобильных головных устройств, которая позволяет злоумышленникам получить полный контроль над системой. В рамках доказательства концепции исследователям удалось удаленно запустить классическую игру Doom на мультимедийном экране автомобиля во время движения. Данная атака демонстрирует серьезные риски для безопасности современных подключенных транспортных средств.

Уязвимость, получившая идентификатор CVE-2024-39432, представляет собой переполнение стека в реализации протокола 3G RLC. Она была обнаружена в системе на кристалле Unisoc UIS7862A, которая используется в головных устройствах некоторых китайских автомобилей. Особенность этой уязвимости заключается в том, что она позволяет выполнить код на модемном процессоре до установки защищенного соединения с сотовой сетью.

Запущенный Doom на головном устройстве автомобиля

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

Для эксплуатации уязвимости специалисты использовали технику возвратно-ориентированного программирования. Несмотря на то, что стек модема не является исполняемым, им удалось обойти защиту памяти через перенастройку модуля защиты памяти. Это позволило установить постоянное соединение с модемом используя протокол NAS для передачи данных.

Наиболее серьезной частью исследования стало перемещение внутри системы на кристалле. Исследователи обнаружили, что модемный процессор и процессор приложений используют общее адресное пространство памяти. Это позволило им получить доступ к ядру Android, работающему на основном процессоре головного устройства.

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

Для демонстрации возможностей атаки исследователи разработали сложный эксплойт, который автоматически находит в памяти ключевые структуры ядра Linux. Алгоритм включает поиск базового адреса ядра, локализацию таблицы символов, отключение SELinux и внедрение собственного кода в область ядра. Внедренный код использует системные вызовы для установки и запуска приложения без вмешательства пользователя.

Практическая демонстрация показала, что вся атака выполняется удаленно через сотовую сеть. При этом злоумышленник может получить полный контроль над головным устройством, обходя все стандартные механизмы безопасности Android. В демонстрационном сценарии на экране автомобиля автоматически запускалась игра Doom, но реальные последствия могут быть значительно серьезнее.

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

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

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

Комментарии: 0