TPM 2.0 viiterakenduse haavatavused, mis võimaldavad juurdepääsu krüptokiibil olevatele andmetele

TPM 2.0 (Trusted Platform Module) spetsifikatsiooni viiterakendusega koodis tuvastati haavatavused (CVE-2023-1017, CVE-2023-1018), mis põhjustavad andmete kirjutamist või lugemist väljaspool eraldatud puhvri piire. Rünnak krüptoprotsessori rakenduste vastu, kasutades haavatavat koodi, võib kaasa tuua kiibile salvestatud teabe, näiteks krüptovõtmete ekstraheerimise või ülekirjutamise. TPM-i püsivara andmete ülekirjutamise võimalust saab ründaja kasutada oma koodi täitmise korraldamiseks TPM-i kontekstis, mida saab kasutada näiteks TPM-i poolel töötavate ja tuvastamata tagauste juurutamiseks. operatsioonisüsteemi poolt.

Haavatavused on põhjustatud funktsiooni CryptParameterDecryption() parameetrite suuruse ebaõigest kontrollimisest, mis võimaldab kirjutada või lugeda kahte baiti väljaspool funktsiooni ExecuteCommand() edastatud ja käsku TPM2.0 sisaldava puhvri piiri. Olenevalt püsivara rakendamisest võivad kaks ülekirjutatavat baiti rikkuda nii kasutamata mälu kui ka virna andmeid või viiteid.

Haavatavust kasutatakse ära spetsiaalselt loodud käskude saatmisega TPM-moodulile (ründajal peab olema juurdepääs TPM-i liidesele). Probleemid lahendati jaanuaris välja antud TPM 2.0 spetsifikatsiooni värskendusega (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).

Samuti on haavatav libtpms avatud teek, mida kasutatakse TPM-moodulite tarkvara emuleerimiseks ja TPM-i toe integreerimiseks hüperviisorisse. Haavatavus parandati libtpms 0.9.6 versioonis.

Allikas: opennet.ru

Lisa kommentaar