Security by Design

Objectifs

  • Connaître l'OWASP ;

  • Connaître certains principes du « Security by design ».

Mise en situation

Le travail du développeur consiste à réaliser une application qui répond à un problème posé. Mais il est également nécessaire de sécuriser cette application afin que celle-ci ne soit pas détournée par des malfaiteurs, ou encore afin qu'elle ne permettent pas de compromettre d'autres systèmes auxquels elle est connectée.

On attend ainsi d'un développeur que ses réalisations soient secure by design, c'est à dire sécurisés grâce à une bonne conception. Il s'agit donc de penser la sécurité dès la conception et le codage plutôt que de la reléguer à une phase marginale ou avale du projet.

DéfinitionOWASP Foundation (Open Web Application Security Project)

L'OWASP Foundation est une organisation à but non lucratif qui travaille à améliorer la sécurité des logiciels et des applications. Cette organisation développe des outils, édicte des principes de développement et met en lien une grande communauté de développeurs et d'experts en sécurité.

FondamentalPiliers du « Security by design »

La sécurité de l'information repose sur trois piliers :

  • Confidentialité : seuls les utilisateurs autorisés accèdent aux données.

  • Intégrité : les données ne peuvent pas être altérées ou modifiées par des utilisateurs non autorisés.

  • Disponibilité : les données et les services sont disponibles lorsque les utilisateurs en ont besoin.

ComplémentPrincipes du « Security by design »

L'OWASP a produit un wiki à destination des développeurs contenant des principes permettant développer des applications sécurisées.

https://wiki.owasp.org/index.php/Security_by_Design_Principles

ExempleLe moins de privilèges

Chaque application ou utilisateur doit avoir uniquement les droits dont il a besoin. Dans le cas où l'application est attaquée, les dégâts liés à l'incident seront limités.

ExempleÉviter la sécurité par l'obscurité

Une page ou une fonctionnalité n'est pas sécurisée car elle n'est visible. Par exemple, si un site ne contient pas de lien vers la page administration, cela ne l'empêchera pas d'être attaquée. Il existe des méthodes pour trouver ce type de fonctionnalités cachées.

ExempleÉtablir des configurations par défaut sécurisées

Par défaut, une expérience doit être sécurisée mais il est possible de laisser la liberté à l'utilisateur de désactiver certaines contraintes a posteriori en l'avertissant des risques encourus.

À retenir

  • L'OWASP Foundation est une organisation pouvant guider un développeur souhaitant adopter des méthodes de développement assurant un maximum de sécurité.

  • Le Security by design possède plusieurs principes concrets permettant de sécuriser ses applications, comme par exemple : minimiser les droits des utilisateurs ou éviter de cacher plutôt que de sécuriser.

Stéphane Crozat, Marc Damie Paternité - Partage des Conditions Initiales à l'Identique