VWS publiceert OpenKAT vulnerability-scantool als opensourcesoftware
Raamwerk gericht op het (forenisch) veiligstellen van de testuitkomsten
Raamwerk gericht op het (forenisch) veiligstellen van de testuitkomsten
Afgelopen zomer publiceerde het ministerie van Volksgezondheid (VWS) de vulnerability-scantool OpenKAT als opensourcesoftware. Het is een software-framework dat bestaande security-tools bij elkaar brengt in een raamwerk gericht op het (forenisch) veiligstellen van de testuitkomsten.
"2 jaar geleden hebben we voor de coronacrisis in hele korte tijd een stuk of 20 applicaties moeten ontwikkelen," vertelt projectleider Jan Klopper. "We hadden heel veel haast – elke week telde – en het ging om een risicovol gebied: de verwerking van medische gegevens. Bovendien was het beleid aan hele snelle veranderingen onderhevig en was de veiligheid van die toepassingen een uiterst gevoelig onderwerp: fouten konden op dat moment direct tot kamervragen leiden."
Wat VWS nodig had was een tool die niet alleen de benodigde scans uitvoerde, maar de uitkomsten daarvan ook verifieerbaar vastlegde. Uitgangspunt was een bewijsketen zoals die door opsporingsdiensten wordt gebruikt om gevonden materiaal en bevindingen veilig te stellen voor latere bewijsvoering en analyse.
"Natuurlijk waren er aanbieders van penetratietesten en code-audits in de markt die ons hierbij konden helpen," vervolgt Klopper, "en van die mogelijkheden hebben we ook gebruikgemaakt. Maar bestaande dienstverleners en tools konden niet leveren wat wij op dat moment specifiek nodig hadden. De beschikbare gereedschappen richtten zich allemaal op een specifiek doel en doen niet meer dan wat daarvoor nodig is [top-down]. Denk maar aan de Internet.nl-testportaal die een score oplevert voor het gebruik van moderne internetstandaarden. Zij doen daarvoor alleen wat volgens hun uitgangspunten nodig is, volgen daarbij de kortste route, en trekken direct conclusies uit de resultaten."
"Onze vraag was breder: 'Is en was die applicatie veilig?' Wij wilden eerst en vooral alle onderliggende feiten hebben, waaruit wij (of anderen) daarna een mening konden afleiden [bottom-up]. Wij wilden niets van die gevonden feiten en de daarbij gebruikte testomgeving weggooien." Dat betekent concreet dat de gebruikte tools (in de vorm van containers), de resultaten en de manier waarop die tot stand zijn gekomen, worden opgeslagen en voorzien van een timestamp. Daarvoor zet een Time-Stamping Authority (een soort digitale notaris) een digitale handtekening onder het geheel, inclusief de datum en tijd. Daarmee kan onomstotelijk worden bewezen wat op dat specifieke moment is gevonden, en wat daarvoor precies is gedaan met welke tools.
"Zo'n rigide vastlegging is belangrijk als een partij onverwacht zegt: 'Het was niet zo.'," legt Klopper uit. "Stel dat je een probleem meldt, en dat de ander dat gauw fikst en dan zegt dat er niets aan de hand was. Maar deze techniek kan ook andersom gebruikt worden: om jezelf vrij te pleiten. Denk maar aan de hack bij de gemeente Hof van Twente 2 jaar geleden waarbij kort daarvoor wel een pentest is uitgevoerd maar die later incompleet bleek te zijn geweest."
OpenKAT kan ook ingezet worden als basis onder security-audits en compliance-checks. "Als je elke dag netjes je tests uitvoert en vastlegt, dan kun je aan het eind van het jaar 365 rapporten op het bureau van de auditor gooien om te laten zien dat je compliant was. Maar diezelfde uitkomsten zijn ook input voor de Chief Information Security Officer (CISO), die daarmee bijvoorbeeld kan zien welke hosts er in zijn infrastructuur draaien, welke certificaten waar ingezet worden, en wat de patch levels van de software zijn."
Volgens Klopper zijn er nog geen standaarden voor een dergelijke digitale onderbouwing van het compliance-traject, "maar dat proberen we op dit moment samen met NOREA (de beroepsorganisatie van IT-auditors) in te richten."
Een laatste voordeel van deze aanpak is dat je de vastgelegde feiten later opnieuw kunt analyseren en dat je veranderingen in de tijd kunt zien. Voorbeeld daarvan is de eerdere scan van een website die een Content Security Policy (CSP) bevat die andere hosts autoriseert om content voor deze site leveren. Bestaat de domeinnaam van een op deze manier geautoriseerde host na verloop van tijd niet meer, dan kan die in principe door iedereen opnieuw geregistreerd worden. Daarmee is dan een opening voor het opleveren van malware ontstaan.
Iets vergelijkbaars kun je bijvoorbeeld ook doen met de SPF-records van een mail-domein. Deze autoriseren mail-systemen om berichten namens het betreffende domein te versturen. Weet een kwaadwillende een geautoriseerde host(naam) te kapen, dan kan hij deze bijvoorbeeld gebruiken voor het initialiseren van een 'spear phishing'-aanval (ten behoeve van whaling of CEO-fraude).
De architectuur van de OpenKAT-software bestaat uit 3 lagen. Op elk van die 3 niveaus kunnen externe modules ingeplugd worden. Van onder naar boven:
Boefjes: deze halen informatie binnen van het netwerk en slaan deze op in de forensische datastore. Onder de plugins die al beschikbaar zijn vinden we een DICOM-check, DNS lookup, DNSSEC-validatie, Fierce, search voor IPv6 nameservers en webservers, een Log4Shell-check, nmap, Shodan, een TLS/certificaat-check en WPScan.
Whiskers: dit zijn parsers die informatie uit de forensische datastore extraheren en vertalen naar een genormaliseerd objectformaat.
Bits: dit zijn business rules die afgeleide feiten en bevindingen genereren op basis van informatie in de genormaliseerde objecten.
Deze opzet stelt je ook in staat om achteraf historisch analyses te doen. Vind je bijvoorbeeld een cryptominer op een van je websites, dan kun je een Whisker schrijven die de betreffende miner-software herkent. Laat je die vervolgens los op je oude web-scans, dan kun je precies achterhalen wanneer die miner geïnstalleerd is.
Belangstelling voor de software is er volgens Klopper genoeg. "Z-CERT (cybersecurity in de zorg) en Kennisnet (ICT in het onderwijs) doen nu allebei een pilot. De Vereniging Nederlandse Gemeenten (VNGRealisatie) heeft bijgedragen als onderdeel van hun Haven-standaard (voor cloud-hosting). Andere (commerciële) partijen die mee-ontwikkelen zijn Intermax (cloud-sourcing-leverancier) en BDO (accountants). Daarnaast hebben de banken belangstelling om het OpenKAT-raamwerk te hergebruiken voor hun eigen compliance-checks.
"De open-sourcegemeenschap is nog aan het opstarten," zegt Klopper. "De software heeft een hoge leercurve vanwege alle complexe tools die in OpenKAT zijn opgenomen. Vandaar dat mensen nu vooral nog aan het leren en oefenen zijn."
Als kindje van VWS zal OpenKAT natuurlijk door het departement gedragen blijven worden, maar met het verdwijnen van de coronatechnologiehoek wordt de focus verlegd van het beschermen van deze infrastructuur naar het beschermen van de zorg. Uiteraard is er volgens Klopper vanwege het open-sourcekarakter ook ruimte voor partijen als NCSC en het ministerie van Binnenlandse Zaken (waar nu een Staatssecretaris van Digitalisering zit). Er wordt ingezet op doorontwikkeling met elkaar en voor elkaar, zowel via privaat-publieke samenwerkingsverbanden waarbij bijvoorbeeld ook Z-CERT, Kennisnet en een paar commerciële partijen betrokken zijn, als met overheidsorganisaties onderling.
"Er zijn meer organisaties met vergelijkbare problematiek," aldus Klopper. "We werken bijvoorbeeld al veel samen met Z-CERT. Maar ook anderen kunnen deze software voor hun compliance-tests inzetten. Cruciaal is dat de bestaande samenwerkingsverbanden blijven bestaan."