nemrég felröppent a hír, hogy két sebezhetőséget azonosítottak (már katalogizált a CVE-2023-1017, CVE-2023-1018) kóddal, a referencia megvalósításával. TPM 2.0 specifikáció (Megbízható platform modul).
Hibák észlelve figyelemre méltóak, mivel a lefoglalt puffer határain kívüli adatok írásához vagy olvasásához vezetnek. A sebezhető kódot használó kriptoprocesszor-megvalósítások elleni támadás a chip oldalán tárolt információk, például kriptográfiai kulcsok kinyerését vagy felülírását eredményezheti.
A TPM parancsfelülethez hozzáféréssel rendelkező támadó rosszindulatú parancsokat küldhet a modulnak, és kiválthatja ezeket a biztonsági réseket. Ez lehetővé teszi a csak olvasási hozzáférést az érzékeny adatokhoz vagy a normál védettségű adatok felülírását, amelyek csak a TPM számára érhetők el (például kriptográfiai kulcsok).
Azt emlegetik a támadó használhatja az adatok felülírásának lehetőségét a TPM firmware-ben, hogy a kód végrehajtását a TPM kontextusban levezényelje, amely például olyan hátsó ajtók megvalósítására használható, amelyek a TPM oldalon működnek, és amelyeket az operációs rendszer nem észlel.
Azok számára, akik nem ismerik a TPM-et (Trusted Platform Module), tudniuk kell, hogy ez egy hardver alapú megoldás, amely erős kriptográfiai funkciókat biztosít a modern számítógépes operációs rendszerek számára, így ellenáll a manipulációnak.
Egy hitelesített helyi támadó rosszindulatú parancsokat küldhet egy sebezhető TPM-nek, amely hozzáférést biztosít érzékeny adatokhoz. Egyes esetekben a támadó felülírhatja a védett adatokat a TPM firmware-ben. Ez összeomlást vagy tetszőleges kódfuttatást okozhat a TPM-en belül. Mivel a támadó hasznos tartalma a TPM-en belül fut, előfordulhat, hogy a céleszköz más összetevői nem észlelik.
Ahogy a számítási felhő és a virtualizáció egyre népszerűbbé vált az elmúlt években, a szoftver alapú TPM implementációk is egyre népszerűbbek. A TPM hardveres formában megvalósítható diszkrét, beágyazott vagy firmware TPM-ként. A virtuális TPM-ek hypervisor formában vagy tisztán szoftver alapú TPM-megvalósításban, például swtpm-ben léteznek.
A sebezhetőségekről észlelt, megemlítik, hogy ezeket a nem megfelelő méretellenőrzés okozza a CryptParameterDecryption() függvény paraméterei közül, amely lehetővé teszi két bájt írását vagy olvasását az ExecuteCommand() függvénynek átadott és a TPM2.0 parancsot tartalmazó pufferből. A firmware-megvalósítástól függően két bájt felülírása megsértheti a nem használt memóriát és a veremben lévő adatokat vagy mutatókat.
A sérülékenységet parancsok küldésével használják ki kifejezetten a TPM modulhoz tervezték (a támadónak hozzáféréssel kell rendelkeznie a TPM interfészhez).
Jelenleg a problémákat már kijavították a TPM 2.0 specifikáció januárban kiadott frissítési verzióinak leszállításával (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).
Másrészt arról is beszámolnak, hogy a libtpms nyílt forráskódú könyvtár, amely a TPM modulok programozott emulálására és a TPM támogatás hipervizorokba való integrálására szolgál, a sebezhetőség is érinti. Bár azt is fontos megemlíteni, hogy a sérülékenységet a libtpms 0.9.6 kiadásában javították, így aki régebbi verzión van, annak ajánlott mielőbb frissíteni az új verzióra.
A hibák megoldását illetően a TCG (Trusted Computing Group) frissítést tett közzé a TPM2.0 könyvtárspecifikációhoz készült Errata-hoz, amely utasításokat tartalmaz a biztonsági rések kezelésére. Rendszereik biztonságának biztosítása érdekében a felhasználóknak a lehető leghamarabb alkalmazniuk kell a hardver- és szoftvergyártók által biztosított frissítéseket az ellátási láncukon keresztül.
Végül, ha többet szeretne megtudni róla, akkor tanulmányozza a részleteket A következő linken.