Onder invloed van de Industry 4.0-trend willen bedrijven hun assets op afstand monitoren en/of aansturen. Waar ze eerst laagdrempelig ervaring opdeden met machines en apparatuur die niet kritisch zijn voor hun bedrijfsvoering, willen ze nu – enthousiast door de businesscase – ook assets in het hart van hun bedrijf op afstand uitlezen of zelfs bedienen. Dan moet er qua security nog wel een tandje bij.
Want kritische assets toegankelijk via internet, staan ook bloot aan cyberdreigingen. In kritieke situaties is afscherming met een viercijferig netwerk uiteraard niet voldoende. De hele keten moet door een securitybril worden bekeken, van de verbindingen tot de hardware waar de applicatie op draait. Die keten zal vanaf de grond af aan opnieuw moeten worden ontworpen volgens een security-by-design-aanpak.
Security-as-code
Dit komt erop neer dat je ot door een it-bril gaat bekijken en opnieuw gaat vormgeven, gebruikmakend van werkwijzen die in de it al jaren vertrouwd zijn, zoals het werken met containers.
Laten we het voorbeeld nemen van een bestaande plc (programmable logic controller) die moet worden omgebouwd volgens de security-by-design-aanpak. Dit doe je door de plc opnieuw te ontwerpen en in een container te plaatsen. Die container is behalve van de code voor de plc ook voorzien van de juiste integraties en de juiste mate van security. Je denkt dus niet meer achteraf na over de beveiliging, maar neemt dit mee als integraal onderdeel bij de ontwikkeling van de code: security-as-a-code.
Devsecops: securityspecialisten in het devops-team
Dit betekent dat je bij het schrijven van de code voor zo’n plc al moet nadenken over mogelijke vormen van misbruik en de manieren waarop je dat kunt tegengaan. Security maakt dus integraal onderdeel uit van de applicatieontwikkeling. Niet alleen dev en ops moeten nauw samenwerken, maar ook de securityspecialisten moeten betrokken worden bij de ontwikkeling van de applicatie. We spreken daarom van devsecops.
Vier beveiligingslagen
Laten we teruggaan naar het voorbeeld van de plc die je via internet wilt bedienen. Stel dat één van de functies van de plc is om continu de druk in een vat te meten en dit vat automatisch te ontluchten als de druk te hoog wordt. Als de automatische ontluchting niet goed werkt, kan het vat exploderen. Je zult deze plc daarom moeten beschermen tegen misbruik van deze functionaliteit, bijvoorbeeld door een actiegroep of terroristische organisatie. Dat doe je door te werken met een gelaagde beveiliging. Die bestaat minimaal uit de volgende vier onderdelen:
In de eerste plaats moet je de toegangscontrole inrichten: wie mogen er toegang hebben tot deze applicatie? Welk beleid is er op die toegang van toepassing? Mag iemand de plc alleen aansturen vanaf een bepaalde locatie, bijvoorbeeld een controle-ruimte op het hoofdkantoor, of mag hij ‘m ook vanuit huis bedienen? Met welke devices mogen deze werknemers de plc op afstand bedienen en via welke netwerken mogen ze contact zoeken?
Een tweede aandachtspunt is kwetsbaarheid en compliance-scanning. Dat betekent dat je securityscanners moet inbouwen in je containers. Deze scanners houden continu de externe omgeving in de gaten en waarschuwen als er iets verdachts gebeurt wat erop zou kunnen duiden dat onbevoegden toegang proberen te zoeken tot de plc.
Daarnaast moet je de interne omgeving monitoren. Gebeurt er in de plc iets wat erop duidt dat onbevoegden zich – ondanks alle maatregelen – toegang hebben verschaft? Je zult dus continu het gedrag van de plc moeten monitoren op verdachte situaties. Een verdachte situatie is in dit geval bijvoorbeeld dat iemand de automatische ontluchting deactiveert.
Tot slot moet je in je ci-pijplijn securitytests uitvoeren. Logisch, want security maakt nu onderdeel uit van het test- en acceptatieproces. Het liefst automatiseer je de securitytests zoveel mogelijk; niet alleen om tijd te besparen, maar vooral om de kwaliteit van die tests te verhogen. Er zijn verschillende tools die je hiervoor kunt inzetten. Ook de controle op het verwerken van de bevindingen zijn (deels) te automatiseren.
NIST-raamwerk
Je hoeft niet het wiel opnieuw uit te vinden. Het raamwerk van de National Institute of Standards and Technology (NIST) biedt goede handreikingen, beschrijvingen en uitgangspunten voor het beveiligen van de container. De NIST sluit ook goed aan bij de Nederlandse wet- en regelgeving, zoals ISO27001 en branchenormeringen zoals IEC62443, de standaard voor industriële communicatienetwerken.
Wil je jouw organisatie-assets op afstand gaan uitlezen en misschien zelfs aansturen, kijk dan door de hier beschreven bril naar de beveiliging van de omgeving en ga er niet van uit dat een viercijferig password op een iot-device voldoende is.
Als er één manier is waarop de dingen verkeerd gedaan kunnen worden dan zullen de DevSecOps cowboys die manier kiezen aldus Murphy dus misschien moeten we de bril omdraaien door van OT naar IT te kijken en niet andersom. Het ‘hufterproof’ ontwerpen van een systeem betekent dat je fouttoleranties inbouwt want een PLC waarschuwt je misschien wel dat een mechanisch ventiel niet functioneert maar als je op afstand niks kunt doen om de explosie te voorkomen dan kun je alleen nog wachten op de klap. Die andere ops wordt nog weleens vergeten want wat betreft de toegang zou ik zeker de fysieke realiteit niet vergeten, ik doe geen piketdiensten meer maar een ‘meltdown’ als gevolg van een gesloten deur is een organisatorische fout die je niet oplost met IT.
As je servers liever als cattle ziet dan knuffelpets, dan is een team van cowboys inderdaad een logische stap.
Zou murphy ook iets over het verkeerd interpreteren van reacties zeggen ?
Jans KISS en Henris man en paard benoem instelling hebben dat probleem nooit.
Al die meningen is ook lastig, devops en nu ook met sec erbij.
Las ik laatst niet in computable dat het tijd is om de firewall achter ons te laten ?
Het dilemma, dat als iets belangrijker of de verantwoordelijkheid dan naar boven of beneden moet in de hierarchie ?
Aparte teams of lekker integreren..
Past ook een beetje in de tijd. Iedereen specialist, want we zijn goed geinformeerd. T-profiel via facebook dwz als die nog bereikbaar is.
Het schijnt dat dat te maken had met border gateway protocol. Misschien moest die BGP update deze sprint nog af. YeeHaa !
Maar terug naar de inhoud, ik voel wat gas expanden. Heb ik altijd, zo na het eten.
Voordeel van thuiswerken is in ieder geval dat niemand last heeft van mijn automatische ontluchting. pff
Voor de nare luchtjes van Dino hebben we WC-eend. En hoe groot je de bal ook maakt hij duikt er steevast overheen om op de man te spelen. Want wat betreft de inhoud gaat de discussie naar mijn mening om: “Wij zijn de DevSecOps cowboys, uw OT omgeving wordt gecontainiseerd. Verzet is zinloos!” Want zoals gezegd kun je dapper naar de beveiliging van de container blijven kijken terwijl het hele gebouw op ontploffen staat maar wat was ook alweer de functie van de PLC?
Het doel heiligt de middelen en niet andersom want Industrial Internet of Things (IIoT) is maar één pijler van Industrie 4.0. Containers kunnen gebruikt worden maar het hoeft niet omder er meer zero-trust moegelijkheden zijn om het OT netwerk te segementeren achter de door Dino geliefde firewall.