Не так давно мы писали о нашумевшем взломе Jeep Cherokee. На крупнейшей международной конференции, посвященной безопасности, Black Hat USA 2015 исследователи Чарли Миллер (Charlie Miller) и Крис Валасек (Chris Valasek) наконец подробно рассказали, как им удалось взломать машину.
Сначала Миллер и Валасек пытались проникнуть в мультимедийную систему джипа через Wi-Fi — функцию встроенного в автомобиль Wi-Fi-роутера производитель Jeep Cherokee, автоконцерн Fiat Chrysler, предлагает как отдельную платную опцию. Выяснилось, что взломать эту беспроводную сеть не составляет большого труда, так как пароль к ней генерируется автоматически на основе времени и даты самого первого подключения автомобиля и его мультимедийной системы к сети.
Время для генерации берется с точностью до секунды, так что теоретически получающийся в результате пароль достаточно надежен — число возможных комбинаций достаточно велико. Но если вы, например, знаете год выпуска автомобиля и уже угадали месяц, количество комбинаций снижается до 15 млн. Если предположить, что первое подключение произошло днем, количество комбинаций снижается еще больше — теперь до 7 млн. Для хакера такое количество комбинаций не так уж велико — организовав брутфорс-атаку, подобный пароль можно подобрать примерно за час.
Как перехватить контроль над Jeep Cherokee, несущимся по шоссе со скоростью 110 км/ч: https://t.co/g9pY5N4AJ2 pic.twitter.com/UJcPhrto1J
— Kaspersky (@Kaspersky_ru) July 24, 2015
Но в этом отношении есть некоторые трудности: для взлома нужно ехать за целевым автомобилем примерно час, не теряя подключения к его Wi-Fi-сети. Исследователи решили обойти данное препятствие, и — сюрприз, сюрприз! — им это удалось. Как оказалось, пароль для Wi-Fi генерируется до автоматической установки текущих времени и даты, то есть он основан на дефолтных показаниях даты и времени плюс несколько десятков секунд, необходимых для загрузки системы.
Для всех мультимедиасистем данной модели, установленных в сотнях тысяч произведенных концерном автомобилей, время по умолчанию задано как 00.00 GMT, 01 января 2013 года. В случае данного конкретного автомобиля, который взламывали исследователи, с момента загрузки прошло 32 секунды, так что точное время, на основе которого был создан ключ, было 00.00.32.
В целом это всего лишь несколько десятков возможных комбинаций — подобрать пароль к такой сети можно просто вручную.
После успешного подключения к бортовому Wi-Fi Миллер и Валасек нашли способ проникнуть в мультимедийную систему автомобиля, работающую под ОС Linux. Путем эксплуатации легко угадываемых брешей в безопасности операционной системы они наконец смогли перехватить контроль над головным устройством.
На этом этапе полный контроль над автомобилем установить еще невозможно, хотя уже и здесь открываются интересные возможности: исследователи полностью контролировали работу мультимедийного плеера, переключались с одной радиостанции на другую, произвольно меняли уровень громкости. Представьте себе, что может случиться, если водитель мчится на скорости 110 км/ч и вдруг его мультимедийная система неожиданно начинает выдавать помехи на максимальной громкости.
Также исследователи обнаружили возможность отслеживать машину через GPS. Чтобы ею воспользоваться, даже не нужно модифицировать ПО бортового компьютера — это просто встроенная функция программного обеспечения мультимедийной системы.
У метода взлома через Wi-Fi есть недостатки: это опция с абонентской платой, достаточно высокой, чтобы большинство владельцев автомобилей ею не пользовались. С другой стороны, все головные устройства подключены к сотовой сети Sprint по умолчанию, даже если владелец автомобиля не пользуется этим сервисом. Это просто стандартная функция для данной модели мультимедийных систем.
Миллер и Валасек решили пробиться через порт сотового оператора. На это они потратили много времени и усилий, но результат стоил того. При помощи фемтосоты (компактной базовой станции), которую исследователи купили на eBay, они смогли попасть во внутреннюю сеть Sprint и произвести массовое сканирование IP-адресов, «слушающих» определенные вызовы со стороны головного устройства, о которых они узнали из своего опыта взлома машины через Wi-Fi.
При помощи этого трюка можно обнаружить все автомобили концерна Chrysler, оснащенные подобным типом головного устройства (более миллиона таких автомобилей, кстати, было отозвано концерном из соображений безопасности). После этого нужно просто выбрать нужный. Как ни парадоксально, это не так-то легко: как признались исследователи, «намного легче взломать все джипы разом, чем какой-либо конкретный».
Однако точно выбрать цель атаки можно, за что стоит сказать спасибо вышеупомянутой опции отслеживания автомобиля по GPS. И тогда вы можете делать с мультимедийной системой жертвы что угодно. Но и это еще не конец.
Следующий шаг — получить доступ к CAN-шине. Эта шина — внутренняя сеть автомобиля, которая объединяет компоненты автомобиля: двигатель, коробку передач, разнообразные датчики и так далее. Одним словом, почти все, что вообще есть в машине, так как сегодня большинство систем автомобиля управляются электроникой.
#BlackHat USA 2015: полная история того, как взломали Тот Самый #Jeep
Tweet
Взломанная исследователями на предыдущем этапе мультимедийная система не подключается к CAN-шине напрямую. Этот довод используется всеми производителями автомобилей, когда речь заходит о безопасности подобных систем. Они утверждают, что эти системы изолированы друг от друга, то есть прямого соединения между подключаемыми к сети и физическими подсистемами нет.
Как выяснилось, эта изоляция не такая уж непреодолимая, по крайней мере, в автомобилях Chrysler. Несмотря на то что контроллер мультимедийной системы не может напрямую связываться с CAN, он может связаться с другим контроллером, V850, который как раз подключен к шине CAN. Проще говоря, тут срабатывает принцип «я знаю человека, который знает нужного человека».
ПО контроллера V850 разработано таким образом, что оно может «слушать» вызовы CAN-шины, но не может посылать на нее никаких команд. Но, как бы это ни было запрограммировано, это все равно компьютер. А все мы знаем, что, если в компьютере не хватает какой-либо функциональной возможности, компьютер можно перепрограммировать, чтобы она появилась.
Исследователям удалось изменить прошивку контроллера V850 на собственную, загрузив ее через уже захваченную мультимедийную систему. Как оказалось, при подобном «апгрейде» прошивки не происходит никаких проверок и авторизаций. Но даже если бы проверки были, это бы тоже не помогло: исследователи нашли парочку уязвимостей, которые помогли бы в конечном итоге захватить контроль над V850.
После этого автомобиль полностью сдался на милость взломщиков. Внедрение модифицированной прошивки позволило Миллеру и Валасеку посылать любые команды через CAN-шину и заставлять каждый (действительно каждый!) компонент системы плясать под их дудку. Через сотовую сеть Sprint они удаленно контролировали руль, двигатель, трансмиссию, тормозную систему, не говоря уже о таких «мелочах», как дворники, кондиционер, замки дверей и так далее.
Thanks to everyone who came to our talk. I know there were lots of other cool talks at the same time. pic.twitter.com/2RSLHKYJuK
— Charlie Miller (@0xcharlie) August 6, 2015
Хорошая новость состоит в том, что Миллер и Валасек потратили годы на свое исследование. И самый сложный этап — как они научились посылать нужные команды через CAN-щину — исследователи оставляют за кадром. Не каждому под силу добиться таких же результатов, каких добились Миллер с Валасеком. Но есть и плохая новость: такие невероятные сценарии взлома стали вполне осуществимы, и эффект от них трудно переоценить.