A TPM 2.0 referenciaimplementációjának biztonsági rései, amelyek lehetővé teszik a titkosítási chipben lévő adatokhoz való hozzáférést

A TPM 2.0 (Trusted Platform Module) specifikáció referencia megvalósításával rendelkező kódban olyan sebezhetőségeket azonosítottak (CVE-2023-1017, CVE-2023-1018), amelyek a lefoglalt puffer határain túli adatok írásához vagy olvasásához vezetnek. A sebezhető kódot használó kriptoprocesszor-megvalósítások elleni támadás a chipen tárolt információk, például kriptográfiai kulcsok kinyerését vagy felülírását eredményezheti. A TPM firmware-ben lévő adatok felülírásának lehetőségét a támadók használhatják arra, hogy megszervezzék kódjuk végrehajtását a TPM kontextusában, ami például felhasználható olyan hátsó ajtók megvalósítására, amelyek a TPM oldalán működnek, és nem észlelhetők. az operációs rendszer által.

A sérülékenységet a CryptParameterDecryption() függvény paramétereinek méretének helytelen ellenőrzése okozza, amely lehetővé teszi két bájt írását vagy olvasását az ExecuteCommand() függvénynek átadott és a TPM2.0 parancsot tartalmazó puffer határain túl. A firmware-megvalósítástól függően a felülírt két bájt megsértheti a nem használt memóriát és a veremben lévő adatokat vagy mutatókat.

A biztonsági rést úgy használják ki, hogy speciálisan kialakított parancsokat küldenek a TPM-modulnak (a támadónak hozzáféréssel kell rendelkeznie a TPM-felülethez). A problémákat a januárban kiadott TPM 2.0 specifikációfrissítés (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6) megoldotta.

A TPM-modulok szoftveres emulációjához és a TPM-támogatás hipervizorokba való integrálásához használt libtpms nyílt könyvtár szintén sebezhető. A sérülékenységet a libtpms 0.9.6-os kiadásában javították.

Forrás: opennet.ru

Hozzászólás