Geen scanner, geen downtime: hoe je OT-documentatie omzet in NIS2-bewijs
Vorige maand zat ik met een CISO van een middelgroot waterbedrijf aan tafel. Zijn team had net de NIS2-gap-analyse afgerond. De netwerkplattegronden van de procesautomatisering klopten niet. De SCADA-configuraties lagen in twintig verschillende Word-documenten. En de externe auditor wilde een actuele risico-inventarisatie zien, met bewijs dat kwetsbaarheden structureel worden bijgehouden.
Zijn eerste reflex: "Dan moeten we die OT-omgeving maar gaan scannen." Ik hoefde niet uit te leggen waarom dat een slecht idee is. Eén verkeerde probe op een PLC en de waterzuivering ligt plat. Actief scannen in operationele technologie is vragen om problemen. Maar hoe krijg je dan betrouwbare, actuele compliance-informatie uit een omgeving die je niet mag aanraken?
Een paper van deze week op arXiv schetst een route die precies dit probleem aanpakt. De titel: From Legacy Documentation to OSCAL: MCP-Based Agent Pipeline for Continuous Compliance in Critical Infrastructure. De kern: een multi-agent systeem dat natuurlijke-taal systeembeschrijvingen omzet in gestructureerde OSCAL-compliance-artefacten, met een CVE-recall van 0.90. Zonder een enkele actieve scan.
Wat er nu misgaat met OT-documentatie
De meeste kritieke infrastructuur draait op een mengeling van verouderde en moderne systemen. Denk aan een waterzuivering: een PLC uit 2012, een HMI op Windows Server 2016, een historische datalogger die alleen via serieel communiceert. De documentatie is versnipperd over Excel-sheets, Visio-tekeningen, en half ingevulde configuratiebestanden.
Voor NIS2 moet je aantonen dat je de risico's van deze systemen kent en beheerst. Artikel 21 lid 2 van de NIS2-richtlijn eist dat essentiële entiteiten "passende en evenredige technische, operationele en organisatorische maatregelen" nemen om de beveiliging van netwerk- en informatiesystemen te waarborgen. In Nederland vertaalt zich dat naar een documentatieplicht die verder gaat dan een jaarlijkse audit. Je moet continu kunnen aantonen dat je kwetsbaarheden in kaart hebt, dat je maatregelen hebt genomen, en dat je de effectiviteit daarvan bewaakt.
Handmatig is dat niet te doen. En actief scannen in OT-omgevingen is vaak uitgesloten: verouderde protocollen kunnen crashen onder een simpele poortscan, en productie- of veiligheidssystemen mogen geen milliseconde stilvallen. De paper stelt: "Active scanning in operational environments is often prohibited due to the risk of disrupting critical processes." Dat is precies de realiteit van elke asset owner in de energiesector of waterketen.
Wat het paper voorstelt: een agent-pipeline zonder scanner
De onderzoekers bouwden een pipeline van gespecialiseerde AI-agents die samenwerken via het Model Context Protocol (MCP). De input is ruwe, ongestructureerde documentatie: systeembeschrijvingen, netwerkdiagrammen in tekstvorm, configuratiebestanden, auditlogs. De output is een set van onderling verbonden OSCAL-documenten (Open Security Controls Assessment Language) die direct bruikbaar zijn voor compliance-rapportage.
OSCAL is een NIST-standaard die compliance-informatie machine-leesbaar maakt. Het bestaat uit lagen: een catalogus van controls (zoals NIST SP 800-53), een systeem security plan (SSP) dat beschrijft hoe controls zijn geïmplementeerd, een assessment plan, en assessment results. De paper gebruikt OSCAL versie 1.1.2.
De pipeline werkt in vier stappen, elk uitgevoerd door een aparte agent:
-
Extractie-agent: haalt assets, softwareversies, netwerkrelaties en configuratieparameters uit ongestructureerde tekst. Bijvoorbeeld: "De HMI draait op Windows 10 LTSC 21H2 en is verbonden met PLC-3 via Modbus TCP" wordt omgezet in een gestructureerde asset-inventaris.
-
Mapping-agent: koppelt elk asset aan relevante NIST 800-53 controls. Een PLC die fysieke processen aanstuurt, krijgt controls uit de families AC (Access Control), IA (Identification and Authentication), en SI (System and Information Integrity) toegewezen.
-
CVE-associatie-agent: verbindt de geïdentificeerde softwareversies met bekende kwetsbaarheden uit de NVD-database. Dit gebeurt zonder actieve scanning, puur op basis van de versie-informatie uit de documentatie. De paper rapporteert een recall van 0.90: 90% van de CVEs die een actieve scanner zou vinden, worden ook via deze document-afgeleide methode gedetecteerd.
-
OSCAL-generatie-agent: produceert de uiteindelijke OSCAL-artefacten: een System Security Plan (SSP) met de asset-inventaris en control-implementaties, een Assessment Plan, en Assessment Results met de gedetecteerde kwetsbaarheden.
Het resultaat is een set machine-leesbare bestanden die je rechtstreeks in een GRC-tool kunt laden, of kunt gebruiken als bewijsvoering richting toezichthouder.
Waarom dit werkt voor Nederlandse water- en energiebedrijven
De NIS2-richtlijn is in Nederland geïmplementeerd via de Wet beveiliging netwerk- en informatiesystemen (Wbni). De toezichthouder (RDI) verwacht van vitale aanbieders dat zij aantoonbaar in control zijn. Een OSCAL SSP met een duidelijke mapping naar BIO2-controls is daarvoor een krachtig instrument.
Neem een drinkwaterbedrijf dat valt onder de categorie 'essentiële entiteit'. De zorgplicht uit artikel 6 van de Wbni verplicht tot het nemen van passende maatregelen. Met de output van deze pipeline kun je per systeem aantonen welke controls van toepassing zijn, hoe ze zijn geïmplementeerd, en welke kwetsbaarheden er op dit moment spelen. De CVE-recall van 0.90 geeft een betrouwbaar beeld van de actuele dreigingssituatie, zonder dat je een kwetsbaarheidsscanner op je procesnetwerk loslaat.
Wat me opviel in de paper: de pipeline gebruikt een kennisgraaf om relaties tussen assets, controls en kwetsbaarheden vast te leggen. Die graaf is bewijsbaar consistent. Dat betekent dat je niet alleen een momentopname krijgt, maar een model dat je kunt bevragen. "Welke systemen worden geraakt door CVE-2024-38077?" wordt een query op de graaf, in plaats van een handmatige zoektocht door tien Excels.
Een concreet voorbeeld uit de praktijk
Stel, je hebt een document met de volgende beschrijving van een pompstation:
"Pompstation PS-04 wordt aangestuurd door een Siemens S7-1500 PLC (firmware v2.9.4). De HMI draait op een Windows 10 LTSC 2021 machine (build 19044) en communiceert via OPC UA met de PLC. Externe toegang verloopt via een VPN-gateway met tweefactorauthenticatie."
De extractie-agent herkent hieruit:
- Asset: PLC, type Siemens S7-1500, firmware 2.9.4
- Asset: HMI, OS Windows 10 LTSC 2021, build 19044
- Protocol: OPC UA
- Netwerkrelatie: HMI verbonden met PLC
- Beveiligingsmaatregel: VPN-gateway met MFA
De mapping-agent koppelt hier controls aan zoals AC-17 (Remote Access), IA-2 (Identification and Authentication), en SI-2 (Flaw Remediation). De CVE-agent zoekt in de NVD naar kwetsbaarheden voor Siemens S7-1500 firmware 2.9.4 en Windows 10 LTSC 2021 build 19044. Stel dat CVE-2023-28831 (een kwetsbaarheid in de webserver van de PLC) van toepassing is. Die wordt opgenomen in de assessment results, met een risicoscore en een aanbeveling voor mitigatie.
De OSCAL-generator produceert een SSP in XML of JSON dat je kunt valideren tegen het OSCAL-schema. Een auditor kan dit bestand inlezen in een tool als OSCAL-CLI en direct zien dat je compliant bent met de vereiste controls, of waar nog actie nodig is.
De beperkingen die je moet kennen
De 0.90 CVE-recall is indrukwekkend, maar het is geen 1.00. De paper geeft aan dat de missers vooral zitten in kwetsbaarheden die afhankelijk zijn van runtime-configuraties die niet in documentatie staan. Denk aan een registry-sleutel die een bepaalde beveiligingsfeature uitschakelt. Die informatie haal je niet uit een systeembeschrijving. Voor een volledig beeld blijft een combinatie met passieve monitoring of periodieke handmatige checks nodig.
Ook is de kwaliteit van de output volledig afhankelijk van de kwaliteit van de input. Als je documentatie niet klopt, klopt je OSCAL ook niet. De pipeline is geen vervanging voor een gedegen asset management-proces, maar een versneller die je bestaande documentatie omzet in toetsbare compliance-artefacten.
Wat je hier vandaag al mee kunt
De code van de pipeline is open-source beschikbaar via de paper. Je kunt de agents lokaal draaien met een LLM naar keuze. De paper gebruikt GPT-4o als basis, maar het MCP-framework is model-agnostisch. Een snelle test met een eigen systeembeschrijving geeft je binnen een uur een eerste OSCAL SSP.
Voor Nederlandse organisaties die onder NIS2 vallen, is dit een direct toepasbare methode om de documentatieplicht in te vullen zonder je OT-omgeving te verstoren. Combineer het met een periodieke review van je asset-inventaris en je hebt een continu compliance-proces dat audit-proof is.
Wil je weten of jouw huidige documentatie voldoende is voor NIS2? Gebruik onze NIS2-documentatiechecklist voor OT-omgevingen — 10 vragen, direct inzicht in je blinde vlekken.
Bron: From Legacy Documentation to OSCAL: MCP-Based Agent Pipeline for Continuous Compliance in Critical Infrastructure — arXiv abstract / PDF
AI & Security Intelligence
Wekelijkse nieuwsbrief met AI updates, security alerts en compliance inzichten, direct in uw inbox.
Security & AI Operating Model
Advisory met executiekracht
Van BIO2 en NIS2 tot EU AI Act, embedded in uw operating model, niet als extern project. Maandelijks opzegbaar, met assessments als bewijsvoering.