Découvrez la préface du guide spécial recherche de vulnérabilités !

« Aucune règle n’existe, les exemples ne viennent qu’au secours des règles en peine d’exister. »
André Breton

La recherche de vulnérabilités est un domaine vaste, tout comme les outils dont dispose le chercheur en sécurité. Les colonnes de MISC ont ainsi déjà vu bon nombre de ces programmes, incontournables pour certains, mais l’évolution du domaine nous apporte chaque jour son lot de scripts, bouts de code, plugins, preuves de concept et frameworks en tout genre. Est en cause notamment la grande diversité des cibles et des méthodes. D’une part, que l’on s’attaque à du web, de la cryptographie ou à tout ce que l’on peut trouver dans l’Internet des objets, force est de constater qu’il va être nécessaire, pour chaque cas, d’avoir un outillage spécifique pour peu que celui-ci existe et qu’il ne faille pas en développer un. De la même manière, les techniques utilisées sont extrêmement variées : reverse, fuzzing, analyse statique automatisée, exécution symbolique ou simple lecture de code, pour ne prendre que quelques exemples.

Dans cette étendue de possibilités, l’approche du présent hors-série va être de s’intéresser aux outils récents et qui présentent un intérêt dans un domaine particulier de la recherche de vulnérabilités. Les pages qui vont suivre vont se concentrer essentiellement à décrire les principes sur lesquels reposent les différents programmes sélectionnés dans ce hors-série ainsi que leurs usages via des exemples pratiques. Les limites vont être que l’on ne parlera pas d’exploitation et que les connaissances théoriques nécessaires à l’approche de certains domaines seront abordés partiellement et nécessiteront d’autres lectures pour ceux qui seraient plus intéressés. Il est d’ailleurs important de noter que, quel que soit l’outil, quelle que soit la technique, les connaissances élémentaires restent l’arme la plus forte. À quoi bon trouver des dizaines de crashs en utilisant du fuzzing si l’on n’est pas capable d’interpréter minimalement les résultats ?

Le numéro va s’articuler autour de quatre thématiques. Il va s’agir dans un premier temps de découvrir ou d’approfondir des outils permettant de faire de la rétro-ingénierie (radare2), du fuzzing (afl) et de l’exécution concolique (angr). S’ensuivra une partie passionnante et accessible sur la cryptographie : initiation à CDF (crypto differential fuzzing) et Wycheproof pour tester la qualité de votre code cryptographique, et découverte de grap, un outil aux nombreuses possibilités et dont on verra une application pour détecter des algorithmes cryptographiques obsolètes dans des binaires. Une troisième partie sera consacrée à la prise en main des outils nécessaires à l’analyse des objets connectés. Enfin, dans la dernière partie sera traité le domaine du web avec la découverte de Wapiti et Snuffleupagus, un scanneur de vulnérabilités et un module de sécurité pour php7.

Bonne lecture,

Émilien Gaspar / gapz / eg@miscmag.com


 Retrouvez MISC HS n°17 :