Modelowanie zagrożeń – praktycznie

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.

Threat Modeling Diagram – Enterprise Architect

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

Toolbox Threat Modeling Diagram – Enterprise Architect

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.

Modelowanie zagrożeń - diagram DFD
Przykładowy diagram DFD

Bazując na STRIDE każdy z elementów jest przypisany do ustalonej grupy zagrożeń.

Nazwa elementuSTRIDE
Klient, Bramka płatnościX X   
Obsługa płatności X XX 
Zamówienia XXXX 
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
XXXXXX

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.

Modelowanie zagrożeń - środki łagodzące
Zagrożenia 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ń 🙂

Podobne wpisy

Reklama
MODESTO - licencje Enterprise Architect

Zostaw komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Przewiń do góry