Немецкие исследователи продемонстрировали метод бесконтактного взлома автомобилей Tesla через Wi-Fi при помощи дрона. Благодаря уязвимостям в программном обеспечении автомобиля злоумышленник может получить доступ к информационно-развлекательной панели машины, которая в свою очередь позволяет открывать двери, менять режим движения и управлять другими параметрами. Разработчики заранее передали информацию в Tesla и опубликовали статью и ролик с описанием метода после того, как автопроизводитель исправил уязвимости.
Современные автомобили оснащены множеством электронных блоков управления и фактически почти всеми их функциями можно управлять с помощью команд с компьютера. Это позволяет реализовывать новые функции, например, автоматическую парковку, и обновлять машины «по воздуху», но также несет в себе и опасность, потому что в случае взлома компьютера автомобиля злоумышленник потенциально может получить гораздо больше возможностей, чем в случае со старыми автомобилями.
Как правило, такие взломы требуют, чтобы у злоумышленника был физический доступ к автомобилю и его CAN-шине или другим интерфейсам. Например, мы рассказывали, как исследователи взломали таким образом Jeep. Гораздо большую опасность представляют собой методы удаленного взлома.
Немецкие исследователи Ральф-Филипп Вайнман (Ralf-Philipp Weinmann) и Бенедикт Шмоцле (Benedikt Schmotzle) продемонстрировали метод, который не только позволяет взломать автомобили удаленно, но и основан на том, что автомобиль самостоятельно подключается к сети злоумышленника.
Исследователи выбрали в качестве цели информационно-развлекательную систему автомобилей Tesla, с которой водитель взаимодействует через большой сенсорный экран. Они изучили разные векторы атаки и сосредоточились на менеджере подключений Connman, потому что доступ к нему можно получить через Wi-Fi. Одна из идей исследователей заключалась в том, чтобы использовать обнаруженную ранее особенность автомобилей Tesla: они постоянно сканируют окружающие сети и в случае, если обнаруживают сеть с названием Tesla Service, подключаются к ней, используя пароль, который ранее другой исследователь извлек из прошивки автомобиля.
Исследовав ConnMan (код доступен под открытой лицензией), исследователи в первые же минуты смогли вызвать ошибку, связанную со стеком вызовов. Изначально они отмели эту ошибку, потому что в современных Linux-системах (информационно-развлекательная система Tesla работает на Linux) есть много методов защит от уязвимостей, связанных с работой стека, но затем вернулись к ней и смогли найти в Connman две уязвимости, позволяющие обойти эту защиту. Одна из них возникает при обработке DNS-запросов, а вторая связана с работой DHCP.
В результате исследователи получили метод атаки, при котором автомобиль самостоятельно подключается к вредоносному Wi-Fi, а затем злоумышленник, используя две уязвимости, получает возможность произвольного выполнения кода на компьютере информационно-развлекательной системы. Фактически это позволяет управлять всеми функциями автомобиля, доступными с сенсорного экрана, в том числе менять режим движения (не затрагивает работу Autopilot), управлять температурой в салоне, открывать двери и багажник. Однако этот метод не позволяет управлять непосредственно движением машины.
Исследователи отмечают, что изначально у них не было в распоряжении автомобиля Tesla и всю разработку и тестирование удалось реализовать в эмуляторе. Для эффектной демонстрации исследователи использовали дрон, который они оснастили недорогим компьютерным адаптером Wi-Fi. На демонстрационном ролике можно увидеть, как вскоре после того, как дрон подлетел к автомобилю, его двери открываются. Авторы отмечают, что при использовании более мощной антенны с одного дрона можно взломать множество автомобилей на парковке. Кроме того, они уверены, что модуль Wi-Fi в автомобиле можно использовать для атаки на окружающие автомобили, но решили не создавать подобный компьютерный червь из-за его потенциальной опасности.
Перед публичным раскрытием уязвимостей исследователи в октябре 2020 года переслали информацию о них в Tesla (у компании есть программа по поиску багов, в рамках которой она вознаграждает исследователей за найденные опасные уязвимости в ее автомобилях). Tesla быстро исправила уязвимости, заменив менеджер подключений Connman на dnsmasq, и передала данные об уязвимостях в Intel, которая разработала Connman, но в компании ответили, что это не является их ответственностью.
Исследователи отмечают, что хотя они протестировали атаку на Tesla Model X, Connman используется в автомобилях многих других производителей и в автомобильной операционной системе Automotive Grade Linux, а также рекомендован к использованию объединением автопроизводителей GENIVI Alliance.