Audit de code source

L’audit de sécurité de codes fait partie de l’ensemble des audits de sécurité qui permettent d’évaluer le niveau de sécurité d’un ou plusieurs composants d’un système d’information. La revue du code source est ainsi une étape primordiale qui permet d’identifier les implémentations ciblées par l’analyse et d’en évaluer la conformité.

L’audit de sécurité de codes fait partie de l’ensemble des audits de sécurité qui permettent d’évaluer le niveau de sécurité d’un ou plusieurs composants d’un système d’information. La revue du code source est ainsi une étape primordiale qui permet d’identifier les implémentations ciblées par l’analyse et d’en évaluer la conformité. L’objectif principal est d’évaluer la sûreté de programmation du code afin de s’assurer que les règles de bonnes pratiques en terme de spécification et de conception ont été respectées :

  • Utilisation de conventions de nommage cohérentes afin que le programmeur comprenne facilement le rôle de chaque fonction et paramètre (maintenance et maintenabilité)
  • Niveau d’opacité des informations (aucune divulgation d’informations sensibles)
  • Facilité d’utilisation (contrôle du séquençage des opérations)

 

Pour les revues de code source, la méthodologie Synetis propose un découpage en deux étapes :

  • Une phase d’échantillonnage qui permet d’identifier les points sensibles de l’application et d’orienter l’analyse de sécurité, basée en partie sur l’analyse d’architecture
  • Une analyse de sécurité qui fait appel à l’expertise de l’auditeur afin d’identifier les écarts par rapport aux pratiques de programmation ainsi que les vulnérabilités dans le contexte de l’audit généra
 

L’objectif de l’analyse des échantillons de code consiste à :

  • Analyser manuellement le code des fonctions identifiées comme critiques et proposer un avis sur la sécurité de l’implémentation de la fonction
  • Analyser les résultats pertinents issus des outils automatiques, afin d’identifier s’ils présentent un impact en termes de sécurité ou s’ils sont issus d’erreurs de programmation

L’auditeur est susceptible d’identifier des vulnérabilités exploitables dans le code. Les vulnérabilités identifiées sont alors qualifiées en suivant la méthode CVSSv3. Dans le cas où des vulnérabilités sont identifiées, Synetis propose de vérifier leur exploitabilité par le biais de tests d’intrusion.

Nous couvrons les langages suivants :

  • C / C++
  • Java
  • Javascript
  • Python
  • Perl
  • PHP
  • Ruby
  • Shell/PowerShell
  • SQL

Notre méthode repose sur une analyse statique du code via une approche dite “boîte blanche”. L’utilisation de plusieurs outils d’analyse de code automatisés combinée avec une revue manuelle sont réalisées, tout en confrontant les observations aux référentiels de bonnes pratiques de développement de l’OWASP et de Synetis.

Les vulnérabilités détectées lors de nos audits de code source peuvent porter sur l’absence de filtrage des données entrantes ou sortantes, l’absence de protection de données sensibles échangées, une mauvaise gestion des erreurs qui peut introduire l’exposition de données sensibles, un code non maintenable, etc.

Construisez votre
Cybersécurité
avec Synetis !