View more
Welke invloed heeft Log4Shell op jouw IT-omgeving?

Kwetsbaarheden worden elke dag ontdekt. Hoewel sommige serieus kunnen zijn, gaan bij het Log4jShell lek alle bellen rinkelen. Want er zijn maar weinig bedrijven waar dit lek geen invloed op heeft, omdat de Log4J-bibliotheek zo wijdverbreid wordt ingezet.

Log4Shell, het lek van dit decennia.

En meteen heeft iedereen natuurlijk allerlei vragen: ‘Wat is het?’, ‘Wie treft het en waarom is dit zo’n enge kwetsbaarheid?’ èn ‘Waarom is het hele internet in paniek?’

We gaan je meenemen in hetgeen we op dit moment weten over het lek. En onderaan deze tekst vind je nog aanvullende technische informatie, voor onze technische lezers.

WAAR IS HET ONTDEKT?
Begin november is deze lek ontdekt door het cloud beveiligingsteam van Alibaba bij de leverancier Apache Foundation. Samen hebben ze ervoor gezorgd dat er een oplossing beschikbaar was, voordat de details van de kwetsbaarheid afgelopen vrijdag openbaar werden gemaakt. Het Log4J-project van Apache Foundation wordt beschouwd als een van de gemakkelijkste en is een veelgebruikt open source tool bij het bouwen van een applicatie. 

HOE WERKT LOG4SHELL?
Wanneer een programmeur code schrijft, schrijft hij/zij vaak niet iedere regel code opnieuw, maar hergebruikt dezelfde stukjes code steeds opnieuw voor soortgelijke taken. Deze specifieke codes worden opgeslagen in de Log4J-bilbliotheek, door mensen en bedrijven, om anderen te helpen sneller te kunnen programmeren. Dit is de kracht van deze bibliotheek; schrijf een code één keer, gebruik het vele malen. 

WAT IS DE LOG4SHELL-KWETSBAARHEID?
Het Alibaba-team ontdekte dat de Log4J niet naar behoren werkte. Normaal gesproken legt een zogenaamde logger codes vast van wat er gebeurt en maakt hier een notitie van. De Log4J gebruikt, net als alle andere programma’s, daarbij variabelen [tijd, datum] om gegevens in te vullen. Dit moet echter voorzichtig gebeuren, vooral als het gegevens van een eindgebruiker (een mogelijke aanvaller!) opneemt. 

Voorbeeld:
Denk aan een eenvoudig programma zoals een Hello-programma. Als je start vraagt het om je naam in te voeren: als je Jaap heet, antwoordt het “Hallo, Jaap!”. Om dit te doen heeft het een variabele nodig voor Naam. Het programma kan er dus als volgt uitzien:
$naam = [invoer van gebruiker]
print ‘Hallo, $naam’ 

Het $ teken vertelt het programma om te zoeken naar een variabele genaamd $name. De variabele wordt toegewezen met de invoer van de gebruiker, in dit voorbeeld het woord “Jaap”. 

WAT GAAT ER NU MIS BIJ LOG4SHELL?
Wanneer Log4J de logboeken schrijft van wat er gebeurt, volgt het een sjabloon en vult het dergelijke variabelen in voordat het zijn record schrijft. Bij het schrijven van het record gaat het mis. De Log4shell wordt nu ‘verteld’ om een andere code in te voeren en weer uit te voeren, zonder te controleren wie het heeft geschreven of waar het vandaan komt.
Dit betekent dat aanvallers elke code kunnen uitvoeren die ze willen op de computer van het slachtoffer. En dan staat de deur staat open voor cyber aanvallers.

WAT BETEKENT DIT NU VOOR JOU?
Wereldwijd hebben vakmensen gezocht en geprobeerd dit probleem op te lossen. Het is helaas te vroeg om al te juichen, maar er wordt hard aan gewerkt. Je gaat merken dat je computer en je apparaten in de komende dagen, gaan vragen updates uit te voeren, het zogenaamde patching en het hardenen van software en systemen. Het is verstandig om dit direct te doen, hoe frustrerend dit ook kan zijn. Het is de enige manier om de kans op een aanval te verminderen.

EEN DING IS DUIDELIJK…
Dit soort kwetsbaarheden en de snelheid waarmee criminele hackers in staat zijn om die te misbruiken, maakt dat je als bedrijf niet kan zitten wachten om je beveiligingsmaatregelen op te schalen. En blijf goed nadenken hoe je het risico beperkt als iemand toch toegang tot je data heeft verkregen.

Cubics heeft een team van specialisten klaarstaan die je hier alles over kunnen vertellen. Wil je meer weten, neem dan gerust contact met ons op via communicatie@cubics.nl.

Speciaal voor onze technische lezers.

 

TECHNISCHE DETAILS VAN HET LOG4SHELL-BEVEILIGINGSLEK

De iets technischere mensen onder ons kunnen dit als een samenvatting lezen, hier is een eenvoudig overzicht van wat er onder de motorkap gebeurt.

  • Aanvaller injecteert JNDI-lookup in een veld dat waarschijnlijk wordt vastgelegd b.v. Gebruikersagent’,
  • De string wordt doorgegeven aan Log4J voor logging,
  • Log4J ziet de string en zoekt een kwaadwillende LDAP-server onder controle van een aanvaller,
  • De LDAP-server reageert met kwaadaardige code,
  • Log4J voert de kwaadaardige code uit.


HOE VOORKOM JE EEN LOG4SHELL-AANVAL? 

En hier zijn een paar dingen die je kunt doen, om Log4Shell in jouw toepassingen te voorkomen en de schade te beperken:

  • Blokkeer $(jndi:ldap:// in uw WAF.
  • Patch Log4J naar de laatste versie.
  • Sion (ten minste log4j-2.1.50.rc2)Schakel Log4J uit (of vervang door iets anders)
  • Schakel JNDI-lookups uit door de systeemeigenschap ‘log4j2.formatMsgNoLookups’ in te stellen op True.
  • Externe codebases uitschakelen.

Hoewel sommige hiervan eenvoudig uit te voeren zijn, is het vinden van het gebruik van Log4J de grootste uitdaging. Succes en mocht het niet lukken, bel ons dan gerust!