Hoe kunstmatige intelligentie pc's veiliger maakt
AI heeft professionele schakers, Go-spelers en Starcraft-spelers verslagen. Maar is kunstmatige intelligentie ook opgewassen tegen professionele hackers?
Antivirusmakers vermelden steeds vaker dat hun producten dankzij kunstmatige intelligentie en machine-learning nog betere bescherming tegen hackers bieden. Het probleem met die stelling is dat de betreffende termen vaak niet duidelijk gedefinieerd zijn en er te pas en te onpas mee wordt gestrooid. In principe gaat het bijna altijd om het feit dat de achterliggende technieken niet zijn gebaseerd op statische regels, maar dat ze een min of meer intelligent herkenningsmechanisme gebruiken. Op het gebied van IT-security is machine-learning het
meest in zwang voor het herkennen van malware en het detecteren van inbraken op of aanvallen van systemen.
BETER HERKENNEN
Machine-learning wordt veel ingezet voor het herkennen van malware op gebruiksapparatuur voordat de gebruiker de malware kan uitvoeren. Tot nu toe gebruikten de makers van antivirussoftware vooral het vergelijken van bestandsinhoud met handtekeningen en fikse lijsten met kenmerken van bekende malware. Dat moet nu door AI-mechanismes aangevuld of vervangen worden.
Een aantal bedrijven gaat voor neurale netwerken. De training van zo’n neuraal netwerk wordt bij en door de producent zelf gedaan. Miljoenen bekende malwaresamples en net zo veel ‘goede’ bestanden worden voor zo'n training ingezet. Omdat de data die voor het leerproces worden gebruikt bekend en geclassificeerd zijn, wordt dat ook wel 'supervised learning' genoemd.
Het resulterende getrainde neurale netwerk kun je zien als een wiskundig model. Bij de eindklanten wordt er daarna niet meer bijgeleerd. Het neurale netwerk geeft onbekende bestanden voordat ze worden geopend een label met het stempel goed- of kwaadaardig en waarschuwt bij kwaadaardige bestanden. De herkenningsratio van nieuwe malware ligt meestal hoger dan bij de op oude leest gestoelde software, en ook de belasting van je processor ligt een stuk lager. Maar nagelnieuwe malware-varianten met onbekende methodes zijn voor zo’n systeem toch ook lastige koek.
BEPERKINGEN
Bij een aantal antivirusproducten kan het mechanisme voor de artificiële intelligentie ook alleen voor exe-bestanden worden ingezet. Modellen voor andere typen bestanden zijn nog in ontwikkeling. Dat zorgt ervoor dat de meerwaarde van zo’n techniek nog wat tegenvalt als je e-mailprogramma de uitvoerbare bestanden bijvoorbeeld al verwijdert uit berichten of als er whitelisting wordt gebruikt, zoals bij Windows 10 AppLocker, om het openen van vreemde programma’s te voorkomen.
Een typisch probleem bij kunstmatige intelligentie voor het herkennen van malware is dat je bij ITsecurity met tegenstanders te maken hebt die hun malware-code hiertegen proberen te beschermen. De herkennings- en leermechanismen worden meestal ontwikkeld voor objecten die zich niet kunnen verweren. Een neuraal netwerk dat malware moet onderscheiden van een ongevaarlijk bestand, heeft problemen die je niet hebt bij het uit elkaar houden van afbeeldingen van appels en bananen.
Een malware-maker die het herkennen van zijn producten lastiger wil maken, en natuurlijk het liefst zou willen voorkomen, zal populaire antivirussoftware met een bescherming met behulp van kunstmatige intelligentie bekijken en zijn of haar malware daarvoor optimaliseren en offline testen. Dat kan net zo lang totdat de betreffende malware niet meer wordt herkend. Een professionele malware-maker die een eigen exe-packager kan maken, blijft op die manier makkelijk buiten schot van de huidige antivirusproducten die met artificiële intelligentie werken. De doeltreffendheid van dit soort AI-technieken tegen professionele en gerichte aanvallen is daarom nog beperkt.
Daar komt een vanuit malware-makers gezien positief aspect van AI-antivirus op basis van neurale netwerken bij: updates voor een betere herkenning duren door het lange leerproces weken of zelfs maanden. Bij de bescherming tegen al bekendere malware is dat geen probleem, het niet hoeven updaten van handtekeninglijsten is in dat geval wel degelijk wel een voordeel.
Als er binnen een netwerk malware opduikt die zichzelf succesvol verbergt, kan een antivirustoepassing die niet even snel door een update van het neurale netwerk tevoorschijn toveren. Machine-learning en neurale netwerken zijn dus geen halleluja-middelen voor IT-security, maar één van vele bouwstenen voor een totale bescherming.
SLIM ANALYSEREN VIA DE CLOUD
Veel producenten van antivirussoftware parkeren op kunstmatige intelligentie gebaseerde herkenningsmethodes in hun clouddiensten om op die manier de klassieke herkenningsmethodes aan te vullen. Op gebruiksapparaten draaien er agents die verdachte bestanden of alleen bepaalde metadata, zoals de PE-headers van uitvoerbare programma’s, uploaden naar de cloud van de antivirusmaker voor analyse. Dat heeft als nadeel dat je een continue verbinding met die cloud moet hebben. Als je internetverbinding wegvalt, heb je nog maar een beperkte bescherming tegen virussen.
Een andere variant zijn de AI-veiligheidssystemen die wel op een eindapparaat staan, maar geen bestanden classificeren voordat die dan worden geopend. Die systemen houden actieve programma's in de gaten nadat ze gestart zijn. Ook daarbij komt dan machine -learning vanuit de fabrikant aan te pas, zo
dat kwaadaardige acties niet alleen worden herkend aan de hand van duidelijke regels, maar ook met behulp van kunstmatige intelligentie.
Wat bij die software handig is, is de context die je te zien krijgt bij een alarmmelding. Meestal zie je naast zeer detailrijk grafisch weergegeven informatie ook duidelijk welk proces zich verdacht gedraagt. Daarnaast zie je tot welke bronnen het proces toegang heeft gehad, waar het vandaan kwam en meer. Dat soort beschermende maatregelen zijn bijna altijd wel een zeer nuttige aanvulling op andere preventieve malwarebescherming. Daar zijn ook cloud-versies van.
SLIMME NETWERKMONITORING
Een andere methode met kunstmatige intelligentie en machine-learning zit in systemen die zich focussen op het dataverkeer binnen een netwerk. Het gaat om het dataverkeer van werkplek-pc’s richting servers en richting internet.
Met behulp van machine-learning wordt daarbij geprobeerd om de communicatie van malware te herkennen of de eerste aanwijzingen dat er malware is binnengedrongen en zich gaat verspreiden (lateral movement). Daarbij wordt dan niet alleen supervised machine-learning ingezet, maar tevens ook de unsupervised variant. Dat houdt in dat het leren op locatie bij de klant gebeurt. De systemen proberen op die manier te leren welke communicatie binnen het netwerk normaal is, en wanneer er iets ongebruikelijks voorbij komt (anomaly detection).
Het probleem daarmee is dat ook kwaadaardige rommel die bij het activeren van de bescherming al actief was dan als goedaardig wordt gemarkeerd. En het leren bij zo’n systeem werkt niet echt fatsoenlijk als het om een relatief klein netwerk gaat. Je wilt toch al snel meer dan duizend apparaten hebben staan om ervoor te zorgen dat het leerproces efficiënt verloopt. Door een combinatie van de twee verschillende soorten machine-learning te gebruiken, proberen de antivirusmakers dat te verhelpen. Op die manier moet het bij de producent getrainde deel alarm slaan op het moment dat er al malware binnen het netwerk rondwaart. Op die manier willen ze voorkomen dat de malware-communicatie als ‘normaal’ wordt gemarkeerd.
Behalve voor het beschermen van pc's en netwerken is kunstmatige intelligentie ook te gebruiken voor het zoeken naar veiligheidslekken. Tools voor het analyseren van broncode vertrouwen steeds meer op de AI-technieken om zwakke plekken in de software te vinden die een aanvaller zou kunnen misbruiken. Ook bij ‘fuzzing’, oftewel het testen van software komt AI om de hoek kijken om input-data zo te kiezen dat als het even kan alle codedelen worden uitgevoerd en de zwakke plekken worden gevonden.
GEBRUIKERS ONDER DE LOEP
Een wat bedenkelijke tak binnen de IT die eveneens AI en machine-learning gebruikt, richt zich niet op de communicatie binnen een netwerk of hoe programma’s zich gedragen, maar op het analyseren van gedrag van gebruikers.
De input bestaat hierbij bijvoorbeeld uit de processen voor het aanmelden op systemen en programma’s, logs van webproxy’s en firewalls of logs van mailservers. Op die manier ziet het systeem bijvoorbeeld op welke websites gebruikers rondneuzen, welke mails ze aan wie versturen en wanneer ze waar inloggen. Die benadering wordt User Behavior Analytics (UBA) of ook wel User and Entity Behavior Analytics (UEBA) genoemd.
Onder het mom van ‘het herkennen van incidenten of een inside job’ zijn dat soort oplossingen erg aanlokkelijk. Maar het zo in de nek hijgen van werknemers is bij de meeste Europese bedrijven toch echt een stap te ver. De producenten doen wel veel moeite om de namen of kenmerken van gebruikers te anonimiseren of via rollen en rechten toegang tot systemen te blokkeren om op die manier misbruik te voorkomen. Maar beheerders kiezen vaak liever voor andere, minder controversionele oplossingen voor hun IT-security.
WEER EEN STEENTJE ERBIJ
Een strakke herkenning op basis van regels aanvullen met een fuzzy, enigszins intelligente detectie: dat lijkt heel erg op de methodes en technieken bij AI-ondersteunde research. Maar dat soort research wordt meestal uitgevoerd in een omgeving waarin geen opzettelijk tegenwerkende spelers aanwezig zijn. In de IT-securitywereld gaat er echter juist om om dat soort figuren op te sporen.
Alles staat nog in de kinderschoenen. De combinatie van AI en IT-security bestaat nog niet zo lang, maar de ontwikkelingen gaan snel. De vorderingen op het gebied van AI en de beschikbaarheid van de benodigde rekenkracht zorgen voor een flinke boost. Het is duidelijk dat AI vooral een aanvulling kan zijn op veel systemen met statische regels voor herkenning en classificatie. En ook al beloven sommige antivirusmakers dat AI een soort wondermiddel is, daar is op dit moment nog geen sprake van.