2018. május 23., szerda

Gyorskeresés

Útvonal

Cikkek » Biztonság rovat

Így javítsd ki a súlyos processzorhibákat!

Gyakorlati útmutató ahhoz, hogy a közelmúltban feltárt, processzorokkal kapcsolatos sérülékenységeket milyen módon lehet biztonságosan befoltozni.

Bevezető és hibaleírás

Az elmúlt hetekben néhány sebezhetőség tartotta lázban a nemzetközi és hazai sajtót, valamint a biztonsági szakértőket. Ezek közül kiemelkedik a modern processzorokkal kapcsolatos hibák és azok kihasználása, amelyek a Spectre és Meltdown nevet (logókat), sőt weboldalt is kapták, valamint az Intel Management Engine novemberben nyilvánosságra hozott hibái.

A Spectre nevű sérülékenység két hibája többé-kevésbé minden modern processzort, a Meltdown pedig az Intel elmúlt 10 évben megjelent valamennyi processzorát és néhány erősebb ARM processzort érint – lehetővé téve adatszivárgást. Az Intel Management Engine sebezhetőségei pedig távoltól teszik elérhetővé a gépet. Mindegyik hibára született már több-kevesebb hibajavítás, ezek telepítése elengedhetetlen lesz a jövőben a számítógépek biztonságos üzemeltetéséhez.

A Spectre és Meltdown hibák a megfelelő operációs rendszeri javítások vagy új kernel telepítése telepítésével, a szoftverek frissített változatának telepítésével, valamint a számítógép alaplapi BIOS-ának frissítésével oldható meg.

Akit nem érdekelnek a technikai részletek, az alábbi fejezetet hagyja ki nyugodtan, és olvassa el, hogyan lehet ellenőrizni és végső soron elhárítani a sérülékenységet a saját rendszereiben.

Spectre és Meltdown

Tehát az elmondható, hogy aki ma számítógépet használ az érintett a sérülékenységekben. A Spectre és Meltdown hibák lehetővé teszik, hogy a rosszindulatú kódot futtató felhasználó adataihoz illetéktelenek férjenek hozzá; felhasználói programok elérjék a rendszermemória – elvben elérhetetlen – részeit, olvassák a kernel és más futó programok által bizalmas információt is tároló memóriacímeit, vagy virtualizált környezetben a vendéggépek a hostgépek vagy a többi vendéggép memóriaterületeit. Fontos megjegyezni, hogy jelenleg nincs szabadon olyan kód, amely ezeket a sebezhetőségeket használná ki. Ennek ellenére érdemes a frissítéseket minél hamarabb telepíteni. Az 1-es és 2-es sérülékenységeket összefoglaló néven Spectre-nek keresztelték el a biztonsági kutatók, míg a 3-as sérülékenység Meltdown néven került nyilvánosságra:

  • 1-es hiba: bounds check bypass (CVE-2017-5753) – Minden egyes bináris érintett lehet. Az adott alkalmazások és a kernel javításával, valamint új futtatható állományok, programkönyvtárak megfelelő újrafordításával javítható a hiba. Az új kód a LFENCE opkód megfelelő használatával tehető biztonságossá. A hibajavítás hatása a teljesítményre minimális
  • 2-es hiba: branch target injection (CVE-2017-5715) – Javítható alacsony (1-es megoldás) vagy közepes teljesítményveszteség (2-es megoldás)árán:
    • 1-es megoldás: CPU mikrokódfrissítéssel és a frissítet fordítók használatával újrafordított alkalmazásokkal, programkönyvtárakkal és kernellel
    • 2-es megoldás: kizárólag szoftveres megoldással a Retpoline technikát használó frissített fordítók és ezzel újrafordított alkalmazásokkal, programkönyvtárakkal és kernellel
  • 3-as hiba: rogue data cache load (CVE-2017-5754) – Az érintett processzoroknál operációs rendszer javításával – ahogy arról már beszámoltunk: teljesítményvesztés mellett – elkerülhető:
    • Linuxnál: KPTI (Kernel Page Table Isolation) nevű patch-készlet foglalkozik a hiba korrigálásával
    • a Microsoft a 2018. januári hibajavítással
    • az Apple az iOS 11.2, a macOS 10.13.2, és a tvOS 11.2 kiadásokban javítja a hibát
    • a Google az Android 2018. január 5-i biztonsági hibajavítással foltozza be a hibát

A hibák abból a szempontból is nagyon kellemetlenek, hogy a CPU-k láthatóan még mikrokódfrissítéssel sem mindig javíthatók. Így a meglévő hibás mechanizmusokat szoftveres javításokkal kell körül bástyázni, amelynek hatására – a felhasználási területtől függően – akár jelentős, 5-30%-os teljesítménycsökkenés tapasztalható a Meltdown hiba esetében, főleg I/O intenzív alkalmazások esetén. A hibák érintik a mobil eszközöket, számítógépeket, a szerveres és a felhős infrastruktúrákat is. Az információszivárgás megvalósulhat egy számítógépen belül, azaz:

  • a rossz szándékú programok elérhetik más programok által memóriában tárolt adatokat
  • a virtuális gépen futó rossz szándékú programok elérhetik más virtuális gépek és a host memóriájában tárolt adatokat

A megtalált hibák lényegében a mai modern processzorok sebességét hozó fő ütőkártyák jellegzetességeit használják ki:

  • a spekulatív végrehajtást, azaz a CPU egy programban megszabott feltételes elágazást biztosító programsorait, a döntéshez szükséges adat adott pillanatban lévő hiánya miatt – becslés alapján – előre elkezdi végrehajtani – ezt használja ki a Spectre
  • valamint azt a jellegzetességet, hogy a modern processzorok sebességre optimalizáltan, és nem sorrendben hajtják végre az utasításokat (out-of-order) – amelyet pedig a Meltdown nevű hiba használ ki

A cikk még nem ért véget, kérlek, lapozz!

Copyright © 2000-2018 PROHARDVER Informatikai Kft.