W poprzednim artykule Modelowanie zagrożeń – teoretycznie przedstawiłem założenia do przygotowania modelu zagrożeń. W tym artykule zaprezentuję jak za pomocą Enterprise Architect przygotować model zagrożeń. Wykorzystam do tego Threat Modeling Diagram – dostępny od wersji 15.1.
Opis będzie obejmował:
- utworzenie diagramów przepływu danych (DFD) modelowanej aplikacji,
- ustalenie typów zagrożeń,
- rozpoznanie zagrożeń dla systemu,
- ustalenie ryzyka,
- zaplanowanie środków łagodzących.
Diagramy i fragment analizy wykonam na przykładzie sklepu internetowego.
Notacja
Do modelowania zagrożeń zastosuję elementy pochodzące z diagramu DFD
Nazwa elementu | Znaczenie | Kształt |
Element zewnętrzny (interaktor) | Element wchodzący w interakcję z systemem, znajdujący się poza tym systemem. Element zewnętrzny to człowiek lub system. | |
Proces | Realizacja zadań systemu | |
Magazyn danych | Miejsce przechowywania danych (np.: plik, baza danych) | |
Przepływ danych | Proces wymiany danych pomiędzy poszczególnymi elementami |
Modelowanie zagrożeń – diagram DFD
Pierwszym element to diagram DFD, na którym opisywać będę aplikację. Wykorzystam do tego diagram Threat Modeling Diagram.
W dedykowanym dla tego diagramu toolbox, można znaleźć poza opisaną powyżej notacją elementy związane z tworzeniem modeli zagrożeń takie jak Zagrożenia (Threat) oraz działania mitygacyjne w postaci listy (Mitigation Checklist).
Przykładowy proces związany jest obsługą płatności, którą realizuje bramka płatności. Na diagramie zdefiniowany jest jeszcze użytkownik sklepu – klient, oraz magazyn danych – zamówienia. Na przepływach wskazano przekazywane dane.
Bazując na STRIDE każdy z elementów jest przypisany do ustalonej grupy zagrożeń.
Nazwa elementu | S | T | R | I | D | E |
Klient, Bramka płatności | X | X | ||||
Obsługa płatności | X | X | X | |||
Zamówienia | X | X | X | X | ||
dane do zamówienia, wynik płatności, zlecenie płatności, zamówienie, wynik płatności dane zamówienia, wynik płatności | X | X | X | X | X | X |
Dalej analizę zagrożeń zawężę tylko do elementów zewnętrznych. Z powyższej tabeli wynika, że elementy zewnętrzne są potencjalnie w grupie zagrożeń Podszywanie się pod inną tożsamość (ang. Spoofing Identity) oraz Zaprzeczalność (ang. Repudiation). Oznacza, to, że każdemu z tych elementów można przypisać konkretne zagrożenie oraz zaplanować działania łagodzące. Na załączonym poniżej rysunku prezentuje przykładowe mapowanie zagrożeń wraz ze środkami łagodzącymi.
Jak widać z powyższego wycinku, budowa modeli zagrożeń to żmudna praca polegająca na przeanalizowaniu wszystkich składowych rozwiązania wraz z przepływami danych pomiędzy nimi.
Podsumowując. Celem modelowania zagrożeń jest wykrycie potencjalnych luk w zabezpieczeniach, ustalenie ryzyka i podjęcie działań usuwających lub łagodzących wykryte potencjalne zagrożenia. Warto jeszcze raz zwrócić uwagę, że zidentyfikowane środki łagodzące staną się źródłem wymagań, których realizacja ma na celu przeciwdziałanie zidentyfikowanemu zagrożeniu.
Powodzenia w modelowaniu zagrożeń 🙂