
Оновлення мультимедіа Honda Civic відкриває атаку «EvilValet»
Через три роки після публікації дослідження головного блока Honda Civic розробник Ерік Макдональд описує шлях оновлення через USB, який дозволяє встановити довільний код за фізичного доступу до порту.
Через три роки після публікації першого дослідження з реверс-інжинірингу мультимедійної системи (head unit) Honda Civic 2021 року розробник Ерік Макдональд опублікував оновлення проєкту, у якому описав повністю робочий шлях оновлення та вразливість під назвою «EvilValet».
Ключі від королівства
Honda підтримує оновлення головного блока через USB. На носії лежить підписаний файл оновлення AOSP, який готується та застосовується через Android recovery, і Honda додала до цього процесу власні перевірки. За словами автора, ці перевірки знецінює проста помилка: публічно відомий тестовий ключ AOSP залишився в каталозі res/keys, і хоча Honda змінила бінарник recovery, логіка перевірки підпису verify_file збігається зі стандартним AOSP.
Наслідок: будь-хто, хто вміє відформатувати USB-носій і підписати його цим ключем, може встановити на головний блок що завгодно без звичайного root-доступу. Достатньо фізичного доступу до переднього USB-порту, щоб отримати виконання довільного коду через шлях оновлення.
«Злий покоївка» в автомобілі
Макдональд описує це як атаку «evil maid», перенесену з готельного номера до салону авто. Журналіст залишає машину паркувальнику; паркувальник, який працює на спецслужбу, ставить оновлення через USB; автомобіль повертається зі зміненим головним блоком, і зовні нічого не помітно.
Він також випустив ota-builder — інструмент на ранній стадії, який готує файли оновлення, прийнятні для головного блока; цього в принципі достатньо, щоб встановити бінарник su з setuid і отримати root на пристрої. Є одне застереження: автор має вагомі підстави вважати, що всі оновлення підписані тестовим ключем AOSP, але не має доступу до кожного офіційного файлу чи варіанта головного блока, а на його пристрої був встановлений HondaHack. Водночас загальнодоступний європейський файл оновлення, завантажений із форуму й ніколи не змінений автором, підписаний саме тестовим ключем.
Інструменти замість документації
Друга частина оновлення присвячена apk-rebuilder: він бере файл оновлення Civic і створює чисте дерево вихідних файлів — розв'язані ресурси, відновлений код .smali, перепаковані APK, витягнутий ramdisk — автоматизуючи роботу, яку реверс-інженер інакше робив би вручну. Оскільки публікувати справжній код Honda не можна, проєкт постачає функцію, яка перетворює файл оновлення на код .smali та графічні ресурси.
Інші відкриті напрями — таблиця відомих версій display-audio, експериментальний ARMv7-тулчейн, що збігається з версією компілятора та прапорцями збірки виробника, кастомні теми, які вимагали б хірургічного редагування форку AOSP від Mitsubishi, і aidl-rebuilder, який мапує інтерфейси AIDL і міг би відкрити шлях до застосунків на кшталт віртуальних спідометрів. Макдональд каже, що більшість запланованих досліджень завершено і він, імовірно, перейде до інших проєктів, хоча pull request-и залишаються бажаними.
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.