W poprzedniej części zaprezentowałem model przepływu danych oparty o diagram maszyny stanowej. Zaproponowałem także mechanizm mapowania elementów z diagramu maszyny stanowej na zagrożenia (w oparciu o STRIDE z SDL). Dziś kolejna czwarta i ostania cześć, w której zaprezentuje techniki dokumentacji ryzyk oraz podatności. Na końcu opiszę jak dokumentować mechanizmy łagodzące oraz zrobię krótkie podsumowanie. Zapraszam do lektury. 

Ustalenie ryzyka

Sklasyfikowane klasy zagrożeń wymagają doprecyzowania ryzyka dla każdej z klas.

clip_image002[7]

Rysunek 4. Drzewo zagrożeń – manipulowanie przy przepływie danych (na podst. [1])

Wskazany przykład (rys. 3 z poprzedniej części artykułu – Modelowanie zagrożeń systemów informatycznych z wykorzystaniem języka UML–przykład) prezentuje przyporządkowanie zagrożeń do magazynów danych. Idąc tym torem należy przygotować zestawy ryzyk dla poszczególnych rodzajów zagrożeń w kontekście ich występowania. Metodyka SDL proponuje do oceny ryzyka zastosowanie drzew zagrożeń. Drzewa te w zależności kontekstu zagrożenia różnią się zagrożeń. Innymi słowy inny zestaw ryzyk będzie występował przykładowo przy manipulacji przepływu danych (rys. 4) a inny przy magazynie danych (rys. 5). Należy pamiętać iż każdy system może mieć inne drzewo zagrożeń.

clip_image004

Rysunek 5. Drzewo zagrożeń – manipulowanie przy zasobach danych

clip_image005

Rysunek 6. Zależności pomiędzy danymi a ryzykiem (oprac. własne)

Wskazane zagrożenia, w przypadku identyfikacji podatności, należy zmapować z artefaktami z diagramu przepływu danych wskazując na podatność artefaktu na ryzyko. W prezentowanym przykładzie zastosowano dwu wartościową skalę podatności: występuje – nie występuje. Przykładowy diagram prezentujący zmapowane elementy zaprezentowano na rysunku 7. Natomiast na rysunku 6 zaprezentowano macierz zależności pomiędzy artefaktami a ryzykiem.

clip_image007

Rysunek 7. Przykład prezentacji podatności (oprac. własne)

Łagodzenie ryzyka

Ostatnim krokiem modelowania zagrożeń jest łagodzenie ryzyka. Mając wytworzone macierze zależności (rys.6) lub modele (rys.7) działanie to sprowadza się do ustalenia takich wymagań, na system, których spełnienie złagodzi zidentyfikowane ryzyko. Przykładowy diagram prezentujący wymagania zaprezentowano na rys. 8.

clip_image009

Rysunek 8. Przykład przeciwdziałania ryzyku (oprac. własne)

Uzyskane w wyniku przeciwdziałania ryzyku wymagania stanowią uzupełnieni innych wymagań niefunkcjonalnych determinujących system. Istotnym jest fakt, że wymagania te powstają w wyniku zaplanowanego i uporządkowanego procesu.

clip_image010

Rysunek 9. Przykład zależności od zaprojektowanej tabeli do zagrożenia STRIDE (oprac. własne)

Ponadto w kolejnych krokach artefakty wskazane w modelu przepływu danych mogą być źródłem przypadków użycia lub klas. W takiej sytuacji wymagania łagodzące ryzyko można przenieść (łącząc także realizacją) na zaprojektowane elementy. W ten sposób powstaje macierz opisująca całe spektrum zależności pomiędzy zagrożeniami ich przeciwdziałaniem a konkretnymi składnikami modelu projektu co zostało zaprezentowane na rys. 9 w postaci zależności tabeli Zamówienie a zagrożeniem „Manipulacja” z grupy zagrożeń STRIDE.

Podsumowanie

Modelowanie zagrożeń jest jednym z najważniejszych etapów wpływających na poprawę bezpieczeństwa oprogramowania. Powodem tego jest fakt, że etap ten odbywa się na początku procesu wytwarzania oprogramowania i pozwala zidentyfikować w projekcie problemy przed rozpoczęciem programowania, co z kolei może w znacznym stopniu ograniczyć koszty usuwania tych problemów w dalszych etapach cyklu życia oprogramowania.

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.

Przedstawiona w artykułach metodyka modelowania zagrożeń pozwala na wskazanie potencjalnych zagrożeń w oparciu o model przepływu danych. Mam nadzieję, że udało mi się zaprezentować jak można utrzymywać w jednym repozytorium projektu zarówno zagrożenia, ryzyka i mapy podatności poszczególnych elementów na zidentyfikowane zagrożenia. 

Warto jeszcze raz zwrócić uwagę, że zidentyfikowane ryzyka stały się źródłem wymagań, których realizacja ma na celu przeciwdziałanie zagrożeniu.

Powodzenia w modelowaniu zagrożeń Uśmiech

Zostaw odpowiedź

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

Możesz użyć tych HTML tagów i atrybutów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Close