Dans mon entreprise, nous « travaillons à ladoption du cycle de vie du développement sécurisé Microsoft, et une partie du processus MSDL consiste à établir des barres de bogues de sécurité et de confidentialité dès le début dun projet. Jai entendu le concept dune barre de bogues avant MSDL, et je comprends que cest essentiellement une définition du niveau / quantité de bogues que vous êtes prêt à accepter dans un produit final, mais je Je nai jamais compris comment créer une barre de bogues pour un projet. Existe-t-il des processus bien documentés pour établir des barres de bogues dont je puisse tirer des leçons?
Jai essayé de faire quelques recherches sur Google pour des exemples ou des scénarios réels de projets définir des barres de bogues au début dun projet, mais je ne peux pas sembler obtenir de bons résultats ou des conseils sur le processus détablissement dune barre de bogues. Il existe des exemples MSDL de ce qui semble être des barres de bogues terminées, mais je suis intéressé à en savoir plus sur le processus de définition de quelque chose comme ça. Par exemple, pour ceux qui ont déjà fait quelque chose comme ça avant, avez-vous défini les barres de bogues dune manière très spécifique (par exemple en disant " Il ny aura pas daccès non autorisé au système de fichiers: lecture à partir du système de fichiers "), ou avez-vous adopté une approche différée pour dire que lorsque nous trouverons des bogues, nous les noterons sur une échelle de 1 à 5 (5 étant le plus grave), établissez maintenant quaucun bogue au-dessus de 3 ne sera expédié, et laissez votre classement des bogues jusquà ce quils soient découverts? Je pense quessayer de faire le premier est une activité insensée et impossible, mais le second est enclin à un biais en faveur de la clémence lorsquun projet est en train de se terminer.
Encore une fois, pour conclure tout cela en une question succincte, quelquun peut-il me fournir une approche bien documentée pour définir / créer des barres de bogues?
Réponse
Let » s commencez par une définition de base de la barre de bogues:
Des barrières de qualité et des barres de bogues sont utilisées pour établir des niveaux minimum acceptables de sécurité et de qualité de confidentialité. Une équipe de projet doit négocier des portes de qualité (par exemple, tous les avertissements du compilateur doivent être triés et corrigés avant lenregistrement du code) pour chaque phase de développement. Une barre de bogues est une porte de qualité utilisée pour définir les seuils de gravité des vulnérabilités de sécurité. Par exemple, aucune vulnérabilité connue dans lapplication avec une note «critique» ou «importante» au moment de la publication. La barre de bogues, une fois définie, ne doit jamais être assouplie.
Lorsquun utilisateur de logiciel dépose un rapport de bogue, il doit attribuer une catégorie STRIDE au bogue, que le bogue soit un bogue client ou serveur, et quelle portée le bogue affecte. Les utilisateurs peuvent être des développeurs de logiciels et du personnel dassurance qualité. STRIDE signifie:
- Spoofing
- Falsification
- Répudiation
- Divulgation dinformations
- Déni de service (DoS)
- Elevation of Privilege (EoP)
Les valeurs de « portée » pertinentes sont
- Client – Interface utilisateur de confiance usurpée dans scénario commun / par défaut
- Client – Interface utilisateur de confiance usurpée dans un autre scénario spécifique
- Client – Interface utilisateur usurpée dans le cadre dun scénario dattaque plus large
- Serveur – Utilisateur spécifique usurpé ou un ordinateur via un protocole sécurisé
- Serveur – Utilisateur aléatoire ou ordinateur usurpé via un protocole sécurisé
- Client – Données de confiance altérées qui persistent après le redémarrage
- Client – Données altérées qui ne persiste pas après le redémarrage
De là, une matrice est créée qui attribue un niveau de gravité à chaque combinaison. Les valeurs possibles pour le niveau de gravité sont:
- Critique
- Important
- Modéré
- Faible
- Aucune
Exemple dentrée dans la matrice (il peut y en avoir plusieurs):
STRIDE Catégorie: Spoofing
Portée: Client – Interface utilisateur de confiance usurpée dans le scénario commun / par défautDescription: Capacité de lattaquant à présenter une interface utilisateur différente mais visuellement identique à linterface utilisateur sur laquelle les utilisateurs doivent sappuyer pour prendre des décisions dapprobation valides dans un scénario par défaut / courant Une décision de confiance est définie comme chaque fois que lutilisateur entreprend une action en pensant que certaines informations sont présentées par une entité particulière – soit le système, soit une source locale ou distante spécifique.
Niveau de gravité: Important
Microsoft affirme avoir corrigé tous les bogues dont limportance est supérieure à « faible » avant le déploiement.
Lectures complémentaires
Ajouter une barre de bogues de sécurité à Microsoft Team Foundation Server 2010
Nouveau SDLC: cycle de vie du développement de la sécurité