Комментарии 61
Это особенно актуально, если злоумышленник уже имеет root-доступ, внедрил вредоносное ПО или запустил вредоносное обновление на устройстве, которое открывает низкоуровневый доступ. Однако в целом физический доступ к интерфейсу USB или UART устройства представляется более рискованным и более реалистичным сценарием атаки.
Как впрочем и всегда?
Если у злоумышленника уже есть root доступ к вашему устройству, а особенно если он может аппаратно подключиться к нему, то это уже беда... И этот бекдор не главная проблема...
То есть, слово особенно вам ничего не говорит? Эта уязвимость существует и без root-доступа.
удалённая эксплуатация бэкдора возможна через вредоносную прошивку или мошеннические соединения Bluetooth.
Это нагнетание от команды хабра.
В оригинале же честно сказано для использования этих фич, нужно попасть в прошивку сначала.
Это нагнетание от команды хабра.
От bleepingcomputer: "Depending on how Bluetooth stacks handle HCI commands on the device, remote exploitation of the commands might be possible via malicious firmware or rogue Bluetooth connections". То есть надо написать специальную прошивку, выставляющую по сети доступ к внутреннему интерфейсу... чтобы что? Чтобы было что взламывать?
Кажется, такого нет даже в оригинале Tarlogic, где они себя агрессивно рекламируют.
И там, и там дали заднюю насчёт "бэкдора".
На слайдах (DEMO 2, стр. 43) после слов "ЧТО МЫ МОЖЕМ ДЕЛАТЬ С ЭТИМИ КОМАНДАМИ?" шлют спам... без использования недокументированных команд. Выделяют красным команду смены MAC-адреса, словно для этого нет официальной функции. Или я чего-то совсем не понимаю, или они себя ведут как мудаки.
bleepingcomputer получили ответ от Espressif, что уязвимостью они это не считают, но команды уберут.
Update 3/10/25: Added Espressif statement
"While these debug commands exist, they cannot, by themselves, pose a security risk to ESP32 chips. Espressif will still provide a software fix to remove these undocumented commands," says Espressif.
Микроконтроллер с Bluetooth модулем может управлять своим Bluetooth модулем. Вот это новость! Мигель и Антонио открыли новый мир!
В микрочипе ESP32 от китайского производителя Espressif, который используется более чем в миллиарде устройств, нашли недокументированный бэкдор. Он может применяться для атак.
никогда такого не было и вот опять.
надо успеть построить противорадиационный бункер до того как управление ядерными реакторами переведут на ардуинки.
Ыыы, я-то думал они слили...
..а это не баг, а фича ;-)
В ESP32 вообще много чего интересного, если начать пробивать команды и барахлишко внутри. И право, было-бы странна, если бы там не было закладок снаружи...
Короче, "через воздух" уязвимость не окажет помощи злоумышленнику в проникновении в вашу систему, а вот если вы взяли непроверенную библиотеку , в которой не хорошие люди сделали бэкдор для проникновения и скомпилировав все это и запустили в продашн , вот тогда вам возможно прилетит , опять же если кто-то сумел к вам приконнектиться. HCI команды не доступны "из внешнего окружения".
Пишете новость , пишите ж суть! 32й очень распространенная машинка.
А сам факт, что там оставили бекдор вас не смущает?
Я думаю что ESP32 "открытейший" чип во вселенной , на сегодняшний день, и такие вещи, как "многообразие" не задокументированных HCI команд всего лишь малая часть того, что там внутри еще есть. Поэтому конкретно это , меня не смущает.
Если я правильно понял, то бэкдора как такового там и нет. Есть только расширенные возможностей управления БТ модулем из прошивки, которые позволяют реализовать бэкдор в прошивке, но никак не гарантируют его наличие.
А так можно договориться, что в любом ПК производителем встроен бэкдор, ведь завсегда можно написать программу, которая этот самый бэкдор реализует.
На esp32 и его Bluetooth никогда не было нормальной полной документации. Там blob с непойми какими функциями и реализациями. Это один сплошной бэкдор.
У всяких Stm32WB и других функциональных аналогов ситуация не сильно лучше.
Как в общем и любой бейзбенд в мире - один большой блоб. Я не знаю есть ли хоть один открытый, не считая всяких SDR
nordic похоже можно без блоба.
Это вполне нормальное явление. Только зовется "отладочный интерфейс от производителя чипа".
А сам факт, что там оставили бекдор вас не смущает?
Примерно в той же степени, что и оставленный в микроскопе бэкдор с помощью которого им можно забивать гвозди.
Это интерфейс для отладки. Такой же, например, есть у процессоров Intel: нужен лишь особый кабель + включить отладку (либо писнув в NVRAM, чтобы включить скрытую опцию UEFI, либо включив в настройках прошивки хаба и залив изменённую прошивку). После этого можно производить JTAG-отладку через USB.
Пишете новость , пишите ж суть!
Эту новость написал «сотрудник информационной службы», у них задача заваливать сайт жареной желтухой. Требовать от них осознавать собственные действия это неприлично.
1) это не "бекдор", это "бесплатный драйвер БТ позволяет программисту сделать слишком много внутри этого дешевого железа. Мы хотели бы запретить такие хорошие драйверы, и поэтому разгоняем панику у журналистов"
2) ох, чую что ESP32 подорожает ..... :)
PS: они бы еще открытый огонь запретили. А что - это же ужвс что такое! в каждой газовой плите сидит возможность поджечь дом соседу! Надо немедленно это попатчить индукционной плитой и заклеймить поставщиков газовых плит (и спичек с зажигалками)
А ещё в каждом окне с форточкой - бекдор!
Нууу... Вы в своём посыле не сильно далеки от реальности.
Написал и задумался - это что же, до 18 лет нельзя пользоваться газовыми плитами?! 8-|
Однако в целом физический доступ к интерфейсу USB или UART устройства представляется более рискованным и более реалистичным сценарием атаки.
То есть "хакер" сначала должен украсть у вас устройство.
Перевод желтухи получился желтухой...
Ну в оригинале хоть сделали апдейт: "Update 3/9/25: After receiving concerns about the use of the term 'backdoor' to refer to these undocumented commands, we have updated our title and story. Our original story can be found here.". И переименовали в "Найдены недокументированные команды" :D
Да, там и оригинал просто платина. На картинке с демо какой-то неизвестный бт стек и руление оным на сишарпе, коего емнип на есп32 отродясь не было. На другой картинке просто карта адресов памяти есп32 — каким местом она вообще сюда?
Впрочем, стоит не забывать, что дырени и бекдоры бывают везде, а когда у вас китайский чип, да ещё и с бт стеком утянутым из андроида, это скорее гарантированное явление, только искать надо глубже и дальше, а не вот это вот ;-)
(А вообще команды работы с памятью по блютусу это интересно, это ж можно прошивание в теории по блютусу было бы реализовать, чтоб не разбирать девайсину каждый раз)
по Вифи давно реализован OTA, очень удобно :-)
Nordic чипы имеют в стандартной либе OTA по BT
дизасмят они как раз блоб для общения с hci он распростарнаняется в виде библиотеки .a карта памяти для дизасминга поллезна. сишарп запускают на компе, он через обертку к libusb имеет воможность отправлять команды hci (самый интерес как это работает). обертки есть так же и для обычного c и python
Работа с памятью там не по воздуху, а через HCI-интерфейс внутри чипа между «пользовательским» и «радио» ядрами. Т.е. просто из прошивки можно читать/писать память Bluetooth-контроллера. Вот и весь «бэкдор».
кстати в блобы это запихивают еще и потому что некоторый код для реализации стандарта например bluettoth должен быть сделан строго "по линеечке" чтобы получить сертификацию на стандарт. что собственно не мешает делать авторам btstack и не только пользоватся командами hci, а изучателям блобов находить недокументированые команды. даже странно что раньше не нашли - некоторые исследователи неплохо esp32 подизасамблиоровали.
Ничего удивительного по-моему)
А какая версия idf? Какой стек, bluedroid или nimble? Любой esp32 или конретное семейство?
Бредовая статья. Во первых esp32 целая куча разных, про какой конкретно речь?. Во вторых esp32 это не блютуз интерфейс, это полноценный микроконтроллер ( компьютер по сути) в котором есть wifi и блютуз. Разработчик может задействовать его а может нет, в большинстве устройств на esp32 блютуз просто не задействован. В третьих из статьи не понятно в чем же конкретно уязимость, по моему речь просто о недокументированых возможностях блютус модуля в чипе, что само по себе ни какой уязвимостью не является.
"Ученые покусали журналистов в голову". Особо умиляют примеры на arduino стиле кода.
Люди открыли для себя, что оказывается, если работать напримую с железом, то можно сделать что то, что обычно либы запрещают/не дают сделать.
В ESP32 возможно, например, посылать Deauther Wifi пакеты физически. Но никто не называет "ESP32 - это инструмент для хакеров вредителей".
Я так понял, что это не сколько журналисты, сколько оригинальная статья написана так сенсационно-желтушно. Компания по исследованию безопасности блютус устройств разработала свою тулзу, теперь надо ее порекламировать погромче, с бэкдорами и уязвимостями. В итоге половина статьи про эту тулзу, половина про ESP32, и какая часть относится к чему, не всегда понятно. Какой-то C# код на компе отправляет HCI-пакеты по USB, но куда? У ESP32 HCI наружу не торчит, так что чтобы этими недокументированными командами воспользоваться, надо еще прошивку туда залить. Найденные "уязвимости" позволяют читать и писать флэш и RAM, но если вы уже залили свою прошивку, то вы и так можете это делать, да и что угодно еще.
Кстати оригинальные слайды с доклада не содержит слов "бэкдор", это в пресс-релизе пиарщики добавили.
У ESP32 HCI наружу не торчит
кстати не совсем так, именно у esp32 есть некоторая магия по пробросу HCI сразу на uart, можно посмотреть пример controller_hci_uart_esp32, работает только на изначальной esp32. можно сделать такое и через usb, превратив более новые esp32 в практически стандартный bt usb адаптер. но нужна прошивка.
Я так понял, что это не сколько журналисты, сколько оригинальная статья написана так сенсационно-желтушно. Компания по исследованию безопасности блютус устройств разработала свою тулзу, теперь надо ее порекламировать, о себе заявить погромче, с бэкдорами и уязвимостями. В итоге половина статьи про эту тулзу, половина про ESP32, и какая часть относится к чему, не всегда понятно. Какой-то C# код на компе отправляет HCI-пакеты по USB, но куда? У ESP32 HCI наружу не торчит, так что чтобы этими недокументированными командами воспользоваться, надо еще прошивку туда залить. Найденные "уязвимости" позволяют читать и писать флэш и RAM, но если вы уже залили свою прошивку, то вы и так можете это делать, да и что угодно еще.
Мне одному показалось что для использования указанной в статье уязвимости блютуза надо иметь рут доступ к есп?
Извините за офтоп. В каких MCU наиболее полная документация и проще (приятнее) работать с Wi-Fi и Bluetooth? Знаю, что хвалят Nordic, как они супротив ESP32?
Документация и прятность Nordic мне нравится больше чем ESP32. Но ESP32 вдвое-втрое дешевле :)
Wifi у нордиков требуют второго модуля, что вместе уже 10-15 баксов, против 3-5 у ESP32-C3.
Главный минус C3 -- он требует вайфай 2.4, то есть надо на роутере отдельную сетку c 2.4-only создавать
Ждём когда будут ESP32-C5 в соседнем китайском подвале, тогда можно 2.4-only отключить.
Самое обидное, что ц5 девки не сходятся по размеру с ц3
Это совершенно нормально. У них девки s3 даже могут не сходиться с другими девками s3. Это явно не их конёк.
Я уже давно привык и потому стараюсь если зацепиться за одну плату, то на ней и сидеть как можно дольше пока не выгонят чем-то более новым. В том же KiCad'е я уже давно не ищу платы, а всегда создаю свою модель заново если вдруг надо.
Мне этим семечки понравились, они пытаются адаптировать под один формфактор, достаточно компактный.
Это ESP32-C3 SuperMini которые или что-то другое от Espressif конкретно?
Это вот этот зверёк:
https://www.seeedstudio.com/Seeed-XIAO-ESP32C3-p-5431.html
Я его брал чтоб вместо nRF32 семечки, но в глубины его блютус стека залезть оказалось сложнее, чем в нордический :(
Так это не Espressif девка. Я думал, что речь про официальные платы. Если брать разные бренды, то там ещё больше фантазии. Я бы не рассчитывал на одинаковый формфактор в таким зверинце. Зебре -- полоски, леопарду -- пятна.
Кстати, механически и даже электрически C3 и C6 у Seeed одинаковые вроде как. Даже S3 похожа. Разве что выведенные IO различаются, но всё равно надо пересобирать при переходе с C3 на ту же C6.
Конечно, но зато один формфактор и это позволяет развлекаться с минимумом геморроя.
Да, программно надо менять, но так это развлечение уже другого уровня, нежели дремель и сопли.
esp32 проще как в начальном так и продвинутом изучении, начиная с 5 строек в arduino. и далее. хотя есть и косяки и неочевидные вещи, но на них часто можно нагулить решение.
в nordiс, скажем nrf52 можно максимально глубоко влезть, настолько что далеко всем надо, и вот для этого документация пригодиться, но простых примеров rкакто поменьше будет, даже начиная c arduino. а wifi - вообще отдельная история.
сейчас еще rtl8720 потихоньку набирает - там есть wifi 5ГГц
Всем спасибо за инфу!
WiFi и BLE самый массовый и дешёвый это ESP32 разных семейств. Информации по ним полно, и различных примеров.
У нордика в основном BLE, есть отдельные Wifi чипы, совсем новые и просто так их не достанешь, и без впн с нордиками сейчас не поработать. Как и со всеми западными чипами.
Поэтому только ESP, при большом желании можно потрогать WiFi/BT модуль на платах с rp2040.
Все остальное будет сложнее
я тут покопался в исходниках, libusb похоже должно обращаться не к esp32 а к некоторому bluetooth адаптеру, идентификация у него такая
bool _interface_is_bluetooth(const struct libusb_interface_descriptor *interface)
{
return (interface->bInterfaceClass == LIBUSB_CLASS_WIRELESS) &&
(interface->bInterfaceSubClass == 0x01 /* SUBCLASS_RF_CONTROLLER */) &&
(interface->bInterfaceProtocol == 0x01 /* PROTOCOL_BLUETOOTH_PRIMARY_CONTROLLER */);
}
класс LIBUSB_CLASS_WIRELESS имеют bluetooth адаптеры (не все), а вот у esp32 по умолчанию другой класс, т.е. софт от хацкеров usbbt esp32 по умолчанию не увидит, собcтвенно это запускается и проверятся
долгосрочное сохранение
Кажется, так long-term persistence ещё ни одна нейросеть не переводила...
Вот неплохой разбор о том, почему это не бэкдор и как дела обстоят у других производителей (у них еще закрытее и такие же недокументированные команды)
В Bluetooth-чипе ESP32 от Espressif нашли недокументированные команды