Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
L
es messageries instantanées les plus client et vice versa) – il pourra donc écouter la
populaires, comme ICQ, pour transfé- connexion. On appelle cette technique attaque
rer un message utilisent des textes non man in the middle.
chiffrés. C'est pourquoi, il est très facile de La condition de base permettant d'effectuer
les écouter. Le niveau de sécurité plus élevé ce type d'attaque est l'accès à l'ordinateur qui
est offert par les applications utilisant le pro- sert d'intermédiaire pendant le transfert des
tocole ouvert Jabber (cf. l'article Paranoïa paquets IP entre l'utilisateur et le serveur. Le
instantanée – Hakin9 3/2004). Cela est dû au cas le plus simple est la situation quand l'at-
fait que Jabber peut être utilisé par le biais de taquant a accès à une passerelle (avec droits
la couche SSL assurant la confidentialité de d'administrateur). Admettons que c'est le cas.
la session.
Mais imaginons cette situation : quelqu'un se • comment faire pour être sûr que personne
situe entre nous et notre serveur, en se faisant n'écoutera notre session Jabber.
passer pour ce dernier (cf. la Figure 1). Le client
établit alors la connexion chiffrée, non pas avec
Ce qu’il faut savoir ...
le serveur, mais avec un autre ordinateur. Par • notions de base de l’administration des systè-
conséquent, cet ordinateur se connectera mes UNIX,
ensuite au serveur, et à partir de ce moment, • on admet que le lecteur connaît les bases de
SSL.
il deviendra l’intermédiaire envoyant les infor-
mations bi-directionnellement (du serveur au
D'où prendre
Comment fonctionne SSL un certificat
La société Netscape a conçu le standard SSL pour résoudre le problème de vulné-
rabilité du protocole TCP/IP à l'écoute et aux attaques de type man in the middle. Pour qu'il soit possible d'intercepter
SSL devrait assurer autant le cryptage des connexions que l'identification du côté une session chiffrée, nous avons
client et serveur. La technologie de certificats employée dans le protocole résout besoin d'un certificat SSL falsifié
parfaitement cette question.
du serveur de Jabber – ainsi, le
La connexion SSL (Secure Socket Layer) est générée sur la base d'une
client Jabber pensera qu'il a à faire
connexion TCP ordinaire. Les données envoyées à l'aide de ce protocole sont
avec un vrai serveur. Lors de sa
chiffrées par une clé symétrique qui est déterminée au début de la session. Dans
la première étape, le client envoie le message Client Hello contenant les infor- création, il faut, bien sûr, entrer
mations sur la version du protocole, l'identifiant de la session et les algorithmes les données identiques que celles
cryptographiques supportés. Le serveur répond par le message Server Hello figurant dans le vrai certificat du
contenant un nouveau numéro de session ou le numéro existant et les informa- serveur (cf. l'Encadré Comment
tions sur les algorithmes de cryptage admissibles. Dans la deuxième étape, le fonctionne SSL).
serveur s'authentifie en envoyant son certificat. Le client vérifie la validité de ces Au moyen du paquet OpenSSL
trois conditions : et le script de shell CA.sh joint
(éventuellement, sa version en Perl
• le certificat a été signé par une autorité de certification connue (en anglais Certi-
CA.pl), nous générons le certificat
ficate Authority – CA) ; les plus connues sont : Verisign, Thawte ou AT&T,
• le certificat est valide et n’est pas arrivé à expiration, d'AC (de l'autorité de certification)
• le nom du certificat correspond au nom de domaine du serveur. et le certificat du serveur avec les clés
privées. Tout d'abord, il faut localiser
Si l'une des ces conditions n'est pas satisfaite, le client envoie un avertissement le script CA.sh dans le système :
et c'est à l'utilisateur de décider s'il veut continuer la connexion ou pas. Si la con-
nexion n'est pas interrompue, le serveur peut effectuer l'authentification analogique $ locate CA.sh
du côté client. Ensuite, l'un et l'autre génèrent ce qu'on appelle une clé master. Cette
clé est utilisée pour la génération des clés de session qui servent ensuite à chiffrer/
Admettons que CA.sh a été trouvé
déchiffrer et à vérifier l'intégrité des données transférées pendant la session SSL. À la
dans le répertoire /etc/ssl/misc :
fin, les données chiffrées informant de la fin du fonctionnement du protocole d'accueil
sont envoyées et il est alors possible d'échanger des données.
$ /etc/ssl/misc/CA.sh -newca
Si l'attaquant n'a pas accès à la ma- connexion de l'ordinateur du client Après le lancement du script, il faut
chine intermédiaire, il peut employer au port 5223 du serveur et de la entrer les données d'identification
les techniques de type ARP spoo- rediriger vers un autre ordinateur. qui seront enregistrées dans le certi-
fing ou ARP poisoning (cf. l'article Sur cette machine, un programme ficat et le mot de passe. Le répertoire
Sniffing dans les réseaux commutés spécial doit réceptionner la con- ./demoCA contenant, entre autres,
– Hakin9 2/2003). nexion initialisée, et ensuite, établir le fichier cacert.pem (le certificat de
L'attaque sur une session les connexions successives, cette notre AC) et cakey.pem (clé privée
chiffrée de Jabber sera efficace, fois-ci à l'adresse correcte. Es- de ce certificat) sera créé.
si l'intrus réussit à intercepter la sayons donc d'effectuer une vraie Maintenant, il faut générer un
tentative d'établissement de la attaque. certificat pour notre serveur. Pour ce
faire, tapez la commande suivante :
l'écran (sortie standard pour stderr). • exploiter une faille dans le pro- Nous pouvons être presque sûrs que
Si Eve voulait les intercepter vers un gramme client pour qu'il ne vérifie le dernier scénario, le plus simple,
fichier, elle devrait uniquement rediri- pas le certificat du serveur, sera efficace dans la plupart des cas
ger le flot qui l'intéresse en tapant la • exploiter une faille dans le pro- où ce type d'attaque est possible.
commande 2> spy.log. gramme client pour, sans que
L'attaque a réussi. Quand Alice, l'utilisateur le sache, ajouter le Conclusions
persuadée que sa connexion est sé- certificat à la liste des certificats Que faire pour éviter la perte de
curisée, commence à bavarder avec de confiance, confidentialité ? Quand nous acti-
sa copine, Eve, sur l'écran de son or- • si nous interceptons la première vons Use SSL encryption dans notre
dinateur, pourra lire toute l'information connexion de l'utilisateur avec client Jabber préféré, nous devons
envoyée (cf. la Figure 2 Interception le serveur, p. ex. nous avons veiller à respecter quelques points
réussie d'une session de Jabber). recommandé une messagerie essentiels :
instantanée à notre collègue de
Facteur humain travail, nous pouvons compter • toujours vérifier le certificat avant
Un certificat falsifié ou même l'inter- que l'utilisateur seul ajoutera d'accepter la connexion,
ception de la session du côté serveur le certificat falsifié, ce qui nous • en cas de doutes, renoncer
ne peuvent pas garantir que l'attaque donne la chance de demeurer à la connexion et contacter l'ad-
réussira. Tous ceux qui pensaient indétecté, ministrateur à l'aide d'un moyen
qu'il était possible de contourner les • d'habitude, la plupart des utili- plus sûr que le réseau (p. ex.
protections dans le protocole SSL sateurs négligent chaque fois téléphone),
seront déçus – le mécanisme est très les avertissements concernant • de temps en temps vérifier dans
sûr. Dans notre attaque, nous pouvons les irrégularités du certificat, la liste des AC, si notre système
exploiter uniquement les points faibles et acceptent la connexion, cela ne comporte pas de surprises,
du client ou de l'utilisateur. Quelques signifie que le document falsifié • si c'est possible, utiliser en plus le
scénarios sont possibles : sera efficace. mécanisme PGP (GPG). n
P U B L I C I T É