Notre solution - Les Oies du Cyber

Éditeurs ou développeurs d’application : L’écriture de code sécurisé est non seulement un gage de qualité mais procure aussi un réel avantage concurrentiel

Mars 2023

Nous vivons une période de transformation continue, d’évolution technologique majeure. D’un point de vue intellectuel, nous apprécions tout ce que cette période nous apporte, nous investissons une grande partie de notre temps dans la recherche pour développer des applications de plus en plus innovantes.  Du point de vue de la compétitivité de nos entreprises, nous pensons qu’il est urgent d’obtenir des résultats le plus rapidement possible.

Notre désir, en écrivant cet article, est de souligner l’importance extraordinairement élevée de créer des applications sécurisées avec une forte responsabilité envers votre propre travail et envers le client final.

La sécurité est d’abord et avant tout une affaire de conception, ce n’est pas quelque chose que nous pouvons ajouter une fois l’application terminée, peu importe notre motivation. La sécurité réside le choix des types de données et la façon dont nous les représentons dans le code.  Elle consiste à réduire la distance entre les besoins du client et la conception même des outils supposés satisfaire son besoin. Cette réduction élimine des catégories entières de risques de sécurité. Plus nous aidons les acteurs à raisonner en terme de concepts et processus dans la façon dont ils créent une application,  écrivent du  code ou organisent des tests, plus ils sont susceptibles de détecter les problèmes de sécurité.

La plupart des programmeurs estiment que la responsabilité de la sécurité est une tâche qu’ils préféreraient ne pas avoir sur leurs épaules. Beaucoup pensent qu’il serait préférable que l’entreprise fasse appel en permanence à un expert en sécurité dans le cadre de l’équipe de développement. Les programmeurs sont des experts dans la création de code, la construction d’architectures évolutives et la livraison d’applications. Lors du développement d’une application, les programmeurs prennent constamment des décisions sur la façon d’écrire le code pour satisfaire les exigences du projet. Leur objectif principal sera toujours la fonctionnalité qu’ils sont en train de développer.  Ils décident quelle syntaxe utiliser, quelles constructions et quels algorithmes appliquer, comment structurer le code et comment piloter le flux d’exécution.  Penser activement à la sécurité lors de l’écriture de code peut être vécu comme conflictuel avec leur objectif principal. Si un tel conflit se produit, la sécurité passera toujours après la fonctionnalité du code.  C’est un fait, même s’il est malheureux, la sécurité est toujours moins prioritaire.

À la fin de la création d’une application, un audit de sécurité et un test d’intrusion doivent être effectués. Si leur rapport indique des vulnérabilités suffisamment graves pour être corrigées avant mise en production, le projet sera inévitablement retardé, ce qui est coûteux et dommageable.

Dans certaines situations, il peut ne pas être possible d’ajouter la sécurité à l’application finie, si les aspects de sécurité impliquent une conception fondamentalement différente. On est alors condamné à une réécriture en profondeur de l’application, ou à renoncer. C’est la même logique pour les problématiques d’évolution ou de traduction d‘une application.

Si l’équipe de développement choisit de ne pas évaluer la sécurité, ou ne pas respecter les recommandations de l’évaluation, et choisit de livrer l’application telle quelle, les conséquences peuvent être catastrophiques. Mettre en production une application non sécurisée conduit à mettre en danger tous ses utilisateurs, ce qui constitue un acte d’irresponsabilité majeure.

L’objectif principal des solutions sécurisées dès la conception -Secure by Design- est de créer des normes techniques internes, ou des modèles, qui guident clairement les développeurs dans la création d’applications sécurisées.

La cybersécurité, si elle n’est pas faite sur ce principe, peut retarder la mise sur le marché. Cela nécessite souvent des ressources supplémentaires, telles que des experts internes ou externes, une montée en compétence des développeurs, les tests sont plus longs et les corrections consécutives nombreuses. Les chefs de produit peuvent alors craindre que leur produit manque l’opportunité du marché, et que les clients s’orientent vers d’autres solutions. Développeurs et gestionnaires tendent alors à sous-estimer la gravité des conséquences des vulnérabilités de cybersécurité, du moins jusqu’à ce qu’un incident de sécurité les affecte.

Lors d’une étude de la MIT Sloan School of Management, un chef de produit a justifié le fait d’accorder une priorité moindre aux considérations de sécurité en disant que le produit de l’entreprise n’était pas connecté à quelque chose d’important dans les systèmes des clients, de sorte qu’une violation ne causerait pas beaucoup de dommages. Lorsque les chefs de produit apprennent un incident de cybersécurité dans leur environnement, ils commencent à se demander si leurs produits peuvent avoir la même vulnérabilité. C’est un peu tard…

Les applications créent de nouvelles sources de revenus pour de nombreuses entreprises, mais chaque application peut créer de nouvelles vulnérabilités en matière de cybersécurité qui doivent être traitées. L’inclusion du Secure by design comme critère clé dès le début du processus de création commencera à résoudre ce problème. Prouver que votre marque est une bonne idée. Offrir des produits sûrs est de plus en plus important, en rappelant aux développeurs la valeur et l’importance des offres sécurisées.

L’intégration de la cybersécurité plus tôt dans le processus de conception rend l’ensemble du processus de développement de produits plus efficace. Cela évite les surcroîts de travail imprévus, l’augmentation des coûts et les retards causés suite à de mauvais tests, tout en réduisant la probabilité que des problèmes de cybersécurité surviennent plus tard.

Chaque membre de l’entreprise a un rôle à jouer dans l’amélioration de la sécurité des applications, et tous sont à juste titre soumis à des attentes élevées de la part des clients, nécessitant une approche plus holistique. Un principe clé pour créer un code sécurisé est la nécessité d’un engagement organisationnel qui commence par un support au niveau de la direction, des exigences commerciales claires, des spécifications fonctionnelles formalisées, une intégration de la cybersécurité dans tout le cycle de développement de l’application, et une compétence de chacun dans ses tâches, y compris dans la partie sécurité. Ceci est fondamental pour parvenir à une culture de sécurité.

La cyber-résilience est la capacité d’une entreprise à prévenir, résister et se remettre des incidents de cybersécurité. Le Secure by Design est un composant indispensable de la cyber-résilience des utilisateurs des applications et doit donc être une composante essentielle du métier de développeur d’application.

Source:

Observatoire Internet de Stanford, John Perrino:

https://cyber.fsi.stanford.edu/io/news/using-safety-design-address-online-harms

  • Université de Salford, Manchester

https://www.salford.ac.uk/working-with-business/greater-manchester-cyber-foundry/secure-design

  • MIT Sloan Management Review, Keri Pearlson, Keman Huang

https://sloanreview.mit.edu/article/design-for-cybersecurity-from-the-start/

    Demandez à être contacté