Исследователь в области безопасности безопасности рассказал, как ему пришлось обновлять время на автомобильной информационно-развлекательной системе с помощью методов обратной разработки. Конечно, для такой простой задачи, как перевод часов на летнее время, не должно требоваться инвазивное вмешательство в технику. Однако в Renault Latitude 2014 года выпуска, принадлежащем Расмусу Мурацу, нельзя было изменить время из-за отсутствия оригинальной карты SD с навигационными картами. Мураца предупреждали. При покупке подержанного автомобиля предыдущий владелец отметил, что для изменения времени на дисплее автомобиля потребуется SD-карта. «Я не очень-то поверил», — вспоминает исследователь безопасности. Он решил, что это проблема навыков предыдущего владельца, и, поскольку карты на ней были безнадежно устаревшими, он уверенно решил, что SD-карта ему не нужна… Неизбежно пришло время перевести часы на летнее время, и Мурац решил настроить время на бортовом дисплее, которое отставало на час. Через систему на приборной панели были доступны два меню настроек. Одно позволяло настраивать параметры Bluetooth и телефонной книги — очевидно, бесполезное здесь. Но второе меню настроек не открывало подменю. Вместо этого при каждом обращении к нему появлялось сообщение об ошибке «Карты не обнаружены!». Обладая определенным набором навыков, Мурац решил «просто RE», где RE = обратная разработка. Он выяснил, что головное устройство работало на кастомизированной операционной системе TomTom на базе Linux на процессоре Samsung SoC. Вкратце, он извлек и проанализировал прошивку, построил среду QEMU для устройства, выполнил обратную разработку скриптового движка и обнаружил ряд уязвимостей, затрагивающих систему. Прорыв произошел благодаря внезапной идее, которая, похоже, возникла из опыта работы с техниками эксплуатации ядра во время его основной работы. «Вместо того чтобы пытаться заставить пользовательское пространство выполнить наш скрипт, почему бы не заставить ядро выполнить наш скрипт?» — размышлял Мурац. Этот подход сработал, предоставив Мурацу доступ к информационно-развлекательной системе на уровне root. Владелец Renault Latitude 2014 года впоследствии обнаружил, что настройки даты и времени находятся в файле /mnt/flash/settings.dat в пользовательском бинарном формате. Интересно, что система «на самом деле не имеет понятия о часовых поясах», — отметил Мурац в заключении своего сообщения в блоге. «Она получает время от GPS и сохраняет локальное смещение в виде количества минут. У меня было установлено 180. Я изменил на 120».
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Mark Tyson