Aan de slag met het Threat Modeling Tool

Microsoft Threat Modeling Tool 2018 is in september 2018 uitgebracht als een gratis klik-en-download. Door de wijziging in het leveringsmechanisme kunnen we de nieuwste verbeteringen en bugfixes naar klanten pushen telkens wanneer ze het hulpprogramma openen, waardoor het eenvoudiger te onderhouden en te gebruiken is. In dit artikel wordt u begeleid bij het proces om aan de slag te gaan met de Benadering van bedreigingsmodellering van Microsoft SDL en leert u hoe u het hulpprogramma kunt gebruiken om geweldige bedreigingsmodellen te ontwikkelen als een backbone van uw beveiligingsproces.

Dit artikel bouwt voort op bestaande kennis van de SDL Threat Modeling-benadering. Raadpleeg voor een beknopt overzicht van Threat Modeling Web Applications en een gearchiveerde versie van Uncover Security Flaws Using the STRIDE Approach MSDN article gepubliceerd in 2006.

Om snel samen te vatten, bestaat de aanpak uit het maken van een diagram, het identificeren van bedreigingen, het beperken ervan en het valideren van elke beperking. Hier volgt een diagram waarin dit proces wordt gemarkeerd:

SDL Process

Het threat modeling-proces starten

Wanneer u het Threat Modeling Tool start, ziet u een aantal dingen, zoals te zien is in de afbeelding:

Blank Start Page

Sectie Bedreigingsmodel

Onderdeel DETAILS
Knop Feedback, suggesties en problemen Neemt u het MSDN-forum voor alle dingen SDL. Het biedt u de mogelijkheid om door te lezen wat andere gebruikers doen, samen met tijdelijke oplossingen en aanbevelingen. Als u nog steeds niet kunt vinden wat u zoekt, kunt u een e-mail sturen tmtextsupport@microsoft.com naar ons ondersteuningsteam om u te helpen
Een model maken Hiermee opent u een leeg canvas om uw diagram te tekenen. Zorg ervoor dat u selecteert welke sjabloon u wilt gebruiken voor uw model
Sjabloon voor nieuwe modellen U moet selecteren welke sjabloon u wilt gebruiken voordat u een model maakt. Onze hoofdsjabloon is de Azure Threat Model-sjabloon, die Azure-specifieke stencils, bedreigingen en oplossingen bevat. Voor algemene modellen selecteert u de SDL TM Knowledge Base in de vervolgkeuzelijst. Wilt u uw eigen sjabloon maken of een nieuwe sjabloon indienen voor alle gebruikers? Bekijk onze GitHub-pagina met sjabloonopslagplaats voor meer informatie
Een model openen

Hiermee opent u eerder opgeslagen bedreigingsmodellen. De functie Recent geopende modellen is handig als u uw meest recente bestanden wilt openen. Wanneer u de muisaanwijzer over de selectie beweegt, vindt u twee manieren om modellen te openen:

  • Openen vanaf deze computer - klassieke manier om een bestand te openen met behulp van lokale opslag
  • Openen vanuit OneDrive: teams kunnen mappen in OneDrive gebruiken om al hun bedreigingsmodellen op één locatie op te slaan en te delen om de productiviteit en samenwerking te verbeteren

Introductiehandleiding Hiermee opent u de hoofdpagina van het Microsoft Threat Modeling Tool

Sjabloonsectie

Onderdeel DETAILS
Nieuwe sjabloon maken Hiermee opent u een lege sjabloon waarop u kunt bouwen. Tenzij u uitgebreide kennis hebt over het bouwen van sjablonen, raden we u aan om te bouwen op basis van bestaande sjablonen
Sjabloon openen Hiermee opent u bestaande sjablonen om wijzigingen aan te brengen in

Het Threat Modeling Tool-team werkt voortdurend aan het verbeteren van de functionaliteit en ervaring van hulpprogramma's. Er kunnen in de loop van het jaar enkele kleine wijzigingen plaatsvinden, maar alle belangrijke wijzigingen vereisen herschrijven in de handleiding. Raadpleeg het vaak om ervoor te zorgen dat u de meest recente aankondigingen krijgt.

Een model bouwen

In deze sectie volgen we:

  • Christina (een ontwikkelaar)
  • Ricardo (een programmamanager) en
  • Ashish (een tester)

Ze doorlopen het proces van het ontwikkelen van hun eerste bedreigingsmodel.

Ricardo: Hi Christina, ik werkte aan het diagram van het bedreigingsmodel en wilde ervoor zorgen dat we de details goed hebben. Kun je me helpen het te bekijken? Christina: Absoluut. Laten we dit eens bekijken. Ricardo opent het gereedschap en deelt zijn scherm met Christina.

Basic Threat Model

Christina: Ok, ziet er eenvoudig uit, maar kun je me er doorheen leiden? Ricardo: Zeker! Dit is de uitsplitsing:

  • Onze menselijke gebruiker wordt getekend als een externe entiteit, een vierkant
  • Ze verzenden opdrachten naar onze webserver: de cirkel
  • De webserver raadpleegt een database (twee parallelle lijnen)

Wat Ricardo zojuist liet zien is een DFD, kort voor Gegevensstroom Diagram. Met het hulpprogramma Threat Modeling kunnen gebruikers vertrouwensgrenzen opgeven, aangegeven door de rode stippellijnen, om aan te geven waar verschillende entiteiten in de controle staan. IT-beheerders vereisen bijvoorbeeld een Active Directory-systeem voor verificatiedoeleinden, dus de Active Directory valt buiten hun beheer.

Christina: Ziet er goed uit voor mij. Hoe zit het met de bedreigingen? Ricardo: Laat me je laten zien.

Bedreigingen analyseren

Zodra hij op de analyseweergave klikt vanuit de menuselectie van het pictogram (bestand met vergrootglas), wordt hij naar een lijst met gegenereerde bedreigingen gebracht die het hulpprogramma voor bedreigingsmodellering heeft gevonden op basis van de standaardsjabloon, die gebruikmaakt van de SDL-benadering met de naam STRIDE (Spoofing, Manipulatie, Repudiation, Info Disclosure, Denial of Service en Elevation of Privilege). Het idee is dat software onder een voorspelbare set bedreigingen valt, die kan worden gevonden met behulp van deze 6 categorieën.

Deze aanpak is net als het beveiligen van uw huis door ervoor te zorgen dat elke deur en raam een vergrendelingsmechanisme heeft voordat u een alarmsysteem toevoegt of achter de dief aanjaagt.

Basic Threats

Ricardo begint met het selecteren van het eerste item in de lijst. Dit is wat er gebeurt:

Ten eerste wordt de interactie tussen de twee stencils verbeterd

Screenshot shows two stencils and the curved arrow connecting them in a heavier weight of line.

Ten tweede wordt aanvullende informatie over de bedreiging weergegeven in de bedreigings-venster Eigenschappen

Screenshot shows the Threat Properties window, which contains Title, Category, Description, Interaction, and Priority.

De gegenereerde bedreiging helpt hem potentiële ontwerpfouten te begrijpen. De STRIDE-categorisatie geeft hem een idee van mogelijke aanvalsvectoren, terwijl de aanvullende beschrijving hem precies vertelt wat er mis is, samen met mogelijke manieren om het te verhelpen. Hij kan bewerkbare velden gebruiken om notities te schrijven in de details van de reden of prioriteitsclassificaties wijzigen, afhankelijk van de bugbalk van zijn organisatie.

Azure-sjablonen bevatten aanvullende informatie om gebruikers te helpen niet alleen te begrijpen wat er mis is, maar ook hoe ze dit kunnen oplossen door beschrijvingen, voorbeelden en hyperlinks toe te voegen aan azure-specifieke documentatie.

De beschrijving maakte hem bewust van het belang van het toevoegen van een verificatiemechanisme om te voorkomen dat gebruikers worden vervalst, waardoor de eerste bedreiging te zien is waaraan moet worden gewerkt. Een paar minuten in de discussie met Christina begrepen ze het belang van het implementeren van toegangsbeheer en rollen. Ricardo vulde enkele losse notities in om er zeker van te zijn dat deze zijn geïmplementeerd.

Terwijl Ricardo de bedreigingen onder Openbaarmaking van informatie onderging, realiseerde hij zich dat het toegangsbeheerplan enkele alleen-lezen accounts vereist voor het genereren van controle en rapporten. Hij vroeg zich af of dit een nieuwe bedreiging zou moeten zijn, maar de oplossingen waren hetzelfde, dus hij merkte de bedreiging dienovereenkomstig op. Hij dacht ook over het vrijgeven van informatie en besefte dat de back-uptapes versleuteling nodig hadden, een taak voor het operationele team.

Bedreigingen die niet van toepassing zijn op het ontwerp vanwege bestaande oplossingen of beveiligingsgaranties, kunnen worden gewijzigd in Niet van toepassing in de vervolgkeuzelijst Status. Er zijn drie andere opties: Niet gestart – standaardselectie, Onderzoek nodig – wordt gebruikt om items op te volgen en Verzacht – zodra deze volledig is uitgevoerd.

Rapporten en delen

Zodra Ricardo de lijst met Christina heeft doorlopen en belangrijke opmerkingen, oplossingen/redenen, prioriteits- en statuswijzigingen toevoegt, selecteert hij Rapporten -> Volledig rapport maken -> Rapport opslaan, waarmee een mooi rapport wordt afgedrukt om door te gaan met collega's om ervoor te zorgen dat het juiste beveiligingswerk wordt geïmplementeerd.

Screenshot shows a representative Threat Modeling Report.

Als Ricardo in plaats daarvan het bestand wil delen, kan hij dit eenvoudig doen door het OneDrive-account van zijn organisatie op te slaan. Zodra hij dat doet, kan hij de koppeling naar het document kopiëren en met zijn collega's delen.

Bedreigingsmodelleringsvergaderingen

Toen Ricardo zijn bedreigingsmodel naar zijn collega stuurde met behulp van OneDrive, Ashish, de tester, werd ondergehelmd. Het leek alsof Ricardo en Christina behoorlijk wat belangrijke hoekgevallen misten, die gemakkelijk konden worden aangetast. Zijn scepsis is een aanvulling op bedreigingsmodellen.

In dit scenario, nadat Ashish het bedreigingsmodel overnam, vroeg hij om twee bedreigingsmodelleringsvergaderingen: één vergadering om te synchroniseren over het proces en door de diagrammen te lopen en vervolgens een tweede vergadering voor bedreigingsbeoordeling en af te melden.

In de eerste vergadering bracht Ashish 10 minuten door iedereen door het SDL Threat Modeling-proces. Vervolgens trok hij het diagram van het bedreigingsmodel op en begon het in detail uit te leggen. Binnen vijf minuten is een belangrijk ontbrekend onderdeel geïdentificeerd.

Een paar minuten later kwamen Ashish en Ricardo in een uitgebreide discussie over hoe de webserver werd gebouwd. Het was niet de ideale manier om door te gaan, maar uiteindelijk was iedereen het erover eens dat het ontdekken van de discrepantie hen in de toekomst tijd zou besparen.

In de tweede vergadering heeft het team de bedreigingen doorlopen, enkele manieren besproken om deze aan te pakken en het bedreigingsmodel af te tekenen. Ze hebben het document ingecheckt in broncodebeheer en verder ontwikkeld.

Denk na over assets

Sommige lezers die bedreigingsmodellen hebben, merken mogelijk dat we helemaal niet over assets hebben gesproken. We hebben ontdekt dat veel softwaretechnici hun software beter begrijpen dan dat ze het concept van assets begrijpen en in welke assets een aanvaller mogelijk geïnteresseerd is.

Als u een huis gaat bedreigen, kunt u beginnen met nadenken over uw gezin, onvervangbare foto's of waardevolle kunstwerken. Misschien kunt u eerst nadenken over wie er inbreken en het huidige beveiligingssysteem. Of u kunt beginnen met het overwegen van de fysieke kenmerken, zoals het zwembad of de veranda. Dit is vergelijkbaar met het denken over assets, aanvallers of softwareontwerp. Elk van deze drie benaderingen werkt.

De benadering van threat modeling die we hier hebben gepresenteerd, is aanzienlijk eenvoudiger dan wat Microsoft in het verleden heeft gedaan. We hebben vastgesteld dat de benadering voor softwareontwerp goed werkt voor veel teams. We hopen dat u uwe bevat.

Volgende stappen

Stuur uw vragen, opmerkingen en zorgen naar tmtextsupport@microsoft.com. Download het Threat Modeling Tool om aan de slag te gaan.