Автомобиль Tesla Model 3 взломали с мультикоптера (для зрелищности), источник
Автомобили Tesla по умолчанию подключаются к любой точке WiFi с идентификатором SSID
Tesla Service
. Это очень удобно
для взлома. Пароль указан в файле .ssq, который поставляется с
автомобилем, или его можно найти в интернете (см. скриншот под
катом).Таким образом, можно подключить автомобиль к своему фейковому хотспоту. Потом использовать уязвимости в программном обеспечении и получить контроль над некоторыми функциями. По сути, всё довольно просто: такие трюки показывают на каждой хакерской конференции.
Проблема в том, что критические уязвимости есть не только в теслах, а практически во всех современных автомобилях. Просто Tesla предлагает большие призы за информацию о багах, поэтому эта информация публикуется в СМИ. Остальные автомобили взламывают молча.
Взлом Tesla
Профиль в твиттере с паролем для вайфая Tesla Service
Последнюю хакерскую конференцию PWN2OWN 2020 отменили, поэтому авторы только сейчас опубликовали свой доклад по взлому Tesla. Они написали эксплоит Comsecuris, использующий две уязвимости в демоне ConnMan. Это стандартный менеджер подключений Linux. В частности, используется переполнение буфера в DNS-форвардере и утечка информации стека (stack infoleak) в компоненте DHCP.
В автомобиле Tesla 3 установлена последняя версия ConnMan 1.37, без уязвимости CVE-2017-12865, которую нашли в версии 1.34. Поэтому пришлось искать новые баги. Здесь повезло: возможность переполнения буфера обнаружилась в функции
uncompress()
.
1 static char *uncompress(int16_t field_count, char *start, char *end,2 char *ptr, char *uncompressed, int uncomp_len,3 char **uncompressed_ptr)4 {5 char *uptr = *uncompressed_ptr; /* position in result buffer */67 debug("count %d ptr %p end %p uptr %p", field_count, ptr, end, uptr);89 while (field_count-- > 0 && ptr < end) {10 int dlen; /* data field length */11 int ulen; /* uncompress length */12 int pos; /* position in compressed string */13 char name[NS_MAXLABEL]; /* tmp label */14 uint16_t dns_type, dns_class;15 int comp_pos;1617 if (!convert_label(start, end, ptr, name, NS_MAXLABEL,18 &pos, &comp_pos))19 goto out;2021 /*22 * Copy the uncompressed resource record, type, class and \0 to23 * tmp buffer.24 */2526 ulen = strlen(name);27 strncpy(uptr, name, uncomp_len - (uptr - uncompressed));2829 debug("pos %d ulen %d left %d name %s", pos, ulen,30 (int)(uncomp_len - (uptr - uncompressed)), uptr);3132 uptr += ulen;33 *uptr++ = '\0';3435 ptr += pos;3637 /*38 * We copy also the fixed portion of the result (type, class,39 * ttl, address length and the address)40 */41 memcpy(uptr, ptr, NS_RRFIXEDSZ);4243 dns_type = uptr[0] << 8 | uptr[1];44 dns_class = uptr[2] << 8 | uptr[3];4546 if (dns_class != ns_c_in)47 goto out;4849 ptr += NS_RRFIXEDSZ;50 uptr += NS_RRFIXEDSZ;
В строках 27 и 41 функция
memcpy
копирует в буфер
uptr
содержимое памяти фиксированным размером 10 байт
(NS_RRFIXEDSZ
), не проверяя соответствие размера
выходного буфера количеству копируемых байт.В презентации хакеры пояснили, что контроль над демоном ConnMan даёт гораздо больше полномочий, чем другие нерутовые демоны в мультимедийной системе Tesla: он позволяет отключить файрвол, изменить таблицы маршрутизации, загрузить или выгрузить модули ядра (если они не подписаны).
В нашем случае достаточно отключить файрвол и отправить на компьютер нужные команды. Конечно, управление автомобилем через мультимедийную систему не получишь, но можно отпереть двери, изменить режим ускорения, рулевого управления и другие функции, доступные с панели компьютерного управления под Linux (раньше там стояла Ubuntu).
Обязательные апдейты безопасности
Автомобили Tesla обладают продвинутой компьютерной системой, а компания платит очень большие деньги (в районе $300 000) за сообщение о таких уязвимостей. На самом деле хакеры успешно взламывают автомобили и других производителей, просто об этом не всегда сообщают широкой публике.
Компания Upstream Security ежегодно публикует отчёт об автомобильных уязвимостях. Последний отчёт 2021 Global Automotive Cybersecurity Report содержит информацию о более 200 инцидентах безопасности с 2010 по 2020 годы.
Вот статистика по векторам атак за эти годы:
Дистанционные взломы сегодня составляют 80% атак, физическое проникновение 20%. Облачные сервисы главный вектор.
В июне 2020 года ООН приняла общий регламент безопасности для транспорта: UNECE WP.29 Cybersecurity. В 2021-2022 годы эти регуляции будут рассмотрены в нескольких странах, а в 2023-2024 годах ожидается более широкое принятие по всему миру. Первый регламент называется Cybersecurity and Cybersecurity Management Systems (CSMS). Последнюю версию см. здесь.
Документ CSMS содержит информацию об угрозах кибербезопасности и перечисляет большое количество уязвимостей и методов атаки. В приложении 5 десять страниц с описанием уязвимостей в нескольких категориях. В первой таблице кратко перечислены шесть типов угроз с различными типами уязвимостей (перечислено 29 штук) и примерами (67 штук).
В следующей таблице обобщены меры по смягчению угроз кибербезопасности внутри и за пределами автомобиля.
Основная дискуссия сейчас ведётся вокруг того, чтобы как можно оперативнее уведомлять о новых уязвимостей и быстро выпускать патчи, которые отправляются через интернет и мгновенно устанавливаются на все включённые автомобили. Но совершенно ясно, что без срочных критических обновлений в современных автомобилях никак не обойтись
Облачные сервисы, бесконтактные ключи по радиопротоколу, порт OBDII, мобильные приложения для управления автомобилем, порты USB и SD, Bluetooth, Wi-Fi, встроенный модем, сенсоры, многочисленные соединения через телематические системы и облачные сервисы, которые работают в автомобиле, встроенная мультимедийная система с компьютером в салоне. Это слишком большая поверхность атаки
Вероятно, в будущем такие удобства войдут в стандартное оснащение всех автомобилей.
P. S. Компания GlobalSign уже 25 лет выдаёт сертификаты безопасности для различных отраслей. Посмотрите нашу интерактивную страничку, посвященную 25-летнему юбилею.