A CPU sebezhetősége mostanában nagy divat volt, a Zenbleed és a Downfall pedig a két újabb keletű. De mennyire kell aggódnia?
A CPU sebezhetőségeiről az utóbbi években gyakran hírt adnak, és gyakran elég ijesztő üzenetet hordoznak, amikor nyilvánosságra hozták őket. Abban az esetben Zenbleed és Bukás, az volt, hogy a számítógépén lévő bármely alkalmazás hozzáférhet bármely más, megfelelő körülmények között futó program memóriájához. Intenzíven hangzik, igaz?
Ez azonban nem olyan rossz, mint amilyennek látszik. Nyilvánvalóan elég jelentős ahhoz, hogy indokolja a nyilvánosságra hozatalt és a szoftverfrissítést a hibák kijavításához, még a teljesítmény árán is, de pontosan mi okozza ezeket a biztonsági problémákat? Aggódnia kell?
Kell-e aggódnia a CPU-sebezhetőségek miatt, mint például a Zenbleed, a Downfall és az Inception?
Hogy őszinte legyek, ezek a kizsákmányolások egyike sem érinti az emberek túlnyomó többségét. Noha adatokat szivárogtathatnak ki egyik programból a másikba, a fogyasztó gépén lévő bármely rosszindulatú program már nagy hozzáféréssel rendelkezik, amellyel visszaélhet. Ehelyett, ahol ezek a támadások különösen aggasztóak, az a számítási felhő kontextusában van.
A probléma megértéséhez meg kell értenie, hogy sok különböző felhőszerver egyszerűen számítógépek nagy lóerővel, nagy hálózati sávszélességgel és néhány egyéb speciális hardverrel, ha kívánt. Sok vállalat bérel úgynevezett VPS-t vagy virtuális magánszervert, amelyek korlátozott teljesítményű virtualizált gépek, amelyek felé több tucat más virtuális gép is futhat.
Ahol ez probléma lehet, az az, hogy egy virtuális gépen egy személy végrehajthatja az egyiket sérülékenységeket, betekintést nyerve abba, hogy milyen adatok áramlanak át a processzoron, beleértve a mástól származó adatokat is virtuális gépek. Ez nem lehetséges, és a biztonság súlyos megsértése. Éppen ezért, amikor a Zenbleed nyilvánosságra került, már voltak javítások az AMD Epyc processzoraihoz, amelyek a szerverhasználatot célozzák.
Jelenleg a CPU legsúlyosabb sebezhetősége
A sérülékenységek "rangsorolásának" és súlyosságának ipari szabványa a Common Vulnerability Scoring System (CVSS) rendszeren keresztül történik. A súlyosság mennyiségi mérőszáma, mivel a sérülékenység különböző aspektusai befolyásolják a pontszámot. A méréseket a következők figyelembevételével végzi:
- Támadás vektor: Hálózati/Szomszédos/Helyi/Fizikai
- A támadás összetettsége: Alacsony magas
- Kiváltságok szükségesek: Nincs/Alacsony/Magas
- Felhasználói interakció: Nincs/kötelező
- Hatály: Változatlan/Módosítva
- Titoktartás: Nincs/Alacsony/Magas
- Sértetlenség: Nincs/Alacsony/Magas
- Elérhetőség: Nincs/Alacsony/Magas
Mindezek osztályozzák a hiba súlyosságát. Például egy sebezhetőség, amely hálózaton keresztül hajtható végre alacsony bonyolultsággal, nincs szükség jogosultságokra, nincs felhasználói interakció, megváltozott hatókörrel, A magas szintű adatszivárgás, az adatok integritásának nagyfokú megsértése és a rendelkezésre állásra gyakorolt nagy hatás a CVSS 3.1-ben tökéletes 10 pontot ér, ami a legmagasabb pontszám lehetséges.
Ezzel a mérőszámmal felmérhetjük, hogy a Zenbleed és a Downfall milyen károkra képes. Spoiler: Ugyanazok, bár különböző CPU-kat érintenek. Ezért, miközben bepontoznak egy bizonyos összeget A sérülékenységek összefüggésében különböző mennyiségű terméket érinthetnek, és ez nem lesz hatással azokra pontszám. A CVSS pontszámok alapvetően csak osztályozásra vonatkoznak, de nem mondják el a teljes történetet.
Zenbleed: 6,5 (közepes)
- Támadás vektor: Helyi
- A támadás összetettsége: Alacsony
- Kiváltságok szükségesek: Alacsony
- Felhasználói interakció: Egyik sem
- Hatály: Megváltozott
- Titoktartás: Magas
- Sértetlenség: Egyik sem
- Elérhetőség: Egyik sem
Magyarázat: A támadási vektor helyi hozzáférést igényel a géphez (ahogyan a gépen fut), ugyanakkor nincs hatással a gépen lévő adatok integritására vagy elérhetőségére. Azonban megváltoztatja a hatókört (azaz a jogosultságain túlmutató erőforrásokat is érint) és a támadás összetettségét, és a végrehajtáshoz szükséges jogosultságok alacsonyak. Ezenkívül teljes mértékben sérti a gépen lévő információk bizalmas kezelését.
Esés: 6,5 (közepes)
- Támadás vektor: Helyi
- A támadás összetettsége: Alacsony
- Kiváltságok szükségesek: Alacsony
- Felhasználói interakció: Egyik sem
- Hatály: Megváltozott
- Titoktartás: Magas
- Sértetlenség: Egyik sem
- Elérhetőség: Egyik sem
Magyarázat: A támadási vektor helyi hozzáférést igényel a géphez (ahogyan a gépen fut), ugyanakkor nincs hatással a gépen lévő adatok integritására vagy elérhetőségére. Azonban megváltoztatja a hatókört (azaz a jogosultságain túlmutató erőforrásokat is érint) és a támadás összetettségét, és a végrehajtáshoz szükséges jogosultságok alacsonyak. Ezenkívül teljes mértékben sérti a gépen lévő információk bizalmas kezelését.
Kezdés: 5,6 (közepes)
- Támadás vektor: Helyi
- A támadás összetettsége: Magas
- Kiváltságok szükségesek: Alacsony
- Felhasználói interakció: Egyik sem
- Hatály: Megváltozott
- Titoktartás: Magas
- Sértetlenség: Egyik sem
- Elérhetőség: Egyik sem
Magyarázat: A támadási vektor helyi hozzáférést igényel a géphez (ahogyan a gépen fut), ugyanakkor nincs hatással a gépen lévő adatok integritására vagy elérhetőségére. Azonban megváltoztatja a hatókörét (azaz a jogosultságain túlmutató erőforrásokat is érint), a támadás összetettsége magas, a végrehajtáshoz szükséges jogosultságok pedig alacsonyak. Ezenkívül teljes mértékben sérti a gépen lévő információk bizalmas kezelését.
Színkép: 5,6 (közepes) (foltozott)
A spektrum, annak ellenére, hogy elterjedtebb jelenség, valójában pontoz Kevésbé mint a Zenbleed és a Downfall. Ez annak köszönhető, hogy a támadás összetettségét "Magas"-nak nevezték el, ami csökkentette a pontszámát.
- Támadás vektor: Helyi
- A támadás összetettsége: Magas
- Kiváltságok szükségesek: Alacsony
- Felhasználói interakció: Egyik sem
- Hatály: Megváltozott
- Titoktartás: Magas
- Sértetlenség: Egyik sem
- Elérhetőség: Egyik sem
Magyarázat: A támadási vektor helyi hozzáférést igényel a géphez (ahogyan a gépen fut), ugyanakkor nincs hatással a gépen lévő adatok integritására vagy elérhetőségére. Azonban megváltoztatja a hatókörét (azaz a jogosultságain túlmutató erőforrásokat is érint), a támadás összetettsége magas, a végrehajtáshoz szükséges jogosultságok pedig alacsonyak. Ezenkívül teljes mértékben sérti a gépen lévő információk bizalmas kezelését.
Olvadás: 5,6 (közepes) (foltozott)
A Spectre-hez hasonlóan a Meltdown is alacsonyabb pontszámot ér el, mint a Zenbleed és a Downfall, a nagyobb támadási összetettség miatt.
- Támadás vektor: Helyi
- A támadás összetettsége: Magas
- Kiváltságok szükségesek: Alacsony
- Felhasználói interakció: Egyik sem
- Hatály: Megváltozott
- Titoktartás: Magas
- Sértetlenség: Egyik sem
- Elérhetőség: Egyik sem
Magyarázat: A támadási vektor helyi hozzáférést igényel a géphez (ahogyan a gépen fut), ugyanakkor nincs hatással a gépen lévő adatok integritására vagy elérhetőségére. Azonban megváltoztatja a hatókörét (azaz a jogosultságain túlmutató erőforrásokat is érint), a támadás összetettsége magas, a végrehajtáshoz szükséges jogosultságok pedig alacsonyak. Ezenkívül teljes mértékben sérti a gépen lévő információk bizalmas kezelését.
A legnagyobb ok: Elágazás előrejelzése
Forrás: AMD
Az elágazás előrejelzése és a spekulatív végrehajtás általánosságban arra utal, amikor a számítógép olyan műveleteket hajt végre, amelyekre jelenleg nincs szükség, de a következő ciklusokban. Ezt gyakran megteszik olyan időkben, amikor a rendszernek szabad erőforrásai vannak, mivel felgyorsítja az általános feldolgozást, amikor az utasítások vagy adatok egyébként még nem lennének készen a CPU számára. Ha az elvégzett munkára nincs szükség, általában eldobják, és a processzor visszaugorhat oda, ahol kell, hogy végrehajtsa a következő helyes utasítást. Amikor ezt megteszi, ezt elágazási téves előrejelzésnek nevezik.
Az elágazási előrejelzők alaposabb megértéséhez képzeljünk el egy olyan forgatókönyvet, amelyben egy program következetesen ugyanazt a két számot adja hozzá a végrehajtása során. Egy bizonyos szakaszban a processzor felismerheti ezt a mintát, és előkészítheti a következő lépéseket, ha a két szám összeadásának módszerét újra meghívnák. Ha ez az eredmény valamikor megváltozik, még akkor is, ha a processzor ugyanazt a két számot azonosnak tervezte, akkor a találgatás kidobásra kerül, és a tényleges végrehajtási folyamat váltja fel. Azonban arra az időre, amíg azok a számok vannak ugyanaz, akkor a processzor gyorsan átugorhatja ezeket az utasításokat.
Sok probléma merül fel azonban a spekulatív végrehajtással kapcsolatban, és ennek eredményeként olyan sérülékenységek keletkeznek, mint a Spectre, Zenbleed, Downfall és még sok más. Ez egy erőteljes funkció, amelynek köszönhetjük a mai CPU teljesítményét, de ez a fő célpont, amikor a kutatók a CPU-k sebezhetőségeit keresik.
Mérséklés: teljesítményt gátló
Ezeknek a sebezhetőségeknek a csökkentése rendkívül fontos, de a probléma az, hogy ezek a csökkentések gyakran megterhelik a teljesítményt. Az AMD legújabb Zenbleed-je esetében a mérséklés hatalmas teljesítménybeli többletköltséget jelenthet.
Ennek az az oka, hogy az egyetlen valódi megoldás az érintett processzor elágazás-előrejelzőjének letiltása vagy megváltoztatása. Ugyanez a teljesítménysláger található az Intel bukásának enyhítésében, a korai jelentések akár 39%-os teljesítményhatással is rendelkeznek. Epikus játékok egykor híresen megosztott CPU-kihasználtsági grafikonok a Meltdown sebezhetőségének nyilvánosságra hozatala után, és azt, hogy ezek a mérséklések mekkora hatással voltak a vállalat CPU-használatára. A CPU-használat jelentős növekedést mutatott, ahogy az várható volt. A dolgok ijesztővé válnak az AMD Inception javításával, a teljesítmény akár 54%-kal is csökkent.
Mivel az ehhez hasonló sérülékenységek a processzor alapvető funkcióit érintik, nehéz valóban kijavítani őket az alapvető funkciók letiltása vagy súlyos csorbítása mellett. A spekulatív végrehajtás hihetetlenül fontos, és ezeket az enyhítéseket sok ember fogja érezni. A játékteljesítmény kevésbé megjósolható, így ha számítógépe elsődleges felhasználása a játék, akkor lehet rendben, mivel a számítógép nem tud annyi előrejelzést adni, de ezek a problémák sokkal nagyobb méreteket öltenek rendszerek.
A jövőbeli processzorokat érinti?
Szerencsére mind az Intel Downfall, mind a Zenbleed esetében ezek a kihasználások a régebbi processzorokat érintik. Újabb processzorok mindkét cég biztonságban van, és egyelőre nincs ok aggodalomra. Általában egy jelentős átalakítás az, ami végül megoldja ezeket a problémákat. A Spectre például érintette az Intel nyolcadik és kilencedik generációs CPU-it, de a kilencedik generáció a végrehajtott szoftverjavítások hardveres verzióját is magában foglalta. teljesítőslágerrel kiegészítve. Az Intel 10. generációja továbbra is biztonságos volt, de ezek a mérséklő intézkedések már nem befolyásolták a teljesítményt.
Ennek eredményeként, mivel mind a Downfall, mind a Zenbleed már javítva volt a megfelelő processzorok legújabb verzióiban, a felhasználóknak nem kell aggódniuk. Természetesen mindig lehet még több sebezhetőséget felfedezni, de ebben az időpontban biztonságban vagy.