Hoe zit het nou met ‘machine learning’?
Veel bedrijven schreeuwen van de daken roepen dat zij machine learning-technieken toepassen in hun beveiligingsproducten alsof het iets nieuws is. Maar dat is het niet. Zo gebruikt F-Secure bijvoorbeeld al machine learning-technieken sinds 2006 en tegenwoordig wordt het vrijwel overal gebruikt.
Machine learning-technieken werden voor het eerst gebruikt in de beveiligingsbranche om antispam-engines te trainen. Dat bracht ons op het idee om te onderzoeken of we met machine learning schadelijke bestanden konden herkennen. Eind 2005 hebben we een engine ontwikkeld die bestanden beoordeelt op basis van structurele en gedragskenmerken, om op deze manier kwaadaardige bestanden op te sporen. Deze engine was eigenlijk ontwikkeld om false positives van onze nieuwe gedragsblokkeertechnologie te onderdrukken, maar later zijn we de engine gaan gebruiken als handige detectietechnologie. Beide onderdelen zijn in 2006 geïntroduceerd in onze productreeks.
Wij gebruiken machine learning tegenwoordig overal. Een aantal voorbeelden van wat wij ermee doen.
- Analyse en categorisering van samples – We gebruiken professionele systemen en machine learning om de 500.000 nieuwe samples die we elke dag ontvangen automatisch te categoriseren. Deze systemen genereren veel hoogwaardige metagegevens die vervolgens worden omgezet in bruikbare bedreigingskennis.
- URL-reputatie en -categorisering – We voeren inhoud van URL’s in in een machine learning-systeem om sites te categoriseren op schadelijkheid en type inhoud (zoals adult content (18+), shopping, bankgerelateerd, enzovoort).
- Detectielogica aan de clientzijde – We maken gebruik van machine learning om onderdelen aan de clientzijde te trainen voor het herkennen van verdachte bestanden. Dit gebeurt op basis van de bestandsstructuur en gedragskenmerken. We verwijzen naar deze onderdelen als heuristische engines. Op 25 augustus heeft Sven Krasser van CrowdStrike een informatief en gedetailleerd blogbericht gepubliceerd over hoe deze technieken werken. Interessant om te lezen als je meer wilt weten.
- Inbreukdetectie – We gebruiken machine learning-technieken om verdacht gedrag in netwerken te identificeren. Deze signalen worden naar beveiligingsexperts verzonden die werkzaam zijn in ons Rapid Detection Center. Zij onderzoeken het incident en waarschuwen de klant als de informatie klopt. Met de technieken waarmee tekenen van inbreuk worden ontdekt, kunnen wij ook ontdekken of er intern schadelijke activiteiten plaatsvinden.
Machine learning is relatief gevoelig voor valse positieven. Daarom gebruiken we het liefst een hybride aanpak waaraan zowel mensen als machines te pas komen. Door machine learning te combineren met door experts ontwikkelde regels en uitgebreide automatisering kunnen we het aantal valse positieven verminderen. Daarnaast kunnen we nauwkeuriger bepalen of er sprake is van bedreigingen en verdacht gedrag. In onze sample-categoriseringssystemen zijn de machine learning-technieken bijvoorbeeld handig om binnenkomende samples te clusteren. In de gevallen van nieuwe samples die nooit eerder zijn gezien, zijn het nog steeds mensen die de clusters identificeren, labelen en categoriseren.
Voor ons is machine learning ontzettend handig gebleken. De technologie is echter nog niet geschikt om de menselijke expertise volledig te vervangen. Een collega beschreef het mooi: “Als je machine learning behandelt als gouden muiltjes, zul je al snel over je eigen voeten vallen.”
Ons advies aan iedereen is dan ook: het is belangrijk om niet alleen op machine learning te vertrouwen voor het beveiligen van je systemen. Vooral niet op oplossingen die alleen bedreigingen van bestanden kunnen identificeren.
Er zijn enkele redenen waarom dat geen goed idee is. Ten eerste ben je niet beschermd tegen scams, phishing en social engineering. Daarvoor heb je een component nodig dat URL’s kan blokkeren. Als zo’n component ontbreekt, is de kans groot dat je snel op een site terechtkomt die ontworpen is om je gegevens, identiteit of bankgegevens te stelen. Een oplossing die schadelijke bestanden identificeert is niet voldoende om je goed te beschermen op internet.
Ten tweede wil je jezelf beschermen tegen exploits. Er zijn honderdduizenden verdachte of zelfs schadelijke websites op het internet en honderdduizenden unieke schadelijke bestanden. Er zijn echter niet zo veel unieke exploits. Het blokkeren van alle bekende exploits is veel eenvoudiger dan ervoor te zorgen dat alle slechte sites en payloads worden herkend. Bij F-Secure verzamelen we regelmatig alle bedreigingskennis die nodig is om deze exploits te herkennen. Deze worden verzameld met behulp van machine learning. Echter worden de regels voor deze actie nog steeds zelf opgesteld door onze experts. Dit is een voorbeeld van beveiligingstechnologie aan clientzijde die zich niet goed leent voor machine learning.
Tot slot enkele vragen van auteur en journalist Kevin Townsend met Andy’s antwoorden daarop.
Gaat machine learning ertoe leiden dat banen in de cyberbeveiligings- branche verloren gaan?
Zeer zeker niet! Aanvallers, of het nu malwareschrijvers of personen zijn die in willen breken in bedrijfsnetwerken, zijn mensen. Ze zijn creatief en verzinnen aanvallen waarmee volledig geautomatiseerde oplossingen eenvoudig kunnen worden omzeild. Daarom moeten verdedigers ook creatief kunnen denken. Totdat kunstmatige intelligentie op menselijk niveau creatief kan zijn, blijven mensen onmisbaar op dit gebied.
Als machine learning-engines kunnen worden geïntegreerd in Virus Total, waarom kunnen er dan geen gedragsanalyse-engines worden geïntegreerd?
Gedragsengines zijn lastig te integreren in de systemen van Virus Total. Elke sample die door het systeem wordt gehaald, moet worden uitgevoerd in een omgeving waarin alle beveiligingsoplossingen van alle leveranciers werkzaam zijn. In de praktijk betekent dit dat er een virtuele machine moet worden gestart. Vervolgens moet het product van een leverancier worden geïnstalleerd of bijgewerkt. Daarna wordt de sample in de virtuele machine geïnjecteerd en uitgevoerd waarna het resultaat van het product moet worden geëxtraheerd. Ten slotte moet de virtuele machine worden vernietigd. Dit moet allemaal gebeuren onder speciale netwerkomstandigheden om er zeker van te zijn dat malware niet verder wordt verspreid.
Voor dit gehele proces zijn niet alleen enorm veel resources nodig, het is ook een verschrikking om te onderhouden, vooral als je je bedenkt dat alleen al de systemen van Virus Total meer dan 50 producten bevatten. Zelfs als Virus Total de infrastructuur zou hebben om dit te doen voor 500.000 samples keer 50 leveranciers per dag, zou er nog steeds een groot team van mensen moeten worden aangenomen om de omgeving te onderhouden en om de producten up-to-date te houden.
Is er een intrinsiek verschil tussen detectie-engines met machine learning en gedragsdetectie-engines?
Dit is appels met peren vergelijken. Machine learning-technieken worden gebruikt om de detectielogica aan de clientzijde te ‘trainen’. Het daadwerkelijke machine learning-proces wordt uitgevoerd in een zware back-endinfrastructuur omdat er grote volumes aan samples en veel verwerkingsvermogen voor nodig zijn. Het logicapakket wordt na het genereren via productupdates afgeleverd aan de klant. Hoewel sommige leveranciers niet specifiek praten over regels, handtekeningen en databases, kun je ervan uit gaan dat hun producten die elementen in welke mate dan ook bevatten. Als een database is gebundeld in de binaire structuur, is het nog altijd een database. Machine learning kan worden gebruikt om logica te trainen die is ontwikkeld om verdachtheid te detecteren gebaseerd op de structuur of het gedrag van een bestand, of beide.
We willen mensen met klem vragen om niet te veel te zoeken achter de huidige marketinghype rondom machine learning. De meeste antivirusleveranciers gebruiken al jaren machine learning-technieken om regels en logica te ontwikkelen.
Categorieën