Upload
neoquest
View
774
Download
0
Embed Size (px)
DESCRIPTION
Presentation from NeoQUEST Conference. How sync devices with your computer could be a reason of cyber crime.
Citation preview
Автомобиль – смартфон на колесах:
пристегните кибер-ремни
безопасности!
Печёнкин Александр
В России ~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А
1Б
1Д
1В
1Г5А
2А
2Б3А
3Б
3В
4А5Б
4Б4В
22
Способы внедрения
1 Внедрение в сеть:
(А) OBD-II порт
(Б) Физическое подключение
(В) Подмена ЭБУ
2 Внедрение в ЭБУ:
(А) Проводные сети: CAN, K-Line
(Б) Мультимедийные интерфейсы:
CD\DVD, USB, AUX, SD
(В) Беспроводные интерфейсы:
Radio, Bluetooth, GSM, 3G
Обслуживающий персоналВнешний нарушитель
Пассажир
1А
2А
1Б
1В
2Б
2В
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