The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Компрометация шлюзов Barracuda ESG, требующая замены оборудования"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Ссылки "<<" и ">>" открывают первые и последние 10 сообщений.
. "Компрометация шлюзов Barracuda ESG, требующая замены оборудо..." +/
Сообщение от Аноним (114), 12-Июн-23, 22:47 
1) STM32 F1xx и тому подобные - можно "вернуть себе" как раз всегда. Там лишь 1 уровень защиты от чтения - и он не запрещает дебаг или ROM loader насовсем, лишь ограничивает операции. Такой чип всегда можно вернуть в "девственный" вид, но, правда, только, после полного стирания - так что фирмвару из него вы не получите. Как минимум официально и удобно.
2) Де факто есть атака с использованием этого дебажного доступа, позволяющая большую часть фирмвары все-таки выковырять. Очень креативным обходом STшных защит через I-bus. Но это не полная копия и стопроцентно спиратить-забэкапить все же не получится.
3) F0/L0/L1/etc сделали 2-й уровень защиты, он более мерзкий и отключает жытаг и ROM лоадер. И вот тут чипак уже делает только то что хочет его встроенная фирмвара. И если "юзерский" бутлоадер и фирмвара - и вас к себе пускать не хотят - вот тут уже неудобненько получается, потому что красивого и официального способа нет, replace MCU and press any key.
4) Менее официально, это состояние врубается только если фуз профлешен в вполне конкнетное состояние. И его инверсная копия - тоже. Если поймать момент когда чип читает состояние фузов и сбить вот это вот, вы все правильно поняли: чип вывалится в fallback-режим с защитой уровня 1. После этого станет доступен JTAG и бутлоадер. Далее см. пункт 1.

И это работает в обе стороны. Атакующий сменивший "юзерский" бутлоадер в флехе на свой и быренько вырубающий JTAG при старте может сделать довольно неудобно легитимному обладателю системы, если апдейтилось через их кастомный бут а не STшный ROM (довольно дурной и специфичный). Жытагом/swd правда все равно зацепиться можно - если оно RESET# умеет зажимать, так что запрет жытага в коде (например рекрнфигом пинов) обломается.

Физически как вы уже поняли там ничего и никогда не выжигается. Там даже "boot ROM" - отдельная секция в модуле флеша, рядом с секцией фузов. ST шьет его на фабе, видимо, через JTAG или SWD. Потом сегмент, вероятно, лочится в readonly, а процедура программирования этого сегмента вообще не документирована. Можно и свои сегменты в readonly loчить, сделав этакий эквивалент ROM-loader в фирмваре - потом его стереть станет достаточно канительно.

И фузы - лишь байтики в отдельной секции массива флеша. Они как бы стирабельны - и если F0/L0/L1 выбить из level 2 lock заскоками с питанием сбивающими чтение фузов, потом его можно стереть и вернуть в фабричный вид как обычно с level 1 защитой.

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

p.s. а китайские клоны вообще позорники: чаще всего забывают даже "детские" веши заткнуть, типа попросить DMA читануть флеху -> RAM (mem2mem xfer), опа, ололо, можно забрать буфер из RAM (level 1 не блочит работу с SRAM, но вырубает доступ в флеш для всего что не I-bus проца). И так за несколько итераций можно DMA понакидать себе флеху -> SRAM и слить ее дебагером. Копипастеры из китая такие вещи забывают учесть.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Компрометация шлюзов Barracuda ESG, требующая замены оборудования, opennews, 11-Июн-23, 10:28  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру