← к ленте

Реверс-инжиниринг и кастомная прошивка на Rust для электросамоката Egret GT

Х@habr_comмедиа / агрегатор
1 мес

Автор взломал электросамокат Egret GT, обнаружив CAN-шину в USB-C порте, и написал собственную прошивку на языке Rust.

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

  • Отсутствие криптографической проверки прошивки позволяет злоумышленникам модифицировать работу устройства.
  • Использование нестандартных протоколов в стандартных разъемах усложняет диагностику, но не защищает от взлома.
  • Демонстрация возможности написания эффективного ПО на Rust для систем с крайне малым объемом памяти.
Реверс-инжиниринг электросамоката и новая прошивка для него на Rust Производитель Egret GT утверждает, что разъём USB-C на дисплее нужен только для зарядки телефонов. Автор из спортивного интереса купил коммутационную плату USB-C, проверил осциллографом каждый контакт и обнаружил, что два из них используются как шина CAN в нарушение стандарта. Дальше начался классический реверс: сниффинг трафика, дамп прошивки контроллера двигателя и модуля дисплея через SWD, разбор всего в Ghidra. Внутри нашлось много интересного. Обновление прошивки на самокате идёт по CAN без криптографии, а весь основной жизненный цикл обновления располагается внутри одной функции загрузчика. Это значит, что модифицировать прошивку любого самоката можно без аутентификации. К этому моменту у автора уже накопилось достаточно материала, чтобы написать свою прошивку с нуля. Посмотрим, что получилось из этой затеи и как на Rust собрать GUI для микроконтроллера с 32 КБ ОЗУ.
Реверс-инжиниринг и кастомная прошивка на Rust для электросамоката Egret GT

Кратко (AI)

Автор провел реверс-инжиниринг электросамоката Egret GT, обнаружив, что порт USB-C скрывает шину CAN. В ходе исследования выяснилось отсутствие защиты при обновлении прошивки, что позволило написать собственное ПО на языке Rust для микроконтроллера с ограниченными ресурсами.

Обсуждение

0
В

Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖