Qu’est-ce qu’un audit de code ?
Un audit de code est l’analyse du code source d’une partie ou l’intégralité d’une application (Web, mobile ou logiciel) permettant d’identifier des vulnérabilités, une mauvaise implémentation ou un défaut de configuration lors de son développement.
L’audit de code est divisé en deux parties. La première consiste à effectuer une revue de code automatisée de façon statique afin d’identifier les vulnérabilités les plus courantes sur le langage utilisé.
S’en suit ensuite une analyse manuelle effectuée par un professionnel visant à détecter des vulnérabilités qu’un outil n’est pas en mesure de découvrir. Il faut donc procéder à une lecture du code afin de comprendre son fonctionnement et trouver des moyens de contournement aux protections mises en place.
Pourquoi réaliser un audit de code ?
Tout d’abord, un audit de code permet d’avoir un regard extérieur sur l’application afin de mettre le point sur des erreurs de sécurité technique (Injection de code SQL, XSS, code arbitraire…) ou fonctionnelle (contournement de l’authentification, modification des cookies, etc) auxquelles les développeurs n’auraient pas pensé.
Réaliser un audit de code avant une mise en production ou lorsque de nombreux bugs sont remarqués est très pertinent étant donné qu’il va permettre de vérifier si l’application est suffisamment robuste pour se protéger des cyber-attaques qui se multiplient et ainsi protéger les données hébergées.
Durant l’audit, chaque point de l’OWASP (pour une application web) ou OSSTMM (pour une application compilée) doit être traité. Le langage utilisé peut varier (PHP, Java, C, C#, C++ …) et l’auditeur saura s’adapter en conséquence.
CCL : Les bénéfices de l’audit de code
A l’issue de l’audit de code, un rapport est rédigé par les auditeurs afin de mettre en place un correctif sur les vulnérabilités identifiées. Ces dernières sont triées par sévérité et par priorité de correction.
Chaque vulnérabilité possède des conseils et recommandations pour pouvoir être corrigée dans les règles de l’art.
Afin de garantir confidentialité, disponibilité et intégrité des données des utilisateurs sur une application, l’audit de code couplé à un test d’intrusion est un rempart très efficace face aux cyber-menaces.
Article rédigé par Antoine