Pokud jsou tyto chyby zneužity, mohou útočníkům umožnit získat neoprávněný přístup k citlivým informacím nebo obecně způsobit problémy
Nedávno bylo oznámeno, že v kódu s referenční implementací specifikace TPM 2.0 (Trusted Platform Module) byly identifikovány dvě zranitelnosti ( již katalogizované pod CVE-2023-1017 a CVE-2023-1018).
Zjištěné chyby jsou závažné, protože vedou k zápisu nebo čtení dat mimo hranice alokované vyrovnávací paměti . Útok na implementace kryptoprocesorů s použitím zranitelného kódu by mohl vést k extrakci nebo přepsání informací uložených na straně čipu, jako jsou kryptografické klíče.
Útočník s přístupem k rozhraní příkazů TPM může do modulu posílat škodlivé příkazy a spouštět tyto chyby zabezpečení. To umožňuje přístup pouze pro čtení k citlivým datům nebo přepis běžně chráněných dat, která jsou dostupná pouze pro TPM (například kryptografické klíče).
Uvádí se, že útočník může využít možnost přepsat data ve firmwaru TPM k orchestraci provádění svého kódu v kontextu TPM, což lze například použít k implementaci zadních vrátek, které fungují na straně TPM a nejsou detekovány operačním systémem.
Pro ty, kteří neznají TPM (Trusted Platform Module), měli byste vědět, že se jedná o hardwarové řešení, které poskytuje moderním počítačovým operačním systémům silné kryptografické funkce, díky čemuž je odolné vůči neoprávněné manipulaci.
Ověřený místní útočník by mohl odesílat škodlivé příkazy do zranitelného modulu TPM, který umožňuje přístup k citlivým datům. V některých případech může útočník také přepsat chráněná data ve firmwaru TPM. To může způsobit selhání nebo spuštění libovolného kódu v modulu TPM. Protože datová část útočníka běží uvnitř TPM, nemusí být detekována jinými součástmi na cílovém zařízení.
Vzhledem k tomu, že cloud computing a virtualizace jsou v posledních letech stále populárnější, roste také popularita softwarových implementací TPM. TPM může být implementován jako diskrétní, vestavěný nebo firmwarový TPM v hardwarové podobě. Virtuální TPM existují ve formě hypervizoru nebo v čistě softwarové implementaci TPM, například swtpm.
Pokud jde o zjištěné zranitelnosti , uvádí se, že jsou způsobeny nesprávnou kontrolou velikosti parametrů funkce CryptParameterDecryption(), která umožňuje zápis nebo čtení dvou bajtů mimo vyrovnávací paměť předanou funkci ExecuteCommand() a která obsahuje příkaz TPM2.0. Podle implementace firmwaru může přepsání dvou bajtů poškodit jak nevyužitou paměť, tak data nebo ukazatele na zásobníku.
Zranitelnost 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).
V současné době již byly problémy opraveny odesláním aktualizačních verzí specifikace TPM 2.0 vydaných v lednu (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).
Dále se uvádí, že zranitelnost se týká i open-source knihovny libtpms, která se používá k programově emulaci modulů TPM a integraci podpory TPM do hypervizorů . Je však důležité poznamenat, že tato zranitelnost byla opravena ve verzi libtpms 0.9.6, takže těm, kteří používají starší verzi, se doporučuje co nejdříve aktualizovat na novou verzi.
Pokud jde o řešení těchto nedostatků, TCG (Trusted Computing Group) zveřejnila aktualizaci svého Errata pro specifikaci knihovny TPM2.0 s pokyny k odstranění těchto zranitelností. Pro zajištění bezpečnosti svých systémů by uživatelé měli co nejdříve použít aktualizace poskytované výrobci hardwaru a softwaru prostřednictvím jejich dodavatelského řetězce.
A konečně, pokud máte zájem dozvědět se více, podrobnosti naleznete na následujícím odkazu.