Новый аппаратный бэкдор помогает взламывать подключенные автомобили

Новый аппаратный бэкдор помогает взламывать подключенные автомобили

Новый аппаратный бэкдор помогает взламывать подключенные автомобили

Аргентинские исследователи безопасности представили новый аппаратный бэкдор, который может удаленно воздействовать на подключенные автомобили (Connected Cars). Созданный ими бэкдор Bicho атакует любые транспортные средства, оснащенные CAN (Controller Area Network) шиной.

Новый бэкдор будет представлен хакерами Шейлой Айлен Берта и Клаудио Караччиоло на предстоящей конференции Hack in the Box в Амстердаме. С испанского Bicho переводится как “маленький жук” или “насекомое”. Это означает, что бэкдор (с открытым исходным кодом) легко может оставаться незамеченным из-за своего небольшого размера. Bicho работает на микроконтроллере PIC18F2580 и может получать команды через SMS.

Bicho 

Этот функционал обеспечивается модулем SIM800L GSM, который популярен среди любителей Arduino. Однако, по словам Берта, Arduino они не задействовали, а вместо него разработали собственное оборудование. Чтобы использовать Bicho, в модуль SIM800L нужно вставить GSM-чип с номером телефона. После отправки SMS с командой на этот номер прошивка аппаратного бэкдора будет знать, что делать. Bicho запрограммирован с помощью Car Backdoor Maker, программного обеспечения с открытым исходным кодом, который также был разработан исследователями.

car-backdoor-maker

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

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

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

Баги в ядре Linux скрываются в среднем 2 года, а иногда и 20 лет

История с первой CVE для Rust-кода в ядре Linux, которая недавно привела к падениям системы, выглядела почти как повод для оптимизма. В тот же день для кода на C зарегистрировали ещё 159 CVE — контраст показательный. Но новое исследование напоминает: проблема не только в языках программирования.

Гораздо тревожнее первой Linux-дыры в коде на Rust тот факт, что многие ошибки в ядре Linux могут годами, а иногда и десятилетиями оставаться незамеченными.

Исследовательница Дженни Гуанни Ку из компании Pebblebed проанализировала 125 183 бага за почти 20 лет развития ядра Linux — и результаты оказались, мягко говоря, неожиданными.

 

По данным исследования, средний баг в ядре Linux обнаруживают через 2,1 года после его появления. Но это ещё не предел. Самый «долгоиграющий» дефект — переполнение буфера в сетевом коде — прожил в ядре 20,7 года, прежде чем на него обратили внимание.

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

Исследование опирается на тег Fixes:, который используется в разработке ядра Linux. Когда разработчик исправляет ошибку, он указывает коммит, в котором баг был добавлен. Дженни написала инструмент, который прошёлся по git-истории ядра с 2005 года, сопоставил такие пары коммитов и вычислил, сколько времени баг оставался незамеченным.

В датасет вошли данные до версии Linux 6.19-rc3, охватывающие период с апреля 2005 по январь 2026 года. Всего — почти 120 тысяч уникальных исправлений от более чем 9 тысяч разработчиков.

Оказалось, что скорость обнаружения ошибок сильно зависит от подсистемы ядра:

  • CAN-драйверы — в среднем 4,2 года до обнаружения бага;
  • SCTP-стек — около 4 лет;
  • GPU-код — 1,4 года;
  • BPF — всего 1,1 года.

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

Отдельная проблема — неполные фиксы. Исследование показывает, что нередко разработчики закрывают проблему лишь частично. Например, в 2024 году был выпущен патч для проверки полей в netfilter, но уже через год исследователь нашёл способ его обойти.

Такие ситуации особенно опасны: создаётся ощущение, что проблема решена, хотя на самом деле она просто сменила форму.

RSS: Новости на портале Anti-Malware.ru