Bio-geïnspireerde cybersecurity – Een digitaal immuunsysteem

digitaal immuunsysteem

In onze strijd tegen cybercrime hoeven we niet eens zo ver te kijken, omdat Moeder Natuur ons het goede voorbeeld geeft. Als een virus met kwade intenties het mensenlichaam binnenkomt, treedt er namelijk een ingenieus verdedigingsmechanisme in werking.

De wijze waarop het menselijk lichaam zich verdedigt tegen aanvallen van virussen en bacteriën vormde de inspiratie voor de partners uit het self-healing projectteam in het Partnership for Cyber Security Innovation (PCSI). Door de parallellen te bestuderen tussen het menselijk immuunsysteem en hoe ICT cybersecurity bestrijdt, kwam het PCSI tot hun self-healing voor cybersecurity (SH4CS) software. Bart Gijsen van TNO, een van de partners in het programma, sprak met ICT/Magazine om een en ander toe te lichten.

Wegwerpbaar

Het menselijk lichaam vervangt eens in de zoveel tijd zijn eigen biologische cellen, een principe dat door het immuunsysteem wordt gebruikt. Bij de minste indicatie dat cellen besmet zijn met een virus, wordt dit vernieuwingsproces extra geactiveerd. Menselijke cellen zijn namelijk disposable of wegwerpbaar. “Geen enkele cel is zo belangrijk dat wanneer deze kapot gaat het menselijk lichaam niet meer zou functioneren of zelfs sterven”, vertelt Bart Gijsen. “Dit principe is ongebruikelijk binnen de ICT. Voorheen waren ICT-applicaties huisdieren waarvoor je goed moest zorgen. Containers – een soort virtuele computerservers – benader je meer als vee; je hebt er zoveel van, dus als er één omvalt is dat niet zo erg. Deze disposability is fundamenteel voor self-healing. Een ander onderscheid is dat dit proces binnen het menselijk lichaam gedecentraliseerd werkt. Als een cel is geïnfecteerd zet hij zichzelf uit nadat hij alle andere cellen een waarschuwingssignaal heeft gestuurd. Zonder aansturing van bovenaf. Zie het als een soort van geprogrammeerde zelftest die menselijke cellen in zich dragen, waarmee allerlei beschermingsmaatregelen kunnen worden toegepast.”

Decentraal

In een PoC bouwde het team een zelf regenererende ICT-omgeving waarin de containers zichzelf met enige regelmaat vernieuwen. Hiervoor voegden ze functionaliteit toe aan de bestaande softwareplatforms van Kubernetes en Docker. “Hierbij gaat het niet alleen om detectie”, legt Gijsen uit. “Net zo belangrijk is dat de regeneratie van de containers decentraal wordt uitgevoerd. Dat betekent dat er geen centrale entiteit is die door een aanval kan worden bestookt. Zodra een aanvaller een ingang tot zo’n centrale entiteit heeft gevonden, kan hij onbeperkt zijn gang gaan. In een decentrale opzet moet de aanvaller de logica per container uitschakelen. Daarnaast duurt het termineren van een container in de decentrale opzet hooguit enkele seconden. Het is onwaarschijnlijk dat je een dergelijke snelheid behaalt met centrale logica.”

Sidecars

De software van het self-healing projectteam draait in zogenoemde ‘sidecars’. Gijsen: “Naast iedere applicatie-container zet je een aparte container – de sidecar – met een klein beetje logica. Detectiesystemen geven triggers richting die sidecars, waarop die besluiten of de container herstart moet worden, op pauze moet worden gezet of dat er andere maatregelen getroffen moeten worden. In ons mechanisme hoeft het centrale systeem de communicatie voor de decentrale beveiliging dus niet te voeren. De beveiliging van containers werkt sowieso, ook wanneer er geen communicatie meer mogelijk is naar andere delen van het systeem of netwerk. Dit is zonder meer een extra complicatie om een systeem aan te vallen.”

Robuust

Ook zonder afwijkend gedrag worden de containers om de zoveel tijd automatisch geregenereerd. Hierdoor wordt eventueel ongedetecteerde malware weggespoeld. “Daarbij gaan we er wel van uit dat de repository waarvan wordt geregenereerd schoon is”, benadrukt Gijsen. “Het blijft dus noodzakelijk dat een centraal systeem goed beveiligd is. En uiteraard is het de bedoeling dat de regeneratie plaatsvindt voordat malware enige schade heeft kunnen toebrengen. In de PoC regenereren we containers iedere tien minuten, maar die termijn zal in de praktijk wellicht iets langer zijn. Dit principe om software na enige tijd preventief te herstarten is niet afkomstig van cybersecurity maar stamt van de robuustheid. Het voorkomt eventuele vastlopers. Dus als de ingestelde time-of-live afloopt, wordt de container getermineerd en vervolgens herstart. Hiervoor gebruiken we standaard features binnen Docker en Kubernetes.”

Sandbox

Deze herhaaldelijke regeneratie van containers is ook een reden om te kiezen voor een decentrale aanpak. Gijsen: “Als je het centraal uitvoert, moet je van die ontelbare containers binnen je infrastructuur de betreffende time-to-live bijhouden. Bovendien kun je sommige containers sneller regenereren dan andere. Stateful protocols voor bijvoorbeeld databaseapplicaties hoef je minder vaak te regenereren dan webserverachtige applicaties die met stateless protocols werken. Ook kun je een kopie maken van een container vlak voor terminatie, die je dan naar een soort van Cuckoo Sandbox stuurt voor analyse. Afhankelijk van wat deze analyse oplevert, kun je bijvoorbeeld beslissen om de andere containers met een vergelijkbare kwetsbaarheid direct ook te termineren. Deze Sandbox-optie hebben we in ons concept uitgewerkt, maar is niet opgenomen in ons PoC.”

Awareness

Gijsen legt uit dat hun self-healing software een volledig autonoom werkend mechanisme is. “Het is complementair aan bestaande security. Door een container te regenereren nemen we niet de oorzaak weg van een aanval. Het is een aanvullend mechanisme voor medewerkers binnen een SOC, primair bedoeld voor een eerste razendsnelle reactie om meer tijd te creëren voor de analysefase.”
De software is inmiddels via Github publiek gemaakt. Een van de wensen van TNO en de andere deelnemers aan het team is dat deze bio-geïnspireerde cybersecurity bij de professionals tot een awareness zal leiden om met een frisse blik naar hun eigen methodes te kijken. “Er is naar deze vorm van security al veel onderzoek gedaan de afgelopen decennia”, vertelt Gijsen. “Dat het pas nu tot een concrete oplossing komt, hangt ons inziens samen met een volwassener cultuur binnen ons vak, met een DevOps-manier van werken. Maar ook omdat containerisatie binnen de ICT nog niet zo heel lang bestaat. Alleen dankzij containers is zo’n decentraal regeneratieproces mogelijk.”

Lees ook:
  • Service Orchestration and Automation Platforms (SOAPs)
  • Antifragiel – Overleven is goed, sterker worden is beter

Gerelateerde berichten...