Audit de code source
L’audit de code source est repose sur une analyse exhaustive du code source de l’application.
Ce type d’audit de sécurité est basé à la fois sur l’usage d’outils de pointes (qui permettent l’automatisation partielle mais surtout le traitement de masse) et sur de l’expertise humaine, indispensable pour comprendre la logique du traitement.
En une phrase : Analysez le code source de votre application à la recherche de vulnérabilité
Ce type de démarche permet d’obtenir une couverture, en termes de vulnérabilités détectés, plus importante que lors d’un audit dit « en boite noire ». NBS System est partenaire et revendeur de la solution Armorize en France, souvent considéré comme le meilleur outil d’analyse statique.
Les audits de code source peuvent être réalisés de plusieurs manières, et c’est bien souvent une combinaison entre ces différentes méthodes qui donne les meilleurs résultats :
- Analyse statique : C’est une famille de méthodes formelles qui, à partir du code source, permettent évaluer le comportement d’une application, sans pour autant l’exécuter. Elle se base sur l’utilisation d’un outil automatisé, mais s’appuie sur une intervention humaine afin de qualifier la véracité et la criticité des bugs.
- Analyse manuelle : C’est la méthode la plus fréquemment utilisées aujourd’hui. Elle repose sur un audit du code source réalisé par un humain. La limitation inhérente à ce type de méthode est le nombre de lignes de code qu’un humain peut auditer soit entre 1000 et 2000 par jour en fonction du langage et de la complexité du programme. On la réserve donc aux parties les plus sensibles ou liées à la « business logic ».
Quand un programme est volumineux, il est souvent plus « intéressant » d’utiliser une combinaison d’audit manuel et d’analyse statique. En effet, le recoupement de ces deux méthodes permet d’analyser manuellement ET de façon « statique » les parties du code les plus susceptibles de contenir des vulnérabilités. En effet, ces deux méthodes présentant leurs limites, cela permet de tirer parti du meilleur de chacune des méthodes.
En matière d’analyse statique, nous sommes les partenaires exclusifs en France de la société Amorize, distributrice du logiciel CodeSecure, reconnu comme le meilleur logiciel d’analyse statique, en ce qui concerne les technologies web (notamment PHP). Cela permet d’effectuer des tests avec une forte exhaustivité sur des logiciels volumineux, et cela dans des délais biens moindres.
Quand à l’analyse manuelle, nos experts sont rompus à ce genre de techniques et pratiquent tous l’audit de code source, qu’il s’agisse de technologies web ou de langages lourds/compilés.