Automatisch je netwerk bewaken – of: wat kan artificial intelligence betekenen voor security?

Als Jong Talent heb je een unieke positie binnen SURFnet. Je mag bij verschillende afdelingen een kijkje nemen door een opdracht voor ze te doen. Ik trapte af met een onderzoek voor het Team Security. Daar vroegen ze zich af welke kansen de ontwikkelingen in artificial intelligence (AI) kunnen bieden voor de SURFnet-dienstverlening. Kunnen wij onze instellingen eenvoudiger en beter beschermen met AI? Omdat ik geen achtergrond heb in AI of in security, betekende deze opdracht een duik in het diepe. Waarbij het belangrijk was om niet verloren te raken in alle hype en marketing die, in de wereld van AI, schering en inslag is!

Lees mijn rapport: Technologieverkenning AI voor Cybersecurity dienstverlening van SURFnet (pdf).

AI is een hype

Bedrijven zoals Darktrace en Cylance zijn de afgelopen jaren steeds meer in het nieuws gekomen met hun intelligente oplossingen voor de veiligheid van computernetwerken. Zij beloven dat hun systemen als een soort immuunsysteem het netwerk beschermen. Maar AI is aan de andere kant ook continu in opspraak in discussies over privacy en andere publieke waarden. Het is zoals vaak met nieuwe technologieën de kunst om je tussen de hype en angsten heen te manoeuvreren. Mede daarom is het belangrijk om te kijken waar we het nu precies over hebben.

Wat is AI nu eigenlijk precies?

Artificial intelligence is een gigantisch vakgebied; het spreidt zich uit van grootse vragen rondom bewustzijn en intelligentie van mensen en machines naar het oplossen van hele specifieke problemen. In de volksmond verwijst AI vaak naar een brede collectie aan slimme technologieën die computers taken laten uitvoeren waartoe we ze tot nu nog niet in staat achtten. Vroeger was dat bijvoorbeeld schaken en nu is het bijvoorbeeld het herkennen en reproduceren van visuele patronen. AI is dus ook niet nieuw, en bestaat als onderzoeksgebied al sinds de jaren ’50 en ook machine learning en deep learning bestaan al langere tijd. Maar ontwikkelingen in processorkracht en de grote hoeveelheden data die verzameld worden zorgen voor een nieuwe impuls in de ontwikkelingen, zo ook voor securitytoepassingen.

De meeste toepassingen van AI in security proberen concrete vragen te beantwoorden, zoals: ‘welk gedrag wijkt af?’ of ‘in welke categorie past deze melding?’. Hierbij wordt vaak een specifieke set AI-technieken toegepast: machine learning (ML). Door het combineren van allerlei verschillende algoritmen ontstaan totaaloplossingen zoals die van Darktrace en Cylance waarin systemen schijnbaar autonoom het netwerk bewaken.

Het gaat meestal over machine learning

In ML draait alles om algoritmen die bepaald gedrag leren door getraind te worden. Hierdoor kan je aan de slag met datasets die eigenlijk te groot en complex zijn om zelf te verwerken, bijvoorbeeld foto’s en videobeelden maar ook netwerkverkeer. Omdat je de data niet compleet hoeft te begrijpen om er wel wat mee te kunnen biedt dat nieuwe mogelijkheden, terwijl met klassiek ‘If This Then That’-achtig programmeren je zelf alles tot in detail moet beheersen.

XKCD strip over machine learning
(bron: https://xkcd.com/1838/)

Machine-learningtoepassingen werken door te leren van de data die je ingeeft. Je zou bijvoorbeeld plaatjes van appels en peren in kunnen voeren, waarbij je bij elk plaatje het algoritme eerst ook vertelt dat het een appel of een peer is (supervised machine learning). Na een tijdje verwerkt het algoritme die data dan in een model waarin bijvoorbeeld de kenmerken rond, rood en glimmend correleren met het label ‘appel’ en groen, bruin en langwerpig met het label ‘peer’. Voer je een foto van een banaan in, dan kan het algoritme dat niet als banaan herkennen. En zal dus op basis van het getrainde model voorspellen dat het een appel of een peer is. Bijvoorbeeld omdat het net als een appel een stickertje heeft of net als een peer niet rond is.

Je kan een algoritme ook iets leren zonder erbij te vertellen wat er op de plaatjes staat: unsupervised machine learning. Hierbij zoekt het algoritme zelf naar de kenmerken die verschillende plaatjes delen, en clustert zo de plaatjes op die kenmerken. Bijvoorbeeld kleur en vorm.

Machine-learningalgoritmen maken dus op basis van een dataset een model en zijn dan waardevol als dat model een nuttige voorspelling kan doen. Belangrijk is dan om te zorgen dat de modellen een kloppende en nuttige voorspelling doen. Dat is nog lastig, want of een model een goede voorspelling doet is lastig te controleren bij complexe datasets.

Wanneer is iets ‘fout’?

Als je bijvoorbeeld in activiteiten op het netwerk zoekt naar afwijkingen, dan doe je een aanname dat je je niet op het normale verkeer hoeft te concentreren. Wanneer Darktrace claimt “You don’t need to know the threat, just the network”, dan bedoelen zij daarmee: als je weet wat ‘normaal’ is op je netwerk, dan kan je ook het afwijkende herkennen. In de ogen van Darktrace is iets wat afwijkt van de norm ook een risico voor de veiligheid. Dat is misschien een bruikbaar beleid voor grote gesloten organisaties (zoals banken), maar is een lastige houding voor academische instellingen waar de vrijheid van de gebruiker hoog in het vaandel staat. Weten dat er een afwijking is, is niet hetzelfde als weten wat die afwijking betekent. Daarnaast helpt dit ook niet met het vinden van problemen in het ‘normale’ netwerkverkeer.

Dat is dan ook een grote uitdaging van machine learning voor security: het verschil tussen iets beschrijven en een norm stellen. Een model dat afwijkingen detecteert, probeert de werkelijkheid te beschrijven maar stelt die tegelijkertijd als norm. Zoals in bovenstaande strip van XKCD al wordt gesteld: Wanneer zien de antwoorden er ‘juist’ uit? Die normatieve vraagstukken zitten soms goed verstopt in AI-oplossingen omdat vaak die norm ook verstopt zit in de dataset die gebruikt wordt om een algoritme te trainen. Dat betekent dat een algoritme getraind op ‘slecht gedrag’ dat gedrag dus best ‘normaal’ kan gaan vinden (afhankelijk van hoe je het algoritme traint). Een van de bekendste voorbeelden hiervan is Microsoft’s Twitterbot Tay, een algoritme dat leerde van interacties op Twitter. Helaas voor Microsoft leerde Twitter het algoritme vooral racistische en antisemitische uitspraken aan.

AI toepassen begint bij de juiste vragen stellen

Het toepassen van AI en machine learning kent uitdagingen, maar biedt ook nieuwe kansen.

Wat is dan een handige manier om hier mee verder te gaan? Als je dan kijkt naar machine learning, dan zijn er 3 belangrijke vragen te beantwoorden voordat je aan de slag gaat:

  • Welk probleem wil je oplossen?
  • Wat voor soort oplossing past daarbij?
  • Welke data is daar dan voor nodig?

De eerste 2 vragen vereisen wat ze in de AI-wereld ‘domeinkennis’ noemen, specifieke kennis over het onderwerp van het probleem. Zonder goede probleemdefinitie gaat een algoritme je niet helpen met oplossingen. De droom van big data en algoritmes die magisch van alles oplossen bestaat niet. Domeinkennis is het soort expertise dat noodzakelijk is om de juiste data op de juiste manier door machine learning te laten verwerken. Bijvoorbeeld door het achterhalen en ontwerpen van de features (data-eigenschappen) die belangrijk zijn voor een algoritme. Je moet uitzoeken op welke manier data gepresenteerd moeten worden aan een algoritme om de juiste oplossing voor het probleem te krijgen. Bijvoorbeeld door je input te verwerken in cijfers waarmee het algoritme kan rekenen. Een algoritme kan niet direct een plaatje ‘bekijken’, dus daarom verwerk je pixels en kan je bijvoorbeeld de ‘feature’ ontwikkelen die kijkt naar hoe helder een pixel is ten opzichte van omringende pixels om te contrast te ‘zien’. In het geval van netwerkanalyse betekent dit bijvoorbeeld het begrijpen dat IP-adressen geen integers zijn waarmee gerekend kan worden, maar wel identifiers en daarmee een persoonsgegeven.

Zorg voor goede, gelabelde data

Hiervoor zijn goede data nodig, en dat zorgt nog wel eens voor een uitdaging. In een machine-learningexperiment bij SURF door BIT students kwam bijvoorbeeld naar boven dat het labelen van data voor bepaalde netwerkdata erg belangrijk, maar ook vaak uitdagend is. SURFnet heeft toegang tot veel netwerkdata en kan daarmee een mooie rol spelen in het ontwikkelen van machine-learningtoepassingen en ander onderzoek (we delen daarom ook onze data met onderzoekers). Maar voor veel toepassingen zullen die data wel gestructureerd of gelabeld moeten worden. Dit zie je ook terug in de enorme moeite die giganten als Google en Amazon steken in het laten labelen van data door mensen. Bijvoorbeeld door middel van reCaptcha’s of door mensen in lagelonenlanden in te huren.

Hoe passen we AI toe in security?

Wat zijn dan mogelijk interessante toepassingen van AI voor security bij SURF? De interessantste use cases op de middelkorte termijn zijn het detecteren van afwijkingen in netwerkverkeer en het automatiseren van incidentafhandeling. De belofte van ‘anomaly detection’ ligt in het detecteren van bedreigingen voor het netwerk die nog onbekend zijn, niet omdat ze herkend worden (zoals bij rule-based signature detectie) maar omdat ze buiten het verwachte netwerkverkeer vallen. Daarnaast zou in de vervanging van ons incidentregistratiesysteem AIRT gekeken kunnen worden naar oplossingen die automatisch gelijkende meldingen categoriseren. Over de achterliggende overwegingen lees je meer in mijn rapport: Technologieverkenning AI voor Cybersecurity dienstverlening van SURFnet. Het is nu aan het Team Security om de verdere mogelijkheden te onderzoeken. Kansen zijn er in ieder geval.

Welke kansen zie jij voor AI?

Rest mij de vraag aan jou als lezer: waar kijk jij met smart naar uit om machine learning op toe te passen? Wil je daar verder over praten, ben je benieuwd naar mijn onderzoek, of naar SURFnet en het Jong Talent programma? Stuur mij dan een mailtje op duuk.baten@surfnet.nl of stuur een bericht via @DuukBaten op Twitter.

Hoe onderzoek je de toepasbaarheid van AI?

We kunnen tegenwoordig bijna niet meer om de ontwikkelingen in AI heen. Dat maakt het belangrijk om met een nuchtere blik naar de toepasbaarheid van algoritmes te kijken.

  • Alleen met voldoende kennis kan je uit AI halen wat erin zit. Dit vereist training, kennisoverdracht en samenwerking.
  • Het is belangrijk om voldoende aandacht te geven aan datamanagement: Welke data heeft een instelling en hoe kunnen die nuttig gebruikt worden. En bovenal, wat kunnen die data betekenen?
  • Voor dienstontwikkeling rondom AI is een duidelijke probleemstelling cruciaal.
  • SURF kan een rol spelen door kennis te centraliseren en de verbinding aan te gaan met de domeinexperts van onze instellingen.
  • Experimenteer! Dat is de manier om kennis en ervaring op te doen.

Auteur

Reacties

Dit artikel heeft 0 reacties

Gerelateerde artikelen