2025. május 13., kedd

Teljes iparági processzorhibák botránya ismétlődik

Kiberbiztonsági szakértők a múlt héten két olyan biztonsági rés meglétét fedték fel, amelyek lehetővé teszik, hogy hackerek érzékeny információkat tulajdonítsanak el szinte bármilyen korszerű számítástechnikai eszközről, amely az Intel, az AMD vagy az ARM processzorgyártó cégek chipjeit tartalmazza. Az Intel elmúlt évtizedben gyártott szinte összes processzorát érinti a komoly sebezhetőség, amely lehetővé teszi, hogy egyszerű programok hozzáférjenek a rendszermag (kernel) memóriájához, majd avval további visszaéléseket követhetnek el.

A múlt szerdán feltárt két alapvető biztonsági rés szoftveresen gyógyítható ugyan, de ez jelentős teljesítménycsökkenéssel jár, ami akár 30%-kal is lassíthatja a számítógépeket. A probléma szinte mindenkit érint, de annak hogy egy véletlenszerű illető gépét holnap feltörjék, nagyon kicsi az esélye. A felfedett sebezhetőséget kihasználó támadások száma elenyésző, bár nem könnyű felismerni, hogy hányszor használták ezt a biztonsági rést. Ám, most, hogy nyílvánossá vált, készülnek majd olyan eszközök amelyekkel fel lehet majd ismerni a támadásokat és a hackerek is készítenek olyan eszközöket, amelyek kihasználják a hibát.

A rivális csipgyártó AMD processzorait a két hiba közül csak a könnyebben orvosolható és nehezebben kiaknázható, a Spectre érinti, így könnyen megszerezheti az Inteltől elpártoló vevők egy részét. Különösen fontos a potenciális teljesítménycsökkenés a felhőszolgáltatásokat működtető cégek esetén, amelyek ha maradnak is az Intel csipjeinél, jelentős árengedményeket fognak kicsikarni. Az AMD részvényeinek árfolyama ezért tíz százalékot emelkedett, az Intel részvényeinek árfolyama pedig közel öt százalékot esett az Intel csipjeinek Meltdown néven emlegetett biztonsági rése, az alapvető hibát felfedő bejelentés után a múlt hét végéig, ám további leértékelődés valószínű, felélénkült az iparági részvénycsere.

Az elmúlt évtizedben készült összes Intel processzorban durva biztonsági hiba van. A rendszermag vagy angol szóval, a kernel felel a hardveres erőforrások elosztásáért az operációs rendszerekben. A probléma lényege, hogy egy tervezési hiba miatt az érintett processzorok saját memóriájában tárolt adatok, például bizonyos jelszavak, potenciálisan hozzáférhetők. És mivel a hiba a hardverbe van égetve, csak szoftveresen, az operációs rendszer szintjén lehet utólag javítani. Vagyis a Windowst, a macOS-t és a Linuxot is frissíteni kell. A sebezhetőséget elsőként megíró Register részleteket nem árult el, de súlyosnak tűnik. Legrosszabb esetben akár egy weboldalon futó JavaScript kód is elég lehet, hogy illetéktelenek a rendszer legbelsőbb működéséhez férjenek hozzá. További rossz hír, hogy mivel a hiba javítása abból állna, hogy az operációs rendszer felhasználói folyamatait szoftveresen elvágják a kernelmemóriától, a frissítés komoly teljesítménybeli visszaesést okozhat, becslések szerint a rendszer akár 5-30 százalékot is lassulhat. Mivel azonban egyelőre kevés részlet ismert, nem tudni, mekkora lesz a pontos hatás. Elképzelhető az is, hogy az átlagfelhasználó keveset fog érzékelni a dologból, és inkább a felhőben futó üzleti világot fogja érzékenyebben érinteni. Az is lehet, hogy egy későbbi frissítés csökkenteni fogja tudni a teljesítményromlást.

Az Nvidia szerint a Spectre és Meltdown segezhetőség nem érinti a GPU-kat, csak a processzorokat, a három különálló támadási forma pedig ráadásul nem is mindig érinti az összes gyártó központi egységeit – a Meltdown csak az Intel és bizonyos ARM processzorokra, a Spectre azonban a legtöbb modern processzorra veszélyt jelent, hiszen ezeknél szinte minden esetben használják a spekulatív végrehajtás előnyeit. Három Spectre támadási lehetőséget tartunk nyilván: bounds check bypass (CVE-2017-5753), branch target injection (CVE-2017-5715) és rogue data cache load (CVE-2017-5754). Ezek közül az első kettő a Spectre, míg az utolsó a Meltdown elnevezésű sebezhetőséghez tartozik.

Spectre

A Spectre (Fantom) névre keresztelt biztonsági rés, amely egyaránt megvan az Intel, az AMD és az ARM cég integrált áramköreiben, lehetővé teszi a hackerek számára, hogy rávegyék az amúgy hibátlan alkalmazásokat titkos információk kiadására. A szakemberek elmondták, hogy az Apple-nél és a Microsoftnál már elkészültek a Meltdown által érintett asztali számítógépekhez szükséges javításokkal. A két legnagyobb számítástechnikai óriás azonban nem kívánta kommentálni a híreket, nem reagált az azokkal kapcsolatos kérdésekre. Daniel Gruss, a Grazi Műszaki Egyetemnek a Meltdown feltárásában részt vevő egyik kutatója a Reuters hírügynökségnek azt mondta, hogy "valószínűleg a valaha talált egyik legsúlyosabb számítógéphibáról van szó", a szoftverjavításokkal azonban határozottan útját lehet állni. A Spectre elnevezésű másik biztonsági rés nehezebben kihasználható a hackerek számára, de javítása is nehézkesebb, ezért hosszú távon nagyobb problémákat fog okozni.

A bounds check bypass támadással elérhető, hogy a felhasználói módból egy program tetszőlegesen olvasson a kernelmemória 4 GB-os régiójában. Ezt a teszthez használt Intel Haswell processzoron Debian disztribúció mellett aktív vagy inaktív eBPF bájtkód interpreter és JIT módban is meg lehetett tenni, míg AMD PRO sorozatú processzorral csak az eBPF JIT bekapcsolt állapotában oldható meg. Azt nem tudni, hogy minden egyes nagyobb teljesítményű, x86/AMD64 és ARM architektúrára épülő processzor érintett-e valamilyen eBPF JIT beállítással, de nagy a valószínűsége, hogy igen. Ugyanakkor erre a támadási módra már létezik egy operációs rendszer oldali javítás, ami hamarosan elérhető lesz. További jó hír, hogy ennek telepítése csak elhanyagolható teljesítményvesztéssel járhat, nincs tehát különösebb érv a használata ellen.

A branch target injection támadás már izgalmasabb és különösen veszélyes, ugyanis ha egy virt-managerrel létrehozott KVM vendég rendszergazda jogosultságokkal futtat egy programot, akkor egy Intel Haswell processzorral 1,5 kilobájt/másodperces teljesítménnyel olvashatóvá válik a host kernelmemóriája. Ezt Debian disztribúción sikerült is bizonyítani. Ennek a támadási módnak a jelenlegi adatok alapján Intel és ARM processzoron van hatása, más gyártó megoldásán még nem sikerült kihasználni. Ugyanakkor ebben a pillanatban nem kizárható, hogy egy alternatív implementációval később még bővül a támadható hardverek sora. Sajnos konkrétan erre támadási formára még javítást sem könnyű biztosítani.

Ezek a Spectre sebezhetőségek főleg amiatt problémásak, mert mindkét említett és egyben ismert támadási mód a modern processzorok spekulatív végrehajtását használja ki valamilyen formában. Ez teszi a mai rendszereket nagy teljesítményűvé és közben sajnos sérülékennyé is. A modernebb magok persze rendelkeznek olyan utasításokkal, amelyek arra kényszeríthetik a processzort, hogy megvárják a kiemelt memóriaolvasásokat és -írásokat, és ezzel gyakorlatilag elejét vegyék a spekuláción alapuló feldolgozásnak, de nehéz meghatározni, hogy ezeket az utasításokat hova érdemes beszúrni. Emiatt sajnos előfordulhat, hogy a magok olyan programrészeket is futtatnak, amelyeket nem kellene, de akkor amikor ez megtörténik, még nem tudja a hardver, hogy hibát követ el. Később persze ez kiderül, és a rendszer korrigálja is magát, tehát elvi szinten olyan sok negatívummal nem jár ez a modell, viszont sok pozitívuma lehet a sebességre nézve, ha mégis le kellett futtatni az adott programrészt. A Spectre sebezhetőségeknek itt a méregfoga. Egyszerűen megpróbálják megvezetni a hardvert, hogy lefuttasson egy programrészt, amiről később nyilván kiderül, hogy felesleges volt, de az adat már ki lett olvasva, és ez nyomot hagy a memóriahierarchia egyes lépcsőfokain is.

Meltdown

A Meltdown biztonsági rés kifejezetten az Intel gyártmányú processzorokban fordul elő, a másik Spectre azonban hasonlóképpen érint minden laptopot, asztali számítógépet, okostelefont, tabletet és internetszervert. Az Intel és az ARM vezetői azt hangoztatták, hogy nem konstrukciós problémáról van szó, s a felhasználók kijavíthatják a hibát, ha letöltenek egy javítást és frissítik az operációs rendszereiket. "Telefonokra, PC-kre, mindenre hatással lesz valahogy, de termékről termékre másképpen" – mondta Brian Krzanich, az Intel vezérigazgatója a CNBC amerikai televíziónak múlt szerda délután adott interjújában. A két hibát a Google Project Zero szakemberei tárták fel, több ország tudományos és ipari kutatóival együttműködve. Az Intel áramköreiben található Meltdown néven emlegetett biztonsági rés, lehetővé teszi, hogy hackerek megkerüljék a felhasználók által futtatott alkalmazások és a számítógép memóriája közötti "válaszfalat", s ezáltal kutakodhassanak a számítógépek memóriájában, és ellophassák a jelszavakat. A Meltdown résből eredő lehetséges visszaélések száma végtelen. Hackerek olvashatják és írhatják a memóriát, megszerezhetik a belépési azonosítókat (jelszót tehát soha ne jegyeztessünk meg, hanem mindíg gépeljük be), felcserélhetik a számítógépes komponensek működési irányelveit tartalmazó firmwarejét, ami révén az után is hozzáférhetnek a felhasználó gépéhez, hogy a Meltdown nem jelent veszélyt többé, és akár klónozhatják a teljes operációs rendszert, az interneten immitálhatják a felhasználót és számítógépét...

A Meltdownnál a rogue data cache load támadás kerül előtérbe, aminek két formája is van. Lényegében mindkét esetben ugyanaz a cél, mégpedig a kernelmemóriát olvasni felhasználói módból, a kernel kód vezérlési gráfjának félrevezetése nélkül. Az eltérő támadási variánsok csupán az egyes processzorokhoz igazodnak, így téve lehetővé a támadást olyan hardvereken is, amelyeknél az első implementáció kudarcot vallott. Erre vonatkozóan lesz javítás az operációs rendszerek oldalán, de ez már érezhető teljesítményvesztéssel járhat, mivel a javítás módja a rendszerhívások és a megszakítások esetében megnöveli a többletterhelést. Minél több van ezekből egy adott munkafolyamat során, annál nagyobb mértékű lesz a lassulás. Az ARM közleménye szerint a Spectre sebezhetőség mindkét variánsa kihasználható a Cortex-R7, -R8, -A8, -A9, -A15, -A17, -A57, -A72, -A73 és -A75 magokon, ugyanakkor a Cortex-R7 és -R8 esetében a célpiac miatt nem igazán kell ezzel a problémával foglalkozni. A Meltdown szempontjából az eredeti támadási implementációval sebezhető a Cortex-A75, míg ennek a módosított variánsa a Cortex-A15, -A57 és -A72 magokat fenyegeti. Az ARM egyébként kiemeli, hogy a Meltdown sebezhetőségre adott szoftveres tapasz véd a Spectre branch target injection támadásával szemben is. Emellett arra buzdítják a partnereiket, hogy a legfrissebb firmware-t használják. Az AMD a közleményében tudatta, hogy a processzorai teljesen immunisak a Meltdown sebezhetőség eddig ismert implementációra

Sokat lassít az Intel CPU-kban talált hiba javítása. A sebezhetőség miatt át kell alakítani az operációs rendszereket, ez 5-30%-kal is ronthat az eddigi tempón. Nem jól indul az év az Intel számára, ugyanis a láthatóan idő előtt kiderült hardveres hiba, amely érinti a vállalat összes modernebb processzorát. Nemrég ugyanis Linus Torvalds beolvasztotta a kernelfájljába a kernel laptábla izolációját, amely segít a felhasználói és a kernelmemória jobb elszigetelésében. Ez elvileg a jobb biztonságot szolgálná, de végül kiderült, hogy valójában azért van rá szükség, mert az Intel processzoraiban egy olyan tervezési hibára lettek figyelmesek, amelyet nem lehetett szimplán mikrokódfrissítéssel megoldani, így magasabb szinten, vagyis lényegében az operációs rendszeren belül kellett javítani a problémát. Itt alapvetően arról van szó, hogy a Linux (és más modernebb operációs rendszerek) korábban úgy dolgoztak, hogy a felhasználói szintű kódok, vagyis az alkalmazások futtatásakor a teljes kernelmemória leképezésre került a laptáblákba, miközben persze védve volt. Ennek az az előnye, hogy ha az adott alkalmazás például egy rendszerhívást intéz a kernel felé, akkor az gyorsan elérhető, tehát az esetleges kontextusváltásból eredő többletterhelések nagy hatékonysággal iktathatók ki. A fenti modell kialakításában sokat segített az ASLR (address space layout randomization) technika, amit még az előző évtizedben fejlesztettek ki, és ez megnehezítette a kernel oldali sebezhetőségek kihasználását. Az Intel processzoraiban azonban egy olyan hardveres hiba van, ami lehetővé tesz bizonyos külső támadásokat, amelyek magát az implementációt érintő hardveres problémákat kihasználva hozzáférhetnek a memóriában tárolt adatokhoz, ezen belül is a kernelmemóriához. Lényegében a fentiek miatt készült el a kernel laptábla izolációja, ami gyakorlatilag teljesen elszeparálja a felhasználói és a kernelszintű laptáblákat, aminek a hátránya a megnövekedő többletterhelés. Persze az újabb Intel processzorokkal a TLB, vagyis a translation lookaside buffer kiürítése elkerülhető a PCID-t (process context identifiers) használva, de az egyéb többletterhelések már nem, így azoknál az alkalmazásoknál, amelyek viszonylag sok rendszerhívást vagy megszakítást igényelnek, a teljesítmény akár 30%-kal is eshet. Az ebből a szempontból finomabb munkafolyamatok során nagyjából 5%-os tempóvesztéssel lehet számolni. A Windows is megkapja a javítást hamarosan. Minden bizonnyal hasonló megoldásról lesz szó, mint a Linux esetében, és a teljesítményveszteség is nagyjából megegyező lehet.

Az AMD processzorai technikai értelemben nem érintettek, ugyanis a kernel laptábla izolációját csak Intel processzorok mellett érdemes használni, mivel az AMD architektúrái nem engedélyezik az olyan memóriareferenciákat, amelyek magasabb szinten privilegizált adathoz férnének hozzá alacsonyabb szintű privilegizált módban való futtatás során. Emiatt a kernel laptábla izolációjának az AMD processzorain nincs pozitív hatása, csupán a teljesítményt csökkentené le. Az összeesküvés elméleteket szövögetők körében felmerült, hogy az Intel valószínűleg megpróbálja majd elérni, hogy az operációs rendszereket fejlesztő partnerei a javítást általánosan alkalmazzák, így hiába nem érinti az AMD processzorokat, úgy jöhetnek ki a legjobban az eseményekből, ha konkurens megoldások is megkapják a javítással járó 5-30%-os sebességbüntetést. Többek között a legújabb frissítésben minden x86/AMD64-es processzor egységesen van kezelve, függetlenül attól, hogy hibás-e a hardver vagy sem, azaz mindegyik lassulhat majd. Az AMD nyilván azt fogja szorgalmazni, hogy a saját processzoraikra egyáltalán ne élesítsék ezt, mert számukra értéktelen fejlesztésről van szó, miközben – a frissítés jellege miatt – rengeteg teljesítményt vesztenek vele.

Addig is, amíg az AMD által igényelt változtatás beolvasztásra nem kerül, a kernel laptábla izoláció letiltásának egyik legegyszerűbb módja a Linux kernel "-nopti" paraméterrel való indítása a bootoláskor. Ezzel a felhasználó szabadon megválaszthatja, hogy él-e felhasználói és a kernelszintű laptáblák elszeparálásával vagy nem. AMD processzor esetén lényegében érdemes nopti módban bootolni, míg Intel processzorral kifejezetten nem ajánlott, noha technikailag ez is kivitelezhető. Nyilván nopti módban a teljesítménydeficittel nem kell számolni, de az inteles gépeknél figyelni kell arra, hogy ilyenkor a hardveres hiba kihasználható, így támadhatóvá válik a rendszer. A probléma leginkább az adatközpontokat érinti, ugyanis a sebezhetőséget kihasználva egyszerűen hozzáférhetővé válnak a felhasználók által használt memóriaterületek. Az Intel egyelőre nem adott ki tájékoztatót az ügyben, ahogy dokumentáció sem készült még a problémáról, mely egyben azt is jelzi, hogy a javítás rendkívül gyorsan és csendben születhetett meg. Valószínűleg később lesz majd egy bővebb felvilágosítás, várhatóan akkor, amikor a Windows operációs rendszer is megkapja a frissítést.

Az érintett intel CPU-k: A 45 és 32 nm-es Core i3, i5, i7 és Core M; a 2., 3., 4., 5., 6., 7. és 8. Core i processzorok; az X99 és X299 platformú Core X- sorozatúak; a Xeon 3400, 3600, 5500, 5600, 6500, 7500 sorozatúak; a Xeon E3-ak a v6-os változatig, a Xeon E5-ök és E7-ek a v4-es változatig; Xeon Scalable processzorcsalád tagjai; a Xeon Phi 3200, 5200, 7200 sorozatúak; az Atom C, E, A, x3, Z sorozatúak, a Celeronok és Pentiumok J és N sorozatúi.

A legújabb felmérések szerint a személyi számítógépek felhasználói nem fogják megérezni a hibajavítással érvénybe lépő lassulást. A javítást érvényesített Linux rendszerek esetében a lassulás kisebb volt a mérési hibakorláttól, vagyis jelentéktelen, olyan mért játékokkal, mint: a Dota 2, Counter-Strike: Global Offensive, Deus Ex: Mankind Divided, Dawn of War III, F1 2017, The Talos Principle egy Linux 4.15-rc6 rendszerrel működtetett Core i7-8700K és AMD Radeon Vega 64-gyel szerelt gépen. Egyik játék sem használta a DirectX-et.

Az egész eset perfektebb és kevésbé felárazott processzorok megjelenését eredményezheti, pedig a "drágább, ám biztonságosabb" címszavakkal az eddigiek során inkább az Intel termékeit lehetett jellemezni. A Meltdown úgyhírlik befoltozták és már nem jelent veszélyt, ám a Spectre ki tudja még hányszor fúrhat lyukakat a foltjain a jövőben? Támadási módszerinek modifikációi megkerülhetik-e a majd foltozásokat? Lehet, csak újból tervezett processzorokkal háríthatóak el effektíven a támadások, ám, a múlt példáján okulva, annak ellenére, hogy a processzorgyártók perfekt proceszorok piacra bocsátására törekedtek, az amerikai állambiztonsági szervek és a konkurens vállalatok, akik részvényt vásároltak a cégeknél, úgy tűnik fenntartották a jogot, hogy mindegyiknél egy hátsó kaput nyithassanak, és ki tudja mekkora eséllyel ismételehetik meg a processzortervek "felülvizsgálatát" ez után, tekintve, hogy éppen ők, a konkurens cégek vásárolhatták fel jelenleg a piacra dobott részévények egy részét, a részvényárfolyam zuhanásakor.

Magyar ember Magyar Szót érdemel