TPM 2.0 atsauces ieviešanas ievainojamības, kas ļauj piekļūt datiem kriptočipā

Kodā ar TPM 2.0 (Trusted Platform Module) specifikācijas atsauces ieviešanu tika identificētas ievainojamības (CVE-2023-1017, CVE-2023-1018), kas noved pie datu rakstīšanas vai lasīšanas ārpus piešķirtā bufera robežām. Uzbrukums kriptoprocesoru implementācijām, izmantojot ievainojamu kodu, var izraisīt mikroshēmā saglabātās informācijas, piemēram, kriptogrāfisko atslēgu, izvilkšanu vai pārrakstīšanu. Uzbrucējs var izmantot iespēju pārrakstīt datus TPM programmaparatūrā, lai organizētu sava koda izpildi TPM kontekstā, ko, piemēram, var izmantot, lai ieviestu aizmugures durvis, kas darbojas TPM pusē un netiek atklātas. operētājsistēma.

Ievainojamības izraisa nepareiza funkcijas CryptParameterDecryption() parametru lieluma pārbaude, kas ļauj rakstīt vai nolasīt divus baitus aiz bufera robežas, kas nodota funkcijai ExecuteCommand() un satur komandu TPM2.0. Atkarībā no programmaparatūras ieviešanas divi pārrakstītie baiti var sabojāt gan neizmantoto atmiņu, gan datus vai norādes uz steka.

Ievainojamība tiek izmantota, nosūtot uz TPM moduli īpaši izstrādātas komandas (uzbrucējam ir jābūt piekļuvei TPM interfeisam). Problēmas tika atrisinātas janvārī izdotajā TPM 2.0 specifikācijas atjauninājumā (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).

Arī libtpms atvērtā bibliotēka, ko izmanto TPM moduļu programmatūras emulācijai un TPM atbalsta integrācijai hipervizoros, ir neaizsargāta. Ievainojamība tika novērsta libtpms 0.9.6 laidienā.

Avots: opennet.ru

Pievieno komentāru