Как взламывают подключенные автомобили и что с этим делать

Подключённые к интернету автомобили с автопилотами, по сути, полуавтономные гаджеты на колёсах, сегодня учатся взаимодействовать со своими механическими собратьями, облачными сервисами и дорожной инфраструктурой, чтобы сделать движение безопаснее, помочь водителю принять правильное решение, а в критической ситуации отреагировать быстрее человека. Вместе с тем, электронная начинка и софт современных автомобилей имеют столько уязвимостей, что их взлом напоминает скорее движение по хайвею, чем бег с препятствиями. В этом посте мы поделимся результатами изучения безопасности современных автомобилей, собранными в исследовании компании Trend Micro, получившем название «Driving Security Into Connected Cars: Threat Model and Recommendations».

image
Прежде чем перейти к описанию конкретных кейсов, сделаем небольшое введение в проблему. Типичный легковой автомобиль последнего поколения содержит под капотом не только двигатель, но и более 100 млн строк кода. Даже относительно простые модели имеют около 30 электронных блоков управления (ЭБУ), оснащённых собственными процессорами и прошивкой. В люксовых авто таких блоков может быть больше ста. Чтобы взаимодействовать между собой, эти ЭБУ подключаются через лабиринт цифровых шин. Здесь и CAN (Control Area Network), и Ethernet, и FlexRay, LIN и MOST. Все они работают с разной скоростью, передают различные типы данных и обеспечивают соединение между разными частями автомобиля.

Именно ЭБУ управляют критически важными функциями автомобиля: двигателем, коммуникациями, подачей топлива, тормозной системой и безопасностью. Частично управление этими компонентами доступно через головное устройство.

Современные авто оборудованы модулями геопозиционирования, умеют подключаться к мобильному интернету и даже использовать публичные сети Wi-Fi. Такой «смартфон на колёсах», как и его более компактный карманный аналог, имеет беспроводные интерфейсы и может раздавать интернет своим пассажирам.

Мы изучили устройство автомобильных сетей разных производителей и выяснили, что, хотя каждый вендор реализует их по-разному, все архитектуры имеют общие компоненты: шлюзы, ЭБУ, шины CAN, USB- и беспроводные интерфейсы. При всех отличиях они выполняют сходные функции и взаимодействуют между собой одним образом. На основании этих данных мы создали обобщённую архитектуру автомобильной сети.

image
Структурная схема типовой сети подключённого автомобиля. Источник: Trend Micro

Из схемы видно, что подключённый автомобиль обладает сетевыми интерфейсами, которые позволяют атаковать его удалённо. Результатом таких атак может стать компрометация одного или нескольких ЭБУ и полный перехват управления автомобилем. Рассмотрим несколько случаев таких атак и уязвимости, которыми воспользовались хакеры.

Случай 1: Удалённый взлом Jeep Cherokee в 2015 году


В 2015 году Чарли Миллер и Крис Валасек совместно с корреспондентом журнала Wired продемонстрировали дистанционный взлом подключённой модели автомобиля Jeep Cherokee.

Корреспондент выехал на хайвей, после чего исследователи перехватили управление системами его автомобиля — они включили на полную мощность музыку и кондиционер, заставили работать щётки стеклоочистителя, а затем снизили скорость авто до 10 миль в час, так что другие водители сигналили участнику эксперимента, обгоняя его. Самым ужасным было то, что он полностью лишился контроля: управление мультимедийной системой, кондиционером и даже педалью газа взяли на себя хакеры.

Исследователям удалось обнаружить IP-сеть класса А, которую производитель, компания Chrysler, использовала для своих подключённых автомобилей. Сканируя открытые порты, они выяснили, что в каждом автомобиле был открыт порт 6667, на котором демон сообщений D-Bus принимал команды через протокол Telnet без аутентификации. Отправляя команды демону D-Bus, Миллер и Валасек полностью перехватили управление автомобилем.

image
Цепочка атаки на Jeep Cherokee. Источник: Trend Micro

Вообще, в процессе изучения внутреннего устройства Jeep Cherokee хакеры нашли много любопытного, например:

  • головное устройство может работать с устройствами, подключёнными не только к шине CAN-IHS (CAN Interior High Speed), но и к шине CAN-C (CAN Critical), то есть критические с точки зрения безопасности системы в сетевой архитектуре Jeep не отделены от обычных систем;
  • подключиться к Jeep лучше всего через его мобильный сетевой интерфейс, при этом злоумышленник может находиться хоть в другой стране и всё равно сможет управлять транспортным средством;
  • диапазон IP-адресов автомобилей Jeep находится в полностью открытом интернет-пространстве, поэтому получить доступ к любому автомобилю может любой пользователь интернета — теоретически можно создать сетевого червя, который просканирует сеть и заразить все подключённые к сети Chrysler автомобили через демон D-Bus, работающий на открытом порте 6667;
  • прошивка для микропроцессора Renesas V850 и процессора OMAP (Open Multimedia Applications Platform) доступна для загрузки с сайта Chrysler — это делает возможным реинжиниринг и модификацию (в частности, Миллер и Валасек заставили прошивку интерпретировать SPI сообщения как сообщения CAN и транслировать их на все подключённые к шине CAN ЭБУ);
  • алгоритм вычисления контрольной суммы CAN-сообщений, чтобы они выглядели легитимными для ЭБУ автомобиля.
  • алгоритм разблокировки ЭБУ для перепрограммирования — оказалось, что ЭБУ ассистента парковки, который считывает CAN-сообщения для манипулирования функцией рулевого управления, также является чипом V850, что позволяет с лёгкостью провести реверс-инжиниринг алгоритма его работы;
  • сообщения CAN, которые отключают двигатель и тормоза и поворачивают руль;
  • способ подменить CAN-сообщения от настоящих ЭБУ или деактивировать эти ЭБУ, чтобы вместо их команд выполнялись вредоносные CAN-сообщения.


Заметим, что хотя речь тут идёт об автомобилях одного производителя и определённого поколения, эта ситуация совсем не редка в отрасли — это не проблема Chrysler, а системная проблема.

Случай 2: взлом Tesla в 2016 году


В 2016 году специалисты лаборатории безопасности Tencent Keen взломали Tesla Model S. Для атаки они проэксплуатировали сложную цепочку уязвимостей для компрометации компонентов сети автомобиля и внедрения вредоносных CAN-сообщений.

image
Цепочка атаки на Tesla Model S в 2016 году. Источник: Trend Micro

  1. Исследователи установили фальшивую точку доступа Tesla Guest, к которой автоматически подключаются все «Теслы» в соответствии со стандартом производителя.
  2. Используя уязвимости браузера Tesla, выполнили шелл-код, который повысил привилегии через уязвимость ядра Linux CVS-2013–6282. Это позволили отключить модуль безопасности ядра AppArmor.
  3. Используя повышенные привилегии, получили root-доступ к центральному инфодисплею «Теслы», а с него — к приборной панели, модулю Parrot, управляющему Bluetooth и Wi-Fi, а также к шлюзу шины CAN.
  4. Далее они модифицировали прошивку шлюза и заставили его отправлять вредоносные CAN-сообщения.
  5. Tesla Model S игнорирует некоторые сообщения CAN-шины, когда скорость выше установленного предела. Исследователи заблокировали трансляцию сообщений о скорости, подменив идентификатор соответствующего ЭБУ.
  6. Далее они внедрили собственную прошивку в один из ЭБУ, чтобы получить возможность выполнять операции прямого чтения/записи памяти.
  7. Используя эту возможность, они смогли перевести ЭБУ в специальный диагностический режим, который блокирует возможность приёма и ответа на CAN-сообщения.
  8. Таким образом им удалось отключить системы ESP, ABS, управление подачей топлива и тормозной системой.


Случай 3: взлом Tesla в 2017 году


Через год после наглядной демонстрации уязвимостей в Tesla специалисты Tencent Keen проверили, насколько качественно компания Илона Маска провела работу над ошибками. Результатом стала очередная компрометация электромобиля.

image
Цепочка атаки на Tesla Model S в 2017 году. Источник: Trend Micro

Атака началась всё с той же фальшивой точки доступа Tesla Guest, к которой автомобиль доверчиво подключился. Далее исследователи снова воспользовались уязвимостью браузера на базе движка Webkit. И хотя уязвимость была другая, результат оказался тот же. Не помогло даже обновление ядра Linux, выполненное вендором: хакеры снова отключили AppArmor и получили root-доступ к CID.

После этого исследователи модифицировали прошивку, чтобы она игнорировала проверку ЭЦП Tesla, а затем взломали несколько «пасхалок», встроенных в оригинальную прошивку автомобиля. Несмотря на развлекательный характер «пасхалок» они имели доступ к различным ЭБУ, чем и воспользовались исследователи.

Случай 4: взлом BMW в 2018 году


Чтобы продемонстрировать, что проблемы с безопасностью существуют не только у Tesla, специалисты Tencent Keen провели разработали три варианта атак на автомобили BMW: локальную атаку через USB/OBD-II и две удалённые атаки.

image
Схема атаки на BMW в 2018 году. Источник: Trend Micro

Первая атака использовала удалённое выполнение кода в BMW ConnectedDrive (набор электронных опций автомобиля, представленный ещё в 2008 году), через перехват HTTP-трафика:

  • поскольку сервис BMW ConnectedDrive в службе HU-Intel периодически опрашивает внутренние серверы BMW через 2G или 3G соединение телематического коммуникационного блока (TCB) по протоколу HTTP, исследователи установили фальшивую базовую станцию GSM и перехватили весь GPRS-трафик транспортного средства;
  • исследуя перехваченный трафик, они нашли файл инициализации, загружаемый автомобилем, и выяснили его URL; поскольку автомобиль был подключён через подконтрольную хакерам базовую станцию GSM, они смогли подменить содержимое в файле инициализации и проэксплуатировать уязвимость в автомобильном браузере также на базе WebKit;
  • в результате они получили веб-шелл, с помощью которого повысили привилегии и получили root-доступ к прошивке через чип HU-Jacinto, который обрабатывает все коммуникации шины CAN;
  • итогом стала возможность использования функции CanTransmit_15E2F0 для отправки произвольных CAN-сообщений.


Второй вариант удалённой атаки более сложен и эксплуатирует уязвимости TCB через незащищённые SMS.

Выводы и рекомендации


Подключенные автомобили — лишь один из компонентов умной транспортной сети, которая представляет собой сложнейшую экосистему, содержащую миллионы взаимосвязей, конечных точек и пользователей. Эта экосистема состоит из четырёх основных компонентов:

  • собственно подключенного автомобиля;
  • сети передачи данных, которая обеспечивает взаимодействие подключенного автомобиля с бэкэндом;
  • бэкэнда — серверов, баз данных и приложений, обеспечивающих взаимодействие всей умной транспортной инфраструктуры;
  • центра управления безопасностью автомобилей (vehicle security center, VSOC), который собирает и анализирует уведомления, поступающие от остальных компонентов умной транспортной сети.


Сложность умной транспортной системы достигла такого уровня, что крайне сложно прогнозировать, в какую часть периметра будет направлена очередная атака. В связи с этим защита подключённых автомобилей не ограничивается софтом и электроникой транспортного средства. Необходимо также обеспечить безопасность бэкэнда и сети передачи данных.

image
Комбинированная архитектура подключённых автомобилей. Источник: Trend Micro

Для защиты автомобилей:

  • использовать в сети автомобиля сетевую сегментацию, отделив критические узлы от «развлекательно-пользовательские». Это снижает риск бокового перемещения и повышает общую безопасность.
  • воспользоваться рекомендациями отраслевой группы ISO и SAE. Разработанный участниками группы свод руководящих принципов обеспечения безопасности подключённых автомобилей — ISO/SAE 21434 содержит ряд предложений, внедрение которых позволит существенно изменить сложившуюся ситуацию.
  • внедрить безопасность в качестве обязательной части всех процессов от создания концепции и разработки до производства, эксплуатации, технического обслуживания и вывода из эксплуатации. Для управления рисками следует использовать ISO 31000.
  • в обязательном порядке проводить мониторинг рисков в соответствии со стандартом управления информационной безопасностью ISO/IEC 27001.
  • внедрить управление исправлениями и обновлениями в соответствии с новым стандартом ISO/AWI 24089 «Транспортные средства — Инжиниринг обновления программного обеспечения»


Для защиты сети передачи данных:

  • шифрование потока данных;
  • обязательная аутентификация;
  • ограничение доступа из публичного интернета к интеллектуальной транспортной сети.

Для защиты бэкенд-инфраструктуры:

  • использовать брандмауэры для отслеживания вредоносного трафика и идентификации приложений или устройств, которые генерируют или запрашивают этот трафик;
  • воспользоваться брандмауэрами следующего поколения (NGFWs)/ унифицированными шлюзами управления угрозами (UTM), которые могут включать в себя классические брандмауэры, системы предотвращения вторжений (IPS), системы обнаружения вторжений (IDS), антивирусное программное обеспечение, веб-фильтрацию, управление приложениями и другие решения, объединённые в одном устройстве;
  • антивирусное программное обеспечение;
  • антифишинговое ПО для фильтрации электронной почты сотрудников вендоров, обслуживающих бэкэнд-инфраструктуру, поскольку фишинг — один из основных векторов заражения;
  • системы обнаружения взлома (BDS);
  • IPS и IDS — системы сетевой безопасности, которые исследуют трафик для обнаружения и предотвращения сетевых атак.

© Habrahabr.ru