Na de paniek over het Log4Shell veiligheidslek, het grootste aller tijden, bleef de oerknal uit. Moet de ramp nog komen of zijn we over het ergste heen? Veel waarnemers uit de beveiligingswereld beschouwden het Log4Shell-lek als een van de grootste softwarekwetsbaarheden ooit, zo niet het grootste. Ook de aanvankelijke CVSS-score van 10 deed de meeste beheerders schrikken, en menig beveiligingsexpert heeft er begin december waarschijnlijk zijn weekendplannen door afgezegd.
De kwetsbaarheid in het Java logging framework Log4j is zo perfide omdat Java overal aanwezig is en aanvallers in veel gevallen maar iets in het log van een programma hoeven te schrijven om code met admin-rechten op het betreffende systeem uit te voeren. En dingen in een toepassingslogboek schrijven is gemakkelijk – vaak kan het met een eenvoudig webverzoek. In de Java-versie van het populaire videospel Minecraft was zelfs een chatbericht in het spel al genoeg.
Hoe werkt Log4Shell?
Log4j schrijft niet zomaar de gegevens die van buitenaf komen – en dus als potentieel gevaarlijk moeten worden beschouwd – in een logbestand. Het deserialiseert deze strings en behandelt de inhoud als Java-objecten, d.w.z. commando’s die moeten worden uitgevoerd.
Op een bepaald moment bedachten de Java-ontwikkelaars dat het praktisch zou zijn als Java configuratiebestanden van het net zou kunnen herladen, dus ook uit de grote hoeveelheid bronnen van het internet. Dus vonden zij de Java Naming and Directory Interface (JNDI) uit – die precies dat doet: Java objecten van het net herladen tijdens runtime.
Veiligheidslek
In de context van Log4j wordt JNDI echter een grootkaliber pistool dat rechtstreeks in de eigen voet schiet. Want nu kan een aanvaller eenvoudig een pad naar kwaadaardige code schrijven in zijn webverzoeken of Minecraft chatberichten. En helaas, Log4j schrijft dit pad niet gewoon weg als tekst, maar interpreteert het dankzij JNDI als een commando, zet de kwaadaardige code op het systeem en voert die uit.
En omdat een logger meestal admin-rechten heeft, heeft de aanvaller met een eenvoudig verzoek het systeem gewoon volledig overgenomen. Al met al is het meer een feature dan een bug.
Log4Shell veiligheidslek
Gezien het grote aantal kwetsbare systemen en het gemak waarmee Log4Shell-gaten door aanvallers kunnen worden uitgebuit, is het verbazingwekkend dat de oerknal nog niet heeft plaatsgevonden. Hoewel het grootste deel van de wereldwijde internetinfrastructuur aanvankelijk werd getroffen – met inbegrip van Amazon’s AWS, Google’s Cloud Platform, Microsoft’s Azure, Apple’s iCloud, Cloudflare’s servers en webdiensten zoals Twitter – waren er verrassend genoeg geen grote uitvallen.
De enige krantenkoppen waren een succesvolle aanval op het Belgische ministerie van Defensie en een reeks hacks waarbij criminelen ransomware en cryptominer installeerden. Tot dusver lijkt het internet er in zijn geheel vrij gemakkelijk van af te zijn gekomen. Waarom is dat?
IT industrie wakker door Log4Shell veiligheidslek
Na de eerste berichten over de kwetsbaarheid verspreidde een stemming van rampspoed zich als een bliksemschicht – ironisch genoeg vooral via Twitter, dat op dat moment nog kwetsbaar was. Dit lijkt de hele IT-industrie in één keer wakker te hebben geschud.
Het Engelse nieuwsportaal The Register vergelijkt dit met de Y2K-paniek aan het begin van de 21e eeuw. Alleen dat de route die het nieuws nu aflegde binnen enkele minuten het effect ontwikkelde dat toen pas na enkele maanden werd bereikt.
Effectief en snel dichten
Het was onmiddellijk duidelijk hoe wijdverbreid, gevaarlijk en gemakkelijk te exploiteren het Log4Shell veiligheidslek was. Het gevolg was dat alle beveiligingsmensen die goed geïnformeerd waren en hun geld waard zijn, onmiddellijk kwetsbare software in hun verantwoordelijkheidsgebied gingen opsporen en beveiligen, of deze eerst uit de circulatie haalden.
Dit collectieve machtsvertoon van de IT-industrie lijkt op het eerste gezicht zeer effectief te zijn geweest. Alle grote spelers met overeenkomstige standaardwerkwijzen (SOP’s) en beveiligingsbeleid hadden hun systemen begin december blijkbaar binnen korte tijd beveiligd tegen Log4Shell-aanvallen.
Het waarschuwingsniveau voor de kwetsbaarheid is verlaagd van rood naar geel. De situatie is “aanzienlijk verbeterd”, aldus het BSI (Bundesamt für Sicherheit in der Informationstechnik). Ook het Nationaal Cyber Security Centrum (NCSC) van Nederland ziet de dreigingssituatie als minder zorgwekkend dan in december.
Blijf op de hoogte van de nieuwste informatie en tips!
Schrijf je in voor de nieuwsbrief:
Beheerders moeten waakzaam blijven
Toch moeten beheerders waakzaam blijven, aldus een woordvoerder van het NCSC. Het valt te verwachten dat aanvallers zullen blijven uitkijken naar kwetsbare systemen. Het is ook waarschijnlijk dat gerichte aanvallen op ongepatchte systemen in de nabije toekomst zullen doorgaan.
Hoe zit het met de veiligheid van alle kleine en middelgrote ondernemingen, publieke en private organisaties of zelfs individuen wier apparaten zijn getroffen? Java is immers overal, van de servers die onze clouds draaiende houden tot miljoenen embedded systemen in smarthomes en industriële installaties over de hele wereld.
93 procent van alle bedrijfsomgevingen kwetsbaar
Alleen al in de cloud was maar liefst 93 procent van alle bedrijfsomgevingen kwetsbaar toen het veiligheidslek werd gepubliceerd, schatten auditors Ernest & Young en cloud security startup Wiz. Hoeveel zelfbeheerde servers, routers en smart home-apparaten kwetsbare Java-loggers aan boord hadden of nog hebben, is moeilijk in te schatten.
Holger Unterbrink, verantwoordelijk voor dreigingsanalyse bij Cisco’s Talos Group, gelooft dat het gevaar nog lang niet voorbij is. Hoewel sinds het bekend worden van de Log4Shell-kwetsbaarheid “slechts beperkte activiteiten van aanvallers aantoonbaar zijn waargenomen”, kan niet worden gesteld dat alles veilig is.
Unterbrink ziet “problemen voor veel bedrijven om alle kwetsbare punten te vinden en te patchen” waar Log4j in gebruik is. Dit geeft “daders de tijd om complexe, gerichte en effectieve aanvallen uit te voeren”. Log4j is dus gewoon te wijdverbreid; vooral kleinere bedrijven lijken slecht opgewassen tegen de taak om hun hele infrastructuur te beveiligen.
Aanvallers hebben zich al lang geleden ingegraven in het bedrijfsnetwerk
Het beveiligingsbedrijf Sophos schat dat het Log4Shell beveiligingslek nog jaren mee zal gaan en kopzorgen kan geven. Experts van het bedrijf vermoeden dat een groot aantal systemen – en de netwerken waartoe zij behoren – door succesvolle Log4Shell-aanvallen zijn gecompromitteerd zonder te zijn ontdekt.
De aanvallers gebruikten de kwetsbaarheid om ongemerkt een bruggenhoofd te vormen – zo luidt de theorie – voordat het gat werd gedicht. In zo’n geval hebben de met de beveiliging belaste beheerders en beveiligingsteams misschien niet eens gemerkt dat deze systemen al in handen van aanvallers waren, omdat zij een andere achterdeur hebben geïnstalleerd en vervolgens stil houden.
Wanneer komen de infecties aan het licht
In dit geval is het niet genoeg om de Log4Shell kwetsbaarheden te patchen. Met andere woorden, er kan een enorm aantal systemen bestaan die er veilig uitzien, maar in feite onder controle van aanvallers staan en elk moment zombies kunnen worden.
Eind december kwam c’t-redacteur Mirko Dölle tot een vergelijkbaar oordeel: “Staats- en criminele aanvallers hebben Log4Shell overwegend gebruikt om zo geruisloos en onopgemerkt mogelijk backdoors en bruggenhoofden te installeren in voorheen streng beveiligde gebieden. De eigenlijke aanvallen op de IT-infrastructuur door middel van gegevensdiefstal of encryptietrojanen en de daaropvolgende chantage moeten nog komen.”
“Gewoonlijk verkennen aanvallers hun slachtoffers uitvoerig voordat zij toeslaan – ook omdat alle admins momenteel gealarmeerd zijn en zelfs op de kleinste tekenen letten. In het voorjaar, wanneer de dagelijkse routine is teruggekeerd en de aandacht voor het Log4Shell beveiligingslek verslapt is, zal het vuur ontbranden.”
De computerbeveiligers wachten effecten Log4shell veiligheidslek af
Tot dusver is deze fase blijkbaar nog niet begonnen. Maar iedereen in de beveiligingsgemeenschap lijkt te wachten tot de late effecten van het Log4Shell veiligheidslek zichtbaar worden.
Unterbrink heeft een soortgelijke mening. Bij Cisco Talos gaat men ervan uit “dat aanvallers zich via Log4J toegang verschaffen tot netwerken en vervolgens maandenlang inactief blijven. Geavanceerde hackers gebruiken deze tijd meestal om de omgeving te verkennen en verdere stappen te plannen.” Unterbrink verwacht dat er in de komende maanden beveiligingsincidenten aan het licht zullen komen “waarvan de oorspronkelijke infectie-ingang Log4j was”.
Log4Shell veiligheidslek: meer een stille dreiging in plaats van de echt grote knal
Hoewel Log4Shell een echt gevaarlijke kwetsbaarheid is, heeft de wijdverspreide waarschuwing van het publiek en de snelle actie van de verantwoordelijken, vooral bij de grote techbedrijven, voorlopig erger voorkomen. Hoewel de scans van bedreigingen en de aanvallen volgens verschillende antivirusfabrikanten sinds begin januari aanzienlijk zijn afgenomen, moet er nog steeds van worden uitgegaan dat er tienduizenden, zo niet honderdduizenden systemen op het internet sluimeren die kwetsbaar zijn voor het gat.
Omdat een aanval via Log4Shell altijd helemaal op maat moet zijn voor het programma waarin de logger wordt gebruikt, kan het zijn dat bijna alle systemen die volledig automatisch kunnen worden overgenomen, al zijn aangevallen. Systemen die nog kwetsbaar zijn, kunnen echter nog steeds vrij gemakkelijk het slachtoffer worden van het lek als een aanvaller de moeite neemt om zich erop te richten.
Evenzo blijft er een onmogelijk te beoordelen onbekend aantal systemen die veilig lijken, maar dat niet zijn omdat zij onontdekte bruggehoofden van de eerste aanvalsgolven in december bevatten. Log4Shell zal dus waarschijnlijk nog voor veel onrust zorgen. Maar niet, zoals sommigen misschien verwachten – op veel plaatsen tegelijk in één klap. Minder grootschalig, maar niet noodzakelijk minder verwoestend.
Fabian A. Scherschel en Nick Muijs