REPORTAGE
New Security Magazine 161 – maart 2022
Log4Shell legt bij miljoenen gebruikers kwetsbaarheid bloot
Een miniem stukje software dat wijdverspreid gebruikt wordt om activiteiten te loggen, is het voorwerp van een ernstig lek. De Log4j software waarover het gaat is aanwezig in miljoenen computers, die nu een ernstig gevaar lopen op misbruik. De software wordt ook in onze sector breed ingezet in allerlei softwareprogramma’s. Om u een idee te geven van de omvang: het U.S. Cybersecurity & Infrastructure Security Agency, dat is de Amerikaanse cyberwaakhond, noemde Log4Shell één van de ernstigste kwetsbaarheden die ze in hun bestaan hebben gezien. Dat wordt ook bevestigd door de CVSS score. CVSS staat voluit voor Common Vulnerability Scoring System en is een industriestandaard die onafhankelijk bepaalt wat de ernst is van een kwetsbaarheid of lek in software. Het lek in Log4j kreeg de maximale score van 10. Er zijn ondertussen al honderdduizenden, misschien wel miljoenen, pogingen gedaan om het lek te misbruiken.
Wat doet Log4j?
Het is opmerkelijk dat een miniem stukje software dergelijke ingrijpende gevolgen kan creëren. In principe dient Log4j voor de eenvoudige registratie van gebeurtenissen zoals fouten of routinematige systeembewerkingen. Het geeft hierover diagnostische berichten door aan systeembeheerders en gebruikers. Een eenvoudig voorbeeld maakt duidelijk wat log4j concreet doet: wie een verkeerde link intikt of aanklikt, zal verwezen worden naar de bekende 404-foutmeldingspagina. De webserver die het domein beheert van de weblink die je probeerde te bereiken, vertelt u op deze manier dat de gevraagde webpagina hier niet terug te vinden is. Tegelijkertijd wordt deze gebeurtenis door de Log4j software ook geregistreerd in een logboek voor de systeembeheerders van de server. Zij kunnen deze informatie dan gebruiken om de foute link recht te zetten. Log4j creëert gelijkaardige diagnostische boodschappen voor duizenden toepassingen. In het online spel Minecraft wordt Log4j bijvoorbeeld door de server gebruikt om activiteiten te loggen zoals het totaal gebruikte geheugen en de commando’s die de gebruiker in de console typt. In principe zijn alle toestellen die via de log4J-versies 2.0 tot 2.17 data loggen via hun clouddienst getroffen. Het gaat onder meer om de diensten van Atlassian, Amazon, Microsoft Azure, Cisco, Commvault, ESRI, Exact, Fortinet, JetBrains, Nelson, Nutanix, OpenMRS, Oracle, Red Hat, Splunk, Soft en VMware. Deze lijst maakt meteen duidelijk dat het probleem enorm breed is. Loggen is één van de basisfuncties van de meeste software, waardoor Log4j zeer wijdverbreid is. Naast populaire spellen wordt het gebruikt in cloud-diensten zoals Apple iCloud en Amazon Web Services, maar ook in een breed scala van programma’s. Helaas ook in security tools zoals in camera’s en centrales en toegangscontrolesystemen.
De omvang betekent dat hackers kunnen kiezen uit een groot aantal doelwitten: thuisgebruikers, dienstverleners, ontwikkelaars van broncode en zelfs beveiligingsonderzoekers. Grote bedrijven als Amazon kunnen hun webdiensten snel patchen om te voorkomen dat hackers er misbruik van maken, maar er zijn veel meer organisaties die er langer over zullen doen om hun systemen te patchen, en sommige weten misschien niet eens dat ze dat moeten doen.
Hoe werkt Log4Shell?
Log4Shell opereert door misbruik te maken van een functie in Log4j waarmee gebruikers aangepaste code kunnen opgeven voor de opmaak van een logbericht. Met deze functie kan Log4j bijvoorbeeld niet alleen de gebruikersnaam loggen die bij elke poging om in te loggen op de server hoort, maar ook de echte naam van de persoon, als een aparte server een directory heeft die gebruikersnamen en echte namen koppelt. Om dit te doen, moet de Log4j server communiceren met de server die de echte namen bewaart. Helaas kan dit soort code voor meer gebruikt worden dan alleen het opmaken van logberichten. Log4j stelt servers van derden in staat om software code in te voeren die allerlei acties kan uitvoeren op de beoogde computer. Dit zet de deur wagenwijd open voor malafide activiteiten zoals het stelen van gevoelige informatie, het overnemen van de controle over het systeem en het verspreiden van kwaadaardige inhoud naar andere gebruikers die communiceren met de getroffen server.
Makkelijk te misbruiken
De enorme omvang van deze kwetsbaarheid is niet het enige probleem. Het is namelijk ook nog eens relatief eenvoudig om de fout uit te buiten, wat de lat erg laag legt voor criminelen om op de trein te springen. Hackers speuren het internet af op zoek naar kwetsbare servers. Om een aanval uit te voeren, proberen ze een logbericht te genereren (zoals een 404-foutmelding). De query bevat kwaadwillig opgestelde tekst, die Log4j verwerkt als instructie. Deze instructies kunnen een zogeheten ‘reverse shell’ creëren, waarmee de aanvallende server de doelserver op afstand kan besturen, of ze kunnen de doelserver onderdeel maken van een botnet. Botnets gebruiken meerdere gekaapte computers om op hun beurt gecoördineerde acties uit te voeren namens de hackers.
Een groot aantal hackers probeerde Log4Shell ondertussen al te misbruiken. Dit varieert van ransomware bendes die servers platleggen tot hackersgroepen die bitcoin proberen te delven en hackers gelieerd aan Rusland, China en Noord-Korea die toegang proberen te krijgen tot gevoelige informatie van geopolitieke rivalen. Het Belgische ministerie van Defensie meldde ondertussen dat hun computers werden aangevallen met Log4Shell.
Welke actie ondernemen?
Als installateur is het niet eenvoudig om zelf te achterhalen of Log4j in een bepaald softwaresysteem wordt gebruikt, omdat het vaak wordt een onderdeeltje is van andere software. Het is met andere woorden moeilijk om het zelf op te zoeken. Deze taak ligt vooral bij de producenten die hun software moeten inventariseren om de aanwezigheid ervan vast te stellen. Daar knelt het schoentje evenwel, omdat de positie die Log4j inneemt in de softwareketen zo wijdverbreid is. De software kan ingezet worden door verschillende organisaties en in meerdere softwarepakketten voorkomen, voordat het eindigt in een eindproduct. Met andere woorden: het is mogelijk dat een cloudservice aangeeft dat zij geen gebruik maken van log4j en hun producten dus veilig zijn, maar dat de software van de veiligheidscamera die via dezelfde cloud loopt wél getroffen is. Aangezien Log4j op verschillende manieren in softwareproducten aanwezig is, vereist de verspreiding van een patch de coördinatie van de Log4j ontwikkelaar, van de softwareproducenten die Log4j gebruiken, van de softwaredistributeurs, systeembeheerders en gebruikers. Bovendien is het gevolg van de diversiteit in toepassingen van Log4j, dat er geen pasklare oplossing bestaat voor het patchen ervan. Afhankelijk van hoe Log4j in een bepaald systeem is ingebouwd, zal de oplossing een andere benadering vereisen. Er kan een grondige systeemupdate nodig zijn, zoals gedaan is voor sommige Cisco-routers. In andere gevallen volstaat het updaten naar een nieuwe versie van de software, of kan het handmatig verwijderen van de kwetsbare code een oplossing vormen. Het hoeft niet gezegd dat het een zekere tijd vereist voor een oplossing daadwerkelijk tot bij alle gebruikers raakt. De schattingen naar de benodigde tijd om alle software weer veilig te maken variëren over het algemeen van enkele weken tot meerdere maanden. Als het gedrag in het verleden echter een indicatie is voor de toekomst, is het reëel dat het Log4j-lek nog jaren zal opduiken.
In principe is het de taak van de diverse software- en productenontwikkelaars om u te melden dat hun systemen kwetsbaar zijn. Zo zagen we in de afgelopen weken communicatie voorbijkomen van onder meer Mobotix, Hikvision, Dahua en Bosch Security Systems over hun systemen, terwijl ook groothandels als CDVI en Aras hetzelfde deden. Voor installateurs is het aan te raden om contact op te nemen met de producenten en/of verkopers van uw merken om u te vergewissen of er mogelijk door u geplaatste systemen kwetsbaar kunnen zijn en welke stappen u zelf kan ondernemen om alles weer veilig te maken. Maar hou wel in het achterhoofd dat er nog dagelijks kwetsbaarheden ontdekt worden, nauwgezet opvolgen in de komende weken en maanden is dus zeker geen slecht idee.

