Как защитить автомобиль от взлома — отечественное изобретение — журнал За рулем
Как взламывают автомобили через CAN-шину
Бьюсь об заклад, такого вы еще не видели. Да и я, признаться, тоже. Серийный Ford Focus. Рядом — инженер с ноутбуком. Одно нажатие виртуальной кнопки на ноутбуке — и вдруг грохот, специфический запах сгоревшей селитры и оседающий тальк от взорвавшейся подушки безопасности. Вместо ноутбука может быть смартфон, а вместо Фокуса — ваша машина.
Автомобиль как орудие убийства
В этот раз никто не пострадал. Ведь я нахожусь в одной из лабораторий инжинирингового центра Национального исследовательского ядерного университета МИФИ. И для экспериментов здесь используют не полноценный Ford Focus, а лишь переднюю панель его салона.Молодые программисты утверждают: современные автомобили с CAN-шиной, доступом в интернет и подключением к гаджетам никак не защищены от внешнего воздействия на любую из систем. А это открывает широчайшие возможности для злоумышленников.
К примеру, едет машина в крайней левой полосе и вдруг. самостоятельно поворачивает руль и выскакивает на встречку. Водитель от неожиданности не успевает среагировать, да и пересилить электроусилитель не так-то просто. Авария, катастрофа. Для всех виновник аварии очевиден, но водитель-то ни при чем! Если он вообще останется жив после лобового столкновения.
Угрозы информационной безопасности автомобиля
Конечно, «рулить» извне можно только автомобилем, оснащенным автоматическим парковщиком. Если автопарковщика нет, можно придумать другие изощренные способы — например, дистанционно давить на газ «в пол».
Цели вмешательства извне могут быть самыми разными — от покушения на сильных мира сего с помощью «взбесившейся машины» до банальных подстав на дороге. Автоугонщики активно используют ультрасовременное оборудование и пробелы в защите систем бесключевого доступа. Уверен, что и подставщики быстро обзаведутся новыми инструментами, чтобы увеличить свои доходы.
На иномарках CAN-шины (англ. controller area network — сеть контроллеров) в бортовой электросети применяются не один десяток лет. Перешли на них и отечественные производители. CAN-шина обеспечивает двухстороннюю связь между всеми электронными блоками и системами машины: по ней передаются команды ко всем исполнителям, а те посылают обратные сигналы, которые прочие системы безоговорочно выполняют. В этом и кроется уязвимость современного автомобиля.
В чужой власти
Злоумышленник подключает «жучок» к проводке машины там, куда легче всего подобраться. Например, к цепи, идущей на фару или указатель поворота. Получив питание, новый блок передает любую команду в общую сеть автомобиля, и адресат (конкретный узел или устройство) ее выполняет. Таким способом можно вывести из-под контроля водителя электронную педаль газа, электроусилитель руля, фары и стеклоочистители (ночью и в дождь их выключения хватит для аварии), дверные замки — вообще всё! Можно устроить ДТП любой степени тяжести, остановить машину, получить доступ в салон, дезориентировать водителя. Принцип активации «жучка» — на выбор преступника: по времени, по координатам, с помощью дистанционного управления.
Возможен иной путь — через внешние сети. Мультимедиасистема автомобиля не имеет доступа в интернет? Не проблема! Хакеры будут действовать через ваш подключенный к Глобальной паутине смартфон. Вы же подключили его к головному устройству машины через Bluetooth для общения по громкой связи? Этого достаточно, чтобы он послужил шлюзом для доступа к бортовой мультимедийной системе, а через нее по CAN-шине и ко всей электронике автомобиля. И снова появляется возможность отправить любую разрушительную команду. Аналогичным образом можно использовать модули ЭРА-ГЛОНАСС и навороченные сигнализации.
Наконец, еще один способ вывести машину из-под контроля — залить в штатный блок прошивку, содержащую в себе вредоносный код. Дойдя до него, система выполнит команду, не заподозрив подвоха. Более того, после этого инородные строки могут исчезнуть из программы — и ни одна экспертиза не обнаружит их следов. Крайним будет водитель!
Коробочка с сюрпризом
Мы все свято уверены, что «восстание машин» возможно только в автопилотируемом будущем, а нынешние автомобили находятся под нашим полным контролем. Но после рассказов программистов МИФИ об уже существующих угрозах мне стало не по себе: оказывается, взломать можно даже недорогую Ладу — например, мою редакционную Весту, пока она стоит на институтской парковке.
Проблема настолько серьезна, что ею заинтересовались люди в штатском. Именно по их просьбе специалисты инжинирингового центра МИФИ разработали «вакцину» против вредоносного вируса.
Устройство представляет собой небольшую микросхему размером с корпус ключа зажигания. Ее подключают к CAN-шине и «обучают» — прописывают количество «легальных» блоков, характеристики вредоносных программ и команд. Как только «коробочка» распознáет лишний блок, она идентифицирует его как вирус и заблокирует деятельность вредоносного устройства. Дополнительно установленное оборудование вроде сигнализации и парктроника можно прописать отдельно.
От вмешательства через интернет, мультимедийную систему, модуль ЭРА-ГЛОНАСС или GSM-модуль сигнализации, а также от воздействия «лишних» строк штатной прошивки защищает специальный алгоритм. Он распознаёт постороннюю команду и отменяет ее. Проверил в деле сам: при наличии этой «коробочки» приборная панель Фокуса не реагирует на сторонние действия с подключенного ноутбука.
Разработка способна частично выполнять и противоугонные функции. Если воры попытаются использовать свое электронное оборудование, его работа будет блокирована: «коробочка» воспримет его как несанкционированный блок в конфигурации сети. Но от дистанционного отключения сигнализации умный чип не спасет. Он ведь не знает, откуда пришел сигнал на снятие с охраны — со штатного брелока или с его двойника.
Мифический герой
Разработка полностью отечественная — от идеи до сборки. Разве что часть компонентов микросхемы заказали за границей: наши заводы подобных не производят. Потенциальный интерес к устройству огромный. Сотрудники инжинирингового центра готовы взломать любой автомобиль и доказать его уязвимость.
Отсутствие громких заявлений мировых автоконцернов, что именно их машина умеет противостоять хакерам, косвенно свидетельствует о том, что защита требуется всем. И программисты МИФИ готовы дать автомобильному миру средство от вредоносных вирусов. Быть может, хоть на этом поприще мы окажемся впереди планеты всей. Дело за масштабными испытаниями и внедрением. А пока я лелею надежду, что автомобилисты получат эффективные средства защиты от преступников раньше, чем те выйдут на принципиально новый уровень.
Автомобильный справочник
для настоящих любителей техники
Шина CAN в автомобиле
Шина CAN в автомобиле — это сеть контроллеров, предназначенных для обеспечения подключения электронных устройств, которые способны передавать и получать определенную информацию. Такая схема подключения позволила снизить негативное влияние внешних электромагнитных полей и существенно увеличить скорость передачи данных.
Классификация шинных систем автомобиля
Шина CAN была признана стандартом с момента своего появления в серийно выпускаемых автомобилях в 1991 году. Но она также часто используется и в автоматизации. Основные особенности:
- Передача сообщений с ранжированием приоритетов и неразрушающим арбитражем;
- Снижение затрат благодаря использованию недорогой витой пары и простого протокола с невысокими требованиями к вычислительной мощности;
- Скорость передачи данных до 1 Тбит/с у высокоскоростной шины CAN и до 125 Кбит/с у низкоскоростной шины CAN (более низкие расходы на аппаратную часть);
- Высокая надежность передачи данных за счет распознавания и сигнализации спорадических и постоянных неисправностей и благодаря унифицированию сетевых процессов через acknowledge;
- Принцип много абонентской шины;
- Высокая степень готовности за счет обнаружения неисправных станций;
- Стандартизация по ISO 11898.
Система передачи данных по шине CAN
Логические состояния шин и шифрование
Для обмена данными шина CAN использует два состояния «доминантное» и «рецессивное», с помощью которых передаются информационные биты. Доминантное состояние соответствует «0», а рецессивное — «1». Для шифрования передачи используется процесс NRZ (без возврата на ноль), в котором нулевое состояние не всегда возвращается в промежуток между двумя одинаковыми состояниями передачи и, соответственно, необходимый для синхронизации временной интервал между двумя фронтами может оказаться слишком большим.
В основном используется двухпроводной кабель, в зависимости от окружающих условий, с витой или не витой парой. Две шинные линии называются CAN-H и CAN-L (рис. «Уровень напряжения передачи по CAN» ).
Двухпроводный кабель обеспечивает симметричную передачу данных, при которой биты передаются через обе шинные линии с использованием разных напряжений. Это уменьшает чувствительность к синфазным помехам, поскольку помехи влияют на обе линии и могут быть отфильтрованы путем создания разности (рис. «Фильтрация помех по шине CAN» ).
Однопроводный кабель представляет собой способ сокращения производственных затрат за счет экономии на втором кабеле. Однако общее подключение к массе, выполняющей функцию второго кабеля, должно быть доступно для этой цели всем пользователям шины. Поэтому однопроводный вариант шины CAN возможен только для системы связи с ограниченным монтажным пространством. Передача данных по однопроводному кабелю более чувствительна к излучаемым помехам — он не позволяет фильтровать импульсы помех так, как в двухпроводном кабеле. В результате на шинной линии требуется сигнал более высокого уровня. Это, в свою очередь, отрицательно сказывается на излучении помех. Поэтому необходимо снизить крутизну фронта импульсов сигналов шины по сравнению с двухпроводным кабелем. Это связано с уменьшением скорости передачи данных. По этой причине однопроводной кабель используется только для низкоскоростной шины CAN в области кузова и электроники для функций комфорта. Например, низкоскоростная шина CAN с двухпроводным кабелем в случае обрыва кабеля должна продолжать работать как однопроводная система. Однопроводное решение не описывается в спецификации CAN.
Уровни напряжения шины CAN
Высокоскоростные и низкоскоростные шины CAN используют разные уровни напряжения для передачи доминантных и рецессивных состояний. Уровни напряжения низкоскоростной шины CAN показаны на рис. а, «Уровень напряжения передачи по CAN», а высокоскоростной — на рис. Ь, «Уровень напряжения передачи по CAN».
Высокоскоростная шина CAN в рецессивном состоянии на обеих линиях использует номинальное напряжение 2,5 В. В доминантном состоянии на CAN-H и CAN-L подается номинальное напряжение 3,5 В и 1,5 В, соответственно. В низкоскоростной шине CAN в рецессивном состоянии на CAN-H подается напряжение 0 В (максимум 0,3 В), на CAN-L — 5 В (минимум 4,7 В). В доминантном состоянии на CAN-H напряжение составляет не менее 3,6 В, а на CAN-L не более 1,4 В.
Предельные значения
Для арбитражного метода в случае CAN важно, чтобы все узлы в сети видели биты идентификатора фрейма одновременно, чтобы узел, передавая бит, видел, передают ли их другие узлы. Задержки возникают из-за распространения сигнала в шине данных и обработки в трансивере. Таким образом, максимально допустимая скорость передачи данных зависит от общей длины шины. Стандарт ISO предусматривает скорость 1 Мбит/с для 40 м. У более длинных проводов возможная скорость передачи данных примерно обратно пропорциональна длине провода. Сети с дальностью 1 км могут работать со скоростью 40 кбит/с.
Протокол CAN
Конфигурация шины
CAN работает в соответствии с принципом многорежимного управления, при котором линейная структура шины подсоединяет несколько блоков управления равного приоритета ранжирования.
Адресация по содержанию CAN использует адресацию по содержанию сообщений. Каждому сообщению присваивается метка-идентификатор, который классифицирует содержание сообщения (например, о частоте вращения коленчатого вала двигателя). В каждой станции ведется обработка только тех сообщений, чьи идентификаторы накапливаются в приемочном списке сообщений. Это называется приемочной проверкой (рис. «Адресация и проверка приемки» ). Таким образом, CAN не требует адресов станции для передачи данных. Это облегчает адаптацию к различным уровням оборудования.
Логические состояния шины CAN
Протокол CAN основывается на двух логических состояниях: биты информации являются или «рецессивными» (логическое состояние 1), или «доминантными» (логическое состояние 0). Когда, по крайней мере, одной из станций передается доминантный бит, тогда перезаписываются рецессивные биты, одновременно посылаемые ото всех других станций.
Назначение приоритетов
Идентификатор присваивает адреса данным как содержания, так и приоритета посылаемых сообщений. Идентификаторы, соответствующие низким бинарным числам, используют высокий приоритет и наоборот.
Арбитраж шины CAN
Каждая станция может начать передачу сообщения только после освобождения шины. Когда несколько станций начинают передавать сообщения одновременно, для разрешения создаваемых конфликтов доступа к шине используется арбитраж «wired-and» (монтажное И). Сообщению с высшим приоритетом (наименьшим двоичным значением идентификатора) присваивается право первого доступа, без задержек и потерь битов (рис. «Побитовый арбитраж» ). Передатчики реагируют на невозможность получения доступа к шине путем автоматического переключения в режим приема; затем ими повторяется попытка передачи, как только шина снова освобождается.
Фрейм данных и формат сообщения Шина CAN поддерживает два разных формата сообщений, различающихся только длиной идентификаторов. Стандартный формат включает 11 битов, в то время как расширенная версия состоит из 29 битов. Таким образом, рамка передачи данных содержит максимум 130 битов стандартного или 150 битов расширенного формата. Это обеспечивает минимальное время ожидания до последующей передачи, которая может быть срочной. Фрейм данных состоит из семи последовательных полей (рис. «Фрейм данных» ). «Начало фрейма» показывает начало сообщения и синхронизирует все узлы.
Поле «арбитра» состоит из идентификатора сообщения и дополнительного контрольного бита. Во время передачи этого поля передающее устройство сопровождает передачу каждого бита проверкой о том, что сообщение более высокого приоритета, которое могло бы аннулировать санкционированный доступ, не передается. Контрольный бит определяет, будет ли сообщение классифицироваться как «фрейм данных» или «дистанционный фрейм».
Поле «контроля» содержит код, показывающий количество байтов данных в поле «данных».
Поле «данных» содержит от 0 до 8 байтов. Сообщение длиной 0 данных может быть использовано для синхронизации распределительных процессов.
Поле «CRC» (периодический резервный контроль) содержит контрольную сумму для обнаружения возможных помех при передаче.
Поле «АСК» (уведомление) содержит сигналы подтверждения, с помощью которых получатели подтверждают доставку сообщений.
«Конец фрейма» обозначает конец сообщения.
Затем идет «межфреймовый промежуток», отделяющий фрейм от следующего фрейма.
Инициация передатчика
Передатчик обычно инициирует передачу данных посредством отправки фрейма данных. Однако приемник также может запросить данные от передатчика, отправив дистанционный фрейм. Этот дистанционный фрейм имеет тот же идентификатор, что и соответствующий фрейм данных. Они различаются битом, стоящим после идентификатора.
Обнаружение ошибок
Контролирующими отличительными признаками ошибок являются:
- 15-битовый CRC: (каждый приемник сравнивает получаемую им последовательность CRC с вычисляемой последовательностью);
- Контроль: каждый передатчик считывает с шины собственное переданное сообщение и сравнивает каждый переданный и отсканированный бит;
- Заполнение битами: (между началом фрейма и концом поля CRC каждого фрейма данных или дистанционного фрейма могут находиться максимум пять последовательных битов одной полярности); передатчик реализует пять последовательных битов одной полярности путем вставки в поток битов бита противоположной полярности. После доставки сообщений получатели снова удаляют эти биты;
- Проверка фреймов: (протокол CAN содержит несколько битовых полей со смешанным форматом для проверки всех станций).
Обработка ошибок
При обнаружении ошибки контроллер CAN прерывает текущую передачу отправкой сигнала ошибки, состоящего из шести доминантных битов; при этом происходит сознательное нарушение условия наполнения битами и форматов.
Локализация неисправностей
Так как неисправные станции могут значительно ухудшать нагрузочный режим шины, бортовые контроллеры связи могут включать механизмы, которые позволяют различать промежуточную и постоянную ошибки из-за неисправности местной станции. Этот процесс базируется на статистической оценке условий возникновения ошибок.
Варианты исполнения
Изготовители полупроводников предлагают различные варианты исполнения контроллеров CAN, различающиеся в основном возможностями хранения и обработки сообщений. Таким образом, главный компьютер может быть освобожден от операций, связанных с протоколом.
Стандартизация
Шина CAN стандартизирована для обмена данными в автомобилях; для низкоскоростной передачи (до 125 кбит/с) — ISO 11898-3, для высокоскоростной передачи (более 125 кбит/с) — ISO 11898-2 и SAE J 1939 (грузовики и автобусы).
CAN с таймерным управлением
Расширенный протокол CAN с возможностью работы в режиме таймерного управления называется «CAN с таймерным управлением» (TTCAN). В нем можно произвольно выбрать соотношение компонентов с таймерным управлением и компонентов с управлением событиями, поэтому он полностью совместим с сетями CAN. TTCAN стандартизируется в ISO 11898-4.
РЕКОМЕНДУЮ ЕЩЁ ПОЧИТАТЬ:
Добавить комментарий Отменить ответ
Главы
- Энциклопедия техники (19)
- История автомобилестроения (20)
- Полезные советы (3)
- Действующие единицы (1)
- Законы физики в автомобиле (15)
- Математическое моделирование в автомобилестроении (3)
- Материалы в автомобилестроении (10)
- Рабочие жидкости (5)
- Детали машин (6)
- Способы соединения деталей (8)
- Физика автомобиля (10)
- Двигатели внутреннего сгорания (23)
- Диагностика двигателя (8)
- Нормы контроля и диагностики токсичности отработавших газов (17)
- Системы управления бензиновыми двигателями (11)
- Работа двигателя на альтернативных видах топлива (2)
- Системы управления дизельными двигателями (9)
- Альтернативные виды приводов (3)
- Трансмиссия (47)
- Системы шасси (18)
- Управление шасси и активная безопасность (6)
- Автомобильные кузова (10)
- Пассивная безопасность автомобиля (1)
- Системы охраны автомобилей (1)
- Охранные автомобильные системы (1)
- Автомобильное электрооборудование (10)
- Свечи зажигания (6)
- Автомобильная электроника (21)
- Системы комфорта и удобства (2)
- Пользовательские интерфейсы (3)
- Системы повышения безопасности дорожного движения (7)
О справочнике
За последние время автомобилестроение превратилось в чрезвычайно сложную отрасль. Все труднее и труднее становится представить всю отрасль в целом, и еще сложнее постоянно следить за направлениями, которые важны для автомобилестроения. Многие из этих направлений подробно описаны в специальной литературе. Тем не менее, для тех, кто впервые сталкивается с данными темами, имеющаяся специальная литература не представляется легкой и тяжело усваивается в ограниченные сроки. В этой связи этот «Автомобильный справочник» будет очень кстати. Он структурирован таким образом, чтобы быть понятным даже для тех читателей, которые впервые встречаются с каким-либо разделом. Наиболее важные темы, относящиеся к автомобилестроению, собраны в компактном, простом для понимания и удобном с практической точки зрения виде.
Источник http://www.zr.ru/content/articles/912117-antivirus-dlya-avtomobilya/
Источник Источник Источник Источник http://press.ocenin.ru/shiny-can-v-avtomobilyah/