Fegyverré válhat a Windows hibajelentése

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

Az informatikai biztonság egyik állandó kihívása, hogy a védekező eszközök (pl. antivírusok, EDR rendszerek) önmagukat is megvédjék az elnémítástól vagy megkerüléstől. Számos rosszindulatú támadó már „kernel-szintű” technikákat is alkalmaz, hogy teljes kontrollt szerezzen, vagy „elhallgattassa” a védekező komponenseket. A bemutatott új eszköz, amelyet EDR-Freeze néven publikáltak, viszont egy „user mode” technikát használ, azaz nem kell hozzá se speciális hibás kernel driver, se rootkit, hanem az operációs rendszer beépített komponenseit kombinálja egy sajátos módon. Így lényegesen „finomabb” és rejtettebb támadási vektor jön létre.

Az EDR-Freeze módszerének működése

A Windows Error Reporting (WER) egy olyan Microsoft által biztosított mechanizmus, amely hibajelentéseket készít és továbbít a Microsoft felé, amennyiben egy alkalmazás összeomlik. A WerFaultSecure az egyik komponens, amely magasabb, Protected Process Light (PPL) szinten fut, hogy kritikus rendszerfolyamatok összeomlásakor is megbízhatóan létrejöhessen a hibajelentés. A MiniDumpWriteDump API (a DbgHelp könyvtár része) lehetővé teszi egy adott folyamat memóriaállapotának „minidumpként” való kimentését. A működésének részeként ideiglenesen felfüggeszti az összes szálat a célfolyamatban, majd a dump létrehozása után visszaállítja azokat.

Az EDR-Freeze módszerében a támadó kihasználja, hogy amikor a WER elindítja a MiniDumpWriteDump hívást egy célfolyamatra, például az EDR vagy antivírus komponensre, a cél folyamat minden szála átmenetileg felfüggesztésre kerül, amíg a dump készül. Ekkor a támadó race condition-t teremt:

  • Elindítja a WerFaultSecure-t úgy, hogy paraméterként a célfolyamat (pl. EDR) PID-je szerepeljen.
  • A WER végrehajtja a MiniDumpWriteDump hívást. Ilyenkor a célfolyamat szálai felfüggesztésre kerülnek.
  • Pont ezen időablakban a támadó gyorsan felfüggeszti a WerFaultSecure folyamatot (pl. NtSuspendProcess hívással).
  • Így a WerFaultSecure nem tud visszatérni a dump művelet végén, és soha nem fogja újra feloldani a célfolyamat szálait. Tehát a cél komponens a végletekig „megállítva” marad („coma” állapotban).

Az eredmény: az EDR vagy antivírus folyamat nem működik tovább, miközben látszólag rendszerkomponensként indulhatott el az egész művelet.

A kutató által készített prototípus sikeresen „lefagyasztotta” a Windows Defender folyamatot Windows 11 24H2 rendszeren.

Korlátok, feltételek:

  • A módszer „versenyhelyzetre” (race) épül, vagyis az időzítés kritikus: a támadónak elég gyorsnak kell lenni a WerFaultSecure lefagyasztásához, mielőtt visszaindítaná a cél szálait.
  • Lehetséges, hogy bizonyos rendszerek, frissített Windows verziók vagy jövőbeni védelmi mechanizmusok korlátozzák a WER működését, különösen, ha Microsoft hardening lépéseket vezet be.
  • A prototípus eszköz demonstrációs jellegű, nem feltétlenül stabil vagy univerzális támadási eszköz minden Windows verzión.
  • Nem minden célfolyamatra biztos, hogy alkalmazható, ha például különleges engedélyek, sandboxing, integritásellenőrzés vagy más mechanizmus megakadályozza a dumpolást vagy a felfüggesztést.

Az EDR-Freeze bemutatja, hogy még egy jól ismert operációs rendszer – mint a Windows – is tartalmazhat olyan belső komponenseket, amelyek nem csak funkciója, hanem viselkedése révén kihasználhatók. A védekező rendszerek (EDR/AV) nem csupán külső támadásoknak vannak kitéve, hanem belső, operációs rendszer által nyújtott mechanizmusoktól is sebezhetőek lehetnek. Ha ez a technika éles környezetben is megbízhatóan működik, komoly támadási vektor nyílik arra, hogy a kiberbűnözők akár rendszergazdai jogosultság nélkül is kikapcsolhassák a védekezést. Ha Microsoft nem reagál proaktívan és nem erősíti meg a WER / minidump rendszer viselkedését, akkor ez tartós probléma maradhat a Windows platform biztonsági integritása szempontjából.

(forrás, forrás)