14 марта 2016

Взлом автомобиля: реальная угроза или абстрактная страшилка?

Безопасность Новости

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

Взлом автомобиля: реальная угроза или абстрактная страшилка?

Судя по дискуссиям на недавно завершившейся крупнейшей в мире конференции по безопасности — RSA, ответ состоит из трех частей. Во-первых, прямо сейчас угроза минимальна. Во-вторых, она будет расти и через несколько лет станет уже весомой. В-третьих, автомобили и автомобильная индустрия устроены таким образом, что решение подобных проблем займет многие годы, может, даже десятилетия. Поэтому действовать необходимо уже сейчас. К счастью, многие в автоиндустрии это понимают.

Паниковать рано

Если вам уж очень хочется запаниковать, посмотрите видео, снятое командой журнала Wired и самыми известными автохакерами — Чарли Миллером и Крисом Валасеком.

В нем журналист Wired Энди Гринберг едет по дороге в новеньком внедорожнике Jeep, а Миллер и Валасек, сидя в сотнях километров от него, сначала дистанционно включают радио и стеклоочистители, а потом переходят к торможению и прочим демонстрациям того факта, что между рулем, педалями, колесами и тормозами давно нет прямой связи — по пути встроены многочисленные автомобильные компьютеры, которые, как выясняется, очень даже подвержены взлому.

Впрочем, провернуть подобный трюк пока что можно на очень немногих автомобилях. По данным экспертов сайта Kelley Blue Book, оглашенным на конференции RSA, средний возраст автомобиля на дорогах США составляет 11 лет, поэтому в этом условном среднем автомобиле (пока) нет ни выхода в Интернет, ни устройств, позволяющих вломиться в автомобильную сеть обмена данными при помощи технологий наподобие Bluetooth. Если проводить параллель со «смартфонами» и «тупофонами», на дорогах сейчас доминируют «тупоавтомобили», которые особо не взломаешь.

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

Все дело в том, что, в отличие, скажем, от компьютеров с их доминированием всего одного типа процессоров (Intel) и полутора операционных систем (Windows и OS X), автомобильная бортовая система состоит из десятков специализированных компьютеров, общающихся между собой по общей шине CANbus.

В этом беда архитектуры — сложно навести порядок и ввести стандартизованные меры безопасности, но здесь же образуется и некоторая защита — разбираться в этом сложно и дорого.

Расслабляться нельзя

Надеяться на то, что приведенные выше соображения будут продолжать защищать и дальше, конечно, не стоит. Число подключенных к Интернету автомобилей постоянно растет. По данным Kelley Blue Book, за последние пять лет количество моделей, подключенных по умолчанию, выросло с 2 до 151.
Взлом автомобиля: реальная угроза или абстрактная страшилка?

К тому же существуют разнообразные устройства с доступом в Интернет, которые можно установить даже на старый автомобиль, подключив их к CANbus. Например, страховые и логистические компании могут устанавливать трекеры, отслеживающие положение авто, стиль вождения и так далее. Подобные устройства тоже могут быть взломаны, и дистанционный доступ к CANbus можно получить через них.

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

Самые простые железки для изучения CANbus основаны на недорогих платформах вроде Raspberry Pi или Arduino, и с их покупкой можно уложиться в сотню долларов, включая аксессуары. Приложения разной степени сырости существуют даже в open source, некоторые доступны бесплатно. Все это означает, что число найденных уязвимостей, расшифрованных протоколов управления для конкретных подсистем конкретных автомобилей, будет расти, и, вероятнее всего, как снежный ком. Злонамеренное использование этих знаний, увы, всего лишь дело времени.

Время действовать

Простого решения проблемы вроде «поставить на головную систему автомобиля антивирус» здесь нет. CANbus — это старый стандарт родом из 80-х, он позволяет любым произвольным системам в авто общаться друг с другом без аутентификации, и, чтобы что-то с этим сделать, нужно переделывать почти все подсистемы автомобиля. Вероятно, такая работа все же будет проведена, поскольку уже сегодня, несмотря на то что взломов автомобиля было примерно полтора, ущерб автопроизводителей от отзывов машин исчисляется миллионами.

В частности, после вышеописанного взлома Jeep автоконцерн Fiat Chrysler отозвал 1,4 млн автомобилей. Что еще более важно, согласно данным Kelley Blue Book, подавляющее большинство опрошенных (56%) считают, что защитное решение должен предоставлять именно производитель, а не сторонняя компания или автодилер.

Однако производителям автомобилей (и комплектующих!) довольно сложно придумывать переделки, поскольку опыта создания систем, которые должны выдерживать недружелюбное вторжение в «мозги» автомобиля, у них маловато.

Здесь на помощь должна прийти индустрия безопасности и разработки программ, поскольку эти сложности знакомы ей по прошлому десятилетию. Проект IAmTheCavalry рекомендует принять «пятизвездную» систему безопасности, когда за каждый правильно организованный элемент системы или производственного цикла производитель и его автомобиль получают звезду. Таким образом, ключевых элементов выходит пять:

1. Безопасный процесс разработки (safety by design)

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

2. Сотрудничество со сторонними экспертами

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

3. Запись и хранение улик

Пока у автомобиля не будет «черного ящика», расследовать инциденты с подозрением на взлом будет очень сложно. Подобный ящик должен хранить в числе прочего весь обмен данными на CANbus. При этом важно учесть аспект конфиденциальности — данные не должны никуда пересылаться.

4. Заплатки и обновления

Если ваш автомобиль оказался подвержен взлому, сегодня есть только один способ решить проблему — ехать в автосервис. Это, конечно, замедляет процесс применения обновлений и снижает процент тех, кто их вообще устанавливает. Поэтому Крейг Смит из OpenGarages рекомендует в срочном порядке создавать систему доставки обновлений «по воздуху» — как у Apple с iPhone.

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

5. Сегментация и изоляция

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

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

Мы в «Лаборатории Касперского» тоже готовы участвовать в этом процессе и работать с рядом крупных производителей автомобилей и компонентов, чтобы помочь создавать безопасные «by design» автомобили. Наша безопасная операционная система здесь очень пригодится.