Оказалось, что Hyundai экономит на защите своих автомобилей.
Разработчик смог запустить свое ПО на медиасистеме автомобиля после того, как обнаружил, что Hyundai для защиты системы использует общедоступные ключи шифрования.
Инженер-программист из США Дэниел Фельдман хотел модифицировать автомобильную информационно-развлекательную систему (IVI) в своем Hyundai Ioniq SEL 2021 года. Для этого ему нужно было подключиться к устройству и обойти его защиту.
IVI принимает обновления прошивки в виде запароленных ZIP-архивов. Фельдман загрузил ZIP-файл обновления с сайта Hyundai и смог обойти защиту паролем в архиве, чтобы получить доступ к его содержимому – зашифрованным образам прошивки для различных частей IVI.
Затем нужно было создать собственный образ прошивки и зашифровать его в ZIP-архиве таким образом, чтобы автомобиль мог распознать и установить прошивку. Это позволило получить контроль над оборудованием из предоставленного им собственного кода. На сайте Mobis Фельдман нашел сценарий Linux, который создал подходящий ZIP-файл для обновления системы.
Скрипт включал необходимый ZIP-пароль для архивов обновлений системы, а также ключ шифрования CBC AES и вектор инициализации (IV) для шифрования образов прошивки. Это означает, что Фельдман мог использовать AES-ключ для расшифровки образов прошивки, изменять их, а затем использовать сценарий для повторного шифрования образов с помощью AES-ключа и упаковывать все это в запароленный ZIP-архив для системы обновлений Hyundai IVI.
Однако, ему нужно было найти закрытый ключ RSA. Оказалось, что ключ шифрования AES в этом скрипте — это первый пример 128-битного ключа CBC AES, указанный в документе NIST .
Более того, в образе прошивки инженер нашел открытый RSA-ключ, который доступен в Интернете и указан в некоторых онлайн-руководствах, например, « Пример шифрования и дешифрования RSA с OpenSSL на C ». Это руководство и многие другие включают в свой исходный код этот открытый ключ и соответствующий ему закрытый RSA-ключ.
Hyundai использовала пару открытого и закрытого ключей из Интернете и поместила открытый ключ в свой код, что позволило Фельдману отследить закрытый ключ. Таким образом, он смог подписать файлы Hyundai и установить их программой обновления.
Согласно сообщениям Фельдмана, теперь у него появилась возможность создать собственную прошивку для IVI своего автомобиля. Он также поделился информацией с другими владельцами Hyundai.