Systèmes de détection Exemples académiques & commerciaux
Système de détection: Propagation de logiciels malveillants Exemple I: MIT, ICSI & Consentry Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 2
Problème Afin de détecter les nouveaux logiciels malveillants, il est impossible de se reposer seulement sur une base de données de signature. Comment détecter le mythique zero-day attack. Vers ou virus exploitant une vulnérabilité qui n est pas encore répertoriée des logiciels de protection. Problème Supposons que les pare-feu, les anti-virus et les systèmes de détection et de prévention d intrusions ont laissé passer un logiciel malveillant tel qu un ver cherchant à se reproduire. Le mythique zero-day attack. Vers ou virus exploitant une vulnérabilité qui n est pas encore répertoriée des logiciels de protection. Comment détecter un logiciel malveillant cherchant à se propager à partir du réseau local? Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 3
Caractéristiques du ver (problème1) Propriété d un ver : Il balaie le réseau pour trouver un ordinateur. Il détermine si l ordinateur est vulnérable. Il infecte l ordinateur. Solution A: Détecter le comportement anormal (trop de connexions non réussies) lors du balayage. Balayage ICMP ping, TCP SYN (ou ACK, ) Établissement d une connexion TCP ou UDP Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 4
Caractéristiques du ver (suite) Un logiciel malveillant balayant le réseau Va envoyer un grand nombre de paquets TCP SYN pour lesquels il ne recevra pas de paquets TCP SYN/ACK. Il devrait recevoir un paquet TCP RST si l ordinateur existe mais le port est fermé. Il devrait recevoir un paquet ICMP host unreachable si l ordinateur n existe pas. Malheureusement, beaucoup de ces paquets indiquant que la communication ne s est pas effectuée sont filtrés par les pare-feu. Va envoyer un grand nombre de paquets ICMP echo pour lesquels il ne recevra pas de paquets ICMP echo reply. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 5
Solution A Description informelle Pour chaque adresse MAC (ou IP) dans le réseau, déterminer la fréquence des nouvelles connexions n ayant pas réussi. Conserver la liste des adresses IP déjà visitées. Si la fréquence est au-delà d un seuil donné, cet ordinateur est infecté par un logiciel malveillant balayant le réseau afin de trouver un autre ordinateur à infecter. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 6
Solution A Description informelle Système de détection de vers dans un réseau local Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 7
Solution Première étape Pour chaque adresse MAC, il faut calculer Une variable Y i définie comme suit: Y i 0si la nouvelle connexion a réussi 1si la nouvelle connexion n'a pas réussi Connexion réussie? Si la connexion a été initiée par un paquet TCP SYN, la connexion est dite réussie si un paquet SYN-ACK est reçu avant l expiration d un délai D. Si la demande est un paquet UDP, alors n importe quel paquet UDP reçu avant l expiration d un délai D est suffisant pour conclure que la connexion a réussie. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 8
Solution Première étape Une variable Y i définie comme suit: Y i Soit les probabilités Pr Pr Pr Pr 0si la nouvelle connexion a réussi 1si la nouvelle connexion n'a pas réussi Y i 0 l'ordinateur n'est pasinfecté 0 0 Y i 1 l'ordinateur Y i 0 l'ordinateur est infecté 1 Y i 1 l'ordinateur est infecté 1 1 Hypothèse: un ordinateur non infecté a plus de chance de réussir sa connexion c.-à-d.: 0 1 n'est pasinfecté 1 Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 9
Solution Première étape (suite) Pour chaque adresse MAC, il faut calculer Un paramètre X associé au test d hypothèse séquentiel Initialement, X 1 Pour toutenouvelle connexion, 1 X 0 X 1 1 X 10 siy n siy n 0 (succès) 1(échec) Plus petit que 1 Plus grand que 1 La liste des adresses IP afin de déterminer les nouvelles connexions. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 10
Solution Deuxième étape: Test d hypothèse séquentiel Si X est inférieur à η 0, alors l ordinateur ne fait pas de balayage. Si X est supérieur à η 1, alors l ordinateur fait du balayage. Entre les deux,???. Il faut continuer à observer pour arriver à une conclusion. Les seuils η 0 et η 1 sont déterminés selon l intervalle de confiance désirée. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 11
Solution Deuxième étape: Test d hypothèse séquentiel Chaque succès (0) observé réduit la valeur de X en la rapprochant du seuil η 0 (absence d activités de scan) Chaque échec (1) observé augmente la valeur de X en la rapprochant du seuil η 1 (présence d activité de scan) Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 12
Caractéristiques du ver (problème 2) Propriété d un ver : Il balaie le réseau pour trouver un ordinateur. Il détermine si l ordinateur est vulnérable. Il infecte l ordinateur. Solution B: Détecter le comportement anormal (trop de connexions réussies) lors du balayage. Établissement d une connexion TCP ou UDP. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 13
Caractéristiques du ver (suite) Un logiciel malveillant attaquant des cibles existantes et vulnérables Afin de réduire le nombre de fausses connexions, le ver possède une liste d attaques (hitlist) composée d adresses d ordinateurs existants et potentiellement vulnérables. Liste construite en différée jours ou semaines avant l infection.. Liste disponible sur un serveur possiblement. Rapidité de propagation. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 14
Solution B Description informelle Pour chaque adresse MAC (ou IP) dans le réseau, déterminer la fréquence des nouvelles connexions ayant réussi. Conserver la liste des adresses IP déjà visitées. Si la fréquence est au-delà d un seuil donné, cet ordinateur est infecté par un logiciel malveillant communicant avec un grand nombre d ordinateurs. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 15
Où doit-on implanter cette idée? Dans un commutateur local afin de détecter si un des ordinateurs du réseau Ethernet est infecté et cherche à se propager en balayant le réseau local ou global (Internet). Ainsi, pour chaque adresse MAC, il faut conserver Le paramètre Λ(n, S n ) La liste des adresses IP déjà contactées. Coûteux. Il faut être plus futé ici. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 19
Limitation de ces deux solutions Elles forcent les logiciels malveillants à se propager en deçà d une limite donnée. Elles ne peuvent rien faire si un logiciel décide de se propager quelques fois seulement toutes les heures. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 20
Références S. Schechter, J. Jung, et A. W. Berger, Fast Detection of Scanning Worm Infections, International Symposium on Recent Advances in Intrusion Detection, 2004. J. Jung, R. Milito, et V. Paxson, On the Adaptive Real-Time Detection of Fast-Propagating Network Worms, Fourth GI International Conference on Detection of Intrusions & Malware, and Vulnerability Assessment, 2007. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 21
Système de détection: Propagation de logiciels malveillants Exemple II: Dave Whyte, Carleton U. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 22
Caractéristique du ver Propriété du ver Il balaie le réseau pour trouver un ordinateur. Il détermine si l ordinateur est vulnérable. Il infecte l ordinateur. Solution A: Détecter le comportement anormal (aucune requête DNS n est faite) lors du balayage. Ainsi, un ordinateur infecté cherche à établir un grand nombre de connexions avec des adresses IP pour lesquels aucune requête DNS n a été faite. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 24
Architecture DNS local Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 25
Solution Pour chaque adresse IP local, Conserver une liste d adresses IP pour lesquelles une requête DNS a été faite. Pour chaque nouvelle connexion, déterminer si l adresse appartient ou non à la liste. Paquets TCP SYN Tout paquet UDP (pas de notion de connexion dans ce cas) Tolérer un certain nombre de connexions n appartenant pas à la liste. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 26
Cas spéciaux Réseaux Peer-to-Peer Requêtes http De nombreuses pages html contiennent des url utilisant des adresses IP au lieu de noms (fully qualified name servers). Solution: analyser le contenu des pages html afin de retrouver les adresses IP dans les liens url. Certaines applications de certains serveurs n utilisent pas de façon systématique les requêtes DNS Serveurs ftp, serveurs telnet, applications administratives, Solution: listes blanches. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 27
Caractéristique du mass-mailer Propriété du mass-mailer Il cherche à envoyer le plus de courriels malveillants à des adresses provenant de la liste de contacts de l ordinateur infecté. Il possède son propre serveur SMTP. Afin de contourner les mécanismes de défense du serveur SMTP légitime. Limiter les courriels d un envoyeur, éliminer les pièces jointes suspicieuses, Solutions Bloquer les connexions d un ordinateur vers un serveur SMTP extérieur (port TCP 25). Peut être trop drastique! Surveiller les requête DNS recherchant les informations du serveur courriel (MX records). Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 28
Architecture DNS local Serveur SMTP Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 29
Envoie de courriel 1. Le client utilise son logiciel de courriel. a) Un message est envoyé serveur SMTP local port TCP/25 b) jm@robert.net 2. Le serveur SMTP local recherche l adresse IP du serveur courriel du domaine www.robert.net. a) Requête DNS MX Information de l enregistrement MX 3. Le serveur SMTP local transfert le courriel au serveur SMTP externe approprié a) Un message est envoyé serveur SMTP port TCP/25 Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 30
Envoie de courriel Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 31
Envoie de courriel Mass-Mailer 1. L ordinateur infecté utilise son propre serveur SMTP malicieux 2. Le serveur SMTP malicieux recherche l adresse IP du serveur courriel du domaine www.robert.net. a) Requête DNS MX Cache du serveur DNS local b) Requête à un serveur DNS externe (liste incluse avec le ver) 3. L ordinateur infecté envoie ses propres messages SMTP aux serveurs SMTP externes a) Nombreux messages envoyés serveurs SMTP externes port TCP/25 Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 32
Envoie de courriel Mass-Mailer Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 33
Solution Il suffit de détecter les requêtes DNS MX! Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 34
Référence D. Whyte, E. Kranakis et P.C. van Oorschot. DNS-based Detection of Scanning Worms in an Enterprise Network. Network and Distributed System Security Symposium, 2005. D. Whyte, P.C. van Oorschot et E. Kranakis. Addressing SMTPbased Mass-Mailing Activity Within Enterprise Networks. 22nd Annual Computer Security Applications Conference, 2006. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 35
Supplémentaires Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 36
Système de détection: Propagation de logiciels malveillants Exemple III: UCSD, NetSift Cisco Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 37
Problème Le concept de défense en profondeur prévoie de mettre en place plusieurs moyens (parfois redondants). Problème Il existe deux méthodes pour détecter les logiciels malveillants: détection de signatures et détection de comportements anormaux? Sans une base de données de signature à jour, il est impossible de détecter tous les logiciels malveillants. De plus, comment détecter un logiciel malveillant exploitant une vulnérabilité non répertoriée. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 38
Caractéristique du ver Propriété du ver Il balaie le réseau pour trouver un ordinateur. Il détermine si l ordinateur est vulnérable. Il infecte l ordinateur. Solution : Détecter si un grand nombre de paquets ont une chaîne commune. Sans connaissance a priori de cette chaîne. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 39
Architecture NetSift Cas 1: 1-à-plusieurs (légitime) Cas 2: plusieurs-à-plusieurs (malveillant) Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 40
Solution Table des sous-chaînes Conserver tous les paquets Trop coûteux! Trop facile à contourner: fragmentation des paquets Indexer toutes les sous-chaînes Trop couteux! Indexer toutes les sous-chaînes de taille donnée Empreinte de Rabin Calcul probabiliste afin de déterminer les sous-chaînes fréquentes Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 41
Empreinte de Rabin Chaîne A a m a m 1 a 1 Empreinte de Rabin (simplifiée): m1 m2 F( amam 1... a1) ( amt am 1t a2t a1 ) mod M où t et M sont des constantes. N.B.: les collisions sont possibles! Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 42
Empreinte de Rabin avantage a 7 a 6 a 5 a 4 a 3 a 2 a 1 Empreinte A 3 2 F( a4a3a2a1 ) ( a4t a3t a2t a1) mod M Empreinte B 3 2 F( a5a4a3a2 ) ( a5t a4t a3t a2) mod M 3 F( a5a4a3a 2) (( F( a4a3a2a1 ) a1 ) / t a5t a2) mod M Une division (table), une multiplication (table) Une soustraction et deux additions peu importe la longueur de l empreinte Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 43
Table d empreintes probabiliste! F 1 F 2 F 1 F 4 F 1 2 F 2 1 F 4 1 Si l empreinte se trouve dans la table, incrémenter le compteur. Sinon, enlever une empreinte avec le plus bas compteur. Cette méthode peut trouver une empreinte fréquente avec peu de compteurs: 50 % - 4 compteurs 10 % - 100 compteurs 1 % - 10000 compteurs Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 44
Table d empreintes (modifications) On doit ajouter le nombres de sources et de destinations. Exemple: le serveur de nouvelles cnn.com. Mêmes empreintes régulièrement Plusieurs destinations (lecteurs de nouvelles) Une seule source (le serveur de nouvelles) Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 45
Référence S. Singh, C. Estan, G. Varghese et S. Savage. Automated Worm Fingerprinting. ACM/USENIX Symposium on Operating System Design and Implementation, 2004. Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 46