Как украсть «невидимое»: извлекаем прошивку из Execution-Only Memory

habrahabr.ru · world

Во время исследования контроллеров Realtek я столкнулся с таким любопытным способом защиты прошивки от реверс-инжиниринга, как XOM (eXecution Only Memory) . Эта технология разработана ARM уже около 10 лет назад . Опираясь на свой опыт, назвать ее очень популярной не могу. Однако, в Realtek решили использовать XOM в ряде своих контроллеров, которые попали к нам на исследование. Если коротко, XOM – это аппаратно-программная технология, формирующая execute-only область памяти. Суть XOM состоит в аппаратной фильтрации транзакций на шине AXI (AHB). Если транзакция в защищаемую область запрашивает исполнение инструкции - доступ разрешен, если чтение/запись данных – доступ запрещен. Таким образом, прочитать или перезаписать прошивку в XOM просто так не получится. Данная статья описывает подход к восстановлению спрятанной в XOM прошивки, основанный на анализе изменений состояния памяти и регистров процессора, возникающих вследствие выполнения инструкций процессора. Решить ребус...

Read full article →