Mik a Spectre és Meltdown sebezhetőségei?

click fraud protection

A 2010-es években a legtöbbet nyilvánosságra hozott sebezhetőségek közül kettő nagyon szorosan összefüggött egymással. A Spectre és a Meltdown ahelyett, hogy a szoftverek biztonsági rései lennének, a CPU-k alapvető kialakításának sebezhetősége, ami megnehezíti a probléma megoldását. Maguk a problémák különösen súlyosak, lehetővé téve a memória felfedését más alkalmazásokból és az operációs rendszerből.

Áttekintés

A CPU-k hihetetlenül fejlett tervezést használnak a legmagasabb teljesítmény elérése érdekében, beleértve a spekulatív végrehajtást és az elágazás előrejelzését is. A spekulatív végrehajtás során a CPU elindít egy folyamatot, mielőtt rájönne, hogy kell-e, hogy időt takarítson meg, amikor megállapítja, hogy kell. Az elágazás előrejelzése a spekulatív végrehajtás egy részhalmaza, amely megpróbálja megjósolni egy folyamat kimenetelét, majd elkezdi kiszámítani a következő lépést az előrejelzett érték alapján, lehetővé téve a CPU számára, hogy utasításokat hajtson végre rendelés.

A Spectre biztonsági rése e két szolgáltatás megvalósításából származik. Lehetővé teszi az alkalmazások számára, hogy megsértsék a legtöbb modern szoftverbe beépített memórialeválasztási technikát, amely lehetővé teszi a memória felfedését, beleértve a titkokat, például a jelszavakat és a titkosítási kulcsokat. A Spectre egyik problémája, hogy az adatokhoz olyan alkalmazásokból is hozzá lehet férni, amelyek nem rendelkeznek semmilyen biztonsági réssel, mivel csak rosszindulatú programra van szükség.

A Meltdown sebezhetőség bizonyos memóriatechnikákon, valamint a fent említett spekulatív végrehajtási rendszeren alapul. „Versenyfeltételt” használ a folyamat végrehajtása és a jogosultságellenőrzés között, és lehetővé teszi a rosszindulatú programok számára, hogy hozzáférjenek más alkalmazások és az operációs rendszer memóriájához.

Tipp: A „versenyfeltétel” olyan probléma, amikor az egyik feladatnak egy másikra kell támaszkodnia, de a helyes végrehajtási sorrend nem érvényesül. Ez azt eredményezheti, hogy a „második” folyamat fut először, és inicializálatlan memóriát használ, amelynek az „első” folyamat eredményét kellett volna tartalmaznia, és kiszivárogtatja a memória korábbi tartalmát. Ebben a konkrét esetben a folyamatnak nem szabad lefutnia mindaddig, amíg az engedélyek ellenőrzése nem igazolta, hogy engedélyezve van-e, de a teljesítményoptimalizálás miatt az engedélyek ellenőrzése megtörténhet a második helyen.

Hatások

2017 közepén több csapat egymástól függetlenül fedezte fel a Meltdown-t és a Spectre-t, és privátban jelentette a javításokat kifejlesztő CPU-gyártóknak. A teljesítményoptimalizálást célzó javítások miatt végül akár a CPU-k teljesítményét is csökkentették. 30%-os a legrosszabb forgatókönyvben, a 2-14%-os teljesítménycsökkenés pedig inkább az emberek tapasztalatokat.

A biztonsági rések számos x86-os CPU-t, IBM POWER CPU-t és néhány ARM-alapú CPU-t érintettek. Az összeomlás a személyi számítógépekben és a felhőkiszolgálókon jellemző hardvert is érinti. A Spectre érinti a személyi számítógépeket, a felhőszervereket és a mobileszközöket. 1995-től 2018 közepéig az összes Intel CPU sebezhető volt a problémákkal szemben (a 2013 előtti Itanium és Atom vonalak kivételével). Az AMD CPU-kat nem érintette a Meltdown, de a Spectre sebezhetőek voltak.

Az operációs rendszer szolgáltatói által kifejlesztett szoftverjavító javítások a problémák többségét megoldják. 2018 közepe óta az Intel frissítette a CPU kialakítását, hogy hardveres megoldásokat tartalmazzon a problémákra.

Mindkét probléma kihasználható rosszindulatú weboldalakon keresztül kialakított JavaScripttel, ezért nagyon fontos győződjön meg arról, hogy a biztonsági javítások minden rendszeren telepítve vannak, még akkor is, ha a teljesítmény csökken szigorú. Sajnos a problémákat nem lehet egyetlen javítással orvosolni, mivel rendkívül összetett problémákról van szó A hardverbe való integrációt követően a biztonsági javítások idővel az újabb változatokhoz hasonlóan folyamatosan megjelennek felfedezték.