Dette de sécurité de l'application a quelques similitudes de la dette technique, mais il y a peu de différences que nous devons réfléchir à leur décider si notre charge de la dette de sécurité s'est trop élevée et doit être payée. J'aimerais savoir comment calculer les dettes de sécurité dans nos applications bancaires?
À ce stade, il n'y a pas de méthode normalisée de calcul de la taille (inventaire) de la dette technique. Je travaille avec une équipe de recherche composée de chercheurs de doctorat de l'Université de Glasgow et MIT afin de commencer à créer un cadre pour résoudre ce problème. Nous combinons l'analyse de processus théoriques de MIT pour Sécurité ( STPA-SEC ) et les concepts de l'architecture navale navale, connu sous le nom de conception de la vulnérabilité . Alors que les techniques sont destinées à analyser une organisation et tout sous-processus, il est Convient également à une seule application comme cible d'analyse.
Ce qui suit est en cours de développement et de test. Les concepts sont néanmoins utiles.
Calcul de la "dette de sécurité des applications", à mon équipe, n'est qu'une autre forme de "ingénierie de la vulnérabilité de la théorie des systèmes". Ceci est différent de la gestion typique de la vulnérabilité qui peut être adressée avec des scanners et des correctifs automatisés et de la configuration. Au lieu de cela, il examine le "système" en question (votre application, dans ce cas) dans tout son contexte de personnes, de processus et de technologies, car il se connecte à d'autres systèmes. De ce point de vue de la théorie des systèmes, vous déterminez ensuite lorsque les vulnérabilités et les faiblesses (vulnérabilités proches futures) sont.
Ces vulnérabilités pourraient être à travers le spectre de:
Toutes ces choses représentent une "dette de sécurité" ou une "vulnérabilité de systèmes".
Notez que cette approche n'est pas concernée par Menaces Bien que des vulnérabilités puissent être définies par une compréhension des menaces. Ce n'est pas un processus de modélisation des menaces (voir la dernière section).
Vous vous retrouvez avec une analyse systémique des vulnérabilités actuelles de votre système.
Mais maintenant, vous devez toujours déterminer si vous avez besoin de do quelque chose à ce sujet.
Vous vous retrouvez avec une liste de vulnérabilités de sécurité avec des atgos insuffisantes. C'est votre dette.
Notez que tous les éléments résultant de ce processus sont technologiques (en fait, de nos études de cas initiales, peu d'articles sont technologiques). Vous constaterez peut-être que votre problème SQLI est en réalité une faiblesse des processus d'examen du code résultant d'une culture de développement de la mise au point de fonctionnalités et non de la qualité du code. La dette, dans ce cas, est culturelle.
C'est ici que vous commencez à concevoir les compromis entre 1) réduire les vulnérabilités de différentes manières (personnes ou processus ou technologies) et 2) amélioration des contrôles de réponse de sorte que les objectifs du système puissent être pris en charge =.
Tout comme tout processus d'atténuation des risques, vous devez garder des coûts d'atténuation plus bas que les pertes attendues et tout doit être achevé pour soutenir les objectifs du système.
En prenant une approche de la théorie des systèmes et de la vulnérabilité, nous avons constaté que ce processus favorise des recours rentables et cible la cause fondamentale des problèmes, et non des effets des problèmes. Il identifiera également des zones qui doivent être supprimées afin de réduire les vulnérabilités (processus soustractif).
Les approches axées sur la menace ont tendance à être réactives, coûteuses, technologiques et additives (il y a une nouvelle menace, nous avons besoin de plus de choses!). Cela a pour effet de créer davantage de dettes, de ne pas la réduire.
Le meilleur conseil que j'ai entendu est de comprendre une liste de tous les types d'événements pouvant survenir à la suite de votre dette de sécurité. Ensuite, essayez d'estimer le coût de chacun de ces événements. Ensuite, déterminez la probabilité que ces événements se produisent par an. Votre formule finale devrait ressembler à quelque chose comme
Probability(event type 1) * Cost(event type 1) +
Probability(event type 2) * Cost(event type 2) +
... +
Probability(event type N) * Cost(event type N)
Par exemple, disons que vous déterminez qu'il existe deux problèmes qui pourraient être exploités par votre garantie de sécurité: Injection SQL + CSRF. (J'ai inventé des chiffres pour faciliter les calculs):
Votre coût estimé de la dette de sécurité pour l'année en question serait la suivante:
(5 * 100 000 $) + (10 * $ 25 000) = 750 000 $