Cet article a fait l'objet d'une traduction automatique.

Brèves de sécurité

Mise en route de la threat SDL modélisation outil

Adam Shostack

Contenu

Démarrer le threat modélisation de processus
Analyse des menaces
Écran de l'environnement
Conserver le suivi avec des rapports
Menu Actions
Réunions de modélisation des menaces
Vous envisagez de capitaux

fig01.gif

Figure 1 le processus de modélisation threat

Dans novembre 2008, Microsoft a annoncé la disponibilité générale de laOutil de modélisation menace Development Lifecycle (SDL) la sécuritéen téléchargement gratuit sur le site Web MSDN. Cette colonne suit une équipe à travers le processus de mise en route de la menace SDL approche de modélisation et vous explique comment utiliser le nouvel outil pour développer des modèles de menace très comme une colonne vertébrale de votre processus de sécurité.

Cette colonne n'est pas une introduction de modélisation des menaces SDL. Pour cela, voir l'article que J'AI co-écrit dans le numéro de novembre 2006 de MSDN Magazine sur l'utilisation de l'approche STRIDE »Modélisation des menaces : découvrir les défauts de conception de sécurité à l'aide de la méthode STRIDE." La figure 1 Fournit une brève vue d'ensemble du processus.

Démarrer le threat modélisation de processus

Lorsque vous lancez la menace SDL outil de modélisation, vous verrez que le coin inférieur gauche ressemble très un peu à Microsoft Office Outlook avec quatre écrans : diagramme, analyser, environnement et les états (voir figure 2 pour plus d'informations). Notez que ces écrans sont légèrement différentes de la structure illustrée figure 1 car il est judicieux de prendre en compte menaces et atténuations ensemble car ils sont étroitement liés.

Dans cette section, je suivre deb un développeur, Paul (responsable de programme) et un testeur tour à travers le processus de développement leur premier modèle de menace et je vais également expliquer chaque écran de l'outil.

fig02.gif

« Hi deb, j'ai travaillé sur ce diagramme de modèle de menace et souhaite revue avec vous pour vous assurer que nous avons obtenu les détails droite. »

« Oui chose, Paul ! Poser sur. »

Paul apporte d'une impression-sortie d'un diagramme qu'il est déjà fait l'outil de modèle de menace « diagramme uniquement » rapport, illustré La figure 3 .

« Paul, je n'avez pas vu ces diagrammes avant. Il semble relativement simple, mais pouvez vous parcourez me signifient les différentes formes? »

« La sorte ce fonctionnement est Carl, notre personnel client normales, est dessinée comme une entité externe, un rectangle. Il est l'envoi des commandes à notre serveur Web, le cercle est n'importe quel code en cours d'exécution et la flèche située en nous donne le sens de communication. Le serveur Web est conseil une base de données, c'est-à-dire, tout comme avec n'importe où nous stocker des données, deux lignes parallèles. Le système est appelé un diagramme de flux de données (DFD-). Il n'y a unbon article Wikipedia sur DFDs. Le bit uniquement qui n'est pas couvert il y a ces lignes approbation bordure en pointillé entre où différentes personnes sont dans le contrôle. Par exemple, vous savez que l'informatique nécessitent que nous utiliserons leur système Active Directory pour les informations d'ouverture de session, et donc l'annuaire Active Directory est affiché comme en dehors de notre contrôle. »

fig03.gif

La figure 3 DFD-tâches ’s Paul

Lorsque l'outil démarre, l'écran schéma s'affiche. Cela est où Paul utilisé les outils de Visio et le gabarit fourni pour tracer son DFD (voir figure 4 ). Même si c'était sa première fois, il était à l'aise car le validateur de gauche donné lui commentaires, en fonction de son expérience à l'aide dans le cadre de SDL de modélisation des menaces. Qu'il trouve lui-même dessin complexité plus, il ajouté des détails supplémentaires en cliquant avec le bouton droit sur le dossier de contexte dans la partie supérieure droite et a réussi à créer un diagramme complexe et superposé.

fig04.gif

La figure 4, l'écran de diagrammes

Analyse des menaces

Paul lors un peu hésitent il ouvert l'écran Analyse (voir figure 5 ). Il y a eu une longue liste des menaces il, d'où elles proviennent ? L'outil avait construit, l'approche SDL appelé « STRIDE par élément ». L'idée est que logiciel propose généralement sous un ensemble prévisible de menaces (celles illustré figure 5 ). Des experts en sécurité comme à l'achat après le pirate tout d'abord parce que l'achat lui-même peut être laisser s'amuser sur Internet. Je pense qu'il est judicieux de commencer la sécurisation de votre maison en veillant à que chaque porte et la fenêtre comporte un type de verrou et uniquement puis demandez à un système d'alarme. Ainsi, démarrer avec STRIDE par élément en cliquant sur une des lignes de l'écran Analyse.

fig05.gif

La figure 5 l'écran Analyse

Paul commencé en sélectionnant la data­base dans la liste des éléments. Il lire en haut de l'écran que « base de données » constitue une banque de données, donc soumis aux falsifications, divulgation d'informations et de refus de service menaces. Comme il lire vers le bas, les questions aidé lui penser comment utilisateurs peuvent trafiquer les données, et il réalisés que personne n'a spécifié qui a pu se connecter à la base de données. Un diagramme de tableau blanc et certaines règles simples révélé la menace première ! Un pour la modélisation des menaces de score.

Quelques minutes de discussion conduit à une réalisation ils nécessaires à penser sur le contrôle d'accès et les rôles. Paul renseigné des notes rapides dans deux menaces. La première note dit « aucun accès contrôle plan. » Il a également archivé un élément de travail dans leur base de données Team Foundation Server (TFS). La seconde note dit « plan de contrôle d'accès nécessite une liste de rôles ». Paul s'est passé dans TFS et créé un deuxième bogue qui était dépendant de la première.

Que Paul s'est passé dans une divulgation d'informations, il a réalisé que leur plan de contrôle d'accès requis certains comptes en lecture seule pour la génération d'audit et d'état. Il a demandé si cela a une nouvelle menace puis décidé qu'il n'était pas car l'atténuation est identique, et il a modifié le bogue dans le serveur TFS. Il a décidé de certifier la menace qu'atténuées ailleurs, puis écrit « traités dans TFS bogue #235 ». Il ne très sûr que c'était OK, mais c'est ce que la fonctionnalité de certification est pour (voir figure 6 ).

fig06.gif

La figure 6 certifiant que menaces Don’t appliquer

Il a également pensé divulgation d'informations un peu plus et réalisés les bandes de sauvegarde allions besoin de chiffrement, mais c'est un travail d'opérations. (J'aborderai comment il suivi cette dans juste une minute, après la couverture une rapportent fonctionnalité : la case à cocher « auto­-générer des menaces pour cet élément » en haut.)

La fonctionnalité de génération automatique est conçue pour les grandes équipes Qu'avez de nombreux modèles de menace et pour lesquels un moyen de garantir que les testeurs et responsables de programme sont tous parler Nouveautés dans les modèles de menace. Par conséquent, pour cette situation, Paul peut-être indiquer que Phil est responsable de plusieurs éléments qu'il souhaite afficher de contexte et comment ils interagissent avec ses fonctionnalités. La case auto­-generate est activée par défaut, mais Paul peut désactiver il et précisez qu'il pense qu'il s'agit fonctionnalité du Phil.

Écran de l'environnement

Soucieux sur opérations de chiffrement des bandes de sauvegarde, Paul ouvrir l'écran d'environnement et vu une section de notes de sécurité externe (voir figure 7 ). Il a effectué une note qui opérations devait avoir à gérer la sauvegarde sur bande. Il faudrait Assurez-vous que les opérations avait une copie de l'outil.

fig07.gif

La figure 7 Notes de sécurité externes

Lorsque qu'il était, il a demandé que la section d'en-tête document était et libérée voir qu'il y en avait plus guidant le texte des là, expliquant que c'était où il a identifié qui appartenant au modèle de menace, il était et ainsi de suite. Il il renseigné et souhaité qu'il peut inclure le projet Contoso numéro de suivi.

Déplacement systématiquement sur les éléments de l'arborescence, Paul noter indiquant des interdépendances sur SQL Server et la bibliothèque de widget Fabrikam Foxy Web Widgets 2.3. Paul Ajout d'une remarque faire le tour examiner, assurez-vous que leur mise à jour, qu'ils ont été Obtention notifications de sécurité à partir de Fabrikam.

Conserver le suivi avec des rapports

Il existe cinq états de modélisation de menace disponibles :

Rapport d'analyse Cet état est destiné un conseiller de sécurité ou un consultant pour consulter un modèle de menace, même si tout le monde permet il pour voir les problèmes de validation de schéma sont ouverts, les menaces vides n'ont pas été remplis, les menaces n'ont aucun atténuations, les menaces ont été certifié ou en ne générant pas menaces.

Rapport de modèle de menace Ce rapport contient les informations entrées dans le modèle de menace, présenté dans un affichage page simple.

diagrammes uniquement Cet état est conçu pour facilitent l'impression diagrammes. Certaines personnes apprécie travaillant sur papier, mais ne souhaitez pas imprimer les rapports ensemble lorsque tout leur choix est le diagramme.

Rapport de bogue Cet état affiche les bogues qui ont été classés de ce modèle de menace et leur statut

fuzzing rapport L'état fuzzing utilise les informations architecturales fournies dans l'étape de création de diagrammes pour proposer une liste hiérarchisée de cibles fuzzing. Fuzzing d'est une technique test qui implique la génération aléatoire d'entrée pour un programme. Il est surprenant qualité fuzzing peut être à rendre choses incident, et un grand nombre de ces incidents sont exploitable. (ConsultezCréer un fournisseur personnalisé test interface pour Team SystemouFuzz test de Microsoft et le processus de triagede plus en flou test.)

Menu Actions

Il y a quelques fonctionnalités utiles tucked rangement dans le menu Actions : affichage miniature, paramètres de suivi des bogues et équipe responsable mode. Miniature mode offre un accès facile aux diagrammes lorsque vous êtes sur autres écrans. Cela est utile lorsque vous avez un schéma complexe et vous voudriez qu'il soit à l'écran pendant l'analyse de votre modèle. Il s'adapte automatiquement la miniature pour occuper la plupart de la fenêtre, conserver le schéma entier dans l'affichage que vous la redimensionnez.

Si vous essayez d'un bogue de fichier sans entrer aucune information de bogue, le bogue suivi boîte de dialogue est apparus vous invite à entrer, mais vous pouvez placer qu'il les à tout moment via le menu actions. Il existe un fichier XML très simple que vous pouvez utiliser pour définir les champs doit être renseigné ou vous pouvez simplement modifier les champs (en supposant que la case « modèle utiliser » n'est pas activée). Bogues obtenir automatiquement un titre de « gestionnaire de transactions: [menace] affecte [élément] » et contenu est pré-remplis à partir des informations menace et l'atténuation. Les champs peuvent être supprimés en les sélectionnant et en appuyant sur la touche SUPPR.

Équipe responsable mode visualiser une nouvelle section sur l'écran d'environnement describe, appelé Paramètres du modèle. Cela permet un leader équipe modifier les questions généraux et définir un emplacement par défaut pour enregistrer les modèles de menace. Les étiquettes d'équipe pouvez également modifier les champs dans informations d'en-tête document, ajouter et supprimer des éléments à adapter l'environnement.

Comme il aviez voulu effectuer plus haut, Paul ajouté le projet de Contoso suivi numéro comme un nouveau champ. Tout modèle de menace enregistré dans l'équipe responsable mode peut fonctionner comme un modèle. (En fait, tout modèle de menace tout peut fonctionner comme un modèle pour le travail supplémentaire.)

Modifier les questions généraux implique la modification d'un fichier XML qui commence à la menace SDL dossier \Data l'outil de modélisation. Le format est très facile à suivre.

Réunions de modélisation des menaces

Lorsque Paul envoyé son modèle de menace autour, tour, le testeur était assez underwhelmed. Toutes sortes de choses expulsé hors à lui, et il a demandé Paul: « vous programme responsables supposent toujours tout va utiliser, hein? »

Il peut surprendre vous permet de savoir que les testeurs et leur scepticisme peuvent fonctionner comme un complément idéal pour les modèles de menace. Par conséquent, de nombreuses équipes demandez les testeurs conduire la menace modélisation des processus. Dans ce scénario, après que tour nécessaire sur le modèle de menace, il appeler pour deux réunions de modélisation de menace : une réunion pour synchroniser le processus et passez en revue les diagrammes et puis une deuxième réunion pour menace examiner et hors connexion.

Dans la première réunion, tour passé à 10 minutes parcours tout le monde à la menace SDL modélisation des processus. Il extraites du diagramme de modèle de menace et démarré expliquer en détail. Dans les cinq minutes, un composant manquant important a été identifié.

Quelques minutes ultérieure, tour et Paul ai dans une discussion étendue de comment le serveur Web a été réellement créé. Il n'a pas la manière idéale pour une réunion continuer, mais tout le monde finalement décidé que découvrir la différence très tôt devait enregistrez-les beaucoup de temps plus tard.

Dans la deuxième réunion, l'équipe présenté les menaces, présentées quelques méthodes pour résoudre les et terminées dans le modèle de menace. Ils archivé le document dans contrôle de source et continue avec le développement.

Vous envisagez de capitaux

Certains lecteurs ayant menace modélisé peuvent remarquer que nous n'ont pas parlé actifs du tout. Nous avons découvert qu'ingénieurs logiciels de comprennent leur logiciel mieux qu'ils comprennent le concept d'immobilisations et les immobilisations un agresseur peut être intéressé par.

Si vous prévoyez au modèle de menace une maison, vous pouvez commencer par penser votre famille, photos irreplaceable ou illustrations utile. Vous pouvez peut-être commencer par réflexion sur qui peut rompre d'et le système de sécurité actuel. Ou vous pouvez démarrer en considérant les caractéristiques physiques, tels que le pool ou le porch avant. Ces sont analogues à réfléchir sur les actifs, pirates ou conception de logiciels. Une des ces trois approches fonctionne.

L'approche de menaces modélisation que nous avons présenté ici est beaucoup plus simple que ce que Microsoft a fait dans le passé. L'équipe Microsoft SDL a détecté que l'approche de conception logiciel fonctionne vraiment bien pour beaucoup d'équipes. Nous espérons qu'inclura vôtre.

Veuillez envoyer vos questions et commentaires àbriefs@microsoft.com.

ADAM Shostack est un responsable de programme dans l'équipe de sécurité Development Lifecycle (SDL) Microsoft. Il est responsable de la menace composant de SDL de modélisation.