Il arrive régulièrement que des algorithmes cryptographiques deviennent obsolètes ou des implémentations vulnérables. Dans cet article, nous reviendrons sur les raisons qui peuvent pousser à déprécier ces algorithmes ou implémentations et nous présenterons grap, un outil permettant de détecter des motifs à l’intérieur de binaires exécutables et pouvant être utilisé pour rechercher du code cryptographique. Nous illustrerons enfin notre technique avec un cas concret : la détection de MD5, une fonction de hachage cryptographique obsolète encore répandue aujourd’hui.
Introduction
Lors de l’analyse d’un logiciel ou d’un système, les algorithmes cryptographiques apparaissent comme des remparts importants en matière de sécurité. En effet, pour peu que les algorithmes utilisés soient reconnus robustes et leurs implémentations appropriées, ils constituent une fondation solide sur laquelle s’appuyer. Il est rare par exemple qu’un attaquant analysant un service ayant recours à AES pour des opérations de chiffrement réalise une attaque cryptanalytique sur cet algorithme, qui est standard et considéré aujourd’hui comme sécurisé [AESa].
Cela étant dit, ces remparts ne sont pas infranchissables, tant s’en faut. Il arrive que des recherches aboutissent à des cryptanalyses mettant en évidence des faiblesses majeures dans des algorithmes ou des protocoles réputés sûrs, les rendant de fait obsolètes et impropres pour certains usages. D’autre part — et sans que les algorithmes en eux-mêmes soient remis en cause...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première