Začínáme s Threat Modeling Tool

Microsoft Threat Modeling Tool 2018 byl vydán jako obecná verze v září 2018 jako bezplatná aplikace klikni a stáhněte si ji. Změna mechanismu doručování nám umožňuje nabízet zákazníkům při každém otevření nástroje nejnovější vylepšení a opravy chyb, což usnadňuje údržbu a používání. Tento článek vás provede procesem, jak začít s modelem hrozeb Microsoft SDL, a ukáže vám, jak tento nástroj používat k vývoji velkých modelů hrozeb jako páteř procesu zabezpečení.

Tento článek vychází ze stávajících znalostí přístupu k modelování hrozeb SDL. Rychlý přehled najdete v článku NA WEBU MSDN věnovaném modelování hrozeb a archivované verzi článku Odkryjte chyby zabezpečení pomocí STRIDE Approach .

Abychom to mohli rychle shrnout, tento přístup zahrnuje vytvoření diagramu, identifikaci hrozeb, jejich zmírnění a ověření jednotlivých zmírnění rizik. Tady je diagram, který tento proces zvýrazňuje:

Proces SDL

Spuštění procesu modelování hrozeb

Když spustíte Threat Modeling Tool, všimnete si několika věcí, jak je vidět na obrázku:

Prázdná úvodní stránka

Oddíl s modelem hrozeb

Součást Podrobnosti
Tlačítko Zpětná vazba, návrhy a problémy Vezme vás fórum MSDN pro všechny věci SDL. Umožňuje vám přečíst si, co dělají ostatní uživatelé, a také alternativní řešení a doporučení. Pokud stále nemůžete najít to, co hledáte, pošlete e-mail tmtextsupport@microsoft.com našemu týmu podpory, který vám pomůže.
Vytvoření modelu Otevře prázdné plátno, na které můžete nakreslit diagram. Nezapomeňte vybrat šablonu, kterou chcete pro svůj model použít.
Šablona pro nové modely Před vytvořením modelu musíte vybrat šablonu, která se má použít. Naší hlavní šablonou je šablona modelu hrozeb Azure, která obsahuje vzorníky, hrozby a zmírnění rizik specifické pro Azure. U obecných modelů vyberte v rozevírací nabídce znalostní bázi SDL TM Knowledge Base. Chcete vytvořit vlastní šablonu nebo odeslat novou pro všechny uživatele? Další informace najdete na naší stránce Úložiště šablon na GitHubu.
Otevření modelu

Otevře dříve uložené modely hrozeb. Funkce Nedávno otevřené modely je skvělá, pokud potřebujete otevřít nejnovější soubory. Když najedete myší na výběr, najdete 2 způsoby, jak otevřít modely:

  • Otevřít z tohoto počítače – klasický způsob otevření souboru pomocí místního úložiště
  • Otevřít z OneDrivu – týmy můžou pomocí složek na OneDrivu ukládat a sdílet všechny své modely hrozeb na jednom místě, aby se zvýšila produktivita a spolupráce.

průvodce Začínáme Otevře hlavní stránku Microsoft Threat Modeling Tool.

Oddíl Šablony

Součást Podrobnosti
Vytvořit novou šablonu Otevře prázdnou šablonu, ze které můžete stavět. Pokud nemáte rozsáhlé znalosti o vytváření šablon od začátku, doporučujeme sestavit z existujících šablon.
Otevřít šablonu Otevře existující šablony, ve které můžete provádět změny.

Tým Threat Modeling Tool neustále pracuje na vylepšování funkcí a prostředí nástrojů. V průběhu roku může dojít k několika drobným změnám, ale všechny hlavní změny vyžadují přepsání v průvodci. Často se na něj podívejte, abyste měli jistotu, že dostanete nejnovější oznámení.

Sestavení modelu

V této části budeme postupovat takto:

  • Cristina (vývojářka)
  • Ricardo (programový manažer) a
  • Ashish (tester)

Procházejí procesem vývoje svého prvního modelu hrozeb.

Ahoj Cristino, pracoval jsem na diagramu modelu hrozeb a chtěl jsem se ujistit, že máme správné podrobnosti. Můžeš mi pomoct to prohlédnout? Určitě. Pojďme se na to podívat. Ricardo otevře nástroj a sdílí svou obrazovku s Cristinou.

Základní model hrozeb

Dobře, vypadá to přímočaře, ale dokážeš mě tím projít? Ricardo: Jasně! Tady je rozpis:

  • Náš lidský uživatel je vykreslen jako vnější entita – čtverec.
  • Odesílají příkazy na webový server – kruh
  • Webový server nahlížuje do databáze (dvě paralelní linky).

To, co Ricardo právě ukázal Cristinu, je DFD, zkratka pro Tok dat Diagram. Threat Modeling Tool umožňuje uživatelům určit hranice důvěryhodnosti označené červenými tečkovanými čarami, aby se zobrazilo, kde jsou různé entity pod kontrolou. Správci IT například vyžadují pro účely ověřování systém Active Directory, takže služba Active Directory je mimo jejich kontrolu.

Vypadá to na mě dobře. A co hrozby? Ricardo: Ukážu ti to.

Analýza hrozeb

Jakmile klikne na zobrazení analýzy z výběru nabídky ikony (soubor s lupou), přejde na seznam vygenerovaných hrozeb, které Threat Modeling Tool nalezeny na základě výchozí šablony, která používá přístup SDL s názvem STRIDE (Spoofing, Manpering, Repudiation, Info Disclosure, Denial of Service a Elevation of Privilege)). Myšlenka je, že software spadá pod předvídatelnou sadu hrozeb, které lze najít pomocí těchto 6 kategorií.

Tento přístup je jako zabezpečení vašeho domu tím, že zajistíte, že každé dveře a okno mají bezpečnostní mechanismus před přidáním poplašného systému nebo pronásledovat zloděje.

Základní hrozby

Ricardo začíná výběrem první položky v seznamu. Tady je to, co se stane:

Nejprve se zlepšují interakce mezi dvěma vzorníky.

Snímek obrazovky ukazuje dva vzorníky a zakřivenou šipku, která je spojuje v těžší hmotnosti čáry.

Za druhé, další informace o hrozbě se zobrazí v okno Vlastnosti hrozeb

Snímek obrazovky znázorňující okno Vlastnosti hrozeb, který obsahuje název, kategorii, popis, interakci a prioritu.

Vygenerovaná hrozba mu pomáhá porozumět potenciálním chybám návrhu. Kategorizace STRIDE mu dává představu o potenciálních vektorech útoku, zatímco další popis mu přesně řekne, co je špatně, spolu s možnými způsoby, jak ho zmírnit. Pomocí upravitelných polí může psát poznámky do podrobností odůvodnění nebo měnit hodnocení priorit v závislosti na panelu chyb jeho organizace.

Šablony Azure obsahují další podrobnosti, které uživatelům pomůžou nejen pochopit, co se děje, ale také jak to opravit přidáním popisů, příkladů a hypertextových odkazů do dokumentace specifické pro Azure.

Tento popis ho přiměl uvědomit si důležitost přidání ověřovacího mechanismu, aby se zabránilo falšování identity uživatelů, a odhalil tak první hrozbu, na které se bude pracovat. Několik minut po diskuzi s Cristinou pochopili, jak je důležité implementovat řízení přístupu a role. Ricardo vyplnil několik rychlých poznámek, aby se ujistil, že byly implementovány.

Když se Ricardo dostal do hrozeb v rámci zpřístupnění informací, uvědomil si, že plán řízení přístupu vyžaduje pro audit a generování sestav několik účtů jen pro čtení. Zajímalo ho, jestli by to měla být nová hrozba, ale zmírnění rizik byla stejná, a proto hrozbu odpovídajícím způsobem poznamenal. Také trochu více přemýšlel o zpřístupnění informací a uvědomil si, že záložní pásky budou vyžadovat šifrování, práci pro provozní tým.

Hrozby, které se na návrh nevztahují kvůli stávajícím zmírněním rizik nebo zárukám zabezpečení, je možné z rozevíracího seznamu Stav změnit na Nepoužitelné. Existují tři další možnosti: Nezahajovat – výchozí výběr, Šetření potřeby – slouží k zpracování položek a Zmírnit – jakmile je plně zapracováno.

Sdílení sestav &

Jakmile Ricardo projde seznamem s Cristinou a přidá důležité poznámky, zmírnění rizik/ odůvodnění, priority a změny stavu, vybere Sestavy -> Vytvořit úplnou sestavu -> Uložit zprávu, která vytiskne pěknou zprávu, kterou projde s kolegy, aby zajistil správnou implementaci bezpečnostních prací.

Snímek obrazovky znázorňující reprezentativní sestavu modelování hrozeb

Pokud chce Ricardo soubor místo toho sdílet, může to snadno udělat tak, že uloží do účtu OneDrive své organizace. Jakmile to udělá, může odkaz na dokument zkopírovat a sdílet ho se svými kolegy.

Schůzky modelování hrozeb

Když Ricardo poslal svůj model hrozeb kolegovi pomocí OneDrivu, ashish, tester, byl podchycený. Zdálo se, že Ricardo a Cristina vynechali několik důležitých rohových případů, které by mohly být snadno ohroženy. Jeho skepticismus je doplňkem k modelům hrozeb.

V tomto scénáři poté, co Ashish převzal model hrozeb, vyzval ke dvěma schůzkám modelování hrozeb: jednu schůzku, která se má synchronizovat v procesu a projít diagramy, a pak druhou schůzku ke kontrole hrozeb a odhlášení.

Na první schůzce ashish strávil 10 minut procházením všech procesů modelování hrozeb SDL. Pak vytáhl diagram modelu hrozeb a začal ho podrobně vysvětlovat. Během pěti minut byla identifikována důležitá chybějící součást.

O několik minut později se Ashish a Ricardo dostali do rozšířené diskuze o tom, jak byl webový server sestaven. Nebyl to ideální způsob, jak pokračovat ve schůzce, ale všichni nakonec souhlasili, že včasné zjištění nesrovnalostí jim ušetří čas v budoucnu.

Na druhé schůzce si tým prošel hrozby, probral některé způsoby, jak je řešit, a odhlásil se k modelu hrozeb. Zkontrolovali dokument do správy zdrojového kódu a pokračovali ve vývoji.

Přemýšlení o prostředcích

Někteří čtenáři, kteří mají model hrozeb, si mohou všimnout, že jsme vůbec nemluvili o prostředcích. Zjistili jsme, že mnoho softwarových inženýrů rozumí svému softwaru lépe, než rozumí konceptu prostředků a prostředkům, které by útočníka mohly zajímat.

Pokud se chystáte vymodelovat dům, můžete začít tím, že budete přemýšlet o své rodině, nenahraditelných fotografiích nebo cenných uměleckých dílech. Možná začnete tím, že zamyslíte nad tím, kdo by mohl nabouraný a aktuální systém zabezpečení. Nebo můžete začít zvážením fyzických funkcí, jako je bazén nebo přední veranda. To je obdobou přemýšlení o prostředcích, útočníkech nebo návrhu softwaru. Každý z těchto tří přístupů funguje.

Přístup k modelování hrozeb, který jsme zde představili, je podstatně jednodušší než to, co microsoft dělal v minulosti. Zjistili jsme, že přístup k návrhu softwaru funguje dobře pro mnoho týmů. Doufáme, že to bude i vaše.

Další kroky

Pošlete své dotazy, komentáře a připomínky na adresu tmtextsupport@microsoft.com. Začněte tím, že si stáhnete Threat Modeling Tool.