Apercu General Des Protocoles TCP IP
Apercu General Des Protocoles TCP IP
Apercu General Des Protocoles TCP IP
Cet ouvrage s’adresse à un public qui connaît déjà les notions de base des réseaux
d’ordinateurs, mais les violations de sécurité impliquent si souvent l’internet et les
réseaux d’entreprises fondés sur TCP/IP que nous avons jugé bon de décrire dans ce
chapitre les protocoles les plus importants et les principes majeurs.
Outre la présentation de TCP/IP, ce chapitre recense également les problèmes de
sécurité soulevés par ces différents protocoles, information servant de base au
contenu des deux chapitres suivants.
3. 2 Protocoles TCP/IP
3.2.1 Historique
Entre la fin des années 1960 et le début des années 1970, l’Agence fédérale
américaine DARPA (Defense Advanced Research Projects Agency) a financé la
création du premier réseau étendu à commutation de paquets : ARPANET. Ce
réseau, réparti sur tout le pays, reliait les principaux centres de recherche
collaborant avec le ministère de la Défense américain.
Les années 1970 ont vu l’émergence de nombreux autres réseaux à commutation de
paquets, toujours au service de la communauté scientifique, tels que CSNET (entre
informaticiens), BITNET (entre professeurs d’économie et de science du comporte-
ment) et une myriade de petits réseaux de recherche situés dans d’autres pays 1. Un
certain Vinton Cerf a formulé un jour l’idée de les relier entre eux afin de constituer
un vaste réseau mondial. La DARPA s’en est chargé en se fondant sur l’architecture
d’ARPANET.
Pour des raisons expliquées plus loin, les standards sur lesquels reposait ce réseau
internet naissant ont été rassemblés sous l’appellation suite de protocoles TCP/IP.
Mis au point par l’IETF (Internet Engineering Task Force), ces protocoles
constituaient la base du fonctionnement d’ARPANET.
1. Des réseaux à commutation de paquets destinés aux entreprises voient également le jour : par
exemple, en France, Transpac (aujourd’hui réseau de France Télécom), qui n’est pas fondé sur
TCP/IP, mais sur une norme de l’UIT, à savoir la norme X.25.
Réseau 1
Commutateur
Hôte A Serveur
Commutateur
Commutateur X1
Routeur R1
Hôte mobile
Commutateur X2
Route
Hôte mobile
Réseau 2
Réseau 3
Routeur R2
Commutateur Z1
Serveur B
Commutateur
Commutateur Z2
Les documents décrivant les divers standards produits par l’IETF sont connus sous
le nom de RFC (Request For Comments). Par exemple, le protocole IP est spécifié
dans le RFC 791. Les RFC ne spécifient pas uniquement des protocoles. Pour
faciliter la consultation, l’IETF publie régulièrement un RFC recensant tous les
protocoles de l’internet.
Protocole UDP
3.2.2 Architecture
Service hybride
non fiable et sans connexionTCP/IP-OSI
de couche Transport
Les Protocole
protocolesléger, utilisé
sont le plus lorsque
souventladéveloppés
détection d’erreurs n’est pas
dans un cadre importante
commun, connu sous
le Couche
nom d’«architecture de protocoles».
Applications (voir figure 3.5) Le tableau 3.1 montre qu’une architecture de
protocoles
Dirige lesest une pile (ou suite)
communications entre de protocoles
différentes relatifs à un
applications, ensemble
souvent de couches
d’origines
fonctionnelles
diffé- rentes. fournissant chacune des services spécifiques. Les services d’une
couche sontdeofferts
Transfert à la couche
documents directement
et standards supérieure.
de format Ils s’appuient eux-mêmes
de documents
sur les services offerts par la couche immédiatement inférieure (à l’exception de la
HTTP/HTML pour le Web
couche Physique, la plus basse).
SMTP/RFC 822 (ou RFC 2822) pour le courrier électronique
Il existe de nombreux protocoles applicatifs en raison du grand nombre
Tableau 3.1 : Architecture
d’applica- des protocoles
tions disponibles sur le TCP/IP
marché.et OSI.
Architecture hybridea
TCP/IP OSI TCP/IP-OSI
Applications Applications Applications
Présentation
Session
Transport Transport Transport
Internet Réseau Internet
Protocoles propres au réseau
sous-jacent Liaison de données Liaison de données
Physique Physique
a. L’internet et la plupart des réseaux intranets d’entreprise ont recours à une architecture hybride TCP/IP-
OSI.
2. Ce modèle de référence et de base pour l’interconnexion des systèmes ouverts est normalisé par l’ISO
(Inter- national Standardization Organization, Organisation internationale de normalisation).
concernent pas les infrastructures de réseaux de type LAN ou autres, tels que les
réseaux Ethernet ou Wi-Fi, on a communément recours aux couches basses de
l’architecture OSI pour les spécifier.
Par conséquent, l’internet et la plupart des réseaux d’entreprise ont une architecture
hybride de type TCP/IP-OSI, qui utilise des protocoles OSI au niveau des couches
basses et des protocoles TCP/IP au niveau des couches supérieures3 : Internet,
Trans- port et Applications.
3. L’IETF a toutefois développé des protocoles de couche basse, tel que PPP, qui agit au niveau de la couche
Liaison de données (couche 2). Ceux-ci s’inscrivent tout naturellement au sein des couches basses de
l’archi- tecture OSI.
Réseau X
Liaison de données
A-R1
Commutateur
Hôte A Serveur
Lien physique A-X1
Cuivre
Commutateur
Commutateur X1
Lien physique X1-X2
Fibre optique Routeur R1
Hôte mobile
Commutateur X2
Route A-B
Réseau Y
Réseau Z
Routeur R2
Commutateur Z1
Serveur B
Commutateur
Commutateur Z2
Bit 0 Bit 31
Longueur d’en- Type de
tête (4 bits) en service Longueur totale (16 bits)
Version (4 bits)
mots de 32 bits (8 bits) Longueur du paquet entier en octets
Trames. Les trames sont des messages circulant sur une liaison de données. Elles
disposent, elles aussi, d’une adresse de destination permettant aux commutateurs
(ou routeurs) de les envoyer à leur destinataire, hôte, commutateur ou routeur. Par
exem- ple, au sein d’un réseau local de type Ethernet ou 802.11, ces adresses sont
codées sur 48 bits. Elles sont appelées adresses MAC (Media Access Control).
Différence entre trames et paquets. La figure 3.3 illustre la différence entre les
trames et les paquets.
• Génération d’un paquet et transmission au sein d’une trame. À la figure 3.3, un
hôte génère un paquet à l’intention d’un serveur, qu’il place dans le champ de
données d’une trame adaptée au réseau auquel il est connecté (réseau 1). Puis il
envoie la trame au routeur A au travers d’une série de commutateurs (un seul est
représenté).
• Encapsulation. L’encapsulation consiste à placer un message dans le champ de
données d’un autre message. Il s’agit d’une procédure aussi courante que capi-
tale.
Trame 1 transportant
Paquet le paquet jusqu'au
réseau 1
Commutateur Routeur A
Hôte Trame 2 transportant
le paquet jusqu'au
réseau 2
Trame 3 transportant
le paquet jusqu'au réseau 3
Paquet
Commutateur Routeur B
Serveur
PC client Serveur
Couche Internet (généralement protocole IP)
Bond-par-bond (PC-routeur ou routeur-routeur) Sans connexion, non fiable
Routeur 1
Routeur 2 Routeur 3
Figure 3.4 • Couches Internet et Transport.
HTTP
Requêtes et réponses
PC client doté
d'un navigateur Web Serveur Web
123.34.150.37 60.168.47.47
Document HTML
ou autre type de fichier (JPEG, etc.)
Figure 3.5 • HTML et HTTP.
3. 3 Coopération intercouche
Bien qu’indépendants les uns des autres, les processus correspondant à chaque
couche doivent collaborer tout au long du parcours des messages au travers du
réseau, aussi bien au niveau des hôtes source et de destination qu’au niveau des
routeurs.
Message HTTP
Processus de
Encapsulation du message HTTP
couche
à partir du champ de données
d'un segment TCP
En-
Processus de Message En-tête En-tête En-tête
queue
HTTP TCP IP LD
LD
En-
En-tête En-tête En-tête
queue
TCP IP LD
LD
Figure 3.6 • Coopération intercouche par encapsulation de paquets au niveau de l’hôte source.
Encapsulation. Le message HTTP de la figure 3.6 est tout d’abord encapsulé dans
un segment4 TCP. Le processus de couche Transport utilise le message HTTP
comme le champ de données d’un segment et lui ajoute un en-tête TCP. Le segment
est ensuite encapsulé dans un paquet IP (par l’ajout d’un en-tête IP), puis le paquet
IP est encap- sulé dans une trame de liaison de données, en général entre un en-tête
et un en-queue de couche Liaison de données (LD). Certains protocoles n’ont pas
recours aux en- queues.
Couche Physique. En transportant des bits plutôt que des messages, la couche
Physi- que se distingue nettement des autres couches. Lorsque la trame passe du
processus de couche Liaison de données au processus de couche Physique, les bits
sont convertis en signaux et transmis au niveau suivant.
Trame. La trame livrée à la couche Physique (voir figure 3.6) se compose d’un en-
tête LD, d’un en-tête IP, d’un en-tête TCP, du message HTTP et d’un en-queue LD.
La couche Physique convertit les bits de la trame en signaux physiques, électriques,
opti- ques ou radio.
Autres types de trames. La figure 3.6 illustre le transfert d’un message HTTP
émanant de la couche Applications. Tous les messages ne partent pas de cette
couche : par exemple, les processus TCP de deux hôtes interlocuteurs
communiquent souvent directement entre eux, même en l’absence de tout message
applicatif. Le message de contrôle TCP figurant au bas de la figure ne véhicule
aucun message applicatif. Il contient uniquement des informations de contrôle au
sein de l’en-tête TCP.
Message HTTP
Processus de Décapsulation du message HTTP
couche à partir du champ de données
d'un segment TCP
En-
Processus de Message En-tête En-tête En-tête
queue
couche Liaison HTTP TCP IP LD
LD
A B
Paquet Paquet
Processus de couche Internet
Routeur R1
Commutateur X2
Routeur 2
Notes :
A. Le routeur R1 reçoit une trame en provenance du commutateur X2 sur le port 1.
Le processus du port 1 LD extrait le paquet.
Le processus du port 1 LD remet le paquet au processus de couche Internet.
1.
Dorsale
Réseau d'entreprise Trame propre Fournisseur internet
à cette liaison d'accès à lʼinternet
de données d'accès
Pare-
feu
Paquet Paquet
4. Paquet 2.
3. Liaison Paquet véhiculé
Paquet véhiculé au sein d'une tramede données au sein d'une trame
entre le réseau Routeur du du fournisseur d'accès
d'entreprise et le fournisseur fournisseur
d'accès à lʼinternet (difficile à pirater) d'accès
Les valeurs de décalage des fragments permettent de les remettre dans le bon
ordre.
Le bit de fragment suivant estIPnulest sans connexion
dans le cas du dernier fragment.
Les paquets sont envoyés indépendamment les uns des autres,
Inspection des paquets suspects : en-tête
comme dans le cas TCP, etc.,
du service effectuée uniquement sur le
postal
premier paquet d’une série IP est non fiable
Aucune correction d'erreur
Ne peut pas filtrerAucune
PC client les paquets suivants
garantie quant (àd'arrivée
à l'ordre partir des
de paquets
l’en-tête TCP, etc.).
Serveur
Attaque Teardrop : paquet d’attaque défragmenté ne signifiant rien une fois les
fragments assemblés
Certains
Paquetpare-feux
IP rejettent tous les paquets fragmentés (devenus rares à l’heure
actuelle).
3.4.5 Adresses IP
Adresses postales hiérarchiques. Les adresses postales sont dites hiérarchiques dans
le sens où leur contenu vient dans un certain ordre, de l’information la plus précise à
la plus générale : numéro et nom de la rue, commune, code postal et pays.
Cette forme d’adressage simplifie le travail des centres de tri postal en leur
permettant de classer le courrier par ville ou par pays. Une fois le pli arrivé au
bureau de poste local, c’est le nom de la rue qui est pris en compte en tant
qu’information d’adressage, le facteur s’intéressant lui au numéro de la rue en
question pour trouver la bonne boîte aux lettres. Ce type d’organisation permet une
forte réduction du coût du tri postal par rapport à un système d’adressage
anarchique.
Adresses IP hiérarchiques. Les adresses IP suivent également une structure
hiérar- chique (voir figure 3.11).
128.171.17.13 Internet
Si, par exemple, une règle ordonne d’envoyer tous les paquets à destination du
réseau 60 vers le routeur de premier bond 123.17.22.101 au travers du port 3, tous
les paquets devant rejoindre ce réseau emprunteront ce même chemin.
L’adresse hôte n’intéresse ainsi que le dernier routeur sur le chemin d’un paquet
vers sa destination.
Masque d’adresses IP. Toutes les adresses IP mesurent 32 bits, mais la taille de
leurs différentes composantes est variable. L’adresse IP de la figure 3.11 a, par
exemple, une adresse réseau de 16 bits, et une adresse de sous-réseau ainsi qu’une
adresse hôte de 8 bits chacune, mais toutes les combinaisons de multiples de 8 sont
possibles. En plus d’une adresse IP, les paquets sont également porteurs d’un
masque informant les routeurs sur la longueur de l’adresse réseau et, le cas échéant,
de l’adresse de sous- réseau.
Masque de réseau. Un masque est un nombre de 32 bits. Les masques de réseau
sont composés de 1 dans l’adresse réseau et de 0 dans l’adresse de sous-réseau et
l’adresse hôte. Le masque de réseau de l’adresse IP de la figure 3.11 est 255.255.0.0
(en notation décimale, 11111111 correspond à 255 et 00000000 à 0).
• Application du masque de réseau 255.255.0.0 à l’adresse IP 128.171.17.13. Le
tableau 3.3 illustre l’utilisation des masques de réseau IP, c’est-à-dire la façon
dont les routeurs déterminent que l’adresse réseau dans l’adresse IP
128.171.17.13, par exemple, est 128.171, codée sur 16 bits.
Le masque de réseau correspondant à l’adresse 128.171.17.13 est 255.255.0.0.
Quel que soit le masque appliqué à une adresse IP, les 1 « donnent» les bits de
l’adresse et les 0 « donnent» des 0. Ainsi, l’application du masque 255.255.0.0 à
l’adresse 128.171.17.13 donne 128.171.0.0. L’adresse réseau de 16 bits est bien
128.171.
Tableau 3.3 : Masquage d’adresse IP avec des masques de réseau et de sous-réseau. (Suite)
Résultat 128.171.0.0 128.171.17.0
Signification L’adresse réseau de 16 bits Le couple adresse réseau et adresse
est 128.171 de sous-réseau (d’une longueur totale
de 24 bits) est 128.171.17
Exemple 2
Adresse IP 60.47.123.7 60.47.123.7
Masque 255.0.0.0 255.255.0.0
Résultat 60.0.0.0 60.47.0.0
Signification L’adresse réseau de 8 Le couple adresse réseau et adresse
bits est 60 de sous-réseau (d’une longueur totale
de 16 bits) est 60.47
1. Relation de confiance
Serveur
de confiance Serveur victime
60.168.4.6 60.168.47.47
2.
Paquet d'attaque
Adresse IP source usurpée
60.168.4.6
PC client de l'attaquant L'identité de l'attaquant
1.34.150.37 demeure inconnue
Attaque LAND. L’une des principales attaques fondées sur l’usurpation d’adresse
IP est l’attaque LAND (voir figure 3.13), qui consiste à envoyer un paquet contenant
la même adresse IP dans les champs d’adresse IP source et de destination et le
même numéro de port dans les deux champs correspondants.
Un message ainsi adressé constitue un non-sens qui tend à dérouter les hôtes tentant
de le lire. Lors de la première attaque LAND en 1997, tous les clients et serveurs
Windows ciblés, ainsi qu’un grand nombre de serveurs UNIX, de commutateurs, de
routeurs, voire d’imprimantes ont été mis en échec. Les fabricants ont depuis déve-
loppé des systèmes de protection contre ce type d’attaque, tenant compte du fait que
des combinaisons de paramètres inattendues peuvent poser de sérieux problèmes.
De : 60.168.47.47:23
Attaquant À : 60.168.47.47:23 Victime 60.168.47.47
1.34.150.37 Port 23 ouvert,
blocage
Les adresses IP de source et de destination sont les mêmes
Les numéros de port de source et de destination sont les mêmes
5. La durée de vie devait initialement être exprimée en secondes ; or la valeur contenue dans le champ de
durée de vie correspond finalement au nombre maximal de bonds permis entre routeurs.
1. Paquet IP fragmenté
5. En-tête IP
Champ En-tête IP
Attaquant Champ de données TCP 6.
1.34.150.37 de données TCP Le pare-feu 60.168.47.4
Absence d'en-tête TCP 4. ne peut filtrer que le premier fragment,
En-tête TCP qui contient un en-tête TCP
uniquement dans
le premier fragment
Figure 3.17 • L’en-tête TCP figure uniquement dans le premier fragment d’un paquet IP.
Tableau 3.4 : Paquet IP portant un segment UDP dans son champ de données.
Bit 0 Bit 31
Version Longueur Type de service Longueur totale
(4 bits) d’en-tête (8 bits) (16 bits)
(4 bits)
Identification (16 bits) Fanions Décalage de fragment (13 bits)
Durée de vie (8 bits) Protocole (8 bits) Somme de contrôle d’en-tête (16 bits)
Adresse IP source (32 bits)
Adresse IP de destination (32 bits)
Numéro de port source (16 bits) Numéro de port de destination (16 bits)
Numéro de séquence (32 bits)
Numéro d’accusé de réception (32 bits)
Longueur Réservé Champs de Taille de la fenêtre
d’en-tête (6 bits) fanions (16 bits)
(4 bits) (6 bits)
Somme de contrôle TCP (16 bits) Pointeur urgent (16 bits)
Options (éventuellement) Bourrage
Champ de données
Note : les champs de fanions sont de 1 bit ; ils peuvent inclure des bits SYN, ACK, FIN et RST.
SYN (ouverture)
ACK (4)
Porteur
de requête Données = réponse HTTP
et réponse
HTTP
(4 segments) ACK (6)
15. FIN
Note : un accusé de réception peut être associé au message suivant si celui-ci est envoyé
rapidement.
7. Encadré 3.3qui
Les numéros : Synthèse
suivent lesdu protocole
noms TCP renvoient aux numéros d’étapes mentionnés à la figure 3.18.
des segments
Les messages sont des segments TCP (voir tableau 3.4)
Le champ de fanions contient plusieurs fanions de 1 bit : ACK, SYN, FIN, RST,
etc.
Fiable (voir figure 3.18)
Le processus destinataire envoie un accusé de réception (ACK) au processus
expé- diteur pour les segments bien reçus.
Le bit ACK est activé.
Si le processus expéditeur ne reçoit pas de confirmation de la réception d’un
segment donné, il procède à sa retransmission.
Connexion TCP (voir figure 3.18)
Procédures d’ouverture et de clôture formelles
Ouverture en trois temps : SYN, SYN/ACK,
ACK Clôture en quatre temps : FIN, ACK,
FIN, ACK Clôture brusque : RST
Un segment RST est envoyé au sein d’un paquet contenant l’adresse IP de
l’expéditeur.
Utile pour les pirates dans la mesure où il permet d’identifier les adresses IP
actives (voir figure 3.19).
Numéros de séquence et d’accusé de réception
Le numéro de séquence renseigne sur la position de chaque segment par rapport
aux autres.
Le numéro d’accusé de réception permet de savoir à quel segment un accusé de
Numérobrusque
Clôture de port (voir figure L’autre
(RST). 3.20) manière de libérer une session TCP est
Ports connus
comparable utilisés
au fait par les applications
de «raccrocher au nez»endemode son root (ou administrateur)
interlocuteur. Il s’agit d’une
(1- 1023)
clôture brusque.
HTTP = 80, Telnet = 23, FTP = 21 pour le contrôle, 20 pour le transfert de
Dansdonnées,
le cas d’une
SMTP = 25 brusque, un seul segment TCP, appelé RST (pour ReSeT),
clôture
assure la clôture de
Ports disponibles pour la connexion.
n’importeCelui-ci peut être envoyé
quelle application à tout moment par l’un
(1024-49152)
desPorts
deuxéphémères/dynamiques/privés
interlocuteurs, ne laissant aucune équivoque quant au sort de la session.
utilisés par les clients (49153-65355, soit
16 384 au total)
• Attaques par sonde SYN/ACK. Soit un processus de couche Transport qui
Leenvoie
formatundes interfaces
segment de connexion
SYN/ACK (sockets)homologue
au processus est le suivant
d’un: adresse IP :n’ayant
autre hôte port ;
émis
par aucun: segment
exemple SYN préalable
128.171.17.13 :80 (voir figure 3.19). Ce dernier, victime d’une
atta- que un
Désigne parlogiciel
sonde SYN/ACK, répond
spécifique sur par un segment RST pour indiquer son
un hôte
refus.Usurpation de port (voir figure 3.21)
donné
Application
Le problème utilisant
est que leunpaquet
port réservé sansduautorisation
IP porteur segment RST contient l’adresse IP
Souvent
de possible au travers
son expéditeur, des pare-feux,
information précieuse le port
pour80tout
étantattaquant
le plus touché
cherchant à
identifier les adresses IP actives d’un réseau donné pour l’assaillir. L’envoi de
paquets SYN/ACK à toutes les adresses d’un groupe d’adresses IP est un très
bon moyen de planifier une attaque contre un réseau.
1) Sonde 60.168.47.47
2) Aucune raison
d'établir de connexion
Segment SYN/ACK
En-tête IP Segment RST
5) 60.168.47.47
Attaquant est actif ! Serveur victime
3) Allez-vous-en !
1.34.150.37 4) 60.168.47.47
Adresse IP source
= 60.168.47.47
8. La seule exception se présente lorsque le numéro de séquence atteint sa valeur maximale, auquel cas le
décompte repart de 0 ou à un numéro de séquence peu élevé.
Client
60.171.18.22 Serveur Web
De : 60.171.18.22:50047 60.171.17.13
À : 60.171.17.13:80 Port 80
De : 60.171.17.13:80
À : 60.171.18.22:50047
De : 60.171.18.22:60003
À : 123.30.17.120:25
Serveur Web
légitime Paquet en
60.3.44.102 provenance de Les deux paquets
sont passés
Pare-feu
Paquet en Ne laisse passer
provenance de que les paquets
Devrait être bloqué empruntant le port 80
Logiciel d'attaque
sur le port 80
(qui n’est pas
un serveur Web)
1.34.150.37
3.7.1 IP et ICMP
Les protocoles IP et ICMP entretiennent des liens très étroits décrits dans les RFC
791 et 792. Les messages ICMP sont véhiculés au sein de paquets IP (voir tableau
3.6). En outre, toutes les versions du protocole IP sont compatibles avec ICMP.
Tableau 3.6 : Paquet IP portant un message ICMP dans son champ de données.
Bit 0 Bit 31
Version Longueur Type de service (8 bits) Longueur totale
(4 bits) d’en-tête (16 bits)
(4 bits)
Identification (16 bits) Fanions Décalage de fragment (13 bits)
Durée de vie (8 bits) Protocole (8 bits) Somme de contrôle d’en-tête (16 bits)
Adresse IP source (32 bits)
Adresse IP de destination (32 bits)
Type (8 bits) Code (8 bits) Dépend du type et du code
Dépend du type et du code
sans code). Si l’hôte est actif, il lui renvoie une réponse d’écho (type 0, sans
code). Le logiciel le plus courant pour l’envoi de messages d’écho et l’analyse
des répon- ses s’appelle Ping (Packet INternet Groper). Écho et réponse d’écho
sont tous deux des messages d’analyse de réseau ICMP.
Tout administrateur de réseau use sans compter de Ping. Lorsqu’un problème
se présente, il « pingue» les différents routeurs et hôtes pour vérifier lesquels
sont encore accessibles, le profil des réponses lui permettant bien souvent de
localiser la panne.
Malheureusement, Ping donne aussi aux pirates la possibilité de connaître un
réseau aussi bien que son administrateur. L’envoi d’un grand nombre de Ping
en simultané peut même constituer une attaque par saturation du fait du
temps pris par les hôtes ciblés pour répondre à chaque requête d’écho.
Messages d’erreur. Les messages d’erreur informent les hôtes ou leurs utilisateurs
des problèmes se déclarant au cours de leurs envois. Étant donné que les messages
perdus en cours de transfert ne sont pas retransmis, il ne s’agit pas d’une correction
d’erreur, mais plutôt d’un système d’avertissement d’erreur.
• Destination inaccessible. La principale famille de messages d’erreur ICMP
regroupe les messages de destination inaccessible (type 3), émis par les routeurs
ne parvenant pas à transmettre les paquets qu’ils traitent à leurs destinataires.
Les raisons de ces échecs sont symbolisées par différents codes. Par exemple, le
code 1 indique que le destinataire est inaccessible, le code 2 que le port spécifié
par l’expéditeur est inaccessible, etc.
Exploitant ce système de renseignement, une forme d’attaque relativement
courante consiste à envoyer des paquets délibérément erronés dans le but de
générer des messages d’erreur et à vérifier ainsi que les hôtes visés sont bien
« actifs ». Encore un moyen clandestin de cartographier un réseau ! Les pirates
préfèrent cette méthode au simple envoi de messages Ping car la plupart des
pare-feux sont conçus pour filtrer les Ping en provenance de l’extérieur, les
seules requêtes Ping légitimes étant censées être générées en interne.
• Temps écoulé. Chaque routeur situé le long du chemin emprunté par un paquet
vers sa destination réduit sa valeur de durée de vie d’une unité. Lorsque cette
valeur arrive à 0, le paquet est éliminé et un message d’erreur ICMP de temps
écoulé (type 11, sans code) est envoyé à l’expéditeur. Les pirates disposent, là
encore, d’un autre moyen de cartographier un réseau.
Messages de contrôle. Les messages de contrôle ICMP ayant la capacité de
modifier le fonctionnement d’un réseau, ils sont particulièrement dangereux
lorsqu’ils sont envoyés par un hacker.
• Ralentissement de la source. Certains types de messages ICMP servent à altérer
le fonctionnement des hôtes ou routeurs du réseau. Les messages de
ralentissement de la source (type 4, sans code) servent ainsi au contrôle de
flux, c’est-à-dire à gérer la vitesse à laquelle les hôtes envoient leurs paquets.
Un hôte recevant ce type de message réduit normalement sa vitesse de
transmission. Malheureuse-
ment, les pirates en profitent pour lancer des attaques par saturation en forçant
les serveurs d’un réseau à réduire leur vitesse de transmission à un tel point
qu’ils ne parviennent plus à satisfaire les requêtes de leurs utilisateurs.
• Redirection. Parmi les autres messages de contrôle ICMP, l’un des plus
dangereux est le message de redirection (type 5, différents codes), qui informe
les hôtes et routeurs de l’existence de chemins plus appropriés en direction des
destinataires. Un hacker s’en servira par exemple pour demander aux routeurs
de faire passer par un réseau pirate tous leurs messages dirigés vers l’extérieur
ou de les envoyer dans un «trou noir» d’où ils ne ressortiront jamais.
Autres types de messages ICMP. De nombreux autres types de messages ICMP
exis- tent. Ils présentent quasiment tous un certain danger lorsqu’ils proviennent de
l’exté- rieur. Vous en trouverez une liste complète sur le site Web de la IANA
(Internet Assigned Number Authority), à l’adresse www.iana.com.
Conclusion
Ce chapitre passe en revue les différentes notions associées à TCP/IP, en partant du
principe que le lecteur a déjà une certaine connaissance du fonctionnement général
de ce standard de protocoles. Il aborde ensuite TCP/IP du point de vue de la
sécurité, en s’intéressant notamment à ses nombreuses faiblesses et aux principales
menaces qui pèsent sur lui.
Exercices
3.1. Pourquoi les attaques Ping de la mort, Teardrop, LAND et autres imposent-
elles de nouvelles approches dans la vérification de logiciels, qui vont au-
delà de la simple détection d’erreurs ?
3.2. Comment concevoir un réseau IP plus sûr ? Il s’agit d’une question très
complexe.
3.3. Comment un attaquant peut-il envoyer des faux paquets à partir d’un
simple PC ?
3.4. En quoi le fait de disposer d’une carte précise d’un réseau peut-il faciliter la
tâche d’un attaquant ?
3.5. Dans un message d’écho ICMP, quelle est la valeur du champ de code ?
3.6. Dans le fichier journal d’un système de détection d’intrusion, un certain
nombre de paquets ont leurs bits (TCP) FIN et SYN activés. Peut-il s’agir de
paquets d’attaques ? Justifiez. Si oui, quelle est l’intention probable de
l’attaquant ?
3.7. Dans le même fichier journal figure à présent de nombreux paquets en
provenance du port 80 (HTTP), envoyés par des PC clients. Que peuvent-ils
indiquer ?