Ranjivosti u TPM 2.0 referentnoj implementaciji koje omogućavaju pristup podacima na kriptočipu

U kodu sa referentnom implementacijom TPM 2.0 (Trusted Platform Module) specifikacije, identifikovane su ranjivosti (CVE-2023-1017, CVE-2023-1018) koje dovode do pisanja ili čitanja podataka izvan granica dodijeljenog bafera. Napad na implementacije kriptoprocesora koji koristi ranjivi kod mogao bi rezultirati ekstrahiranjem ili prepisivanjem informacija pohranjenih na čipu kao što su kriptografski ključevi. Mogućnost prepisivanja podataka u TPM firmveru napadač može iskoristiti da organizira izvršavanje svog koda u kontekstu TPM-a, koji se, na primjer, može koristiti za implementaciju backdoor-a koji rade na strani TPM-a i nisu otkriveni. od strane operativnog sistema.

Ranjivosti su uzrokovane neispravnom provjerom veličine parametara funkcije CryptParameterDecryption(), koja omogućava da se dva bajta upisuju ili čitaju izvan granice bafera proslijeđenog funkciji ExecuteCommand() i koji sadrži naredbu TPM2.0. Ovisno o implementaciji firmvera, dva bajta koja se prepisuju mogu oštetiti i neiskorištenu memoriju i podatke ili pokazivače na steku.

Ranjivost se iskorištava slanjem posebno dizajniranih komandi TPM modulu (napadač mora imati pristup TPM interfejsu). Problemi su riješeni u ažuriranju specifikacije TPM 2.0 objavljenom u januaru (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).

Otvorena biblioteka libtpms, koja se koristi za softversku emulaciju TPM modula i integraciju TPM podrške u hipervizore, takođe je ranjiva. Ranjivost je ispravljena u izdanju libtpms 0.9.6.

izvor: opennet.ru

Dodajte komentar