Principes de conception sécurisée

Intégrer la sécurité dès la conception des logiciels, interfaces et nouveaux produits fait partie des bonnes pratiques reconnues par tous les experts. La norme ISO 19249 qui propose un catalogue de principes d’architecture et de conception est un des documents utilisables dans ce cadre. Ce référentiel est d’ailleurs cité dans le programme en vigueur de la certification individuelle CISSP. Il rejoint les méthodes de modélisation des menaces utilisées dans le développement logiciel et les normes ISO 27034 sur la sécurisation des applications ou encore le référentiel SSDF.

Cadre du référentiel

Le périmètre d’utilisation du référentiel est un catalogue de principes d’architecture et de conception pour intégrer la cybersécurité au cycle de développement des matériels et applications. Il complète les éléments qu’on peut trouver dan les critères communs (normes ISO 15408 de 1 à 3) et les méthodes d’évaluation décrites dans la norme ISO 18045. Si la version actuelle de la norme ISO 19249 est relativement récente (2017), certains principes et termes ne sont pas nouveaux. Par exemple la notion de TCB (Trusted Computing Base), défini par le MITRE américain dans les années 70 et que l’on retrouve dans le domaine 3 du CISSP (« security architecture and engineering »).

Concepts d’architecture de l'ISO 19249

Dans cette norme, un domaine est un concept permettant d’encapsuler des composants, données et programmes. Des privilèges et des attributs de sécurité peuvent être assignés pour chaque domaine avec l’idée de mettre en place des contrôles vérifiables. On peut ensuite mettre en place des mesures pour contrôler les communications entre les domaines. On retrouve par exemple cette notion de domaines pour un réseau interne composé de différents VLAN, dont certains doivent communiquer entre eux. D’un point de vue applicatif, on peut associer à chaque processus un domaine.

Les mécanismes de sécurité sont proposés en couches avec des services associés. Par exemple, un système de fichiers proposant une couche physique (accès au matériel) et une couche logique (contrôle d’intégrité).

L’encapsulation est un principe d’architecture pour lequel les objets sont encapsulés par les fonctions utilisées pour gérer les objets (principe que l’on retrouve dans la programmation objet).

La redondance est le principe courant lié à reprise en cas de dysfonctionnement ou d’erreurs (disques d’un serveur en RAID par exemple).

La virtualisation permet des fonctions d’émulation (d’un matériel ou d’un système). Par exemple, la mémoire virtuelle vue par une application ou la containerisation d’applications.

Concepts de conception de l'ISO 19249

Le référentiel comprend une liste de principes de sécurité et pour chacun des conditions possibles d’évaluation :

  • Moindre-privilège.
  • Réduction de la surface d’attaque.
  • Validation centralisée des paramètres (cas des dépassements de tampons on injections SQL par exemple).
  • Centralisation des services de sécurité.
  • Gestion des erreurs.

  Pour en savoir plus sur les 20 meilleures formations sur la sécurité des systèmes d’information, téléchargez gratuitement notre livre blanc ci-dessous :

CISSP, ISO19249, TrustedComputingBase, TCB, CommonCriteria, CritèresCommuns, ISO15408