Jak skenovat a opravit chybu zabezpečení Log4j?

Zranitelnost Log4j patří mezi nejnebezpečnější bezpečnostní problémy v moderních systémech.

Protokolování je klíčovou funkcí moderních aplikací a protokolovací knihovna Log4j je v této oblasti lídrem.

Tato knihovna se používá ve většině aplikací, služeb a systémů. Všechny aplikace, kde se používá Log4j, jsou tedy všechny postiženy touto chybou zabezpečení Log4j zjištěnou v loňském roce.

S rostoucími celosvětovými obavami o kybernetickou bezpečnost podnikají organizace i jednotlivci kroky k ochraně svých aplikací, systémů a dat.

A když byla tato zranitelnost objevena, vystresovala profesionály a podniky ještě více.

Proto je detekce zranitelnosti Log4j a její oprava zásadní, pokud chcete chránit svá data, síť, pověst a důvěru zákazníků.

V tomto článku se budu zabývat tím, co je zranitelnost Log4j, spolu s kroky k její detekci a opravě.

Začněme pochopením Log4j a proč jej potřebujete.

Co je Log4j?

Log4j je open-source protokolovací nástroj napsaný v Javě, který se používá hlavně k ukládání, formátování a publikování protokolovacích záznamů generovaných aplikacemi a systémy a následné kontrole chyb. Záznamy mohou být různého typu, od webové stránky a dat prohlížeče až po technické detaily systému, kde Log4j běží.

Namísto psaní kódu od začátku mohou vývojáři použít knihovnu Log4j integrací jejího kódu do svých aplikací.

Pomocí Log4j mohou vývojáři sledovat všechny události spojené s jejich aplikacemi s přesnými informacemi o protokolování. Pomáhá jim monitorovat aplikace, včas zjišťovat problémy a opravovat problémy dříve, než se z nich stane větší problém z hlediska výkonu a/nebo zabezpečení.

Tuto knihovnu založenou na Javě napsal Ceki Gülcü a byla vydána v roce 2001 pod licencí Apache 2.0. Využívá Java pojmenování a služby Directory Interface (JNDI), které umožňují aplikacím komunikovat s jinými aplikacemi, jako je LDAP, DNS, CORBA atd., a získat funkci adresářů a pojmenování pro aplikace založené na Java. Log4j má tři komponenty k plnění svých úkolů:

  • Loggery pro zachycení záznamů protokolování
  • Rozvržení pro formátování záznamů protokolování v různých stylech
  • Appendery pro publikování záznamů protokolování na různá místa určení

Log4j je ve skutečnosti jednou z nejznámějších logovacích knihoven na webu a používají ji organizace z různých odvětví a zemí. Tuto knihovnu protokolování integrovali do mnoha aplikací, včetně špičkových cloudových služeb od Googlu, Microsoftu, Apple, Cloudflare, Twitteru atd.

Jeho vývojář, Apache Software Foundation, vyvinul Log4j 2, upgrade na Log4j, který řeší problémy nalezené v dřívějších verzích. Loni byla v Log4j nalezena zranitelnost, která, když není adresována, může útočníkům umožnit proniknout do aplikací a systémů, krást data, infikovat síť a provádět další škodlivé aktivity.

Pojďme tomu více rozumět.

Co je Log4Shell – zranitelnost Log4j?

Log4Shell je kritická zranitelnost kybernetické bezpečnosti v knihovně Log4j, která ovlivňuje základní fungování knihovny. Umožňuje útočníkovi ovládat zařízení nebo aplikaci připojené k internetu pomocí vzdáleného spuštění kódu. Když jsou v tom úspěšní, mohou:

  • Spusťte libovolný kód na zařízení nebo systému
  • Přístup ke všem sítím a datům
  • Upravte nebo zašifrujte jakýkoli soubor v postižené aplikaci nebo zařízení

Tuto chybu zabezpečení poprvé nahlásil 24. listopadu 2021 Chen Zhaojun, bezpečnostní výzkumník ve společnosti Alibaba (čínský gigant v oblasti elektronického obchodování). Tato zranitelnost ovlivnila jejich servery Minecraft, které cloudový bezpečnostní tým Alibaba objevil 9. prosince.

Poté NIST zveřejnil tuto chybu zabezpečení v National Vulnerability Database a pojmenoval ji CVE-2021-44228. Apache Software Foundation pak tuto chybu zabezpečení ohodnotila stupněm závažnosti CVSS 10. Toto je zřídkakdy přiřazeno a je velmi závažné, protože má potenciál být široce a snadno zneužito, což vede k obrovským škodám pro organizace a jednotlivce.

  5 nejlepších analyzátorů nadpisů, které můžete použít, než zveřejníte další příspěvek na blogu

Apache v reakci na tuto zranitelnost vydal opravu, ale přesto byly některé části ponechány neřešené, což vedlo k dalším zranitelnostem:

  • CVE-2021-45046, který usnadnil útoky DoS (Denial of Service) prostřednictvím vyhledávání JNDI
  • CVE-2021-45105 umožňuje hackerům ovládat informace o kontextové mapě vláken a způsobovat útoky DoS interpretací vytvořeného řetězce
  • CVE-2021-44832 ovlivňuje všechny verze Log4j 2 prostřednictvím vzdáleného vkládání kódu (RCE)

Jak Log4Shell funguje?

Abychom pochopili její závažnost a jak velkou škodu může Log4Shell způsobit, je vhodné zjistit, jak tato zranitelnost Log4j funguje.

Zranitelnost Log4Shell umožňuje útočníkovi vzdáleně vložit libovolný kód do sítě a získat nad ní úplnou kontrolu.

Tato sekvence kybernetických útoků začíná knihovnou protokolování, jako je Log4j, shromažďující a ukládající informace protokolu. Pokud neexistuje žádná knihovna protokolování, všechna data ze serveru budou archivována okamžitě po shromáždění dat.

Pokud však chcete tato data analyzovat nebo potřebujete provést nějaké akce na základě konkrétních informací protokolu, budete potřebovat knihovnu protokolování, která data protokolu analyzuje před jejich archivací.

Kvůli zranitelnosti Log4j se jakýkoli systém nebo aplikace používající Log4j stává zranitelným vůči kybernetickým útokům. Knihovna protokolování spustí kód na základě vstupu. Hacker může donutit knihovnu protokolů ke spuštění škodlivého kódu, protože zranitelnost mu umožní manipulovat se vstupem.

Mezitím se na pozadí děje spousta věcí. Když je Log4j předán specificky vytvořený řetězec, zavolá LDP server a stáhne tento kód hostovaný v jeho adresáři, aby mohl kód spustit. Útočníci tak mohou vytvořit server LDAP pro uložení škodlivého kódu, který jim může pomoci ovládat jakýkoli server, kde je kód spouštěn. Poté odešle řetězec směrující jejich škodlivý kód do cílené aplikace nebo systému a převezme nad ním plnou kontrolu.

Takto lze zneužít zranitelnost Log4j:

  • Útočník najde server se zranitelnou verzí Log4j.
  • Odešlou cílovému serveru žádost o získání s odkazem na jejich škodlivý server LDAP.
  • Cílený server se místo ověření požadavku přímo připojí k tomuto serveru LDAP.
  • Útočníci nyní pošlou cílovému serveru odpověď serveru LDAP obsahující škodlivý kód. Kvůli zranitelnosti Log4j, která umožňuje přijímat kód a spustit jej bez ověření, může hacker využít této slabosti k proniknutí do cílového serveru a zneužití připojených systémů, sítí a zařízení.

Jak může zranitelnost Log4j poškodit uživatele?

Zranitelnost Log4j je znepokojivá, protože se používá v široké řadě softwarových aplikací a systémů.

Protože protokolování je základní funkcí ve většině softwarových aplikací a Log4j je předním řešením v tomto prostoru, Log4j nachází aplikace v různých softwarových systémech.

Některé z populárních služeb a aplikací využívajících Log4j jsou Minecraft, AWS, iCloud, Microsoft, Twitter, internetové směrovače, nástroje pro vývoj softwaru, bezpečnostní nástroje a tak dále. Útočníci se tak mohou zaměřit na velké množství aplikací, služeb a systémů od domácích uživatelů, vývojářů kódu, poskytovatelů služeb a dalších příbuzných profesionálů a jednotlivců.

Kromě toho je zranitelnost Log4j pro útočníka extrémně snadno zneužitelná. Celkový proces vyžaduje méně dovedností, nikoli úroveň expertů, k provedení útoku. To je důvod, proč počet útoků využívajících tuto chybu zabezpečení roste.

Dopad zranitelnosti Log4j je:

  • DoS útoky
  • Útoky na dodavatelský řetězec
  • Těžba mincí
  • Injekce malwaru, jako je ransomware a trojští koně
  • Vložení libovolného kódu
  • Vzdálené spuštění kódu

A více.

V důsledku těchto útoků můžete ztratit kontrolu nad svými aplikacemi, systémy a zařízeními a vaše data se mohou stát obětí útočníků, kteří mohou vaše data prodat, manipulovat s nimi nebo je vystavit vnějšímu světu. Vaše podnikání tak může být poškozeno z hlediska ochrany osobních údajů zákazníků, důvěry, tajemství organizace a dokonce i vašeho prodeje a příjmů, natož rizik souvisejících s dodržováním předpisů.

  Secryptor šifruje soubory před jejich synchronizací do Dropboxu

Podle zprávyvíce než 40 % globálních podnikových sítí zažilo útoky kvůli této zranitelnosti.

Takže i když ve svých aplikacích nepoužíváte žádné zranitelné verze Log4j, vaše integrace třetích stran je mohou používat, což vaši aplikaci činí zranitelnou vůči útokům.

Všimněte si, že všechny verze Log4j před verzí Log4j 2.17.0. jsou ovlivněny; proto musíte upgradovat záznamník, pokud jej používáte. Také slavní dodavatelé, kteří jsou ovlivněni touto chybou zabezpečení Log4j, jsou Adobe, AWS, IBM, Cisco, VMware, Okta, Fortinet atd. Pokud některého z nich používáte, sledujte své aplikace nepřetržitě a pomocí bezpečnostních systémů opravujte problémy, jakmile se objeví. vzniká.

Jak zjistit Log4j dotčené programy a opravit problémy

Chyba zabezpečení Log4Shell má ve skóre CVSS 10. Všechny problémy v Log4j tedy ještě nejsou opraveny. Je však pravděpodobné, že vy nebo váš dodavatel třetí strany používáte Log4j, který jste použili ve své aplikaci.

Pokud tedy chcete chránit svá data, systémy a síť, ujistěte se, že dodržíte některé kroky k nápravě.

#1. Aktualizujte svou verzi Log4j

Aktualizace vaší aktuální verze Log4j na Log 4j 2.17.1 je nejúčinnější technikou nápravy, pokud chcete chránit své zařízení a aplikace před útoky v důsledku chyby zabezpečení Log4j.

Log4Shell je typ zero-day útoku, který může potenciálně ovlivnit váš softwarový ekosystém. Apache opravil některé zranitelnosti v posledních verzích, ale pokud byl váš systém kompromitován před upgradem, stále jste ohroženi.

Za předpokladu toho tedy musíte nejen upgradovat verzi, ale také okamžitě zahájit postupy reakce na incidenty, abyste zajistili, že ve vašich systémech a aplikacích nebudou žádná zranitelná místa, a zmírníte útoky. Musíte také zkontrolovat všechny protokoly serveru, abyste našli indikátory kompromisu (IOC) a neustále monitorovali své systémy a síť.

#2. Používejte nejnovější brány firewall a bezpečnostní systémy

Firewally jako Web Application Firewall (WAF) a firewally nové generace mohou pomoci zabezpečit perimetr vaší sítě před útočníky skenováním příchozích a odchozích datových paketů a blokováním podezřelých. Používejte tedy nejnovější brány firewall ve své síti a nastavte na serverech přísná odchozí pravidla, abyste zabránili útokům spojeným se zranitelností Log4j.

Přestože útočníci mohou obejít brány firewall, stále získáte určitý stupeň zabezpečení s bránami firewall, které mohou blokovat požadavky útočníka.

Kromě toho aktualizujte všechny své bezpečnostní systémy, jako jsou Intrusion Detection Systems (IDS), Intrusion Prevention Systems (IPS) atd., pomocí nejnovějších signatur a pravidel. Tyto systémy pomohou blokovat nebo filtrovat provoz RMI a LDAP před připojením ke škodlivému serveru LDAP.

#3. Implementovat MFA

Nastavení vícefaktorové autentizace (MFA) ve vašich aplikacích a systému poskytne lepší zabezpečení před útočníky. Poskytne druhou vrstvu zabezpečení, i když se útočníkovi podaří prolomit první vrstvu. Můžete to udělat pomocí biometrických údajů, jako jsou otisky prstů, skenování duhovky atd., nastavení bezpečnostní otázky nebo povolení bezpečnostního kódu PIN.

Použití MFA zvýší obtížnost a čas útočníků na provedení plnohodnotného útoku. Mezitím vás také může okamžitě informovat o incidentu, abyste mohli podniknout potřebné kroky k nápravě, když ještě budete mít čas.

Kromě toho musíte také použít přísné zásady VPN, abyste omezili únik dat. To uživatelům umožní bezpečný přístup k vašim systémům odkudkoli bez strachu z útočníků.

#4. Změňte vlastnosti systému

V případě, že nemůžete upgradovat na nejnovější verzi knihovny Log4j, musíte okamžitě změnit vlastnosti systému Java, pokud používáte verzi od Log4j 2.10 do Log4j 2.14.1.

Musíte jej nastavit tak, abyste zabránili vyhledávání, které útočníci používají k odhalení zranitelnosti a následnému nalezení způsobů, jak je zneužít.

#5. Odebrat JNDI

Důvod této kritické bezpečnostní zranitelnosti spočívá v jeho designu. Plugin JNDI Lookup má konstrukční chybu, pomocí které mohou útočníci provést útok.

  Co dělá sluneční clona a kdy byste ji měli použít?

JNDI se používá pro spouštění kódu na základě vstupních dat v jeho logu, se kterým může kdokoli snadno manipulovat, protože logger přijímá jakýkoli požadavek bez ověření.

Bezpečnostní výzkumníci zjistili, že tento plugin od svého vydání v roce 2013 vždy povoloval neanalyzovaná data a odesílá je do knihovny Log4j.

Proto je zranitelnost Log4j náchylná ke zneužití pomocí jednoduchého vložení řetězce. Jakmile jej útočník vloží, logger přijme operaci požadovanou v řetězci a provede ji okamžitě bez ověření.

Pokud tedy chcete zabezpečit své systémy a aplikace, musíte zakázat třídu – JndiLookup. Tím zabráníte tomu, aby zapisovač provedl akci na základě dat protokolu.

Ve skutečnosti je vyhledávání JNDI již ve výchozím nastavení v Log4j 2.16.0 zakázáno ve snaze zabezpečit vaše aplikace a systémy.

Pokud tedy používáte verzi Log4j nižší než 2.16.0, ujistěte se, že jste zakázali vyhledávání JNDI.

#6. Promluvte si se svými prodejci

Pokud máte vše v pořádku, vaše firewally a bezpečnostní systémy byly aktualizovány, verze Log4j aktualizována, vyhledávání JNDI zakázáno atd., ještě nepolevujte.

I když ve svých aplikacích nepoužíváte zranitelnou verzi Log4j, mohou ji používat vaši dodavatelé třetích stran. Nikdy se tedy nedozvíte, jak došlo k hacknutí vaší aplikace nebo systému, protože skutečný problém byl s vaší integrací třetí strany.

Promluvte si proto se svými dodavateli a ujistěte se, že také aktualizovali Log4j na nejnovější verzi a implementovali další bezpečnostní postupy popsané výše.

#7. Použijte Log4j Vulnerability Scanner

Na trhu je k dispozici mnoho nástrojů pro skenování zranitelnosti Log4j, které vám usnadní detekci zranitelností Log4j ve vašich systémech a aplikacích.

Když tedy budete hledat tyto nástroje, zkontrolujte jejich míru přesnosti, protože mnoho z nich generuje falešně pozitivní výsledky. Najděte také nástroj, který dokáže vyhovět vašim potřebám, protože se může zaměřit na identifikaci zranitelnosti Log4j, nahlášení expozice a nápravu zranitelnosti.

Pokud se tedy zaměřujete na detekci, najděte skener zranitelnosti Log4j, který dokáže problém detekovat, nebo použijte ten, který dokáže problém detekovat a napravit.

Některé z nejlepších nástrojů pro skenování Log4j jsou:

  • Microsoft 365 Defender: Microsoft nabízí řadu bezpečnostních řešení a nástrojů, které vám pomohou odhalit a zabránit zneužití Log4j ve vaší síti. Budete schopni rozpoznat vzdálené spuštění kódu a pokusy o zneužití, což vás ochrání před zranitelností Log4j v zařízeních Windows a Linux.
  • Amazon Inspector a AWS: Amazon vytvořil skenovací nástroj k nalezení zranitelnosti Log4j v instancích Amazon EC2 a Amazon ECR.
  • CloudStrike Archive Scan Tool (CAST): CloudStrike také vytvořil vynikající skenovací nástroj pro detekci zranitelnosti Log4j, který vám pomůže vyřešit problémy včas, než jej útočníci zneužijí.
  • Detekce protokolování Google Cloud: Řešení detekce protokolování cloudu od Googlu vám umožňuje detekovat zneužití Log4j pomocí Průzkumníka protokolů. V tomto nástroji můžete vytvořit dotaz na protokol a vyhledat potenciální řetězce zneužití.
  • Google také vytvořil log4jscanner, open-source skener souborového systému pro detekci zranitelnosti Log4j.
  • BurpSuite Log4j Scanner: Toto je bezpečnostní plugin pro profesionály a podniky, který jim pomáhá detekovat zranitelnost Log4j.
  • Huntress Log4Shell Vulnerability Tester: Tento nástroj náhodně generuje jedinečný identifikátor, který můžete použít při testování svých vstupních polí. Po nalezení zranitelnosti v aplikaci nebo vstupním poli její zabezpečený server LDAP okamžitě ukončí škodlivé spojení a udrží vás v bezpečí.
  • WhiteSource Log4j Detect: WhiteSource vytvořil bezplatný nástroj CLI WhiteSource Log4j Detect hostovaný na GitHubu, který vám pomůže detekovat a opravit zranitelnosti Log4j – CVE-2021-445046 a CVE-2021-44228.
  • JFrog Open-Source Scanning tools for Log4j: JFrog vytvořil různá open-source řešení a nástroje k nalezení zranitelností Log4j ve vašich binárních souborech a zdrojovém kódu.

Závěr

Chyba zabezpečení Log4j je kritickým bezpečnostním problémem. Vzhledem k tomu, že tato knihovna protokolování je široce používána v různých aplikacích a systémech, zranitelnost Log4j se rozšířila a umožňuje útočníkům využívat širokou škálu systémů a aplikací.

Pokud tedy chcete chránit své systémy a aplikace před touto chybou zabezpečení, ujistěte se, že jste upgradovali knihovnu Log4j na nejnovější verzi a implementovali osvědčené bezpečnostní postupy popsané výše.