Что дает прошивка автомобиля: что дает, сколько стоит и чем грозит? — журнал За рулем

Содержание

Прошивка ЭБУ двигателя (электронного блока управления двигателем): цены

Что такое прошивка ЭБУ двигателя

Что правится в прошивке ЭБУ

Как устанавливается прошивка

Почему не нужно перепрошивать ЭБУ самостоятельно

Почему стоит выбрать тюнинг-програмы АДАКТ

Электронный блок управления двигателя (ЭБУ, контроллер) — мозговой центр автомобиля. Он принимает сигналы от всех систем, согласовывает и отслеживает неисправности.

Некоторые функции ЭБУ:

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

Что такое прошивка ЭБУ двигателя

Программирование ЭБУ двигателя изначально делается производителем. Однако стоковая прошивка не адаптирована под конкретные климатические условия и стиль езды. Более того, на современных авто программно ограничивается мощность из-за экологических требований. Прошивка ЭБУ — это изменение параметров в заводской программе, которое позволяет обойти ограничения.

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

Плюсы прошивки:

  • Повысится мощность и крутящий момент;
  • Разгон станет быстрее;
  • При желании отключается неисправный катализатор или сажевый фильтр;
  • Улучшается работа при включенном кондиционере;
  • Педаль газа реагирует быстрее;
  • Исчезает турбояма (двигатели с турбиной).

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

Минусы прошивки:

  • Нужно заправляться на проверенных АЗС;
  • Повышается нагрузка на экологию при переходе на Е2.

Что правится в прошивке ЭБУ

В зависимости от целей чип-тюнинга при программировании ЭБУ двигателя может вносится более 1000 калибровок. Чаще изменения касаются:

  • топливодачи, порогов обогащения, ограничения топливоподач при ускорении;
  • давления наддува на турбированных двигателях в экономичном и мощностном режиме;
  • байтов аппаратной конфигурации и маски ошибок;
  • лимитов момента, топливоподачи и наддува;
  • алгоритма работы диспетчера режимов;
  • лимитов оборотов отключения ТП и V max.

Как устанавливается прошивка

  1. Чип-тюнинг начинается с диагностики двигателя. Есть правило: нельзя шить неисправный автомобиль.
  2. Считывается оригинальная прошивка ЭБУ или идентификаторы. Она модернизируется или выбирается готовая оптимизированная версия.
  3. Далее прошивку записывают. Одни блоки прошиваются без снятия и разборки с помощью адаптера через диагностический разъем OBDII. На других стоят ЭБУ, которые для перепрограммирования снимают. В этом случае есть варианты с разборкой и пайкой или без них.
  4. ЭБУ устанавливается на место. Владелец делает тестовый заезд.

 

Почему не нужно перепрошивать ЭБУ самостоятельно

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

Большинство автовладельцев пытается сделать своими руками, чтобы меньше тратиться. Но даже при наличии оборудования экономия минимальна. Если вы не планируете профессионально заниматься чип-тюнингом, лучше довериться оифиальным партнерам компании АДАКТ. Они проведут диагностику, подберут оптимальную версию прошивки и установит её с гарантией.

Отзыв о прошивке мозгов двигателя Chevrolet Orlando 1.8 от АДАКТ:

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

Прошивка на Stage 1, 2 , 3 какую выбрать?

Stage 1, 2, 3. Что это такое? В чем отличие? Какой стейдж можно прошить мне? Где в Краснодаре прошить на Stage 1? 


Начнем с того, что не данное понятие можно применять все же в турбированным моторам. С атмосферными моторами все попроще: под них есть уже готовые прошивки, Вы можете приехать в компанию Chip23 залить тюнинг прошивку и с радостью ехать наслаждаться автомобилем, который действительно едет. К слову на атмо моторе, скажем на Mercedes E250 249 сил можно легко чипануть на 306 сил, что очень заметно по приросту! На некоторых моторах прирост ощутим, на некоторых можно получить устранение тупняков и более качественный подхват с низов – паровозной тяги не появится при прошивке. 

Прошивки Stage1 и выше  бывают ТОЛЬКО! для турбо моторов!

 Прошивки Stage 1 существуют уже подготовленные под конкретный автомобиль, но в большинстве случаев, на самых новых авто, необходимо снятие блока считывание родной прошивки (иногда это очень сложно так как существует еще защита в виде паролей TPROT или GPT) и отправка инженерам на тюнинг. Запрограммировав такую прошивку в автомобиль вы получаете заметный прирост мощности, без потери ресурса и без замены железа (разве что можно катализатор удалить, но это больше экология). 

Для примера прошивка на Стейдж1 на БМВ F30 520i 184HP можно получить аж 295 сил!!!! (хотя на практике с мотором N20 так лучше не делать без замены поршней). Прошивка первого стейдж кроме всего прочего позволяет сохранить авто на заводской гарантии, что немаловажно для новых авто. Является самым бюджетным из способов увеличить динамику автомобиля. 

Прошивки Stage 2 требуют уже замены железа. Чаще всего это впуск, выпуск, реже охлаждение мотора. По выпуску: устанавливается прямая труба (даунпайп), вместо катализатора, она должна быть как можно прямее, без резких изгибов. Впуск: ставится более производительный интеркулер, фильтр нулевого сопротивления (K&N нулевик), забор воздуха, в идеале, должен производится с улицы – чем холоднее – тем лучше! При высоких нагрузках (горная местность или авто для гонок) необходимо более производительная система охлаждения двигателя. На каждый автомобиль прошивка от стейдж2 и выше настраивается индивидуально — снимаются параметры работы автомобиля в движении, такие как соответсвие наддува заданному, наличие детонации и тд.

 Отдельное слово стоит сказать о том, что иногда есть версии Стедж2 без изменения железа, например Toyota Land Cruiser Prado 150 3.0TD имеет версию прошивок St1, St2 без изменения железа, и у нас можно прошиться на любую версию! 

 Stage 3 требует еще более серьезного вмешательства в железо. Установка более производительного турбокомпрессора или суперчарджера, система охлаждения необходима более производительная, интеркулер еще большего размера, либо дополнительный впрыск водометанола, индивидуальный выпускной коллектор под турбину. Не стоит так же забывать про тормоза, сцепление, сама КПП должна выдерживать такой крутящий момент. Прошивка так же настраивается индивидуально, с использованием диностенда или как это происходитв нашей компании черех Dynopro.

 Отдельно стоит упомянуть то, что любой тюнинг стоит начинать с тормозов. Имея огромный запас мощности под капотом, сток тормоза просто не остановят! Либо же после 2-3 торможений начнут «плыть». Имеет смысл установка многопоршневых тюнинг комплектов (Brembo, StopTech…). Колодки, которые будут выдерживать высокие температуры (EBC Brakes…).Автомобили на механике так же требуют усиленного сцепления, иначе просто не сможет передать весь крутящий момент колесам. Авто на автомате часто требуют установки дополнительных фрикционов. Все вышеописанное применимо к Ст2 и 3. При прошивке стандатрного авто без изменения железа, как правило, родных тормозов и сцепления хватает. 

В Краснодаре в компании Chip23 можно прошить турбированный дизель или бензин на Stage1, либо подготовить даунпайп и сделать решение класса Stage2. Индивидуальная настройка Stage 2, 3 это совсем другой бюджет, нет смысла даже обдумывать переход на Ст2 и выше если не готовы отдать за такое мероприятие от 20тр (включая железо, программу, настройку и тд). Решения класса Stage3 мы берем в работу, но нужно понимать, что тут уже бюджет сильно больше и как правило такие авто требуют больше внимания при обслуживании. Так же можно прошить атмосферный авто — в зависимости от мотора можно получить заметное увеличение мощности и уменьшение расхода топлива. Так же прошивка рекомендуется при установке ГБО 4 поколения и выше.   

Чип-тюнинг авто в Раменском — тест-драйв и манибэк до 7 дней

Не устраивает вялая динамика автомобиля: провалы при разгоне, «тупизна» электронной педали газа, плохая тяга с низов или уход со старта в турбояму? Решение есть — приезжайте на чип-тюнинг в Раменском по адресу Красная, д. 17/1. Улучшим тяговые показатели, оптимизируем динамику и добавим до 35% к мощности автомобиля без вреда мотору.

Что дает чип-тюнинг двигателя

  • Увеличение мощности и крутящего момента

Прибавка производительности для дизелей с турбонаддувом 20–35%, для атмосферных двигателей до 10%. Ресурс мотора не снижается — калибровки идут в строго допустимых заводом пределах. Смотрите на нашем сайте изменение мощности и момента после прошивки авто на графиках замера с диностенда.

  • Улучшение динамических показателей

Уменьшение времени отклика на нажатие педали газа и ровную тягу на всем диапазоне оборотов. Плавное переключение коробки передач и стабильную работу на холостом ходу.

  • Отключение вышедших из строя экологических устройств

Программное отключение забитого или полетевшего катализатора, сажевого фильтра, неисправного лямбда-зонда. Заглушка клапана ЕГР с последующим отключением в прошивке. Понижение класса экологичности Евро.

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

Настройка работы двигателя с определенным октановым числом. Правильный перевод машины на работу с ГБО. Установка двухрежимных прошивок газ-бензин.

Проверенный чип-тюнинг в Раменском

Сервис Racing Technology выполняет услуги диагностики и чип-тюнинга авто в Раменском районе Московской области с 2010 года. Работаем с отечественными легковыми автомобилями, иномарками и различной спортивной техникой.
Проводим настройку систем управления ДВС Январь 5.1/7.2, Абит Корвет, Vems, ViPec, MegaSquirt для участия в ралли-кроссах, драг-рейсинге и других дисциплинах. Клиенты сервиса регулярно становятся призерами региональных и всероссийских соревнований. Наш опыт — более 7 лет профессионального чип-тюнинга.

Как делаем перепрошивку ЭБУ

  1. Выполняем компьютерную диагностику машины сканером. Чип-тюнинг необходимо выполнять на полностью исправном автомобиле. Для диагностики используем профессиональные дилерские сканеры и мультимарочные аналоги.
  2. Считываем стоковую прошивку ЭБУ двигателя. В большинстве случаев это происходит через диагностический разъем OBD2, но на некоторых авто требуется снятие блока управления.
  3. Устанавливаем тюнинговую прошивку и передаем машину на тест владельцу.

Весь процесс чип-тюнинга занимает не больше 3 часов. Помните: новая прошивка полностью раскрывает свой потенциал после 200–300 км. пробега, когда системы и датчики адаптируются под измененные параметры.

Преимущества чип-тюнинга от Racing Technology

  • Выдаем клиентам сертификат подлинности прошивки. Служит гарантией, что над программой работали профессиональные калибровщики.
  • Даем 7 дней на обкатку новой прошивки. Этого времени хватит, чтобы оценить все изменения в поведении автомобиля. Если прошивка по какой-либо причине не устроит, мы вернем деньги назад и откатим обратно на сток.
  • Подбираем идеальную прошивку под ваши запросы: от гражданского до спортивного тюнинга. У нас большая база прошивок для чип-тюнинга от Паулюса, АДАКТ, Ледокол, Дмитрия Аяшева, Василия Армеева, ММК, RSW и других.
  • Заказываем индивидуальные доработки у калибровщика-производителя. При выпуске новой версии — обновляем бесплатно.

Приезжайте на чип-тюнинг своего авто с гарантированным результатом по адресу: Московская область, г. Раменское, ул. Красная, д. 17/1. Записывайтесь по телефону +7(915)308-04-84, в нашей группе ВКонтакте или по форме ниже.

Прошивка ЭБУ – как обновить блок управления своими руками? + Видео

1 Что такое прошивка блока управления двигателем и как прошить ЭБУ?

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

Похожие статьи

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

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

2 Какие прошивки бывают?

В настоящее время насчитывается большое количество производителей программного оборудования для перепрошивки электронных блоков управления. Самые авторитетные и известные производители представлены на рынках США и Германии. Что касается нашей страны, то по мере распространения автомобилей с инжекторными и турбодизельными двигателями и современными ЭБУ постоянно росло и число производителей программных элементов. Однако в последние годы количество грамотных чип-тюнеров сократилось в разы в связи с тем, что производители автомобилей устанавливают программную защиту при производстве – чтобы качественно перепрошить ЭБУ автомобиля необходимо серьезное и дорогостоящее оборудование, похвастать производством которого могут немногие.

3 Что дает перепрошивка ЭБУ?

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

При процедуре программного тюнинга специалисты меняют различные калибровки, от которых зависит работа мотора, в зависимости от марки автомобиля и типа двигателя. Изменениям могут подвергаться от 30 до 1000 калибровок. В основном меняются параметры УОЗ, подачи топливной смеси, запуска двигателя и т. д. Изменение прошивки происходит с помощью диагностического модуля с разъемом, при этом не требуется выпаивание микросхемы ЭБУ. Но на некоторых новых моделях автомобилей добиться улучшения показателей невозможно лишь с помощью диагностического разъема.

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

Обратный инжиниринг процесса обновления прошивки Tesla

TL; DR

Как Tesla Model S обновляет прошивку? Что мы обнаружили при реинжиниринге дисплея и комбинации приборов?

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

Часть 1: анализ оборудования, включая 14-слойную печатную плату в CID

Часть 2: обращение вспять процесса обновления прошивки и важность режима смертника

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

CID Архитектура программного обеспечения VCM

CID намного больше и сложнее, чем у большинства встроенных систем, и — что необычно для встроенных систем — его операционная система представляет собой полную версию Ubuntu, распространяемую Linux.

В ядре мы обнаружили кастомные элементы, такие как Harman Redbend, ядро ​​было собрано с помощью набора инструментов Linaro.

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

Загрузка VCM

Это похоже на многие устройства Tegra.

BPMP (Процессор управления загрузкой и питанием) является вторичным процессором Tegra SoC.Он выполняет загрузчик только для чтения, хранящийся в ПЗУ, и является процессором ARM7. На этом этапе мы отключили главный процессор Tegra.

Значительный объем информации предоставляется, когда загрузчик ПЗУ BPMP считывает часть данных из флэш-памяти NOR. Это называется BCT (таблица конфигурации загрузки). Информация включает:

  • Адреса нескольких загрузчиков в памяти
  • Куда загрузить загрузчик в SDRAM
  • Точка входа для загрузчика в SDRAM
  • Конфигурация SDRAM, подключенной к системе (требуется доступ для загрузки)

BPMP начинает выполнение после копирования загрузчика первой ступени в SDRAM. Мы еще не включали основной процессор в Tegra.

Загрузчик первой ступени называется QUICKBOOT и имеет размер примерно 56 КБ. Даются четкие ссылки на AES-CMAC — код аутентификации сообщения. «AES-CMAC Xor» относится к числу используемых здесь строк, которые также можно найти в U-boot, загрузчике с открытым исходным кодом (https://github.com/u-boot/u-boot/commit/b149c4c399b111cec1ff7505ca9fabbeeb4fe394).

Строки из загрузчика первой ступени

Можно было бы предположить, что загрузчик основан на U-загрузке, но на самом деле конкретные криптографические функции были написаны Nvidia и поэтому могут свободно использоваться Nvidia где-либо еще.

Главный процессор включается, когда загрузчик первого этапа правильно настраивает SoC. Затем загружается загрузчик второй ступени, позволяющий запустить основной процессор.

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

Примерно следуя формату Android bootimg, образ ядра состоит из ядра и виртуального диска в одном файле.

Сценарий с именем /sbin/init-stage-0.sh запускается после активации ядра. Его основная цель — обеспечить полную работоспособность системы путем установки разделов флэш-памяти NAND.

NOR вспышка

Мы обнаружили BCT, загрузчики первого и второго этапов и ядро ​​во флеш-памяти NOR.

Расположение NOR flash на CID

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

флэш-память NAND

Файловая система / usr /, хранящаяся как файловая система sqaushfs, содержит двоичные файлы и сценарии, которые не изменяются во время нормальной работы.Распространенная во встроенных системах с низким уровнем ресурсов, SquashFS представляет собой сжатую файловую систему, доступную только для чтения, которая позволяет неизменным частям файловой системы занимать меньший объем флэш-памяти.

Каталог / var /, содержащий журналы, представляет собой небольшую файловую систему ext4 размером 128 Мбайт.

Каталог / home /, содержащий файлы обновления и временные данные, хранится на оставшейся флэш-памяти как файловая система ext4.

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

Двухбанковская прошивка

После запуска начального загрузчика ПЗУ процесс загрузки имеет выбор из двух образов:

  • ROM загрузчик — доступна только одна его копия. Он неизменен и вряд ли выйдет из строя, если не произойдет катастрофических проблем с оборудованием.
  • stage1_primary / stage1_recovery — выбирается последовательно загрузчиком ПЗУ. Второй запускается, если первый выходит из строя. Два загрузчика выглядят почти одинаково, за исключением расположения в памяти
  • .

  • stage2_primary / stage2_recovery — запускаемый здесь загрузчик определяется тем, какой из загрузчиков stage1 был запущен. Опять же, два загрузчика выглядят почти одинаково, за исключением расположения в памяти
  • .

  • kernel_a / kernel_b — эти два ядра сильно отличаются друг от друга по параметрам загрузки
  • online / offline usr разделы могут быть смонтированы при запуске системы

Вот параметры загрузки двух ядер:

Сценарий init-stage-0.sh считывает значение thispartid и загружает один из двух разделов / usr / squashfs. Если один поврежден, другой можно использовать для восстановления.

Мы также могли видеть, что AppArmor обычно включен. Эта система обязательного контроля доступа позволяет ядру ограничивать двоичные файлы ограниченными наборами ресурсов. Ubuntu включает это по умолчанию. Конфигурация Tesla выглядит стандартной.

Безопасная загрузка

Безопасная загрузка

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

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

Подпись BCT проверяется загрузчиком ПЗУ с помощью ключа, хранящегося внутри. Это называется SBK. AES-CMAC берется из BCT и проверяется. Это симметричная криптография — если ключ был обнаружен, можно было бы сгенерировать действительный BCT.

Нам не удалось установить, является ли SBK уникальным для каждого устройства / транспортного средства или общим для более крупных групп.Чтобы определить это, нам понадобится доступ к нескольким транспортным средствам.

В качестве альтернативы, храня внутри только открытый ключ, Tegra может использовать криптографию с открытым ключом. Даже если бы открытый ключ был обнаружен, все равно было бы невозможно создать правильно подписанный образ BCT. Это гораздо более сильная альтернатива симметричным клавишам. По нашим подсчетам, поддержка программного обеспечения отсутствовала до 2015 года — после внедрения Tesla CID.

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

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

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

CID входит в пространство пользователя после загрузки.

Серия двоичных файлов Qt отображает пользовательский интерфейс CID. Мы выполнили лишь очень ограниченный реверс-инжиниринг их.ПИН-код из 8 символов защищает сервисное меню на CID, которое, кажется, меняется ежедневно и реализуется CID.

Shell-скрипты реализуют больший объем функциональных возможностей автомобиля. Обратный инжиниринг упрощен, поскольку это текстовые файлы, читаемые человеком.

Механизмы обновления прошивки

Мы наблюдали несколько механизмов обновления прошивки.

VPN-соединение, исходящее от автомобиля к системам Tesla, было центральным для всех механизмов. Никаких других форм транспортного шифрования мы не наблюдали; все запросы от CID были сделаны по незашифрованному протоколу HTTP.

Мы видели следующие механизмы обновления:

  • Shell script — выглядит как устаревшая система, но имеет много общего с более поздним двоичным механизмом средства обновления.
  • Двоичный файл обновления — это большой двоичный запрос с несколькими вызовами, который опрашивает обновления, загружает их и может применить к системе.
  • Ядро / загрузчик — ядро ​​и загрузчик обновляются с помощью определенного двоичного файла.
  • Карта — соединение VPN используется для загрузки картографических данных
  • Обычный ЭБУ — для распространения обновлений прошивки от CID к ЭБУ через шлюз CAN используется сложный процесс.
  • USB-прошивка для модуля Wi-Fi и сотового модема.

Мы рассмотрим каждый из них ниже.

VPN-соединение

Подключение OpenVPN к серверу Tesla устанавливается с помощью CID. Для этого используются ключи и сертификаты для каждого автомобиля. VIN автомобиля является предметом сертификата.

Пример ключа VPN

Нам удалось извлечь эти ключи из файловой системы с локальным доступом к CID, а затем подключиться к частной сети Tesla, используя их на другой машине.Срок действия ключей истек 31, , мая 2018 года. Не было никакого запасного механизма, если бы они не были с тех пор обновлены путем обновления прошивки.

Если VPN настроена безопасно, перехватить обмен данными или вмешаться в них невозможно.

VPN можно установить через Wi-Fi или сотовую связь — в зависимости от того, что доступно. Определенные аспекты коммуникации (например, большие загрузки) показали близость к Wi-Fi. Предположительно, это должно снизить затраты Tesla.

При подключении к VPN автоматически было установлено несколько маршрутов:

  • 32. 0,0 / 16
  • 33.0.0 / 16
  • 224.0.0 / 24
  • 232.75.0 / 24
  • 232.79.0 / 24

Полное сканирование портов этих диапазонов было проведено в соответствии с условиями вознаграждения за обнаружение ошибок Tesla, и было обнаружено только несколько хостов:

  • vn.teslamotors.com — данные и статус автомобиля, обновление токена безопасности для доступа к диагностике и IC SSH
  • vn.teslamotors.com — загрузка и обновление прошивки
  • Firmware-bundles.vn.teslamotors.com — несуществующий сервер обновления прошивки
  • вн.teslamotors.com — картографические данные и обновления

VPN-ключи хранились на большой SD-карте, подключенной к шлюзу, согласно более ранним отчетам о безопасности Tesla. Удалив SD-карту, их можно легко восстановить. На тестируемом автомобиле этого не было; здесь они хранились на флеш-памяти NAND на VCM в CID.

Сервер прошивки

Пример ответа JSON от сервера

Обновления прошивки сценария оболочки

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

Рукопожатие скачать прошивку

Через Tesla VPN сценарий оболочки / local / bin / do-firmware-handshake получает и устанавливает обновления прошивки.

Этот скрипт можно запустить из нескольких источников:

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

Сценарий получает и применяет обновления с верхнего уровня, как показано ниже.

Используя контрольный файл, сценарий проверяет, выполняется ли существующее обновление.

Сценарий оболочки, который распаковывает пакет обновления и устанавливает его, проверяет, запущен ли сценарий «unpack.sh». Do-firmware-handshake завершается, если обновление продолжается, поскольку оно уже выполняется.

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

Чтобы увидеть, подключен ли VPN, сценарий проверяет наличие интерфейса tun0. Сценарий ждет 30 секунд, чтобы повторить попытку, если VPN не подключен. Никаких активных попыток установить VPN-туннель не делается — это делает другой внешний процесс.

Сценарий устанавливает соединение со следующим URL-адресом после установления VPN-соединения:

http: // прошивка.vn.teslamotors.com:4567/vehicles//handshake

Отправлены следующие данные:

vehicle_hardware_configuration_string — полученный из «Идентификаторов оборудования», это разделенная запятыми строка, описывающая конфигурацию транспортного средства, хранящуюся в шлюзе. Другой сценарий оболочки, / usr / local / bin / vehicle_hardware_configuration_string, генерирует эту строку. Его формат:

— читать из / etc / swver, это версия программного обеспечения, работающего на CID.

Затем сервер возвращает строку JSON, которая должна содержать следующие поля:

  • Firmware_download_url — расположение файла, который мы будем скачивать
  • Firmware_download_file_md5 — контрольная сумма MD5 файла, который мы будем загружать
  • Download_status_url — URL для отправки статуса обновления
  • Vehicle_job_status_url
  • Unpack_size — размер распакованного файла прошивки
  • Install_size — размер, необходимый для установки файла прошивки

Мы обнаружили, что по-прежнему можно отправлять эти запросы и получать ответы.Что особенно важно, мы обнаружили, что можно делать запросы на любой VIN с помощью VPN для другого автомобиля.

Мы были удивлены, обнаружив, что вместо такого надежного решения, как jq, ответ JSON анализируется вручную с использованием awk, gsub и split.

Затем выполняется базовая проверка работоспособности этих полей.

Чтобы указать, что обновление началось, download_status_url сохраняется в сигнальном файле.

После выполнения HTTP-запроса HEAD для файла проверяется размер файла firmware_download_url.Мы думали, что это странный механизм для использования, поскольку его можно просто передать в ответе JSON. Адрес firmware_download_url указывал на сервер firmware-bundles.vn.teslamotors.com во всех полученных ответах. Несмотря на то, что они были отправлены в процессе рукопожатия, ни одна из ссылок не работала.

Используя unpack_size и install_size из ответа JSON, выполняются базовые проверки свободного места в файловой системе флэш-памяти.

Чтобы CID не спал в течение 60 минут, выполняется запрос к веб-API, работающему с CID на порту 4035.

Теперь загрузим файл. Он загружается как одна часть, а не разбивается на части. Если размер не соответствует ожидаемому, выполняется повторная попытка загрузки. Этого условия невозможно избежать, а это означает, что сценарий может зайти в бесконечный цикл.

Эти файлы будут загружены только через Tesla VPN для примера firmware_download_url, полученного во время тестирования.

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

После загрузки файла пользователю предлагается выполнить обновление во всплывающем окне на экране CID. Это делает другой сценарий оболочки, / usr / local / bin / get-response. Он делает запрос к веб-API, запущенному на CID на порту 4070, и ждет ответа в течение часа.

Загруженный файл перемещается в / home / tesla / dropbox, готов к установке, если пользователь принимает обновление.

Обновление USB

Используя карту памяти USB, также можно поместить файлы обновлений в / home / tesla / dropbox.Это выполняет сценарий оболочки / usr / local / bin / usb-upgrade.

Скрипт ищет файлы в папке / toinstall с форматом имени файла:

ui_full_package _ * _ _pedigree_v * . tar.gz

Используя следующую таблицу, ищется по VIN-номеру автомобиля:

Некоторые VIN обрабатываются по-разному через обновление USB

В этой таблице указаны автомобили для разработки с предварительно заданными VINS.

Файл копируется в Dropbox и затем устанавливается, если текущая версия программного обеспечения на CID отсутствует в этом имени файла.Поскольку проверка наивна и игнорирует фактическую версию, это может позволить как обновить, так и понизить версию прошивки.

Похоже, в скрипте есть ошибка. Возвращаемый просто пуст, если VIN автомобиля не указан в скрипте. Это приводит к совпадению следующей формы файлов:

ui_full_package _ * __ pedigree_v * .tar.gz

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

Dropbox установить

Сценарий «unpack.sh», расположенный в / local / bin, устанавливает пакеты, помещенные в папку / home / tesla / dropbox. Этот сценарий описывает процесс и содержит множество комментариев.

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

Процесс на высоком уровне выглядит следующим образом:

Убедитесь, что имя файла указано и файл существует.

Когда автомобиль «припаркован», эту проверку выполняет другой сценарий оболочки - / usr / local / bin / car-is-parked. На порте 4035 CID это делает HTTP-запрос к веб-API, чтобы проверить, находится ли автомобиль на «парковке». Следует отметить, что скрипт припаркованной машины содержит функции для проверки нулевой скорости, но они не вызываются.

Сценарий ждет 5 минут и снова проверяет, не припаркована ли машина.

Чтобы CID не спал в течение 20 минут, затем делается запрос к веб-API через порт 4035.

С помощью утилиты mktemp создается временный каталог в /home/tesla/unpack. tmp-XXXXX.

Файл tar распаковывается во временный каталог.

Проверено наличие 4 файлов:

  • НАИМЕНОВАНИЕ упаковки
  • ВЕРСИЯ номер упаковки
  • md5 сумма файлов в пакете
  • tar.gz - файлы связанные с пакетом

Процесс не проверяет, существует ли он, но ожидает, что файл «install.sh »присутствовать.

Для проверки целостности файлов файл md5sums загружается в инструмент md5sum. Это не добавляет безопасности и является чистой проверкой целостности.

Если в качестве параметров переданы имя, версия и data.tar.gz, выполняется файл install.sh. Для максимального контроля над действиями пакетов install.sh может выполнять любые действия, которые обычно могут выполнять пользователь root.

Файл install.sh может содержать произвольные команды, и весь процесс выполняется от имени пользователя root. Чтобы получить контроль, злоумышленник может поместить действующий пакет обновления в Dropbox для выполнения произвольных действий с CID или IC.

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

Далеко не безопасный, этот механизм имеет мало защиты, кроме транспортного шифрования, обеспечиваемого VPN. Вероятно, это основная причина, по которой он устарел.

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

Updater обновляет

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

Статически связан с отладочной информацией

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

  • ic-updater - программа обновления IC. Открывает порт 28493 для команд и 21576 как веб-сервер.
  • cid-updater - программа обновления для CID. Открывает порт 25956 для команд и 20564 как веб-сервер.
  • gwxfer - используется для передачи файлов на шлюз, бинарная замена сценария оболочки gwxfer,
  • sm-updater - непонятно, что означает «sm». Это может быть что-то, что используется на заводе, поскольку остальная часть двоичного файла имеет ссылку на «sitemaster».
  • ethdeploy - похоже, средство для развертывания пакетов на других устройствах в автомобиле
  • upackager - относится к шлюзу, принимает параметры для выпуска.tgz (обновление для ЭБУ) и internal.dat (конфигурация автомобиля) и vhcs (строка конфигурации автомобиля)

Разные имена для разных личностей

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

Чтобы упростить определение отклонения кода в зависимости от личности, 0 соответствует IC, 1 - CID, а 5 - SM.

Порты для команды / http для разных личностей

Запустив программу обновления как «кластер», система предназначена для работы с несколькими устройствами (CID и IC). При подключении и загрузке микропрограмм через VPN, CID действует как мастер. Термин «реле» в коде, порты команды / HTTP затем используются для распространения микропрограммного обеспечения на IC.

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

Пример условных потоков на основе личности

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

Запуск IC-Updater в эмуляторе

Двоичный файл выполняет хеширование sha512 во время инициализации. Мы были удивлены, обнаружив, что, хотя sha512 выводит 64 байта, остаются только первые 8 байтов.Это означает, что можно найти хэш-коллизию с помощью грубой силы.

hash_self выполняет хеширование sha512 двоичного файла

Усеченный хэш-вывод sha512

Нормальный sha512 Сумма файла

Позже, при запросах к серверу обновлений микропрограмм, этот хеш используется как часть строки User-Agent.

Хеш помещается в часть запроса User-Agent

Злоумышленник может сообщить об ожидаемом хеш-коде sha512 при запуске альтернативного вредоносного ПО, хотя это означает, что сервер может определить, какая версия средства обновления используется.Это не сильная защита от злонамеренных действий.

Выполняемое таймером или по требованию, программа обновления может обрабатывать серию команд в буфере. Их можно вводить с помощью cid-updater или открытого командного порта, позволяя другим устройствам в сети Ethernet Tesla выполнять действия.

Ниже приведен пример запуска задачи «fwheartbeat» с интервалом в 1 час с вызовом функции start_regular_timer:

fwhearbeat добавлено на таймере

Вызывая функцию do_after_e_ms, также можно запустить команду по истечении фиксированного периода времени.Вот пример перезапуска загрузки прошивки:

Загрузка, перезапуск по истечении времени

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

Массив команд

С разными параметрами, команды install и patch вызывают функцию do_install.

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

Пример того, что ic-updater запрашивает обслуживание файла по HTTP

Загрузка обслуживаемого файла по HTTP

Текущее состояние сообщается через командный порт

Маркер сеанса требуется для защиты команд между IC и CID. Это меняется один раз в день и синхронизируется с серверами Tesla через VPN. Злоумышленник может перехватить этот токен, если сможет прослушать соединение между IC и CID и использовать его для отправки своих собственных команд.

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

Режим разработки, вызывающий пропуск проверки подписи

Бинарный файл содержит огромное количество функций. Наиболее важные процессы на высоком уровне:

  • Рукопожатие - процесс отправки запроса на сервер Tesla, содержащего сведения о транспортном средстве, и получения ответа на выполнение действий с транспортным средством.
  • Скачивание и расшифровка различных файлов обновления прошивки на основе рукопожатия
  • Установка загруженных и расшифрованных файлов обновления прошивки, называемых патчами (полные обновления прошивки), bsdiff40 (двоичные файлы diff) или Redbend deltas (проприетарные двоичные различия) в разделы автономной флэш-памяти
  • Relay - копирование прошивки с CID на IC
  • Повторное развертывание - копирование автономных аспектов прошивки в оперативный режим для восстановления. Другие функции содержатся в двоичном файле, но не используются.

Рукопожатие

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

POST-запрос к серверу прошивки выполняется функцией do_handshake. Для подключения из файла требуется конфигурация сервера микропрограмм (включая имя сервера, порт и путь).

Конфигурация для запроса подтверждения

Более сложные, чем в версии сценария оболочки, данные, содержащиеся в запросе POST, включают следующее:

  • VIN автомобиля - извлекается и кэшируется из шлюза, а не из файла. Отправлено по пути запроса.
  • VHCS (строка конфигурации оборудования транспортного средства) - строка, основанная на hwids.txt, восстановленном из шлюза (сгенерирована с помощью функции fetch_vhcs). Отправляется как параметр POST.
  • Текущая подпись прошивки - считывается с помощью функции read_firmware_signatures. Считывает подпись встроенного ПО из последних 40 байтов раздела памяти, содержащего раздел / usr /. Отправлено base64 в кодировке POST.

Строка формата для запроса POST

Функция request_HTTP выполняет запрос POST.Он может делать только HTTP-запросы, но не HTTPS. Бинарный файл средства обновления вообще не имеет функции TLS, а это означает, что рукопожатия всегда выполняются в обычном режиме, полагаясь на безопасность Tesla VPN.

Функция tun0_is_up проверяет VPN-соединение. Это кажется наивным, просто проверять наличие устройства tun0. Злоумышленник с контролем CID может установить свою собственную VPN без ведома двоичного файла средства обновления.

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

Сервер дает ответ JSON на запрос HTTP POST. Как правило, если запрос неверен или сформирован, ответ не предоставляется.

Типичный ответ на рукопожатие

Функция handle_handshake_download обрабатывает ответ JSON.

В ответе на рукопожатие могут присутствовать десятки полей. Отдельные поля могут быть получены из JSON copy_handshake_var_at, который принимает параметр имени поля.В 72 ссылках на эту функцию используется не менее 35 различных имен полей.

Несколько вызовов для поиска полей в ответе JSON

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

Вот пример хэша md5, считываемого из ответа на рукопожатие в функции do_install.

Чтение поля firmware_download_file_md5 из ответа

Затем вызывается функция handshake_is_actionable.Рукопожатие не сможет выполнить никаких действий, если обновление будет загружено, уже поставлено на CID, передано на IC или установлено.

Причины отказа от рукопожатия

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

Скачать

Три разных поля могут содержаться в ответе на рукопожатие для файлов для загрузки:

  • Firmware_download_url - обычное обновление по методу сценария оболочки
  • Bsdiff40_download_url - двоичные различия с использованием решения с открытым исходным кодом
  • Rbdlt_download_url - проприетарные дельты Redbend

При использовании HTTP все они загружаются одинаково.Вот пример URL:

Мы отметили несколько интересных характеристик этих URL:

  • Генерируется в ответ на каждый запрос рукопожатия и очевидно уникален
  • Всегда имейте срок годности две недели после получения ответа о рукопожатии.
  • HMAC (хешированный код аутентификации сообщения), по-видимому, проверяет целостность остальной части запроса.
  • Сервер, с которого они загружаются, доступен из общедоступного Интернета - для установления соединения VPN не требуется.

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

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

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

Wi-Fi или сотовое соединение можно использовать для загрузки. Другое поле, wifi_wait_until, разрешит загрузку через Wi-Fi в течение ограниченного периода времени. Мы считаем, что это сделано для того, чтобы избежать затрат на загрузку по сотовой связи, но разрешить их для важных обновлений.

Есть поля, касающиеся криптографии, как это видно в ответе на подтверждение прошивки:

Криптографический ключ для загрузки прошивки через открытый Интернет

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

Ответ на установление связи отправляет весь 256-битный ключ через VPN, поэтому он должен оставаться безопасным, предотвращая перехват загрузок микропрограмм через Интернет.

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

Установить

Можно обновить множество различных аспектов системы:

  • / раздел usr
  • Ядро
  • загрузчик

Обновления раздела / usr касаются большей части функциональных возможностей двоичного файла средства обновления.Для этого система разделена на онлайн- и офлайн-разделы usr. На каждом этапе они рассматриваются как необработанные устройства памяти (например, / dev / mmcblock0p1), хотя они упоминаются как usr, а не как смонтированные файловые системы. «Usr» относится к доступным только для чтения аспектам устройств памяти.

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

Для выполнения изменений из автономного раздела происходит следующее:

  • Изменения, внесенные в автономные разделы (с помощью patch, bsdiff или Redbend)
  • Проверяются подписи оперативных и автономных разделов, чтобы убедиться, что исправления применены правильно.
  • Автономный раздел монтируется как / newusr; содержимое / newusr / deploy / затем может быть выполнено

При копировании изменений из офлайн в онлайн происходит следующее:

  • В автономные разделы вносятся изменения (с помощью patch, bsdiff или Redbend)
  • Проверяются подписи оперативных и автономных разделов, чтобы убедиться, что исправления применены правильно.
  • Update затем «повторно развертывает» прошивку, которая включает в себя копирование разделов загрузчика, ядра и usr в онлайн-разделы.

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

Двоичный файл средства обновления выполняет обновления ядра и загрузчика, выполняя системные вызовы упомянутой выше программы обновления, как видно из переданных параметров.

Выбор cid / ic / sm-udpate_sample

Звонки на * -update_sample

Способ применения изменений может различаться.

Обычное полное обновление

Загружается, распаковывается

файлов tar.gz и запускается сценарий оболочки для внесения изменений, почти идентичный описанному выше обновлению прошивки сценария оболочки.

Обновление прошивки Bsdiff

Загружаются по HTTP, расшифровываются и затем устанавливаются, некоторые обновления прошивки представляют собой двоичные файлы различий bsdiff.

Функция patch_from_bsdiff40_to_offline_dev применяет обновления.

Обзор функции patch_from_bsdiff40_to_offline_dev

/ это выполняет следующее, с высокого уровня:

  • Убедитесь, что загруженный файл имеет формат BSDIFF40.
  • Начать обработку файла BSDIFF40 с использованием статически связанных функций bzip
  • Определите, какой из банков флэш-памяти является автономным (неиспользуемым) банком.
  • Применить двоичные различия для всего автономного раздела usr

Работая на уровне необработанной флэш-памяти, процесс совершенно не знает о файловой системе или файлах, содержащихся в ней.Перед применением обновления необходимо, чтобы раздел / usr не был изменен. Весь раздел доступен только для чтения и не вызывает проблем. Чтобы убедиться, что начальная точка соответствует ожиданиям, перед применением обновления выполняется проверка подписи.

Обновление прошивки Redbend

Tesla CID может использовать Redbend для выполнения обновлений в качестве альтернативы bsdiff. При этом используются файлы обновлений («дельты»), содержащие различия между текущей и новой прошивкой. Хотя это также было замечено в мобильных телефонах Android, маркетинговые материалы Redbend предполагают, что он специально нацелен на автомобили.

Судя по строкам в программе обновления, используемая технология называется vRM или vRapid Mobile. Подробной технической информации нет, но она упоминается в некоторых местах в Интернете.

UPI или установщик обновлений - это программное обеспечение, работающее внутри cid-update. UPG или генератор обновлений - это еще одна часть программного обеспечения, которая создает развертываемые обновления.

В части Redbend программы обновления нет функции загрузки обновлений. Это обрабатывается только кодом Tesla.

Большое количество функций с префиксом RB_ для Redbend

файлов DP (дельта-пакет), которые могут содержать несколько отдельных обновлений, обрабатываются UPI. Эти файлы имеют контрольную сумму CRC32, которая в программном обеспечении Redbend называется «подпись». Это неправильный термин; CRC полезен только для защиты целостности без злонамеренных действий, но не для злонамеренных манипуляций.

Используемая версия Redbend vRM

Было замечено очень небольшое практическое различие между изменениями Redbend и bsdiff40, примененными к системе.

Реле

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

ic-updater откажется выполнять квитирование

Мы полагаем, что существует несколько различных методов ретрансляции, включая отправку всего автономного раздела / usr и обслуживание отдельных файлов на HTTP-сервере по CID, а также запрос на их загрузку IC.

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

Повторное развертывание

Программа обновления «повторно развернет» микропрограммное обеспечение после внесения изменений в разделы автономной флэш-памяти. Перед перезагрузкой устройства он, кажется, копирует загрузчик и ядро ​​(используя двоичный файл cid-update_sample) и разделы / usr в онлайн-разделы.

Как и в случае с ретрансляцией, мы не наблюдали этого во время тестирования, поскольку ни CID, ни IC не принимают обновления.

Обновления ядра / загрузчика

Утилита cid-update_sample может использоваться для обновления загрузчика и ядра устройства. Нам показалось любопытным название этого файла, однако он упоминается в нескольких других местах.

В отличие от основного двоичного файла средства обновления, у него нет нескольких личностей для CID и IC - хотя у него разные имена, один и тот же файл присутствует на обоих устройствах.

Запуск двоичного файла cid-update_sample в эмуляторе

Бинарный файл cid-update_sample вызывается из двух мест:

  • Сценарий оболочки с именем / usr / local / bin / qber обновляет BCT и загрузчики основной стадии 1 и начальной стадии 2. Похоже, что этот сценарий не вызывается из другого места, но его можно вызвать из загруженного обновления прошивки.
  • Изнутри cid-update или ic-updater

Интересно, что этот двоичный файл может выполнять частичные обновления BCT.Мы отметили это в справке «будут обновлены только SDRAM и время устройства».

SBK - ключ AES, хранящийся внутри Tegra SoC - подписывает большую часть данных в BCT. Подписанные данные включают SDRAM и синхронизацию устройства. Файл должен быть подписан с помощью SBK, чтобы изменить SDRAM и синхронизацию устройства.

Мы нашли пример файла BCT в папке / usr / deploy. Он не содержал никаких подписей или данных загрузчика - только SDRAM и время устройства.

Мы пришли к выводу, что cid-update_sample должен получить текущую BCT, объединить новую SDRAM и тайминги устройства и повторно подписать данные.Это означает, что двоичный файл должен иметь возможность доступа к SBK внутри SoC или содержать его копию. Чтобы подтвердить это, нам нужно будет провести дальнейший обратный инжиниринг.

Файл BCT в обновлении не содержит всех подписанных данных

Обновления карты

Данные сопоставления хранятся с помощью CID на внешней карте microSD. VPN-соединение можно использовать для периодического обновления.

скрипты /usr/local/bin/nav-sync-and-apply-map-patch.sh и nav-apply-map-patch.sh выполняют механизм, с помощью которого они обновляются.

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

  • Обеспечивает, чтобы машина не спала и не спала в течение 15 минут
  • Использует rsync для загрузки обновлений с URL-адреса (rsync: //filesync.vn.teslamotors. com/mapdata/patches). Rsync - это инструмент синхронизации файлов, который можно использовать для эффективной передачи изменений в большие наборы данных по медленным или ненадежным сетевым каналам.
  • Обновления представляют собой tar-файлы, распакованные на SD-карту.

Признаков защиты целостности или проверки подлинности не обнаружено.

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

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

Обычное обновление ЭБУ через шлюз

Интегрированный в CID, шлюз Tesla имеет архитектуру, аналогичную многим IVI, с системой с более высоким энергопотреблением, на которой работают компоненты мультимедиа / пользовательского интерфейса, подключенной к шлюзу с более низким энергопотреблением, который, в свою очередь, подключен к шине CAN. Этот шлюз предотвращает внедрение IVI в шину CAN.

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

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

Шлюзом со встроенной флеш-памятью 2 МБ является микроконтроллер MPC5668G. Специально предназначенный для автомобильных шлюзов, он использует ядро ​​e200z6, которое представляет собой архитектуру PowerPC.

Мы были удивлены, обнаружив, что для этого устройства доступны полные спецификации и справочное руководство. Это необычно для автомобильных микроконтроллеров.

Коммутатор Ethernet подключает шлюз к CID VCM, IC и диагностическому порту. Сущности обмениваются данными с использованием различных протоколов UDP и TCP, и всем им назначены IP-адреса.

К внешним трансиверам CAN подключено несколько интерфейсов CAN на шлюзе. Также есть LIN-интерфейс.

На материнской плате CID шлюз напрямую подключен к полноразмерной SD-карте.

Изучив полученное обновление прошивки, мы обнаружили, что на шлюзе работает настроенная версия FreeRTOS. Небольшая и простая операционная система реального времени, она включает в себя такие функции, как потоки / задачи, мьютексы, семафоры и т. Д. обычно используется в автомобильной промышленности.

Файлы, передаваемые через порт UDP 3500, принимаются прошивкой, работающей на шлюзе. Эти передачи выполняются либо сценарием Perl / usr / local / bin / gwxfer, либо двоичным файлом программы обновления на CID. Другого использования Perl в системе мы не обнаружили.

Perl скрипт gwxfer

У этой службы нет аутентификации. На SD-карте хранятся все файлы, отправленные на шлюз.

Файлы, передаваемые в обычном порядке:

  • dat - конфигурация автомобиля, в которой включены или отключены определенные опции. Отправлено на шлюз и получено от него.
  • tgz - сжатый файл, содержащий обновления для ЭБУ, подключенных к CAN.
  • img - альтернативная прошивка, переносимая на шлюз для выполнения обновлений ЭБУ.

Часть internal.dat

При попытке включить / отключить определенные функции автомобиля нам не удалось изменить файл internal.dat. Кажется вероятным, что шлюз делает запросы к отдельным блокам управления двигателем, чтобы увеличить возможности автомобиля.

Порт UDP 1050 принимает определенные команды, такие как отправка / получение сообщений CAN, запуск обновления и т. Д., И он также открыт.

Процесс обновления ЭБУ с высокого уровня:

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

Для обновления ЭБУ требуются два файла. Один - это архив, содержащий обновления для всех отдельных ЭБУ, который называется «Release.tgz», а другой - Noboot. img, который представляет собой специальную прошивку для шлюза для обновления других ЭБУ.

Несколько механизмов создают файл release.tgz.

«Премастеринг» - первый. Без предварительной обработки это обновление загружается с серверов прошивки и применяется непосредственно к ЭБУ.

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

Используя скрипт / двоичный файл gwxfer, файлы передаются на шлюз и сохраняются непосредственно на SD-карте.

Содержимое SD-карты во время обновления

Открытый ключ, хранящийся в обычной прошивке шлюза, проверяет подпись noboot.img.

noboot.img переименовывается в boot.img при отправке команды на шлюз. boot.img копируется в RAM по адресу 0x40000000 и запускается при перезапуске шлюза.

(Мы обнаружили, что файл с именем «boot.img »не будет приниматься напрямую шлюзом с помощью gwxfer - мы попытались обойти проверку подписи)

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

Строки изнутри noboot.img

Содержимое последнего файла release.tgz

Код в noboot.img распаковывает файл Release.tgz, который обнаруживает следующее:

  • Серия файлов .hex - обновления для отдельных ЭБУ
  • Файл манифеста, содержащий список файлов .hex вместе с их версиями.
  • Файл метаданных, содержащий CRC32 файлов с подписью

Файл манифеста

Signed_metadata_map.tsv

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

Бинарная прошивка для указанного ЭБУ содержит файлы .hex.

При программировании ЭБУ происходит следующее:

  • Чтобы сделать обновление безопасным, выполняются предписанные действия (например, отсоединение аккумулятора с помощью главного контактора)
  • С помощью команд доступа к системе безопасности UDS, разблокирует ЭБУ
  • Отправить прошивку через UDS
  • Перезагрузите ЭБУ

Путем записи непосредственно во флеш-память вместо использования UDS шлюз также может обновляться.Имя файла - gtw.hex.

Строки прошивки шлюза

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

Обновления микропрограммы по умолчанию не принимаются ЭБУ автомобиля через интерфейс CAN. Они должны быть разблокированы по CAN через UDS Security Access. Во время обновления прошивки было прослушано несколько передач безопасного доступа UDS.

Мы обнаружили, что некоторые ЭБУ, а именно ИС, использовали статические пары начальное значение / ключ. Другие, похоже, использовали другое семя. Мы не пытались собрать семена из отдельных блоков управления двигателем, чтобы оценить качество их случайности.

В noboot.img было несколько разделов кода, которые, казалось, обрабатывали различные алгоритмы начального / ключевого UDS, но мы не могли понять, как он определяет, какой из них использует данный ЭБУ.

Файлы прошивки, отправленные в ЭБУ, не имеют какой-либо специальной проверки. Вероятно, это выполняется самим ЭБУ.

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

Энтропия прошивки RCCM

Энтропия прошивки DSP

Энтропия прошивки GTW - обратите внимание на всплески, показывающие подозрительный материал ключа / подписи

Энтропия noboot. img показывает высокий пик - вероятно, открытый ключ для проверки подписей

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

Похоже, что некоторые проблемы все еще сохраняются.

Для SD-карты нет защиты целостности или подписи. Злоумышленник может изменить содержимое, что может иметь последствия для безопасности, например, уязвимости от времени проверки до времени использования (TOCTOU), где проверяется подпись микропрограммы, злоумышленник изменяет микропрограмму, и она загружается в ЭБУ.Это может быть сложно использовать.

UDS Security Access используется для обновления отдельных ЭБУ. Безопасный доступ - это простой алгоритм запроса / ответа. Для входа в режим, в котором могут выполняться определенные операции, происходит следующее:

  • Шлюз запрашивает начальное число от ECU
  • ЭБУ отправляет начальное число
  • Шлюз

  • использует алгоритм для преобразования начального числа в правильный ключ
  • Ключ отправляется обратно в ЭБУ для обеспечения безопасности операций
  • Прошивка загружена в ЭБУ шлюзом

Чтобы предотвратить атаки повторного воспроизведения, начальное число должно быть случайным и достаточной длины. На Tesla ЭБУ в нескольких случаях ответили фиксированными начальными значениями. Следует отметить, что это произошло либо с ПЛИС, либо с микроконтроллером управления питанием - устройствами в комбинации приборов.

Обычно один или несколько из следующих алгоритмов, используемых для преобразования начального числа в ключ, варьируется от ECU к ECU:

  • Побитовое исключающее ИЛИ
  • Побитовый сдвиг
  • Насадки для смешивания
  • Шифрование AES (симметричное шифрование, при котором ключ известен обеим сторонам)
  • RSA Encryption (асимметричное шифрование, при котором ECU знает только открытый ключ, а средство обновления - закрытый ключ)

Наблюдение за парами начальное число / ключ обычно упрощает обратное проектирование первых трех методов.Количество требуемых пар варьируется от нескольких пар до десятков или сотен.

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

Поскольку большинство ЭБУ представляют собой микроконтроллеры со встроенной флеш-памятью, ключи AES могут храниться внутри, что предотвращает тривиальное считывание.Чтобы получить ключ AES таким способом, злоумышленнику, вероятно, придется пойти на крайние меры.

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

Безопасность устройства программирования равносильна всем этим методам. Злоумышленник может восстановить алгоритм, ключ AES или закрытый ключ RSA, если он сможет получить к нему доступ, и тем самым активировать UDS на ЭБУ.

Для обеспечения безопасности в традиционных средствах автомобильной диагностики и программирования использовались различные методы:

  • Ограничение распространения программного обеспечения среди доверенных лиц (хотя сейчас это в значительной степени неэффективно, поскольку скопированное программное обеспечение распространяется через Интернет)
  • Ограничительное лицензирование, включая онлайн-активацию и аппаратные ключи
  • Использование аппаратных ключей для преобразования начального числа / ключа
  • Удаленное создание пар seed / key с помощью онлайн-сервиса

Благодаря этим методам сложнее атаковать алгоритмы начального / ключевого доступа UDS Security Access.

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

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

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

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

Хотя шлюз проверяет криптографические подписи отдельных файлов .hex для ЭБУ, мало свидетельств, позволяющих предположить, что ЭБУ выполняют проверку подписи на прошивке, которая отправляется им через UDS.

ЭБУ

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

Обновления прошивки USB для Wi-Fi и сотового модема

Подключенные через USB к VCM в CID, модуль Wi-Fi и сотовый модем также получают обновления через этот канал.

Модуль Wi-Fi

Набор инструментов и скриптов в / usr / local / bin обновляет модуль Wi-Fi Parrot FC6050W.

Если обновление прошивки выполняется методом сценария оболочки, вызывается сценарий new-pflasher, предоставляющий несколько аргументов для загрузчика, установщика и, наконец, приложения. Затем этим скриптом вызывается двоичный файл new-pflasher-core.

Двоичный файл pflasher-core вызывается непосредственно из функции do_upgrade_parrot, если обновление прошивки выполняется с помощью двоичного модуля обновления.

Мы не обнаружили каких-либо специфических функций Tesla, когда исследовали файлы прошивки, расположенные в / usr / deploy /. Не удалось найти и универсальных прошивок для модулей.

Файлы прошивки Wi-Fi модуля Parrot

Сотовый модем

Вызывается сценарий оболочки / usr / local / bin / sierra-update независимо от механизма, используемого для обновления модема. Это вызывает двоичный файл SwiFirmwareDownloadUMTS, который отправляет прошивку на модем.

Мы нашли прошивку для сотового модема в / usr / deploy / sierra /. Это два файла .cwe

Файлы прошивки модема

Как и модуль Wi-Fi, мы не смогли найти никаких признаков того, что эта прошивка имеет какую-либо конкретную функциональность Tesla.

Заметки и дальнейшая работа

Интересные открытия

Мы обнаружили ряд других интересных моментов, исследуя механизм обновления прошивки.

Включение удаленной функции

Чтобы включить автопилот, сценарий оболочки enable-autopilot-after-Purchase.sh обновляет шлюз internal.dat.

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

В Internal.dat не было информации о диапазоне или батарее, поэтому нам не удалось выяснить, как Tesla удаленно их изменила.

Оболочка для включения автопилота

Обновление токена безопасности

Маркер безопасности, который ежедневно загружается с серверов Tesla через VPN, должен быть известен для доступа к диагностике, входа в систему как root или для отправки команд между CID и IC.

Команда Curl для получения токена безопасности

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

Стратегия эскалации

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

Стратегии эскалации

Интенсивное использование сценариев оболочки

В каталоге / usr / local / bin 85 сценариев оболочки, реализующих различные функции.

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

Некоторые из множества сценариев оболочки

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

Дальнейшие работы

На самом деле мы видели лишь малую часть того, что здесь может сделать Tesla. Нашим самым большим препятствием является отсутствие запасных частей - мы могли бы провести более подробный обратный инжиниринг, если бы у нас был запасной CID.

Осталось исследовать области:

  • Мы не исследовали большую часть двоичных файлов Qt, управляющих пользовательским интерфейсом CID; они содержат функциональные возможности для подключения к серверам, включая алгоритм PIN-кода меню ежедневного обслуживания.
  • Нам не удалось определить, как Tesla может удаленно изменить определенные функции (например, дальность полета автомобиля).
  • Мы не обнаружили никаких доказательств отслеживания угнанного автомобиля, удаленного отключения или электронного звонка ни в одном из аспектов системы, которую мы исследовали. Нам было бы интересно узнать, как с этим справиться.
  • В тестируемом нами автомобиле не было модуля автопилота, и на CID было скудно упоминание о нем. Автопилот, вероятно, будет использовать дополнительную безопасность для защиты важной интеллектуальной собственности, которую он будет содержать.

Прочтите часть 1: анализ оборудования, включая 14-слойную печатную плату в CID

Наша Tesla Model 3 стала намного быстрее после обновления прошивки

Майкл Симари Автомобиль и водитель

  • В ноябре Tesla выпустила новую прошивку, обещающую 5-процентное повышение мощности.
  • После установки обновления мы снова прогнали нашу долгосрочную модель 3 Long Range с помощью стандартного тестирования ускорения, чтобы увидеть, насколько улучшилась ее производительность.
  • Результаты впечатляют: Model 3 показывает более быстрые результаты в каждом тесте на ускорение.

    С учетом того, что на одометре зарегистрировано лишь немногим более 5000 миль, наша долгосрочная Tesla Model 3, безусловно, дала нам много поводов для разговора. Он будет отражать урчание из пищеварительного тракта, он может охладить домашних животных в летний день, и мы доказали, что чехлы на аэродинамические колеса столь же функциональны, как и непривлекательны.Совсем недавно наша Model 3 потерпела катастрофический отказ и уехала в ремонтную мастерскую на платформе. Но до того, как он заработал, мы установили обновление прошивки Tesla и, любопытно, обеспечит ли оно обещанное 5-процентное повышение мощности, мы протестировали его во второй раз. После установки прошивки версии 2019.36.2.1 (выпущенной в ноябре) мы направились на местный полигон. Может ли пересмотренная калибровка нашего двойного двигателя дальнего действия улучшить резкое ускорение Model 3, которое мы зафиксировали при первом тестировании?

    Да, может. В этом последнем тесте наша Model 3 разогналась до 100 км / ч за 4,0 секунды, что на 0,1 секунды лучше. Хотя десятая часть может показаться не такой большой, то, что происходит в ходе полного ускорения, впечатляет. Маркер четверти мили появляется через 12,3 секунды при скорости 116 миль в час, прирост 0,3 секунды и 3 мили в час. Оттуда запас продолжает увеличиваться, а откалиброванные двигатели разгоняют Model 3 до 140 миль в час на 2,5 секунды быстрее, чем раньше. Ускорение улучшалось в каждом тесте, быстрее фиксировалось время прохождения тестов на скорости от 30 до 50 миль в час и от 50 до 70 миль в час.Как всегда, каждый результат представляет собой среднее значение самого быстрого бега в каждом направлении.

    Автомобиль и водитель

    Tesla скромно называет цифры в лошадиных силах, но простое сложение значений мощности, указанных в руководстве пользователя для переднего и заднего двигателей, дает 425 лошадиных сил. 5-процентный удар доведет это до 446 лошадиных сил, и оценка производительности на основе характеристик мощности и веса предполагает, что время четверти мили должно быть 12. 4 секунды. Так что Tesla определенно выполнила все обещанные 5 процентов. С тех пор Tesla выпустила дополнительное обновление, которое стоит 2000 долларов и обещает дополнительное 0,5-секундное улучшение скорости разгона до 100 км / ч. Сможем ли мы убедить счетчиков фасоли в том, что эти деньги потрачены не зря, - тема для другого поста.

    Способность Tesla добавлять контент и настраивать свои силовые агрегаты с помощью беспроводных обновлений - это преимущество, которое в настоящее время не может предложить ни один другой автопроизводитель. Когда флэш-память программного обеспечения может мгновенно добавить таких мощностей, как эта, это технология, которую должен внедрить каждый автопроизводитель.По мере того, как Tesla продолжает обновлять Model 3, мы продолжим тестирование наворотов. И, надеемся, прибавит мощности.

    Этот контент импортирован из {embed-name}. Вы можете найти то же содержимое в другом формате или найти дополнительную информацию на их веб-сайте.

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

    Обновления программного обеспечения для автомобилей по воздуху (OTA)

    Полные обновления транспортного средства

    Обновление всех ЭБУ во всех доменах (таких как трансмиссия, шасси, кузов, ADAS и информационно-развлекательная система) в автомобиле

    Одинарный и двойной банк (A / B) Обновления

    Поддерживаются обновление как одного приложения, так и A / B (резервное), а также обновления калибровки

    Параллельные обновления

    Обновление нескольких ЭБУ на одной или разных шинах CAN для ускорения распространения обновлений, которые снижает риск простоя системы

    Самостоятельное обновление

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

    Несколько образов на ECU

    Обновление ECU может включать несколько приложений , файлы калибровки и конфигурации, которые являются частью разных файлов в пакете

    Extensible and Future-Proof

    9 0002 Поддержка всех типов архитектур транспортных средств, сетевого оборудования, операционных систем и протоколов связи

    Безопасные обновления ЭБУ

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

    Проверки целостности

    Защищенные обновления ЭБУ с проверками целостности во избежание злонамеренных атак и обновления поврежденных пакетов

    Автоматические попытки повтора

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

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

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

    Проверки безопасности до и после состояния

    Настраиваемые проверки условий для проверки всех ЭБУ обновления начинаются и закончить в безопасном состоянии

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

    Детерминированная последовательность обновлений, приводящая к более высокому уровню успешных развертываний в полевых условиях при применении обновлений к ЭБУ, даже если они выполняются параллельно

    Дельта-обновления автомобилей

    Изменения отправляются только для ЭБУ, которые были изменены без отправки всего пакета транспортного средства.

    Малый объем памяти

    Диспетчер пакетов сохраняет образы прошивки, а затем передает их по CAN через диспетчер обновлений.Автомобильный шлюз не требует чрезмерного количества ОЗУ или флэш-памяти для полного хранения изображений

    Интеграция HMI и мобильных приложений

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

    Автономно Обновления

    Обновления программного обеспечения, применяемые к ЭБУ асинхронно из облачного пакета загрузки. Отсутствие зависимости от статуса подключения транспортного средства

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

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

    Перепрограммирование микропрограммы ЭБУ автомобильного загрузчика FOTA

    Обновление одного и двух банков

    Поддерживаются обновление как одного приложения, так и A / B (резервное), а также обновления калибровки

    Многоразовый загрузчик ядра

    Модульная многоуровневая конструкция позволяет клиенту иметь одинаковые функциональные возможности основного загрузчика на всех различных ЭБУ в своем автомобиле независимо от используемого микроконтроллера

    Самостоятельное обновление загрузчика

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

    Безопасные фоновые обновления

    Фоновые обновления, которые интегрированы как часть приложения (возможно только для двух банков ЭБУ)

    Integrit y Проверяет надежность

    Расчет и проверка CRC в реальном времени для предотвращения перехода к поврежденному приложению и предотвращения повреждения блоков калибровки

    Версия и отчеты по отпечаткам пальцев

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

    Проверочные проверки для обработки случаев сбоя

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

    Устойчивость к сбоям питания и сети

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

    Полностью настраиваемый

    Поддерживает настраиваемые функции, службы и процедуры для конфигурации ECU , диагностика и обновления приложений

    Быстрое время обработки

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

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

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

    Универсальный инструмент загрузки

    Автономный инструмент для связи с загрузчиком и загрузки образов через CAN или Ethernet

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

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

    Обновления программного обеспечения по беспроводной сети, возможно, являются одной из лучших особенностей автомобилей Tesla.

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

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

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

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

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

    Совсем недавно некоторые владельцы отказались от новых обновлений программного обеспечения после того, как Tesla выпустила обновление, ограничивающее дальность действия и наддув в некоторых старых автомобилях Model S, «чтобы защитить аккумулятор.”

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

    Несколько владельцев автомобилей Tesla с автомобилями на более старых версиях программного обеспечения сообщают, что получили в автомобиле следующее сообщение от Tesla:

    Сеть Tesla подвергается усовершенствованиям для повышения безопасности. Для обеспечения совместимости с подключенными функциями транспортного средства и доступа к ним требуется обновление программного обеспечения до версии не ниже 2019.40.2.3. Если не обновляться до 1 мая 2020 года, этот автомобиль больше не сможет получать обновления программного обеспечения по беспроводной сети, доступ к мобильному приложению Tesla и связанным функциям, использовать голосовые команды, получать потоковый мультимедийный контент и другие возможности подключения. функции могут быть затронуты. Установите доступное обновление программного обеспечения, выбрав значок желтых часов и выбрав удобное время. Если у вас постоянно возникают сбои при установке обновлений программного обеспечения, запишитесь на сервисную службу через мобильное приложение Tesla.

    Tesla не уточнила, какие улучшения безопасности они вносят в это обновление.

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

    Electrek’s Take

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

    Я знаю, что многие люди были недовольны ослаблением автопилота, но я думаю, что это в определенной степени повысило безопасность.

    Как вы думаете? Есть ли другие законные причины не обновлять? Дайте нам знать в разделе комментариев ниже.

    FTC: Мы используем автоматические партнерские ссылки для получения дохода. Подробнее.


    Подпишитесь на Electrek на YouTube, чтобы смотреть эксклюзивные видео, и подписывайтесь на подкаст.

    Обновление информационно-развлекательной системы автомобилей

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

    Обзор информационно-развлекательных и навигационных систем:

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

    Это связано с тем, что система в автомобильных компьютерах была предназначена исключительно для навигации. Теперь они управляют целым рядом функций вашего автомобиля. Это включает в себя, помимо прочего, развлекательные функции, такие как приложения для Интернет-радио, подключение iPod, спутниковое радио и многое другое. Поэтому для любых обновлений информационно-развлекательных систем требуется нечто большее, чем просто новые карты; они требуют дополнительных функций, повышенной скорости процессора и улучшенного обновления вводимых команд.

    Можете ли вы обновить свою информационно-развлекательную систему?

    Короткий ответ:

    Это зависит от обстоятельств.

    Длинный ответ:

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

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

    Исключения и другие варианты:

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

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

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

    Все вышеперечисленное - незначительные придирки в погоне за новейшими и лучшими информационно-развлекательными технологиями. Что есть в вашем автомобиле, без чего вы не можете жить? Или что из того, о чем вы слышали или видели и ДОЛЖНЫ быть в автомобиле? Дайте нам знать в разделе комментариев ниже, и мы сообщим вам, как вы можете обновить свой автомобиль с его помощью по доступной цене и относительно легко!

    Обновления программного обеспечения Tesla по беспроводной сети имеют большую автоматическую игру

    Первоначально размещено на EVANNEX .
    Чарльз Моррис

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

    Модель

    Tesla Model 3 оснащена передовыми технологиями, которых еще нет во множестве автомобилей старых автопроизводителей.

    Как напоминает нам Майк Колиас в Wall Street Journal , Tesla первой изобрела беспроводные обновления, которые позволяют передавать не только исправления ошибок, но и сложные новые функции для своих автомобилей в процессе, который потребители знакомы со своими компьютерами и смартфонами.

    Теперь GM, Ford, Toyota и другие традиционные автопроизводители пытаются наверстать упущенное.Модель WSJ сообщает, что GM планирует в этом году представить свой первый полностью обновляемый автомобиль, а в следующем году Ford предложит беспроводные обновления для нового электрического внедорожника. Поставщик автомобилей Harman International работает «по крайней мере с 10 крупными автопроизводителями над разработкой беспроводной технологии обновления. Исследовательская компания IHS Markit прогнозирует, что глобальные продажи обновляемых автомобилей вырастут с 500000 в 2018 году до 35 миллионов к 2025 году.

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

    Некоторые в отрасли явно напуганы не такой уж новой технологией. «Мы можем оказаться в плохом положении, если отрасль будет удаленно распространять технологии, которые пользователи не понимают, полагая, что они смогут решить любые проблемы позже», - сказал аналитик Navigant Research Сэм Абуэлсамид. «Это может сработать для приложения для обмена фотографиями, но не для автомобилей».

    «Мы не сделаем этого без тщательно продуманных мер кибербезопасности, которым, я не уверен, уделяется достаточно внимания», - сказал президент GM Марк Ройсс.

    Посмотрите на простой процесс получения беспроводного обновления в Tesla Model 3 (YouTube: Kyle Field )

    Каким-то образом Tesla занимается обновлением беспроводных сетей с 2012 года, без каких-либо серьезных проблем.Но затем, как объяснил мне соучредитель Иэн Райт в интервью 2014 года, посвященном моей истории Tesla, соучредитель Tesla из Кремниевой долины дал ему огромную фору в соревновании по подключенным автомобилям. В то время как унаследованные автомобили - это «собачий завтрак» из неподключенного и несовместимого оборудования и программного обеспечения, Teslas управляется центральной логически спроектированной системой. «Это то, что Tesla делает прямо во сне, и большие парни действительно борются с этим», - сказал Ян Райт в 2014 году .

    Владельцы Tesla, как правило, восхищаются тем, что их автомобили со временем становятся все лучше и лучше.«Получать не только исправления ошибок, но и новые функции каждые несколько месяцев - все равно что покупать новую машину», - сказал WSJ владелец Model S Александр Чемерис.

    Tesla использовала беспроводные обновления, чтобы включить режим ползучести в ответ на запросы владельца, увеличить дорожный просвет, чтобы повысить безопасность на скоростях шоссе, и временно увеличить дальность действия для водителей, спасающихся от стихийных бедствий. В 2018 году, когда Consumer Reports сообщил, что тормозной путь Model 3 был неприемлемо длинным, Илон Маск немедленно пообещал разобраться в этом вопросе.За считанные дни обновление прошивки по беспроводной сети улучшило тормозные характеристики автомобиля. И, конечно же, знаменитый Ludicrous Mode также был удаленно добавлен к существующим транспортным средствам.

    Обновления

    Wireless, которые в настоящее время являются ценным отличием для Tesla, могут стать благом и для устаревших брендов, сэкономив на ремонте и увеличив скорость ремонта отозванных автомобилей. Консультативная фирма ABI Research заявила в прошлом году, что выпуск программного обеспечения обходится автопроизводителям в 17 миллиардов долларов в год. Только один пример: в 2018 году GM отозвала более миллиона грузовиков и внедорожников, чтобы исправить ошибку, которая вызвала дефект рулевого управления.Владельцам приходилось доставлять свои автомобили в автосалоны, а GM оплачивать счета - затрат, которых, по мнению аналитиков, можно было бы избежать с помощью простого беспроводного обновления.

    Загляните внутрь Tesla Model S с большим экраном, похожим на iPad, с возможностью обновления программного обеспечения.

    Крупные компании могут двигаться медленно, но они видят потенциал беспроводной технологии обновления. «Мы обязательно воспользуемся им, чтобы исправить ошибки, - сказал в интервью WSJ президент Ford по глобальным рынкам Джим Фарли.

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

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