20 августа 2013

Взлом автомобилей – теперь по-настоящему

Новости

Если вы читаете Kaspersky Daily хотя бы иногда, вы, вероятно, уже в курсе, что современный автомобиль вполне можно взломать. На самом деле я писал ту статью на основе широко известных исследований, проведенных в университетах Висконсина и Калифорнии еще в 2010 году. Да, это единственная проблема. К счастью для нас, доктор Чарли Миллер, известный Apple-хакер, а также уважаемый исследователь компьютерной безопасности, вместе с главой службы безопасности IOActive Крисом Валашеком провел демонстрацию взлома автомобиля. Буквально на прошлой неделе это случилось на конференции по безопасности Def Con, проводившейся в Hotel Rio, через дорогу от Caesars Palace в Лас-Вегасе, где как раз закончилась конференция Black Hat.

Хакеры манипулируют автомобилями

Кроме того, Валашек и Миллер опубликовали целый документ объемом более 100 страниц (в PDF), куда более подробный, чем все предыдущие исследования по этой теме. Эта парочка крайне тщательно подошла к исследованию. В докладе опубликованы все марки изученных компьютеров, коды, используемые исследуемыми автомобилями, рассказывается обо всех предпринятых для обмана бортовых систем ходах, и много чего еще там есть. Кроме этого исследователи взяли один из автомобилей на тест-драйв и развлекались со своими ноутбуками на заднем сиденье, пока репортер Forbes Энди Гринберг пытался вести эту машину, частично манипулируемую этими ребятами.

Все работы Валашек и Миллер проводили с Ford Escape и Toyota Prius 2010 года, хотя их исследования, скорее всего, подойдут и для других автомобилей.

Прежде чем мы приступим к интересной части этой статьи, быстренько пробежимся по компьютерам, живущим в автомобилях. Итак, современный авто содержит некоторое количество компьютеров, часто называемых электронными блоками управления (ECU). И вот количество этих самых ECU в современном автомобиле разное, в некоторых моделях их число доходит до 50. Эти блоки выполняют различные задачи. В авто Миллера и Валашека отдельные ECU контролируют, регулируют или просто мониторят почти все: от управления подачей топлива в двигателе, рулевого управления и антипробуксовочной системы до замков ремней безопасности, подушек безопасности, парковочных датчиков и много чего еще, о чем я просто не имею понятия. Почти все эти ECU-модули объединены в единую сеть контроллером на основе CAN-шины. Итак, CAN и ECU представляют собой своеобразную центральную нервную систему современного автомобиля, а все части работают совместно, обмениваясь всевозможными параметрами работы узлов, агрегатов и датчиков, необходимыми для правильного функционирования машины. Например, в случае аварии мотор автоматически глохнет, ремни безопасности натянутся, сработают тормозные системы и подушки безопасности. Все это работа ECU.

Все работы Валашек и Миллер проводили с Ford Escape и Toyota Prius 2010 года, хотя их исследования, скорее всего, подойдут и для других автомобилей. Исследователи купили довольно дешевый ECOM-кабель, который работает с ECOM-совместимыми устройствами, подключаемыми через USB к Windows-компьютеру. Немного изменив распайку, они смогли подключить кабель к разъему OBD II (это такая колодка под рулем, которая используется для диагностики). Как только они подключились, так сразу начали изучение способов, которыми все эти ECU «общаются» друг с другом по CAN-шине. Да, они очень хорошо освоили возможности и особенности этого протокола связи и поэтому даже смогли имитировать передачу сигналов от некоторых ECU.

В зависимости от особенностей авто, с которым они работали, исследователи могли серьезно нарушить его работу.

В зависимости от особенностей авто, с которым они работали, исследователи могли проделывать разные штуки. Расскажу только о некоторых, наиболее интересных. Если вы хотите в подробностях, то читайте весь их доклад – там все в мельчайших деталях.

Итак, они обнаружили, что могут манипулировать показаниями спидометра, одометра и топливного расходометра. В случае спидометра выяснилось, что сигналы от датчиков скорости легко имитировать, посылая через CAN-шину на приборную панель ложные данные. Всего-то надо было отследить интенсивность передачи данных, чтобы перехватить управление и выводить на панель любую скорость.

Двери Prius можно было блокировать и разблокировать. Правда, изнутри ее всегда можно открыть вручную, поэтому запереть в машине человека нельзя. А вот отпереть машину, находясь снаружи – запросто.

В Ford они атаковали системы безопасности и помощи. Так, они обманули ECU, отвечающий за рулевое управление, «заспамив» информационный трафик по управляемой шине. И им удалось заглушить усилитель руля, оставив возможность рулить только на 45% полного поворота колес. Также они обнаружили, что могут манипулировать парковочной системой (тем ECU, который отвечает за автоматическую параллельную парковку). Они признали, однако, что система помощи в парковке работает на крайне низких скоростях, так что никакого особого вреда, кроме как просто запуск самой функции, это не принесет. Разве что ваш автомобиль заденет соседнюю машину.

Также исследователи взломали рулевое управление в Prius. В этой машине ECU, отвечающий за помощь в парковке, настроен таким образом, что работает только при включении задней передачи и на скорости не более 4 миль в час. Ну, Валашек с Миллером и обманули компьютер, сказав ему, что машина едет медленно, хотя на самом деле она ехала куда быстрее. Они не смогли точно поуправлять рулем в этом случае, но смогли как-то контролировать направление движения.

В Prius также есть система контроля за направлением движения. Она позволяет вернуть машину на трассу, если ECU понимает, что водитель чуть отклонился. Система позволяет рулевому управлению делать самостоятельные отклонения в нужную сторону в пределах пяти градусов. Исследователи неплохо хакнули эту функцию. Вроде бы эти пять градусов – не так уж и много, однако на высоких скоростях, на узкой дороге или в пробке этого более чем достаточно для проблем.

На Ford можно отправить команду на прокачку тормозной системы. В то время пока тормоза прокачиваются, автомобиль не может остановиться. Однако эта система работает на скорости не более 5 миль в час, что довольно медленно. Правда, это было достаточно быстро, чтобы при исследовании протаранить стену гаража.

Миллер и Валашек – двое чуть ли не самых продвинутых людей в индустрии безопасности. Взламывать – это их работа. И своими хаками они действительно хотят сделать мир лучше и безопаснее.

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

Еще одним открытием стали команды, управляющие освещением как внутри, так и снаружи Ford. ECU, отвечающий за освещение, слушается команд, только если машина стоит. Однако исследователи обманули компьютер, выдав информацию о стоянке в то время, когда машина двигалась. Это позволяло отключать все огни во время движения. И даже стоп-сигналы. Кроме того, когда они припарковали машину, то потом не смогли тронуться с места. Видимо, этот ECU взаимосвязан со стоп-сигналами, не позволяя машине двигаться с неисправными «стопами». А вот с Toyota ситуация чуть иная. Они смогли как-то влиять на фары Prius только в том случае, если был включен режим автоматического управления светом.

Немного повозившись с круиз-контролем Prius, исследователи поняли, что не могут справиться с увеличением скорости. Это хорошая новость. А вот снизить ее у них получилось. И даже остановить автомобиль, убедив компьютеры, что на пути стоит препятствие, в которое машина может врезаться. И если даже водитель будет вовсю газовать, автомобиль все равно будет останавливаться. А вот чтобы заставить круиз-контроль Prius увеличить скорость, исследователям было необходимо вытащить свой ECOM-кабель и напрямую подключиться к ECU управления подачей топлива. Дело в том, что этот компьютер не подключен к общей CAN-шине. Правда, ускорение получалось кратковременным, так как водитель сразу же перехватывал контроль над скоростью. Но вот такие неожиданные резкие ускорения, которые удалось создать, могут быть потенциально опасны во время движения.

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

Существует одна самая надежная мера по защите вашего автомобиля от подобных взломов. Это покупка действительно старой машины. Это работает!

А еще исследователи довольно подробно рассказали о потенциальной возможности внедрения вредоносного кода в CAN-шину и в ECU. Не стану вдаваться в специфику этих рассказов, а скажу только, что внедрить и запустить посторонний код в машине в принципе возможно. Последние 20 или 30 страниц того доклада говорят как раз об этом.

Существует одна самая надежная мера по защите вашего автомобиля от подобных взломов. Это покупка действительно старой машины. Это работает! Хотя, опять же, ваш взломанный Nissan Maxima 2013 года куда безопаснее моего Honda Accord 1998 года. Ваш-то имеет кучу датчиков, которые вовремя просигнализируют, если что-то пошло не так. А вот мой старичок – это та еще лотерея.

Реалии таковы, что Миллер и Валашек – двое чуть ли не самых продвинутых людей в индустрии безопасности. Взламывать – это их работа. И своими хаками они действительно хотят сделать мир лучше и безопаснее. Ну, и еще. Несмотря на то что их исследования включают все методы и способы, какими вы тоже можете попробовать это сделать, они являются одними из немногих, имеющих знания для выполнения действительно сложной атаки. Если вас это не успокаивает и вы по-прежнему боитесь взлома вашей машины, то изучите те исследования безопасности, которые проводят автопроизводители, самостоятельно. Они тоже много чего делают.

Кстати, если вы еще этого не видели, то обязательно загляните на сайт Forbes и посмотрите видео, в котором Энди Гринберг пытается управлять автомобилем, пока Валашек с Миллером ему активно мешают вести эту Toyota Prius. Это доставит вам немало интересных минут. Обещаю.