Er zijn verschillende methoden om bedreigingen te modelleren. Het beste model voor de behoeften van jouw organisatie hangt af van de soorten bedreigingen die je probeert te modelleren en wat je doelen zijn. Niet al deze methoden zijn compleet. Sommige zijn abstract, andere richten zich op mensen, risico’s of privacykwesties.
Deze methoden kunnen echter worden gecombineerd om een robuuster en uitgebreider beeld te krijgen van de potentiële bedreigingen voor uw IT-middelen. In dit artikel geven we een overzicht van vijf van deze methoden.
- Wat is threat modeling?
- Waarom is threat modeling belangrijk?
- Wanneer zou je moeten starten met modeling?
- What resources zijn er nodig?
- Bestaande threat modeling methoden
- Welke threat modeling methode moet je voor jouw organisatie kiezen?
- Threat modeling tools
- Database van bedreigingen en aanvalsscenarios
- Algemene threat modeling approach die gebruikt wordt
- Hoe kan threat modeling impact hebben op jouw GRC aanpak?
Wat is threat modeling?
was aanvankelijk een technische activiteit, beperkt tot grootschalige ontwikkelingen, in een agile context.
In de afgelopen tien jaar heeft deze activiteit zich zo ver ontwikkeld dat het nu deel uitmaakt van de controles die vereist zijn om te voldoen aan de 2022 versie van de ISO 27002 cyberbeveiligingsnorm.
Deze relatief eenvoudige activiteit plaatst beveiliging aan het begin van projecten, waar veranderingen de minste middelen vergen. Dit is de eerste steen in het fundament van security by design.
Waarom is threat modeling belangrijk?
Het doel is om door middel van een eenvoudige analyse de structurele punten te ontdekken waar de informatiebeveiliging in gevaar is, in architecturen of in systemen, zoals in applicaties die worden ontwikkeld.
Voor nieuwe implementaties zorgt deze voorlopige analyse ervoor dat er geen obstakels zijn bij de implementatie van beveiligingsmaatregelen, zoals vertrouwen op onveilige systemen, zwakke authenticatie of protocollen.
Van oudsher is dreigingsmodellering vooral gericht op de ontwikkeling van toepassingen. Het is echter ook mogelijk om de analyse uit te breiden naar beschikbaarheidskwesties, zoals geschaalde implementaties (bijv. redundantie), authenticatie, upgrades en grensoverschrijdende gegevensoverdracht. Een aanpak voor complete systemen kan eenvoudig worden gemodelleerd op applicatiearchitecturen.
Wanneer zou je moeten starten met threat modeling?
Volgens best practices moeten de benodigde beveiligingscriteria vooraf worden gedefinieerd om het ontwerp of de architectuur te valideren.
Deze analyse wordt gebruikt om de naleving van de generieke criteria te controleren en om de technische keuzes die tijdens deze ontwerp-/architectuurfase zijn gemaakt te herzien.
Deze beveiligingsoperatie kan dus tijdens alle fasen van het project worden uitgevoerd. Het is echter beter om dit te doen voordat het ontwerp of de architectuur wordt gevalideerd. Op deze manier is het minder duur om noodzakelijke wijzigingen door te voeren. Het is ook mogelijk om tussentijdse of gedeeltelijke modellering te doen om beveiligingsproblemen zo vroeg mogelijk te identificeren en opnieuw om de ontwerpkosten te verlagen.
Welke resources zijn er nodig?
Er is weinig personeel nodig, maar dat kan moeilijk te vinden zijn, afhankelijk van de bedrijfsomgeving.
Allereerst is het nodig om ten minste één persoon te hebben die de te analyseren structuur (de software, infrastructuur, enz.) en de onderliggende implementatie begrijpt.
Afhankelijk van de methode en de gebruikte tool, is het noodzakelijk/onmisbaar om iemand te hebben die bekend is met cyberbeveiligingsaanvallen en in staat is om deze, in een defensieve context, te vertalen naar beschermingsmaatregelen.
De persoon die verantwoordelijk is voor de geanalyseerde component (applicatie, infrastructuur, etc.) en meestal ook de persoon die verantwoordelijk is voor de evolutie van deze component (bijv. de SCRUM-master) moeten de bevindingen integreren in de lopende evoluties.
De risicomanager moet de vergaderingen bijwonen om de technische risico’s te identificeren zodat ze beter kunnen worden beoordeeld.
Voor bredere analyses is het belangrijk om een juridisch vertegenwoordiger te hebben die de wettelijke vereisten in de betrokken landen begrijpt.
In de context van ISO 27001-certificeringen moet de ISMS-manager op de hoogte zijn van en toezicht houden op de activiteit (bijv. planning, rapportage, verzamelen van deliverables, bewaken van wijzigingen) om ervoor te zorgen dat het proces voldoet aan de norm.
Enkele bestaande threat modeling methoden
Er zijn verschillende methoden mogelijk om risico’s te definiëren, die allemaal hun voor- en nadelen hebben. Welke methode wordt gebruikt, hangt af van de doelen, de volwassenheid van het bedrijf en de praktijken die al zijn geïmplementeerd.
Hieronder volgt een korte beschrijving en samenvatting van de meest relevante methoden.
Threat modeling method no. 1: STRIDE
In het verleden was de STRIDE-methode de referentiemethode:
- Spoofing,
- Tampering,
- Repudiation,
- Information disclosure,
- Denial of service,
- Elevation of privilege
De mogelijkheden in elk van de categorieën die het acroniem vormen moeten worden geïdentificeerd voor elk van deze componenten. Om een volledige lijst van aanvalsscenario’s te maken, kun je het beste een kennisbank gebruiken (zie de paragraaf hieronder).
Deze punten vertegenwoordigen de aanvalstechnieken die gebruikt worden om informatiebeveiliging te doorbreken.
Deze methode is algemeen bekend en wordt nog steeds toegepast omdat ze gemakkelijk te assimileren is. Microsoft ondersteunt deze methode echter niet meer en geeft nu de voorkeur aan de DREAD methode.
Threat modeling method no. 2: DREAD
Zoals eerder, de concepten die deel uitmaken van dit nieuwe acroniem:
- Damage potential,
- Reproducibility,
- Exploitability,
- Affected users,
- Discoverability.
Hoewel het voor iedereen makkelijker te begrijpen is, is de score van elk van deze categorieën meer onderhevig aan interpretatie. Het is ook noodzakelijk om rekening te houden met de laatste D (Discoverability), die veiligheid door ondoorzichtigheid promoot. Deze praktijk wordt echter sterk afgeraden, omdat het een vals gevoel van veiligheid creëert.
Deze methode is niet eenvoudig te implementeren vanwege de volgende vooroordelen:
- D: Vertegenwoordigt een impact. Geen vooringenomenheid.
- R: Deze waarde blijft vaak hetzelfde in deze beginfase. Hiermee kunnen de verschillende bedreigingen niet worden gekwalificeerd.
- E: Bedieningsgemak. Geen vooroordeel.
- A: Het is moeilijk om het belang van elke gebruikersgroep ten opzichte van elkaar te bepalen. Beveiliging moet ook als een geheel worden beschouwd, omdat een kwetsbaarheid slechts af en toe invloed heeft op een bepaalde populatie (met de mogelijke uitzondering van systeembeheerders).
- D: Bevordert veiligheid door onduidelijkheid, wat een “valse vriend” is.
Deze analyse richt zich daarom voornamelijk op effecten en operabiliteit, wat waarden zijn die gewoonlijk worden gebruikt voor risico’s, maar de methode biedt weinig hulp bij het identificeren van bedreigingen en kwetsbaarheden.
Threat modeling method no. 3: Quantitative threat modeling
De aanpak bestaat uit het identificeren van de ernst van kwetsbaarheden op basis van de CVSS-scores. Bedreigingen worden geïdentificeerd door aanvalsbomen te gebruiken waarvan de wortel elk van de categorieën in de STRIDE-methode is (zoals hierboven vermeld).
Het opzetten van aanvalsbomen kan echter veel tijd kosten en CVSS-scores houden geen rekening met de bedrijfsomgeving (en eventuele maatregelen die al zijn genomen om de impact te beperken).
Deze zeer technische methode moet worden overwogen voor kleine, zeer kritieke ontwikkelingen/architectuur waar kwetsbaarheden een grote impact kunnen hebben, ongeacht de omgeving.
Threat modeling method no. 4: LINDDUN
Opnieuw wordt een acroniem gebruikt voor:
- Linkability,
- Identifiability,
- Non-repudiation,
- Detectability,
- Disclosure of information,
- Unawareness,
- Noncompliance
Deze aanpak kan nuttig zijn voor het identificeren van discrepanties met de GDPR-verordening van de EU 2016/679 en naleving van de sleutelconcepten van “privacy by design” en “privacy by default” die in deze verordening zijn gedefinieerd.
Het is echter moeilijk om de impact van een kwetsbaarheid te beoordelen aan de hand van deze criteria. Deze methode is meer bedoeld voor compatibiliteitsanalyse met betrekking tot privacyregelgeving dan voor het zoeken naar technische kwetsbaarheden.
Threat modeling method no. 5: PASTA
Deze methode gebruikt een relatief logisch proces om bedrijfsdoelstellingen en technische risico’s te combineren.
Deze methode wordt echter niet veel gebruikt en de implementatie ervan neemt veel tijd in beslag. Het resultaat is niettemin veelomvattend en integreert met andere bedrijfsactiviteiten (bijv. IT-operaties en risicobeoordeling).
Source: Shevchenko, N., 2018: Threat Modeling: 12 Available Methods. Carnegie Mellon University’s Software Engineering Institute Blog
Welke threat modeling methode past bij jouw organisatie?
De gebruikte methode hangt af van zowel de ontdekkingsdoelen als de integratie van de activiteit binnen het project (zoals integratie met risicoanalyse met de PASTA-methode of nalevingsbehoeften met LINDDUN).
Hoewel verouderd, is de STRIDE-methode eenvoudig te begrijpen en levert relevante resultaten op. In gevallen waarin de activiteit dreigingsmodellering nieuw is, levert de STRIDE-methode concrete resultaten op die de duurzaamheid van deze aanpak in projectprocessen waarborgen, hoewel in de toekomst mogelijk andere methoden worden gebruikt.
In contexten waar de activiteit al gevestigd is, kan een meer geïntegreerde aanpak zoals PASTA worden aanbevolen, bijvoorbeeld in synergie met de afdeling risicobeheer.
Threat modeling tools
Hoewel er voor deze analyses geen hulpmiddelen nodig zijn en een eenvoudig vel papier volstaat, zijn er hulpmiddelen die gebruikt kunnen worden om te helpen met sommige van de hierboven voorgestelde methoden. Deze tools bieden meestal een duidelijke visuele weergave en een lijst van kwetsbaarheden en bijbehorende bedreigingen die de meeste mensen gemakkelijk kunnen lezen.
Automated tools
Er zijn veel tools beschikbaar. We kunnen twee tools identificeren die zouden moeten werken met open-source of gratis tools:
- IsiusRisk platform
- MTMT (“Microsoft Threat Modeling Tool”). Bedreigingen kunnen worden toegevoegd aan bestaande bedreigingen op basis van kennisdatabanken.
Manuele tools
Handmatige benaderingen daarentegen vereisen naleving van een kennisbank en/of mensen met ervaring in bedreigingsmodellering, wat soms het gebruik van een externe dienst rechtvaardigt om over de mensen met de nodige ervaring te beschikken.
De open-source tools zijn:
- OWASP Threat Dragon
- Manual diagramming (in workshop) / whiteboard approach, indien nodig, samen met tools zoals Microsoft VISIO
Database van bedreigingen en aanvalsscenarios
Mogelijke aanvallen op elk systeem kunnen worden geïdentificeerd met behulp van de MITRE ATT&CK kennisdatabank (https://attack.mitre.org/matrices/enterprise/).
Er zijn ook CAPEC taxonomieën (https://capec.mitre.org/data/index.html) en CWE (https://cwe.mitre.org/data/index.html) die meer technisch en productgericht zijn. Dit kan nuttig zijn voor gedetailleerde dreigingsmodellering op een of meer belangrijke systemen die niet vaak veranderen. Voor de meeste systemen kan dit iets te arbeidsintensief en niet erg duurzaam zijn.
Toch is het nodig om het gewenste detailniveau te kiezen om de tijd die nodig is om de analyse te voltooien te beperken. Deze afweging hangt natuurlijk af van de beschikbare middelen en het kritieke karakter van het onderdeel dat geanalyseerd wordt (afhankelijk van of het de algemene infrastructuur van het bedrijf is of een hulpmiddel voor een dienst, een hulpmiddel dat niet toegankelijk is via het internet).
Mogelijke inputs
De volgende documenten kunnen nuttig zijn voor de analyse:
- UML diagrammen
- Deployment diagrammen
- Workshops met de technische teams (vooral voor een actie achteraf)
- Data flow diagrammen (DFD)
- Attack trees
- Geleerde lessen uit het verleden
Mogelijke deliverables
Deze activiteit levert (afhankelijk van de gebruikte methode en de doelen van de activiteit):
- Een lijst van bedreigingen
- Deployment diagrammen (bruikbaar voor certificaties)
- Extra data flow diagrammen
- Bedreigingsanalyse diagrammen
- Een bedreigingstabel (te integreren in SCRUMs en andere projectmaatregelen)
- Gedetailleerde aanvullingen op de risicoanalyse
- Een analyse van GDPR-compliance
Algemeen gebruikte threat modeling aanpak
Bedreigingen worden geïdentificeerd volgens de methodologie die wordt gebruikt in de verschillende paradigma’s (kwetsbaarheid/aanvalconcepten/privacy). Alleen de PASTA-methode is uitgebreider, en die is in veel contexten misschien te uitgebreid.
Afhankelijk van de gebruikte methode heeft dit vooral gevolgen voor het detecteren van bedreigingen.
Voorbeelden van dataflow diagrammen
Deze diagrammen identificeren de grenzen en de stromen (die mogelijk technisch zijn, d.w.z. met protocollen, encryptie etc., zoals in het derde diagram).
Deze diagrammen stellen ontwikkelaars en technische bedrijfsanalisten vaak in staat om een meer synthetisch beeld van hun product te krijgen. Deze zichtbaarheid is een van de grote voordelen van deze methode.
Source: OWASP Application Threat Modeling
Source: OWASP Application Threat Modeling
Voorbeeld van een technisch uitroldiagram
Een gemengd diagram starten:
Source: Threat Modeling – Secodis GmbH
Source: OWASP Application Threat Modeling
Net als in het vorige diagram kunnen stromen technisch worden gedefinieerd, d.w.z. met protocollen, encryptie, enz.
Landgrenzen kunnen ook worden opgenomen (om wettelijke beperkingen te identificeren) en wettelijke beperkingen (bijvoorbeeld PCI-DSS of FINMA in het laatste diagram, als het land Zwitserland is).
Hoe kan threat modeling impact hebben op GRC aanpak?
Deze activiteit kan worden geïntegreerd in een GRC-aanpak om de implementatie van beveiligingsmaatregelen te ondersteunen, vooral voor DevSecOps-teams, en ook om de risicoanalyse te versterken voor de applicaties en infrastructuren waarop ze worden ingezet.
Dit kan ook relevant zijn in het geval van organisatorische beveiligingsverbeteringen, zoals het definiëren van stroomdiagrammen voor persoonlijke gegevens. Deze processen worden zelden bijgewerkt en kunnen met deze aanpak worden verbeterd.
PASTA kan met name worden gebruikt om technische risico’s te identificeren, maar deze aanpak vereist een zekere structurele volwassenheid en een aanzienlijke bereidheid om betrokken te raken.
Deze diagrammen, die door iedereen kunnen worden gelezen, kunnen worden gebruikt om een gemeenschappelijke aanpak tussen teams te creëren.
Tot slot is deze activiteit een manier om de systeemarchitectuur te beveiligen die wordt verwacht in de versie van 2022 van de ISO 27002 norm.