Wat is Protocol Filtering?
Protocol Filtering is een beveiligingstechniek waarbij een firewall of gateway netwerkverkeer toelaat of blokkeert op basis van het gebruikte protocol, de afzonderlijke commando’s en de inhoud van de berichten, in plaats van alleen op IP-adres en poort. In OT-netwerken wordt protocol filtering gebruikt om ongewenst of kwaadaardig verkeer op industriële protocollen zoals Modbus, OPC UA, S7 en DNP3 tegen te houden. Zo mag een HMI bijvoorbeeld wel meetwaarden lezen uit een PLC, maar geen nieuw programma laden of de CPU stoppen.
Protocol filtering biedt daarmee fijnmazige controle over industriële communicatie, waar klassieke firewallregels alleen bepalen wélk systeem met wélk systeem mag praten.
🧠 Hoe werkt Protocol Filtering?
Een filter dat industriële protocollen begrijpt, gebruikt Deep Packet Inspection om elk bericht te ontleden en toetst het vervolgens op vier niveaus:
| Niveau | Wat wordt gecontroleerd | Voorbeeldregel |
|---|---|---|
| 1. Verbinding | Bron, bestemming, poort en sessie (laag 3–4 van het OSI-model) | Alleen de HMI mag de PLC bereiken op TCP 502 |
| 2. Protocolvaliditeit | Klopt het bericht met de protocolspecificatie? | Blokkeer Modbus-berichten met een onjuiste lengte of onbekende functiecode |
| 3. Commando | Welke functie wordt aangeroepen: lezen, schrijven, programmeren, herstarten? | Sta alleen Modbus-functiecodes 3 en 4 (lezen) toe |
| 4. Inhoud en bereik | Welk register, object of welke waarde wordt aangesproken? | Schrijven alleen naar holding registers 100–119 en alleen waarden tussen 0 en 1500 |
Het tweede niveau wordt vaak vergeten, maar is waardevol: veel kwetsbaarheden in PLC’s en RTU’s worden uitgebuit met misvormde pakketten die een slecht geprogrammeerde protocolstack laten vastlopen. Een filter dat zulke pakketten weigert, beschermt dus ook apparaten die (nog) niet gepatcht zijn, zoals legacy systemen.
Verkeer dat niet aan de regels voldoet, wordt geblokkeerd, gelogd of beide. Meldingen gaan naar een SIEM of naar anomaliedetectie, zodat een poging tot misbruik ook zichtbaar wordt voor het OT SOC. Ook toegestaan verkeer levert zo zichtbaarheid op protocolniveau op: u ziet welk systeem welke commando’s gebruikt.
🔄 Wat is het verschil tussen protocol filtering, DPI en een gewone firewall?
| Kenmerk | Stateful Firewall | DPI | Protocol Filtering |
|---|---|---|---|
| Wat is het? | Filter op adres, poort en sessie | Techniek om de inhoud van pakketten te ontleden | Beleid dat per protocol en commando bepaalt wat mag |
| Kijkt naar | Laag 3–4 | Laag 7 (inhoud) | Laag 7, gekoppeld aan regels per systeem |
| Kan schrijfopdracht van bekende HMI stoppen? | Nee | Alleen detecteren, tenzij inline | Ja, als het inline staat |
| Typische plek | Elke netwerkgrens | IDS, IPS, Next-Gen Firewall | Industrial Firewall op een conduit |
Kort gezegd: DPI is het middel, protocol filtering is de toepassing. Een passief IDS gebruikt DPI om afwijkende commando’s te melden; een inline industrial firewall gebruikt dezelfde techniek om ze daadwerkelijk te blokkeren.
🏭 Welke commando’s filtert u per industrieel protocol?
| Protocol | Poort | Meestal toegestaan voor HMI/Historian | Hoog-risico commando’s om te beperken |
|---|---|---|---|
| Modbus TCP | TCP 502 | Functiecodes 1–4 (lezen van coils en registers) | 5, 6, 15, 16 (schrijven), 8 (diagnose, volgens de specificatie alleen voor seriële lijnen), leverancierspecifieke codes voor programmeren |
| DNP3 | TCP/UDP 20000 | READ (1), bevestigingen | DIRECT_OPERATE (5), COLD_RESTART (13), STOP_APPL (18), DELETE_FILE (27) |
| S7 (S7comm) | TCP 102 | Variabelen lezen | Variabelen schrijven, blokken downloaden, CPU stoppen of starten |
| OPC UA | TCP 4840 | Browse, Read, abonnementen | Write, Call (methodes), nodes toevoegen of verwijderen |
| IEC 60870-5-104 | TCP 2404 | Interrogatie (type 100), metingen | Enkel- en dubbelcommando’s (type 45 en 46), reset proces (type 105) |
| IP (CIP) | TCP 44818, UDP 2222 | Attributen en tags lezen | Attributen of tags schrijven, reset, firmware-update |
Welke commando’s echt nodig zijn, verschilt per installatie. Een HMI die operators setpoints laat wijzigen, heeft wel schrijfrechten nodig, maar alleen op een beperkt aantal registers. Let bij Siemens ook op de generatie: de S7-1200 en S7-1500 gebruiken naast het klassieke S7comm het nieuwere S7CommPlus, dat niet elke filter kan ontleden. Programmeren, firmware laden en herstarten horen thuis bij het engineering station, en dan het liefst alleen tijdens een geplande wijziging volgens change management.
🔐 Tegen welke aanvallen beschermt protocol filtering?
De bekendste OT-aanvallen gebruikten legitieme protocollen met geldige commando’s. Een poortfilter laat zulk verkeer door; een commandofilter niet.
- Stuxnet (ontdekt in 2010) laadde via een besmet engineering station gemanipuleerde code in Siemens-PLC’s over het S7-protocol.
- Industroyer stuurde in december 2016 in Kyiv schakelcommando’s via IEC 60870-5-104 en IEC 61850 om stroomonderbrekers te openen.
- TRITON (2017) richtte zich op een veiligheidssysteem van Schneider Electric (Triconex) in een petrochemische installatie en gebruikte daarvoor het eigen TriStation-protocol om code in de controller te laden.
- FrostyGoop gebruikte in januari 2024 Modbus TCP om regelapparatuur van een warmtebedrijf in Lviv te manipuleren; circa 600 flatgebouwen zaten daarna zonder verwarming.
MITRE ATT&CK for ICS noemt “Filter Network Traffic” (M0937) als mitigatie tegen onder meer Program Download, Device Restart/Shutdown, het activeren van de firmware-updatemodus en een rogue master die zich als legitiem besturingssysteem voordoet. Daarnaast beschermt protocol filtering tegen insiders, verkeerd geconfigureerde systemen en malware die zich via een gecompromitteerde werkplek richting de besturing beweegt.
🧭 Hoe richt u protocol filtering stap voor stap in?
- Maak een inventaris - bouw een asset inventory en breng passief in kaart wie met wie communiceert, via een SPAN-poort of TAP en hulpmiddelen als Wireshark of een passief monitoringplatform zoals Nozomi of Claroty.
- Bepaal zones en conduits - volgens het zones-en-conduits-model uit IEC 62443. Protocol filtering hoort op de conduits tussen zones, bijvoorbeeld tussen het supervisienetwerk en de PLC-cel.
- Leg rollen vast - wat mag de HMI, wat de historian, wat het engineering station? Schrijf dat uit per protocol, commando en adresbereik.
- Draai eerst in leermodus - laat de firewall enkele weken alleen loggen, inclusief onderhoud, batchwissels en storingen, zodat ook zeldzame maar legitieme commando’s in beeld komen.
- Schakel per conduit naar blokkeren - begin bij de minst kritieke cel, buiten productiepieken en met een terugvalplan.
- Kies het faalgedrag bewust - fail-open houdt het proces draaiend bij uitval van de filter, fail-close houdt de grens dicht. Een veiligheidsfunctie mag er nooit door worden gehinderd.
- Onderhoud de regels - elke proceswijziging kan een nieuwe regel vragen. Neem filterregels op in change management en controleer ze periodiek.
Voorbeeld: een Nederlandse rioolwaterzuivering heeft een SCADA-server die via Modbus TCP met twaalf PLC’s communiceert. De regels worden: de SCADA-server mag functiecodes 1–4 overal gebruiken en functiecode 6 alleen op de setpoint-registers; het engineering station mag programmeren, maar alleen als de beheerder de regel tijdelijk activeert; al het overige Modbus-verkeer wordt geblokkeerd en gemeld. Meer over deze sector leest u bij OT-security in de watersector.
📏 Welke normen en wetgeving vragen om protocol filtering?
- IEC 62443-3-3 - SR 5.2 (bescherming van zonegrenzen) vraagt om bewaking en beheersing van communicatie op zonegrenzen. Requirement enhancement 1 vraagt deny by default, allow by exception: alleen expliciet toegestaan verkeer mag door, wat neerkomt op least privilege per protocolcommando.
- NIST SP 800-82 - de OT-beveiligingsgids van NIST (revisie 3 verscheen in september 2023) beveelt netwerkgrensbescherming en filtering van industriële protocollen aan als onderdeel van een gelaagde architectuur.
- NIS2 en de Cyberbeveiligingswet - de Nederlandse wet, van kracht sinds 15 augustus 2026, schrijft geen specifieke techniek voor, maar eist passende maatregelen voor netwerkbeveiliging. Voor een waterbedrijf of energiebedrijf is protocol filtering een gangbare manier om dat aantoonbaar in te vullen.
Protocol filtering is daarmee geen vervanging van netwerksegmentatie, maar een verfijning ervan binnen defense in depth, samen met access control en netwerkmonitoring.
⚠️ Wat zijn de beperkingen van protocol filtering?
- Encryptie - OPC UA in de modus SignAndEncrypt of verkeer over TLS is voor een filter onleesbaar. Er is een afweging: versleuteling beschermt de verbinding, filtering controleert de inhoud. Een oplossing is filtering op het eindpunt of in een vertrouwde gateway.
- Onbekende protocollen - zonder decoder voor een propriëtair protocol valt de filter terug op poortniveau.
- Vertraging - inline inspectie kost rekentijd. Tijdkritisch verkeer zoals PROFINET RT loopt bovendien op laag 2 binnen een cel en passeert geen gerouteerde zonegrens; daar kiest men meestal voor passieve detectie.
- Kennis van protocol en proces - goede regels vragen kennis van de industriële protocollen én van de procesdata: welk register is een setpoint, welk commando hoort bij onderhoud. Zonder die kennis worden regels te ruim of te streng.
- Risico op stilstand - een te strenge regel kan een legitiem commando tegenhouden en een productielijn stilleggen. Daarom zijn de leermodus en goed regelbeheer essentieel.
- Aanvulling op het apparaat zelf - veel apparaten bieden eigen bescherming, zoals de instelling voor PUT/GET-toegang en beschermingsniveaus bij Siemens S7-1200/1500, DNP3 Secure Authentication (tegen replay- en injectieaanvallen) en Modbus/TCP Security met TLS. Gebruik die waar mogelijk naast de netwerkfilter.
❓ Veelgestelde vragen
Is protocol filtering hetzelfde als Deep Packet Inspection?
Nee. Deep Packet Inspection is de techniek om de inhoud van netwerkpakketten te ontleden. Protocol filtering is het beveiligingsbeleid dat op basis van die inhoud per protocol en commando bepaalt wat is toegestaan. Protocol filtering heeft DPI dus nodig, maar niet elke DPI-toepassing filtert.
Welke Modbus-functiecodes mag een HMI gebruiken?
Een HMI die alleen gegevens toont, heeft genoeg aan de leesfunctiecodes 1 tot en met 4. Moet een operator setpoints wijzigen, dan is functiecode 6 of 16 nodig, bij voorkeur beperkt tot de registers waarin die setpoints staan. Programmeren en diagnosefuncties horen niet bij een HMI.
Kan protocol filtering versleuteld OPC UA-verkeer controleren?
Protocol filtering kan de inhoud van OPC UA-verkeer in de modus SignAndEncrypt niet lezen, omdat de filter de sleutels niet heeft. De filter ziet dan alleen adressen, poorten en berichtgrootte. Inhoudelijke controle moet in dat geval in de OPC UA-server zelf plaatsvinden, via gebruikersrechten per node.
Waar plaatst u een protocolfilter in een OT-netwerk?
Een protocolfilter staat op de conduits tussen zones, bijvoorbeeld tussen het SCADA-netwerk en een PLC-cel of vóór een kritieke controller. Vaak gebeurt dat met een industrial firewall in de schakelkast. Op kantoorgrenzen is een gewone firewall met DMZ meestal voldoende.
Vraagt IEC 62443 om protocol filtering?
IEC 62443-3-3 noemt protocol filtering niet letterlijk, maar SR 5.2 vraagt bescherming van zonegrenzen en via de eerste aanvulling (RE 1) deny by default. Protocol filtering is een gangbare manier om die eis per commando in te vullen. SR 3.1 gaat daarentegen over de integriteit van communicatie, niet over filtering.
Wat gebeurt er als een protocolfilter uitvalt?
Wat er gebeurt als een protocolfilter uitvalt, hangt af van de instelling: fail-open laat verkeer door, fail-close houdt alles tegen. In OT kiest men vaak voor fail-open op niet-kritieke conduits, zodat het proces blijft draaien. IEC 62443-3-3 vraagt fail-close pas vanaf Security Level 3, en een veiligheidssysteem mag nooit worden gehinderd.
📌 Samengevat
Protocol Filtering beveiligt industriële netwerken door per protocol en per commando alleen toe te staan wat een systeem echt nodig heeft, zodat ook geldige maar kwaadaardige opdrachten worden tegengehouden. Het is een verfijning van segmentatie volgens IEC 62443 en een onmisbare laag in moderne OT-beveiliging, in lijn met het principe van least privilege.
