Oleg Bondarenko - Threat Intelligence particularities world-wide. Real life u...
Alexander Olenyev & Andrey Voloshin - Car Hacking 101 by NoNameCon
1. Car Hacking 101
Andrey Voloshin
CTO @ Thea
https://thea-auto.com
andrey@thea-auto.com
fb.com/anvol
Рынок automotive сильно изменяется. Ситуация с безопасностью автомобилей будет улучшаться, но есть ряд проблем, которые мешают поднять ее до
необходимого уровня прямо сегодня
2. То, что мы видим как один автомобиль или бренд делается сотнями разных компаний. Более того, для разных географических рынков поставщики
отличаются
3. Tiered supply chain
Структура поставщиков для OEMов выглядит следующим образом. Каждый участник этой цепочки должен обеспечивать безопасность своих процессов и
поставляемых компонентов
4. Attack vectors
1 2 3 4. Aftermarket
Можно выделить 4 основных вектора атак.
- Поставщики компонентов
- собственно, автозавод
- логистика и автодилеры
- владелец автомобиля и собственно его автомобиль
5. Attack vectors
1 2 3 4. Aftermarket
1. PKI, secure boot, source codes, backdoors, etc
2. OEM backend infrastructure (including app stores, multimedia, databases, documentation)
3. Diagnostic equipment, engineer codes, key duplicates, etc
4. Control car, steal car, dump private data, etc
Каждый из векторов содержит свой лакомый кусочек. В целом, атаки на 3, 2, 1 являются наиболее сложными (high-profile attacks) но и наиболее урожайными
6. Percentage of respondents who want security
but are unwilling to pay premium for it
В то же время, исходя из анализа рынка — никто особо не хочет платить за безопасность
7. TL;DR — F* security
это создает окно возможности, где триггером или стимулом для быстрого введения дорогостоящих средств защиты будет письмо утром…
8. –Robert Bates, chief safety officer for automotive at Mentor, a Siemens Business
If I am the CEO of General Motors, five years
from now the last thing I want to see is an email
in my inbox in the morning that says
‘Pay me $2 billion or else all of your cars are
going to turn left.’
каждый дополнительный или усложненный элемент автомобиля удорожает его. Потому новый функционал появляется в первую очередь в топовых
комплектациях и моделях и только потом мигрирует в дешевые
9. – Serious Anonymous
Yeah, go hack my Daewoo Lanos, lamo
но основную массу составляют средние и дешевые тачки
10. – Serious Anonymous
Most of them are cheap
сколько вы видите тут Тесл? Порше? Это дешевые доступные автомобили
12. CANbus
• Development of the CANbus started in 1983 at Bosch
• No encryption, no authorization, broadcast, fully trusted network
• Released in 1986 at the Society of Automotive Engineers (SAE) conference in
Detroit, Michigan
• CAN device that uses 11-bit identifiers is commonly called CAN 2.0A
• CAN device that uses 29-bit identifiers is commonly called CAN 2.0B
• The 1988 BMW 8 Series was the first production vehicle to feature a CAN-based
multiplex wiring system
одним из повсеместных улучшений стало использование CANbus для обмена данными между компонентами автомобиля
13. CAN Network
кан сеть представляет из себя общую одноранговую шину с подключенными к ней устройствами.
14. в автомобиле может быть несколько кан шин, которые работают на разной скорости
15. наиболее известный вариант подключения — диагностический разъем. Он обязательно присутствует в легковых автомобилях, это требуется сертификацией
для продажи в Европе и США
16. приборная панель — еще одна удобная точка подключения и получения информации с кан шины
19. In-vehicle Infotainment system
• Connectivity (BT, GSM, USB, WiFi)
• QNX — UNIX-based OS
• Connected to CANbus
Наличие беспроводных интерфейсов, проводных интерфейсов, СД/ДВД, полноценная ОС иногда даже с выходом в интернет. Часто встречается ситуация,
когда все таски ОС имеют полный доступ на чтение/запись кан шины. Возможно у вас есть опыт работы в Люксофте на проектах по разработке IVI, тогда вы
знаете намного больше деталей…
20. – 115th Congress (2017-2018): SPY Car Act of 2017
ISOLATION MEASURES.—The measures referred to in
subparagraph (A) shall incorporate isolation
measures to separate critical software systems from
noncritical software systems.
Ситуация с отсутсвием сегментации сети достаточно плачевна. Именно через IVI систему в свое время хакеры получили контроль над Jeep и удаленно могли
нарушать его работу. В США в июле был выдвинут законопроект о штрафах автопроизводителей за такую лажу в архитектуре (8к долларов/тачку если там
нет изоляции)
21. с появлением систем ADAS (advanced driver-assistance systems) увеличилось количество сенсоров и интерфейсов, через которые можно попасть в кишки
автомобиля
22. Attack
• Physical access: buy/rent a car, ECU, IVI and sniff it, prepare payloads
• Near access: FCC ID + Software Defined Radio, Key fob Relay/
Amplification attacks, PKES, Flood or send malformed data to sensors
• AI specific: signal absorbing materials, fool AI with perturbations (next
slide)
• Remote access: hack into backend infrastructure, OTA Updates, App
Store, master keys, encryption keys
план атак выглядит следующим образом:
- получить в руки машину или ее компоненты и реверсить их для понимания работы и создания payloads. В том числе, анализ беспроводных интерфейсов
(иммобилайзер, key fobs, PassiveKeylessEntryStart systems), атаки на компьютерное зрение и машинное обучение, fuzzing.
- отдельно стоит напомнить, что там, в облаке, крутится инфраструктура, которая как и любой другой сложный продукт потенциально содержит уязвимости
23. Universal adversarial perturbations
интересный пример атаки (февраль 2018) на компьютерное зрение. Внесение небольших искажений в картинки радикально влияет на распознавание образа
нейронкой. “ИИ” — это всего лишь умножение матриц, а человеческому мозгу не нужно 100500 картинок унитаза и далматинца, чтобы научиться их
различать.
24. Tools
• Connectors
• Logic Analyzer
• CAN sniffer
• Hackware
Из необходимых инструментов стоит выделить CAN sniffer и софт для анализа кан шины
25. Tools
• OS Setup: GNU/Linux, SocketCAN + can-utils (CAN -> USB -> can0),
• Software: Wireshark, SavvyCAN, etc
• Hardware: buy or DIY. Choose wisely, it should support slcan/SocketCAN
protocol. We choose STM32+MCP2551
• https://github.com/torvalds/linux/blob/master/drivers/net/can/slcan.c
сетап выглядит следующим образом. Настоятельно рекомендую использовать устройва поддерживающие SocketCAN/slcan. Это позволит использовать весь
набор инструментов, которые в своей время коммитнул фольксваген в ядро линухи. Фактически, здесь на слайде представлено то, что мы будем делать и
изучать завтра на воркшопе
26. знакомый wireshark видит can интерфейс и весело логирует все фреймы, которые поймал. Но проблема в том, что кан шины более специфична
27. в каждом CAN фрейме есть ID и данные. Под одним и тем же ID гуляют одни и те же данные. Например, если под ID 0x27 в первом байте передается
температура двигателя, то она всегда в этом автомобиле будет передаваться под ID 0x27 в первом байте.
28. – Serious Anonymous
Have fun
суть реверса состоит в определении под какими ИД ходят какие данные и использование этой информации для создания пейлоада
29. – Serious Anonymous
Or not so much…
процесс очень напоминает работу с ArtMoney, только удовольствия чуть меньше…
31. Bonus: keypad hack
в автомобилях форд можно встретить такие кодовые замки. Особенность их в том, что они проверяют код скользящим окном. Другими словами, если вы
вбиваете 12345, а настоящий код = 2345, то дверь откроется