Shop menü

L1 TERMINAL FAULT: ÚJ SEBEZHETŐSÉG AZ INTEL PROCESSZORAIBAN

A Foreshadow néven emlegetett sebezhetőség szinte minden Intel processzorral szerelt rendszert érint, de az Intel szerint már rendelkezésre állnak a védelmet nyújtó frissítések és a szükséges mikrokódok is, amelyek segítenek a biztonság helyreállításában.
Víg Ferenc (J.o.k.e.r)
Víg Ferenc (J.o.k.e.r)
L1 Terminal Fault: új sebezhetőség az Intel processzoraiban

Az Intel processzorainál egy újabb biztonsági rést talált néhány biztonságtechnikai kutató, akik egyetemi kutatókkal együttműködve dolgoztak a jelenség feltárásán. A Spectre jellegű, vagyis a spekulatív végrehajtást támadó sebezhetőségnek háromféle változata van, amelyek más és más kódnév alatt futnak: kettő a normál konfigurációkat érinti, a harmadik pedig a virtualizációt használó adatközpontokra lehet veszélyes, ahol egy processzormagon két vendég operációs rendszer osztozik, hála a HT támogatásnak.

Miről van szó?

A Foreshadow kódnévre keresztelt sebezhetőség három típusát az alábbi felsorolás tartalmazza, természetesen az összes használatban lévő névvel együtt.

  • L1 Terminal Fault SGX: CVE-2018-3615, azaz Foreshadow
  • L1 Terminal Fault OS/SMM: CVE-2018-3620, azaz Foreshadow-NG
  • L1 Terminal Fault VMM: CVE-2018-3646, azaz Foreshadow-NG

A fenti három sebezhetőség esetében feltétlenül ki kell emelni, hogy mindegyik kiaknázásához helyi felhasználói hozzáférésre van szükség, de a veszélyességük miatt így is magas besorolást kaptak, azaz komoly biztonsági kockázatot jelentenek. A kutatók természetesen időben értesítették az Intel szakembereit, így most, mikor a legújabb biztonsági résre fény derül, már rendelkezésre állnak mikrokód-frissítések, operációs rendszer szintű frissítések, illetve a virtualizációt biztosító Hypervisorok esetében is rendelkezésre áll a védekezésre alkalmas frissítés.

Ha az adott helyzet megköveteli, a HT támogatás letiltásával kihúzható az L1TF sebezhetőség méregfoga, igaz, ez a teljesítmény jelentős csökkenésével jár – minden érintettnek a saját helyzete alapján kell mérlegelnie, milyen szükséges lépéseket kell megtennie a biztonság növelése érdekében. Utóbbi megoldás azoknál a virtualizációra támaszkodó rendszereknél lehet szükséges, ahol nem biztonságos vendég operációs rendszerek is futnak a kiszolgálón – például ha nincsenek frissítve.

Hogyan támadják az L1 Cache-t?

Amikor egy alkalmazás hozzá szeretne férni egy bizonyos adathoz, ami a memóriában foglal helyet, a rendszer fordítást végez a logikai (virtuális) és a fizikai memóriacím között. Amennyiben a fordítás során kiderül, hogy az adott logikai vagy lineáris cím nincs hozzárendelve egy fizikai címhez az adott hardveren, hiba történik (terminal fault). A feldolgozás gyorsítása végett azonban a rendszer nem várja meg, míg a virtuális címből fizikai lesz (ez ugyanis elég sokáig eltarthat), hanem mint az elágazásbecsléseknél, betippeli, hogy márpedig ott van az adat a gyorsítótárban, és elkezd vele dolgozni. Amennyiben kiderül, hogy nincs a memóriában az adat, és hibás adatokkal dolgozott a processzor, akkor természetesen, mint egy rossz elágazásbecslésnél, kukázza az addig megcsinált műveleteket és újrakezdi a munkát a már jó adatokkal. Az L1 Terminal Fault viszont pont ezt a spekulatív működést használja ki, hogy a processzor elkezd dolgozni, kis túlzással olyasmin, amiről azt sem tudja biztosan mi az. Az L1 gyorsítótárban lévő adat így kinyerhető egy oldalcsatornás támadással, hasonlóan a Meltdownhoz, csak itt nem az elágazásokat támadják.

A kutatók szerint négy esetnél szükséges az operációs rendszer szintű javítás elvégzése.

  • Azoknál a memórialapoknál, ahol nincs érvényes hozzárendelés
  • Azoknál a memórialapoknál, amelyek időközben más adattárolóra lettek átmozgatva – például memóriahiány miatt
  • Azoknál a memórialapoknál, amelyeknél az alkalmazás kérte az operációs rendszert a hozzáférés letiltásátta
  • Azoknál a memórialapoknál, amelyek éppen átmeneti állapotban vannak, vagyis ahol az operációs rendszernek a hozzáférés ideiglenes blokkolására van szüksége

A Foreshadow első változata az Intel SGX technológiáját támadja, amelynek pont az a feladata, hogy védje a kényes adatokat. A sebezhetőségen keresztül a támadó kinyerheti az SGX lezáró kulcsokat, így az előzőleg lezárt adatokat módosíthatja és újra lezárhatja. A kulcsok birtokában a támadó érvényes MAC (Message Authentication Code) számítására is képes, így az adatok tulajdonosa nem veszi észre a módosításokat. Ezzel a módszerrel kényes felhasználói adatokhoz juthat a hacker az L1 adatgyorsítótáron keresztül.

Bemutató a sebezhetőség kiaknázásáról

A kutatók szerint Foreshadow-NG névre keresztelt sebezhetőségen keresztül az adott rendszeren futó kártékony kód hozzáférhet egyes kernel adatrészekhez. Mivel a kernel hozzáférhet az egyéb alkalmazások által tárolt adatokhoz, így a kártékony kód a sebezhetőséget kiaknázva más alkalmazások adatait is olvashatja, ami igen komoly problémákat okozhat.

Mely processzorok vannak veszélyben?

Az Intel hivatalos weboldala szerint az alábbiak, gyakorlatilag az elmúlt 10-15 év minden modellje.

  • Intel® Core™ i3 processor (45nm és 32nm)
  • Intel® Core™ i5 processor (45nm és 32nm)
  • Intel® Core™ i7 processor (45nm és 32nm)
  • Intel® Core™ M processor family (45nm and 32nm)
  • 2nd generation Intel® Core™ processors
  • 3rd generation Intel® Core™ processors
  • 4th generation Intel® Core™ processors
  • 5th generation Intel® Core™ processors
  • 6th generation Intel® Core™ processors **
  • 7th generation Intel® Core™ processors **
  • 8th generation Intel® Core™ processors **
  • Intel® Core™ X-series Processor Family for Intel® X99 platforms
  • Intel® Core™ X-series Processor Family for Intel® X299 platforms
  • Intel® Xeon® processor 3400 series
  • Intel® Xeon® processor 3600 series
  • Intel® Xeon® processor 5500 series
  • Intel® Xeon® processor 5600 series
  • Intel® Xeon® processor 6500 series
  • Intel® Xeon® processor 7500 series
  • Intel® Xeon® Processor E3 Family
  • Intel® Xeon® Processor E3 v2 Family
  • Intel® Xeon® Processor E3 v3 Family
  • Intel® Xeon® Processor E3 v4 Family
  • Intel® Xeon® Processor E3 v5 Family **
  • Intel® Xeon® Processor E3 v6 Family **
  • Intel® Xeon® Processor E5 Family
  • Intel® Xeon® Processor E5 v2 Family
  • Intel® Xeon® Processor E5 v3 Family
  • Intel® Xeon® Processor E5 v4 Family
  • Intel® Xeon® Processor E7 Family
  • Intel® Xeon® Processor E7 v2 Family
  • Intel® Xeon® Processor E7 v3 Family
  • Intel® Xeon® Processor E7 v4 Family
  • Intel® Xeon® Processor Scalable Family
  • Intel® Xeon® Processor D (1500, 2100)

** Ezeket a modelleket az SGX (CVE-2018-3615) sebezhetőség veszélyezteti

Hogyan lehet védekezni?

Egyrészt folyamatosan frissen kell tartani az adott operációs rendszert, vagyis minden érkező biztonsági frissítést telepíteni kell, ugyanakkor az esetleges mikrokód-frissítésekre is figyelmet kell fordítani, azaz BIOS frissítésre is szükség van. Szoftver terén megoldás az IA32_FLUSH_CMD (MSR 0x10B) regiszter használata, amelyen keresztül bizonyos jogosultság-váltások során kiüríthető az elsőszintű adat-gyorsítótár tartalma.

A sebezhetőség elleni frissítések az Intel szerint már elérhetőek, így a támadási felület könnyedén és gyorsan csökkenthető. Az Intel szerint a korábbi frissítésekkel ellentétben az L1TF sebezhetőséget javító kódok nem okoznak észrevehetőteljesítménycsökkenést, ami mindenképpen jó hír. Az L1TF sebezhetőséggel kapcsolatos további tudnivalók az Intel hivatalos weboldalán olvashatók.

Neked ajánljuk

    Tesztek

      Kapcsolódó cikkek

      Vissza az oldal tetejére