Comment adopter une approche Security by design dans vos projets de développement ?
En matière de transformation numérique, tous les mouvements déjà engagés comme la migration vers des applications métier disponibles dans le Cloud, le travail en mobilité, la dématérialisation… ont vivement accéléré en 2020 pour répondre aux nouvelles organisations du travail induites par la crise sanitaire. En revanche, cette dynamique s’inscrit aujourd’hui dans un contexte compliqué car les organisations auront subi pas moins de trois confinements en un peu plus d’un an et font face à une recrudescence des cyberattaques qui n’épargnent plus personne : collectivités, hôpitaux, PME, grands groupes, ESN majeures, etc.
Garantir la sécurité de l’organisation mais aussi de l’accès aux données et de leur confidentialité figure parmi les priorités des DSI dans leur odyssée de la digitalisation. La place de la sécurité dans les projets de développement est donc prépondérante et nécessite désormais une approche Security by design qui permet d’intégrer les questions de sécurité tout au long des projets et le plus en amont possible, mais comment bien l’appliquer ?
Voici nos conseils pour adopter une démarche Security by design efficace entre les équipes métier et la DSI.
Revenons à l’essentiel : la sécurité des données et des applications métier
La notion de sécurité englobe beaucoup de choses : sécurité des locaux, sécurité des accès aux ressources informatiques avec le traditionnel combo login & mot de passe, sécurisation des applications métier mais aussi respect de la confidentialité des données qu’elles contiennent. Or, garantir la sécurité des données ne consiste pas vraiment à mettre les fichiers et bases documentaires dans un coffre-fort numérique bien verrouillé. Car pour bien fonctionner, l’organisation a besoin de faire transiter les données entre différentes applications, de les enrichir puis de les faire approuver par différentes catégories d’utilisateurs, de les restituer aux différentes parties prenantes, etc. Il s’agit donc aussi de bien veiller à la pertinence des droits d’accès aux données tout au long des processus documentaires pour s’assurer que des informations confidentielles ne se retrouvent pas entre les mains de n’importe qui…
De plus, on s’aperçoit aujourd’hui que la donnée est devenu polymorphe et peut être consommée, modifiée et exposée de différentes manières et sous différents formats qui vont des applications métier classiques internes à l’entreprise ou accessibles en mobilité jusqu’aux services web partageant les données avec des partenaires. Autant de risques de sécurité et de fuites de données ! Les questions de sécurité doivent donc être intégrées le plus tôt possible dans les projets de transformation numérique et de dématérialisation.
Que veut-on dire par « Security by design » ou « Sécurité par conception » ?
Le concept de Security by Design vise à intégrer les notions de sécurité, de contrôle d’accès et de respect de la confidentialité des données tout au long des projets de développement d’applications métier et de dématérialisation. En l’intégrant le plus en amont possible, dès les phases de spécifications puis de conception, les équipes peuvent ainsi mieux anticiper les risques qu’ils soient d’ordre techniques (mise à jour des composantes logicielles, liens avec la solution SSO pour l’authentification, identification de failles potentielles, etc.) ou humains (habilitations, confidentialité, etc.).
La norme ISO 27001 relative à la sécurité des systèmes d’information prévoit de nombreuses dispositions et bonnes pratiques pour adopter une démarche Security by design. On peut citer par exemple l’importance d’avoir une approche pilotée par les risques, afin d’augmenter au maximum les mesures de protection. Les équipes évaluent ainsi systématiquement tous les risques liés à une fonctionnalité, un flux d’intégration de données, l’envoi d’un rapport documentaire, etc. De plus, cette approche par les risques s’inscrit parfaitement dans la méthode agile lors de la conception de l’application métier.
Enfin, la notion de Security by design touche également la notion de Privacy by design et de protection des données personnelles car conformément au RGPD, certaines informations gérées par les applications métier ne peuvent être partagées à d’autres personnes même si elles concourent à transformer la donnée dans des règles métier. Pour résoudre ce point, seule une rapproche centrée sur le cycle de vie de la donnée peut aider les équipes à garder le contrôle à chaque étape du projet.
Les conseils clés pour une démarche Security by design réussie
Les grands principes permettant d’adopter une démarche Security by design dans les projets de transformation numérique ou de développement sont souvent les mêmes et relèvent du bon sens :
- Identifier les risques en les évaluant précisément pour mieux les comprendre,
- Minimiser la surface d’attaque en restreignant les accès utilisateurs au strict nécessaire,
- Prévoir des mises à jour régulières voire des tests d’intrusion pour les applications critiques.
Si ces grands principes permettent effectivement de renforcer la sécurité, souvent d’un point de vue technique, il n’en reste pas moins qu’il faut les appliquer au quotidien dans des projets où les équipes métier ne sont pas toujours bien acculturées à ces considérations.
C’est pourquoi nous pouvons partager 2 conseils supplémentaires suite à nos retours d’expériences :
- Constituer des équipes pluridisciplinaires intégrant à la fois les spécialistes métier mais aussi des experts de la sécurité qui savent bien que la protection du système d’information comme des données est aujourd’hui l’affaire de tous !
- Intégrer l’approche par le cycle de vie de la donnée au cœur de la méthodologie projet car les données vont évoluer et s’enrichir ce qui modifiera constamment leur niveau de confidentialité, mais il faut pour cela avoir des données parfaitement structurées.
Le plus souvent, la politique d’accès aux données est définie de manière externe : on identifie les utilisateurs, les rôles ou les groupes ayant un accès en lecture et/ou écriture par dossier, par type de données et parfois même jusqu’au niveau le plus élémentaire de la donnée elle-même. En revanche, lorsqu’on en arrive à cette granularité, cela devient vite très compliqué de gérer des droits sur des milliers de combinaisons de données avec des milliers d’utilisateurs.
C’est pourquoi nous avons intégré dès le départ au cœur de notre plateforme de développement des mécanismes permettant de définir précisément la politique d’accès aux données. Le principe de droits dynamiques apporté par la plateforme AP4 permet de définir une règle qui détermine les droits d’accès à la donnée en fonction de la donnée elle-même. Dès la conception de l’application métier, on peut spécifier par exemple que seuls les participants à une réunion, identifiés comme tel dans le document compte-rendu de réunion, disposeront d’un accès en lecture à ce document. Une fois le compte-rendu finalisé, plus besoin de se soucier de son emplacement ni du mode d’accès (par une application métier, une API REST…), il ne sera visible que des participants.
Ces concepts intégrés dès l’origine nous ont conduit en 2022 à mener un projet d’audit et de certification ISO 27001. Aujourd’hui, l’ensemble des développements réalisés par Anakeen est certifié ISO 27001, aussi bien notre plateforme que les applications métier créées.
Pour vous aider à saisir les bonnes opportunités et prendre une longueur d’avance dans vos projets de transformation numérique, nous avons regroupé toutes les bonnes pratiques dans le guide ci-dessous. N’hésitez pas à le télécharger :