Začínáme s nástrojem pro modelování hrozeb

Nástroj Microsoft Threat Modeling Tool 2018 byl vydán jako ga v září 2018 jako bezplatná technologie klikni a stáhněte si ji. Změna mechanismu doručování nám umožňuje nabízet zákazníkům nejnovější vylepšení a opravy chyb při každém otevření nástroje, což usnadňuje údržbu a používání. Tento článek vás provede procesem zahájení práce s přístupem microsoft SDL pro modelování hrozeb a ukáže vám, jak pomocí tohoto nástroje vyvíjet skvělé modely hrozeb jako základ procesu zabezpečení.

Tento článek vychází ze stávajících znalostí přístupu modelování hrozeb SDL. Rychlou recenzi najdete v článku o modelování hrozeb webových aplikací a archivované verzi odhalení chyb zabezpečení pomocí článku STRIDE Approach MSDN publikovaného v roce 2006.

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

SDL Process

Zahájení procesu modelování hrozeb

Když spustíte nástroj Pro modelování hrozeb, všimnete si několika věcí, jak je vidět na obrázku:

Blank Start Page

Oddíl Modelu hrozeb

Komponenta Detaily
Tlačítko Zpětná vazba, návrhy a problémy Vezme vás fórum MSDN pro všechny věci SDL. Nabízí možnost si přečíst, co dělají ostatní uživatelé, spolu s alternativními řešeními a doporučeními. 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, které vám umožní 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, kterou chcete použít. Naší hlavní šablonou je šablona modelu hrozeb Azure, která obsahuje vzorníky specifické pro Azure, hrozby a zmírnění rizik. V případě obecných modelů vyberte znalostní bázi SDL TM z rozevírací nabídky. Chcete vytvořit vlastní šablonu nebo odeslat novou pro všechny uživatele? Další informace najdete na stránce GitHubu úložiště šablon.
Otevření modelu

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

  • 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 pomohly zvýšit produktivitu a spolupráci.

Příručka Začínáme Otevře hlavní stránku nástroje Microsoft Threat Modeling Tool.

Oddíl šablony

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

Tým nástroje pro modelování hrozeb neustále pracuje na vylepšení funkčnosti a prostředí nástrojů. V průběhu roku může proběhnout několik menších změn, ale všechny hlavní změny vyžadují přepsání v průvodci. Přečtěte si ho často, abyste měli jistotu, že získáte nejnovější oznámení.

Sestavení modelu

V této části sledujeme:

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

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

Ricardo: Ahoj Cristina, pracoval jsem na diagramu modelu hrozeb a chtěl se ujistit, že jsme získali podrobnosti správně. Můžeš mi pomoct se na to podívat? Kristýna: Naprosto. Podívejme se na to. Ricardo otevře nástroj a sdílí svou obrazovku s Christou.

Basic Threat Model

Christo: Ok, vypadá to přímočaré, ale můžeš mě projít? Ricardo: Jistě! Tady je rozpis:

  • Náš člověk je vykreslen jako vnější entita – čtverec
  • Odesílají příkazy na náš webový server – kruh
  • Webový server se konzultuje s databází (dva paralelní řádky).

Co Ricardo právě ukázala Cristinu je DFD, zkratka pro Tok dat Diagram. Nástroj Pro modelování hrozeb umožňuje uživatelům určit hranice důvěryhodnosti označené červenými tečkovanými čárami, aby bylo možné zobrazit, 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.

Kristýna: Vypadá to na mě. 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 do seznamu vygenerovaných hrozeb nalezených nástrojem pro modelování hrozeb na základě výchozí šablony, která používá přístup SDL s názvem STRIDE (falšování, manipulace, repudiace, zpřístupnění informací, odepření služby a zvýšení oprávnění). Myšlenka spočívá v tom, že software spadá do předvídatelné sady hrozeb, které lze najít pomocí těchto 6 kategorií.

Tento přístup se podobá zabezpečení domu tím, že každé dveře a okno mají před přidáním alarmového systému nebo honěním za zlodějem.

Basic Threats

Ricardo začíná výběrem první položky v seznamu. Co se stane:

Zaprvé je vylepšena interakce mezi těmito dvěma vzorníky.

Screenshot shows two stencils and the curved arrow connecting them in a heavier weight of line.

Za druhé se v okno Vlastnosti hrozby zobrazí další informace o hrozbě.

Screenshot shows the Threat Properties window, which contains Title, Category, Description, Interaction, and Priority.

Vygenerovaná hrozba mu pomůže pochopit potenciální chyby 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 potenciální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í priority v závislosti na panelu chyb organizace.

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

Popis zjistil, že je důležité přidat ověřovací mechanismus, aby se zabránilo falšování identity uživatelů a odhalit první hrozbu, na které se má pracovat. Několik minut do diskuze s Cristinaem chápou důležitost implementace řízení přístupu a rolí. Ricardo vyplnil několik rychlých poznámek, aby se ujistil, že byly implementovány.

Jak Ricardo šel do hrozeb v rámci zpřístupnění informací, uvědomil si, že plán řízení přístupu vyžadoval některé účty jen pro čtení pro audit a generování sestav. Zajímalo by ho, jestli by to měla být nová hrozba, ale zmírnění rizik byla stejná, takže si odpovídajícím způsobem poznamenal hrozbu. Přemýšlel také o zpřístupnění informací trochu více a uvědomil si, že záložní pásky budou potřebovat šifrování, úlohu provozního týmu.

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

Sestavy a sdílení

Jakmile Ricardo projde seznamem s Christií 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 zprávu - Uložit zprávu,> která pro něj vytiskne pěknou zprávu, aby prošel s kolegy, aby se zajistilo, že je implementována správná bezpečnostní práce.

Screenshot shows a representative Threat Modeling Report.

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

Schůzky modelování hrozeb

Když Ricardo poslal svému kolegovi model hrozeb pomocí OneDrivu, Ashishe, testera, byl nedohledný. Zdálo se, že Ricardo a Christa chyběly poměrně několik důležitých rohových případů, které by mohly být snadno ohroženy. Jeho skeptičnost je doplňkem modelů hrozeb.

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

V první schůzce strávil Ashish 10 minut procházením procesu modelování hrozeb SDL. Pak vytáhl diagram modelu hrozeb a začal ho podrobně vysvětlit. Během pěti minut byla identifikována důležitá chybějící komponenta.

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

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

Úvahy o prostředcích

Někteří čtenáři, kteří mají modelované hrozby, si mohou všimnout, že jsme vůbec nemluvili o prostředcích. Zjistili jsme, že mnoho softwarových inženýrů rozumí jejich softwaru lépe, než chápe koncept prostředků a jaké prostředky může útočník zajímat.

Pokud budete modelovat dům s hrozbami, možná začnete přemýšlet o své rodině, nenahraditelných fotografiích nebo cenných uměleckých děl. Možná začnete tím, že začnete přemýšlet o tom, kdo by mohl přerušit a aktuální bezpečnostní systém. Nebo můžete začít zvážením fyzických funkcí, jako je bazén nebo přední veranda. Jsou to podobné jako při úvahách o prostředcích, útočnících 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 v minulosti provedl. Zjistili jsme, že přístup k návrhu softwaru funguje dobře pro mnoho týmů. Doufáme, že to zahrnuje vaše.

Další kroky

Posílejte své otázky, komentáře a obavy na tmtextsupport@microsoft.comadresu . Stáhněte si nástroj pro modelování hrozeb, abyste mohli začít.