Aller au contenu
Accueil » Audit de code source

Audit de code source

Objectifs d’une prestation d’audit de code source

Un audit de code est un type d’évaluation conçu pour valider la sécurité d’une application en analysant son code source.

Cet exercice permet d’identifier de manière particulièrement efficace les pratiques de développement non sécurisées ainsi que les vulnérabilités que des pirates pourraient exploiter.

Les entreprises peuvent trouver une solution rentable dans ce type d’évaluation pour identifier les failles de la logique métier d’une application, et elles le combinent souvent avec des tests de sécurité pour les applications critiques.

Méthodologie

Nos auditeurs disposent d’une expertise approfondie et éprouvée dans les langages de programmation les plus répandus. Cette caractéristique nous permet d’examiner le code source d’applications web et mobiles de toutes sortes. Afin de valider nos résultats, nous combinons des validations manuelles et des outils pour détecter les principaux risques de sécurité présents dans les applications d’aujourd’hui.

Afin de réaliser leurs audits de code, nos auditeurs utilisent comme cadre méthodologique le Code Review Guide de l’OWASP, celui-ci étant un standard reconnu et éprouvé. Néanmoins, bien que cette méthodologie cadre les différentes actions de l’auditeur, c’est le contexte qui va orienter l’enchaînement de ces actions.

Vulnérabilités recherchées

Les injections de code

L’injection de code est une technique qui consiste à injecter des données dans une application pour en modifier le comportement.

Afin de s’en prémunir, il est nécessaire que l’application :

  • Filtre les entrées utilisateurs et échappe les caractères spéciaux propres au langage employé. Pour le cas du SQL, il est impératif de supprimer les caractères tels que * ,  » , ‘ , % ou ; avant de les traiter avec le gestionnaire de base de données ;
  • Utilise systématiquement des procédures stockées pour la création des requêtes SQL ;
  • Réduire autant que possible les privilèges du compte faisant fonctionner l’application lors de la connexion à la base de données.

Authentification & Gestion des sessions

L’authentification et la gestion des sessions sont des parties critiques d’une application web. Une mauvaise implémentation peut mettre en péril la confidentialité des données de votre application. Réaliser un audit de code c’est l’occasion de s’assurer du cloisonnement des sessions et des privilèges.

Pour ce faire nos auditeurs vont vérifier la présence de contrôles dans le code de l’application afin de s’assurer que les différents objets ne sont pas accessible directement.

Configuration de sécurité

Pour attaquer une cible, un pirate tente généralement d’accéder à des comptes par défaut, des pages non utilisées, des vulnérabilités non corrigées, des fichiers et/ou répertoires accessibles sans authentification ainsi qu’à des informations non chiffrées.

Il est donc important de vérifier la configuration de sécurité et de s’assurer d’un paramétrage satisfaisant au regard de la protection des données et des ressources exposées sur le réseau.

Chiffrement

Il faut stocker de manière chiffrée les données sensibles telles que les données nominatives, les mots de passe, les données de paiement, etc. Nos auditeurs vérifieront l’utilisation d’algorithmes de chiffrement fort pour les données identifiées comme sensibles.

Ils s’assureront notamment :

  • Que les données et les sauvegardes soient chiffrées ;
  • Que des algorithmes répondant aux standards reconnus et des clés fortes soient utilisés ;
  • Que les clés et mots de passe soient protégés des accès non autorisés.