Threat Modeling Tool
Rychlý přehled
Nástroj Microsoft Threat Modeling, který uznává komunita modelování hrozeb, pomáhá technikům vytvářet diagramy toku dat a používat strIDE pro svou práci modelování hrozeb.
Threat Modeling Tool nabízí:
- Přizpůsobitelné šablony
- Modul pro generování hrozeb s hrozbami a strategiemi minimalizace rizik
Výchozí šablona se nazývá Znalostní báze SDL TM a poskytuje základní sadu prvků a možností generování hrozeb. Vy jen potřebujete základní znalosti o diagramech toku dat a metodě STRIDE.
Rekapitulace metody STRIDE
STRIDE představuje akronym šesti hlavních kategorií hrozeb:
- Falšování identity: předstírat, že je někdo nebo něco jiného
- Manipulace: Změna dat bez autorizace
- Repudiation:not claiming responsibility for an action taken
- Zpřístupnění informací: zobrazení dat bez oprávnění
- Odepření služby: zahlcení systému
- Zvýšení oprávnění: Mít oprávnění, která bych neměl mít
Část pro pokročilé uživatele
Pro pokročilejší uživatele můžete šablonu přizpůsobit napříč třemi hlavními oddíly.
Vzorníky
Procesní, externí interakce, úložiště dat, tok dat a hranice důvěryhodnosti tvoří nadřazené prvky.
Můžete také vytvořit podřízené prvky, které vám pomůžou zajistit členitost pro další kontext, generování hrozeb s možností akce a strategie minimalizace rizik.
Příklad fungování podřízených prvků
Nadřazený prvek toku dat umožňuje zvolit mezi podřízenými elementy HTTP a HTTPS .
HTTP by měl generovat více hrozeb, protože hrozby typu manipulace, zpřístupnění informací a falšování identity jsou běžné u nešifrovaných kanálů.
Použití HTTP
Použití HTTPS
Jak přidat vlastnosti prvku
Pokud máte další vlastnosti, které musí být součástí výchozí šablony, můžete je přidat do každého prvku v zobrazení správce.
Změny můžete zobrazit pokaždé, když tento prvek přetáhnete na plátno.
Vlastnosti hrozby
Vlastnosti umožňují vytvořit pole, která se vyplní pro každou vygenerovanou hrozbu, stejně jako vlastnosti vzorníku umožňují vytvořit pole pro každý prvek.
Pamatujte: Cílem je zajistit co možná nejvíce kontextu tím nejjednodušším způsobem.
Příklad vlastností hrozby
Zobrazení správce
Přidejte pole, která zahrnou více kontextu a kroky nápravných akcí. Příkladem může být:
- Priorita problému: Zjistěte, na kterých problémech je potřeba nejprve pracovat.
- Hypertextové odkazy: Odkazy na problémy s online dokumentací
- Mapování externích rizik: mluví stejným jazykem rizik jiných organizací pomocí spolehlivých zdrojů třetích stran, jako jsou OWASP Top 10 a CWE Details.
Uživatelské zobrazení
Uživatelé nástroje pro modelování hrozeb vidí tyto změny pokaždé, když analyzují diagramy toku dat.
Strategie minimalizace hrozeb a rizik
Tato část představuje jádro nástroje pro modelování hrozeb. Modul pro generování hrozeb se podívá na jednotlivé a propojené prvky a rozhodne, které hrozby se mají vygenerovat.
Jak funguje generování hrozeb
Krok 1 – Určení zdrojů a cílů
Modul generování hrozeb používá k vygenerování hrozby jednoduché věty. Příkladem může být:
- target is [název prvku]
- source is [název prvku]
Název prvku můžete použít i u nadpisů a popisů. Formát je: {target. Name} nebo {source. Name}.
Krok 2 – kombinování zdrojů a cílů
Způsob generování hrozby můžete zadat přesně. Stačí zkombinovat cíle, zdroje a jejich jednotlivé vlastnosti prostřednictvím operátorů AND nebo OR. Příkladem může být:
- target.[property name] is 'Yes' AND source.[property name] is 'No'
- flow crosses [trust boundary name]
Krok 3 : Generování nebo ignorování hrozeb
Modul generování hrozeb používá k vygenerování nebo ignorování hrozby dvě pole:
- Zahrnout: Hrozba se vygeneruje, pokud věty přidané do tohoto pole jsou pravdivé.
- Vyloučení: Hrozba se nevygeneruje, pokud věty přidané do tohoto pole jsou pravdivé.
Následuje skutečný příklad z výchozí šablony, který zahrnuje všechny uvedené kroky:
- Hrozba: Skriptování mezi weby
- Include: (target is [Web Server]) OR (target is [Web Application])
- Exclude: (target.[Sanitizes Output] is 'Yes') AND (target.[Sanitizes Input] is 'Yes')
Hrozba skriptování mezi weby v tomto příkladu se vygeneruje pouze v těchto případech:
- Proces představuje buď webový server, nebo webová aplikace.
- Vstup a výstup nejsou opravené.
Poznámka:
Vytvoření šablony v nástroji Microsoft Threat Modeling Tool je komplexním tématem a v rámci tohoto studijního programu se mu nebudeme věnovat vyčerpávajícím způsobem.