Interjú a G DATA kutatójával a processzorok sérülékenységeiről, avagy Spectre és Meltdown testközelből

Alig két hete fedezték fel, de úgy tűnik, a Meltdown és Spectre nevű sérülékenységek a történelem legsúlyosabb számítógépes hibái. Anders Fogh-gal, a G DATA kutatójával beszélgettünk, aki testközelből ismeri őket.

Andreas Fogh, A G DATA kutatójának tavaly nyáron publikált tanulmánya indította el a lavinát, mely a sérülékenységek gyakorlati bizonyításához vezettek. Érdekesség, hogy mivel IT biztonsági iparág jellemzően nem processzorral kapcsolatos biztonsági hibákkal foglalkozik, a G DATA kutatója is szabadidejében foglalkozott ezzel a lenyűgöző területtel.

Hogyan találtál a hibára?

A Grazi Műszaki Egyetem kutatóival együtt foglalkoztunk a kiváltság szabályokkal, azok processzoron belüli végrehajtásával, alkalmazásával. Munkánkat a Black Hat USA 2016-os konferencián mutattuk be. Ezután a CPU rejtett csatornáival kapcsolatos kutatásom következett, majd 2017 januárjában kötöttem össze a két kutatási területet. Ez vezetett a Spectre és Meltdown mögötti központi problémához.

A kutatók rengeteg sérülékenységet fedeztek fel az elmúlt évtizedekben, egyesekben kiemelkedő potenciál rejtőzik. A potenciál ellenére mégsem született olyan kártevő, mely kihasználta volna ezeket. Mit gondolsz, mennyire valószínű, hogy a közeljövőben megjelenik egy Meltdown vagy Spectre sérülékenységet kihasználó kártevő?

Szerintem nagy a valószínűsége, hogy látunk olyan kártevőket, mely a Meltdown hibát kihasználják. Már létezik is proof-of-concept jellegű forráskód, az exploitok elérhetőek az interneten. Emiatt rendkívül fontos, hogy frissítsük operációs rendszerünket. A Spectre sérülékenységet nehezebb kihasználni, így hosszabb idő, amíg a rá épített kártevő is megjelenik.

A Meltdown és Spectre a hardverhez kapcsoló biztonsági hibák. Mit jelent ez a potenciális kártevők szempontjából?

Ami a hardver-CPU kombinációt illeti, minden gyártónak széles skálán mozog a termék és modell kínálata, és ezek rendszer architektúra és egyéb specifikáció tekintetében különböznek egymástól. Eléggé valószínűtlen, hogy létezne egy általános támadási kód, mely működne az összes sebezhető CPU platformon. Az ördög a részletekben rejlik. Eléggé komoly erőfeszítés olyan exploit kódot írni, mely a különböző processzoron működne, hiszen az operációs rendszerek közötti különbségeket is figyelembe kell venni a sérülékenységek kihasználásakor.

A Meltdown és Spectre támadások esetében az információszivárgás miatt juthatnak adatokhoz a támadók. Vannak nyilvánvaló célpontok szerver környezetekben, asztali PC-k, noteszgépek és okostelefonok esetében, de kevésbé nyilvánvaló támadásokra is számíthatunk. Milyen támadási forgatókönyvvel számoljunk?

Rengeteg eszközben használjuk a magas teljesítményű processzorokat, legyenek azok szórakozáshoz vagy ipari célokra használt eszközök. Minél magasabb teljesítményű egy processzor, annál nagyobb valószínűséggel lesz egy hasonló támadás célpontja. A támadók ideje sincs ingyen, őket is gazdaságossági megfontolások vezérlik. A Meltdown és Spectre hibák adatszivárgásos támadásokra használhatóak. Nem nyereséges a támadóknak teljes körű támadást indítani minden érintett eszköz ellen, hiszen egyszerűen ezen eszközök többsége nem dolgoz fel olyan értékes információt, mely megérné a rengeteg befektetett erőfeszítést. Hardveres routerek, tűzfalak esetében azonban már más a helyzet.

Processzor load Spectre

Ha a támadó szemszögéből nézzük, a kernel (operációs rendszer mag) memóriában tárolt adatok megszerzése csak az első lépés, segítségükkel sokkal komolyabb információk is megszerezhetők. Mit tudnak a támadók a Meltdown sérülékenységet kihasználó kártevővel elérni?

Normális esetben, egy korszerű operációs rendszerben egy kártevő biztonsági szintje megegyezik annak a felhasználónak a biztonsági szintjével, mellyel a fertőzés pillanatában rendelkezett. Magyarul, a kártevő is csak azt tudja megtenni, amit a felhasználó, így, ha a user nem telepíthet programokat a gépre, akkor a kártevő sem. A Meltdown viszont lehetővé teszi a kártevő számára, hogy hatékonyan kiolvasson bármilyen információt az operációs rendszer magjából. Ezek az információk lehetővé teszik, hogy a kártevő jogköre gyarapodjon, és gyakorlatilag ellenőrzése alá vonja a megfertőzött gépet, a felhasználó biztonsági szintjétől függetlenül. Vagyis, ha a felhasználó nem telepíthet programokat, a “Meltdown kártevő” már igen.

A Meltdown és Spectre körül vitázó szakemberek rengeteg vélemény megfogalmaztak, melyik a legfontosabb a te szempontodból?

A számítógép biztonsága hosszútávú projekt, a Spectre és Meltdown csupán egy lépés ebben a hosszú utazásban. A hangsúly a processzor számítógép biztonságában betöltött szerepkörére tolódott, és reményeink szerint felébreszti a szakemberek érdeklődését a biztonságosabb számítógépek tervezése iránt.

Az IT biztonsági szakemberek általában nem a processzorokban keresik a biztonsági hibákat. Mi jön ezután? Várhatunk újabb hardver alapú hibák megjelenésére?

A processzorok rendkívül összetett eszközök. Egyes modern CPU-ban a tranzisztorok száma meghaladja a 3 milliárdot (3.000.000.000). Összehasonlításképp, ez ezerszer több alkatrész, mint amennyi az embert a holdra vivő Saturn V rakétába építettek. Ilyen mértékű komplexitás mellett nagy valószínűséggel fogunk további hibákat találni a processzorban.

Spectre és Meltdown sérülékenységek

A processzorok sérülékenységeiről röviden

A Meltdown és Spectre néven ismertté vált biztonsági hibák nem megszokott szoftverhibák, hanem a számítógép processzorát érintik. A processzor feladata a kapott utasítások elvégzése, miközben azt is biztosítja, hogy a különböző folyamatok csak a saját adataikhoz férnek hozzá. Ezt a memória izoláció (szigetelés) elv betartásával sikerül a CPU-nak megoldania. A mai, modern processzorok működését a végtelenségig optimalizálták, a cél, hogy hatékonyan és gyorsan elvégezze feladatát. Ez azt jelenti, hogy a különböző utasításokat nem a természetes sorrendben végzi el. Ha az utasításokat gyorsan, egymás után dolgozná fel a processzor, akkor nagy szünetek lennének működésében, a program logikai elburjánzásához illeszkedve, vagyis lassú lenne számítógépünk.

Hogy ezt a folyamatot felgyorsítsa, a processzor megpróbálja kitalálni, milyen művelet következne, és el is kezdi az utasításokat végrehajtani. Ha ezekre az adatokra mégsem lenne szükség, akkor később a processzor kidobja őket, de addig is ott élnek a processzor belső memóriájában, ahol elvileg nem láthatóak a rendszer többi részére számára. A most felfedezett sérülékenységek lényege, hogy a felfedezett módokon az adatok az aktív memória számára is elérhetővé válhatnak.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük