Een kwetsbaarheid is een zwakke plek in software of hardware, over het algemeen veroorzaakt door een programmeerfout. Een kwetsbaarheid kan misbruikt worden door een kwaadwillend persoon om de software te laten crashen of om acties uit te laten voeren zoals het verwijderen van bestanden of toegang verlenen tot een computer of server.
Geconstateerde kwetsbaarheden krijgen een risico classificatie. De risico classificatie wordt vastgesteld in een zogenaamde CVSS-score. Deze loopt van 1 (weinig risico) tot 10 (hoogste risico).
Er is een ernstige kwetsbaarheid aangetroffen in de veelgebruikte Log4j 2-tool, die gebruikt wordt voor het loggen van Java-applicaties.
De kwetsbaarheid in de opensourcetool Apache Log4j 2 maakt het mogelijk voor ongeauthenticeerden om op afstand willekeurige code te injecteren en uit te voeren met de rechten van de betreffende Java-applicatie. De Java-logtool wordt door veel organisaties gebruikt voor onder andere clouddiensten en enterprise-apps.
De Apache Log4j heeft enorme impact. De kwetsbaarheid heeft inmiddels de naam “Log4Shell” gekregen. De risico classificatie is 10. Dit is de hoogste mogelijke classificatie binnen de schaal.
De uitdaging zit in het feit dat Java is als suiker, het zit overal in. Java in combinatie met Log4J wordt veel gebruikt als basis of als bouwsteen. Veel verschillende applicaties van verschillende vendoren zijn hierdoor mogelijk kwetsbaar. Apache Log4J betreft een Java library en biedt een log framework voor toepassingen gebaseerd op Java. Zowel Java als de Log4J library worden veel gebruikt in softwaretoepassingen en -services over de hele wereld. Door de kwetsbaarheid kunnen cybercriminelen controle krijgen over het systeem dat de Java gebaseerde applicaties host. In vaktermen wordt dit een “Unauthenticated Remote Code Execution” genoemd.
Uitbuiting van de kwetsbaarheid is relatief eenvoudig. De kwetsbaarheid kan worden getriggerd, wanneer een applicatie de inhoud van een invoerveld wegschrijft in een logevent met behulp van de Log4J library. Bijvoorbeeld een login scherm van een applicatie, waarbij de username wordt weggeschreven als logevent bij een foutieve login poging. Daarmee is het invoerveld username bruikbaar voor een aanvaller. Dit is niet beperkt tot het invoerveld username zoals genoemd in het voorbeeld, maar alle invoervelden in een applicatie.
Een cybercrimineel kan deze kwetsbaarheid alleen misbruiken wanneer deze toegang heeft tot de applicatie. Applicaties direct ontsloten op het internet lopen hierdoor een groot risico.
Momenteel wordt er door zowel cybersecurity bedrijven als cybercriminelen actief gescand op het internet naar kwetsbare systemen. Hierbij hebben sommige cybercriminelen voor specifieke applicaties reeds uitgevonden hoe de kwetsbaarheid kan worden uitgebuit. Dit is echter per applicatie anders. Van grootschalige uitbuiting van de kwetsbaarheid in specifieke applicaties is (nog) geen sprake. De verwachting is dat dit komende dagen wel toe kan nemen.
Welke acties zijn gewenst:
- 1. Stel vast welke applicaties worden gebruikt binnen uw organisatie. Focus hierbij initieel op applicaties die direct vanaf het internet te benaderen zijn, zonder tussenkomst van een SSL VPN verbinding.
- 2. Ga na welke applicaties kwetsbaar zijn. Er zijn verschillende scan/check scripts beschikbaar die kunnen helpen bij het identificeren van kwetsbare applicaties.
- 3. Installeer een patch of pas een workaround toe wanneer deze beschikbaar zijn.
- Een veel geadviseerde workaround is het starten van de server met de directive ‘log4j2.formatMsgNoLookups’ met de waarde ‘True’. Dit kan worden bereikt door de tekst “‐formatMsgNoLookups=True” aan het JVM commando toe te voegen waarmee de applicatie wordt gestart.
- Voor kritieke applicaties, zorg dat de server die de applicatie host, geen verbindingen kan opzetten naar het internet. Doorgaans zijn deze verbindingen niet nodig voor de werking van de applicatie. Dit voorkomt dat de aanvaller de benodigde aanvullende kwaadaardige code kan downloaden.
- 4. Controleer uw omgeving op afwijkende uitgaande verbindingen, niet legitieme configuratie wijzigingen, niet legitieme nieuwe useraccounts of afwijkende systeemprocessen.
Er zijn mogelijkheden om misbruik te detecteren door te zoeken in de logging. Wij staan graag voor u klaar! Wilt u meer weten? Neem gerust contact op via info@ietee.nl of bel 0162-484940.