Исследователь взломал мультимедийную систему Renault, чтобы перевести часы на зимнее время

Специалист по информационной безопасности Расмус Мооратс рассказал в своём блоге, как ему пришлось взломать мультимедийную систему автомобиля ради простой задачи – перевести часы на зимнее время. Система его Renault Latitude 2014 года отказывалось открывать нужные настройки без оригинальной SD-карты с навигационными картами TomTom.

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

Мне в это не очень-то верилось.

Когда пришло время переводить часы, дисплей в машине начал отставать на час. В мультимедийной системе нашлось два меню настроек. Первое отвечало только за Bluetooth и телефонную книгу. Второе не открывалось вовсе – при каждой попытке выдавало ошибку "Карты не обнаружены!".

Мооратс решил заняться реверс-инжинирингом системы. Он выяснил, что головное устройство работает на модифицированной операционной системе TomTom на базе Linux, а в качестве аппаратной основы используется однокристальная система (SoC) Samsung.

Дальше исследователь проделал несколько шагов:

  • извлёк и проанализировал прошивку девайса

  • собрал для неё окружение в эмуляторе QEMU, чтобы экспериментировать без риска повредить электронику автомобиля

  • разобрал устройство встроенного скриптового движка

  • нашёл в системе ряд уязвимостей

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

Вместо того чтобы пытаться заставить пользовательское пространство выполнить наш скрипт, почему бы не заставить сделать это само ядро?

Подход сработал, и исследователь получил root-доступ к мультимедийной системе. С правами суперпользователя он нашёл, где хранятся настройки даты и времени. Нужные данные лежали в файле /mnt/flash/settings.dat в собственном двоичном формате TomTom.

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

Система вообще не знает о концепции часовых поясов. Она получает время от GPS и хранит локальное смещение в виде количества минут. У меня стояло 180. Я поменял на 120.

Изменение смещения со 180 на 120 минут соответствует переходу с UTC+3 на UTC+2, то есть с летнего восточноевропейского времени на зимнее. Ради этого исследователю пришлось извлечь прошивку, поднять эмулятор и найти уязвимость в ядре Linux. В обычной ситуации на такую операцию уходит пара нажатий в меню.

Больше статей на Shazoo
Тэги:

Об авторе

Эксперт по Fallout
Главный редактор
Более 16 лет в индустрии освещения видеоигр, кино, сериалов, науки и техники. Особенно разбираюсь в серии Fallout, ценитель The Elder Scrolls. Поклонник Arcanum и Fallout Tactics. Больше всего играю в Civilization, Old World и градостроители. Изучаю ИИ и загадки космоса.