Кто-то ещё управляет вашей Tesla: датчик в колесе даёт хакерам власть над чужой машиной

5588
Кто-то ещё управляет вашей Tesla: датчик в колесе даёт хакерам власть над чужой машиной

Две дешёвые коробочки, Bluetooth и 90 секунд движения — и готово.

image

Исследователи Synacktiv нашли способ удалённо выполнить код в блоке безопасности Tesla Model 3 через датчик давления в шинах, причем владельцу автомобиля не нужно было ничего нажимать или подтверждать. На Pwn2Own Vancouver 2024 команда применила уязвимость с первой попытки, получила $200 000 и сам автомобиль Model 3.

Ошибка получила идентификатор CVE-2025-2082 и оценку 7,5 балла по шкале CVSS. Уязвимый блок VCSEC управляет доступом в машину и разрешает запуск, а также может отправлять команды в автомобильную CAN-шину. Поэтому выполнение чужого кода внутри VCSEC давало исследователям гораздо больше возможностей, чем простая подмена показаний давления в колесах.

Брешь пряталась в механизме подключения новых датчиков системы контроля давления в шинах, или TPMS. При регистрации некоторых датчиков VCSEC запрашивает сертификат X.509, который приходит несколькими фрагментами. Программа неправильно проверяла смещение очередного фрагмента, поэтому специально подготовленные данные заставляли контроллер записывать информацию за границами выделенного буфера. Исследователи смогли перезаписать указатель на функцию и передать управление своему коду. Synacktiv подробно описала механизм в технических материалах.

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

Причем уязвимый обработчик предназначался для датчиков TPMS типа 5, которых, по словам Synacktiv, на тот момент еще не было в серийном производстве. Поддержку будущего оборудования Tesla уже добавила в прошивку, и код можно было вызвать через Bluetooth с низким энергопотреблением.

Главной сложностью оставалась сама регистрация поддельного датчика. Для Pwn2Own исследователи задействовали штатное автоматическое обучение TPMS. Model 3 запускает его, когда автомобиль движется дольше 90 секунд со скоростью не менее 25 км/ч. Если в этот момент один из известных машине датчиков пропадает из эфира, VCSEC начинает искать замену среди устройств поблизости.

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

У атаки есть серьезные ограничения. Злоумышленнику нужно находиться в радиусе Bluetooth, когда колеса начинают вращаться, успеть перехватить соединение с настоящим датчиком и оставаться достаточно близко во время автоматического обучения. Сценарий с атакой на случайную Tesla, быстро проезжающую мимо, поэтому практически отпадает. Гораздо реалистичнее устройство, заранее спрятанное рядом с автомобилем, либо человек, который остается поблизости во время поездки.

На Pwn2Own исследователи подтвердили, что после взлома VCSEC могут отправлять произвольные сообщения в CAN-шину автомобиля. Авторы также указывают, что сам блок управляет доступом в салон и разрешением на запуск. При этом в опубликованных материалах нет отдельной демонстрации открытия дверей или запуска двигателя, поэтому подтвержденный результат стоит ограничивать именно выполнением кода в VCSEC и передачей произвольных CAN-сообщений.

Tesla получила информацию об ошибке 28 марта 2024 года и закрыла ее в прошивке 2024.14. Публичное описание CVE-2025-2082 появилось позже, 30 апреля 2025 года. Владельцам Model 3 достаточно использовать версию 2024.14 или любое более новое программное обеспечение.