Thunderspy - Thunderbolt interfésszel rendelkező berendezések elleni támadások sorozata

Kiderült információt a hét sebezhetőség kódnév alatt egyesített Thunderbolt interfésszel rendelkező berendezésekben Mennydörgő és megkerüli az összes főbb Thunderbolt biztonsági összetevőt. Az azonosított problémák alapján kilenc támadási forgatókönyv javasolt, amelyeket akkor hajtanak végre, ha a támadó rosszindulatú eszköz csatlakoztatása vagy a firmware manipulálása révén helyi hozzáféréssel rendelkezik a rendszerhez.

A támadási forgatókönyvek magukban foglalják az önkényes Thunderbolt-eszközök azonosítóinak létrehozásának lehetőségét, az engedélyezett eszközök klónozását, a rendszermemóriához való véletlenszerű hozzáférést DMA-n keresztül és a Biztonsági szint beállításainak felülbírálását, beleértve az összes védelmi mechanizmus teljes letiltását, a firmware-frissítések telepítésének blokkolását és az interfészek Thunderbolt módba történő fordítását. USB vagy DisplayPort továbbításra korlátozódó rendszerek.

A Thunderbolt egy univerzális interfész perifériás eszközök csatlakoztatására, amely egy kábelben egyesíti a PCIe (PCI Express) és a DisplayPort interfészt. A Thunderboltot az Intel és az Apple fejlesztette ki, és számos modern laptopban és PC-ben használják. A PCIe-alapú Thunderbolt eszközök DMA I/O-val vannak ellátva, ami a DMA támadások veszélyét jelenti a teljes rendszermemória olvasása és írása, illetve a titkosított eszközökről származó adatok rögzítése érdekében. Az ilyen támadások megelőzésére a Thunderbolt a biztonsági szintek koncepcióját javasolta, amely csak a felhasználó által engedélyezett eszközök használatát teszi lehetővé, és a kapcsolatok kriptográfiai hitelesítését használja az azonosító hamisítás elleni védelem érdekében.

Az azonosított sérülékenységek lehetővé teszik az ilyen összerendelés megkerülését és egy rosszindulatú eszköz csatlakoztatását egy engedélyezett eszköz leple alatt. Ezenkívül lehetőség van a firmware módosítására és az SPI Flash csak olvasható módba állítására, amellyel teljesen letilthatók a biztonsági szintek és megtilthatók a firmware-frissítések (az ilyen manipulációkhoz segédprogramok készültek tcfp и spiblock). Összesen hét problémáról tettek közzé információkat:

  • Nem megfelelő firmware-ellenőrzési sémák használata;
  • Gyenge eszközhitelesítési séma használata;
  • Metaadatok betöltése nem hitelesített eszközről;
  • Visszafelé kompatibilitási mechanizmusok elérhetősége, amelyek lehetővé teszik a visszaállítási támadások alkalmazását sebezhető technológiák;
  • Nem hitelesített vezérlő konfigurációs paraméterek használata;
  • Hibák az SPI Flash felületén;
  • Védőfelszerelés hiánya a szinten Boot Camp.

A sérülékenység az összes Thunderbolt 1 és 2 (Mini DisplayPort alapú) és Thunderbolt 3 (USB-C alapú) eszközöket érinti. Egyelőre nem világos, hogy az USB 4-es és Thunderbolt 4-es eszközökben jelentkeznek-e problémák, mivel ezek a technológiák még csak most jelentek meg, és egyelőre nincs mód a megvalósításuk tesztelésére. A sérülékenységeket szoftverrel nem lehet kiküszöbölni, és a hardverelemek újratervezése szükséges. Néhány új eszköz esetében azonban lehetőség van a DMA-val kapcsolatos egyes problémák blokkolására a mechanizmus segítségével Kernel DMA védelem, amelynek támogatását 2019-től kezdték el megvalósítani (támogatta a Linux kernelben, az 5.0-s kiadástól kezdve, a „/sys/bus/thunderbolt/devices/domainX/iommu_dma_protection” címen ellenőrizheti a bekerülést.

Egy Python-szkriptet biztosítunk az eszközök ellenőrzéséhez Spycheck, amelyhez rootként kell futni a DMI, az ACPI DMAR tábla és a WMI eléréséhez. A sérülékeny rendszerek védelme érdekében azt javasoljuk, hogy ne hagyja felügyelet nélkül a rendszert bekapcsolt vagy készenléti módban, ne csatlakoztassa mások Thunderbolt-eszközeit, ne hagyja el és ne adja át eszközeit másoknak, és ügyeljen eszközei fizikai biztonságára. Ha nincs szükség Thunderboltra, javasoljuk, hogy tiltsa le a Thunderbolt vezérlőt az UEFI-ben vagy a BIOS-ban (ettől előfordulhat, hogy az USB és a DisplayPort portok nem működnek, ha Thunderbolt vezérlőn keresztül valósulnak meg).

Forrás: opennet.ru

Hozzászólás