Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

Как выбрать бортовой компьютер в автомобиль

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

Что такое бортовой компьютер и зачем он нужен?

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

Прошли времена, когда фраза «автомобильная электроника» вызывала только смешок и снисходительную поправку: «не электроника, а электрика». Даже самые простые автомобили сегодня оснащены контроллерами, следящими за множеством параметров. Вот только многие из этих контроллеров (особенно в бюджетных комплектациях) не спешат делиться с водителем получаемой информацией. Сломался датчик расхода воздуха? Забился катализатор? Пробило свечу зажигания? Контроллер «знает», что случилось, но во всех этих случаях, он сигнализирует о неисправности одним и тем же индикатором «check engine». Езжай, дорогой водитель, на СТО, плати денежку за диагностику.

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

1. Отображать на экране параметры поездки (средний расход на 100 км, мгновенный расход топлива, максимальный пробег на остатке топлива в баке, объем топлива в баке, пройденное расстояние, время движения и многое другое). Часто эту информацию отображает и штатный компьютер авто, но и в этом случае бортовой компьютер не будет лишним, так как он способен не только отображать, но и анализировать параметры поездки. Это позволяет:

— давать информацию о качестве топлива;

— экономить топливо, сообщая водителю о неэкономичных режимах движения;

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

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

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

— сообщать о приближающемся ТО.

2. Отображать на экране состояние агрегатов автомобиля:

— температуры двигателя, АКПП, впускного и выпускного коллекторов, катализатора турбины, выхлопных газов и пр.;

— обороты двигателя, нагрузку на двигатель, текущий и максимальный крутящий момент;

— состояние топливного, сажевого и масляных фильтров;

3. Контролировать работу агрегатов автомобиля и оповещать водителя о неисправности сразу при её возникновении. Бортовой компьютер способен определять такие неисправности, которые сам контроллер еще не заметил («check engine» не горит):

— падение напряжения бортовой сети, что может сигнализировать о скорой поломке генератора;

— падение давления топлива: забился топливный фильтр или проблемы с топливным насосом;

— падение давления наддува: износ турбокомпрессора;

— и многое другое.

4. Управлять контроллером:

— смена режимов впрыска: эконом/спорт

— смена режимов газ/бензин для машин с установленным ГБО

— принудительное включение вентилятора охлаждения двигателя

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

Характеристики бортовых компьютеров.

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

Наличие контроля электронного блока управления (ЭБУ) – очень важный параметр. Эта функция позволяет производить считывание кодов ошибок (когда загорается «check engine») и их сброс. Не каждый бортовой компьютер способен правильно интерпретировать считанный код и выдать текстовое описание неисправности. Большинство дешевых моделей выдадут лишь цифровой код ошибки, а что он означает, надо будет выяснить по сервисному руководству автомобиля.

Разрядность процессора. Для простых компьютеров, основное назначение которых – вывод параметров поездки и кодов неисправностей, 16-разрядного процессора будет вполне достаточно. Если же от компьютера требуется вести постоянный контроль за множеством быстро меняющихся параметров, наличие в нем 32-разрядного процессора обеспечит требуемые скорость и точность работы.

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

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

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

Функция контроля охранной сигнализации позволяет контролировать работу элементов сигнализации и диагностировать их неисправности. Задействование функции возможно только со штатными охранными системами, поддерживаемыми бортовым компьютером.

Функция голосового помощника подразумевает наличие речевого синтезатора, сообщающего голосом о нештатных ситуациях и ошибках. Достаточно полезная функция при правильной настройке – позволяет быстро среагировать на нештатную ситуацию. При выборе модели с такой опцией, убедитесь, что у БК есть возможность выбора – какие ситуации озвучивать, какие нет, и настройте компьютер на голосовое оповещение только в серьезных ситуациях.

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

Функция контроля кондиционера позволяет возложить на бортовой компьютер функции климат-контроля, т.е. поддержания в салоне заданной температуры. Необходимо наличие датчика температуры, в противном случае, для задействования функции его придется приобрести у производителя БК.

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

Контроль парктроника позволяет подключить к бортовому компьютеру датчики парковки, возложив на БК функции парктроника. Датчики парковки приобретаются отдельно у производителя БК.

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

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

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

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

Контроль работы с АКБ позволяет мониторить напряжение бортовой сети, оценивать остаток заряда батареи, её емкость и предупреждать при возникновении проблем с АКБ или генератором.

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

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

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

Тип экрана имеет самое непосредственное отношение к количеству и качеству выводимой информации. Жидкокристаллический (ЖК) или светодиодный (LED) экраны, рассчитанные на небольшое количество символов, ставятся на недорогие модели. Восприятие информации с такого экрана может вызвать некоторое затруднение.

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

Более дорогие модели оснащены жидкокристаллическими дисплеями TFT, позволяющими выводить как текст, так и изображения. Вне зависимости от типа дисплея, нелишним будет проверить, что компьютер обладает функцией мультидисплея, т.е., способностью выводить на экран одновременно несколько параметров.

Определившись с необходимыми функциями и выбрав конкретную модель бортового компьютера, перед покупкой следует обязательно убедиться, что эта модель БК совместим с ЭБУ вашей машины и поддерживает используемые в вашей машине протоколы обмена ЭБУ с датчиками. Как правило, в документации на любой бортовой компьютер есть список поддерживаемых автомобилей и типов контроллеров.

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

Варианты выбора.

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

Если у вашей машины нет штатного бортового компьютера, а вам хотелось бы иметь простейший БК с возможностью считывания кодов ошибки с ЭБУ и наблюдения за пробегом и расходом топлива, выбирайте среди недорогих моделей с указанными функциями. Такой компьютер можно купить от 1700 рублей.

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

Если вы хотите сэкономить на парктронике и климат-контроле, выбирайте БК с перечисленными функциями. Такой БК «все в одном» обойдется вам от 5000 до 9000 рублей.

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

Если вы хотите получить максимум контроля за работой систем автомобиля, выбирайте модели с наличием всех контрольных функций. Такие обойдутся вам в 2500-9000 рублей в зависимости от исполнения и наличия дополнительных функций.

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

Если вам важно удобство получения информации, выбирайте модель с большим, хорошо читаемым экраном и голосовым помощником. За такой БК придется выложить от 6000 до 9000 рублей.

Car hacking. Так ли безопасны системы безопасности автомобиля?

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS

Содержание статьи

  • Введение
  • Зачем?
  • Структура сети
  • Обмен данными по шине CAN
  • Физический уровень
  • Так кто все-таки 0, а кто 1
  • Протокол обмена
  • Контроль ошибок
  • Возможные точки подключения
  • Слушаем и запоминаем
  • Потенциальные атаки
  • Атака на шину CAN
  • Защита OBD-разъема
  • Универсальный модем ELM327
  • Будь бдителен
  • Сигнализация
  • Интересные особенности из жизни страхователей
  • Вместо заключения

WARNING

Материал представляет собой результаты исследования автора и не может быть расценен как документация-первоисточник, а также не является руководством к действию.

Введение

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

Автомобили постепенно обрастают различными плюшками и примочками для комфорта водителя и пассажиров, что создает новые опасности проникновения в сеть бортовой электроники. С появлением беспроводных каналов связи с авто (гарнитура Bluetooth, Wi-Fi) полигон для хакеров расширился в разы. В этой статье мы не будем прямо затрагивать варианты проникновения по беспроводным каналам, а посмотрим в сторону проводных технологий.

Зачем?

Вопрос на самом деле достаточно актуальный. В интернете полно материалов на тему «взломать автомобиль», есть даже четкие мануалы по исследованию своего авто. Некоторые энтузиасты на вопрос «зачем?» отвечают: «потому что я могу», но забывают упомянуть, что это очень опасно. Бортовая система автомобиля достаточно хрупкая вещь, несмотря на всю возложенную на нее ответственность. Сбои в бортовой системе могут привести как к бытовым и юридическим проблемам, так и к человеческим жертвам.

Если ты не уверен в своих действиях, ни в коем случае не пытайся вмешаться в работу автомобиля. В мировых СМИ достаточно много примеров сбоев бортовой системы авто, которые приводят к отказу тормозов (почему-то самая уязвимая часть, если судить по СМИ, а возможно, просто самая лакомая пища для журналистов), и это без каких-либо (а так ли это?) вмешательств со стороны хакеров.

Для автомобильной промышленности производители микроконтроллеров выпускают отдельные специальные линейки своих продуктов. Причем делают это тихо, по особым заказам, и для широкой общественности (да и узкой тоже) такие продукты недоступны. Основные особенности таких контроллеров:

  • специфический набор периферии;
  • шифрование прошивки и расшифровка кода на лету при выполнении;
  • многоядерность со встроенным механизмом общей памяти и разделением доступа к этой памяти.

Код прошивки пытаются защитить от дизассемблирования, реверс-инжиниринга и, в итоге, перепрошивки микроконтроллера. Однако, помимо возможности непосредственного «отравления» прошивки, существует одна глобальная проблема. Автомобиль, как я уже сказал, просто напичкан электроникой. Вся эта силиконовая (упс, конечно же, кремниевая :)) армия микроконтроллеров должна как-то между собой общаться, а также взаимодействовать с человеком (водителем, пассажиром) и внешними факторами. Для обеспечения этих диалогов между контроллерами в автомобиле есть настоящая внутренняя сеть.

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

Структура сети

Еще не так давно основная задача, возлагаемая на бортовую систему авто, сводилась к расстановке датчиков в контрольных точках (уровень топлива, температура масла) и отображению состояния на приборной панели. В основном это были самостоятельные устройства, которые огромным жгутом собирались на центральном блоке. Как ты понимаешь, анализ одного сигнала — это два провода, управление одним исполнительным устройством — это тоже два провода (рис. 1).

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS Рис. 1. Один центральный блок управления

Xakep #259. Атака на Apple

  • Содержание выпуска
  • Подписка на «Хакер»

Но со временем системы управления автомобильной электроникой стали усложняться, и автопроизводители начали выделять функциональные блоки. В такой ситуации одни и те же датчики используются разными функциональными блоками, что влечет за собой уже кошмар, как на рис. 2.

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS Рис. 2. Три функциональных блока

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

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS Рис. 3. Три функциональных блока объединены в сеть

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

Но все-таки это сеть, а значит, нужно коммутировать шины между собой. Для этого используют шлюз (CAN gateway), который фактически выполняет функции обычного такого роутера сетей Ethernet:

  • логическое объединение шин (медиаконвертер);
  • производит арбитраж трафика по уровню критичности (QoS);
  • является файрволом и не пропускает в шину трафик, не предназначенный для данной шины (собственно, файрвол он и есть);
  • имеет порт для подключения диагностического оборудования.

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

  1. Узлы с требованием реального времени реакции. Управление двигателем, тормозной системой, ABS, электроусилитель руля, подушки безопасности и так далее. Общее название будем использовать ECU-BUS (Engine Control Unit).
  2. Узлы со средним уровнем времени реакции. Центральный замок, парктроники, наружное освещение (фары, поворотники), датчики давления в шинах. Будем называть в дальнейшем MS-BUS (Middle Speed Bus).
  3. Узлы второстепенной важности. Навигационная система, мультимедиасистема и прочие плюшки. Будем называть LS-BUS (Low Speed Bus)

Градация эта не официальная, разные производители добавляют свои разделения блоков управления на группы, но нам с тобой хватит и этого.

Помимо того что данные ECU-BUS имеют высокий приоритет на так называемой общей «виртуальной» шине автомобиля, внутри этой группы данные передаются на очень высокой скорости (все-таки тормозить начать желательно как можно раньше после того, как водитель принял решение об этом, а выбросить подушку безопасности желательно до того, как нос водителя достигнет руля). В некоторых автомобилях MS-BUS и LS-BUS объединены, что вносит дополнительные проблемы безопасности (ведь в итоге получается, что центральный замок «висит» на той же шине, что и магнитола).

Разные автопроизводители руководствуются разными стандартами; какой конкретно стандарт используется в твоем авто, ты можешь без проблем найти в интернете.

Обмен данными по шине CAN

Физический уровень

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

Шина CAN является двухпроводным интерфейсом, то есть для обмена данными достаточно всего двух сигнальных линий:

  • CAN+, CANH, CAN HIGH — сигнал положительного импульса;
  • CAN-, CANL, CAN LOW — сигнал отрицательного импульса.

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

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS Рис. 4. Осциллограмма обмена данными по шине CAN

Опорное напряжение — 2,5 В (запомни это значение), 0 называется доминантным битом, 1 — рецессивным. Почему доминантный? Потому что он является активным сигналом, и если два устройства захотят передать одновременно один 1, а второй 0, то на приемнике окажется 0.

Так кто все-таки 0, а кто 1

В электротехнике принято 0 передавать активным сигналом, а 1 — пассивным. В связи с этим может возникнуть путаница, когда физически (измерив мультиметром, осциллографом) на линии ты видишь, казалось бы, 0, но логически это 1. Чуть проще — «висящий пассивно в воздухе» интерфейс будет давать 0xFF (если не используются контрольные биты).

Шина CAN последовательная, то есть биты передаются друг за другом от старшего бита к младшему. Понятие байт к CAN малоприменимо, и в основном оперируют термином «поле», длина поля не обязана быть кратна байту (8 битам).

Протокол обмена

Обмен данными производится фреймами. Фрейм состоит из четырех основных полей:

  • идентификатор отправителя, он же является основой арбитража передачи данных;
  • управляющее поле;
  • данные;
  • контрольная сумма.

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS Рис. 5. Диаграмма фрейма CAN

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

Поясню. Взгляни на фрейм: передача идет «слева направо», то есть первым уйдет идентификатор. При передаче идентификатора узел внимательно слушает, что творится на линии. Если он передал 1, а на линии вдруг оказался 0, то это будет означать, что кто-то более приоритетный пытается передать свои данные. В этой ситуации передатчик, поймавший 0 вместо переданного 1, замолкает. Таким образом, чем младше идентификатор у передающего узла, тем выше у него приоритет.

На рис. 6 изображен порядок арбитража на шине CAN. Положим длину идентификатора для удобства равной 8 бит, node3 имеет ID > 0x10 (00010000b), node2 имеет ID > 0x20 (00100000b), а node1 имеет (00000011b). Как видишь, когда node2 захотел передать 1 из своего идентификатора, ее «забили» node1 и node3 , поэтому node2 будет молчать на время передачи фрейма. Аналогичная ситуация случалась и с node3 , его 1 забил node1 своим 0. В итоге остался один node1 , вытеснив всех своими 0 в идентификаторе.

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS Рис. 6. Арбитраж на линии CAN

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

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

Возможные точки подключения

Пришло время поискать, куда бы нам воткнуться. Самая желанная точка подключения — это отладочный порт, OBD (OnBoard Debug). OBD используется для диагностики автомобиля на СТО.

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS Рис. 7. Фото разъема OBD

Почему это такое лакомое место? Сейчас объясню и даже на картинке покажу. Посмотри на распиновку разъема:

  1. Manufacturer discretion —
    • GM: J2411 GMLAN/SWC/Single-Wire CAN[12]
    • VW/Audi: Switched +12 to tell a scan tool whether the ignition is on.
    • Ford: Infotainment CAN High[12]
  2. Bus Positive Line of SAE J1850 PWM and VPW
  3. Manufacturer discretion —
    • Ford: DCL(+) Argentina, Brazil (pre OBD-II) 1997-2000, USA, Europe, etc.
    • Ford: Medium Speed CAN-High[12]
    • Chrysler: CCD Bus(+)[12]
  4. Chassis ground
  5. Signal ground
  6. CAN-High (ISO 15765-4 and SAE J2284)
  7. K-Line of ISO 9141-2 and ISO 14230-4
  8. Manufacturer discretion —
    • BMW: Second K-Line for non OBD-II (Body/Chassis/Infotainment) systems.
  9. Manufacturer discretion —
    • GM: 8192 bit/s ALDL where fitted.
    • Ford: Infotainment CAN-Low
  10. Bus Negative Line of SAE J1850 PWM only (not SAE J1850 VPW)
  11. Manufacturer Discretion —
    • Ford: DCL(-) Argentina, Brazil (pre OBD-II) 1997-2000, USA, Europe, etc.
    • Ford: Medium Speed CAN-Low[12]
    • Chrysler: CCD Bus(-)[12]
  12. Manufacturer discretion —
  13. Manufacturer discretion —
    • Ford: FEPS – Programming PCM voltage
  14. CAN-Low (ISO 15765-4 and SAE J2284)
  15. L-Line of ISO 9141-2 and ISO 14230-4
  16. Battery voltage

Как выбрать бортовой компьютер в автомобиль | Другие автотовары | Блог | Клуб DNS Рис. 8. Распиновка разъема ODB

Сразу бросаются в глаза контакты 6 и 14 (и не только потому, что они зеленым цветом выделены на картинке). Согласно спецификации, это CAN+ и CAN- соответственно. Но это еще не все, на контакты 3 и 11, а также 1 и 9 Ford вывел свои внутренние шины. Делаю акцент на этом неспроста. Штатные CAN+ и CAN- (6-й и 14-й контакты разъема) в общем случае не обязаны соединяться непосредственно с физическими шинами автомобиля. Зачастую на команды по этой шине отвечает контроллер диагностики, либо запросы идут через шлюз, который неплохо справляется с функцией фильтрации (в том числе может фильтровать трафик при движении автомобиля). Протокол обмена по этой шине стандартизирован, и для совместимости все производители выводят туда диагностику. Но вот давать доступ к остальным шинам никто никому не обязан.

Перед поездкой на ТО покопайся в интернете на предмет обновлений прошивки для твоего бортового компьютера. Если производитель выпустил новую версию, уточни у дилера, обновят ли они ВПО.

CAN можно «пощупать» тремя способами:

  • На разъеме OBD можно мультиметром «пощупать» уровень 2,5 В (да-да, тот самый опорный) относительно земли (4-й и 5-й контакты).
  • С помощью двухканального осциллографа находишь витую пару проводов, щупами на нее цепляешься и смотришь относительный сигнал «есть чо?» :). При выключенном зажигании, как правило, на CAN тишина, при включении зажигания бортовая электроника начинает «болтать». Можешь потыкать кнопочки управления стеклами, блокировкой дверей, увидел «странное» совпадение — ты у цели (об этом еще поговорим).
  • Последний — достаточно ненадежный способ, но, как говорится, лучше что-то, чем вообще ничего. Сопротивление терминирующего резистора в линии CAN равно волновому сопротивлению проводов, а оно, в свою очередь, составляет 120 Ом. Два резистора (по одному на каждый конец линии) дают 60 Ом между CAN+ и CAN-.

Не забываем про необходимость 12V-питания от бортового аккумулятора автомобиля. Скорее всего, без электричества ты, конечно, не останешься, но только в том случае, если автопроизводитель не сделал пакость в виде подачи питания на OBD-порт только при вставленном ключе и включенном зажигании.

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

Под капотом найти линии CAN сложнее, но они там есть. Доступ к подкапотному пространству дается не так легко, как салон авто, но не будем исключать и этот вариант.

WARNING

Если решишь лезть в автомобильную электронику, будь аккуратен, перепроверь лишний раз зажигание и убедись, что ты все правильно подключил. Короткое замыкание лишит тебя гарантии (а может, и бортовой электроники).

Слушаем и запоминаем

Итак, ты дочитал до этого места, CAN-шину нашел, что дальше? Дальше начинается самое любопытное.

Во-первых, тебе понадобится «честный» CAN-драйвер. Под драйвером я подразумеваю микросхему преобразования уровней, реализующую физическую часть протокола CAN. Таких в интернете великое множество, есть даже шилд для Arduino CAN-Schield. Зачем честный, ведь можно взять обычную микросхему, преобразующую логический уровень TTL микроконтроллера в сигнал шины CAN? Можно, но не нужно. Вспомни про фиксацию ошибок, лучше возложить весь арбитраж и контроль линии на железку, чем самому анализировать эхо-биты с шины (это еще и не так просто сделать ввиду высоких скоростей на шине), ошибиться где-нибудь и в итоге выдать себя, забив счетчик ошибок. Этот совет, конечно, актуален только в том случае, если не стоит цель довести водителя до сумасшествия, замусорив CAN-шину и взвинтив счетчик ошибок на линии :).

Дальше два варианта:

  1. Воспользоваться поиском и найти на автомобиль описание протокола.
  2. Реверс-инжиниринг.

Первым путем ты и сам в состоянии пройти, пойдем вторым. Надо как-то подключиться к шине. Для этого, конечно же, лучше использовать USB или хаб Ethernet-CAN. Обычный USART (RS232) тебе точно не подойдет, скорости нешуточные, и рядовые микросхемы просто не рассчитаны на них.

Подключившись к шине, запускай снифер. Обычный терминал тебе не подойдет, протокола RS232 в CAN нет, и тебе надо ловить сырой битовый трафик. Придется немного поискать специализированный софт в интернете — как платного, так и бесплатного предостаточно, ссылки приводить не буду.

Самый простой способ — повторение такой последовательности действий:

  • включить снифер;
  • нажать кнопку стеклоподъемника;
  • остановить снифер;
  • воспроизвести в линию подслушанное;
  • наблюдать за результатом.

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

Потенциальные атаки

Атака на шину CAN

Пробежавшись еще раз по изложенному материалу делаем, вывод, что с безопасностью в авто все плохо. Все очень плохо. Не так давно в журнале уже публиковался обзор дырявости SCADA-систем. Но для того, чтобы в SCADA-систему проникнуть, необходимо получить доступ на объект, после чего физически уже попасть в систему (если система не имеет выхода во внешний мир, конечно, иначе все упрощается). В автомобиле доступ «на объект» получить гораздо проще.

Наверное, будет логично спросить: что же так долго было распинаться про CAN? Ответ на поверхности: получив доступ к шине (в любом ее проявлении), ты получаешь полный доступ ко всей электронике автомобиля в том или ином виде. А это значит, что ты можешь вытворять практически все что угодно с двигателем, тормозами, центральным замком и прочими узлами, подключенными к сети CAN (или сопряженными с ней).

Микроконтроллеры, используемые в автомобильной автоматике, содержат модуль аппаратного шифрования. Однако трафик почему-то не шифруется (по крайней мере то, что мне встречалось). Правда, есть один бонус в противовес: вс-таки в некоторых автомобилях датчики надо прописывать на гейте.

Скажу еще пару слов про безопасность многострадального OBD-разъема. Его расположение скрыто от глаз. Но от глаз кого? Пользователя, то есть автовладельца. Разглядеть какой-то гаджет в разъеме OBD достаточно проблематично. В интернете продается полно «адаптеров» для этого самого OBD-разъема, позволяющих использовать Wi-Fi и Bluetooth для доступа к «диагностическим» данным.

Защита OBD-разъема

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

Подключившись к автомобилю железкой, все-таки продолжаешь хотеть красоты. OBD-адаптеры на базе ELM327 растут как грибы после дождя, а протокол поддержан во многих софтинах, самые популярные — OBD Auto Doctor, DashBoard.

Эти устройства позиционируются либо как «игрушка» (то есть просто дополнительный экранчик на мобильном гаджете, показывающий скорость, уровень топлива и еще много параметров, которые не отображает штатный бортовой компьютер), либо как удобный способ диагностики или сброса ошибок бортового компьютера автомобиля без проводов. Что тут сказать? Прошивка этого «адаптера» известна только производителю, массовые закладки в BIOS мы уже проходили, а собрать такой же адаптер не составит особого труда, так как запчастей всего: микроконтроллер, беспроводной модуль, драйвер CAN.

В итоге, собрав незамысловатое устройство, получающее по Wi-Fi или Bluetooth команду, можно открыть автомобиль. Установка такого «гаджета» останется незаметной для владельца, а возможностей установить его, поверь, больше чем достаточно (посчитай в минутах, сколько твой автомобиль находится открытый, без присмотра, а воткнуть железку в разъем — дело пары секунд).

Универсальный модем ELM327

Вбив запрос в Гугл по теме OBD-адаптеров, ты получишь такое количество устройств, что глаза разбегаются. Есть популярные, есть не очень. На коне компания ELM Electronics, производящая микросхемы серии ELM. На базе этих чипов построено большинство адаптеров. Микросхемы представляют собой мост между USART- и OBD-портом, на одном конце физика CAN, на другом USART с интерфейсом AT-команд. Чип получает АТ-команды, болтает на «птичьем» с автомобилем по шине CAN и возвращает ответ в универсальном формате. Самый крутой чип — ELM327, он поддерживает огромное количество протоколов, моделей автомобилей, поддерживает добавление параметров, которые еще не содержатся во внутренней памяти. Периодически выходят новые версии этой микросхемы, расширяя список автомобилей и считываемых параметров. Must have, если ты хочешь сделать свою крутую железку диагностики авто.

Одна из приятных фишек — ELM327 имеет возможность работать в режиме снифера и демонстрировать тебе весь трафик CAN-шины. Микросхема выпускается в двух исполнениях: обычное энергопотребление и пониженное энергопотребление. Менее прожорливая микросхема имеет также незначительное отличие в назначении одного вывода (подробнее смотри даташит на сайте производителя).

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

Отдельным пластом стоят бортовые мультимедиасистемы. Послушать радио — это уже прошлый век, теперь подавай мультики детям на мониторы в передних сиденьях, видео пассажиру, навигацию водителю, а также хорошо бы еще телефон скрестить с авто и интернет, чтобы в пробке почитать новости и почту. Все эти красоты достаются непросто, если делать их с нуля, НО! Но в мультимедиасистемах авто стоят операционные системы типа Windows, Linux, Android, портированные под ARM (Android особо и портировать нечего). Архитектура ARM, конечно, усложняет жизнь, не все хак-фишки работают так же, как на x86 (а то и вообще не работают), но зато есть и свои особенности и баги. Одной из дверей в систему служат «отравленные» видео- или звуковые файлы, подсовывание флешек с автозапуском (наткнулся один раз на такую систему, которая вдруг решила стартануть автозапуск с флешки, вставленной в USB-разъем). Отдельная тема — это «CD-диски для навигационной системы» :). Какое-то время это был популярный способ захватить ось авто, так как навигационный софт был уж ну совсем дырявый.

Приятный бонус для хакера — постоянно растущая популярность новомодных беспроводных технологий (новомодных для авто). Так как в бортовой технике эти технологии в новинку, то они переживают период пока еще дырявого развития (уж домашние роутеры сколько лет существуют на рынке, а дыры там одна смешнее другой). Опубликовано множество результатов анализа защищенности беспроводных соединений с бортовым компьютером, с каждым годом они утешительнее, но пока рано говорить о зрелости.

Получив доступ к мультимедиасистеме (если доступ через беспроводной канал предоставляется только к ней), ты получаешь автоматом доступ к шине CAN (хоть какой-то), дальше сценарий понятен.

Будь бдителен

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

Как заставить водителя выйти из авто? Например, сообщить бортовому компьютеру, что давление в шинах намного ниже нормы. В обычной ситуации 99% автовладельцев остановятся, чтобы выйти и посмотреть, в чем дело. Однако встречались и проницательные водители, которые, прокатившись по «ежам» на трассе посреди леса, проехали на дисках еще несколько километров, сохранив себе жизнь и авто. Будь бдителен и осторожен, если вдруг твой автомобиль сломался именно в глухом месте. Возможно, это неспроста.

Сигнализация

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

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

Интересные особенности из жизни страхователей

Задумывался ли ты, как считается стоимость страховки автомобиля? Казалось бы, вот стоят два авто, стоимость одинаковая, но оформить КАСКО на один автомобиль в два раза дороже, чем на второй. Почему?

Многие страховые компании предлагают онлайн-калькулятор, на котором ты можешь посчитать страховку для своего железного друга. Что сразу же отражается на стоимости — наличие сигнализации. Но берем опять два автомобиля, оба с сигнализацией, но сумма все равно расходится существенно. Исключаем фактор популярности авто на рынке (как один из основополагающих при угоне автомобиля), берем одинаковые по популярности автомобили. ОПЯТЬ РАЗНИЦА. Да что ж такое? А вот тут как раз вступает фактор надежности бортовой защиты автомобиля от угона и вскрытия.

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

Трендом в наше время можно назвать сигнализацию с GSM-модемом и GPS-трекером. Тут появляются соответствующие им две цели атак:

  • GPS;
  • GSM.

С GPS все более или менее однозначно: запутать GPS, чтобы не сработал выход из зоны охраны, либо «увести» подставными координатами автомобиль в противоположное направление.

С GSM немножко интереснее. Первое, что приходит в голову, — заглушить сигнал GSM, чтобы блок сигнализации не смог отправить тревожное сообщение на пульт охраны. Ответом производителей автосигнализаций было добавление keepalive. Если за отведенный интервал на сервер не приходит «маячок» от автомобиля, стоит забеспокоиться. Очередным витком развития сигнализаций стала обратная связь с авто через GSM, как следствие, появились дыры и «закладки». Закладки «от производителя», конечно, появились раньше, чем было объявлено «официально» о существовании обратной связи. Разработчики сигнализаций давно уже научились и следить за автомобилями, и обновлять прошивки втихаря. Собственно, сама фишка обратной связи пришла от более простых брелочных сигнализаций, увеличилось только расстояние до объекта управления и сложность системы. Пришлось ведь реализовать какой-то протокол, защита получения команды только от санкционированных отправителей. Однако не так давно было продемонстрировано, что все это также подлежит расчленению и взлому.

Отдельным островком остается дополнительная защита в виде иммобилайзера. Однако, если вспомнить, что иммобилайзеры представляют собой обычную RFID-метку со всеми ее достоинствами и недостатками, вектор атаки моментально становится ясен.

Вместо заключения

Как бы я тут ни драматизировал, реальный взлом автомобиля — дело далеко не тривиальное и недешевое. Автопроизводители постоянно придумывают какие-то фишки, чтобы лишить возможности подключения к шине автомобиля, закрывают дыры в софте, доступном пользователю. Однако хакеры не дремлют, война уже объявлена.

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

Источник http://club.dns-shop.ru/blog/t-272-drugie-avtotovaryi/16422-kak-vyibrat-bortovoi-komputer-v-avtomobil/
Источник http://xakep.ru/2015/03/01/car-hacking/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожее

Модульная АГНКС. Революция в газовом оборудовании

Автомобильные газонаполнительные комплексы (АГНКС) становятся неотъемлемой частью современной инфраструктуры, способствуя переходу на более экологичные виды топлива. В рамках этой эволюции, модульные АГНКС выходят на передовой, предлагая инновационные решения и преимущества. Давайте рассмотрим, как эти системы меняют отрасль и в чем заключаются их основные преимущества. Преимущества Модульных АГНКС Модульные АГНКС предлагают ряд ключевых преимуществ, которые делают […]

Помощь системы ABS в управлении автомобилем

Помощь системы ABS в управлении автомобилем

Антиблокировочная тормозная система (ABS) — это электронная гидравлическая активная система защиты, которая поддерживает контролируемость и стабильность машины во время замедления, предотвращая блокирование колес. ABS исключительно действенная в пути с низким показателем сцепления, и в непогоду (гроза, лед). Анализ АБС — Antilock Brake System, которое буквально значит «антиблокировочная тормозная система». Посмотрим особенность процесса, важные элементы, а […]