Chyby v referenční implementaci TPM 2.0, které umožňují přístup k datům v kryptočipu

V kódu s referenční implementací specifikace TPM 2.0 (Trusted Platform Module) byly identifikovány zranitelnosti (CVE-2023-1017, CVE-2023-1018), které vedou k zápisu nebo čtení dat za hranice přidělené vyrovnávací paměti. Útok na implementace kryptoprocesoru pomocí zranitelného kódu by mohl vést k extrakci nebo přepsání informací uložených na čipu, jako jsou kryptografické klíče. Schopnost přepisovat data ve firmwaru TPM může útočník využít k organizaci provádění svého kódu v kontextu TPM, což může být například použito k implementaci zadních vrátek, které fungují na straně TPM a nejsou detekovány operačním systémem.

Chyby zabezpečení jsou způsobeny nesprávným ověřením velikosti parametrů funkce CryptParameterDecryption(), která umožňuje zápis nebo čtení dvou bajtů za hranicí vyrovnávací paměti předané funkci ExecuteCommand() a obsahující příkaz TPM2.0. V závislosti na implementaci firmwaru mohou dva přepisované bajty poškodit nevyužitou paměť i data nebo ukazatele na zásobníku.

Tato chyba zabezpečení je zneužita odesláním speciálně navržených příkazů do modulu TPM (útočník musí mít přístup k rozhraní TPM). Problémy byly vyřešeny v aktualizaci specifikace TPM 2.0 vydané v lednu (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).

Zranitelná je také otevřená knihovna libtpms, která se používá pro softwarovou emulaci modulů TPM a integraci podpory TPM do hypervizorů. Tato chyba zabezpečení byla opravena ve verzi libtpms 0.9.6.

Zdroj: opennet.ru

Přidat komentář