Contactez-nous

Revue de code source

Description de la revue de code source en tant que technique de test de sécurité, y compris ses avantages, ses inconvénients et les types de vulnérabilités qu'elle permet de détecter.

Aperçu

La revue de code source est le processus de vérification manuelle du code source d'une application web à la recherche de problèmes de sécurité. De nombreuses vulnérabilités de sécurité graves ne peuvent être détectées avec aucune autre forme d'analyse ou de test. Comme le dit le dicton populaire "si vous voulez savoir ce qui se passe réellement, allez directement à la source". Presque tous les experts en sécurité s'accordent à dire qu'il n'y a pas de substitut à l'examen réel du code. Toutes les informations permettant d'identifier les problèmes de sécurité sont là dans le code, quelque part. Contrairement aux tests de logiciels fermés tels que les systèmes d'exploitation, lors du test d'applications web (en particulier si elles ont été développées en interne), le code source doit être mis à disposition à des fins de test.

De nombreux problèmes de sécurité non intentionnels mais importants sont extrêmement difficiles à découvrir avec d'autres formes d'analyse ou de test, telles que les tests de pénétration. Cela fait de l'analyse du code source la technique de choix pour les tests techniques. Avec le code source, un testeur peut déterminer avec précision ce qui se passe (ou est censé se passer) et supprimer les conjectures des tests en boîte noire.

Les exemples de problèmes qui sont particulièrement propices à être trouvés par le biais de revues de code source incluent les problèmes de concurrence, la logique métier défectueuse, les problèmes de contrôle d'accès et les faiblesses cryptographiques, ainsi que les portes dérobées, les chevaux de Troie, les oeufs de Pâques, les bombes à retardement, les bombes logiques et d'autres formes de code malveillant. Ces problèmes se manifestent souvent comme les vulnérabilités les plus nuisibles dans les applications web. L'analyse du code source peut également être extrêmement efficace pour trouver des problèmes de mise en oeuvre tels que les endroits où la validation des entrées n'a pas été effectuée ou où des procédures de contrôle à sécurité intégrée peuvent être présentes. Les procédures opérationnelles doivent également être revues, car le code source déployé peut ne pas être le même que celui analysé ici. Le discours de Ken Thompson pour le prix Turing décrit une manifestation possible de ce problème.

Avantages

  • Exhaustivité et efficacité
  • Précision
  • Rapidité (pour les réviseurs compétents)

Inconvénients

  • Nécessite des développeurs hautement qualifiés et sensibilisés à la sécurité
  • Peut manquer des problèmes dans les bibliothèques compilées
  • Ne peut pas détecter facilement les erreurs d'exécution
  • Le code source réellement déployé peut différer de celui analysé

Pour en savoir plus sur la revue de code, consultez le projet de revue de code OWASP.