Chyby v referenčnej implementácii TPM 2.0, ktoré umožňujú prístup k údajom na kryptočipe

V kóde s referenčnou implementáciou špecifikácie TPM 2.0 (Trusted Platform Module) boli identifikované zraniteľnosti (CVE-2023-1017, CVE-2023-1018), ktoré vedú k zápisu alebo čítaniu dát za hranice pridelenej vyrovnávacej pamäte. Útok na implementácie kryptoprocesora pomocou zraniteľného kódu by mohol viesť k extrakcii alebo prepísaniu informácií uložených na čipe, ako sú kryptografické kľúče. Schopnosť prepisovať údaje vo firmvéri TPM môže útočník použiť na organizáciu vykonávania svojho kódu v kontexte TPM, čo môže byť napríklad použité na implementáciu zadných vrátok, ktoré fungujú na strane TPM a nie sú detekované. operačným systémom.

Chyby sú spôsobené nesprávnym overením veľkosti parametrov funkcie CryptParameterDecryption(), ktorá umožňuje zapisovať alebo čítať dva bajty za hranicou vyrovnávacej pamäte odovzdanej funkcii ExecuteCommand() a obsahujúcej príkaz TPM2.0. V závislosti od implementácie firmvéru môžu dva prepisované bajty poškodiť nevyužitú pamäť aj údaje alebo ukazovatele v zásobníku.

Zraniteľnosť sa zneužije odoslaním špeciálne navrhnutých príkazov do modulu TPM (útočník musí mať prístup k rozhraniu TPM). Problémy boli vyriešené v aktualizácii špecifikácie TPM 2.0 vydanej v januári (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).

Zraniteľná je aj otvorená knižnica libtpms, ktorá sa používa na softvérovú emuláciu modulov TPM a integráciu podpory TPM do hypervízorov. Zraniteľnosť bola opravená vo vydaní libtpms 0.9.6.

Zdroj: opennet.ru

Pridať komentár