Hogyan lehet beolvasni és kijavítani a Log4j sebezhetőségét?

A Log4j sebezhetősége a modern rendszerek leghalálosabb biztonsági problémái közé tartozik.

A naplózás kulcsfontosságú funkció a modern alkalmazásokban, és a Log4j naplózási könyvtár vezető szerepet tölt be ezen a területen.

Ezt a könyvtárat a legtöbb alkalmazás, szolgáltatás és rendszer használja. Ezért a Log4j-t használó alkalmazások mindegyikét érinti a tavaly talált Log4j-sérülékenység.

A világszerte növekvő kiberbiztonsági aggályok miatt a szervezetek és az egyének lépéseket tesznek alkalmazásaik, rendszereik és adataik védelme érdekében.

És amikor ezt a sebezhetőséget felfedezték, még jobban megterhelte a szakembereket és a vállalkozásokat.

Ezért a Log4j biztonsági résének észlelése és kijavítása elengedhetetlen, ha meg akarja védeni adatait, hálózatát, hírnevét és az ügyfelek bizalmát.

Ebben a cikkben megvitatom, mi az a Log4j sebezhetősége, valamint az észlelésének és javításának lépései.

Kezdjük azzal, hogy megértsük a Log4j-t és azt, hogy miért van rá szükség.

Mi az a Log4j?

Log4j egy nyílt forráskódú, Java nyelven írt naplózó segédprogram, amelyet elsősorban az alkalmazások és rendszerek által generált naplózási rekordok tárolására, formázására és közzétételére, majd a hibák ellenőrzésére használnak. A rekordok különféle típusúak lehetnek, a weboldaltól és a böngészőadatoktól a rendszer műszaki adataiig, ahol a Log4j fut.

Ahelyett, hogy a semmiből írnának kódot, a fejlesztők használhatják a Log4j könyvtárat, ha integrálják annak kódját alkalmazásaikba.

A Log4j segítségével a fejlesztők pontos naplózási információkkal nyomon követhetik az alkalmazásaikkal kapcsolatos összes eseményt. Segít nekik figyelni az alkalmazásokat, időben észrevenni a problémákat, és kijavítani a problémákat, mielőtt azok nagyobb teljesítmény- és/vagy biztonsági problémává válnának.

Ezt a Java-alapú könyvtárat Ceki Gülcü írta, és 2001-ben adták ki Apache License 2.0 alatt. Java elnevezési és címtárinterfész (JNDI) szolgáltatásokat használ, hogy lehetővé tegye az alkalmazások számára, hogy kölcsönhatásba léphessenek más alkalmazásokkal, például LDAP, DNS, CORBA stb., valamint címtár- és elnevezési funkciókat kapjanak a Java-alapú alkalmazásokhoz. A Log4j három összetevőből áll a feladatok elvégzéséhez:

  • Loggerek a naplózási rekordok rögzítéséhez
  • Elrendezések a naplózási rekordok különböző stílusokban történő formázásához
  • Függelékek a naplózási rekordok különböző célhelyeken történő közzétételéhez

A Log4j valójában az egyik leghíresebb naplózókönyvtár a weben, és számos iparág és ország szervezetei használják. Számos alkalmazásba integrálták ezt a naplózási könyvtárat, beleértve a Google, a Microsoft, az Apple, a Cloudflare, a Twitter stb. legjobb felhőszolgáltatásait.

Fejlesztője, az Apache Software Foundation kifejlesztette a Log4j 2-t, a Log4j frissítését a korábbi kiadásokban talált problémák megoldására. Tavaly egy sérülékenységet találtak a Log4j-ben, amelynek hiányában a támadók behatolhatnak alkalmazásokba és rendszerekbe, adatokat lophatnak, hálózatot fertőzhetnek meg, és egyéb rosszindulatú tevékenységeket hajthatnak végre.

Értsük meg jobban.

Mi az a Log4Shell – a Log4j sebezhetősége?

A Log4Shell a Log4j könyvtár kritikus kiberbiztonsági sebezhetősége, amely hatással van a könyvtár alapvető működésére. Lehetővé teszi a támadók számára, hogy távoli kódvégrehajtással vezéreljenek egy internetre csatlakozó eszközt vagy alkalmazást. Ha sikeresek, akkor:

  • Futtasson bármilyen kódot az eszközön vagy a rendszeren
  • Hozzáférés az összes hálózathoz és adathoz
  • Módosítson vagy titkosítson bármely fájlt az érintett alkalmazáson vagy eszközön

Ezt a sebezhetőséget először 2021. november 24-én jelentette Chen Zhaojun, az Alibaba (egy kínai e-kereskedelmi óriás) biztonsági kutatója. A biztonsági rés a Minecraft szervereiket érintette, amit az Alibaba felhőbiztonsági csapata fedezett fel december 9-én.

Ezt követően a NIST közzétette ezt a sérülékenységet a National Vulnerability Database-ban, és a CVE-2021-44228 nevet adta. Az Apache Software Foundation ezt követően 10-re értékelte ezt a biztonsági rést a CVSS súlyossága alapján. Ezt ritkán rendelik hozzá, és nagyon súlyos, mivel megvan a lehetőség, hogy széles körben és könnyen kihasználják, ami hatalmas károkat okoz a szervezeteknek és az egyéneknek.

  Névjegyek, hívásnapló és üzenetek átvitele egyik telefonról a másikra a MobileTrans segítségével

Az Apache válaszul kiadott egy javítást erre a sérülékenységre, de egyes részei továbbra is kezeletlenül maradtak, ami más sérülékenységekhez vezetett:

  • CVE-2021-45046, amely megkönnyítette a szolgáltatásmegtagadási (DoS) támadásokat JNDI kereséseken keresztül
  • CVE-2021-45105, amely lehetővé teszi a hackerek számára, hogy irányítsák a szál kontextustérkép-információit, és DoS-támadásokat idézzenek elő egy kialakított karakterlánc értelmezésével
  • A CVE-2021-44832 a Log4j 2 összes verziójára hatással van a távoli kódbefecskendezéssel (RCE)

Hogyan működik a Log4Shell?

Súlyosságának és a Log4Shell által okozott károk megértéséhez érdemes megismerni a Log4j biztonsági résének működését.

A Log4Shell sebezhetősége lehetővé teszi a támadó számára, hogy tetszőleges kódot távolról fecskendezzen be a hálózatba, és teljes irányítást szerezzen felette.

Ez a kibertámadási sorozat a naplózási könyvtárral, például a Log4j-vel kezdődik, amely naplóinformációkat gyűjt és tárol. Ha nincs naplózási könyvtár, akkor a szerverről származó összes adat azonnal archiválásra kerül az adatgyűjtés után.

Ha azonban elemezni szeretné ezeket az adatokat, vagy bizonyos naplóinformációk alapján bizonyos műveleteket kell végrehajtania, akkor szüksége lesz egy naplózási könyvtárra a naplóadatok elemzéséhez az archiválás előtt.

A Log4j sebezhetősége miatt minden Log4j-t használó rendszer vagy alkalmazás sebezhetővé válik a kibertámadásokkal szemben. A naplózó könyvtár a bemenet alapján kódot hajt végre. A hacker arra kényszerítheti a naplókönyvtárat, hogy káros kódot hajtson végre, mivel a biztonsági rés lehetővé teszi a bemenet manipulálását.

Eközben sok minden történik a háttérben. Amikor a Log4j egy speciálisan kialakított karakterláncot kap, meghív egy LDP-kiszolgálót, és letölti a könyvtárában tárolt kódot a kód végrehajtása érdekében. Ily módon a támadók létrehozhatnak egy LDAP-kiszolgálót a rosszindulatú kódok tárolására, amelyek segítségével ellenőrizhetik azokat a kiszolgálókat, amelyeken a kód fut. Ezután egy karakterláncot küld, amely a rosszindulatú kódjukat irányítja egy megcélzott alkalmazáshoz vagy rendszerhez, és teljes mértékben átveszi az irányítást.

Tehát így lehet kihasználni a Log4j sebezhetőségét:

  • A támadó sérülékeny Log4j verziójú szervert talál.
  • A megcélzott szervernek egy get kérést küldenek a rosszindulatú LDAP-szerver hivatkozásával.
  • A megcélzott szerver a kérés ellenőrzése helyett közvetlenül csatlakozik ehhez az LDAP-kiszolgálóhoz.
  • A támadók most egy rosszindulatú kódot tartalmazó LDAP-kiszolgálóválaszt küldenek a megcélzott szervernek. A Log4j sebezhetősége miatt, amely lehetővé teszi a kód fogadását és ellenőrzés nélküli végrehajtását, a hacker ezt a gyengeséget kihasználva behatol a célkiszolgálóra, és kihasználhatja a csatlakoztatott rendszereket, hálózatokat és eszközöket.

Hogyan károsíthatja a Log4j sebezhetősége a felhasználókat?

A Log4j sebezhetősége aggasztó, mivel számos szoftveralkalmazásban és rendszerben használják.

Mivel a naplózás a legtöbb szoftveralkalmazás alapvető funkciója, a Log4j pedig vezető megoldás a térben, a Log4j számos szoftverrendszerben talál alkalmazásokat.

A Log4j-t használó népszerű szolgáltatások és alkalmazások közé tartozik a Minecraft, AWS, iCloud, Microsoft, Twitter, internetes útválasztók, szoftverfejlesztő eszközök, biztonsági eszközök stb. Ezért a támadók nagyszámú alkalmazást, szolgáltatást és rendszert célozhatnak meg otthoni felhasználóktól, kódfejlesztőktől, szolgáltatóktól és más kapcsolódó szakemberektől és magánszemélyektől.

Ezenkívül a Log4j biztonsági rését rendkívül könnyen kihasználhatja a támadó. A teljes folyamat kevesebb készségkészletet igényel, nem pedig szakértői szintű támadást. Emiatt növekszik a biztonsági rést kihasználó támadások száma.

A Log4j sebezhetőségének hatásai a következők:

  • DoS támadások
  • Ellátási lánc támadások
  • Érmebányászat
  • Rosszindulatú programok, például zsarolóvírusok és trójai programok
  • Önkényes kódbefecskendezés
  • Távoli kódvégrehajtás

És több.

E támadások eredményeként elveszítheti alkalmazásait, rendszereit és eszközeit, adatai pedig áldozatul eshetnek a támadóknak, akik eladhatják, manipulálhatják vagy kitenhetik azokat a külvilágnak. Ennélfogva az Ön vállalkozása sérülhet az ügyfelek adatainak védelme, a bizalom, a szervezet titkai, sőt még az értékesítése és bevétele is, nem beszélve a megfelelési kockázatokról.

  8 legjobb héliumbányász, aki HNT-t keres

Egy jelentés szerinta globális vállalati hálózatok több mint 40%-a tapasztalt támadásokat a biztonsági rés miatt.

Tehát még ha nem is használ sebezhető Log4j-verziókat az alkalmazásaiban, előfordulhat, hogy a harmadik féltől származó integrációk használják azt, ami sebezhetővé teszi az alkalmazást a támadásokkal szemben.

Vegye figyelembe, hogy a Log4j 2.17.0 előtti összes Log4j verziója. érintettek; ezért frissítenie kell a naplózót, ha használja. A Log4j biztonsági rés által érintett híres gyártók közé tartozik az Adobe, az AWS, az IBM, a Cisco, a VMware, az Okta, a Fortinet stb. Ha bármelyiket használja, folyamatosan figyelje alkalmazásait, és használjon biztonsági rendszereket a problémák azonnali kijavítására. felmerül.

A Log4j által érintett programok észlelése és a problémák megoldása

A Log4Shell sebezhetőségének CVSS pontszáma 10. Ezért a Log4j összes problémája még nincs javítva. De előfordulhat, hogy Ön vagy külső szállítója a Log4j-t használja, amelyet az alkalmazásában használt.

Ezért, ha meg akarja védeni adatait, rendszereit és hálózatát, bizonyosodjon meg arról, hogy kövesse néhány javítási lépést.

#1. Frissítse Log4j verzióját

A jelenlegi Log4j verzió frissítése a Log 4j 2.17.1-re a leghatékonyabb helyreállítási technika, ha meg szeretné védeni eszközét és alkalmazásait a Log4j sebezhetősége miatti támadásoktól.

A Log4Shell egy nulladik napi támadás, amely potenciálisan hatással lehet a szoftveres ökoszisztémára. Az Apache kijavított néhány sebezhetőséget a legutóbbi verziókban, de ha a rendszert a frissítés előtt feltörték, továbbra is veszélyben van.

Ezért ezt feltételezve nemcsak frissítenie kell a verziót, hanem azonnal el kell kezdenie az incidensre adott válaszokat is, hogy biztosítsa, ne legyen sebezhetősége a rendszerekben és az alkalmazásokban, és mérsékelje a támadásokat. Ezenkívül át kell tekintenie az összes szervernaplót, hogy megtalálja a kompromisszumjelzőket (IOC), és folyamatosan figyelnie kell rendszereit és hálózatát.

#2. Használja a legújabb tűzfalakat és biztonsági rendszereket

Az olyan tűzfalak, mint a Web Application Firewall (WAF) és a következő generációs tűzfalak segíthetnek megvédeni a hálózatot a támadóktól azáltal, hogy átvizsgálják a bejövő és kimenő adatcsomagokat, és blokkolják a gyanúsakat. Ezért használja a legújabb tűzfalakat a hálózaton, és állítson be szigorú kimenő szabályokat a szerverein, hogy megelőzze a Log4j sebezhetőségével kapcsolatos támadásokat.

Bár a támadók megkerülhetik a tűzfalakat, bizonyos fokú biztonságot a tűzfalak biztosítanak, amelyek blokkolhatják a támadó kéréseit.

Ezenkívül frissítse az összes biztonsági rendszert, például a behatolásészlelő rendszereket (IDS), a behatolásmegelőzési rendszereket (IPS) stb., a legújabb aláírásokkal és szabályokkal. Ezek a rendszerek segítenek blokkolni vagy kiszűrni az RMI- és LDAP-forgalmat a rosszindulatú LDAP-kiszolgálóhoz való csatlakozástól.

#3. MFA végrehajtása

A többtényezős hitelesítés (MFA) beállítása az alkalmazásokban és a rendszerben nagyobb biztonságot nyújt a támadók ellen. A második biztonsági réteget akkor is biztosítja, ha a támadónak sikerül feltörnie az első réteget. Ezt megteheti biometrikus adatokkal, például ujjlenyomatokkal, írisz szkenneléssel stb., biztonsági kérdés beállításával vagy biztonsági PIN-kód engedélyezésével.

Az MFA használata megnöveli a támadók nehézségeit és idejét a teljes értékű támadás végrehajtására. Időközben azonnal értesítheti Önt az esetről, hogy meg tudja tenni a szükséges helyreállítási lépéseket, amikor még van ideje.

Ezenkívül szigorú VPN-szabályzatokat kell alkalmaznia az adatszivárgás csökkentése érdekében. Ez lehetővé teszi a felhasználók számára, hogy bárhonnan biztonságosan hozzáférjenek rendszereihez, anélkül, hogy félnének a támadóktól.

#4. Rendszertulajdonságok módosítása

Ha nem tud frissíteni a Log4j könyvtár legújabb verziójára, azonnal módosítania kell a Java rendszer tulajdonságait, ha Log4j 2.10-től Log4j 2.14.1-ig terjedő verziót használ.

Úgy kell beállítania, hogy megakadályozza a támadók által a sebezhetőségek észlelésére, majd azok kihasználására használt kereséseket.

#5. Távolítsa el a JNDI-t

Ennek a kritikus biztonsági résnek az oka a kialakításában rejlik. A JNDI Lookup beépülő modulnak van egy tervezési hibája, amelyen keresztül a támadók támadást hajthatnak végre.

  Parancssorok: Miért törődnek még mindig velük az emberek?

A JNDI-t kódvégrehajtásra használják a naplójában lévő bemeneti adatok alapján, amelyeket bárki könnyen kezelhet, mivel a naplózó minden kérést ellenőrzés nélkül elfogad.

Biztonsági kutatók azt találták, hogy ez a beépülő modul 2013-as megjelenése óta mindig engedélyezte az elemzés nélküli adatokat, és elküldi azokat a Log4j könyvtárba.

Ezért a Log4j sebezhetősége hajlamos az egyszerű karakterlánc-injekcióval történő kihasználásra. Miután a támadó beadta, a naplózó elfogadja a karakterláncban kért műveletet, és azonnal végrehajtja azt ellenőrzés nélkül.

Tehát, ha szeretné biztonságba helyezni rendszereit és alkalmazásait, le kell tiltania a JndiLookup osztályt. Ez megakadályozza, hogy a naplózó a naplóadatok alapján tegyen lépéseket.

Valójában a JNDI keresés már alapértelmezés szerint le van tiltva a Log4j 2.16.0-ban az alkalmazások és rendszerek védelme érdekében.

Tehát, ha 2.16.0-nál régebbi Log4j verziót használ, győződjön meg arról, hogy letiltotta a JNDI keresést.

#6. Beszéljen eladóival

Ha mindent jól csinált, frissítette a tűzfalait és a biztonsági rendszereit, frissítette a Log4j verzióját, le van tiltva a JNDI Lookup stb., akkor még ne pihenjen.

Még ha nem is használ sebezhető Log4j-verziót az alkalmazásaiban, előfordulhat, hogy külső szállítói használják azt. Így soha nem fogja tudni, hogyan törték fel az alkalmazását vagy a rendszerét, mert az igazi probléma a harmadik féltől származó integrációval volt.

Ezért beszéljen a szállítóival, és győződjön meg róla, hogy ők is frissítették a Log4j-t a legújabb verzióra, és bevezették a fent tárgyalt egyéb biztonsági gyakorlatokat.

#7. Használjon Log4j sebezhetőség-ellenőrzőt

A piacon számos Log4j sebezhetőség-ellenőrző eszköz áll rendelkezésre, amelyek megkönnyítik a Log4j sebezhetőségeinek észlelését a rendszerekben és alkalmazásokban.

Tehát, amikor ezeket az eszközöket keresi, ellenőrizze pontosságukat, mivel sok közülük hamis pozitív eredményeket generál. Ezenkívül találjon olyan eszközt, amely kielégíti az Ön igényeit, mivel ezek a Log4j sebezhetőségének azonosítására, a kitettség jelentésére és a sérülékenység orvoslására összpontosíthatnak.

Tehát, ha az észlelésre összpontosít, keressen egy Log4j sebezhetőség-ellenőrzőt, amely képes észlelni a problémát, vagy használja azt, amely képes észlelni és orvosolni a problémát.

A legjobb Log4j szkennelő eszközök közül néhány:

  • Microsoft 365 Defender: A Microsoft számos biztonsági megoldást és eszközt kínál a Log4j kizsákmányolásának észleléséhez és megakadályozásához a hálózaton. Képes lesz észrevenni a távoli kódfuttatási és kihasználási kísérleteket, megóvva Önt a Log4j sebezhetőségeitől a Windows és Linux eszközökön.
  • Amazon Inspector és AWS: Az Amazon létrehozott egy ellenőrző eszközt a Log4j sebezhetőségének megtalálására az Amazon EC2 példányaiban és az Amazon ECR-ben.
  • CloudStrike Archive Scan Tool (CAST): A CloudStrike egy kiváló vizsgálóeszközt is készített a Log4j sebezhetőségének észlelésére, hogy segítsen a problémák időben történő kijavításában, mielőtt a támadók kihasználhatnák azt.
  • Google Cloud Logging észlelés: A Google felhőnaplózás-észlelési megoldása lehetővé teszi a Log4j kihasználások észlelését a Logs Explorer segítségével. Ezzel az eszközzel létrehozhat naplólekérdezést, és megkeresheti a potenciális kihasználási karakterláncokat.
  • A Google emellett létrehozta a log4jscannert, egy nyílt forráskódú fájlrendszer-ellenőrzőt a Log4j sebezhetőségének észlelésére.
  • BurpSuite Log4j Scanner: Ez egy biztonsági beépülő modul szakemberek és vállalatok számára, hogy segítsen felismerni a Log4j sebezhetőségét.
  • Huntress Log4Shell Vulnerability Tester: Ez az eszköz véletlenszerűen generál egy egyedi azonosítót, amelyet a beviteli mezők tesztelésekor használhat. Ha az alkalmazásban vagy a beviteli mezőben sebezhetőséget talál, a biztonságos LDAP-kiszolgáló azonnal megszakítja a rosszindulatú kapcsolatot, és biztonságban tartja Önt.
  • WhiteSource Log4j Detect: A WhiteSource egy ingyenes CLI-eszközt, a WhiteSource Log4j Detectet hozott létre, amely a GitHubon található, és segít a Log4j sebezhetőségeinek – CVE-2021-445046 és CVE-2021-44228 – észlelésében és kijavításában.
  • JFrog nyílt forráskódú vizsgálati eszközök a Log4j-hez: A JFrog különféle nyílt forráskódú megoldásokat és eszközöket hozott létre a Log4j sebezhetőségeinek megtalálására a binárisokban és a forráskódban.

Következtetés

A Log4j biztonsági rése kritikus biztonsági probléma. Mivel ezt a naplózási könyvtárat széles körben használják különféle alkalmazásokban és rendszerekben, a Log4j sebezhetősége széles körben elterjedt, lehetővé téve a támadók számára a rendszerek és alkalmazások széles skálájának kihasználását.

Tehát, ha meg szeretné védeni rendszereit és alkalmazásait a biztonsági rés ellen, frissítse a Log4j könyvtárat a legújabb verzióra, és alkalmazza a fent tárgyalt legjobb biztonsági gyakorlatokat.