Threat Modeling Tool

Dokončeno

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.

Screenshot of Parent Stencils.

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.

Screenshot of Expanded Flow Stencils.

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

Screenshot illustrating the HTTP child element.

Použití HTTPS

Screenshot illustrating the HTTPS child element.

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.

Screenshot of the Stencil Properties Admin View.

Změny můžete zobrazit pokaždé, když tento prvek přetáhnete na plátno.

Screenshot of the Stencil Properties User View.

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.

Screenshot of the Threat Properties Admin View.

Uživatelské zobrazení

Uživatelé nástroje pro modelování hrozeb vidí tyto změny pokaždé, když analyzují diagramy toku dat.

Screenshot of the Threat Properties User View.

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é.

Screenshot of Include/Exclude view.

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.

Prověřte si své znalosti

1.

Jaké výhody nástroj pro modelování hrozeb nenabízí?