Szerző: Nguyen - csoportvezető
Bevezetés
Egy számítógépes rendszer sebezhetősége egy olyan gyenge pont, amelyet egy támadó kihasználva jogosulatlanul használhatja a rendszert [1]. Különösen a Software sebezhetősége olyan kiberbiztonsági kihívás, amellyel a szervezeteknek rendszeresen meg kell küzdeniük a szoftverek folyamatosan változó jellege és összetettsége miatt.
A leggyakoribb módszerek, amelyeket a szervezetek a számítógépes hálózataikban lévő sebezhetőségek kockázatának felmérésére használnak, két nagy csoportba sorolhatók: hálózat-alapú és állomás-alapú [2]. A hálózatalapú módszerek az egyes hosztokba való bejelentkezés nélkül vizsgálják a hálózatot, hogy felderítsék a sebezhető szolgáltatásokat, eszközöket és a tranzitban lévő adatokat. A hoszt-alapú módszerek minden egyes hosztra bejelentkeznek, és összegyűjtik a sebezhető szoftverek, komponensek és konfigurációk listáját. Mindkét kategória más-más módon kezeli a kockázatot, de egyik sem képes a sebezhetőségek felderítésére, hacsak a sebezhető szoftver nem került már telepítésre az adott állomáson.
A gyakorlatban az értékeléseket általában úgy ütemezik, hogy azok ne befolyásolják a normál működést. Ezáltal a sebezhető szoftverek telepítése és az értékelés kezdete között marad egy lehetőség, amelyet a támadók kihasználhatnak arra, hogy veszélybe sodorjanak egy gépet és ezáltal egy hálózatot.
Ez a helyzet olyan vizsgálati módszert igényel, amely képes bezárni ezt az ablakot és csökkenteni a teljes sebezhetőségi kockázatot. az OPSWAT fájlalapú sebezhetőségi értékelési technológia ezt úgy éri el, hogy bináris fájlokat (például telepítő, futtatható, dinamikus könyvtár stb.) társít a bejelentett sebezhetőségekhez. Ez a módszer a sebezhető szoftverkomponenseket még a telepítésük előtt felismeri, így a biztonsági elemzők és rendszergazdák gyorsan megtehetik a megfelelő lépéseket, és ezzel bezárhatják az ablakot.
A következő szakaszokban részletesebben ismertetjük a technológiát és a felhasználási eseteket, és példákat hozunk az ezekhez a felhasználási esetekhez kapcsolódó ismert támadásokra. Ezután bemutatunk egy kihasználási demót, és következtetéseket vonunk le a technológiáról és annak lehetőségeiről.
Miért van szükség egy másik kimutatási módszerre
A hagyományos módszerek korlátai
A szoftver sebezhetőségek felderítésének hagyományos módszerei absztrakt szinten működnek. Amikor a hálózati alapú szondázás egy számítógépes hálózatot szondáz, a hoszt-alapú szondázás pedig adatokat gyűjt egy gépről, általában a rendszer környezete alapján határozzák meg, hogy milyen ellenőrzéseket futtassanak, hogy biztosítsák a nagy teljesítményt (szondázási idő, hálózati sávszélesség, memóriahasználat stb.), és hogy kiszűrjék a nem releváns eredményeket. Néha az értékelési módszerek olyannyira a rendszer környezetére támaszkodnak az információk tekintetében, hogy nem hajtják végre a megfelelő ellenőrzéseket, mivel ugyanannak a környezetnek a sajátosságai miatt, amelyre támaszkodnak.
Ha például egy sebezhető hálózati szolgáltatást az értékelés előtt (véletlenül vagy szándékosan) leállítanak, a vizsgálat nem fogja észlelni a szolgáltatás sebezhetőségét. Az alkalmazás telepítési útvonalát tartalmazó Windows rendszerleíró kulcs törlése is érintetlenül hagyhatja magát az alkalmazást és annak sebezhetőségeit, így az állomásalapú vizsgálat nem észleli azokat. Mindkét esetben a vizsgálati módszerek kevésbé hatékonyak, mivel a telepített termék lábnyomára támaszkodnak.
A telepített termék fájlok (például futtatható fájlok, könyvtárak, adatbázisok stb.) gyűjteménye, amelyeket egybecsomagolnak és telepítési logikával kombinálnak. A telepítési logika általában egy konvenciót követ a termék lábnyomának egy helyre való írására (például a Windows operációs rendszerben a Registry, a MySQL esetében a 3306-os port). Ez a lábnyom nem határozza meg magát a terméket, és a termék élettartama alatt bármikor megváltoztatható. Ezért a lábnyomra támaszkodva (ahogyan a hálózati és a hoszt-alapú szkennelés is teszi) a termék és a sebezhetőségének észlelése a téves észlelés kockázatát rejti magában.
Fájlalapú szkennelés bevezetése
File-based vulnerability assessment eltér a hagyományos értékelési módszerektől. Ahogy a neve is jelzi, fájlonként működik, és figyelmen kívül hagy minden magas szintű termékabsztrakciót. A file-based vulnerability assessment minden egyes bejelentett sebezhetőség elemzésével és a termék telepítőjéhez és fő komponensfájljaihoz való hozzárendelésével (U.S. 9749349 B1 szabadalom) képes felismerni, hogy egy bináris fájlhoz kapcsolódik-e sebezhetőség, így a sebezhetőségeket akkor is feltárja, ha a termék nem fut, vagy a lábnyomát módosították.
Míg a fájlalapú és a hálózatalapú szkennelés közötti különbség egyértelmű, a fájlalapú és a hosztalapú szkennelés közötti különbség nem ennyire egyértelmű. Azzal lehet érvelni, hogy az állomásalapú vizsgálat nem támaszkodik teljes mértékben a termék lábnyomára, hanem a termék fő összetevőjének (összetevőinek) fájlverzióját is ellenőrzi. Tehát a vizsgálati logika módosítható úgy, hogy csak a fájlverzió-ellenőrzést végezze el, így a fájlalapú vizsgálat a hosztalapú vizsgálat egy részhalmaza lesz.
Ez nem így van, mivel:
- A hoszt-alapú szkennelés gyakran úgy van beállítva, hogy a rendszerkörnyezetet és a termék lábnyomát is felhasználja az ellenőrzések szűrésére.
- A sebezhetőségeket okozó fájlok megtalálására és elemzésére összpontosítva a fájlalapú vizsgálat képes felderíteni néhány olyan sebezhetőséget, amelyet a gazdabázisú módszerrel nehéz felderíteni, és több felhasználási esetre alkalmas.
A fájlalapú szkennelés használható a sebezhető telepítők, firmware-csomagok, könyvtárfájlok, termékkomponens-fájlok stb. észlelésére, amelyek az átjárókon keresztül jutnak be a hálózatokba, illetve távoznak onnan, illetve a végpontokra (e-mailben, flash meghajtókon stb.). Ez lehetővé teszi a rendszergazdák és a felhasználók számára, hogy a termék használata előtt ellenőrizzék a termék sebezhetőségét, és biztosítsák a védelmet, ha a szervezet által jelenleg használt hoszt-alapú vagy hálózati alapú vizsgálati módszerek nem támogatják a hosztot.

File-based vulnerability assessment technológia a meglévő gépek potenciális sebezhetőségének felfedezésére is használható. Mivel a hagyományos vizsgálati módszerek általában a nyilvános közzétételi forrásokban található, magas szintű, homályos jelentések alapján végzik a sebezhetőségek ellenőrzését, maga a vizsgálat gyakran megáll egy magas szinten (a termék lábnyoma), és nem megy bele sem a sebezhetőség, sem a bejelentett termék részleteibe.
Mivel azonban a termékek gyakran újra felhasználják egymás komponenseit (például a dinamikus könyvtárak és a megosztott szolgáltatások), a sebezhető termék frissítése vagy akár megszabadulása nem mindig garantálja, hogy a sebezhetőséget okozó fájlok eltűnnek. Előfordulhat, hogy még mindig ott vannak valahol a fájlrendszerben, és a támadóknak lehetőséget biztosítanak arra, hogy újra csatlakoztassák ezeket az összetevőket, és pusztítást végezzenek. Ezek a fájlok gyakran rendelkeznek minden integritással, amit csak kérni lehet. Világos céljuk van, széles körben ismertek, megbízható forrásból származnak, érvényes aláírással rendelkeznek, és még mindig léteznek a legújabb szoftvercsomagokban. A File-based vulnerability assessment technológia lehetővé teszi a rendszergazdák számára, hogy átvizsgálják a gépeket, és megtalálják a lappangó sebezhető fájlokat, mielőtt a támadóknak esélyük lenne felhasználni azokat.

A technológiával kapcsolatos kihívások
A fájlszintű működésnek is megvannak a maga korlátai. Előfordulhat, hogy egy fájlt sebezhetőnek jelöl meg, amikor a sebezhetőséghez több fájl együttes betöltése szükséges (hamis pozitív eredmény). Ez részben a kontextus hiányának (egyetlen fájl vizsgálatával) és a közzétételi jelentések homályosságának köszönhető. Egy valóban sebezhető fájlt is megjelölhet tisztának (hamis negatív), ami a fájladatbázis hiányossága és ismét a jelentések homályossága miatt.
az OPSWAT oldalon megértjük ezt, és folyamatosan fejlesztjük a fájlalapú sebezhetőségi értékelési technológiánkat, hogy az több sebezhetőséget fedjen le, miközben csökkenti a hamis pozitív/negatív arányokat. Ezt a technológiát integráltuk a MetaDefender termékcsaládunk számos termékébe (például MetaDefender Core , MetaDefender Cloud , Drive, Kiosk, ICAP Server , stb.), hogy segítsük a szervezeteket kritikus hálózataik mélyreható védelmében [3].
Ismert Exploits
A rendszergazdáknak elég nehéz a szervezet által használt összes szoftver közzétételi jelentéseit figyelemmel kísérni, nemhogy a szoftveren belüli összes komponenst ismerni és felügyelni. Ami lehetővé teszi, hogy a sebezhetőségeket tartalmazó régi komponenseket használó szoftverek elkerüljék az észlelést, és bejussanak a szervezetekbe. Ezáltal a sebezhető komponensek nagy problémát jelenthetnek.
Erre példa a CVE-2019-12280 [4], a Dell SupportAssist nem ellenőrzött könyvtárkeresési útvonalának sebezhetősége. Lehetővé teszi egy alacsony jogosultságú felhasználó számára, hogy tetszőleges kódot futtasson a SYSTEM jogosultságai alatt, és teljes irányítást szerezzen a gép felett. Eredetileg a PC-Doctor által a gépek diagnosztizálásához biztosított komponensből származik. Mindkét gyártó kiadott javításokat a probléma orvoslására.
Egy másik példa a CVE-2012-6706 [5], egy kritikus memóriakárosodási sebezhetőség, amely egy speciálisan kialakított fájl megnyitásakor tetszőleges kódfuttatáshoz és a gép kompromittálódásához vezethet. Eredetileg a Sophos vírusirtó termékeiről jelentették, de később kiderült, hogy a fájlkinyerést kezelő UnRAR nevű komponensből származik [6].
Az ilyen típusú sebezhetőségeket gyakran nem lehet teljes mértékben jelenteni, mivel túl sok termék használja a sebezhető komponenseket. Ezért még akkor is, ha a rendszergazdák minden használatban lévő termékről tudnak, és szorosan figyelemmel kísérik azokat a gyakori közzétételi forrásokra, még mindig sok hely marad egy támadó számára, ahol átjuthat.
Demo
Nézzünk meg közelebbről egy olyan esetet, amikor egy sebezhető komponens okoz problémát egy állomáson. A Total Commander [7] egy régi verzióját fogjuk használni, amely egy UnRAR.DLL [8] fájlt tartalmaz, amelyet érint a CVE-2012-6706 [5]. Vegyük észre, hogy ez a CVE nem a Total Commanderről szól. A rendszergazdai jogosultságokkal rendelkező főfelhasználók gyakran használják ezt a szoftvert, így a sebezhetőség sikeres kihasználása segíthet egy támadónak abban, hogy egy állomáson átvegye az irányítást a szervezet hálózata felett.
Demo specifikáció:
- Operációs rendszer: Windows 10 1909 x64.
- Software: UnRAR könyvtárral v4.20.1.488.
- A Crafted adatokat a Google Security Research csoportja hozta létre az Exploit-DB-n [9].
A memória sérülése akkor következik be, amikor a Total Commander az UnRAR.DLL-t használja egy speciálisan kialakított fájl kicsomagolására. A támadó ezután tetszőleges kódot tud végrehajtani a gépen a Total Commander felhasználó jogosultságával. A kifinomult támadók további látszólag legitim, de sebezhető fájlokat helyezhetnek el a gépen további támadásokhoz.

A Total Commander legújabb verzióiban nincs ilyen sebezhetőség, mivel azok az UnRAR.DLL újabb verzióját használják. Tehát, mint mindig, a felhasználóknak érdemes naprakészen tartaniuk a szoftvereiket, még akkor is, ha nincs róluk közzétételi jelentés, és különösen akkor, ha már régóta nem végeztek frissítést (a Total Commander ezen verziója 2012-ben jelent meg).
Következtetés
A Software sebezhetőségek lehetővé teszik a támadók számára, hogy hozzáférjenek a szervezeti erőforrásokhoz, vagy átvegyék azok felett az irányítást. A sebezhetőségek felderítésének két gyakori módszere a hálózati alapú és az állomásalapú vizsgálat. Ezek általában magas absztrakciós szinten működnek, és a számítógép környezetében bekövetkező változások miatt fontos információkat hagyhatnak ki.
Az OPSWAT file-based vulnerability assessment technológiája fájlszinten működik, hogy figyelmeztesse a rendszergazdákat a sebezhető szoftverek telepítőire és összetevőire, amelyek a szervezeten belülre és kívülre kerülnek, csökkentve a biztonsági kockázatot mind a telepítés előtt, mind a használat során. A technológiát integrálták a MetaDefender termékekbe, például a Core, Cloud API, Drive, Kiosk stb. termékekbe, hogy a felhasználási esetek széles körét lefedje.
A sebezhetőségek fájlonkénti felderítése eltér a hagyományos módszerektől, és új lehetőségeket, új felhasználási eseteket, valamint kihívásokat rejt magában. az OPSWAT oldalon folyamatosan fejlesztjük technológiánkat, hogy leküzdjük a kihívásokat, és segítsünk megvédeni a szervezetek kritikus hálózatait a folyamatosan fejlődő kiberbiztonsági fenyegetésekkel szemben.
Hivatkozások
[1] "Sebezhetőség (számítástechnika)", [Online].
[2] "Sebezhetőségi szkenner", [Online].
[3] "MetaDefender - Advanced Threat Prevention Platform," [Online].
[4] "CVE-2019-12280 - MetaDefender," [Online].
[5] "CVE-2012-6706 - MetaDefender," [Online].
[6] "Issue 1286 - VMSF_DELTA filter in unrar allows arbitrary memory write - Project Zero," [Online].
[7] "Total Commander - home," [Online].
[8] "WinRAR archiváló - RARLAB," [Online].
[9] "unrar 5.40 - 'VMSF_DELTA' Filter Arbitrary Memory Write," [Online].