Wat is de eenvoudigste manier om een dreiging (ofwel phishing of spam) in uw e-mail te vinden? Een verscheidenheid aan technische headers en andere indirecte markers van een ongewenst bericht kunnen u de weg wijzen, maar we moeten het meest voor de hand liggende gedeelte niet vergeten: de berichttekst zelf. Men zou kunnen denken dat die als eerste moet worden geanalyseerd. De tekst is immers wat cybercriminelen en schaamteloze adverteerders gebruiken om de ontvangers te manipuleren. Dat is echter nog niet zo simpel. Terwijl signature analysis deze taak in het verleden nog kon uitvoeren, is het nu nodig om de tekst te analyseren met gebruik van machine learning-algoritmes. En als het machine learning-model getraind moet worden om berichten op de correcte manier de classificeren, moet het aanzienlijke hoeveelheden aan berichten gevoed krijgen, en dat is omwille van privacyoverwegingen niet altijd even praktisch. Wij hebben hier een oplossing voor gevonden.
Waarom is signature analysis niet langer effectief?
Tien jaar geleden was het filteren van een enorm deel van ongewenste e-mail alleen op basis van berichtteksten betrekkelijk eenvoudig omdat cybercriminelen dezelfde sjablonen gebruikten — de tekst van spam- (en phishing)-berichten veranderde nauwelijks. Vandaag de dag blijven cybercriminelen de efficiëntie van hun mailings verbeteren, en ze gebruiken miljoenen nieuwe listen: nieuwe videogames, tv-series, smartphone-modellen, politiek nieuws of zelfs noodgevallen (neem bijvoorbeeld de stortvloed aan spam met betrekking tot COVID-19). De enorme verscheidenheid aan onderwerpen maakt het detectieproces een stuk ingewikkelder. Bovendien kunnen aanvallers de tekst binnen één mailinggolf ook nog eens aanpassen om e-mailfilters te omzeilen.
Natuurlijk worden er nog altijd signature-based aanpakken gebruikt, maar hun succes is veelal afhankelijk van het vinden van tekst die iemand al eerder heeft geclassificeerd als ongewenst of schadelijk. Ze kunnen niet proactief te werk gaan omdat spammers ze kunnen omzeilen door veranderingen aan de brengen in de mailingtekst. De enige manier om iets aan dit probleem te doen, is via machine learning.
Wat is het probleem met machine learning?
De afgelopen jaren hebben machine learning-methodes goede resultaten laten zien bij het oplossen van vele problemen. Door grote hoeveelheden gegevens te analyseren, leren modellen om beslissingen te nemen en non-triviale gemeenschappelijke kenmerken te vinden binnen een informatiestroom. Wij gebruiken neurale netwerken die zijn getraind op technische e-mailheaders, in combinatie met DMARC om e-maildreigingen te detecteren. Dus waarom kunnen we niet gewoon hetzelfde doen met de tekst van het bericht zelf?
Zoals hierboven al vermeld, hebben modellen een enorme hoeveelheid aan data nodig. In dit geval bestaan die gegevens uit e-mails, en niet alleen schadelijke e-mails — we hebben immers ook legitieme berichten nodig. Zonder legitieme e-mails zou het trainen van een model op het onderscheid maken tussen een aanval en legitieme correspondentie onmogelijk zijn. We hebben tal van e-mailvallen die allerlei soorten ongewenste e-mails kunnen detecteren (we gebruiken die om signatures te maken), maar het verkrijgen van legitieme e-mailberichten voor machine learning is een ingewikkeldere taak.
Gegevens worden normaal gesproken op servers verzameld voor gecentraliseerde machine learning. Maar als we het over tekst hebben, hebben we met verschillende problemen te maken: e-mails kunnen privégegevens bevatten, dus het opslaan en verwerken hiervan in originele vorm zou onacceptabel zijn. Dus hoe kunnen we dan een toereikende verzameling van legitieme e-mails verkrijgen?
Federated learning
We lossen dat probleem op door het gebruik van de federated learning-methode en elimineren zo de noodzaak om legitieme e-mails te verzamelen en trainen modellen in plaats daarvan op een gedecentraliseerde manier. Modeltraining gebeurt rechtstreeks op de mailservers van de client en de centrale server ontvangt alleen de getrainde hoeveelheden van de machine learning-modellen, en niet de tekst van de berichten. Bij de centrale server combineren algoritmes de gegevens met de resulterende versie van het model, en die sturen we terug naar de client-oplossingen, waar het model opnieuw de stroom met e-mails analyseert.
Dat is een enigszins vereenvoudigd beeld: voordat het nieuw getrainde model wordt losgelaten op echte berichten, gaat hier door verschillende trajecten van aanvullende training. In andere woorden, er zijn twee modellen tegelijkertijd actief op de e-mailserver: één in de trainingsmodus en een andere in de actieve modus. Na meerdere reisjes naar de centrale server, vervangt het opnieuw getrainde model het actieve model.
Het is onmogelijk om de tekst van specifieke e-mails uit de modellen te achterhalen, en zo wordt de privacy tijdens de verwerking dus gegarandeerd. Desalniettemin verbetert de training op echte e-mails de detectiekwaliteit van het model aanzienlijk.
Momenteel gebruiken we deze aanpak voor spam-classificatie, in de testmodus, in Kaspersky Security for Microsoft Office 365 en zien we hier geweldige resultaten. Binnenkort zal het breder worden toegepast, ook om andere dreigingen te identificeren, zoals phishing, BEC en meer.