De grootste, meest kritieke software-kwetsbaarheid van het afgelopen decennium. Geen gewone zero day – een onontdekte softwarebug die hackers in staat stelt computers binnen te dringen – maar een clusterbom, die honderden zo niet duizenden beveiligingsgaten heeft geslagen in allerlei computersystemen wereldwijd – ook op plaatsen waar het niet verwacht werd.
Cybersecurityexperts wereldwijd zijn in alle staten over het onschuldig ogende logtooltje Log4J. Wat is er aan de hand?
Log4J is één van de bouwstenen van het internet, maar bleek eind vorige week een ernstige kwetsbaarheid te bevatten. En dat terwijl het erg veel gebruikt wordt in allerlei computerprogramma’s. Log4J, de naam zegt het al, vereenvoudigt het registreren (loggen) van handelingen die computerprogramma’s geschreven in de programmeertaal Java uitvoert. Het legt zo een naslagwerk aan met technische details. Ontwikkelaars gebruiken die logbestanden om te kijken of hun programma’s naar behoren functioneren.
Log4J bleek die handelingen echter niet alleen vast te leggen, maar probeerde ze ook uit te voeren. Door de registraties slim te manipuleren kunnen hackers Log4J hun eigen, kwaadaardige code laten downloaden en uitvoeren. Zo kunnen ze systemen overnemen, gijzelsoftware installeren of gevoelige data stelen. Dat is op zichzelf al genoeg reden tot zorg, maar het probleem met Log4J is venijniger. Niemand weet precies welke programma’s en systemen het logtooltje allemaal gebruiken.
High/high
Vrijdag verstuurde het Nationaal Cybersecurity Centrum (NCSC), een onderdeel van het ministerie van Justie en Veiligheid dat verantwoordelijk is voor de digitale veiligheid van Nederland, de zwaarst mogelijke waarschuwing voor de problemen. De classificatie: high/high – een hoog risico op misbruik, met een grote kans op ernstige gevolgen.
„Log4J is als suiker”, legt Hans de Vries, directeur van het NCSC, uit. „Het zit overal in, ook op plekken waar je het niet verwacht. Het is complex omdat het een supplychain-vraagstuk is: de ene ontwikkelaar maakt gebruik van een stukje code en een andere ontwikkelaar maakt ook dáár weer gebruik van. Log4J is soms onderdeel van programmatuur zonder dat mensen weten dát het onderdeel is van programmatuur. Dat maakt het zo anders.”
:format(jpeg):fill(f8f8f8,true)/s3/static.nrc.nl/bvhw/wp-content/blogs.dir/114/files/2019/01/hijink-marc-online-artikel.png)
Log4J is open source – iedereen kan de software gebruiken in eigen programma’s. Programmeurs houden er niet van om het wiel opnieuw uit te vinden, dus als iemand anders een ogenschijnlijk goed functionerend programma heeft geschreven dat loggen simpeler maakt, zal dat ook zijn weg vinden in andere programma’s.
Dave Maasland, directeur van beveiligingsbedrijf ESET, vergelijkt Log4J met asbest. „Asbest vind je terug in huizen die in een bepaalde periode gebouwd werden. Java gebruikte op een gegeven moment ook iedereen. Bedrijven moeten nu digitaal asbestonderzoek doen: de muren openbreken en kijken of zij ook gebruikmaken van dit tooltje.”
Calamiteit
De problemen zijn zo complex dat het NCSC meer op de voorgrond treedt als coördinator, zegt De Vries. „In tegenstelling tot vorige problemen, bijvoorbeeld rond de Microsoft Exchange-servers, is er nu niet één software-pakket waarvan bedrijven weten dat ze het gebruiken. Dat kun je dan aan of uit zetten, of beter beveiligen. Log4j is anders.”
Afgelopen weekend bestempelde het NCSC de problemen rond Log4J formeel als calamiteit. Zaterdag en zondag organiseerde het centrum digitale bijeenkomsten met experts uit de cybersecurity-industrie om grip te krijgen op het probleem. Martijn Jonk, hoofd van het calamiteitenteam, zegt: „Als wij als NCSC met onze doorgaans hele goede informatiepositie en internationaal netwerk al heel veel vragen hebben, dan kun je er donder opzeggen dat ook veel anderen vragen hebben.”
Want vragen zijn er veel: waar zit Log4J in? Zijn die systemen kwetsbaar? Hebben leveranciers al een oplossing gevonden? Zijn er scans beschikbaar die de beveiligingslekken automatisch kunnen detecteren?
De gesprekken leiden tot een digitale lijst met mogelijke kwetsbare software, die ook internationaal als belangrijke bron van informatie gezien wordt. De lijst telt meer dan duizend producten. Het is eerder de vraag welke grote techbedrijven er niet op staan: Amazon, Oracle, Cisco, Microsoft, Siemens staan er allemaal op.
De vrijwilligers die Log4J beheren hebben afgelopen donderdag een nieuwe versie verspreid, waarin het gat gedicht is. Normaal is dan het advies: update installeren (patchen) en dan kijken of niemand in de tussentijd binnengedrongen is. Nu luidt het advies van het NCSC anders. Jonk: „Wij zeggen: wees alert en bereid je voor op misbruik. Dat betekent: ga ervan uit dat hackers in de komende periode misbruik maken van je systeem. Heel veel organisaties weten niet of ze Log4J ergens in hun systemen hebben en geen van de scantools werkt 100 procent.” De lijst zal nog groeien, verwacht De Vries. „Leveranciers zijn nog steeds aan het onderzoeken of ze kwetsbaar zijn. Ook computerprogramma’s die niet direct aan het internet hangen kunnen kwetsbaar zijn. Het is echt een hoofdbreker.”
/s3/static.nrc.nl/bvhw/files/2021/03/data68399237-7b764c.jpg)
Toeters en bellen
Cybersecurity-expert Bert Hubert dook de afgelopen dagen de broncode van Log4J in en verbaasde zich over wat hij daar aantrof. „Log4J is 200.000 regels code. Dat is echt enorm lang, terwijl het alleen log-regels moet schrijven. Er zitten allemaal features in en toeters en bellen bij en het gáát maar door. Het leidt bij mij tot het gevoel dat we hier nog niet klaar mee zijn. Ik sluit niet uit dat er meer problemen gevonden worden.”
Elk programma kan fouten bevatten, zegt NCSC-directeur De Vries. „Bij zowel open als closed source ben je afhankelijk van een aantal ontwikkelaars die hun ziel en zaligheid in zetten en een keer een denkfout kunnen maken - het kan.” Dat iets open source is en populair betekent niet dat het zomaar vertrouwd moet worden, vindt Hubert. ESET-directeur Maasland: „De vraag is ook: wiens taak is het om daadwerkelijk naar de code te kijken, en als niemand ernaar kijkt wat dan?”
Volgens De Vries moet er meer aandacht komen voor de informatieveiligheid onder programmeurs. „Dit toont aan dat we afhankelijk zijn van grote stukken software en dat als het fout gaat wij de problemen wel op kunnen lossen, maar nog beter is het om ze te voorkomen. We moeten zorgen dat de huidige generatie programmeurs met veiligheid in het achterhoofd programmeert. Dat helpt in ieder geval de shit van de toekomst voorkomen.”
Woensdag organiseert het NCSC een bijeenkomst voor systeembeheerders of IT-managers die niet direct onder zijn verantwoordelijkheid vallen. Jonk: „Hoewel we nu nog beperkt misbruik van Log4J zien, zegt dat momenteel nog niks. Cybercriminelen kunnen best al binnen zijn, maar nog niet opgemerkt zijn. De mogelijk gevolgschade van misbruik van deze kwetsbaarheid kan heel groot zijn. Wij maken ons grote zorgen over de komende periode. Alleen weten we nog niet echt hoe dat eruit gaat zien.”
Grote softwarebedrijven zullen de komende dagen snel uitsluitsel geven of hun software kwetsbaar is voor misbruik van Log4J en zo nodig patches publiceren. Over een andere groep maakt Hubert zich meer zorgen: „Banken, verzekeraars en andere bedrijven die ooit maatwerksoftware hebben laten maken. Die is inmiddels al lang in gebruik en het contact met de leverancier is dan zo’n beetje over. Java-programma’s blijven rustig zeven of tien jaar draaien. In dat soort programma’s zullen we ook in 2026 nog ontdekken dat er een oude Log4J in zit.”