technique de défense dans un réseau - l'asiq de défense dans un réseau projet présenté...

29
Technique de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis [email protected] Gregory Eric Sanderson [email protected] Louis-Étienne Dorval [email protected] Simon Perreault [email protected] Sous la supervision de : François GAGNON (enseignant) [email protected] Département de l’informatique Techniques de l’informatique Cégep de Sainte-Foy Hiver 2012

Upload: truongkhanh

Post on 12-May-2018

217 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

Technique de défense dans un réseau

Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012

Présenté par :

Frédérik [email protected]

Gregory Eric [email protected]

Louis-Étienne [email protected]

Simon [email protected]

Sous la supervision de : François GAGNON

(enseignant) [email protected]

Département de l’informatique Techniques de l’informatique

Cégep de Sainte-Foy Hiver 2012

Page 2: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

Table des matières 1 Introduction............................................................................................................................................4 2 Qu'est-ce que le spoofing?.....................................................................................................................4 3 Le but de la recherche............................................................................................................................5 4 Les protocoles........................................................................................................................................6

4.1 Address resolution protocol (ARP)................................................................................................6 4.1.1 Entête......................................................................................................................................6 4.1.2 Déroulement...........................................................................................................................7

4.2 Dynamic Host Configuration Protocol (DHCP)............................................................................8 4.2.1 Déroulement...........................................................................................................................8

4.3 Domain Name System (DNS)......................................................................................................10 4.3.1 Déroulement.........................................................................................................................10

5 Type de spoofing..................................................................................................................................11 5.1 ARP spoofing................................................................................................................................11

5.1.1 Attaque..................................................................................................................................11 5.1.1.1 ARP Reply Spoofing.....................................................................................................11 5.1.1.2 ARP Request Spoofing..................................................................................................12

5.1.2 Défense.................................................................................................................................13 5.1.2.1 Au niveau du système d'exploitation.............................................................................13 5.1.2.2 Système de détection.....................................................................................................13

5.2 DHCP spoofing............................................................................................................................15 5.2.1 Rogue DHCP........................................................................................................................15

5.2.1.1 Défense.........................................................................................................................16 5.2.2 DHCP Starvation..................................................................................................................16

5.2.2.1 Défense.........................................................................................................................17 5.2.3 Libération d'adresse IP du réseau.........................................................................................18

5.2.3.1 Défense.........................................................................................................................18 5.3 DNS spoofing...............................................................................................................................19

5.3.1 Falsification d'une réponse...................................................................................................19 5.3.1.1 Défense.........................................................................................................................19

5.3.2 Empoisonnement du cache DNS..........................................................................................21 5.3.2.1 Défense.........................................................................................................................21

6 Prototypes.............................................................................................................................................22 6.1 Attaquant......................................................................................................................................22

6.1.1 Reply ARP Service...............................................................................................................22 6.1.2 ARP Broadcast Service.........................................................................................................23 6.1.3 Rogue DHCP........................................................................................................................23 6.1.4 IP Stealer...............................................................................................................................24 6.1.5 DNS Poisonning...................................................................................................................24

6.2 Défenseur......................................................................................................................................25 6.2.1 Active ARP Protection..........................................................................................................25 6.2.2 ARP Reply Rate....................................................................................................................25 6.2.3 Rogue DHCP Detection........................................................................................................26 6.2.4 DNS spoof detection.............................................................................................................26

2

Page 3: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

7 Conclusion...........................................................................................................................................27 8 Bibliographie........................................................................................................................................28

8.1 DHCP...........................................................................................................................................28 8.2 ARP..............................................................................................................................................28 8.3 DNS..............................................................................................................................................28

3

Page 4: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

1 Introduction

Dans le cadre du cours « Approfondissement télécommunication et réseaux » du Cégep de Sainte-Foy

avec François Gagnon, nous avons entrepris de faire une revue des mécanismes d'attaques et de

défenses des principaux protocoles réseaux qui peuvent mener à une usurpation d'identité

(réseautiquement parlant) ou en situation « d'attaque de l'homme du milieu » (« man in the middle »).

Ce document n'a pas la prétention de faire une liste exhaustive des attaques et des défenses possibles,

mais de couvrir largement les avenues possibles. Notez que les attaques parlées dans ce document ne

sont qu'au niveau réseau et qu'elles se font à distance de la victime. Le virus et les vers ne sont donc pas

concernés par ces attaques. Notez aussi que certaines des techniques de défense se font sur l'ordinateur

de l'hôte victime de l'attaque et que d'autres se font complètement à distance.

2 Qu'est-ce que le spoofing?

Le spoofing, en sécurité informatique, est lorsqu'une personne réussit à obtenir des avantages en

envoyant de fausses données , ou encore des données trafiquées. Souvent, le spoofing peut permettre de

cacher son identité en falsifiant son adresse matérielle (MAC) ou son adresse logique (IP). Le spoofing

peut servir à mettre l'attaquant en situation « d'attaque de l'homme du milieu » en effectuant des

manipulations sur certains protocoles de configuration réseau comme ARP ou DHCP. L'attaque de

« l'homme du milieu » consiste au fait que l'attaquant est capable de se positionner entre deux victimes

et d'intercepter leurs communications. Habituellement, il s'agit d'une victime et du routeur sur lequel

elle est connectée.

Beaucoup d'attaques par spoofing sont uniquement dédiées aux réseaux locaux et ne sont donc

heureusement pas utilisables sur Internet, mais ce n'est pas le cas pour tous. Pour notre part, la plupart

des attaques que nous avons étudiées se font en réseau local. Ces attaques pourraient tout aussi bien

être utilisées dans le contexte d'un réseau métropolitain (MAN).

4

Page 5: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

3 Le but de la recherche

Comme dit précédemment, la recherche se fait sur les mécanismes d'attaques et de défenses de

différents protocoles qui contiennent des failles qu'il est possible d'exploiter en envoyant de fausses

données (spoofing). La finalité de la recherche est, bien sûr, de sensibiliser la société face à ces attaques

et de trouver des techniques permettant de les déjouer ou de les prévenir si c'est possible.

Notre recherche s'est concentrée sur 3 protocoles : ARP, DHCP, DNS. Il faut dire qu'il est possible

d'effectuer du spoofing avec plusieurs autres protocoles, mais cela se fait la plupart du temps du côté

applicatif et non du côté réseau.

5

Page 6: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

4 Les protocoles

Voici les descriptions des protocoles dont notre recherche portait.

4.1 Address resolution protocol (ARP)

Le protocole ARP est un protocole permettant d'obtenir l'adresse physique d'un hôte (habituellement

une adresse MAC) à l'aide de son adresse logique (typiquement une adresse IP). Le protocole ARP est

classé comme étant de couche 2 dans le modèle OSI (Couche de liaison de données). Le protocole ARP

est habituellement encapsulé dans le protocole Ethernet. [10] [11] [14]

4.1.1 Entête

Voici l'entête du protocole ARP ainsi qu'une description sommaire de chacun des champs1 :

Octet 1 Octet 2 Octet 3 Octet 4

Hardware type Protocol type

Hardware Address Length

Protocol Address Length Operation

Adresse MAC source (octets 1-4)

Adresse MAC source (octets 5-6) Adresse IP source (octets 1-2)

Adresse IP source (octets 3-4) Adresse MAC destination (octets 1-2)

Adresse MAC destination (octets 3-6)

Adresse IP destination (octets 1-4)

Hardware type (type de matériel) : Habituellement 1 pour Ethernet

Protocol type (Type de protocole de niveau 3) : Habituellement 0x0800 pour IP

Hardware Address Length (longueur de l’adresse physique en octet) : Habituellement 1 pour

Ethernet

Protocol Address Length (longueur de l’adresse logique en octet) : Habituellement 4 pour IPv4

1 http://fr.wikipedia.org/wiki/Address_Resolution_Protocol

6

Page 7: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

Operation

1 - Request : requête ARP

2 - Reply : réponse ARP

Ce champ permet de connaître la fonction du message et donc son objectif.

Sender Hardware Address (adresse physique de l’émetteur)

Sender Internet Address (adresse réseau de l’émetteur)

Target Hardware Address (adresse physique du destinataire) (0 lorsque c'est une requête)

Target Internet Address (adresse réseau du destinataire)

4.1.2 Déroulement

La procédure [14] [15] pour obtenir une adresse MAC à partir d'une adresse IP se déroule comme ceci :

• Un client veut connaître l'adresse MAC de destination qui a l'adresse IP 192.168.1.100 et est

dans le même sous-réseau que lui. Il envoie donc un paquet ARP avec le code d'opération 1 et

l'adresse de la destination dans le champ « Target Internet Address ». Ce paquet est envoyé en

diffusion (broadcast) Ethernet c'est-à-dire avec l'adresse MAC FF:FF:FF:FF:FF:FF comme

destination.

• Tous les hôtes du sous-réseau du client reçoivent le paquet ARP de celui-ci. Étant donné que

l'hôte de destination est dans le même sous-réseau que le client, il reçoit également le paquet

ARP. Tous les hôtes vérifient si l'adresse IP à laquelle est destiné ce paquet ARP est la leur et

sinon il la jette. Étant donné que le paquet ARP lui est destiné, le destinataire répond. Le paquet

ARP avec le code d'opération 2 est envoyé avec l'adresse IP et l'adresse MAC du destinataire

comme source et l'adresse IP et l'adresse MAC du client comme destination.

• Seul le client reçoit la réponse du destinataire. Lorsque reçus, il met les informations du

destinataire dans sa cache ARP afin de ne pas à avoir à faire un paquet ARP à chaque fois qu'il

veut effectuer une communication vers le destinataire. Chaque entrée dans la cache ARP a une

durée de vie définie par le client. Lorsqu’une entrée expire, le client doit envoyer de nouveau un

paquet ARP pour avoir de nouveau une entrée valide.

7

Page 8: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

4.2 Dynamic Host Configuration Protocol (DHCP)

Le protocole DHCP est un protocole permettant d'obtenir une configuration réseau automatiquement

sans avoir à expliciter manuellement cette configuration dans le système. Il est possible d'utiliser le

protocole DHCP pour plusieurs choses, mais il est habituellement utilisé pour obtenir une adresse IP

ainsi que le masque de sous réseau. Il permet également au système d'exploitation de connaître

l'adresse de la passerelle par défaut ainsi les adresses des serveurs DNS à utiliser. [1] [2] [3]

Le protocole DHCP est classé comme étant de couche 7 dans le modèle OSI (Application). Le

protocole est encapsulé dans le protocole UDP. En ce qui a trait au port UDP, le client DHCP utilisera

toujours le port 68 et le serveur DHCP utilisera toujours le port 67. [4] [5]

4.2.1 Déroulement

L'acquisition[5] de la configuration réseau se fait en 4 phases :

• DHCP Discover : Le client envoie un paquet DHCP du port UDP 68 au port UDP 67 à l'adresse

IP de diffusion c'est-à-dire 255.255.255.255 et à l'adresse MAC de diffusion

FF:FF:FF:FF:FF:FF. Les données du paquet DHCP indiquent que le type de paquet est DHCP

Discover. Ce paquet est fait dans le but de « découvrir » les serveurs DHCP du réseau et d'avoir

une offre de configuration IP. Il peut y avoir plusieurs serveurs DHCP sur le réseau qui

répondent à ce paquet par un DHCP Offer.

• DHCP Offer : Les serveurs DHCP recevant le DHCP Discover envoient au client en diffusion

Ethernet et IP ou pas (cela dépend des serveurs DHCP) un paquet DHCP de type Offer. Dans ce

paquet, il y a une offre de configuration IP pour le client. Dans cette offre, il y a une adresse IP

offerte au client, des informations générales sur le réseau comme la passerelle ou les serveurs

DNS et des informations plus spécifiques que le client a demandé dans son paquet DHCP

Discover par exemple des informations NetBios que Windows demande souvent.

8

Page 9: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

• DHCP Request : Comme dit précédemment, le client peut recevoir plusieurs DHCP Offer. Il

doit donc choisir parmi un des serveurs DHCP. Ce choix est de l'ordre de l'implémentation du

client DHCP. Donc, lorsqu'il choisit une offre, le client envoie un paquet DHCP de type DHCP

Request qui indique le choix de configuration IP. Ce paquet est encore fait en diffusion pour que

tous les serveurs DHCP soient au courant de la configuration que le client a choisi.

• DHCP Acknowledge : Finalement, le serveur DHCP dont l'offre a été acceptée par le client

envoie un paquet DHCP de type Acknowledge (Ack). Ce paquet contient les mêmes

informations que dans le DHCP Offer si le client les a redemandés ce qui est le cas la plupart du

temps. Ce paquet confirme au client que le DHCP Request a été accepté et qu'il peut maintenant

utiliser l'adresse IP offerte en toute légitimité.

Il y a également d'autres types de paquet DHCP qui sont moins utilisés :

• DHCP Nak : Un paquet de type DHCP Nak est envoyé à un client lorsque le client ne semble

pas avoir une bonne configuration IP. Ce type de paquet est seulement pris en compte lors de la

configuration et n'est plus pris en compte lorsque le client a accepté la configuration. [1]

• DHCP Release : Un paquet de type Release est utilisé par le client pour avertir le serveur DHCP

qu'il ne souhaite plus avoir de configuration IP. Ce paquet libère donc l'adresse IP allouée au

client des adresses IP des adresses IP prises. Ce type de paquet est utile afin de pouvoir

redonner les adresses IP qui ont été délibérément libérées par les clients.[1]

9

Page 10: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

4.3 Domain Name System (DNS)

Le protocole DNS est un protocole permettant d'obtenir la ou les adresses IP correspondantes à un nom

de domaine. Le système des noms de domaine est un système hiérarchique où il y a les 13 serveurs

DNS racines d'Internet d'où tous les autres serveurs DNS tirent leurs informations. Bien entendu, les

serveurs DNS locaux ne s'en servent pas et ne partagent pas leurs informations à l'extérieur.

Le protocole DNS est classé comme étant de couche 7 dans le modèle OSI (Application). Le protocole

est encapsulé dans le protocole UDP. Le serveur DNS utilisera le port UDP 53. [18] [19]

4.3.1 Déroulement

Le déroulement d'une requête DNS peut paraître assez simple, mais, en réalité, si le serveur DNS n'a

pas dans sa cache l'information que l'on cherche, il sera obligé de déléguer la requête à un serveur DNS

supérieur. [16] [16] [18] [19] Voici un exemple simple :

• L'hôte qui cherche à joindre l'adresse www.exemple.com enverra une requête DNS de type

« query » sur le port UDP 53 du serveur DNS.

• Le serveur DNS recevant cette requête regarde dans sa cache DNS si www.exemple.com y est

déjà. Lorsqu'il l'a trouvé, il répond à la requête par une requête DNS de type « response » qui

contient la ou les adresses IP correspondantes au nom de domaine, car un nom de domaine peut

correspondre à plusieurs adresses IP.

10

Page 11: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

5 Type de spoofing

5.1 ARP spoofing

5.1.1 Attaque

L'ARP spoofing comprend plusieurs techniques permettant tous de mettre en place « une attaque de

l'homme du milieu ». La plupart du temps, il est question d'intercepter des données passant de la

victime au routeur et vice-versa.

5.1.1.1 ARP Reply Spoofing

Une des techniques de ARP Spoofing consiste à envoyer un paquet ARP avec le code d'opération 2

c'est-à-dire le code pour indiquer une réponse (« reply ») à l'hôte que l'on souhaite attaquer. Ce paquet

indiquera à l'hôte victime que l'adresse IP du routeur réfère à l'adresse MAC de l'attaquant. Lors de la

réception de ce paquet, la victime tiendra pour acquis qu'il s'agit d'une réponse à un paquet qu'il a

envoyé et mettra sa cache à jour. Afin de maintenir la cache ARP de la victime avec les informations

voulues, il est nécessaire de répéter souvent ce paquet. [12] [13]

Pour être en mesure de recevoir les réponses du routeur destinées à l'hôte, plusieurs techniques sont

possibles. La technique la plus courante est d'effectuer la même chose pour le routeur, mais en se

11

Page 12: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

faisant passer pour l'hôte que l'on attaque. Il faut bien sûr effectuer une redirection des paquets reçus

pour que le routeur et l'hôte reçoivent les paquets leur étant destinés. Une autre technique est d'effectuer

du NAT entre l'hôte et le routeur : de cette façon, il n'est plus nécessaire de spoofer le routeur ce qui

devient transparent pour lui.

5.1.1.2 ARP Request Spoofing

Une autre des techniques permettant de faire du ARP Spoofing consiste à envoyer un paquet avec le

code d'opération 1 c'est-à-dire le code pour indiquer le type « request » et non le type « reply » que

l'attaque précédente utilise. Cette fois-ci, les champs ARP qui seront falsifiés sont l'adresse IP source et

l'adresse MAC source du paquet ARP : l'adresse IP sera celle du routeur et l'adresse MAC sera celle de

l'attaquant. Lors de la réception de ce paquet ARP, la victime mettra les informations provenant du

destinataire dans sa cache. Cela est fait dans un but d'optimisation; comme cela, l'hôte n'a pas à refaire

un paquet ARP plus tard s'il désire communiquer à le destinataire en question.

La particularité de cette attaque est qu'elle permet de spoofer tout le réseau sur lequel se trouve

l'attaquant, car le paquet ARP est envoyé en diffusion Ethernet sur le réseau. L'attaquant doit également

être en mesure de rediriger tout le trafic vers le routeur et vice-versa vers les hôtes du réseau.

Le prototype que nous avons fait implémente ces deux types de spoofing.

12

Page 13: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

5.1.2 Défense

Diverses défenses contre ces attaques sont possibles. Certaines de ces défenses sont au niveau du

système d'exploitation et les autres sont des systèmes de détection de ARP Spoofing sur le réseau.

5.1.2.1 Au niveau du système d'exploitation

Pour prévenir la première attaque (ARP Reply Spoofing) au niveau du système d'exploitation, le

système d'exploitation pourrait ne prend en compte que les ARP reply répondant à un ARP request

précédemment envoyé. Il pourrait également s'apercevoir du ARP Spoofing lorsque les réponses à une

ARP request se contredisent.

Pour ce qui est de la deuxième attaque (ARP Request Spoofing), le système d'exploitation pourrait tout

simplement ne pas prendre en compte les informations qui y sont contenues.

5.1.2.2 Système de détection

Pour détecter un ARP Reply Spoofing, il est possible de calculer le taux entre le nombre de ARP reply

reçu comparativement au nombre de ARP request reçu. Bien entendu, s'il y a plus de ARP reply qui

sont reçus, il y a un ARP Reply Spoofing en cours.

Il n'est pas possible d'effectuer la même chose pour la deuxième attaque (ARP Request Spoofing), car

13

Page 14: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

les ARP request sont en envoyés en diffusion, mais pas les ARP reply. Il est également normal de

recevoir plus de ARP request que de ARP reply étant donné que certaines n'ont pas de réponse

normalement lorsque, par exemple, l'hôte à contacter n'est plus sur le réseau.

Pour détecter les deux attaques, il est possible de vérifier activement si les données reçues dans un

paquet ARP sont légitimes ou non. Il s'agit d'envoyer un paquet ARP avec les informations reçues et de

voir si les informations que nous avions préalablement reçues sont les mêmes que les nouvelles

informations.

Le prototype que nous avons fait implémente ces deux systèmes de détection.

14

Page 15: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

5.2 DHCP spoofing

5.2.1 Rogue DHCP

Le principe d'un rogue DHCP est très simple : l'attaquant ouvre un serveur DHCP non légitime sur le

réseau. Lorsqu'un client se connecte au réseau, si le serveur DHCP de l'attaquant est plus rapide que le

serveur DHCP local, le client recevra une configuration IP du serveur DHCP non légitime. Cette

attaque se base sur le fait qu'il n'y ait aucune authentification de la part du serveur DHCP pour s'assurer

qu'il est légitime. [3] [7]

Certains serveurs DHCP envoient des paquets DHCP de type « NAK » lorsqu'il s'aperçoit que le client

s'apprête à accepter une configuration incorrecte. Il faut donc que le serveur DHCP malicieux soit assez

rapide pour finaliser l'acquisition de la configuration IP par le client avant que le client ne reçoive la

paquet de type NAK. Lorsque le client a finalisé l'acquisition de la configuration, il ne se préoccupe

plus de cet paquet.[1]

Avec cette attaque, il est possible, dans le moins pire des cas, de donner des mauvaises configurations

au client ce qui les met en incapacité de communiquer sur le réseau. Dans le pire des cas, il y aura

« une attaque de l'homme du milieu » entre l'attaquant et les hôtes se connectant sur le réseau. Étant

donné qu'il est également possible de fournir la configuration DNS des clients, il est possible donner

15

Page 16: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

l'adresse de l'attaquant comme étant un serveur DNS et ensuite de falsifier les adresses IP des noms de

domaine dans le but de faire de l’hameçonnage par exemple.

Le prototype que nous avons fait implémente un rogue DHCP.

5.2.1.1 Défense

Une technique très simple pour détecter si un rogue DHCP est sur le réseau est d'effectuer un paquet

DHCP de type « discover » et de comparer la liste des serveurs DHCP qui ont répondu avec la liste des

serveurs DHCP connus sur le réseau. Si un serveur DHCP qui a répondu n'est pas dans la liste des

serveurs DHCP connus, il s'agit sans doute d'un rogue DHCP.

Le prototype que nous avons fait implémente cette technique de détection de rogue DHCP.

5.2.2 DHCP Starvation

Le principe d'un DHCP Starvation est encore très simple : il s'agît de faire des paquets DHCP dans le

but d'avoir un bail de chacune des adresses IP disponibles dans la plage d'adresses IP du serveur DHCP

local. Ceci peut résulter en l'impossibilité des clients qui se connectent d'avoir une adresse IP. Il est

également possible de mettre en service un rogue DHCP qui donnerait la configuration IP au client sans

que le serveur DHCP local réagisse.[6] [7] [8]

16

Page 17: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

Le prototype que nous avons fait implémente cette technique et il est possible de démarrer le rogue

DHCP du prototype pour donner les adresses IP qui ont été prises.

5.2.2.1 Défense

Il n'y a pas de réelle protection connue contre cette attaque. Il serait possible de limiter le nombre de

clients qui reçoivent une adresse IP sur un port physique du routeur, mais il faut être sûr qu'il n'y aura

jamais beaucoup de personnes connectées sur le port du routeur. Il serait également possible de

restreindre le nombre de configurations IP que le serveur donne selon le temps, par exemple, il ne serait

pas possible d'avoir plus de 5 configurations IP autorisées en 5 secondes sinon il y aurait un temps

d’attente de 60 secondes.

17

Page 18: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

5.2.3 Libération d'adresse IP du réseau

Étant donné la faible sécurisation du protocole DHCP, il est également possible de libérer n'importe

quelle adresse IP du réseau en effectuant un paquet DHCP de type « Release ». Il est donc possible de

libérer toutes les adresses IP prises sur le réseau. Par

contre, les hôtes qui se font libérer leur adresse IP

n'en sont pas conscients, mais les nouveaux clients

qui se connecteront sur le réseau auront de fortes

chances, selon l'implémentation, d'obtenir la même

adresse IP qu'un client et ainsi d'avoir un conflit

d'adresse IP. Les nouveaux clients seront donc dans

l'impossibilité d'obtenir une configuration correcte.

5.2.3.1 Défense

Une technique de défense contre la libération non voulue d'adresse IP sur le réseau serait que le serveur

DHCP envoie un paquet ARP pour voir si un hôte du réseau utilise encore l'adresse IP lorsqu'il reçoit

un DHCP Release.

Il pourrait également y avoir la vérification de l'adresse MAC de l'ordinateur qui tente de libérer son

adresse afin de vérifier la légitimité de cette demande. Si l'adresse MAC qui libère une adresse IP n'est

pas la même que celle qui l'a demandé à l'origine, la libération de l'adresse IP ne doit pas être faite.

Le serveur DHCP pourrait aussi ne plus prendre en compte les paquets DHCP de type « Release ». Cela

aurait par contre comme inconvénient de toujours attendre la fin des baux DHCP. Cependant, il y a

actuellement beaucoup de systèmes d'exploitation qui n’envoient pas systématiquement des paquets

DHCP de type « Release » lorsqu'il n'a plus besoin de l'adresse IP par exemple lorsqu'il s'éteint.

18

Page 19: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

5.3 DNS spoofing

5.3.1 Falsification d'une réponse

Étant donné que le protocole DNS ne permet pas d'authentification du serveur DNS, il est possible de

falsifier une requête DNS lorsqu'un client en fait une. Comme les requêtes DNS ne sont pas diffusées

sur le réseau, il n'est évidemment pas possible d'intercepter une requête DNS s'il n'y a pas de position

« d'attaque de l'homme du milieu ». Si l'attaque de « l'homme du milieu » est bien orchestrée, il est

même possible de ne pas envoyer la requête DNS initialement envoyée à l'adresse du serveur DNS

légitime lorsqu'elle est interceptée par l'attaquant. La victime ne recevra donc qu'une seule réponse qu'il

croira légitime étant donné que l'attaquant aura également falsifié l'adresse IP de la requête par celle du

serveur auquel la requête était envoyée. [21]

Le prototype que nous avons fait implémente cette technique et il est possible de la coupler avec le

ARP spoofing pour qu'il ne redirige pas certaines requêtes DNS que l'on souhaite falsifier.

5.3.1.1 Défense

Divers systèmes de détection pourraient être mis en place. Premièrement, le système de détection que

notre prototype implémente est, lors de l'envoi d'une requête DNS par le système d'exploitation, l'envoi

d'une autre requête DNS vers un serveur DNS qui n'existe pas. Si une réponse à cette requête est

19

Page 20: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

effectuée, cela veut dire qu'il y a quelqu'un sur le réseau qui fait du DNS spoofing et qui répond à

toutes les requêtes DNS peu importe leur adresse IP de destination.

Un autre système de défense possible est d'effectuer une requête DNS vers un nom de domaine dont on

connaît déjà la résolution. Évidemment, il faut que cette résolution n'ait pas changé depuis le temps et

que cette résolution n'ait pas été elle-même spoofée par quelqu'un ce qui rend la défense difficile à

mettre en place. De plus, la plupart des applications permettant de faire du DNS spoofing permettent de

spécifier les noms de domaines visés par l'attaque ce qui fait que l'on ne peut pas vraiment savoir quel

nom de domaine il faut tester.

Il est également possible de détecter si l'on reçoit plusieurs réponses contradictoires à une requête DNS,

car certains outils de DNS spoofing ne permettent pas d'empêcher la requête DNS du serveur DNS

légitime de se rendre à la victime.

Il existe aussi le protocole DNSSEC(Domain Name System Security Extensions) qui permet de signer

cryptographiquement un enregistrement DNS. Donc, lorsqu'une requête DNS est faite et que l'hôte

reçoit la réponse, l'hôte peut vérifier si l'enregistrement fourni est légitime avec le certificat de l'autorité

de certification. [22] [23]

20

Page 21: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

5.3.2 Empoisonnement du cache DNS

Les serveurs DNS communiquent entre eux pour résoudre un nom de domaine qu'ils n'ont pas dans leur

cache. Si un attaquant a un serveur DNS, avec certains serveurs DNS, il est possible d'envoyer des

résolutions pour d'autres noms de domaine que celui demandé par le serveur DNS. Le serveur DNS

ayant demandé la résolution d'un nom de domaine par le serveur DNS malicieux mettra donc dans sa

cache toutes les informations envoyées par le serveur DNS de l'attaquant.[20]

5.3.2.1 Défense

De nos jours, peu de serveurs DNS sont encore victimes de cette attaque. Il s'agit simplement de ne pas

mettre dans sa cache des résolutions de nom de domaine non demandées au préalable.

21

Page 22: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

6 Prototypes

Dans le cadre de la recherche, nous avons fait deux logiciels qui sont des prototypes permettant de

démontrer certaines techniques d'attaque et de défense découvertes dans cette recherche. Un des deux

prototypes se consacre à la partie « attaque » et l'autre à la partie « défense ».

Chacun des prototypes est séparé en « services » qui implémentent un des types d'attaque ou de

défense. Chacun des services a une console de journalisation où les actions prises par le service y sont

décrites. Il est possible de démarrer ou d'arrêter chacun des services à tout moment.

6.1 Attaquant

Toutes les attaques ont déjà été décrites dans la section 5. Cette section ne fait que décrire les

spécificités du prototype d'attaque.

6.1.1 Reply ARP Service

Ce service implémente un « ARP Reply Spoofing »

comme décrit dans la section 5.1.1.1. Il permet

d'effectuer « une attaque de l'homme du milieu » entre

deux hôtes sur le réseau local. Un NAT est implémenté

pour permettre la redirection entre les deux hôtes

attaqués.

22

Page 23: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

6.1.2 ARP Broadcast Service

6.1.3 Rogue DHCP

23

Page 24: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

6.1.4 IP Stealer

6.1.5 DNS Poisonning

de l'homme du milieu », le DNS Poisonning n'aura aucun effet.

24

Page 25: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

6.2 Défenseur

Toutes les défenses ont déjà été décrites dans la section 5. Cette section ne fait que décrire les

spécificités du prototype de défense.

6.2.1 Active ARP Protection

Ce service sert à détecter s'il y a du ARP spoofing avec paquet

ARP de type « reply ». Lorsqu'il reçoit un paquet ARP de type

« reply », il envoie un paquet ARP de type « request » puis

vérifie si la ou les réponses obtenues concordent avec le

premier « reply » reçu : sinon, il y a du ARP Spoofing.

6.2.2 ARP Reply Rate

Ce service sert à détecter s'il y a du ARP spoofing avec

paquet ARP de type « reply ». Il calcule le ratio entre le

nombre de ARP reply et de ARP request reçus. S'il y a plus

de ARP reply reçu, il y a une forte chance qu'il y ait un ARP

spoofing. Le service permet de spécifier un intervalle

pendant lequel le service reçoit les paquets ARP et calcule

ensuite le ratio. Par défaut, l'intervalle est de 10 secondes et

plus l'intervalle est élevé, plus la probabilité de détecter un

ARP spoofing est élevée.

25

Page 26: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

6.2.3 Rogue DHCP Detection

Ce service implémente la technique de détection

de rogue DHCP décrite dans la section 5.2.1.1.

L'interface permet d'ajouter ou de supprimer

l'adresse IP des serveurs DHCP connus sur le

réseau. Lorsque l'on démarre le service, il

effectue un paquet DHCP et attend les réponses

pendant 5 secondes. Il fait ensuite la

comparaison entre la liste des serveurs DHCP

connus et des serveurs DHCP qui ont répondu.

6.2.4 DNS spoof detection

Ce type de défense est décrit dans la section 5.3.2.1. Il s'agit

d'envoyer une requête DNS vers une adresse IP qui n'a pas

de serveur DNS et de voir si une réponse est faite ou non.

Dans notre cas, lorsque le client envoie une requête DNS,

nous en envoyons une autre vers l'adresse IP 240.1.2.3 qui

est en fait une adresse réservée par l'IANA (Internet

Assigned Numbers Authority) pour des usages futurs, mais

qui n'est présentement pas utilisée. Si une réponse vient de

cette adresse IP, il y a alors eu une falsification de réponse

DNS.

26

Page 27: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

7 Conclusion

Pour conclure, on a vu que ces trois protocoles (ARP, DHCP et DNS) ont encore des faiblesses qu'il est

actuellement possible d'exploiter dans les réseaux actuels. Il faut donc prendre des mesures pour

contrer les attaques possibles. Une de ses mesures possibles serait de toujours utiliser le chiffrement des

communications via des protocoles sécurisés comme SSL avec des certificats électroniques afin d'éviter

que les attaques de « l'homme du milieu » ne permettent l'accès à des données confidentielles. Une

autre mesure qu'il est possible de prendre et qui s'adresse particulièrement aux administrateurs réseau

est d'observer le réseau interne et de journaliser les comportements suspects comme le fait notre

prototype.

Il existe évidemment d'autres attaques au niveau réseau que celles mentionnées dans ce document.

D'ailleurs, il serait intéressant de s'intéresser aux techniques d'attaques qui sont plus de hauts niveaux

c'est-à-dire dans la couche applicative du modèle OSI. Un domaine assez intéressant de la sécurité

informatique concerne les attaques au niveau du protocole HTTP et des sites web en général. Il existe

beaucoup d'attaques au niveau des sites web comme, par exemple, les attaques de type Cross-site

scripting (XSS) ou les injections SQL.

27

Page 28: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

8 Bibliographie

8.1 DHCP

[1] http://www.ietf.org/rfc/rfc2131.txt

[2] http://cisco.goffinet.org/s1/dhcp

[3] http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol

[4] http://www.commentcamarche.net/contents/internet/dhcp.php3

[5] http://www.frameip.com/dhcp/

[6] http://revolutionwifi.blogspot.ca/2011/03/preventing-dhcp-starvation-attacks.html

[7] http://www.antionline.com/showthread.php?t=255905

[8] http://www.networkdictionary.com/networking/DHCPStarvationAttack.php

[9] http://www.networksorcery.com/enp/protocol/dhcp.htm

8.2 ARP

[10] http://www.ietf.org/rfc/rfc826.txt

[11] http://www.frameip.com/entete-arp/

[12] http://fr.wikipedia.org/wiki/ARP_poisoning

[13] http://en.wikipedia.org/wiki/ARP_spoofing

[14] http://en.wikipedia.org/wiki/Address_Resolution_Protocol

[15] http://www.commentcamarche.net/contents/internet/arp.php3

8.3 DNS

[16] http://www.ietf.org/rfc/rfc1035.txt

[17] http://technet.microsoft.com/en-us/library/dd197470%28v=ws.10%29.aspx

[18] http://en.wikipedia.org/wiki/Domain_Name_System

[19] http://fr.wikipedia.org/wiki/Domain_Name_System

28

Page 29: Technique de défense dans un réseau - L'ASIQ de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis

[20] http://fr.wikipedia.org/wiki/DNS_cache_poisoning

[21] http://www.securiteinfo.com/attaques/hacking/dnsspoofing.shtml

[22] http://www.dnssec.net/

[23] http://fr.wikipedia.org/wiki/DNSSEC

29