Cryptographie : attaques tous azimuts — Éric Filiol, Fred Raynal, Jean-Baptiste Bédrune
Date : 05 June 2008 à 12:15 — 30 min.
Cet article porte sur les attaques opérationnelles à l'encontre de la cryptographie. Le problème est abordé sous plusieurs angles, l'objectif étant de ne pas recourir aux classiques cryptanalyses. Pour cela, nous nous appuyons sur des erreurs dans l'implémentation ou dans l'utilisation, ou encore sur des fuites d'informations.
Tout d'abord, nous examinons les attaques à l'encontre des clés. Nous les recherchons dans les fichiers binaires, dans la mémoire, ou dans des fichiers mémoire (comme le fichier d'hibernation). Nous montrons également plusieurs cas de mauvaise initialisation de générateurs aléatoires, réduisant fortement l'entropie de la clé mais aussi les problèmes de portes dérobées.
Ensuite, nous nous mettons dans la position d'un attaquant quand il est confronté à de la cryptographie. Il doit commencer par détecter que de tels algorithmes sont employés, puis les identifier. Nous présentons des solutions à ces problèmes, aussi bien lors de l'analyse de binaire que sur des flux de communication.
La partie suivante illustre ces résultats au travers de l'analyse d'un protocole de communication réseau fermé. L'identification du format des paquets se fait en analysant le comportement du programme, en ayant préalablement identifié tous les éléments de cryptographie.
Parfois, un attaquant n'a accès qu'aux flux chiffrés, sans disposer des outils capables de générer ce flux, ou des moyens pour casser le chiffrement. Dans ces situations, nous constatons qu'il reste souvent des fuites d'information qui se révèlent largement intéressantes. Nous montrons comment les méthodes classiques de supervision de réseau, de forensics, ou encore de data mining permettent de récupérer des informations pertinentes. Nous construisons par exemple des sociogrammes susceptibles de révéler les éléments clés d'organisation, le type d'organisation, etc.
Enfin, la dernière section porte sur l'attaque des flux chiffrés. On distingue deux types d'attaques, selon qu'on a connaissance ou non du chiffrement employé. Quand on ignore la nature de la protection, les tests statistiques usuels d'évaluation des algorithmes s'avèrent parfois suffisants. Toutefois, dans la pratique, il faut mener des attaques spécifiques à l'algorithme. À l'aide d'hypothèses simples, nous réduisons la complexité des attaques théoriques, pour les mettre à la portées des moyens actuels.