Au-delà de l’engouement médiatique, l’importance réelle de l’apprentissage automatique dans la détection des APT

0

Les menaces persistantes avancées sont le fléau qui handicape la sécurité des entreprises et les carrières IT, par des violations de données coûteuses et des pertes de données massives. Elles échappent systématiquement aux systèmes de sécurité traditionnels et volent les informations confidentielles de l’entreprise sans laisser de trace.

Cela fait des années que nous luttons contre cet ennemi, parfois sans savoir qui nous affrontons. C’est arrivé avec le projet Sauron, la menace sophistiquée qui profitait des exploits zero-day pour voler des données à partir d’ordinateurs connectés à Internet dans environ 30 entreprises dans le monde entier, dans les secteurs publics, de la télécommunication, des services financiers et des organismes de recherche.

Avec l’aide d’algorithmes d’apprentissage automatique intégrés il est possible de venir à bout de ce malware, mais les systèmes étant en charge de l’analyse de milliers de fichiers par jour, il est parfois difficile de saisir l’ampleur de la menace.

Plus d’algorithmes, plus de précision

Le malware ciblé est conçu pour ne pas être détecté par la solution de sécurité protégeant le système ciblé. Comme il est particulièrement complexe, il affiche généralement des comportements différents, observés sur plusieurs échantillons de malwares. Ainsi, pour garantir un taux de détection élevé, les éditeurs de sécurité préfèrent corréler les résultats de plusieurs algorithmes. Cette stratégie est efficace dans le traitement des APT, par opposition à l’utilisation d’une technologie unique, car il devient alors beaucoup plus difficile aux malwares d’éviter la détection.

Perceptrons, Neural Networks, Centroids, Binary Decision Tree et Deep Learning, pour ne citer que ceux-ci, sont de puissants algorythmes pouvant etre utilisés pour contrer les APT. Certains sont spécialisés dans la détection de familles de malwares spécifiques, d’autres sur les nouveaux fichiers malveillants, et d’autres encore sont conçus pour minimiser le nombre de faux positifs. Tous se complètent, aussi bien pour la détection heuristique traditionnelle que pour celle basée sur les signatures.

Une seule technologie ne résoudra pas tous les problèmes, mais plusieurs technologies, ensemble, peuvent résoudre la majorité des problèmes. En travaillant comme un ensemble, elles offrent un taux élevé de détection des nouvelles menaces.

Détecter le trafic réseau suspect

La détection des zero-days commence avec l’hypothèse que l’activité sur un endpoint dans un environnement d’entreprise a un comportement prévisible, donc l’identification de toute activité suspecte devrait commencer par une analyse typique du comportement du réseau.

L’apprentissage automatique peut aider à traiter des millions de points de données chaque minute, pour établir une base «normale» en comparant les points de données à un comportement passé, et en identifiant des différences anormales dans les valeurs au fil du temps.

Grâce à cette technologie, les transactions, les processus serveur, le trafic Internet, les alertes IPS et les journaux de proxy peuvent être analysés, à la recherche d’activités inhabituelles.

Des réseaux neuraux pour filtrer les URL

Les malwares ont la capacité de se cacher dans un réseau de proxy à multiples couches et d’utiliser des techniques d’évasion capables de fournir de nouveaux binaires à chaque accès.

Une solution pour bloquer une attaque APT est d’utiliser un filtre basé sur le réseau. Puisqu’une URL malveillante est souvent accessible uniquement pendant quelques minutes, cette méthode n’est efficace que si elle est associée à un service basé sur le cloud, pour mettre à jour la liste des domaines et des URL malveillantes dans les ordinateurs de tout le monde, aussi vite que possible. En outre, les techniques d’évasion sophistiquées ont réduit l’efficacité des listes classiques blanche/noire d’URL, entraînant un besoin de techniques plus dynamiques et plus complexes pour bloquer les attaques malveillantes sur Internet.

En utilisant des techniques d’apprentissage machine non supervisées, les experts en sécurité peuvent regrouper des URL ou des domaines pour identifier les DGA (algorithmes de génération de domaine) utilisés par les créateurs de malwares, dans le but de générer des domaines agissant comme points de rendez-vous avec les serveurs de commande et de contrôle.

Le « clustering » ou partitionnement de données (une des nombreuses méthodes d’analyse de données) consiste à diviser un ensemble de données en groupes homogènes en fonction de caractéristiques données.

Il vise à structurer les volumes non étiquetés de données en groupes ayant les propriétés que tous les objets du groupe partagent. Les algorithmes de clustering doivent être rapides (adaptés aux grands ensembles de données), génériques (pour être en mesure de surmonter l’obfuscation) et spécifiques (un cluster doit contenir des échantillons similaires).

Trier les e-mails spams

Les APT profitent souvent des exploits zero-day présents dans les applications fréquemment utilisées. La plupart du temps, l’utilisateur doit visiter une page malveillante ou ouvrir un document infecté envoyé par e-mail. Ainsi, l’identification des emails infectés par des malwares est toujours essentielle dans le cadre de la cyber-défense.

Un algorithme d’apprentissage automatique bien qualifié, peut déterminer si des e-mails sont des spams, en se basant sur des règles qu’il a apprises à partir d’échantillons pré-classés.

Identification des fichiers malveillants

Parfois, le malware peut etre diffusés à partir de fichiers PDF contenant du JavaScript malveillant. De cette façon, le code peut être exécuté sur les ordinateurs tout en évitant les différentes méthodes de protection. JavaScript est parfait car il est également polymorphes (deux fichiers avec les mêmes fonctionnalités peuvent sembler très différents).

Pour identifier les fichiers PDF infectés, on peut utiliser une méthode de classification basée sur la compilation du code JavaScript dans les fichiers PDF. En compilant le code JavaScript, en le décrivant d’une manière abstraite, et en éliminant les différents opérateurs utilisés dans le polymorphisme, il est possible d’obtenir des classes de fichiers qui sont très semblables sur le plan de la syntaxe. Ceux-ci peuvent être facilement regroupés pour réduire le volume de travail effectué par les analystes humains.

Au fil du temps les vecteurs d’attaque ont beaucoup changé et la technologie s’adapte en permanence. Cette technologie est maintenant disponible pour tous les types de fichiers script, des fichiers PDF avec Javascript intégré, aux documents Office, VBScript, fichiers de script AutoIt et fichiers Javascript autonomes.

About Author

Dragos Gavrilut

Dragos Gavrilut est Directeur des recherches antimalwares chez Bitdefender. Il gère une équipe de plus de 80 développeurs des détections heuristiques, des services basés sur le cloud, des services de test de systèmes, des routines de désinfection, des analyses Android et iOS, des algorithmes de corrélation d'événements, des data mining, de l’IoT et des analyses de cybersecurity. Il est également professeur à l'Université Alexandru Ioan Cuza de Iaşi en Roumanie, où il a obtenu son doctorat.

Leave A Reply