Специалист по безопасности и создатель самого быстрого в мире сетевого червя Сэми Камкар (Samy Kamkar) выступил с докладом на конференции DEF CON’23 в Лас-Вегасе. В своей презентации он продемонстрировал самодельное устройство себестоимостью около $30, способное перехватить управление большинством современных автомобилей производства General Motors и отключить многие типы автомобильной сигнализации независимо от её производителя.

Перестав быть чисто механическим транспортным средством, автомобили оказались уязвимы к атакам на их «умную» бортовую электронику. Только в июле «Компьютерра» писала о серьёзной уязвимости в сервисе UConnect, который ставит под удар многие машины Chrysler Group. Сейчас подобная проблема обнаружена с сервисом OnStar RemoteLink концерна General Motors.

OnStar - чтобы вы хотели сделать со своим автомобилем? (изображение: OnStar, LLC).
OnStar – чтобы вы хотели сделать со своим автомобилем? (изображение: OnStar, LLC).

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

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

Как показал Сэми Камкар, попасть в салон автомобиля, похитить вещи (а заодно и персональные данные) теперь проще простого. Он скачал фирменное приложение OnStar RemoteLink для ОС Android и стал изучать его. Довольно быстро Камкар выяснил, что оно имеет серьёзные проблемы на уровне установки защищённого соединения и уязвимо к атаке типа «человек посередине».

OwnStar - чтобы вы хотели сделать с чужим автомобилем? (фото: Samy Kamkar).
OwnStar – чтобы вы хотели сделать с чужим автомобилем? (фото: Samy Kamkar).

Анализ версии приложения OnStar для iPhone показал, что оно содержит аналогичные дыры в безопасности. Например, в качестве хранилища ключа используется цифровой сертификат, проверка подлинности которого не выполняется.

Для выполнения MITM-атаки Камкар изготовил приёмопередатчик, который перехватывает пакеты сервиса OnStar. Для их расшифровки и дальнейшего спуфинга он написал программу, которую иронично назвал OwnStar. В первый сеанс связи владельцев со своими машинами через фирменный сервис GM, самодельное устройство Камкара перехватывает все соединения в радиусе своего действия и отображает на экране ближайшие откликнувшиеся автомобили.

После выбора цели OwnStar забрасывает бортовой компьютер автомобиля модифицированными пакетами, вынуждая его запрашивать повторную отправку данных и отсылать в эфир аномально частые запросы. Подобный метод используется при скоростном вскрытии паролей для точек доступа Wi-Fi – подключённым клиентам шлются команды деавторизации, благодаря чему выполняется активный перехват обмена ключами вместо долгого ожидания этого события.

OwnStar - самоделка за $30 (фото: Samy Kamkar).
OwnStar – самоделка за $30 (фото: Samy Kamkar).

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

Самый простой вариант – отключить сигнализацию и разблокировать двери, чтобы обчистить салон и багажник. При возможности сымитировать вставку ключа зажигания можно отправить команду запустить двигатель и угнать автомобиль. Более сложные варианты атаки направлены на работу с самим владельцем. Бортовой компьютер хранит достаточное количество приватных данных, чтобы шантажировать хозяина их раскрытием или использовать полученные сведения против него иным образом. К тому же, похитить или ликвидировать VIP-персон гораздо проще, если заранее узнать маршрут их движения, список запланированных дел, последних звонков и наиболее активных контактов.

По данным фирменных магазинов Google Play и iTunes, приложение OnStar установлено более чем на миллион мобильных устройств. Уведомления об уязвимости было направлено Камкаром в General Motors задолго до выступления на DEF CON, но на момент публикации статьи уязвимость ещё не была устранена.

Миллионы уязвимых пользователей по всему миру (скриншот: play.google.com).
Миллионы уязвимых пользователей по всему миру (скриншот: play.google.com).

Сэми Камкар – типичный «белый» хакер, область интересов которого простирается от механических замков до беспилотников. Заинтересовавшись работой автомобильных сигнализаций, он создал более всеядный аналог OwnStar – глушилку-перехватчик Rolljam. Она отключает современные сигнализации, до сих пор считавшиеся защищёнными от радиоперехвата ключа.

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

Алгоритм смены ключа прошивается заранее, и он достаточно сложен, чтобы сделать атаку экономически неоправданной. При адекватной реализации понадобится перехватить тысячи (если не миллионы) соединений, чтобы вычислить следующий сеансовый ключ. Однако, что будет, если электронный замок просто не получит сигнал с брелока?

Rolljam - breadboard и четыре платы (фото: Samy Kamkar).
Rolljam – breadboard и четыре платы (фото: Samy Kamkar).

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

Готовясь к выступлению на DEF CON’23, Сэми Камкар проверил свой прототип на автомобилях Nissan, Cadillac, Ford, Toyota, Lotus, Volkswagen и Chrysler, а также на гаражных воротах с системами Cobra, Viper, Genie и Liftmaster. Все они сдались без боя. «Мой собственный автомобиль также уязвим к этой атаке», – комментирует автор.