Javíthatatlan biztonsági hibát találtak az Apple M1 processzorokban

A borítókép forrása: TheHackerNews

Az MIT kutatói „PACMAN” névre keresztelték az általuk felfedezett, Apple M1 processzorok chipsetjei elleni hardvertámadást, amely tetszőleges kódfuttatást eredményezhet a macOS rendszereken.

A támadás az ARM Pointer Authentication memóriavédelmi mechanizmusának megkerülését használja ki, amely biztonsági funkció a mutatók (pointerek) integritásának érvényesítésére szolgál. (A pointer egy olyan változó, amely megadja egy változó vagy objektum címét a memóriában.)

A sebezhetőség a Pointer Authentication Code-okban (PAC) gyökerezik, amely az arm64e architektúrában a pointerek változásainak észleléséért és biztosításáért felel. A PAC-ok célja a szoftverbiztonságban gyakran előforduló problémák megoldása (például memóriakorrupciós sebezhetőségek), amelyeket a memóriában lévő adatok felülírásával használnak ki, hogy a támadó tetszőleges kódot futtathasson.

A mutatót egy hash kóddal védik, hogy biztosítsák annak integritását. Egy speciális CPU utasítással egy kriptográfiai aláírás kerül hozzáadásra a mutató nem használt magasrendű bitjeihez, mielőtt a mutató tárolásra kerülne. Egy másik utasítás eltávolítja és hitelesíti az aláírást, miután visszaolvasta a mutatót a memóriából. A tárolt értéknek az írás és az olvasás közötti bármilyen változása érvényteleníti az aláírást. A CPU a hitelesítési hibát memóriasérülésként értelmezi, és a mutató egyik magasrendű bitjét átállítja, így a mutató érvénytelenné válik, és az alkalmazás leáll. A PACMAN támadási módszer lehetővé teszi a helyes PAC és a helytelen hash megkülönböztetését, lehetővé téve egy fenyegetlsi szereplő számára, hogy az összeomlások elkerülése mellett brute force támadással megkapja a helyes PAC értéket.

A PACMAN által kihasznált hardvermechanizmusokat nem lehet szoftveres funkciókkal foltozni, azonban érdemes megjegyezni, hogy a PACMAN kihasználásának feltétele, hogy az áldozat programjában (kernel) létezzen egy kihasználható memóriakorrupciós sebezhetőség, ami lehetővé teszi a támadó számára, hogy bizonyos memóriahelyekre saját kódot helyezzen el. Ezek a memóriakezelési hibák szerencsére javíthatóak, pontosan ezért nagyon fontos az operációs rendszerek naprakészen tartása.

Az Apple a The HackerNews-nak eljuttatott közleményében a PACMAN-t nem értékeli közvetlen fenyegetésnek a felhasználói biztonság tekintetében, arra hivatkozva, hogy a sebezhetőség önmagában nem használható ki az operációs rendszer-szintű védelmi mechanizmusok kijátszására.

A sebezhetőség egyébként sokban hasonlít a 2021-ben felfedezett M1RACLES (CVE-2021-30747) nevű biztonsági hibára, amely szintén az M1 architektúrát érinti, szintén nem patchelhető, és lehetővé teszi, hogy a gépre telepített rosszindulatú alkalmazás titkos csatornát hozzon létre az adatcserére.

(thehackernews.com)