"HÁTSÓ AJTÓ" A VIA C3-AS PROCESSZORAIBAN

A hátsó ajtónak hívott funkció igazából egy alaposan dokumentált lehetőség, ami alap esetben inaktív, de egy hacker rájött, hogyan aktiválja.
Víg Ferenc (J.o.k.e.r)
Víg Ferenc (J.o.k.e.r)
2018. aug. 15. 11:27
"Hátsó ajtó" a VIA C3-as processzoraiban

A VIA processzorai az asztali konfigurációk szegmensében nem igazán rendelkeznek észrevehető piaci részesedéssel, hiszen ezek a központi egységek speciális piacokat vesznek célba, így többnyire különböző automatákban, ATM-ekben, információs rendszerekben, illetve értékesítést végző konfigurációkban vannak jelen. Ezeknél nincs szükség hatalmas számítási teljesítményre, a biztonság azonban többnyire kiemelten fontos.

A Black Hat 2018 konferencia alkalmával egy biztonságtechnikai kutató, Christopher Domas egy érdekes felfedezésről számolt be: rájött, hogy a VIA C3-as processzorral szerelt rendszereknél, amelyek Linuxot futtatnak, nagyon könnyen lehet rendszergazdai jogosultságot szerezni.

Ehhez mindössze arra van szükség, hogy a felhasználói módban futó Linux parancssorba beírjunk egy egyszerű kódsorozatot, ami a következő: .byte 0x0f, 0x3f – és már meg is kaptuk a rendszergazdai jogkört.

De előtte azért van teendő bőven, hogy az említett kód kifejthesse a hatását. Ugyanis első körben engedélyezni kell az alap esetben letiltott 0x0f3f utasítást, ami a VIA C3-as processzorok többségében inaktív. Ehhez az engedélyezéshez alapból root jogkörrel kell rendelkeznünk, ami azért eléggé behatárolja a lehetőségeket. Ha a 0x0f3f utasítás immáron aktív, akkor egy sor egyéb utasítást kell végrehajtania a rendszernek, amelyek a Linux Kernel memóriát manipulálják annak érdekében, hogy root jogkört szerezhessünk. A manipuláció során a kernel memóriavédelmét meg lehet kerülni, mivel ez nem aktív, amikor a RISC processzormag utasításokat hajt végre. Ha ez is kész, indítani kell egy shellt, hogy a root jogosultság megszerzése sikerrel záruljon.

Ennek a „hátsó ajtónak” köszönhetően a ring-2, illetve e felett dolgozó felhasználói folyamatok és alkalmazások könnyedén megkaphatják a ring 0, azaz a root hozzáférést, ha a funkció aktív. A fenti hack egyébként azért működik, mert a VIA C3-as processzorok tartalmaznak egy úgynevezett „árnyékmagot”, ami RISC alapokon nyugszik, feladata pedig a rendszer indítása, működtetése és az x86-os magok kulcsainak tárolása.

Hogy Domas mégis hogyan bukkant rá erre a potenciális hátsó ajtóra? Rengeteg szabadalmat olvasott el, amelyekből megértette, melyik bit felel a funkció aktiválásáért, majd visszafejtette az utasításkészletet, amit a RISC mag használ, végül pedig írt egy assemblert és elkészítette a hátsó ajtót kinyitó kódsort.

A fentebb részletezett funkció egyébként szerepel a VIA egyik dokumentációjában is, ahol leírják, hogyan lehet engedélyezni és milyen lehetőségeket kínál, vagyis alapjában véve egy alaposan dokumentált, ám kevesek által ismert lehetőségről van szó, ami alap esetben inaktív – hibás konfigurálás esetén viszont alapértelmezetten is aktív lehet.

Hírlevél feliratkozás
A feliratkozással elfogadom a Felhasználási feltételeket és az Adatvédelmi nyilatkozatot.

8 hozzászólás

A komment írásához előbb jelentkezz be!
Merwenus
Merwenus
2018. aug. 15. 17:35
#1

"Ehhez az engedélyezéshez alapból root jogkörrel kell rendelkeznünk"

Szóval úgy szerez rootot, hogy már van root hozzáférése, mert anélkül az első ponton megbukik...

Vissza az oldal tetejére