Audit de code

L’audit de code a pour objectif d’identifier des vulnérabilités au sein d’une application mais contrairement au test d’intrusion, l’auditeur adopte le point de vue d’un développeur et non d’un attaquant. Il s’agit d’identifier les vulnérabilités pouvant être exploitées par un attaquant potentiel mais également d’identifier les mauvaises pratiques de programmation spécifiques à chaque langage ou erreur de logique, afin d’accompagner le client dans une démarche de consolidation de la sécurité de ses applications.

La méthodologie appliquée par Cylresc est similaire à celle proposée par l’OWASP (Open Web Application Security Project), qui est un standard dans le monde de la cybersécurité.

La revue de code vise à évaluer les parties du code étant considérées comme critiques, notamment :

  • L’authentification : évaluation des mécanismes mis en place pour l’authentification et vérification du respect des bonnes pratiques (filtrage des entrées utilisateurs, traitement des mots de passe sous forme de condensat et non en clair, gestion des sessions utilisateurs)
  • L’accès aux données : contrôle des méthodes utilisées pour accéder et stocker les données
  • La cryptographie : vérification des algorithmes de chiffrement et de hachage utilisés, contrôle de l’utilisation et de l’implémentation des algorithmes (utilisation de nombres aléatoires, chiffrement de fichiers etc.)
  • L’interconnexion avec des systèmes tiers : validation des moyens mis en place pour communiquer avec des systèmes tiers distants ou non, les auditeurs vérifient que les communications soient chiffrées, authentifiées et ne permettent pas d’effectuer d’actions pouvant compromettre le système audité ou le système tiers

Phase 1 : Entretiens et revue de documentation
Lors de cette étape, les auditeurs évaluent le contexte dans lequel l’application est utilisée. L’objectif de cette étape est de comprendre par qui l’application va être utilisée, dans quel contexte, en ligne/hors ligne, etc.
Une revue de documentation a pour but d’identifier des vulnérabilités dans les bibliothèques utilisées mais également d’identifier des non-conformités liées aux pratiques de développement.

Phase 2 : Analyse du code source
Lors de cette étape, les auditeurs ont pour objectif d’identifier des vulnérabilités d’ordre technique ou fonctionnel pouvant mener à une exploitation de vulnérabilités pouvant compromettre l’application.