Вы когда-нибудь задумывались о том, как работает ваш автомобиль? Конечно же, есть энтузиасты, которые досконально знают, как работает двигатель внутреннего сгорания и чем цикл Аткинсона отличается от цикла Миллера. Я вот не могу похвастаться такими глубокими знаниями, впрочем, я не одинок в этом. Большинство воспринимает современный автомобиль как некое средство передвижения из точки А в точку Б, не задумываясь при этом, что происходит внутри автомобиля, когда водитель, скажем, нажимает педаль акселератора или поворачивает руль. Давайте же попробуем проследить эволюцию автомобиля и понять, как эти изменения повлияли и могут повлиять на нас с вами.
Многие годы, с момента изобретения, автомобиль оставался чисто механическим устройством, корректнее сказать — электромеханическим. Педаль газа через тросик соединялась с дроссельной заслонкой, которая при нажатии на педаль открывалась, добавляя смеси в цилиндры. Тормоза довольно долго тоже были связаны механически с педалью, потом появились различные усилители. Ни о какой электронике в начинке автомобиля речи не шло. Давайте условно называть это первым поколением автомобилей, или Auto 1.0.
Переход ко второму поколению начался с появлением массовых полупроводниковых технологий — в автомобилях массово стали устанавливать электронные блоки. Пионерами стали блоки управления двигателем и антиблокировочная система.
До создания электронного блока эти функции подачи в цилиндры двигателя воздушно-топливной смеси в нужной консистенции выполнял карбюратор, на совершенствование которого были направлены основные силы конструкторов. Первые электронные блоки управления двигателем были созданы итальянцами из Alfa Romeo для их модели 6C2500, что произошло в середине 1950-х годов. Назывался этот блок Caproni-Fuscaldo.
Что до AБС, то эта технология была запатентована Bosch еще в 1936 году. Но на практике реализовать эту идею не удалось из-за отсутствия в те годы цифровой электроники, которая позволила бы за доли секунды реагировать на блокировку колес. Первые успешно действующие образцы АБС появились на автомобилях производства Daimler-Benz благодаря талантливому инженеру Гейнцу Либеру, который до Daimler работал в Teldix GmbH, где и разработал фундаментальные основы АБС.
Внедрение первых электронных цифровых блоков — это своеобразный мостик от первого поколения ко второму. По-настоящему второе поколение машин появилось с внедрением CAN-шины (Controller Area Network Bus). CAN разработана компанией Robert Bosch GmbH в середине 1980-х. Появление CAN-шины обусловлено в первую очередь желанием автопроизводителей сэкономить на проводах, ведь с ростом количества различных электронных блоков увеличивалось и количество проводов, и постепенно электропроводка стала третьим по весу компонентом автомобиля. CAN-шина как раз и позволила избавиться от кучи проводов, объединив все электронные компоненты единым каналом обмена данными. Первый автомобиль с шиной CAN был представлен в 1986 году — это был BMW 850 купе. За счет применения данной шины в автомобиле было использовано на 2 км меньше проводки, общий сброшенный вес составил 50 кг. В 2006-м более 70% проданных автомобилей использовали CAN Bus. С начала 2008 года Ассоциация автомобильных инженеров (SAE) потребовала, чтобы все 100% новых автомобилей, продаваемых в США, использовали бы CAN Bus. С поголовным внедрением универсальной шины передачи данных завершился переход к автомобилю 2.0.
В настоящее время мы видим уже переход к третьему поколению — Connected Car, машина, подключенная к Сети. Connected Car — это автомобиль, имеющий доступ к Интернету, обычно с Wi-Fi-точкой доступа внутри. Благодаря наличию доступа к Сети возможно предоставление различных дополнительных сервисов как для водителя и пассажиров, так и для автопроизводителя и сторонних компаний. Например, автоматическая нотификация о трафике, дорожных проблемах или других событиях; услуги автоконсьержа (отправка SMS о предполагаемом времени прибытия, бронирование парковок и т.д.); определение стиля вождения, что может влиять на стоимость автостраховки; различные сервисы для владельцев грузовых автомашин и автобусов; сбор телеметрии и предсказание поломок и многое другое.
Подобные технологии есть уже у большинства ведущих автопроизводителей, например Volvo On Call, Chrysler UConnect, General Motors OnStar. Чем же принципиально отличается авто 3.0 от авто 2.0? Несмотря на то что технически Auto 3.0 — это тот же автомобиль 2.0, но с подключением одного или нескольких из электронных блоков к Интернету, с точки зрения владельца машины, это добавляет кучу приятных и полезных сервисов, включая возможность пользоваться доступом в Интернет прямо в пути (не забывайте, что за рулем не стоит твитить или постить в Facebook — это может закончиться очень печально). А вот с точки зрения эксперта по кибербезопасности, разница просто огромная — к автомашине, ее внутренним системам появился удаленный доступ, со всеми вытекающими отсюда последствиями.
И последствия не заставили себя долго ждать. Год назад на конференции Black Hat исследователи Чарли Миллер и Крис Валасек опубликовали отчет об успешном удаленном взломе автомобиля. Сначала водитель не смог управлять взбесившимися кондиционером, радио и дворниками лобового стекла. А потом и самим автомобилем. Газ и тормоз Jeep слушались только находящихся где-то вдали исследователей, но не хозяина в салоне автомобиля.
Машина не была никак модифицирована. Проделать все это позволила уязвимость в установленной на борту системе Uconnect, отвечающей за связь с внешним миром через инфраструктуру сотового оператора Sprint в автомобилях автоконцерна FCA (Chrysler, Dodge, Fiat, Jeep и Ram). Достаточно знать внешний IP-адрес жертвы, для того чтобы перезаписать код в головном устройстве машины. Разумеется, концерн FCA оперативно отреагировал и выпустил программную заплатку для Uconnect, которую можно поставить либо у официального дилера, либо самостоятельно через USB-порт.
Это был не первый инцидент, показывающий недостатки базовых механизмов безопасности, встроенных в современные автомобили по умолчанию. До этого уже были и локальный перехват управления через диагностический порт OBD-II, и подмена обновлений ПО через фальшивую сотовую базовую станцию.
Для того чтобы построить надежную и правильную систему безопасности, нужно в первую очередь знать, от чего защищаться. Выше я привел примеры успешных атак, но это всего лишь примеры, хоть и очень ценные. Давайте подойдем к вопросу формирования векторов атак, используя чуть более формализованный подход, а затем, уже зная, от чего мы защищаемся, обсудим возможные варианты защиты от этих угроз.
С нашей точки зрения, современный подключенный автомобиль — это не только и не столько компьютер на колесах. Это в первую очередь киберфизическое устройство, во-вторых, это цифровое или киберустройство, в-третьих, это масса облачных сервисов, которыми пользуется автомобиль (хотя зачастую водитель может и не подозревать, что такие сервисы существуют), и, конечно же, мобильные устройства, которые тоже общаются не только с облачными сервисами, но и с автомобилем.
Эти моменты важно понимать в первую очередь для того, чтобы правильно определить векторы потенциальных атак.
Итак, угрозы. Я не буду утомлять читателя данными из наших исследований о деталях угроз (это тема для других статей), а сразу же перейду к выводам. Мы рассматриваем пять основных категорий векторов: атаки на облачные сервисы, различный сетевой доступ (пути доставки), маршрутизатор в автомобиле (если кратко, то это устройство работает как сетевой маршрутизатор, соединяет различные электронные узлы и содержит таблицы маршрутизации пакетов автомобильных шин данных), автомобильные шины передачи команд и электронные блоки управления автомобиля:
Разумеется, этот список в значительной степени зависит от конфигурации конкретного автомобиля и может как уменьшаться, так и увеличиваться за счет новых векторов угроз.
Мы видим, что есть пути проникновения и компрометации автомобиля, но остается вопрос «Зачем?». Зачем кому-то взламывать автомобиль? Есть несколько причин.
Во-первых, это могут быть деньги. Концепция Ransomware вполне может найти применение и в автомобильной теме. Только представьте, что утром вы пытаетесь завести свой автомобиль, а он не заводится, и на экране надпись, гласящая, что ваша машина заблокирована и для разблокировки надо перевести столько-то биткойнов туда-то. Что вы бы сделали в такой ситуации?
Во-вторых, это шпионаж. В автомобилях ведь не только ездят, но и работают и проводят переговоры. Включив микрофон или камеру внутри салона, можно получить доступ к эксклюзивной информации. Не секрет, что чем дальше, тем больше персональной информации будет храниться в машинах. Dr Dieter Zetsche, Chairman Daimler AG не так давно заявил, говоря о будущем компании: «Мы работаем над машинами нового поколения, которые будут служить как самые настоящие компаньоны. Они будут изучать ваши привычки, адаптироваться к вашему выбору, предсказывать ваши шаги и взаимодействовать с вашими социальными сетями».
В-третьих, это атаки с целью навредить водителю, пассажирам или другим участникам движения.
Надеюсь, что я вас уже достаточно напугал и вы уже сомневаетесь, покупать или не покупать современный автомобиль. Я совершенно не призываю отказаться от всех благ, которые приносят нам бортовая электроника и подключение к Сети. Я призываю автопроизводителей и тех, кто делает компоненты для машин, серьезно отнестись к проблеме и разрабатывать свои новые автомобили с учетом новых рисков.
Мы в «Лаборатории Касперского» исповедуем подход, основанный на четком понимании того, какие риски существуют, и на анализе этих рисков. Для управления киберрисками могут использоваться разные защитные технологии, имеющие свои плюсы и свои минусы.
Подход «Лаборатории Касперского» для обеспечения внутренней безопасности современных автомобилей основывается на двух базовых архитектурных принципах: изоляция и контролируемые коммуникации. Изоляция гарантирует, что две независимые сущности (приложения, драйверы, виртуальные машины) никак не смогут повлиять друг на друга. Например, развлекательные приложения не будут оказывать влияния на технологическую сеть. Ни на борту самолета, ни в автомобиле.
Контроль коммуникаций тоже очень пригодился бы хозяину Jeep. Именно такой контроль гарантирует, что две независимые сущности, которые должны взаимодействовать для работы системы, будут делать это четко в соответствии с политиками безопасности. Использование криптографии и аутентификации для передачи и приема информации вовне и обратно также является неотъемлемой частью защищенной системы.
Описанный подход, изоляция и контроль коммуникации, является основополагающим принципом работы KasperskyOS, микроядерной безопасной операционной системы с контролируемым межпроцессным взаимодействием. Каждый логический домен получает свое адресное пространство, и все общение между доменами всегда проходит через монитор безопасности.
Из бортовой электроники, управляющей критическими функциями автомобиля и теоретически подверженной атакам, можно назвать головное устройство (head unit, HU) и электронные блоки управления (electronic control unit, ECU). Вторые в современном автомобиле образуют целую сеть контроллеров — это блоки управления двигателем, трансмиссией, подвеской и т.д. В результате появляется огромный потенциал для использования в автоиндустрии операционной системы KasperskyOS. Auto 3.0 требует изменения типа мышления, самого подхода к архитектуре систем безопасности.
Подключенный автомобиль — это всего лишь клиент для огромного набора облачных сервисов. Это привычные карты и навигация, информирование о трафике и дорожной ситуации, мониторинг качества вождения, управление флотом автомобилей для бизнесов и многое другое. В очень недалеком будущем автомобиль будет постоянно на связи, обмениваться мегабайтами данных и принимать решения за водителя, серьезно облегчая его жизнь. И все эти плюсы могут обернуться огромными проблемами, если не уделить должного внимания кибербезопасности облачной инфраструктуры, аутентификации, шифрованию трафика, хранению криптоключей и многому другому.
За 100 с небольшим лет автомобиль прошел путь от чисто механического к сложному киберфизическому устройству. Теперь в нем тесно переплетены физические приспособления, влияющие на безопасность участников движения, и цифровые системы, которые, с одной стороны, связаны с внешним миром, а с другой — с теми самыми физическими устройствами. И наша задача состоит в том, чтобы, обеспечивая кибербезопасность автомобиля, повысить его физическую безопасность.
А что же будет дальше? Как насчет автомобиля 4.0? Автопилоты, умная организация дорожного движения. Не хотел бы вас пугать, но с ростом цифровых плюсов увеличивается и количество цифровых рисков. Но это уже тема для другого исследования и отдельной статьи.