NeoQUEST: Автомобиль – смартфон на колесах. пристегните...

Post on 04-Jul-2015

787 views 0 download

description

Presentation from NeoQUEST Conference. How sync devices with your computer could be a reason of cyber crime.

Transcript of NeoQUEST: Автомобиль – смартфон на колесах. пристегните...

Автомобиль – смартфон на колесах:

пристегните кибер-ремни

безопасности!

Печёнкин Александр

В России ~30 млн. автомобилей

В мире > 1 млрд. автомобилей

К 2020 ожидается ~1,7 млрд.

~30 тыс. смертей в год

~300 тыс. раненых в год

2

3

«Хакер» угнал автомобиль с

помощью особого CD-диска,

вставленного в магнитолу

«Чего только не придумают

киношники?»

• Машина категорически не пожелала выходить из режима cruise control и упорно продолжала держать скорость 100 км/час, невзирая на все попытки водителя притормозить

2009 г., Австралия,

Ford Explorer

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

2003 г., Таиланд, BMW

• Проблема с круиз-контролем. В результате машина ехала со скоростью 130 км/час. Автомобиль сумели остановить только путем торможения об полицейскую машину

2005 г., США, Pontiac

• Во время езды включил печку на полную мощность, не давая ее выключить

2009 г., США, Dodge Caravan

4

5

Центральный замок

автомобиля был открыт при

помощи подключения к CAN

шине. Добрались до

которой, проделав

небольшое отверстие в

задней правой двери.

Угон Porsche Cayenne в

аэропорту Пулково

Санкт-Петербурга

• Скандальный журналист: Майкл Хастингс

• США, Голливуд, 2013 г.Кто? Где?

Когда?

• Машина на скорости ~160 км/ч проскочила 3 перекрестка на красный свет, а на абсолютно прямой дороге резко вылетела на разделительную полосу и ударилась в дерево с феноменально мощным взрывом

Что случилось?

• Анализ видеозаписей показал, что было три взрыва. Два еще при движении автомобиля — в отсеке двигателя, а третий, с самым мощным воспламенением, охватил огнем кабину при столкновении с пальмой

Из-за чего?

• «В случае Майкла Хастингса те свидетельства, которые стали публично доступными, согласуются с признаками кибератаки»

Что говорят?

6

• Электроника и ПО в 1990 году – 15% стоимости автомобиля

• В 2000 году — 25%

• Сейчас - 40%

Все больше финансовых

вложений и затрат

• В современном автомобиле несколько миллионов строк кода

• Больше, чем в космическом шаттле

• В автомобилях премиального класса объём ПО > 1 Гб

Все больше программного обеспечения

• По данным исследования инженерной ассоциации IEEE, софт уже обеспечивает 90% инноваций в автомобилях

Электроника и ПО – источник инноваций

7

CAN шина

PCM

RCM

PDM HFM

ABSSCM

DDM

HVA

C

Модуль

управления

двигателем

Дверь

водителяПассажирские

двери

Управление

рулевой

колонкой

Модуль

управления

радио

Антиблокировочная

тормозная система

Hands

Free

Модуль

Вентиляция,

кондиционер

8

CAN

• Связь между ЭБУ, диагностика

• Поле данных: до 8 байт

• Широковещательная рассылка сообщений

• Скорость: до 1 Мбит/с

• CSMA/CA – Алгоритм Арбитража

K-Line

• Диагностика: связь между ЭБУ и оператором

• Поле данных: до 255 байт

• Master-Slave

• Скорость: до 10,4 Кбит/с

• UART

Format

(1 байт)

Dest

(1 байт)

Src

(1 байт)

Len

(1 байт)

SID

(1 байт)

CS

(1 байт)

Data

(0-255 байт)

S

O

F

ID

(11 Бит)

R

T

R

I

D

E

R

0

D

L

C

Data

(0-8 Байт)

CRC

(15 бит)

C

R

C

D

E

L

EOF

(7 бит)

9

Стандартизующие организации

• Комитет ISO/TC22/SC3/WG1

• Американское Общество инженеров автомобилестроения (Society of AutomotiveEngineers)

• Международная группа OSEK/VDX«Открытые системы и соответствующие интерфейсы для автомобильной электроники»

ISO 11898

• Road vehicles Interchange of digital information digital information. Controllerarea network (CAN) for high-speed communication

• Транспортные средства. Обмен цифровой информацией. Локальная сеть контроллеров CAN для быстрой связи

ISO 11519-2

• Road vehicles. Low-speed serial data communication. Part 2. Low-speed controller areanetwork (CAN)

• Транспортные средства. Низкоскоростная последовательная связь данных. Часть 2. Низкоскоростная локальная сеть контроллеров CAN

10

Уровень CAN K-Line

Прикладной ISO 14229

ISO 15765-3 ISO 14230-3

Unified Diagnostic Services

Представления - -

Сеансовый ISO 15765-2

Diagnostics on CAN

ISO 14230-2

Транспортный ISO 15765-2

Diagnostics on CAN

-

Сетевой -

Канальный ISO 11898

CAN

ISO 14230-2

Физический ISO 14230-1

Dia

gnostic

com

munic

atio

n

11

• Последовательный, широковещательный, пакетныйРежим передачи

• Определяет передачу в отрыве от физического уровня

• На практике под CAN-сетью понимают обычно подразумеваются сеть топологии «шина»

Среда передачи

• Гарантируется доступ к шине сообщений с максимальным приоритетом без задержек

Недеструктивныйарбитраж

• Исчерпывающая схема контроля ошибок

• Автоматическое устранение узла, являющегося источником ошибочных пакетов в сети

Контроль ошибок

• Де-факто – стандарт для автомобильной автоматики

Применение

12

• Различные виды транспорта

• Производственная промышленность

• Строительство

• Сельское хозяйство

• Медицинское оборудование

CAN является идеальным решением

для любого оборудования,

где микроконтроллеры обмениваются

сообщениями друг с другом

и с удаленными периферийными

устройствами

13

Поле данных(0-8 байт)

IDEИдентификатор Контрольная

сумма (15 бит)Конец кадра

Поле

арбитража

Начало кадра RTR(поле арбитража завершается

битом удаленного запроса)

ACK слот(контроллер, который правильно

принял сообщение,посылает бит подтверждения в сеть)

Разделительконтрольной суммы

(должен быть рецессивным)

РазделительACK слота

(должен быть рецессивным)

Длина данных

УникальныйИдентификатор

(идентификатор говорит о содержимомпакета и служит для определения приоритета

при попытке одновременнойпередачи несколькими сетевыми узлами)

Логический ноль – доминантный битЛогическая единица – рецессивный бит

При одновременной передаче в шину нуля и единицы, на шине будет зарегистрирован только логический ноль, а

логическая единица будет подавлена.R

0

DLC

Зарезервированный бит

Бит расширенногоформата кадра

14

CAN шина

PCM

RCM

PDM HFM

ABSSCM

DDM

HVAC

Модуль управления двигателем

Дверь водителя

Пассажирские двери

Управление рулевой

колонкой

Модуль управления

радио

Антиблокировочная тормозная система

Hands Free

Модуль

Вентиляция, кондиционер

Скомпрометировав один из модулей CAN, злоумышленник может отправлять в сеть

произвольные сообщения. Искусственно созданные сообщения, могут быть получены другими модулями

CAN сети, и восприняты ими как легитимные.

15

Управление

рулевой

колонкой

Модуль

управления

двигателем

Антиблокировочная

тормозная система

Hands

Free

Модуль

Вентиляция,

кондиционерПассажирские

двери

Модуль

управления радио

Интегрированный

блок питания

Управление

коробкой передач

Выполняет роль шлюза

CAN-High

CAN-Low

16

Шлюз

ЭБУДвигателя

Превентивная защита

Навигация

ЭБУABS

ЭБУESP

Круиз-контроль

Мульти-медиа

Радио GSM

Телефон

GPS

Климат-контроль

Парковочный датчик

Приборная панель

ЭБУ Систем комфорта

ЭБУ дверей

ЭБУ светотехники

Камера заднего вида

Основная CAN-шина

Информационная CAN-шина

Комфорт CAN-шина

OBD-II порт

Рулевая система

Подушки безопасности

ЭБУАКПП

Диагностическая линияK-Line

500 Кбит\с

100 Кбит\с

100 Кбит\с

17

18

19

Шина Скорость

Шина CAN-привод 500 кбит/с

Шина CAN-комфорт 500 кбит/с

Расширенная шина CAN 500 кбит/с

Шина CAN индикации и управления 500 кбит/с

Шина CAN-диагностики 500 кбит/с

FlexRay 10 Мбит/с

Шина MOST 22,5 Мбит/с

Шина LIN 20 кбит/с

Системы дополнительных шин 500 кбит/с

20

ESMЭБУ

селектора

TPMДатчик

давления шин

ORCКонтроллер вторжения

TCMУправление

коробкой передач

PCMМодуль управления

двигателем

ABSАнтиблокировочная тормозная система

WINБеспроводной

узел зажигания

SCMУправление

рулевой колонкой

PEMМодуль

беспроводного доступа

HVACВентиляция,

кондиционер

RCMМодуль

управления радио

AMPЭБУ

усилителя

DDMДверь

водителя

HSMПодогрев сиденья

EOMВерхний

электронный блок

PDMПассажирские

двери

HFMHands Free

модуль

CCNЭБУ салонного оборудования

SUNRУправление

люком

TIPMИнтегрированный

блок питания

21

Угрозы ИБ

1 Несанкционированное управление:

(А) Двигатель, (Б) тормоза, (В) руль,

(Г) замки дверей, (Д) прочее

2 Утечка информации:

(А) Перехват передаваемых данных

по сети (управл. сообщения,

координаты,

данные из телефона)

(Б) Из памяти ЭБУ (ключи доступа)

3 Внедрение в сеть:

(А) OBD-II порт

(Б) Физическое подключение

(В) Подмена ЭБУ

4 Внедрение в ЭБУ:

(А) Проводные сети: CAN, K-Line

(Б) Мультимедийные интерфейсы:

CD\DVD, USB, AUX, SD

(В) Беспроводные интерфейсы:

Radio, Bluetooth, GSM, 3G

5 Отказ в обслуживании:

(А) ЭБУ своей подсети

(Б) ЭБУ других подсетей

Широковещательная рассылка

Широковещательная рассылка

Недостаток алгоритма арбитража

Недостаток алгоритма арбитража

Свободная пересылка сообщений

шлюзом

Свободная пересылка сообщений

шлюзом

Передача данных в открытом виде

Передача данных в открытом виде

Слабый контроль доступа к

сервисам ЭБУ

Слабый контроль доступа к

сервисам ЭБУ

Отсутствие проверки подлинности узлов и

сообщении

Отсутствие проверки подлинности узлов и

сообщении

1Г5А

2Б3А

4А5Б

4Б4В

22

Способы внедрения

1 Внедрение в сеть:

(А) OBD-II порт

(Б) Физическое подключение

(В) Подмена ЭБУ

2 Внедрение в ЭБУ:

(А) Проводные сети: CAN, K-Line

(Б) Мультимедийные интерфейсы:

CD\DVD, USB, AUX, SD

(В) Беспроводные интерфейсы:

Radio, Bluetooth, GSM, 3G

Обслуживающий персоналВнешний нарушитель

Пассажир

23

Шлюз

ЭБУ

двигателя

Тормозная

система

Рулевое

управление

Радио Навигация Мультимедиа

Основная

CAN-шина

Информационная

CAN-шина

Вредоносный

модуль

24

25

DiagnosticDevice

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

• При заражении интерфейсныхкомпьютерных устройств, используемых на станциях автосервиса, оказываютсяскомпрометированными все подключавшиеся к ним машины.

Злоумышленник подключается к диагностическому порту при помощи

специального устройства

Программная оболочка скомпрометирована и может

быть использована для отправки команд в CAN сеть

26

Соединение

• DiagnosticSessionControl

• CommunicationControl

• TesterPresent

Работа с памятью и данными

• ReadMemoryByAddress

• WriteMemoryByAddress

• ReadDataByIdentifier

• ReadDataByPeriodicIdentifier

• WriteDataByIdentifier

Контроль доступа • SecurityAccess

Удаленное выполнение кода

(like RPC)• RoutineControl

Работа с датчиками и

сенсорами• InputOutputControlByIdentifier

Диагностические коды

• ReadDTCInformation

• ClearDiagnosticInformation

27

Соединение

• StartDiagnosticSession

• StopDiagnosticSession

• SetDataRates

Работа с памятью и

данными

• ReadMemoryByAddress

• WriteMemoryByAddress

• ReadDataByLocalIdentifier

• WriteDataByLocalIdentifier

• DynamicallyDefineLocalIdentifier

Контроль доступа

• SecurityAccess

Удаленное выполнение

кода (like RPC)

• StartRoutineByLocalIdentifier

• StartRoutineByAddress

• StopRoutineByLocalIdentifier

• StopRoutineByAddress

• RequestRoutineResultsByLocalIdentifier

• RequestRoutineResultsByAddress28

Диагностические коды

• ReadDiagnosticTroubleCodes

• ReadDiagnosticTroubleCodesByStatus

• ReadStatusOfDiagnosticTroubleCodes

• ReadFreezeFrameData

• ClearDiagnosticInformation

Работа с датчиками и

сенсорами

• InputOutputControlByLocalIdentifier

• InputOutputControlByCommonIdentifier

Загрузка и выгрузрка

• RequestDownload

• RequestUpload

• TransferData

• RequestTransferExit

29

Управление рулевой колонкой

Модуль управления двигателем

Антиблокировочная тормозная система

Hands Free Модуль

Вентиляция, кондиционер

Пассажирские двери

Модуль управления радио

Интегрированный блок питания

Управлениекоробкой передач

Выполняет роль шлюза

CAN-High

CAN-Low

Control Key

Для некоторых критически важных команд чаще всего необходима разблокировка с помощью Device Control Key.

Без данного ключа контроллер может проигнорировать команду.

30

32

JAMES Flash TAMER DRIFT PANDA

MAZDA COLIN Bosch HAZEL Janis

MazdA MHeqy a_bad 12345 Rowan

mAZDa BradW conti ARIAN Jesus

Работа Charlie Miller & Chris Valasek, результаты

представлены на DEF Con

Модуль CAN шины, предоставляющий беспроводной

интерфейс

• Подавляющее число уязвимостей,по данным исследований CAESS(Center for Automotive EmbeddedSystems Security), возникаютна границе взаимодействияинтерфейсов модулей CAN шины.

Злоумышленник при помощи беспроводных устройств формирует

вредоносный пакет данных

Некорректная обработка данных приводит к выполнению

внешнего кода

Программная оболочка беспроводного модуля

скомпрометирована и может быть использована для отправки

команд в CAN сеть

33

34

35

«Мы рассматриваем автомобиль

как очередной цифровой девайс,

как большой смартфон, – говорит

президент отдела продвинутых

устройств AT&T Гленн Лаури –

наша цель – перевести

автомобиль на другой уровень»

«Министерство транспорта США

официально одобрило использование

технологии «connected car», которая

предполагает подключение автомобилей

к беспроводному интернету для

возможности управления и отслеживания

автомобиля дистанционно

Как ожидается, министерство займется

подготовкой новых норм, которые

сделают технологию «vehicle-to-vehicle»

обязательной

Европарламент вводит обязательную

установку системы eCall на всех

автомобилях с октября 2015 года

20 декабря Госдума приняла закон

о работе системы экстренного

реагирования при ДТП "ЭРА-

ГЛОНАСС". Принятый закон

вступает в силу 1 января 2014

года. А с 2015 года эта система

станет обязательной к установке

на автомобилях России,

Белоруссии и Казахстана.

СШ

АС

ША

СШ

АЕ

вропа

Росси

я

Vehicle to Vehicle

36

RCMМодуль управления

радио

• По данным исследований CAESS(Center for Automotive EmbeddedSystems Security), некоторые модулиCAN шины подвержены рискувыполнения вредоносного кода, посредством специально сформированного медиа-файла.

Злоумышленник загружает вредоносный файл

Некорректная обработка файла приводит к выполнению

внешнего кода

Программная оболочка модуля управления радио

скомпрометирована и может быть использована для отправки

команд в CAN сеть

37

38

39

Официальный научно-технический орган США

«Комитет Национальной академии наук по

электронным системам управления

автомобилей и их непреднамеренному

ускорению»

• Возможно без ведома автовладельца выключать двигатель, запирать двери, отключать тормоза, подменять показания спидометра и т.д.

Тотальный контроль

• Вредоносные программы могут затем бесследно и полностью самоуничтожаться, создавая видимость случайного отказа оборудования

Безуликовость

• Превратили песню на CD и iPod в троянского коня. Когда она воспроизводится магнитолой ее прошивка перепрограмми-руется, что дает точку входа в систему CAN

Внедрение

40

41

• Реализовано на C

• Чтение данных из CAN шины

• Запись данных в CAN шину

EcomCat

• Получение CAN пакетов

• Отправка CAN пакетов

• Отправка диагностических пакетов

EcomCat API

• Обертка для Python

PyEcom

Аутентификация оператора

Протоколирование действий оператора

Взаимная аутентификация ЭБУ и шлюза

Использование средств защиты памяти ЭБУ

Фильтрация сообщений

42

1. Аутентификация

2. Запрос аутентификации

3. Передача ECU_RAND 4. Передача ECU_RAND

6. Передача шифртекста C7. Передача шифртекста C

RSA

Шифртекст C RSA

9. Сравнение P и ECU_RAND

10. Подтверждение

11. Чтение и диагностика

Значение P

CAN-шина / K-Line VPN / SSL

ЭБУ Официальный сервис Производитель

8. Расшифрование шифртекста C

5. ЗашифрованиеECU_RAND

Закрытый ключ производителяОткрытый ключ

производителя

43

1. Аутентификация2. Аутентификация

RSA

Шифртекст C RSA

11. Проверка кода доступа

12. Разрешение записи

13. Запись

Код доступа

CAN-шина / K-Line VPN / SSL

ЭБУ Официальный сервис Производитель

10. Расшифрование C

7. Код доступа

3. Попытка записи

4. Запрос кода доступа5. Запрос кода

доступа

8. Передача шифртекста C

6. Протоколи

рование действия

9. Передача шифртекста C

44

Сеансовый ключ

RSA

RSA

Шифртекст C_ECU

CAN-шина

ЭБУ Шлюз

3. ЗашифрованиеGW_RAND

1. Запрос, передача ECU_ID

2. Ответ, передача GW_ID и GW_RAND5. Расшифрование

C_ECU4. Передача шифртекста C_ECU

6. Сравнение D_GW и GW_RAND Значение D_GW

7. Подтверждение

RSA

16. Зашифрование

сеансового ключа

Шифртекст С_KEY

8-15. Аутентификация шлюза

. . .

17. Передача шифртекста С_KEYRSA

18. Расшифрование сеансового

ключа

18. Обмен зашифрованными данными

Открытый ключ ЭБУ

Закрытый ключ ЭБУ

Сеансовый ключ

45

Контроль целостности

Шифрование памяти

Контроль условий работы

ЦПКрипто-

процессор

CAN

K-Line

Энергозависимая память

Энергонезависимая память

Открытый ключ шлюза

Открытый ключ производителя

Закрытый ключ ЭБУ

Программный код

Данные

Защищенная микропроцессорная система

46

Мультимедиа

Шлюз

ЭБУдвигателя

Информационная CAN-шина

Основная CAN-шина

USB CD AUX

Командаостановки двигателя

Фильтрация поидентификатору

Фильтрация потипу сервиса и

функции

Фильтрация потипу фрейма

Фильтрация потипу команды

47

Защита от несанкционированного управления ЭБУ

Защита от перехвата данных, передаваемых по сети

Защита от несанкционированного доступа к памяти ЭБУ

Возможность обнаружения нарушителя

Снижение производительности сети

Повышение стоимости ТС

48

Технические

• Малая производительность микроконтроллеров

• Необходимость быстрой доставки и реакции

Финансовые

• Существенное повышение стоимости ТС

Человеческий фактор

• Специалист по транспортной электронике ≠ специалист по ИБ

• Безопасность = закрытость документации и информации

49

50

SMS

Internet

CAN

51

BCM Блок управления двигателем

ИммобилайзерКлюч

Блок управления электроусилителем

Педали

Датчики ABS

52

Volkswagen Passat B6

53

54

55