Mga kahinaan sa pagpapatupad ng sanggunian ng TPM 2.0 na nagbibigay-daan sa pag-access sa data sa cryptochip

Sa code na may reference na pagpapatupad ng TPM 2.0 (Trusted Platform Module) na detalye, natukoy ang mga kahinaan (CVE-2023-1017, CVE-2023-1018) na humahantong sa pagsusulat o pagbabasa ng data na lampas sa mga hangganan ng inilaan na buffer. Ang isang pag-atake sa mga pagpapatupad ng cryptoprocessor gamit ang vulnerable code ay maaaring magresulta sa pagkuha o pag-overwrit ng on-chip na nakaimbak na impormasyon tulad ng mga cryptographic key. Ang kakayahang mag-overwrite ng data sa firmware ng TPM ay maaaring gamitin ng isang umaatake upang ayusin ang pagpapatupad ng kanilang code sa konteksto ng TPM, na, halimbawa, ay magagamit upang ipatupad ang mga backdoor na gumagana sa panig ng TPM at hindi natukoy. sa pamamagitan ng operating system.

Ang mga kahinaan ay sanhi ng maling pag-verify ng laki ng mga parameter ng CryptParameterDecryption() function, na nagbibigay-daan sa dalawang byte na maisulat o basahin nang lampas sa hangganan ng buffer na ipinasa sa ExecuteCommand() function at naglalaman ng command na TPM2.0. Depende sa pagpapatupad ng firmware, ang dalawang byte na na-overwrite ay maaaring masira ang parehong hindi nagamit na memorya at data o mga pointer sa stack.

Ang kahinaan ay pinagsamantalahan sa pamamagitan ng pagpapadala ng mga espesyal na idinisenyong command sa TPM module (dapat may access ang attacker sa TPM interface). Nalutas ang mga isyu sa update ng detalye ng TPM 2.0 na inilabas noong Enero (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).

Ang libtpms open library, na ginagamit para sa software emulation ng TPM modules at integration ng TPM support sa hypervisors, ay mahina rin. Ang kahinaan ay naayos sa libtpms 0.9.6 release.

Pinagmulan: opennet.ru

Magdagdag ng komento