waqur: (Default)
[personal profile] waqur
Интересная статья о реверс-инжиниринге микрокода процессоров AMD K8 и K10:
https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-koppe.pdf

В отличие от Intel, компания AMD первое время не подписывала и не шифровала обновления микрокода для своих процессоров (хотя и применяла обфускацию микроинструкций). Опираясь на отрывочную информацию из патентов обоих компаний, на послойное сканирование ПЗУ микроопераций процессора электронным микроскопом, а также на хитрый способ подмешивания случайного шума в таблицу микроопераций с помощью программных обновлений микрокода, эта команда исследователей смогла установить соответствие между макроинструкциями и интервалами адресов в таблице микроопераций, а далее разобраться в формате и номенклатуре самих микроопераций, внутренних регистров процессора и т.п. Для повторяемости экспериментов по изменению поведения макроинструкций была реализована небольшая ОС (которая задействует все аппаратные возможности процессора), а сам процесс фаззинга был автоматизирован с помощью Raspberry Pi.

Напоследок они реализовали образцы разного вредоносного микрокода, например слив внутреннего состояния генератора псевдослучайных чисел криптографической библиотеки, такой как OpenSSL. Было показано, что закладка в микрокоде может быть активирована удалённо, например передачей через Javascript хитрых констант в инструкцию целочисленного деления. Чтобы не нарушать логические и арифметические правила, результаты своей работы вредоносный микрокод может сливать через вариацию времени исполнения макроинструкций, что тоже было продемонстрировано авторами статьи.

March 2024

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
31      

Автор стиля

Развернуть

No cut tags
Page generated 2026-03-01 08:47 pm
Powered by Dreamwidth Studios