Test de sécurité d'analyse statique

Test de sécurité d'analyse statique (SAST) est une méthode puissante pour identifier des failles de sécurité potentielles dans un programme.

Alors que les techniques sont variées, les outils SAST sont conçus pour fournir des avertissements de sécurité représentant les chemins d'accès potentiellement risqués menant au code source d'un programme. Les chemins d'accès à risque incluent généralement la réception des données contrôlées par les utilisateurs, qui se frayent ensuite un chemin vers le code source et terminent en dehors du programme, par exemple sous forme d'un site Web pour effectuer un achat, en le rentrant dans un tableau de base de données des commandes. L'inverse est parfois vrai également : les données peuvent passer de la base de données à l'utilisateur.

Les outils SAST présentent un avertissement de sécurité, ou une constatation, lorsque les données de l'utilisateur ne sont pas modifiées pour supprimer les attaques (assainissement) ou ne sont pas comparées à une liste des caractères connus acceptés (validation ou mise sur liste blanche). L'absence d'assainissement ou de validation déclenche le marquage d'une constatation comme potentiellement dommageable. Ce sont ces chemins d'accès et constatations potentiellement dommageables que les outils SAST essaient de trouver au sein du code source.

Les évaluations des outils SAST sont minutieux et approfondis. Cela représente à la fois une force et un défi pour les outils. Découvrir des milliers de constatations pour un seul programme n'est pas rare, et un examen complet de ces constatations peut s'avérer onéreux. En général, deux méthodes permettent de gérer ces ensembles de constatations volumineux. Les voici :
  • Effectuer un examen moins approfondi de la surface d'attaque du programme et, par conséquent, avoir moins de constatations à analyser et augmenter le risque que d'importantes constatations ne soient pas identifiées.
  • Ajouter plus de ressources pour analyser les résultats.

L'analyse de résultats intelligente (IFA, Intelligent Finding Analysis) propose une approche traditionnelle pour gérer les ensembles de constatations volumineux depuis des évaluations SAST.