Hirdetés

Í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 processzorgyártók érintettsége és reakciói

AMD: Az AMD szerint saját processzoraikat csak az egyes számú hiba érinti. A többi hibára felépítésbeli eltérés miatt nem érzékeny, vagy ahogy a bejelentése fogalmaz, a 2. esetben eddig AMD processzoron nem sikerült reprodukálni. A teljesítménycsökkenést hozó Meltdown patch így a Linux kernel esetében is az AMD processzorokon nem aktiválódik. Az első, már beolvasztott patch minden CPU-t hibásnak jelzett, de az AMD az LKML szerint beküldött egy olyan javítást, amely az AMD processzoroknál kikapcsolja ezt a további védelmet. További információk.

ARM: Az ARM processzorok esetében – azaz a mobilos, tabletes ökoszisztémák 99%-nál is van érintettség. Úgy tűnik az ARM eredeti processzordizánjai mellett az egyedi processzormagokat tervező cégek (Qualcomm, Apple, Samsung, stb.) is érintettek. Az ARM-terveknek megfelelő magokat használó Cortex-R7, Cortex-R8, Cortex-A8, Cortex-A9, Cortex-A15, Cortex-A17, Cortex-A57, Cortex-A72, Cortex-A73, Cortex-A75 magokat érinti a Spectre (1-es és 2-es hiba), a Cortex-A15, Cortex-A57, Cortex-A72 magokat pedig a Meltdown sebezhetőség is. További információk.

Intel: Az Intel az első közleményeiben próbálta kisebbnek feltüntetni a hibát, de így utólag látszik, hogy a hiba leginkább őket érinti. A későbbiekben az alábbi közleményeket és információkat adták ki:

A hibákban érintett Intel processzorok listája:

  • Intel Core i3 processzorok (45nm és 32nm)
  • Intel Core i5 processzorok (45nm és 32nm)
  • Intel Core i7 processzorok (45nm és 32nm)
  • Intel Core M processzorok család (45nm és 32nm)
  • 2. generációs Intel Core processzorok
  • 3. generációs Intel Core processzorok
  • 4. generációs Intel Core processzorok
  • 5. generációs Intel Core processzorok
  • 6. generációs Intel Core processzorok
  • 7. generációs Intel Core processzorok
  • 8. generációs Intel Core processzorok
  • Intel Core X-sorozat processzorok család for Intel X99 platforms
  • Intel Core X-sorozat processzorok család for Intel X299 platforms
  • Intel Xeon processzorok 3400 sorozat
  • Intel Xeon processzorok 3600 sorozat
  • Intel Xeon processzorok 5500 sorozat
  • Intel Xeon processzorok 5600 sorozat
  • Intel Xeon processzorok 6500 sorozat
  • Intel Xeon processzorok 7500 sorozat
  • Intel Xeon processzorok E3 család
  • Intel Xeon processzorok E3 v2 család
  • Intel Xeon processzorok E3 v3 család
  • Intel Xeon processzorok E3 v4 család
  • Intel Xeon processzorok E3 v5 család
  • Intel Xeon processzorok E3 v6 család
  • Intel Xeon processzorok E5 család
  • Intel Xeon processzorok E5 v2 család
  • Intel Xeon processzorok E5 v3 család
  • Intel Xeon processzorok E5 v4 család
  • Intel Xeon processzorok E7 család
  • Intel Xeon processzorok E7 v2 család
  • Intel Xeon processzorok E7 v3 család
  • Intel Xeon processzorok E7 v4 család
  • Intel Xeon processzorok Scalable család
  • Intel Xeon Phi processzorok 3200, 5200, 7200 sorozat
  • Intel Atom processzorok C sorozat
  • Intel Atom processzorok E sorozat
  • Intel Atom processzorok A sorozat
  • Intel Atom processzorok x3 sorozat
  • Intel Atom processzorok Z sorozat
  • Intel Celeron processzorok J sorozat
  • Intel Celeron processzorok N sorozat
  • Intel Pentium processzorok J sorozat
  • Intel Pentium processzorok N sorozat

Ellenőrzési módok

Ellenőrzés Linuxon

Linux alatt a Spectre és Meltdown hibák ellenőrizhetők ezzel az eszközzel.

Mindig ellenőrizzük a letöltött fájl sértetlenségét, és amennyiben a szükséges szakértelem a rendelkezésre áll, a nem a megbízható tárolóból származó elindítandó kódot is.

mkdir ~/spectremeltdown

cd ~/spectremeltdown

wget https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh

chmod +x ./spectre-meltdown-checker.sh

sudo./spectre-meltdown-checker.sh

Hiba esetén az alábbi kimenet tapasztalható:

Spectre and Meltdown mitigation detection toolv0.21

Checking for vulnerabilities against live running kernel Linux 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64

CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'

* Checking count of LFENCE opcodes in kernel: NO (only 27 opcodes found, should be >= 70)

> STATUS: VULNERABLE (heuristic to be improved when official patches become available)

CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'

* Mitigation 1

* Hardware (CPU microcode) support for mitigation: YES

* Kernel support for IBRS: NO

* IBRS enabled for Kernel space: NO

* IBRS enabled for User space: NO

* Mitigation 2

* Kernel compiled with retpoline option: NO

* Kernel compiled with a retpoline-aware compiler: NO

> STATUS: VULNERABLE (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)

CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'

* Kernel supports Page Table Isolation (PTI): NO

* PTI enabled and active: NO

> STATUS: VULNERABLE (PTI is needed to mitigate the vulnerability)

A false sense of security is worse than no security at all, see –disclaimer

Figyeljük meg, hogy mindhárom esetben a STATUS: VULNERABLE. Ezt a hibás állapotot ideje kijavítani!

Ellenőrzés Windowson

A Spectre és Meltdown hibák ellenőrzéséhez telepíteni kell PowerShell 5.x alatt a megfelelő modult. PowerShell ablakban futtassuk le:

Install-Module SpeculationControl

Amennyiben a fenti parancs hibát okoz, akkor telepíteni kell a PowerShell/Windows Management Framework 5.x verzióját. Jelenleg az 5.1-es verzió a legújabb, amely innen tölthető le a Windows 7-8, a Windows Server 2008R2-2012R2 verziókhoz. Windows 7 és 2008R2 esetén szükség van .NET Framework 4.5.2 telepítésére is. Szükség lehet a rendszer újraindítására is.

Ha előbb hiba történt, akkor futtassuk le ismét a következő parancsot a PowerShellben:

Install-Module SpeculationControl

Mentsuk el a jelenlenlegi futtatási jogosultságokat:

$SaveExecutionPolicy = Get-ExecutionPolicy

Set-ExecutionPolicy RemoteSigned -Scope Currentuser

Majd engedélyezzük a futtatást:

Set-ExecutionPolicy Bypass

És futtassuk le az ellenőrzést:

Import-Module SpeculationControl

Get-SpeculationControlSettings

Majd állítsuk vissza a jogosultságokat:

Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser

A futtatási jogosultságok visszaállíthatók az alapértelmezett értékre ezzel a paranccsal is:

Set-ExecutionPolicy Restricted

Kezdetben vélhetően igen lehangoló eredményt fogunk kapni:

Windowson
[+]

Semmi sincs javítva, ideje munkához látni!

Ellenőrzés Windowson egy másik programmal

A Spinrite merevlemez diagnosztizáló és javító programról ismert Gibson Research Corporation kiadta az InSpectre nevű ingyenesen letölthető és használható alkalmazását, amellyel egyszerűen megtekinthető a rendszer Meltdown és Spectre hibák általi érintettsége.

Javított állapotot jelző futtatás:

InSpectre

A legújabb verzióban az alkalmazásablak menüjéből részletes adatok is kinyerhetőek és vágólapra is másolhatóak. Van lehetőség a GUI nélküli futásra is, ahol az alkalmazás visszatérési értékei mutatják a rendszer jelenlegi állapotát. A „0” a teljesen védett rendszer; további értékek:

Decimal
Value

Trouble Itemization

1

OS is not aware of the Meltdown vulnerability

2

OS is not aware of the Spectre vulnerability

4

The system is vulnerable to Meltdown

8

The system is vulnerable to Spectre

16

CPU does not support Spectre (microcode not updated)

32

CPU does not support low-overhead Meltdown protection

64

Meltdown protection disabled by registry setting

128

Spectre protection disabled by registry setting

A készítő szerint nem csak Windows alatt, hanem WINE alatt is megbízhatóan működik.

Ellenőrzés Windowson egy harmadik programmal

Alex Ionescu, a Windows kernel fejlesztői tapasztattal is bíró biztonsági szakértője is készített egy eszközt a Windows-felhasználók számára a Spectre és Meltdown hibák felderítéséhez. A SpecuCheck nevű program szintén ingyenesen letölthető és használható. Csak a Spectre sebezhetőséggel kapcsolatos állapotokat méri fel, nem dokumentált rendszerhívások révén. A szerző saját érdeklődésből készítette, a kernelállapot alapján történő jelentés készítésére. Ő maga is inkább, a fent részletezett, hivatalos PowerShelles megoldást javasolja. Legújabb verzióját innen tudjátok letölteni:

github.com/ionescu007/SpecuCheck/releases

Javított állapotot jelző futtatás:

Ionescu
[+]

Linux operációs rendszer frissítése

Linux esetén a frissítés kernelfrissítés formájában érkezik. A különféle disztribúciók készítői már elérhetővé tették a frissítéseket. Nincs más dolgunk mint ezeket telepíteni, majd a rendszereket újraindítani. Amennyiben valami Live Patching rendszert használsz, akkor a telepítés hatása újraindítás után lép csak életbe.

Ubuntu: Az Ubuntut késztő Canoncal már frissítette a kerneleket a támogatott rendszereknél.

A hibával foglalkozó bejelentése: insights.ubuntu.com/2018/01/04/ubuntu-updates-for-the-meltdown-spectre-vulnerabilities/

A javítások jelenlegi állapota: wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown

Csomag

Verzió

Kiadás

linux

4.4.0-108.131

Xenial 16.04

linux

4.13.0-25.29

Artful 17.10

linux-aws

4.4.0-1048.57

Xenial 16.04

linux-aws

4.4.0-1010.10

Trusty 14.04

linux-azure

4.13.0-1005.7

Xenial 16.04

linux-euclid

4.4.0-9022.23

Xenial 16.04

linux-gcp

4.13.0-1006.9

Xenial 16.04

linux-hwe-edge

4.13.0-25.29~16.04.1

Xenial 16.04

linux-kvm

4.4.0-1015.20

Xenial 16.04

linux-lts-xenial

4.4.0-108.131~14.04.1

Trusty 14.04

linux-oem

4.13.0-1015.16

Xenial 16.04

A kiadott Linux Kernel 4.4.0-108.131 verziója azonban hibát tartalmazott, így jelenleg a 4.4.0-109 verziót kell telepíteni. Linux Mint 18.x alatt is ezt a verziót ajánlatos telepíteni. A Spectre sebezhetőség kerneloldali javítása a 4.4.0-111.134 (16.04) és a 3.13.0-140.189 (14.04) verziókkal jelenleg tesztelés alatt van, és várhatóan még a héten megjelennek.

CentOS/RedHat: A CentOS és a RedHat már minden szempontból optimális védelmet biztosít a Spectre és Meltdown sebezhetőségekkel szemben.

A RedHat tájékoztatása:

Érintett RedHat-termékek:

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Atomic Host
  • Red Hat Enterprise MRG 2
  • Red Hat OpenShift Online v2
  • Red Hat OpenShift Online v3
  • Red Hat Virtualization (RHEV-H/RHV-H)
  • Red Hat Enterprise Linux OpenStack Platform 6.0 (Juno)
  • Red Hat Enterprise Linux OpenStack Platform 7.0 (Kilo) for RHEL7
  • Red Hat Enterprise Linux OpenStack Platform 7.0 (Kilo) director for RHEL7
  • Red Hat OpenStack Platform 8.0 (Liberty)
  • Red Hat OpenStack Platform 8.0 (Liberty) director
  • Red Hat OpenStack Platform 9.0 (Mitaka)
  • Red Hat OpenStack Platform 9.0 (Mitaka) director
  • Red Hat OpenStack Platform 10.0 (Newton)
  • Red Hat OpenStack Platform 11.0 (Ocata)
  • Red Hat OpenStack Platform 12.0 (Pike)

A Debian által kiadott tájékoztatások:

A frissítések egyelőre csak részben készültek el. A fejlesztők dolgoznak a hiba elhárításán.

Általános információk Linux kernel esetén

A Linux kernelben a Meltdown sebezhetőség védelmet a

  • nopti [X86-64] Disable kernel page table isolation

kernel paraméterrel a KPTI használata tiltható.

A Spectre sebezhetőséggel kapcsolatos védelmet tiltják a következő kernelparaméterek:

  • noibrs - Indirect Branch Restricted Speculation
  • noibpb - Indirect Branch Prediction Barriers

Fontos megjegyezni, hogy noha – a biztonsági szakértők által készített kódon kívül – nincs ismert támadás e hibák kihasználására. De vélhetően ez csak idő kérdése, s hamarosan lesznek olyan vadon elterjedő kódok, amelyek személyes, értékes adatok után kutatnak ilyen módon.

Szükség esetén a védelmek időlegesen kikapcsolhatók, de ez általában nem ajánlott:

# echo 0 > /sys/kernel/debug/x86/pti_enabled

# echo 0 > /sys/kernel/debug/x86/ibpb_enabled

# echo 0 > /sys/kernel/debug/x86/ibrs_enabled

CentOS/RedHat 6 alatt szükség lehet a debug filerendszer csatolására:

mount -t debugfs nodev /sys/kernel/debug

A jelenleg hatályos beállításokat így ellenőrizhetjük:

# cat /sys/kernel/debug/x86/pti_enabled
# cat /sys/kernel/debug/x86/ibpb_enabled
# cat /sys/kernel/debug/x86/ibrs_enabled

Javasolt beállítások

Intel CPU:

  • pti 1 ibrs 1 ibpb 1 → Javítja: #1 #2 #3;
  • pti 1 ibrs 0 ibpb 0 → Javítja: #1 #3; régebbi Intel CPU-khoz, ahol nincs microcode frissítése

AMD CPU:

Az AMD szerint saját processzoraikat csak az hármas számú (Meltdown) számú hiba nem érinti.

  • pti 0 ibrs 0 ibpb 2 → Javítja: #1 #2; mikrokód frissítés esetén
  • pti 0 ibrs 2 ibpb 1 → Javítja: #1 #2; régebbi processzorokhoz, ahol az indirect branch prediction kikapcsolható mikrokódfrissítés nélkül

Windows operációs rendszer frissítése

A Windows 10 már automatikusan megkapta. További információ a frissítéssel kapcsolatban.

A Microsoft tájékoztatása a hibákról:

A régebbi Windowsok felhasználói kézzel is telepíthetik az új verziót, ha a januári frissítést még nem telepítették volna.

Közvetlenül a Windows Update catalogból elérhetők a telepítők:

Töltsük le az operációs rendszernek megfelelő fájlt, és futtassuk a telepítőt.

Az operációs rendszer sikeres frissítése és újraindítása után már láthatók az egyes elemek részbeni javításai:

Windowson
[+]

Fontos megjegyezni, hogy a Windows Server verziókon a javítás telepítése után automatikusan letiltásra kerül a Meltdownnal és Spectre-rel kapcsolatos hibák védelme. Engedélyezni ezeket a védelmeket a következő regisztrációsadatbázis-bejegyzésekkel lehet:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session

Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session

Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

Amennyiben valamilyen okból szükség van a védelmek újbóli letiltására, azt így tehetjük meg:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session

Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session

Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

A változtatások érvényre juttatásához újra kell indítani a számítógépet.

Ha nem menne a frissítés vagy hibát tapasztalunk

Sajnos egy ilyen horderejű és sok területet érintő frissítés számos hibalehetőséggel járhat. Meglátásom szerint fontos, hogy frissítsünk a Spectre és Meltdown hibáit csökkentő új szoftver- és firmware-verziókra. Mint az a cikk további részéből kiderül, nem csak operációs rendszer, CPU mikrokód, és ezzel együtt BIOS frissítés képében érkezik a javítás, hanem az egyes alkalmazásokhoz is érkezett vagy érkezik frissítés a közeljövőben. Így a számítógép, alaplap, CPU-gyártók mellett a böngésző és vírusvédelmi szoftverek gyártói is bocsátanak ki új verziót a Spectre és Meltdown hibákkal összefüggésben. Ezek mellett illesztőprogram-fissítésekre és alkalmazásfrissítésekre is érdemes ránézni és a legújabb verziókat telepíteni. Azonban a frissítést nem érdemes elsietni. Bár az – általam frissített gépek esetén – negatív hatásokat – a lassuláson kívül – nem tapasztaltam. A napi használatban nem volt különösképpen érezhető a lassulás teljesítményigényes alkalmazások futtatásakor sem. Így ez a lassulás 10% alatti tempóveszteséget jelenthet. A weben fellelhető tesztek tanulsága szerint I/O-igényes feladatok vagy tesztprogramok esetén különböző mértékben látni lehetett az új frissítések hatásait – Linux és Windows alatt egyaránt.

Bár a napi munkában a teljesítmény nem szörnyű mértékben csökken, még a Meltdown sérülékenységgel terhelt Intel processzor esetében sem, azonban szép számmal akadnak inkompatibilitási problémák.

Vírusvédelmi termékek: A Microsoft viszonylag hamar jelezte, hogy a 2018. január 3-i frissítéssel nem kompatibilis jó néhány vírusellenes szoftver. A Microsoft házon belül fejlesztett Windows Defender Antivirus, System Center Endpoint Protection és Microsoft Security Essentials biztonsági termékei kompatibilisek a frissítésekkel. A többi vírusellenes termék gyártója is lépett az ügyben: az ESET, a McAfee, az AVG, a Symantec, a Sophos és a többi gyártó is adott ki frissítést és támogatási cikket arról, hogy kompatibilis a vírusellenes terméke a Windows sérülékenység javításával.

A kompatibilitást a hibajavítás számára egy regisztrációs-adatbázis kulcs létrehozásával jelzi automatikusan a vírusvédelmi szoftver. Ha körültekintően megbizonyosodtunk arról, hogy a jelenleg használt antivírus szoftver megfelelő verziójú és kompatibilis a Windows hibajavítással, akkor mi magunk is létrehozhatjuk a szükséges registry bejegyzést a hibajavítás aktiválásához – ha ez nem történt volna meg automatikusan:

RegKey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\QualityCompat"

Value Name ="cadca5fe-87d3-4b96-b7fb-a231484277cc"

Type="REG_DWORD"

Data="0x00000000"

AMD-s problémák: Néhány régebbi AMD processzort tartalmazó számítógép tulajdonosa panaszkodott, hogy a Spectre és Meltdown Frissítés után számítógépükön használhatatlanná vált a Windows. A Microsoft ezért blokkolta a frissítés telepítését a régebbi AMD processzorral szerelt számítógépeken. A hiba javításához a Microsoft kiadta a KB4073290 javítást. A javítás letölthető a Microsoft Update Catalogból.

Inteles problémák: Az Intel részéről Navin Shenoy blogbejegyzésben próbálta nyugtatni a kedélyeket. Írásában kitért rá, hogy az elmúlt 5 évben megjelent processzorok 90 százalékához már jelent meg javítás. Nagyjából tehát az érintett, elmúlt 10 évben megjelent processzorok feléhez jött mikrokódfrissítés idáig. Itt már az alaplapgyártóknál a labda, hogy BIOS frissítéseket készítsenek, majd a felhasználóknál, hogy ezek a frissítéseket valóban el is végezzék.

Teszteket is végeztek az Intelnél, ahol 2-20% közötti lassulást regisztráltak a különféle adatközponti feladatokkal kapcsolatos teljesítménytesztek során.

A legrosszabb hír a blog szerint az, hogy bár a telepített javítások mellett a sérülékenységeket a várt formában ki lehet küszöbölni, viszont a felhasználók számítógép instabilitásról és váratlan újraindulásokról számoltak be Ivy Bridge-, Sandy Bridge, Skylake és Kaby Lake processzorok esetén. A gyártó sikeresen reprodukálta a problémát, és újabb, jelenleg béta állapotú, mikrokód frissítést biztosít partnereinek a jövő hét folyamán. Így vélhetően újabb BIOS frissítésre is szükség lehet a közeljövőben.

Windows Server: Fontos megjegyezni, hogy a Windows Server verziókon a javítás telepítése után automatikusan letiltásra kerül a Meltdownnal és Spectre-rel kapcsolatos hibák védelme. Engedélyezni ezeket a védelmeket a következő regisztrációs-adatbázis bejegyzésekkel lehet:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

Amennyiben valamilyen okból szükség van a védelmek újbóli letiltására, azt így tehetjük meg:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

A változtatások érvényre juttatásához újra kell indítani a számítógépet.

BIOS frissítés

Eljutottunk a legkockázatosabb részhez, az alaplapi BIOS frissítéséhez. Ha még nem csináltunk BIOS frissítést, érdemes szakértőre hagyni. A gyártók többsége már a legtöbb érintett géphez biztosítja a számítógép BIOS frissítését, amivel a hiba részben orvosolható.

A képet árnyalja, hogy közben az új BIOS-okkal instabilitási problémát jeleztek a felhasználók. Ezért a gyártók nem javasolják ezeknek a BIOS-frissítéseknek a telepítését, hanem a majd megjelenő új verziót. A régebbi gépekhez való hibajavítás kiadása is folyamatban, de ez gyártó függő, hogy ki milyen régi processzorral szerelt ad ki javítást. Az Intel jelenleg az 5 évnél fiatalabb processzorok 90%-ához adott ki mikrokód frissítést - saját bevallása szerint. A többi érintett géphez is szándékában áll frissítést kiadni.

Ennek megfelelően a gyártók az új BIOS-ok megérkezéséig nem javasolják az első BIOS-frissítés telepítését:

Dell is advising that all customers and partners should not deploy the BIOS update for the Spectre vulnerability at this time due to Intel’s advisory acknowledging reboot issues and unpredictable system behavior. We have removed impacted BIOS updates from our support pages and are working with Intel on a new BIOS update that will address the Spectre vulnerability.

We are working with Intel on a new BIOS update and will inform customers of next steps as soon as possible. Detailed instructions for Dell client and server customers can be found in the respective support articles linked below.

A BIOS frissítése során figyeljünk arra, hogy a gépet ne kapcsoljuk ki, ne indítsuk újra, és számítógép megbízható, szünetmentes tápellátással rendelkezzen. Ha laptopról van szó, az legyen feltöltve és a villamos hálózathoz csatlakoztatva.

A BIOS fájlokat a gyártó oldaláról kell (és ajánlatos) letölteni.

A folyamatban lévő frissítést nem szabad megszakítani!

Csak a megfelelő, a számítógéphez késztett BIOS fájllal próbáljuk a BIOS frissítést elvégezni!

Mindig kövessük a gyártói utasítást, ami a BIOS frissítés menetét írja le.

  • az alaplapok egy része már a BIOS-ból/UEFI-ből biztosítja a frissítési lehetőséget, így ott BIOS-ból indítható az eljárás
  • a BIOS fájlokat a gyártó oldaláról kell letölteni. Manapság a legtöbb alaplapi BIOS-t lehet frissíteni Windows vagy Linux alól. Ezt vagy egy letölthető külön programmal lehet végrehajtani – megadva a letöltött BIOS képfájlt, vagy maga a letöltött fájl futtatható, és tartalmazza a BIOS-t író Flash alkalmazást
  • a BIOS fájlokat a gyártó oldaláról kell letölteni. A letöltött fájlt egy USB pendrive-ra kell kimásolni, amely FAT16/32-es partícióval rendelkezik. A BIOS megfelelő indításával, például F2, DEL, F10, F12 billentyűk valamelyikének leütésével, majd az Update Flash BIOS nevű lehetőség választásával lehet a USB pendive-ról betöltve telepíteni a BIOS frissítést

Például egy Lenovo asztali gépnél a BIOS frissítés egy telepítőben érkezik, amelyet lefuttatva egy mappába kerül a BIOS frissítő alkalmazás. A frissítést a "Flash.cmd" programmal indítható.

Flash

Flash
[+]

HP esetén is hasonló lehet az eljárás:

Nagyon fontos, hogy a gyártó oldalán mindenképpen nézzük meg, hogy a BIOS frissítés miképpen telepíthető.

Ellenőrzések és egyéb érintett rendszerek

Ellenőrzés Linux operációs rendszeren

Futtassuk le ismét a már futtatott programot:

sudo ./spectre-meltdown-checker.sh

Spectre and Meltdown mitigation detection tool v0.21

Checking for vulnerabilities against live running kernel Linux 3.10.0-693.11.6.el7.x86_64 #1 SMP Thu Jan 4 01:06:37 UTC 2018 x86_64

CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Checking count of LFENCE opcodes in kernel:
YES (112 opcodes found, which is >= 70)
> STATUS: NOT VULNERABLE (heuristic to be improved when official patches become available)

CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
* Hardware (CPU microcode) support for mitigation: YES
* Kernel support for IBRS: YES
* IBRS enabled for Kernel space: NO
* IBRS enabled for User space: NO
* Mitigation 2
* Kernel compiled with retpoline option: NO
* Kernel compiled with a retpoline-aware compiler: NO
> STATUS: VULNERABLE (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)

CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI): YES
* PTI enabled and active: YES
> STATUS: NOT VULNERABLE (PTI mitigates the vulnerability)

A false sense of security is worse than no security at all, see --disclaimer

Figyeljük meg, hogy az egyes esetben a STATUS: NOT VULNERABLE, míg a kettes esetben továbbra is STATUS: VULNERABLE. A kettes számú hiba elkerüléséhez további Linux kernel frissítés szükséges. Az ellenőrzött gép egy Linux Mint 18.3 volt, az elérhető legújabb kernellel.

Ellenőrzés Windows operációs rendszeren

Amennyiben az operácis rendszert és a BIOS-t is frissítettük a PowerShellben futassuk le a már ismert parancsot:

Get-SpeculationControlSettings

Most már minden elemnek zöldnek, azaz hibajavított állapotúnak kell lennie.

Windows
[+]

Érintett Andorid-alapú rendszerek és javításuk

Az összes rendszer érintett. Javasolt felkeresni a gyártót a frissítések telepítéséhez. Ehhez rendelkezésre állhat a telefon beállításai közül a (Settings → System updates → Check for updates / Beállítások → Rendszerfrissítések → Frissítések keresése) rendszerfrissítést, vagy a gyártó által biztosított program segítségével a telefon számítógéphez csatlakoztatásával, majd frissítéssel. A hibajavítást tartalmazó verzió a 2018. január 5-nél újabb frissítési szint.

Érintett Apple-termékek és javításuk

A biztonsági kérdésekről az Apple termékbiztonsági oldalán lehet olvasni bővebben. A Spectre és Meltdown hibával kapcsolatos tájékoztatás.

A javított verziók és elérhetőségük:

Mozilla Firefox frissítések

A Mozilla is közzétett egy blogbejegyzést, valamint egy frissítést az aktuális Firefox 57.0.4 verzióval. Ebben a kiadásba a performance.now() függvény percizitását 20µs-re csökkentette a fejlesztő, és letiltotta a SharedArrayBuffer funkció használatát – amivel csökkenthető a böngészőből is kihasználható Spectre hatékonysága.

Google Chrome és Google Cloud Platform

A Google Cloud Platform – saját bevallása szerint – az összes szolgáltatását frissítette. És a Chrome/Chromiumban is megtették a szükséges lépéseket.

A böngésző használóinak javasolják a webhely-izoláció (Site Isolation) bekapcsolását, annak ellenére, hogy bizonyos helyzetekben hibát is okozhatnak. Bekapcsolható a vállalati házirendeken keresztül vagy a chrome://flags beálltások révén.

Microsoft Internet Explorer és Edge

A Microsoft Edge és az Internet Explorer böngészőkkel kapcsolatos javítások a már fentebb is részletezett KB4056890 javítások telepítésével érhető el.

Javaslatok a weboldal-üzemeltetők számára

A Chromium fejlesztői javasolnak továbbá pár lényeges változtatást a weboldalak beállításaiban, amivel csökkenthető a támadások sikerességének esélye:

NVIDIA

Az NVIDIA ARM alapú rendszerei, illetve GPU-juk illesztőprogramjai érintettek. A GPU-k önmagukban nem sebezhetőek ezzel a hibával, a gyártó vélekedése szerint: Illesztőprogram-frissítések, érintett termékek: Termékbiztonság

Biztonsági hirdetmény azonosító

Cím

CVE-k

Kiadás dátuma

Frissítve

4610

Security Bulletin: NVIDIA GeForce Experience Security Updates for CPU Speculative Side Channel Vulnerabilities

Information disclosure: CVE-2017-5753, CVE-2017-5715, CVE-2017-5754

01/09/2018

01/16/2018

4617

Security Bulletin: NVIDIA Jetson TX2 L4T Security Updates for CPU Speculative Side Channel Vulnerabilities

Information disclosure: CVE-2017-5753, CVE-2017-5715, CVE-2017-5754

01/05/2018

01/16/2018

4616

Security Bulletin: NVIDIA Jetson TX1, Jetson TK1, and Tegra K1 L4T Security Updates for CPU Speculative Side Channel Vulnerabilities

Information disclosure: CVE-2017-5753, CVE-2017-5715, CVE-2017-5754

01/05/2018

01/16/2018

4614

Security Bulletin: NVIDIA Shield Tablet Security Updates for CPU Speculative Side Channel Vulnerabilities

Information disclosure: CVE-2017-5753, CVE-2017-5715, CVE-2017-5754

01/04/2018

01/16/2018

4613

Security Bulletin: NVIDIA Shield TV Security Updates for CPU Speculative Side Channel Vulnerabilities

Information disclosure: CVE-2017-5753, CVE-2017-5715, CVE-2017-5754

01/04/2018

01/16/2018

4611

Security Bulletin: NVIDIA Driver Security Updates for CPU Speculative Side Channel Vulnerabilities

Information disclosure: CVE-2017-5753, CVE-2017-5715, CVE-2017-5754

01/04/2018

01/16/2018

4609

Security Notice: CPU Speculative Side Channel Vulnerabilities)

Information disclosure: CVE-2017-5753, CVE-2017-5715, CVE-2017-5754

01/03/2018

01/03/2018

Összesített gyártói tájékoztatások

Intel Management Engine hibajavítása

Az Intel Management Engine (IME) INTEL-SA-00086 hibája szintén érinti az összes utóbbi 10 évben megjelent Intel processzorral szerelt számítógépet, amennyiben az IME engedélyezve van. Ha az Intel Management Engine ki van kapcsolva, akkor is érdemes a frissítést elvégezni. Tapasztalatok szerint a frissítés vagy külön telepíthető firmware frissítésként, vagy a BIOS frissítés részeként érhető el. Az Intel támogatási cikke a hibáról.

A megtalált hibák:

  • CVE-2017-5705 – Multiple buffer overflows in kernel in Intel Manageability Engine Firmware 11.0/11.5/11.6/11.7/11.10/11.20 allow attacker with local access to the system to execute arbitrary code
  • CVE-2017-5706 – Multiple buffer overflows in kernel in Intel Server Platform Services Firmware 4.0 allow attacker with local access to the system to execute arbitrary code
  • CVE-2017-5707 – Multiple buffer overflows in kernel in Intel Trusted Execution Engine Firmware 3.0 allow attacker with local access to the system to execute arbitrary code
  • CVE-2017-5708 – Multiple privilege escalations in kernel in Intel Manageability Engine Firmware 11.0/11.5/11.6/11.7/11.10/11.20 allow unauthorized process to access privileged content via unspecified vector
  • CVE-2017-5709 - Multiple privilege escalations in kernel in Intel Server Platform Services Firmware 4.0 allows unauthorized process to access privileged content via unspecified vector
  • CVE-2017-5710 – Multiple privilege escalations in kernel in Intel Trusted Execution Engine Firmware 3.0 allows unauthorized process to access privileged content via unspecified vector
  • CVE-2017-5711 – Multiple buffer overflows in Active Management Technology (AMT) in Intel Manageability Engine Firmware 8.x/9.x/10.x/11.0/11.5/11.6/11.7/11.10/11.20 allow attacker with local access to the system to execute arbitrary code with AMT execution privilege
  • CVE-2017-5712 – Buffer overflow in Active Management Technology (AMT) in Intel Manageability Engine Firmware 8.x/9.x/10.x/11.0/11.5/11.6/11.7/11.10/11.20 allows attacker with remote Admin access to the system to execute arbitrary code with AMT execution privilege.

A CVE-2017-5712 hiba távolról is kihasználható, de csak hitelesítés után, magasabb jogosultságokat lehet elérni a sérülékenység által. Mivel azonban a legtöbb helyen alapértelmezett jelszót használnak az IME számára, így ez a hiba jó eséllyel kihasználható a rossz szándékú támadó számára. A többi hiba kihasználásához fizikai hozzáférés kell a géphez, állítja az Intel közleménye.

A hibákban érintett Intel processzorok listája:

  • Intel Core i3 processzorok (45nm és 32nm)
  • Intel Core i5 processzorok (45nm és 32nm)
  • Intel Core i7 processzorok (45nm és 32nm)
  • Intel Core M processzorok család (45nm és 32nm)
  • 2. generációs Intel Core processzorok
  • 3. generációs Intel Core processzorok
  • 4. generációs Intel Core processzorok
  • 5. generációs Intel Core processzorok
  • 6. generációs Intel Core processzorok
  • 7. generációs Intel Core processzorok
  • 8. generációs Intel Core processzorok
  • Intel Core X-sorozat processzorok család for Intel X99 platforms
  • Intel Core X-sorozat processzorok család for Intel X299 platforms
  • Intel Xeon processzorok 3400 sorozat
  • Intel Xeon processzorok 3600 sorozat
  • Intel Xeon processzorok 5500 sorozat
  • Intel Xeon processzorok 5600 sorozat
  • Intel Xeon processzorok 6500 sorozat
  • Intel Xeon processzorok 7500 sorozat
  • Intel Xeon processzorok E3 család
  • Intel Xeon processzorok E3 v2 család
  • Intel Xeon processzorok E3 v3 család
  • Intel Xeon processzorok E3 v4 család
  • Intel Xeon processzorok E3 v5 család
  • Intel Xeon processzorok E3 v6 család
  • Intel Xeon processzorok E5 család
  • Intel Xeon processzorok E5 v2 család
  • Intel Xeon processzorok E5 v3 család
  • Intel Xeon processzorok E5 v4 család
  • Intel Xeon processzorok E7 család
  • Intel Xeon processzorok E7 v2 család
  • Intel Xeon processzorok E7 v3 család
  • Intel Xeon processzorok E7 v4 család
  • Intel Xeon processzorok Scalable család
  • Intel Xeon Phi processzorok 3200, 5200, 7200 sorozat
  • Intel Atom processzorok C sorozat
  • Intel Atom processzorok E sorozat
  • Intel Atom processzorok A sorozat
  • Intel Atom processzorok x3 sorozat
  • Intel Atom processzorok Z sorozat
  • Intel Celeron processzorok J sorozat
  • Intel Celeron processzorok N sorozat
  • Intel Pentium processzorok J sorozat
  • Intel Pentium processzorok N sorozat

Az Intel elérhetővé tett Linux és Windows alatt is futtatható teszteszközöket:

  • Linux (MD5: c0f1aae6211302ed2c36c7655aa02642)
  • Windows (7/8.1/10/Server 2012) (MD5: e8ce8e1556eab9548475b7e06692f748)

Mindig ellenőrizzük a letöltött fájl sértetlenségét, és amennyiben a szükséges szakértelem rendelkezésre áll, a nem a megbízható tárolóból származó elindítandó kódot is.

Az ellenőrzéshez nem kell mást tenni, mint az operációs rendszernek megfelelő programokat letölteni, majd elindítani, és a kapott eredményt kiértékelni.

Ellenőrzés Linux operációs rendszeren

Linux esetén indítsuk el a „SA00086_Linux” mappában található „intel_sa00086.py” programot rendszergazdaként, például:

sudo ./intel_sa00086.py

Sérülékeny rendszer esetén a parancs kimenete ilyesmi lesz:

Intel
[+]

INTEL-SA-00086 Detection Tool

Copyright(C) 2017, Intel Corporation, All rights reserved

Application Version: 1.0.0.128

Scan date: 2018-01-17 07:04:20 GMT

*** Host Computer Information ***

Name: Godzilla

Manufacturer: Dell Inc.

Model: Latitude E6440

Processor Name: Intel(R) Core(TM) i7-4700MQ CPU

@ 2.40GHz

OS Version: LinuxMint 18.3 sylvia

(4.13.0-26-generic)

*** Risk Assessment ***

Based on the analysis performed by this tool: This system is vulnerable.

For more information refer to the SA-00086 Detection Tool Guide or the Intel security advisory Intel-SA-00086 at the following link: https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00086&languageid=en-fr

A hiba a a Risk Assessment alatti sorban jelenik meg: „Based on the analysis performed by this tool: This system is vulnerable.” Ha nem rendszergazdai jogosultsággal futtatjuk a programot az alábbi kimenet lesz látható:

Detection Error: This system may be vulnerable.

Ilyenkor rendszergazdai jogosultsággal indítsuk el a programot.

Ellenőrzés Windows operációs rendszeren

Windows esetén indítsuk el a „SA00086_Windows\DiscoveryTool.GUI” mappából a „Intel-SA-00086-GUI.exe” programot.

Sérülékeny rendszer esetén a parancs kimenete ilyesmi lesz:

A hiba ebben a Risk Assessment alatti sorban jelenik meg: „Based on the analysis performed by this tool: This system is vulnerable.

A hiba elhárítása

Az Intel Managemenet Engine INTEL-SA-00086 ellenőrző eszközei kiírják a rendszerrel kapcsolatos legfontosabb információkat, így megtutdhatuk hogy a további frissítéseket melyik cégtől kell letölteni. A példában bemutatott eszközt a Lenovo készítette, így a Lenovo cég honlapját kell felkeresni a Intel Managemenet Engine INTEL-SA-00086 hibajavításokért.

A gyártók többségénél a számítógép BIOS frissítésével, azaz a legfrissebb BIOS telepítésével megoldható a probléma. Viszont vannak olyan gyártók, amelyek külön firmware frissítést adtak ki az IME sebezhetőség javítására (például: Lenovo: a Lenovo estében ez egy Windowson futó frissítőeszköz, amelyet csak el kell indítani. A BIOS frissítése és a Management Engine frissítése során figyeljünk arra, hogy a gépet ne kapcsoljuk ki, ne indítsuk újra, és számítógép megbízható, szünetmentes tápellátással rendelkezzen. Ha laptopról van szó, az legyen feltöltve és a villamos hálózathoz csatlakoztatva. Amennyiben Windows alatt használjuk a számítógépet, a teljes megoldáshoz mindenképpen frissítsük a Management Engine windowsos illesztőprogramját (ME Driver vagy Intel Management Engine Components Installer) is!

Példa a Management Engine külön frissítésére egy Lenovo számítógép esetén:

Lenovo
[+]

A hiba javítva?

Ha sikeresen javítottuk a hibát, a számítógép újraindítása után futassuk le ismét az ellenőrző eszközöket:

Linux esetén az alábbi kimenet jelzi a megfelelő állapotot:

Megfelelő
[+]

INTEL-SA-00086 Detection Tool

Copyright(C) 2017, Intel Corporation, All rights reserved

Application Version: 1.0.0.128

Scan date: 2018-01-17 07:04:28 GMT

*** Host Computer Information ***

Name: Godzilla

Manufacturer: Dell Inc.

Model: Latitude E6440

Processor Name: Intel(R) Core(TM) i7-4700MQ CPU

@ 2.40GHz

OS Version: LinuxMint 18.3 sylvia

(4.13.0-26-generic)

*** Intel(R) ME Information ***

Engine: Intel(R) Management Engine

Version: 9.1.42.3002

SVN: 0

*** Risk Assessment ***

Based on the analysis performed by this tool: This system is not vulnerable.

For more information refer to the SA-00086 Detection Tool Guide or the Intel security advisory Intel-SA-00086 at the following link: https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00086&languageid=en-fr

Megfelelő az állapot, ha a Risk Assessment alatti sorban ez jelenik meg: „Based on the analysis performed by this tool: This system is not vulnerable.

Windows esetén az alábbi kimenetet jelzi a megfelelő állapotot:

Megfelelő az állapot, ha a Risk Assessment alatti sorban jelenik meg: „Based on the analysis performed by this tool: This system is not vulnerable. It has been already patched.

Ha sikerült a javítás, akkor a rendszer immár immunis az Intel Managemenet Engine INTEL-SA-00086hibákkal szemben.

Beszélgetnél erről a hibáról, vagy a szabad szoftverekről? Látogasd meg a Magyar Szabad Szoftver Közösség Facebook csoportot!

Azóta történt

Előzmények