Microcode Decryptor, инструмент, който ви позволява да декодирате микрокода на процесорите на Intel

Група от Изследователи по сигурността от екипа на uCode пуснаха издание на изходния код на проекта дешифратор на микрокод и това позволява да се направи точно това, което подсказва името: това е инструмент, който се състои от три Python скрипта и е наличен в GitHub.

Микрокод декриптор позволява декодиране на микрокода на някои процесори на Intel като Atom, Pentium и Celeron, базирани на микроархитектури Goldmont и Goldmont Plus, което отваря вратата към различни сценарии, като разбиране как Intel е внедрил определени характеристики на процесора или е внедрил различни функции и корекции на сигурността.

Разработена е техниката Red Unlock от същите изследователи през 2020 г може да се използва за извличане на криптирания микрокод. Предложената възможност за дешифриране на микрокода позволява да се изследва вътрешната структура на микрокода и методите за внедряване на x86 машинни инструкции. В допълнение, изследователите възстановиха формата за актуализация на фърмуера, алгоритъма за криптиране и ключа, използван за защита на микрокода (RC4).

За да определите кой ключ за шифроване да използвате, използвана е уязвимост в Intel TXE, за да се активира недокументиран режим за отстраняване на грешки, с кодово име „Red Unlock“ от изследователите. В режим на отстраняване на грешки успяхме да заредим дъмп с работещ микрокод директно от процесора и да извлечем алгоритъма и ключовете от него.

Микрокод декриптор позволява само дешифриране на микрокода, но не позволява промяната му, тъй като целостта на микрокода се проверява допълнително чрез цифров подпис, базиран на алгоритъма RSA.

Що се отнася до това как е възможно разработването на Microcode Decryptor, те споменават, че това се е случило преди три години, когато Goryachy и Ermolov откриха критична уязвимост, индексирана като Intel SA-00086, която им позволи да изпълнят кода по свой избор в рамките на независим от чип ядро, което включваше подсистема, известна като Intel Management Engine.

Intel поправи грешката и пусна корекция, но тъй като чиповете винаги могат да бъдат върнати до предишна версия на фърмуера и след това да бъдат използвани, няма начин за ефективно премахване на уязвимостта.

След това (преди пет месеца) триото учени успяха да използват уязвимостта за достъп до сервизен режим, вграден в чиповете на Intel, като знак към филма Матрицата, изследователите нарекоха своя инструмент за достъп до този дебъгер недокументиран преди това Chip Red Хапче, защото позволява на изследователите да изпитат вътрешната работа на чип, който обикновено е забранен.

Говорител на Intel каза, че:

„Не трябва да има риск за сигурността“ в резултат на наличността на инструмента. Всъщност компанията каза, че позволяването на повече хора да преглеждат микрокода на Intel може да помогне на производителя на чипове да идентифицира повече уязвимости в бъдеще. За всеки, който успее в това, това означава потенциално спечелване на пари чрез програмата на Intel за награди за грешки.

„Способността на изследователите да анализират микрокод може да позволи откриването на нови уязвимости. Тъй като този микрокод е разкрит, Intel кани изследователи да участват в програмата за награди за грешки в микрокода, в случай че бъдат открити проблеми“, казаха ни те.

От своя страна разработчиците на този инструмент коментират това

„Възможността за четене на микрокод на процесора може да помогне да се разбере как Intel внедри технологии като Intel Trusted Execution Technology (TXT) или смекчи сериозни уязвимости като Meltdown и Spectre.“

Ермолов, един от другите учени, добави, че наличието на инструмента означава че хората сега можете да изследвате XuCode, вариант на код x86 в 64-битов режим, използван за внедряване на части от Intel SGX, който се изтегля като актуализация на микрокод. SGX е технологията на Intel за създаване на защитени анклави на паметта: Това са защитени зони, в които други програми и потребители, включително операционната система или хипервайзора, не могат да се намесват.

XuCode е доста интересен: специфичните за x86 инструкции за управление на SGX анклави са толкова сложни, че са разбити на последователности от инструкции на XuCode, които изпълняват необходимите операции.

Тези инструкции на XuCode са стандартни за 86-битовата x64 архитектура с някои разширения и са разбити на обикновени x86 микрооперации от процесора. Когато приложение използва SGX инструкция от високо ниво, процесорът може да премине към своя XuCode, за да работи.

Тези XuCode последователности се съхраняват в микрокод и сега могат да бъдат извлечени с горните скриптове на Python и анализирани със стандартни x86 комплекти за обратно инженерство.

Накрая ако се интересувате да научите повече за това За инструмента можете да проверите подробностите на следната връзка.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.