A Log4j Java-könyvtár hírhedt sebezhetőségének vészjavítója nem bolondbiztos. Az Apache Software Foundation új verziót ad ki, hogy végleg kijavítsa a biztonsági rést.
Egy rendkívül népszerű Java-könyvtár sebezhetősége megrázza a globális IT-környezetet. Becslések szerint a könyvtár a legtöbb vállalati környezetben létezik.
A Log4j-t főleg naplózásra használják. Az alkalmazásokban lévő eseményeket jegyzetekkel lehet regisztrálni. Gondoljon a bejelentkezési adatok kinyomtatására a bejelentkezési kísérlet után. Vagy Java nyelvű webalkalmazás esetén annak a böngészőnek a neve, amelyhez a felhasználó csatlakozni próbál.
Ez utóbbi példák gyakoriak. Mindkét esetben egy külső felhasználó befolyásolja a Log4j által kiadott naplót. Ezzel a befolyással vissza lehet élni. A 4. szeptember 13. és 2013. december 5. közötti Log2021j bármely verziójának naplói képesek arra utasítani a Java-alkalmazásokat, hogy futtassák le a kódot egy távoli szerverről egy helyi eszközön.
2013 óta a Log4j egy API-t: JNDI-t vagy Java elnevezési és címtárfelületet dolgoz fel. A JNDI hozzáadása lehetővé teszi a Java-alkalmazások számára, hogy kódot futtatjanak egy távoli szerverről egy helyi eszközön. A programozók úgy tanítanak, hogy egyetlen sort adnak hozzá a távoli kiszolgálóról egy alkalmazáshoz.
A probléma az, hogy nem csak a programozók tudják hozzáadni a szabályt az alkalmazásokhoz. Tegyük fel, hogy a Log4j naplózza a bejelentkezési kísérletek felhasználóneveit. Amikor valaki beírja a fent említett sort a felhasználónév mezőbe, a Log4j futtatja a sort, és a Java alkalmazás egy parancsot értelmez a kód futtatásához a megadott szerveren. Ugyanez vonatkozik azokra az esetekre, amikor a Log4j naplóz egy HTTPS-kérést. Ha módosítja a böngésző nevét a sorra, a Log4j lefuttatja a sort, közvetetten utasítva a kód kívánt futtatására.
A sürgősségi javítás nem is biztonságos
December 9-én a sebezhetőségre nagy léptékben derült fény. Az Apache Software Foundation, a Log4j fejlesztője vészhelyzeti javítást (2.15) adott ki a sérülékenység javítására. Azóta a szoftvergyártók elsődleges prioritása a 2.15-ös verzió feldolgozása és a javítások biztosítása a szervezetek számára.
A LunaSec biztonsági szervezet azonban kijelenti, hogy a tapasz nem teljesen vízálló. Továbbra is lehetséges a beállítás módosítása és a naplózott JNDI parancsok végrehajtása.
Figyelem: a megfelelő beállítást manuálisan kell beállítani, hogy a 2.15-ös változatok valóban biztonságosak legyenek. Ennek ellenére a Luna Sec azt javasolja a szállítóknak és szervezeteknek, hogy frissítsenek a Log4j 2.16-ra. A 2.16-ot az Apache Software Foundation tette közzé válaszul a LunaSec-re. Az új verzió teljesen eltávolítja a sérülékeny beállítást, így lehetetlenné teszi a visszaélések feltételeinek megteremtését.