A Microsoft múlt héten tette közzé a szokásos keddi patcheket, amik 79 sérülékenységet javítanak mindenféle Microsoft termékben. Ezek közül a két legfontosabb, a CVE-2019-0863-as, ami egy sokak által kihasznált nulladik napi sérülékenység, illetve az ADV190013, ami az Intel CPU hibákon segít, amiket egyébként csak nemrég fedeztek fel. Ezt a kettőt nézzük most meg részletesebben.
Nulladik napi sérülékenység
Ez a fajta sérülékenység a Windows hibajelentő működéséig vezethető vissza. A CVE-2019-0863 fantázianévvel ellátott sérülékenységet a PolarBear és a Palo Alto Networks fedezte fel, akik szerint hackerek széles köre használta ki arra, hogy adminként hozzáférjenek a feltört rendszerekhez. A támadásokról nem tettek közzé részletes jelentést, leginkább amiatt, hogy a patchelés előtt ne adjanak ötleteket azoknak, akik szintén rossz szándékkal használnák ki a biztonsági rést.
A publikus riport alapján annyit lehet tudni, hogy a probléma a Windows Error Reporting, azaz a Windows hibabejelentő fájlkezelésében keresendő. A biztonsági rést sikeresen kihasználó támadók tetszőlegesen futtathatnak kódokat kernel módban. Ezek után képesek programok telepítésére, hozzáférnek az adatokhoz, amiket képesek megváltoztatni vagy akár törölni is, illetve adminisztrátori jogokkal rendelkező új felhasználókat is létrehozhatnak a rendszerben.
A sebezhetőség kihasználásához a támadónak első körben nem privilegizált végrehajtási hozzáférést kell szereznie. A megoldást nem részletezi a Microsoft, mindössze annyit tettek közzé, hogy javították a WER fájlkezelésében felmerülő hibát.
MDS sérülékenység
A másik igazából nem is csak egy patch, hanem inkább egy biztonsági FAQ, ami részletezi a Microsoft terveit az Intel processzorok kapcsán felmerült újfajta sérülékenységek, az MDS támadások kiküszöbölésére. A biztonsági rés az elmúlt 8 évben kiadott összes Intel CPU-t érintheti.
A hibáról az Intel május 8-án adott ki egy közleményt, amelyben tájékoztatott egy új, a spekulatív végrehajtási csatornák sebezhetőségének alosztályáról, az ún. MDS-ről (Microarchitectural Data Sampling). Röviden a probléma lényege, hogy az esetleges támadók képesek lehetnek hozzáférni a CPU-ban feldolgozott adatokhoz. Ez a spekulatív végrehajtás egyébként nem más, mint az Intel optimalizációra tett próbálkozása, amit azért adtak a processzorokhoz, hogy fejlesszék az adatfeldolgozás sebességét és a teljesítményüket.
Az MDS-ről részletesen
Szakértők több mint egy éven keresztül próbáltak rést ütni a fent említett spekulatív végrehajtási folyamatok különböző elemein, új és új módokat fedezve fel arra, miképp lehetne a különböző CPU buffer zónákból és adatfeldolgozási műveletekből adatokat kinyerni. Ennek eredményeképp egy nemzetközi szakértő csapat adta közzé az újfajta támadási módszert, amit MDS-nek (magyarul mikroarchitekturális adatmintavételnek) neveztek el. Ahogy a neve is mutatja, a folyamat a CPU mikroarchtekturális adatstruktúráját veszi célba, mint például a betöltő, tároló és vonal kitöltő puffereket, amiket a CPU a feldolgozott adatok gyors olvasására és írására használ. Ezek olyan kisebb méretű cache-ek, amiket a fő gyorsítótár mellett használnak.
Az ilyen mikroarchitekturális struktúrákban működő normál spekulatív végrehajtási műveletek hibáinak kihasználásával egy MDS támadás során a támadók olyan, a CPU-ban más applikációk által felhasznált adatokat következtethetnek ki, amikhez normál esetben nem szabadna hozzáférniük.
Ennek tükrében összesen 4 ilyen támadást fedeztek fel:
- CVE-2018-12126 – Mikroarchitekturális tárolási puffer adatmintavétel (MSBDS, vagy elterjedt nevén Fallout)
- CVE-2018-12130 – Mikroarchitekturális vonalkitöltő adatmintavétel (MFBDS, ezt emlegetik Zombieload támadás néven is)
- CVE-2018-12127 – Mikroarchitekturális betöltő port adatmintavétel (MLPDS)
- CVE-2019-11091 – Mikroarchitekturális adatmintavétel nem cache-elhető memória esetén (MDSUM)
Szakértők szerint a Zombieloadnak keresztelt a legveszélyesebb, mivel ez tudja a legtöbb információt kinyerni.
Az érintettek egyébként lehetnek asztali gépek, laptopok vagy (felhő) szerverek is. Ezeket a támadási mechanizmusokat kombinálva egy malware-rel már komoly rombolást lehet elérni, mivel hatékonyan képesek lehetnek az applikációk minden védelmét feltörni. A jó hír, hogy az Intel a tavalyi bakik után gyorsan reagált, és az újabb (8. és 9.) generációs modelleket ez a hiba például már nem is érinti, de a régebbiekre is van kész megoldásuk.
Emellett az Intel felhívja arra is a figyelmet, hogy a valóságban nem, inkább csak elméletben kihasználhatók ezek a hibák. Ugyanis a kérdéses adatstruktúrák mérete jóval kisebb, mint az első szintű adat cache, így kevesebb információt tartalmaznak és jóval hamarabb íródnak felül. Mint minden más spekulatív végrehajtási folyamat esetén, ezeket a támadásokat nem laboratóriumi körülmények között végrehajtani rettentően nehéz és bonyolult, pláne más, jóval egyszerűbb támadásokhoz képest, amik a támadók rendelkezésére áll. Ha a fenti nem lenne elég, MDS támadás esetén még nehézkesebb egy konkrét mamóriacímmmel társított adatot kinyerni. Ehhez a támadónak képesnek kell lennie hatalmas mennyiségű adatot begyűjteni és azt kielemezni. MDS támadással emellett csak frissen hozzáférhető adatokat lehet megszerezni. Mindezek ellenére természetesen javasolt mindent megtenni a biztonságunk érdekében.
A megoldás
A Microsoft szerint az ügyfeleknek kétfajta frissítésre lesz szükségük az esetleges problémák elkerülése végett. Az első egy firmware mikrokód frissítés, amit a hardvergyártóktól (Intel vagy eredeti berendezésgyártó [OEM]) tudnak beszerezni, és amit az Intel már ki is adott. A második pedig egy operációs rendszer frissítés, mind Windowsra, mind Windows Serverre – illetve potenciálisan más gyártók szoftvereire, lásd Apple és Linux. A dolog szépséghibája, hogy a Microsoft szerint az alábbi rendszerekre nem elérhető még a gyártói firmware update:
- Windows 10 1803-as verzió (x64)
- Windows Server 1803-as verzió (Server Core)
- Windows 10 1809-es verzió (x64)
- Windows Server 2019
- Windows Server 2019 (Server Core)
A Microsoft közleménye szerint a felhő alapú szolgáltatásai esetén nincs ok az aggodalomra. Azok esetén ugyanis már futtatták a patch-eket, és így ellenállnak az MDS támadásoknak.
Arra is figyelmeztetnek egyébként, hogy a mikrokód frissítések és a szoftver patchek telepítése korlátozottan ugyan, de hatással lehet a performanciára. Az MDS támadások ellen egyébként hatásos lehetne az Intel CPU támogatás kapcsán a Hyper-threading kikapcsolása, viszont a Microsoft tesztjei alapján ez már súlyos teljesítménybeli problémákat okozna. A Microsoft továbbra is szorosan együttműködik a hardvergyártókkal annak érdekében, hogy a sérülékenységek javítása mellett megfelelő performanciát tudjanak nyújtani.
Futottak még
Természetesen e kettő mellett másik 77 frissítés is elérhetővé vált. Jelentős lehet még a CVE-2019-0708, a távoli asztali szolgáltatásokkal kapcsolatos hibák javítása, amiket a Microsoft egészen Windows XP és 2003-as Szerver verzióig kiadott.
Ennél részletesebben természetesen a Microsoft oldalán is elérhetők ezek a patch-ek, tehát aki kíváncsi, miket javítottak még, itt megtalálja a teljes listát.