"Vše o kybernetické bezpečnosti"

Upozornění na zranitelnost Apache Log4j – Log4Shell

S nadcházejícím vánočními svátky nám na dveře zaklepala nová kritická zranitelnost v kódu Apache s názvem Log4j 2 – open source knihovně pro protokolování založené na jazyce Java, kterou využívá celá řada produktů či služeb.

Vzhledem k tomu, že na internetu je již k dispozici zkušební kód pro zneužití, jsme nyní svědky hromadného závodu. Hackeři hojně vyhledají vhodné cíle po celém internetu a zneužívají dočasnou zranitelnost systému. Na druhé straně barikády stojí bezpečnostní odborníci a vývojáři, kteří se snaží potencionální útoky odrazit a chybu urychleně opravit.

Před riziky varuje také NÚKIB

O zranitelnosti informoval vedle řady zahraničních serverů také Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) ve své tiskové zprávě Upozornění na zranitelnost Apache Log4j – Log4Shell.

Zranitelnost „Log4Shell“ se závažností CVSSv3 9.8 potenciálně postihuje veškeré aplikace, které ji k logování používají a umožňují příjem požadavků skrze libovolný protokol. Zalogováním speciálně vytvořeného požadavku, který útočník na server zašle, dojde kvůli chybě v interpretaci k jeho spuštění, čímž může získat plnou kontrolu nad serverem.

Log4j je nativní součástí produktů Apache, např. Apache Struts, Apache Druid, Apache Flume, Apache Flink, Apache Kafka a dalších. Framework využívají například Redis, ElasticSearch, Logstash a obecně většina aplikací běžících na Javě.

Ke zranitelnosti byl zveřejněn Proof-of-concept a byly již zaznamenány případy skenování a zneužívání. Lze očekávat, že s ohledem na veřejně dostupný kód a nízkou složitost zneužití bude četnost útoků narůstat a zranitelnost může být využita jako vstupní bod například pro ransomware operátory. Zranitelné jsou všechny verze Apache log4j od 2.0 do 2.14.1.

Mitigace

Zranitelnost lze mitigovat nastavením parametru `log4j2.formatMsgNoLookups` na `True`, ve verzích 2.0 až 2.14.1. Zranitelnost také opravuje aktualizace 2.15.0-rc2 vydaná 10.12.2021, která tento parametr nastavuje na `True` v defaultní konfiguraci.

Detekce

Zneužití zranitelnosti lze ověřit vyhledáním řetězců `${jndi:ldap://`,`${jndi:rmi://`, `${jndi:ldaps://` v lozích serveru. K vyhledání lze použít například příkaz a YARA pravidlo publikované zde: https://gist.github.com/Neo23x0/e4c8b03ff8cdf1fa63b7d15db6e3860b

Pro odhalení zranitelnosti v PC existuje skript, který naleznete opět na serveru github.com. Tento skript v Linuxu či Windows vyhledá chybný soubor JndiLookup.class v libovolném archivu .jar.

Doporučení

Všem správcům relevantních systémů doporučujeme prověřit, zda jimi provozované aplikace, zejména pokud jsou přístupné z internetu, využívají pro logování Log4j.

Pokud ano, doporučujeme Log4j bezodkladně aktualizovat na verzi 2.15.0-rc2. Pokud není aktualizace z provozních důvodů možná, je doporučeno provést alespoň opatření v podobě spuštění aplikace s parametrem `log4j2.formatMsgNoLookups=True.`

S ohledem na dostupnost PoC a aktivní skenování též doporučujeme servery prověřit metodami uvedenými v sekci Detekce.

Jak zranitelnost opravit doporučuje např. také švýcarský úřad pro kybernetickou bezpečnost na svých sociálních sítích.


Autor: Michael Fanta, šéfredaktor
Zdroj: NÚKIB, WeLiveSecurity
Foto: Pixabay

[give_form id=“36″]
Košík
vše o kybernetické bezpečnosti

Máte zájem o spolupráci?

Pošlete nám kontakt, my se Vám v blízké době ozveme.