Référentiel de vérification de la sécurité des applications

La sécurité des développements logiciels est un terme générique qui consiste à établir un ensemble de stratégies qui fonctionnent conjointement pour contribuer à la protection des données numériques. L'objectif de la sécurité logicielle est d’assurer la confidentialité, l'intégrité et la disponibilité des informations manipulées par un service applicatif. Il est impératif d'intégrer la sécurité des développements dès la phase de conception et tout au long du cycle de vie du logiciel. En adoptant cette démarche, les développeurs peuvent attester que les logiciels développés respectent les meilleures pratiques de sécurité. La mise en œuvre des mesures de sécurité, après le déploiement d’un logiciel, est nettement plus coûteuse et n’offre généralement qu’une protection limitée par rapport à la sécurité intégrée dès le début du processus.

Dans la continuité des travaux réalisés en 2021, se rapportant aux pratiques de sécurité logicielle, la DGSSI souhaite renforcer davantage les dispositifs mis à disposition des administrations, des établissements publics ainsi que des infrastructures d’importance vitale publiques et privées pour leur permettre de mener les tests recommandés durant le cycle de développement conformément aux politiques et référentiels de développement sécurisé en vigueur. 

A cet égard, la DGSSI a élaboré un référentiel de vérification de la sécurité des applications comportant un ensemble d'exigences et de tests. Ce référentiel, qui se base sur la version ASVS 4.0.3 publiée en octobre 2021 par la communauté OWASP, peut être utilisé à des fins différentes, notamment pour définir, construire, tester et vérifier des applications sécurisées. Il se base sur un ensemble d’exigences et de contrôles de sécurité basé sur des tests fonctionnels et non fonctionnels qui doivent être appliqués lors de la conception, du développement et du test des applications. Il s’applique à tous les modèles de développement logiciel et vise à atteindre deux objectifs principaux:

  1.   Aider les organismes à développer et à maintenir des applications sécurisées (guide de tests unitaires et d'intégration automatisés, guide de formation au développement sécurisé);
  2.   Permettre aux fournisseurs de services de sécurité, aux pourvoyeurs d'outils de sécurité et aux consommateurs d'aligner leurs exigences avec les offres proposées (guide d'acquisition de logiciels sécurisés).

Par ailleurs, trois niveaux de vérification de la sécurité ont été retenus. Le niveau trois représente le niveau d’assurance le plus élevé.

  •     Niveau 1 : est un niveau d'assurance faible. Il comporte des tests d'intrusions classiques. Ce niveau constitue une première étape pour sécuriser d’une manière progressive les applications d’une entité. Il est aussi parfois suffisant pour les applications qui ne stockent pas ou qui ne traitent pas des données sensibles et partant ne nécessitent pas des contrôles rigoureux contenus dans les niveaux 2 ou 3.
  •     Niveau 2 : est nécessaire pour les applications qui traitent des données sensibles et qui nécessitent une protection adaptée. Ce niveau constitue généralement le niveau recommandé pour la plupart des applications.
  •     Niveau 3 : est destiné aux applications critiques, qui traitent des données hautement sensibles, ou qui requièrent un haut niveau de confiance.

En fonction de l’analyse du risque et des exigences métiers, chaque organisme doit déterminer le niveau d’exigence approprié. Aussi, pour gérer efficacement les problèmes de sécurité, il est nécessaire d'intégrer une réflexion axée sur la sécurité tout au long du processus de développement. Cela réduit le risque d’ignorer des exigences de sécurité qui peuvent être importantes d’une part et d’autre part, pour éviter de commettre des erreurs critiques dans la conception du logiciel.

DGSSI2024 All rights reserved