Praktische threat modeling
Pas gestructureerde methoden zoals STRIDE of DREAD toe om potentiële dreigingen en kwetsbaarheden vroeg in de ontwikkelingscyclus te identificeren.
Praktische threat modeling is een gratis Veilig coderen en de OWASP Top 10 voor backends-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Veilig coderen en de OWASP Top 10 voor backends. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Veilig coderen en de OWASP Top 10 voor backends bevat in totaal 4 lessen.
Wat is dreigingsmodellering?
Welkom bij Praktische dreigingsmodellering! In deze les leer je over proactieve beveiliging: potentiële dreigingen en kwetsbaarheden identificeren *voordat* ze kostbare problemen worden.
Dreigingsmodellering is een gestructureerde aanpak om:
- Het ontwerp van je systeem te begrijpen.
- Mogelijke dreigingen voor dat ontwerp te identificeren.
- Die dreigingen te evalueren en te prioriteren.
- Strategieën voor risicobeperking op te stellen.
Hiermee haal je beveiliging naar voren in het ontwikkelproces en integreer je die vroeg in de ontwikkelcyclus.
Waarom vroeg dreigingsmodelleren?
Beveiligingsproblemen tijdens de ontwerpfase vinden is veel effectiever en goedkoper dan ze in productie oplossen.
Met dreigingsmodellering kun je:
- Kosten verlagen: Ontwerpfouten herstellen is goedkoper dan geïmplementeerde code patchen.
- Het ontwerp verbeteren: Bouw beveiliging vanaf de basis in, in plaats van die achteraf toe te voegen.
- Hulpbronnen prioriteren: Richt je eerst op de meest kritieke risico's.
- Voldoen aan regelgeving: Toon aan dat je beveiliging serieus neemt.
De belangrijkste stappen van dreigingsmodellering
Hoewel methodologieën verschillen, volgen de meeste processen voor dreigingsmodellering deze belangrijke stappen:
- Reikwijdte bepalen: Welk systeem of welke functie analyseren we?
- De toepassing ontleden: Begrijp hoe het systeem werkt (componenten, gegevensstromen en vertrouwensgrenzen).
- Dreigingen identificeren: Bedenk mogelijke aanvallen op het systeem.
- Kwetsbaarheden identificeren: Breng zwakke plekken in kaart waardoor dreigingen kunnen slagen.
- Risico beperken: Ontwerp en implementeer maatregelen om het risico te verlagen.
- Verifiëren: Zorg dat de maatregelen effectief zijn.
Kennismaken met de STRIDE-methodologie
STRIDE is een veelgebruikte geheugensteun die is ontwikkeld door Microsoft. Hiermee kun je dreigingen tegen een systeem indelen op basis van verschillende typen beveiligingseigenschappen.
Elke letter in STRIDE staat voor een specifieke dreigingscategorie:
- S zich voordoen als iemand anders
- T manipulatie
- R ontkenning
- I openbaarmaking van informatie
- D denial-of-service
- E verhoging van bevoegdheden
Laten we ze een voor een bekijken.
STRIDE: voordoen als iemand anders en manipulatie
- Je voordoen als iemand anders (S): Bij deze dreiging doet een aanvaller alsof die iemand of iets anders is. Denk aan identiteitsdiefstal of het vervalsen van een bron-IP-adres. Dit vormt een aanval op authenticatie.
- Manipulatie (T): Dit verwijst naar het ongeautoriseerd wijzigen van gegevens. Een aanvaller wijzigt gegevens tijdens de overdracht of in rust om een schadelijk doel te bereiken. Dit vormt een aanval op integriteit.
Deze twee dreigingen gaan vaak hand in hand: het aannemen van een valse identiteit kan bijvoorbeeld leiden tot het manipuleren van gegevens.
STRIDE: ontkenning en openbaarmaking van informatie
- Ontkenning (R): Dit gebeurt wanneer een gebruiker ontkent een handeling te hebben uitgevoerd en er geen manier is om het tegendeel te bewijzen. Denk bijvoorbeeld aan het ontkennen van een transactie. Dit vormt een aanval op onweerlegbaarheid en vereist een goede logboekregistratie.
- Openbaarmaking van informatie (I): Dit is het ongeautoriseerd blootstellen van gevoelige gegevens. Het kan om van alles gaan, van gebruikerswachtwoorden tot vertrouwelijke bedrijfslogica. Dit vormt een aanval op vertrouwelijkheid.
Een goede logboekregistratie en toegangscontroles zijn essentieel om deze dreigingen aan te pakken.
STRIDE: DoS en verhoging van bevoegdheden
- Denial-of-service (D): Een aanvaller maakt een systeem of service onbeschikbaar voor legitieme gebruikers. Dit kan bijvoorbeeld door een server met verzoeken te overspoelen of een toepassing te laten crashen. Dit vormt een aanval op beschikbaarheid.
- Verhoging van bevoegdheden (E): Een aanvaller krijgt meer toegangsrechten dan toegestaan, bijvoorbeeld wanneer een gewone gebruiker beheerder wordt. Dit vormt een aanval op autorisatie.
Deze dreigingen kunnen grote gevolgen hebben voor de bedrijfsvoering, van omzetverlies tot een volledige overname van het systeem.
Systemen visualiseren met DFD's
Om STRIDE effectief toe te passen, moet je eerst je systeem begrijpen. Gegevensstroomdiagrammen (DFD's) zijn hiervoor uitstekend geschikt.
Met DFD's kun je het volgende visualiseren:
- Processen: Waar gegevens worden getransformeerd.
- Gegevensopslagplaatsen: Waar gegevens zich bevinden (databases en bestanden).
- Externe entiteiten: Gebruikers en andere systemen die met jouw systeem communiceren.
- Gegevensstromen: Hoe gegevens zich tussen componenten verplaatsen.
Door dit in kaart te brengen, kun je 'vertrouwensgrenzen' en aanvalsoppervlakken identificeren.
Kennismaken met de DREAD-methodologie
Zodra bedreigingen zijn geïdentificeerd (bijvoorbeeld met STRIDE), moet je ze prioriteren. De DREAD-methodologie helpt je de ernst van een bedreiging te beoordelen aan de hand van vijf factoren:
- Damage: Hoe ernstig zou een aanval zijn?
- Reproducibility: Hoe eenvoudig is het om de aanval te reproduceren?
- Exploitability: Hoe eenvoudig is het om de aanval uit te voeren?
- Affected Users: Op hoeveel gebruikers zou de aanval impact hebben?
- Discoverability: Hoe eenvoudig is het om de kwetsbaarheid te vinden?
Elke factor krijgt doorgaans een score op een schaal (bijvoorbeeld 1-10 of Laag/Gemiddeld/Hoog). De scores worden gecombineerd tot een algemene risicobeoordeling.
DREAD toepassen voor risicobeoordeling
Neem deze potentiële bedreiging: Een niet-geauthenticeerde gebruiker kan de profielgegevens van een andere gebruiker bekijken.
Met DREAD zouden we dit als volgt kunnen beoordelen:
- Damage: Hoog (gevoelige gegevens worden openbaar).
- Reproducibility: Hoog (eenvoudig te reproduceren).
- Exploitability: Gemiddeld (enige vaardigheid is vereist, maar de aanpak is algemeen bekend).
- Affected Users: Hoog (de gegevens van alle gebruikers lopen risico).
- Discoverability: Gemiddeld (de kwetsbaarheid kan tijdens tests of toevallig worden gevonden).
Een hoge algemene DREAD-score wijst op een kritieke bedreiging die onmiddellijk aandacht vereist.
Controle van bedreigingsmodellering
Je voert bedreigingsmodellering uit voor een nieuwe e-commerceapplicatie. Je hebt een scenario geïdentificeerd waarin een aanvaller de prijs van een artikel tijdens het afrekenen kan onderscheppen en wijzigen voordat de uiteindelijke betaling is verwerkt.
Welke STRIDE-bedreigingscategorie beschrijft deze specifieke kwetsbaarheid het best?
Samenvatting: praktische bedreigingsmodellering
We hebben de wereld van Threat Modeling verkend, een cruciale proactieve beveiligingspraktijk.
- Het helpt om kwetsbaarheden vroeg in het ontwikkelproces te identificeren en te beperken.
- De STRIDE-methodologie (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege) biedt een raamwerk om bedreigingen te categoriseren.
- Data Flow Diagrams (DFDs) zijn waardevolle hulpmiddelen om systeemonderdelen en gegevensstromen zichtbaar te maken.
- De DREAD-methodologie (Damage, Reproducibility, Exploitability, Affected Users, Discoverability) helpt geïdentificeerde bedreigingen te prioriteren op basis van hun mogelijke impact en waarschijnlijkheid.
Door deze methodologieën toe te passen, kun je vanaf de basis veiligere systemen bouwen.
Leer Veilig coderen en de OWASP Top 10 voor backends met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Praktische threat modeling” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Veilig coderen en de OWASP Top 10 voor backends, waaronder “Praktische threat modeling”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Veilig coderen en de OWASP Top 10 voor backends bevat in totaal 4 lessen.
Wat leer ik in “Praktische threat modeling”?
Pas gestructureerde methoden zoals STRIDE of DREAD toe om potentiële dreigingen en kwetsbaarheden vroeg in de ontwikkelingscyclus te identificeren. Je oefent met Veilig coderen en de OWASP Top 10 voor backends door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Veilig coderen en de OWASP Top 10 voor backends te beginnen?
Ervaring vooraf is niet nodig. Veilig coderen en de OWASP Top 10 voor backends op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Praktische threat modeling”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Veilig coderen en de OWASP Top 10 voor backends?
Ja. Elke les over Veilig coderen en de OWASP Top 10 voor backends bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Principes van secure design
- Praktische threat modeling
- Patronen voor veilige architectuur
- Vertrouwensgrenzen en verkleining van het aanvalsoppervlak