Van ons persoonlijke leven, bedrijven, zorg, telecom tot overheid en nutsvoorzieningen: onze maatschappij wordt steeds afhankelijker van de digitale infrastructuur. De COVID-19 pandemie maakte dit al duidelijk. Door diverse ransom- en DDoS aanvallen staat cybersecurity hoog op de agenda.
De huidige kwetsbaarheid in Apache log4j project en log4shell exploit laat opnieuw zien hoe afhankelijk we zijn van legacy softwarecomponenten met alle risico’s van dien. Met log4shell lijkt zich een digitale pandemie te ontvouwen. De kwetsbaarheid is zo gevaarlijk en gemakkelijk te misbruiken dat de hoogste CVE-score is toegekend: 10. Er wordt al gesproken over het meest ernstige beveiligingsprobleem in de afgelopen 10 jaar.
Log4j – een softwarecomponent voor logging binnen Java software – wordt veel gebruikt. Van enterprise software, cloud oplossingen, lokale applicaties, gameservers tot OT, ICS en IoT . Misshien je slimme deurbel?
Hierdoor is het lastig is om in kaart te brengen wat er allemaal kwetsbaar is. Het NCSC heeft een lijst samengesteld met tools die hierbij kunnen helpen. Systemen die verbinding hebben met het internet hebben de hoogste prioriteit, maar ook interne systemen zijn belangrijk. Inbrekers kunnen deze kwetsbaarheid immers gebruiken om een aanval uit te voeren en verder te komen binnen het netwerk, zogenaamde “Lateral Movement” .
Dit probleem maakt duidelijk hoeveel grote bedrijven gebruikmaken van legacy softwarecomponenten die worden bijgehouden door onbetaalde vrijwilligers.
Dit geeft te denken: we zien dat organisaties in essentiële sectoren en grote beursgenoteerde bedrijven kwetsbaar blijken te zijn.
Incident Response
Alle leveranciers die hardware en software maken informeren hun klanten middels Product Security Incident Response Team (PSIRT) publicaties welke producten en versies kwetsbaar zijn. Omdat het lastig is dit bij te houden heeft het Nationaal Cyber Security Center NCSC een lijst gemaakt met kwetsbare software.
Deze wordt constant bijgewerkt door het NCSC met informatie van vendoren over patches of workarounds. Het Nederlandse NCSC doet hier goed werk: internationaal wordt deze lijst gebruikt door diverse partijen en securityspecialisten.
Hoe verdedig je jezelf hiertegen?
Geen enkele beveiligingsmaatregel biedt 100% bescherming. Het misbruik van de log4j kwetsbaarheid laat zien dat een gelaagde aanpak nodig is, ook wel “Defense in Depth” genoemd. Door deze aanpak loopt de inbreker snel tegen de lamp.
Helaas is er geen Panacea : niets biedt 100% bescherming. We zullen alles zo snel mogelijk moeten patchen. En een “Defense in Depth” aanpak is essentieel: een gelaagde aanpak met meerdere verdedigingslinies.
Defence in Depth
Alles begint uiteraard met asset en identity management en role-based access. Al decennia wordt het “Principle of Least privilege” als best-practice aanbevolen: draai bijvoorbeeld je Java-applicatie niet als root op een Linux of Unix systeem. Wanneer dit op orde is heeft een aanvaller aanvullende technieken nodig om verder te komen, bijvoorbeeld door middel van privilege escalation.
Een SIEM oplossing kan heel erg helpen, vulnerability scanning en End-point Security zijn essentieel. “Je koopt tijd” met IPS-oplossingen maar bad-actors verzinnen snel manieren dit te omzeilen. Hackers /bad-actors gebruiken al obfuscation om herkenning van een aanval te voorkomen. Zo weten ze ook WAF en IPS-firewalls te omzeilen.
Op netwerkniveau betekent het “principle of least privilege” bijvoorbeeld segmenteren van je netwerk. Micro-segmentatie – of een firewall tussen “East-West” verkeer zijn belangrijke verdedigingslinies.
Voorkomen in plaats van genezen?
Een DevSecOps aanpak in CI/CD pipelines kan helpen te voorkomen dat u kwetsbare softwarecomponenten meeneemt in uw applicatie. Recente corruptie van NPM-packages illustreren ook het belang hiervan. Het automatiseren van dit proces wordt steeds belangrijker, het is niet meer te doen om dit handmatig uit te voeren.
Denk ook aan multi-factor authenticatie en out of band management. Eenmaal binnen moet een aanvaller immers verder kunnen komen om een aanval uit te voeren.
Wat is het NCSC ook weer?
NCSC is de officiële CSIRT aangewezen door de overheid als computercrisisteam in de Wet beveiliging netwerk- en informatiesystemen (Wbni). Dit is de Nederlandse implementatie van de Europese NIS (Directive on Security of Network and Information Systems) wetgeving waaraan minimaal moet worden voldaan. NCSC is de officiële CSIRT voor overheidsinstellingen, naast de CSIRT voor Digitale dienstverleners (CSIRT-DSP) en Z-CERT voor de zorgsector.
De NIS2 komt eraan, dus houdt de nieuwe Wbni wet in de gaten. De wetgeving ligt zo goed als klaar en zal waarschijnlijk in 2022 in werking treden. Reken op veel strenger toezicht en handhaving. Veel meer organisaties komen onder deze regelgeving te vallen: energie, vervoer, bankwezen, financiële markt, infrastructuren gezondheidszorg, drinkwater, afvalwater, digitale infrastructuur en openbaar bestuur maar ook post- en koeriersdiensten, afvalbeheer, vervaardiging, productie en distributie van chemische stoffen, voedingsketen, verwerkende industrie, digitale aanbieders , hun toeleveranciers en Cloud providers, service providers, MSSP’s en hosting providers gaan hier onder vallen.
Apache
Tot slot lijkt er soms sprake van een Babylonische spraakverwarring:
Apache is immers een indianenstam, een helikopter, een webserver, een foundation/ stichting en een licentie. Vandaar veel verwarring in zowel het nieuws als aan de koffiemachine. Wat is wat?
Log4j is een project wat wordt beheerd door de Apache Foundation. Deze stichting is 20 jaar geleden opgericht door mensen achter de populaire Apache webserver, wat een project is van deze foundation. De Apache Foundation heeft honderden projecten in beheer, en heeft een open-source licentiemodel opgesteld.
Het is dus niet zo dat alleen systemen die de apache webserver gebruiken kwetsbaar zijn. Log4j biedt logfunctionaliteit voor Java programmeeromgevingen het gaat primair om Java software.
Log4j/ Log4shell: een digitale pandemie?
Er zijn lijken zoveel parallellen met een pandemie, het leek me leuk hierover nog een artikel te schrijven na bovenstaand blog.
Er is nu zelfs een vaccin!
Incubatietijd
Uit verschillende onderzoeken blijkt dat ransomware aanvallers gemiddeld 3 weken binnen zijn voor ze de aanval uitvoeren. Dit wordt ook wel “Dwell Time” genoemd.
Dit heeft te maken met verschillende factoren. Zo zijn er soms aanvullende exploitaties nodig, bijvoorbeeld privilage escalation. Ook heeft het te maken met het “businessmodel” van de aanvallers: soms wordt toegang tot het netwerk verkocht (persistent access) aan andere hackers die een ransomware aanval willen uitvoeren. Ook heeft men vaak tijd nodig om te zoeken naar de buit, liefst de kroonjuwelen van het slachtoffer via bijvoorbeeld lateral movement.
Steeds vaker wordt eerst alle data geüpload om een “double ransom” te vragen: betalen om je data terug te krijgen + betalen om te voorkomen dat de data publiek wordt gemaakt. Ook dit kost tijd. Dan heeft men tijd nodig om een reële prijs te bepalen. Afhankelijk van de omzet en omvang van de organisatie wordt vaak de te vragen afkoopsom bepaald.
Door deze “incubatietijd” zullen de komende weken en maanden pas duidelijk worden hoeveel slachtoffers er zijn.
Vaccinatie?
Onderzoekers van Cybereason hebben op github een open-source vaccine beschikbaar gesteld. Het vaccine werkt door de kwetsbaarheid in log4j te gebruiken om de configuratie van het systeem aan te passen en hiermee te beveiligen tegen misbruik. Dit klinkt grappig maar is een reële optie. Helaas zal iedereen zichzelf echter moeten vaccineren.
Endemische fase?
Omdat de Java programmeertaal decennialang is gebruikt en zo wijdverspreid is, wordt er in de industrie al gesproken over een kwetsbaarheid waar we nooit helemaal vanaf komen.
Van sommige systemen is het nog onbekend. Systemen of apparaten die niet meer ondersteund worden hangen misschien nog in uw netwerk, en ook systemen die niet aan het netwerk verbonden zijn. Ook industriële ICS, OT en IoT apparatuur is mogelijk kwetsbaar.
Vooral interne legacy systemen zullen nog lang kwetsbaar blijven en dit blijft een risico. Als een aanvaller eenmaal binnen is kan deze kwetsbaarheid gebruikt worden om verder te komen (lateral movement).
De kans bestaat dat komende tijd meer manieren worden gevonden om Java software te kraken door de JNDI functionaliteit te misbruiken.
Bronnen en verwijzingen:
- Vaccin van Cybereason
- NCSC lijst kwetsbare software
- Java JNDI kwetsbaarheden Blackhat sessie 2016 presentatie in PDF en YouTube
Heeft u naar aanleiding van deze blog vragen?
Bel +31 (0)499 462121 of stuur een e-mail naar info@exclusive-networks.nl