Содержание
Панель от 2174 в 2170
di2zy
Старожил
#1
#1
Ребят, кто в панелях приборов шарит. Имеем приору 2008 года, без кан шины естественно. Хотелось бы поставить панель от приоры 2, не обязательно с навигатором, а обычную с маленьким окошком посередине. Сегодня поглядел разъемы визуально одинаковые. С какими проблемами можно столкнуться? Будет ли она работать, а если функционал будет не полный, то что именно ну будет показывать? В сети мнения расходятся, хотелось бы услышать кто реально пробовал провернуть данную манипуляцию.
di2zy
Старожил
#2
#2
че никто не в курсе?:
х123ас
Абориген
#3
#3
Присоединяюсь к вопросу, ковыряю приору которую уже перевели на январь 5. 1, хозяин авто говорит что приборка не показывала диагностику, она в принципе не дружит с я5.1 или там тупо не подключили к-линию к ней?
di2zy
Старожил
#4
#4
Не шарят чтоли?
х123ас
Абориген
#5
#5
Не дошли сегодня руки до нее, надо самому полезть и посмотреть что там подключено и как.
МаксимкаТГ
Абориген
#6
#6
Правильно, найти к-линию и подключить, приборка не отличит 5.1 от 7.2 на не серийном софте
di2zy
Старожил
#7
#7
То есть можно без проблем ставить такую приборку и просто К-Линию кинуть?
х123ас
Абориген
#8
#8
di2zy написал(а):
То есть можно без проблем ставить такую приборку и просто К-Линию кинуть?
Нажмите для раскрытия. ..
скорей всего еще сигнал расхода топлива нужен будет.
Serg_x
Старожил
#9
#9
х123ас написал(а):
скорей всего еще сигнал расхода топлива нужен будет.
Нажмите для раскрытия…
Если софт будет не сток, то это бесполезные занятия. Правильно будет показывать только ТОЖ, скорость и обороты.
х123ас
Абориген
#10
#10
Serg_x написал(а):
Если софт будет не сток, то это бесполезные занятия. Правильно будет показывать только ТОЖ, скорость и обороты.
Нажмите для раскрытия…
Я себе в купе тянул, у меня там конечно не такая приборка, но думаю не суть. Она мне даже показывает расход топлива(мгновенный и средний), и остаток пути на баке, и что то ещё, но пролема в том что показывает она криво, расход примерно в 4-5 раз занижает. Т.е. видимо она берёт данные по времени впрыска, а форсы то как раз почти в 5 раз больше чем сток, вот и искажает…
adsdenis
Новичок
#11
#11
Приборка от новой приоры работает по кан шине которой нету не в я5 не в я7. Чтобы оставить прибору необходимо будет оставлять родные мозги от притворы (просто подключить датчики дпкв дтож дс… параллельно с январем)
х123ас
Абориген
#12
#12
Так вроде бы машина не была на егазе (хотя не уверен), откуда там каншина? Или такие приборки потлюбому на каншине?
Serg_x
Старожил
#13
#13
х123ас,нет, были и без кан-шины такие приборки. На ней должен быть номер, надо попробовать нагуглить его.
di2zy
Старожил
#14
#14
я имел ввиду вот такую самую простую приборку с придоры2
http://radikal.ru/Img/ShowUploadedImg?id=dc18d0b8e22943d6af09bed7fbcc30bc
di2zy
Старожил
#15
#15
х123ас
Абориген
#16
#16
А на «моей» машине не такая, там окошко выше, справа заглушка и там мини юсб разъем.
di2zy
Старожил
#17
#17
В общем досталась мне приборка которая с навигацией. Работают функиции обычной приборки. То есть спидометр, тахометр, датчик уровня топлива, ТОЖ, температура за бортом. Навигация работает. Не пашет только БК, но эта приборка с кан шиной насколько я знаю. Вопрос состоит в том, можно ли что-нибудь сделать, чтобы к-линия сошла за кан ))) Понимаю, глупо, но все же. Может кто делал. Серийник приборки
di2zy
Старожил
#18
#18
никто не в курсе ребят?
Shurik395
Завсегдатай
#19
#19
di2zy, если не ошибаюсь, то у тебя приборка старого образца, НЕ с can-шиной. С can-шиной приборка нового образца (версия 5.00.05, у тебя версия 3.4)
angelmast
Заблокирован
#20
#20
себе в приору ставил приборку, у тебя с кан шиной! Все приборки с индексом 2170-…… идут с кан.
Без кан шины идут приборки с индексом 1118-….. у них очки не серебристые а черные, вот такую и воткнул себе и все кул.
Да возможно тебе повезет и она всетаки без кан шины, но тебе нада проверить подключен ли у тебя иммобилайзер, если нет то ставь перемычку в фишке иммо. В инете полно информации какие там контакты замкнуть.
Где найти кан шину Lada Priora (2172,2171)
Для Lada Priora, 2013 — 2020 (2172)
CAN-A
ВАРИАНТ 1
Диагностический разъем OBD-II.
LIN-AB
ВАРИАНТ 1
Жгут двери водителя. В разрыв сине-белого провода.
Для Lada Priora, 2007 — 2013 (2171)
LIN-AB
ВАРИАНТ 1
Жгут двери водителя. В разрыв сине-белого провода.
ВАРИАНТ 2
Разъём X3 блока BCM. В разрыв сине-белого провода.Блок BCM располагается в центральной консоли, за пластиковой накладкой у педали газа.
ПОИСКОВЫЕ ТЕГИ: приора, can, lada, can шина, кан шина, лада, lada priora, прошивка магнитолы, priora, диагностика, приора2, ммс 2190, гранта, калина, прошивка, калина 2, лада приора, ммс, авто, starline, диагностика авто, автодиагностика, приора 2, приборов, ваз, can-шина, elm327, сингл меню, фсо, obd2, веста, установка щитка приора 2 в приору 1, установка сигнализации, опера, бункер, тонировка, автоваз, доработка щитка приора 2, кан, приора люкс, new menu, singl menu, гранта люкс, лада гранта, gamma, ремонт, нью меню, установка альт меню, доработка индикации поворотника приора 2, щиток от приора 2 люкс, круиз контроль на приора 1, прошивка can, kalina, прошивка кан, прошивка ммс 2190, пересвет щитка приора 2, панель, лада калина магнитола, лада спорт, магнитола, обзор, лада калина ммс, калина ммс, гранта ммс, can hacker, прошивка магнитолы гранта, прошивка магнитолы калины, таз, новая приора, lin, kkl адаптер, установка навигации, диагностика ваз, угон, lin bus, приора 2020, установка торпеды на приору, штатный дисплей, приора автозвук, лада гранта люкс, торпеда на приору, снятие торпеды на приору, single, дополнительная информация, самсунг, автозвук, can-spi board, drpopov can-spi board, ceed, kurskcartuning, иммобилайзер, программирование автомобилей, чип-тюнинг лада приора, чип-тюнинг в курске, 21127, bosch 17.
9.7, козырек приора первая торпеда планшет в приору, удаление иммо, чип-тюнинг приора в курске, универсальная плата, 17.9.7, obd, парктроник, gamma sport, приборная панель, can bus, kia, mazda, приборная панель gamma sport, не подключаеся елм327, отзывы motorring, интернет-магазин тюнинга, motorring, моторринг, тюнинг, цифровой индикатор, температура двигателя, компьютерная диагностика ваз, компьютерная диагностика, к линия, икс рей, тюнинг лада, тюнинг ваз, lada granta, automotive databus, canhacker, can-hacker, lada lin, лада шина lin, видеоблог, канхакер, кан хакер, can хакер, диагностика гранта, диагностика приора, vag kkl, elm 327, диагностика автомобиля, адаптер, сенс, torque, сканер, инжектор, своими руками, k line, эбу, k-line, шнур для диагностики, адаптеры для диагностики, стандарты диагностики, колодка диагностики, программа диагностики, ремонт ваз, n7100, как проверить к-линию, к-линия, автомеханик, диагностика k-line elm327 эбу автодиагностика адаптер диагностика автомобиля, казань, опер стайл, штампы, сгу, химчистка, мойка движка, съёмная тонировка, чистка форсунок, vesta, новая, lada vesta, лада веста, сеть 88, покупка приоры, свап, включение, зажигание, стрелки, пробег, расход, не работает, бензонасос, как заменить, змз 409, 409, змз про, ммс лада веста, веста спорт, spro, teyes, магнитолы, полная, навигатор, проблемы ммс веста, lada club, 88, чип тюнинг, lada club by, granta, скин, полная прошивка ммс веста, сравнение, tuning, итэлма, прошивки, панели, ситигид, люкс престиж, обновить, ммс веста, музыка, ошибки двигателя, фильтр, свечи, змз, 405, замена, мотор, электрика, умз, 4216, дешёвый, причины, canbus, качество, хороший, бизнес, газель, устанавливаем сигнализацию, автоэлектрика, starline a 93, a 93, cr-v, пнтк, гаражмонтаж, газ, двигатель, реальный пробег лада приора, как проверить пробег на лада приора, печка, холодный, датчик, работа, большой, обороты, температура, блок, давление, система, топливо, вода, бензин, аккумулятор, предохранитель, генератор, зарядка, разъем, провода, плохо, ток, слабый, вентилятор, фонари, реле, масса, сигализации, lada priora automobile model, profi+, диагностика обучение, profiplus, учебный центр профиплюс, обучение диагностов в астане, каншина, electude, что такое кан модуль, как разобрать щито, как проверить, симулятор, курсы автоэлектриков в астане, автомобиль ремонт, кан-шина, прошивка can шины ммс 2190, приборка щитка приора 2 в приору 1, прошивка щитка приора 2, прошивка кан-шины, ммс 2192, can lin, прошивка кан шины, прошивка can шины, ммс лада гранта, can-модуль, кан модуль, автоэлектрик, угона нет, противоугонка, защита от угона, угона. нет, установка сигнализации +на приору, навигация, 9677611460, starline a93, установка сигнализации лада приора +своими руками, автомобиль, starline s96 2can 2lin gsm, самара, +79677611460, 2can2lin, starline а93 2can2lin, сигнализации с автозапуском, хит авто, сигнализация, старлайн, автозапуск, установка сигнализации своими руками, установка и доработка комбинации щитка приборов приора 2 fl в приору 1, как разобрать щиток приора 2, как работает кан шина, что такое кан шина, калина спорт, панель гранта, панель калина, авторемонт, авторемонт45, автотема, электроника автомобиля, устройство кан шины, как проверить кан шину, снять панель гранта, снять ммс, не работает стрелка, лада приора 2012г, приборка лада приора, приборка ваз, не работает стрелка на приборке, зависает стрелка приборки на приоре, разборка панели гранта, разборка панели калина, новое, не работает стрелка температуры на приоре, ремонт авто, курсы диагностики, панель приборов приора 2 люкс, как снять панель приора 2, панель от приоры 2 на приору 1, панель приборов приора 2 цена, панель приора 2 на приору 1, панель приора 2 люкс, panel, на ваз, приборная, avtovaz, панель приора 2 на приору 1 установка, приборная панель приора 2, electronics, шина кан принцип работы, шина кан, шина can, install, панель приора 2, приборная панель на приору 2, панель приборов на приору 2, панель лада приора, щиток приборов приора, тюнинг салона, на приоре, новая приборка приора, щиток приора, приборка с калины2, приборка с приоры2, новая приборка, панель приора тюнинг, приора щиток тюнинг, новая приборная панель, панель приборов, комбинация приборов, приборка новой приоры, 2194, 2192, singlemenu, см, синглменю, меню, установка, установка меню, 2190, штатная магнитола, sm 6. 4, установка синглменю, обновить приору, auto show event, чернаяприора, антихром, блэкэдишн, приорабункер, опер, оперстайл, шина lin, linbus, оперская, вспышки, новая лада приора, лада приора хэтчбек, приборка от приоры 2 на приору 1, приборка приора 2 на приору 1, приборка приора 2, приборка приора 2 на приору, приборка от приоры 2, лада приора 2, приора универсал, ваз приора, купить лада приора, купить приору, сингл, прошивка калина 2, скрытые функции, функции 2020, тазы, абрам тв, наш гараж, 2020 год, скрытые функции в приоре, защита от царапин стекл авто, защита автостекл, скрытые функции в авто, скрытые функции в гранте, ютуб хата, автоблогер, na priore, evgen street, евген стрит, черная приора, priora black, cars, автоблог, ютубер, автомобобили, auto, скрытые функции в машине, гранта 2020, ваз 21099 бпа, резнчиенко, черкесск, дагестан, сергей, клим, прошивка калина, 6.4, 1.10, калина2, торпеда ри феруум, ваз 2109тюнинг, стайл, веста новая, лада 2020, все для автомобиля, мусора, ти даг, восстановили, ваз 2109, тонер, закатали, lin шина
Car Hacking 101: Практическое руководство по эксплуатации CAN-шины с помощью симулятора комбинации приборов — Часть II: Эксплуатация | by Yogesh Ojha
Фото Алана Биглоу на Unsplash
Это вторая часть серии «Взлом автомобилей 101: Практическое руководство по эксплуатации CAN-шины с помощью симулятора кластера приборов». В первой части мы обсудили, что такое CAN-шина, достаточно информации для начала работы с CAN-трафиком и как настроить виртуальную лабораторию для взлома автомобилей с помощью ICSim.
В этой части мы углубимся в анализ, воспроизведение и атаку CAN-трафика.
Вот как именно выглядят ваши сообщения CAN, когда они перехватываются через can-utils. Если разбить столбцы, то первый — это интерфейс, второй — идентификатор арбитража, третий — размер сообщения CAN, их не может быть больше 8. Если вы посмотрите на кадр CAN, вы увидите поймите лучше, почему это не может быть больше 8. Четвертое — это сами данные CAN.
В данном примере это кадр размером 8 байт. Сообщение отправляется с идентификатором арбитража 0x111. Как только приборная панель увидит это сообщение, она сначала проверит, предназначалось ли оно для приборной панели или нет. Если это так, то он читает сообщение, которое имеет 0x0BB8, что переводится в 3000 в десятичном виде. Теперь ваша приборная панель перемещает стрелку тахометра на 3000.
Как только вы поймете смысл сообщения CAN, мы можем далее вводить фальшивые/модифицированные пакеты через ODB-II на шину CAN, чтобы подделать тахометр или что-то еще.
Перед тем, как перейти к демонстрации ICSim, давайте посмотрим, как работают другие мини-утилиты can-utils. Для этого давайте сначала настроим интерфейс виртуальной банки.
sudo modprobe can
Это загрузит модуль ядра для CAN. Также нам нужно загрузить модуль ядра для виртуальной банки.
sudo modprobe vcan
Если вы хотите проверить, загружены ли необходимые модули ядра, вы можете использовать
lsmod | grep can
Это покажет, были ли загружены CAN и VCAN.
Теперь настроим виртуальный интерфейс
sudo ip link add dev vcan0 type vcan
sudo ip link setup vcan0
Вы можете проверить, настроен или не используется виртуальный интерфейс CAN
ifconfig vcan0
виртуальный Интерфейс CAN настроен, теперь вы готовы отправлять/получать CAN-пакет в этом интерфейсе. Давайте теперь воспользуемся одной из мини-утилит от can-utils под названием cangen для создания фиктивных CAN-пакетов.
cangen
cangen генерирует кадры CAN для целей тестирования. Чтобы использовать cangen, вам нужно указать интерфейс, в котором должен быть сгенерирован кадр CAN.
cangen vcan0
vcan0 — это виртуальный интерфейс CAN, который мы недавно создали.
Поскольку вы уже сгенерировали кадры CAN, должен быть способ просмотреть кадры! Доступно множество утилит, одна из многих доступных — Wireshark. Запустите Wireshark после создания кадров CAN.
Вы можете увидеть много доступных интерфейсов в зависимости от того, сколько интерфейсов работает, vcan0 — это интерфейс, на котором генерируются ваши кадры CAN.
После того, как вы щелкнете по интерфейсу, в который хотите просмотреть пакеты, вот как выглядит кадр CAN.
Также можно просмотреть более подробную информацию о фрейме CAN.
Кроме того, внутри vcan0 есть другие утилиты, такие как cansniffer и candump , которые делают примерно то же самое, что и Wireshark. Вы можете использовать любые инструменты или утилиты, как вам удобнее.
candump
Для дампа или регистрации кадров с помощью candump вы можете использовать
candump vcan0
Это будут выходные данные candump.
В одном из терминалов нижний генерирует пакеты CAN, а на верхнем терминале выполняется candump. Если мне придется разбить для вас столбцы, первое, что вы увидите, это интерфейс CAN. Второй — идентификатор арбитража, третий — размер сообщения CAN, а четвертый — само сообщение.
candump также может запилить для вас каркас банки. Если вы хотите провести повторную атаку, вы можете сначала зарегистрировать кадры, а затем использовать мини-утилиту, такую как canplayer, для воспроизведения кадров. Регистрация кадров CAN может быть включена с помощью флага -l.
candump -l vcan0
При регистрации кадров CAN создается файл с префиксом candump, за которым следует дата.
Если вы хотите увидеть содержимое файла дампа, вы всегда можете использовать команду cat в Linux, чтобы просмотреть содержимое.
Кадры, которые мы захватили с помощью candump , можно воспроизвести с помощью такой утилиты, как canplayer .
canplayer
Как следует из названия, canplayer будет воспроизводить кадры банок. В идеале это полезно, когда вам нужно провести повторную атаку. Вы должны сначала выгрузить/записать кадры CAN, а затем воспроизвести кадр CAN с помощью canplayer.
Представьте себе сценарий, в котором вы хотите подделать тахометр, и вы не знаете, на каком арбитражном идентификаторе работает чтение тахометра, вы не знаете, что находится в сообщении CAN. Поэтому в идеале вы должны сначала выгрузить и зарегистрировать кадры, используя candump с флагом -l, а затем использовать can player для воспроизведения записанных кадров.
canplayer требует опцию -I, чтобы принять входной файл.
canplayer -I canfile.log
canplayer имеет несколько других действительно полезных опций, вы можете узнать их с помощью man canplayer.
CAN-сниффер
CAN-сниффер используется для просмотра изменений в CAN-трафике. Это очень полезно, чтобы увидеть изменение в конкретном байте. У cansniffer есть опция -c, очень полезная для того, чтобы увидеть изменение байта красочным образом. Что это делает, так это то, что он сравнивает предыдущий байт и текущий байт, если есть разница, то это указывается изменением цвета байта. Это очень полезно, когда вы хотите знать, было ли изменение, когда вы выполняли определенные операции в автомобиле.
cansniffer -c vcan0
Я считаю, что cansniffer очень полезен, потому что cansniffer также позволяет фильтровать по идентификаторам. Поэтому, если вы хотите видеть кадры только с определенного идентификатора, скажем, 0x011, вы также можете это сделать.
Это можно сделать после того, как вы начнете нюхать, нажмите — а потом 000000. Это сначала очистит все кадры. Теперь вы можете начать добавлять идентификаторы, используя +, а затем идентификатор, который вы хотите отобразить, и нажать Enter. Таким образом, вы можете фильтровать кадры отдельных идентификаторов.
можно отправить
cansend используется для отправки кадров CAN на определенный интерфейс CAN. Его использование:
cansend interface frame
Мы будем использовать все эти утилиты с ICSim.
Установка и знакомство с ICSim уже обсуждались в предыдущем посте. Пожалуйста, следуйте этой статье, чтобы узнать, как установить ICSim.
Давайте запустим ICSim и обнюхаем CAN кадры.
./icsim vcan0./controls vcan0
Если вы выполнили все шаги, описанные в предыдущем посте, вы должны увидеть это. Кроме того, вы можете заметить, что стрелка спидометра двигается вперед и назад, что является ожидаемым поведением из-за присутствующего шума.
Перехват кадров CAN, сгенерированных ICSim
Мы будем использовать cansniffer, утилиту, предоставляемую can-utils, для перехвата пакетов. Вы можете открыть новый терминал и запустить cansniffer с помощью
cansniffer -c vcan0
Параметр -c используется для указания изменения байтов кадра.
Вы можете видеть очень быстрые изменения в кадрах CAN, трудно уследить за скоростью, с которой происходит обмен данными. В реальной машине это общение произошло бы быстро. Чтобы не отставать от него, вы можете использовать фильтрацию по идентификатору арбитража. Если вы хотите видеть только кадры с ID 40C, вы всегда можете нажать — и затем 000000, а затем клавишу Enter. Это удалит все идентификаторы из cansniffer, затем вы можете нажать +, а затем ID, чтобы отфильтровать, а затем нажать клавишу Enter.
Здесь я отфильтровал ID 40c только с помощью тех же шагов, что и выше. Вы можете попробовать нажать клавишу со стрелкой вверх, чтобы увеличить газ, а затем заметить, как быстро меняются кадры CAN. Изменение снова обозначено окраской. Вы всегда можете поиграть с этим и посмотреть, как все работает под капотом.
Разобраться в этих огромных данных будет непростой задачей. Кроме того, поиск идентификатора арбитража, в который вы должны вводить кадры, является невыполнимой задачей из этих больших данных.
Таким образом, вы должны начать обнюхивать пакеты, затем выполнить какое-либо действие, например, включить указатели поворота или нажать на газ, как только это будет зарегистрировано, затем разделить пакеты на две половины, выполнить повторную атаку на первую половину и посмотреть, оно работает. Если нет, переходите ко второй половине. Эта другая половина кадра должна работать. Опять же, эта вторая половина все еще будет огромной, продолжайте и снова разделите кадры на две половины, повторяйте это, пока не останется один кадр.
Теперь, чтобы выполнить атаку Replay с помощью ICSim, вы должны уже запустить ICSim, вы должны видеть кадры с помощью cansniffer. Теперь мы будем использовать candump с опцией -l для регистрации и сохранения кадров, тем временем мы увеличим газ, нажимая клавиши со стрелками <влево> и <вправо>, чтобы включить индикатор указателя поворота.
candump -l vcan0
Теперь мы остановим candump, и вы увидите, что создается файл candump-XXXXX.log.
Воспроизведение кадров CAN
Для воспроизведения этих пакетов мы будем использовать canplayer . Поскольку мы будем использовать файл в качестве входных данных для canplayer, нам нужно включить опцию -I.
canplayer -I candump-2019XXXXXX.log
Вы видите, что была проведена повторная атака, поворотники, спидометр должны работать как и раньше.
Творческий анализ пакетов
В реальном автомобиле шина CAN может быть намного более шумной, а кадры CAN могут появляться намного быстрее, поэтому определение идентификатора арбитража может оказаться сложной задачей. Таким образом, чтобы легко определить идентификатор арбитража, вы можете следовать этому
Источник изображения: Car Hacker’s Handbook
Разделение кадров CAN и выполнение воспроизведения
Если вы хотите разделить кадры CAN на две половины и выполнить воспроизведение для каждого из них, лучший способ сделать это — захватить кадры CAN с помощью candump и используйте утилиту wc для подсчета количества кадров CAN, затем используйте split , чтобы разделить журнал на две половины поровну.
Теперь вы можете использовать canplayer для независимого воспроизведения этих кадров CAN.
Определите идентификатор арбитража для дроссельной заслонки, дверей и поворотников!
[Это изображение ниже было размещено намеренно, чтобы вы потратили время на поиск идентификаторов арбитража 😆]
Фото Кэмпбелла Буланже на Unsplash
На данный момент я предполагаю, что вы уже нашли идентификатор арбитража для дверей, тахометра и поворотники.
Вы могли заметить, что в 0x19B всякий раз, когда вы открываете/запираете двери, вы должны видеть изменения в кадрах CAN. Как насчет того, чтобы разблокировать их с помощью cansend? (в ICSim 4 двери)
Да, вот короткий ролик с GreHack, Франция 2019, провел мастер-класс по взлому автомобилей и эксплуатации CAN шины.
Это от Hyundai i10.
К настоящему моменту вы, должно быть, узнали, как работает шина CAN, как выглядит фрейм CAN и, конечно же, используя canutils, вы должны были научиться прослушивать фреймы CAN, отправлять и фаззить фреймы CAN.
Использование ICSim довольно просто, на реальном автомобиле это может быть немного сложно по нескольким причинам:
- У вас могут возникнуть трудности с поиском порта OBD-II, который дает вам прямой доступ к шине CAN.
- Обмен данными по CAN в реальном автомобиле происходит очень быстро по сравнению со скоростью, с которой это происходит в ICSim.
- В реальном автомобиле вы можете найти гораздо больше идентификаторов арбитража, чем в ICSim.
- CAN — не единственная сеть, присутствующая в автомобиле. Если вы не можете найти искомое сообщение, вероятно, оно находится в другой сети.
- Справочник автомобильного хакера — обязателен к прочтению
- Подробнее о can-utils и SocketCAN, SavvyCAN
- OpenGarages
- Чарли Миллер и Крис Валасек исследуют
- Самое главное: https://github.com/P1kachu/awesome-vehicle-security
Я определенно планирую выпустить еще несколько статей по этой серии, надеюсь, в ближайшие несколько недель, особенно на SavvyCAN, одном из моих любимых инструментов для фаззинга на шине CAN. Я планирую написать еще одну статью о том, как сделать это в реальной машине с помощью Macchina M2 и SavvyCAN.
А пока вы можете приобрести Macchina M2 здесь: https://macchina.cc/ или, если вы предпочитаете USB2CAN, получить его здесь: https://www.8devices.com/products/usb2can_korlan
Спасибо 🙂
Car Hacking 101: Практическое руководство по использованию CAN-шины с помощью Instrument Cluster Simulator — Часть I: Настройка | by Yogesh Ojha
Photo by Chris Liverani on Unsplash
Автомобильная безопасность действительно интересна и является интересной темой для изучения многими исследователями в области безопасности. Автомобили и оборудование, по большей части, всегда были вне поля зрения. Эти взломы всегда сложнее осуществить, и в то же время они потенциально более разрушительны. С появлением самоуправляемых автомобилей, таких как Tesla, автомобильная безопасность станет еще более важной.
Сегодня, когда вы ведете машину, вы управляете чрезвычайно мощным компьютером, у которого есть колеса и рулевое управление.
Сегодня, когда вы ведете машину, нет ничего, что не было бы опосредовано компьютером. А в основе всего этого лежит Controller Area Network или просто называемая CAN или иногда CAN Bus, центральная нервная система автомобиля, отвечающая за внутриавтомобильную связь. Этот туториал станет руководством по максимально безопасному взлому автомобиля при обратном инжиниринге CAN-пакетов.
Чтобы попрактиковаться в эксплуатации CAN-шины, мы будем использовать пакет ICSim от Крейга Смита. ICSim включает в себя приборную панель со спидометром, индикаторами дверных замков, индикаторами поворотников и панелью управления. Панель управления позволяет пользователю взаимодействовать с смоделированной автомобильной сетью, применяя ускорение, тормоза, управляя дверными замками и сигналами поворота.
« Car Hacking 101: Практическое руководство по эксплуатации CAN-шины с помощью Instrument Cluster Simulator » — это серия статей, где
Часть 1 посвящена настройке виртуальной лаборатории
Часть 2 посвящена использованию CAN-шины
Часть 3 посвящена SavvyCAN и выполнению этого на реальном автомобиле [TODO] вы начинаете работу с автомобильной безопасности. Входной барьер для взлома автомобилей намного выше по сравнению с любыми другими областями безопасности. Я надеюсь, что это руководство поможет вам преодолеть входной барьер.В то время как взлом автомобилей и автомобильная безопасность — это гораздо более широкая область, это руководство посвящено только сети контроллеров (CAN) и ограничено прослушиванием трафика CAN, его анализом, обратным проектированием и выполнением повторных атак на автомобили.
Хотя это правда, что мы будем выполнять эту атаку/учебник на симуляторе кластера приборов, его вполне можно перенести на реальный автомобиль с дополнительным оборудованием. Я расскажу о дополнительном оборудовании, необходимом в конце этой статьи.
Цель этой статьи — помочь вам легко начать работу в области автомобильной безопасности и/или взлома автомобилей, не тратя много денег на оборудование.
Это НЕ «Взлом от Zero to Hero in Car, который сделает вас экспертом в X минут», статья , вместо этого эта статья призвана помочь вам начать взламывать машины в симуляторе.Эта статья поможет вам узнать
- о функционировании CAN
- Получение доступа к CAN через OBD-II
- Анализ CAN-трафика
- Анализ и обратное проектирование CAN-трафика
- Повторная атака
- Отказ в обслуживании в сети CAN [Часть 3 TODO]
- Игра с пакетами CAN с использованием Python [Часть 3 TODO]😉
Если вы решите попрактиковаться в этом руководстве, вам понадобятся:
- Любой дистрибутив Linux (я буду использовать Ubuntu)
- can-utils
- ICSim (ICSim — симулятор инструментального кластера с открытым исходным кодом)
Можно загрузить с https ://github.com/zombieCraig/ICSimСимулятор кластера приборов
Сеть контроллеров, также известная как CAN, представляет собой центральную нервную систему, которая обеспечивает связь между всеми/некоторыми частями автомобиля. До того, как CAN был первоначально разработан BOSCH в 1985 в качестве системы внутриавтомобильной связи производители автомобилей использовали системы проводки «точка-точка». По мере того, как в автомобилях становилось все больше и больше электронных компонентов, они становились громоздкими и слишком дорогими в обслуживании. Затем эта проблема была устранена путем замены его на CAN.
Проще говоря, CAN позволяет различным электронным блокам в автомобилях взаимодействовать и обмениваться данными друг с другом. Основным мотивом предложения CAN было то, что он позволял обмениваться данными с несколькими ECU только с помощью одного провода. В современном автомобиле может быть до 70 ЭБУ. В автомобиле могут быть такие компоненты, как блок управления двигателем, подушки безопасности, трансмиссия, редуктор, антиблокировочная тормозная система или просто АБС, информационно-развлекательные системы, климат-контроль, окна, двери и т. д. Для того, чтобы все эти блоки могли общаться с друг друга, проводка точка-точка была бы такой громоздкой. Представьте себе, что каждый компонент подключен к любому другому компоненту, это был бы настоящий беспорядок для диагностики для устранения неполадок. Но с CAN это можно заменить одним проводом, и связь между каждым устройством намного проще.
Компоненты современного автомобиля
Шина CAN может рассматриваться как шумная, перегруженная и медленная версия локальной сети Ethernet, за исключением того, что трафик передается по UDP, а не по TCP.
Стоит отметить, что не все системы управления автомобилем используют CAN, а также CAN — это не только протокол связи, используемый в автомобильной системе. Могут быть и другие протоколы, такие как Bluetooth, сотовые сети GSM/LTE, спутниковое радио, LIN и т. д. Вы должны знать, что CAN — не единственная поверхность атаки, их может быть много.
В автомобиле может быть несколько узлов, способных отправлять и/или получать сообщения. Это сообщение состоит в основном из идентификатора, который является приоритетом сообщения, а также может содержать сообщение CAN, которое может состоять из восьми байтов или меньше за раз.
Если два или более узла начинают отправлять сообщения одновременно, сообщения, отправленные с доминирующим идентификатором, будут перезаписаны идентификатором менее доминирующего. Это называется арбитражем шины на основе приоритета. Сообщения с меньшим числовым значением ID имеют более высокий приоритет и всегда передаются первыми. Таким образом узел обнаруживает, что на шину помещаются сообщения с более высоким приоритетом.
Сообщение от тормозов имеет более высокий приоритет, чем сообщение от аудиоплеера.
Обратите внимание, что самый низкий идентификатор = наивысший приоритет.
Если два или более узла начинают отправлять сообщения одновременно, сообщения, отправленные с доминирующим идентификатором, будут перезаписаны идентификатором менее доминирующего.
Шина CAN состоит из двух разных проводов. Поскольку это шина, к этим проводам можно подключить несколько устройств. Фрейм CAN состоит из 3 основных частей:
- Арбитражный идентификатор
- Код длины данных
- Поле данных
Давайте посмотрим на кадр данных CAN: многие другие шины, которые можно легко реализовать, но почему CAN? До того, как была изобретена шина CAN, производители автомобилей использовали системы двухточечной проводки, если у вас есть три компонента в автомобиле, все три компонента были соединены друг с другом с помощью системы двухточечной проводки.
Рассмотрим эти три компонента: система рулевого управления, редуктор и АБС. Теперь, что касается типичной системы двухточечной проводки, вам нужно, чтобы система рулевого управления была напрямую подключена к редуктору и к АБС, а также проводами. Кроме того, ваш редуктор должен быть подключен к АБС и системе рулевого управления кучей проводов. Это совершенно нормально для автомобилей с меньшим количеством компонентов. Вы можете себе представить такое в современном автомобиле, который имеет целых 100 различных ЭБУ и других компонентов? Это будет грязно и громоздко! Также невозможно выявить неисправности в системе электропроводки (если они есть), диагностика была бы настоящим кошмаром, и очень дорого в обслуживании.
Именно тогда производители автомобилей придумали CAN.
Проблема двухточечной проводки может быть заменена двумя проводами, т. е. CANH и CANL, CAN HIGH и CAN LOW соответственно . Теперь этот способ общения намного быстрее, проще и его очень легко диагностировать.
Это потому, что CAN используется практически в каждом автомобиле, это предписано законом, поэтому CAN никуда не денется в ближайшее время. Кроме того, шина CAN не была разработана с учетом современных требований безопасности.
Чтобы получить доступ к шине CAN в автомобиле, вам необходимо иметь доступ к бортовому диагностическому порту, также известному как OBD. Хотя могут существовать сотни других диагностических стандартов и портов, в настоящее время практически все автомобили используют OBD-II. Это именно то, что ваши автомеханики используют для выявления неисправностей в вашем автомобиле. OBD — это самый прямой доступ к CAN. Найти OBD-II довольно просто. Он расположен где-то рядом с сиденьем пассажира или сиденьем водителя. И это должно быть доступно без использования отвертки.
Так выглядит OBD.
Если вас интересует распиновка OBD, вот распиновка порта OBD.
Если вы посмотрите внимательно, контакты 6 и 14 — это те же CANH и CANL, о которых я упоминал ранее.
Для того, чтобы вы могли взаимодействовать с шиной CAN, поскольку теперь вы уже знаете, что вам нужен порт OBD, вам нужно что-то вроде USB для CAN, потому что ваш компьютер не может напрямую общаться с CAN. Вам нужно что-то, что подключается к порту OBD-II через USB, чтобы вы могли отправлять/получать пакеты CAN. Также в программном обеспечении вам нужно что-то, что может читать и/или записывать пакеты CAN, а также кодировать и/или декодировать пакеты CAN. Имея немного аппаратного и программного обеспечения, вы определенно сможете подключиться к CAN.
Аппаратное обеспечение
Аппаратное обеспечение, необходимое для подключения к OBD-II, можно легко найти на рынке. Есть как дорогие, так и недорогие аппаратные устройства. Устройства высокого класса включают Kvaser и EMS, которые дороги и излишни.
У вас есть USB2CAN, собственный интерфейс для Linux, который предлагает отличное соотношение цены и качества.
USB2CAN
Кроме того, много раз вы будете сталкиваться с устройствами на основе ELM327, Bluetooth, они ужасны для взлома по той причине, что у них более низкая скорость передачи данных, и в конечном итоге вы потеряете так много пакетов.
Интерфейс OBD-II на базе ELM327
Macchina M2
Macchina M2 — мой личный фаворит. Macchina M2 — это автомобильный интерфейс с открытым исходным кодом, который позволяет вам обмениваться данными с шиной CAN через OBD-II. Самое приятное в Macchina M2 то, что он модульный, то есть вы можете добавить модули WiFi, GSM, LTE, BLE поверх M2. M2 имеет 2 канала CAN. У M2 также есть LIN 😉 Подробнее о Macchina M2 можно узнать здесь.
Macchina M2
Я использовал USB2CAN и Macchina M2, они предлагают отличное соотношение цены и качества и выполняют свою работу.
CLX000
Другим недорогим вариантом является CLX000 от CSS Electronics, который позволяет регистрировать и передавать данные CAN, например. цели взлома автомобиля. Данные можно визуализировать в бесплатном программном обеспечении Wireshark с открытым исходным кодом, а плагин обеспечивает полезную функциональность обратного проектирования.
CLX000 отлично подходит для визуализации и телематики.
Дополнительную информацию о CLX000 можно найти здесь, также есть отличные статьи о CAN.
Я бы рекомендовал просмотреть их блоги: https://www.csselectronics.com/screen/page/reverse-engineering-can-bus-messages-with-wireshark/language/enПрограммное обеспечение
Что касается программного обеспечения, у вас есть SocketCAN, can-utils, vcan, встроенные в ядро Linux. Они служат для отправки и получения пакетов CAN, их кодирования и/или декодирования.
У вас также есть Wireshark, который может анализировать пакеты CAN.
Если вы хотите узнать больше об эксплуатации CAN, не беспокоясь о том, чтобы навредить своему автомобилю, ICSim — это то, что вам нужно!
Лучший и недорогой способ попрактиковаться во взломе автомобилей — запустить симулятор приборной панели. Спасибо Крейгу Смиту и его репозиторию с открытым исходным кодом под названием ICSim. Используя ICSim, довольно легко настроить и недорого научиться эксплуатировать CAN-шину.
Выполним настройку.
Для моделирования кластера приборов требуются библиотеки SDL
SDL — это кроссплатформенная библиотека для разработки компьютерной графики и звука. Поскольку ISCim рисует и анимирует виртуальную панель инструментов, это необходимо. Это можно установить через apt-get.
sudo apt-get install libsdl2-dev libsdl2-image-dev -yУстановка утилит CAN
Чтобы мы могли отправлять, получать и анализировать пакеты CAN, нам нужны утилиты CAN. can-utils — это специальный набор утилит для Linux, который позволяет Linux взаимодействовать с сетью CAN в автомобиле. Canutils состоит из 5 основных инструментов, которые мы используем очень часто:
- cansniffer для перехвата пакетов
- cansend для записи пакета
- candump дамп всех полученных пакетов
- can player для воспроизведения пакетов CAN
- cangen для генерации случайных пакетов CAN
can-utils можно установить через apt-get
sudo apt-get install can-utils -yЗагрузить симулятор кластера инструментов
Симулятор кластера инструментов используется для создания имитации трафика CAN.
Его можно загрузить, клонировав проект через репозиторий git.
git clone https://github.com/zombieCraig/ICSimЕсли все пойдет хорошо, вы должны увидеть это
После того, как вы перейдете в каталог ICSim, вы увидите сценарий оболочки с именем setup_vcan.sh
Содержимое setup_vcan .sh
Здесь команда modprobe используется для загрузки модулей ядра, таких как модули can и vcan. Последние две строки создадут интерфейс vcan0 для имитации автомобильной сети.
Вы можете запустить следующие команды для настройки интерфейса виртуального банка
./setup_vcan.shЧтобы проверить интерфейс vcan0, ifconfig vcan0 покажет
Теперь пришло время запустить симулятор. Для запуска симулятора ICSim требуется как минимум два компонента. Приборная панель и контроллер для имитации ускорения, тормозов, управления дверями, поворотников и т. д. Для их запуска вам потребуется как минимум 3 окна/вкладки терминала. Нам потребуется, чтобы эти терминалы запускали панель инструментов, контроллер и еще один для запуска can-utils.
Запуск информационной панели
Чтобы запустить информационную панель, вы можете запустить файл с именем icsim с аргументом vcan0, интерфейс, который мы создали ранее../icsim vcan0Запуск приборной панели
В данный момент приборная панель не будет работать, включая спидометр, поворотники, тормоза или двери. Это потому, что на интерфейсе vcn0 нет трафика. Для имитации трафика на интерфейсе vcan0, нам нужно запустить контроллер.
Панель управления может быть запущена с помощью
./controls vcan0Приборная панель и панель управления запущены
vcan0 — это виртуальный интерфейс CAN, через который наш ICSim будет отправлять и получать кадры CAN. Как только вы запускаете панель управления, вы можете наблюдать, как спидометр делает некоторые колебания.
Добавить комментарий