v květnu jsem na Black Swan Security Congresu 2018 prezentoval o tématu modelování hrozeb ve vývoji a rád bych se s vámi podělil o svoje zkušenosti. Prezentaci z konference najdete pod příspěvkem.

Modelování hrozeb

Modelování hrozeb, Threat Modeling, nebo také Threat Assessment, je týmová modelovací technika, která pomáhá vývojářům a architektům identifikovat hrozby ještě před tím, než začnou s implementací.

Technika STRIDE

V modelování se mi osvědčila technika STRIDE, která pracuje s šesti základními typy hrozeb a diagrami datových toků. Tuto techniku si můžete lehce ohnout pro svůj tým.

Identifikace hrozeb

Hrozby kopírují interakce, rozkreslete funkcionalitu do interakcí, aby vám vznikl diagram datových toků. Zakreslete externí systémy, uživatele, datová úložiště, datové toky a bariéry, které zdůrazňují změnu oprávnění nebo prostředí.

Formou brainstormingu odhalujte základní typy hrozeb na každém elementu diagramu. Zapiště všechny hrozby, bez ohledu na to, zda vám připadají smysluplné. V tuto chvíli neposuzujete, jak moc je složité hrozbu realizovat a co je pro útočníka jednodušší.

Identifikovat hrozby jde i bez „securitu backgroundu“, stačí porozumět základním typům hrozeb a vzít si na pomoc karetní hru Elevation of Privilege (EoP).

Jak pracovat s hrozbami

Identifikované hrozby je potřeba strukturovat. U každé hrozby popíšeme podmínky útoku a nejhorší dopad. Riziko hrozby můžeme obecně zmírnit, eliminovat, přenést nebo akceptovat. Vývojáři ale neradi praktikují risk management, musíte si najít vlastní cestu, jak klasifikovat a ošetřovat hrozby. Není nutné reagovat na všechny hrozby, ale měli byste vědět proč.

Chcete-li pracovat s konkrétními hrozbami, pak se poohlédněte po metodikách pro penetrační testování a „security assessmenty“.
U webových aplikacích se hodí OWASP Testing Guide, pro ostatní oblasti bezpečnosti můžete zabrousit do metodiky OSSTMM.

Další zdroje

S každým modelováním nasbíráte zkušenosti, které přenesete do dalšího modelování.

Pokud vás toto téma zaulajo, doporučuji knihu Threat Modeling od Adama Shostacka. Na internetu najdete i několik jeho záznamů, kde popisuje obecné aspekty modelování.

Techniku STRIDE vzkřísili v Microsoftu, který kromě karetní hry EoP vydal i nástroj pro modelování – Threat modeling tool 2016, který je zdarma. Osobně se mi osvědčilo kreslení diagramů na tabuli s fixy, které více zapojuje ostatní členy do diskuze.

Závěr

To je v kostce o modelování hrozeb vše. Přikládám prezentaci ke stažení a budu se těšit na vaše komentáře na facebooku. Zajímá mne, zda jste se s modelováním hrozeb už setkali a jaká byla vaše cesta.

Event-BlackSwan-ThreatAssessment-in-SDLC-20180518

To je pro dnešek vše. Zvažujete-li cestu etického hackera od začátku, rád uvidím na hacking kurzech.