systèmes de détection exemples académiques & commerciaux...supposons que les pare-feu, les...
TRANSCRIPT
Systèmes de détection
Exemples académiques & commerciaux
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 2
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 3
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 4
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 IMCP ping, TCP SYN (ou ACK, …)
Établissement d’une connexion TCP ou UDP
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 5
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 ICP echo reply.
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 6
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 7
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 8
Solution – Première étape Pour chaque adresse MAC, il faut calculer
Une variable Yi définie comme suit:
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.
réussi pas an'connexion nouvelle la si 1
réussi aconnexion nouvelle la si0iY
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 9
Solution – Première étape Une variable Yi définie comme suit:
Soit les probabilités
Hypothèse: un ordinateur non infecté a plus de chance de réussir sa connexion
c.-à-d.:
réussi pas an'connexion nouvelle la si 1
réussi aconnexion nouvelle la si0iY
0infecté pasest n' ordinateurl'|0Pr iY
11infectéest ordinateurl'|1Pr iY
10
1infectéest ordinateurl'|0Pr iY
01infecté pasest n' ordinateurl'|1Pr iY
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 10
Solution – Première étape (suite)
Pour chaque adresse MAC, il faut calculer
Un paramètre X associé au test d’hypothèse séquentiel
La liste des adresses IP afin de déterminer les nouvelles connexions.
(échec) 1 si 1
1
(succès) 0 si
connexion, nouvelle Pour toute
1 nt,Initialeme
0
1
0
1
n
n
YX
YX
X
X
Plus petit que 1
Plus grand que 1
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 11
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 12
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 13
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 14
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 15
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ée, 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 16
Solution – Première étape
Pour chaque adresse MAC, il faut calculer
Les variables T1 T2 T3 … Tn définies comme étant la durée entre
l’établissement des nouvelles connexions.
Hypothèses:
Si l’ordinateur n’est pas infecté, la distribution des variables Ti suit une
distribution exponentielle avec une moyenne de 1/λ0.
Si l’ordinateur est infecté, la distribution des variables Ti suit une
distribution exponentielle avec une moyenne de 1/λ1.
Naturellement, 1/λ0 > 1/λ1.
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 19
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, Sn)
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 20
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 que
quelques fois seulement toutes les heures.
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 21
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 22
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 23
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 locale?
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 24
Caractéristique du ver
Propriété du ver
Il balaie le réseau pour trouver un ordinateur.
Il déterminer 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 25
Architecture
DNS
local
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 26
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 27
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 28
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 29
Architecture
DNS
local
Serveur
SMTP
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 30
Envoie de courriel
1. Le client utilise son logiciel de courriel.
a) Un message est envoyé serveur SMTP local port TCP/25
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 31
Envoie de courriel
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 32
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 33
Envoie de courriel – Mass-Mailer
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 34
Solution
Il suffit de détecter les requêtes DNS MX!
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 35
Référence
D. Whyte, E. Kranakis et P.C. van Oorschot. DNS-based Detec-
tion of Scanning Worms in an Enterprise Network. Network and
Distributed System Security Symposium, 2005.
D. Whyte, P.C. van Oorschot et E. Kranakis . Addressing SMTP-
based 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 36
Supplémentaires
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 37
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 38
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 39
Caractéristique du ver
Propriété du ver
Il balaie le réseau pour trouver un ordinateur.
Il déterminer 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 40
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 41
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 42
Empreinte de Rabin
Chaîne
Empreinte de Rabin (simplifiée):
où t et M sont des constantes.
N.B.: les collisions sont possibles!
11 aaaA mm
MatatataaaaFm
m
m
mmm mod)()...( 12
2
1
1
11
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 43
Empreinte de Rabin – avantage
a7 a6 a5 a4 a3 a2 a1
Empreinte A
Empreinte B
MatatataaaaaF mod)()( 23
2
4
3
52345
MatatataaaaaF mod)()( 12
2
3
3
41234
MatataaaaaFaaaaF mod)/))((()( 2
3
5112342345
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 44
Table d’empreintes – probabiliste!
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
F1 F2 F1 F4 …
F1 2
F2 1
F4 1
Jean-Marc Robert, ETS Protection contre les menaces - Détection - Exemples - A08 45
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 46
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.