Krok 1. Projektowanie

Ukończone

W fazie projektowania zaczynają być wykonywane działania dotyczące modelowania zagrożeń. Zbierz jak najwięcej danych na temat tego, co tworzysz, i czego używasz do jego kompilowania.

Cele

  • Opracowanie jasnego obrazu działania systemu
  • Utworzenie listy wszystkich usług używanych przez system
  • Wyliczenie wszystkich założeń dotyczących środowiska i domyślnych konfiguracji zabezpieczeń
  • Tworzenie diagramu przepływu danych, który używa odpowiedniego poziomu głębokości kontekstu

Ważne

Jeśli nie ukończysz tej fazy, możesz pominąć ważne zagadnienia dotyczące projektowania zabezpieczeń dla systemu, które mogą narażać klientów na ryzyko.

Zadanie pytań na temat systemu

Zadaj jak największą liczbę pytań dotyczących systemu. Oto kilka pytań, które warto rozważyć:

Obszar Pytania
Opis systemu Co robi system? Jakie procesy biznesowe są obsługiwane przez usługę? Czy są one jasno zdefiniowane?
Środowisko systemu Czy system zostanie zbudowany w chmurze, czy w środowisku lokalnym? Na którym systemie operacyjnym jest zbudowany? Czy używa kontenerów? Czy system jest aplikacją, usługą, czy czymś zupełnie innym?
Scenariusze Jak będzie używany system? Jak nie będzie używany?
Uprawnienia Czy system ma wymagania dotyczące wykonywania skryptów, danych lub dostępu do sprzętu? Jeśli tak, to jakie?
Dostawca usług w chmurze Którego dostawcy usług w chmurze używa system? Jakie domyślne opcje konfiguracji zabezpieczeń oferuje dostawca? W jest wpływ tych opcji na wymagania dotyczące zabezpieczeń systemu?
System operacyjny Z którego systemu operacyjnego będzie korzystać system? Jakie domyślne opcje konfiguracji zabezpieczeń oferują system operacyjny? W jest wpływ tych opcji na wymagania dotyczące zabezpieczeń systemu?
Usługi natywne i innych firm Z jakich usług natywnych i innych firm będzie korzystał system? Jakie oferują one domyślne opcje konfiguracji zabezpieczeń? W jest wpływ tych opcji na wymagania dotyczące zabezpieczeń systemu?
Klienci Jakie są typy kont używane przez system, takie jak użytkownicy i administratorzy? Czy te konta są włączone lokalnie lub w chmurze? Jakiego dostępu potrzebują i dlaczego?
Tożsamość i kontrola dostępu Jak system pomaga zabezpieczyć te konta? Czy jest on zależny od identyfikatora Entra firmy Microsoft? Czy używa funkcji, takich jak listy kontroli dostępu (ACL), uwierzytelnianie wieloskładnikowe (MFA) i kontrola sesji?
Tokeny i sesje Czy system będzie przetwarzał żądania, takie jak interfejsów API SOAP lub REST? Jak obsługuje ona różne sesje?
Obejście Czy system będzie używać lub wymagać tylnych drzwi? Jeśli tak, jak to obejście działa?
Rejestrowanie, monitorowanie i wykonywanie kopii zapasowych Jakie mechanizmy są używane przez system do rejestrowania zdarzeń zabezpieczeń, monitorowania anomalii i tworzenia kopii zapasowych danych systemowych? Które typy zdarzeń przechwytuje?
Sieciowe Jakie będą używane systemy wykrywania i ochrony przed włamaniami? W jaki sposób komunikacja jest szyfrowana?
Data Jakiego typu dane będą tworzone lub obsługiwane przez system? Jaki będzie typ klasyfikacji danych? W jaki sposób system ufa źródłam danych? Jak analizuje ona dane? Jakie są oczekiwane zachowania danych wejściowych i wyjściowych? Jak jest obsługiwana walidacja? W jaki sposób dane są szyfrowane we wszystkich stanach?
Zarządzanie wpisami tajnymi Jak system obsługuje klucze, certyfikaty i poświadczenia?

Ważne

Ta lista jest obszerna, ale nie wyczerpująca. Porozmawiaj ze współpracownikami i członkami zespołu ds. zabezpieczeń, aby uzyskać cały kontekst dla systemu.

Uwaga

Jeśli masz dedykowany zespół ds. zabezpieczeń, zaplanuj sesję tablicy z nimi, aby przejść przez początkowy projekt. Ten kontakt może zaoszczędzić dużo czasu.

Tworzenie diagramu przepływu danych

Na podstawie uzyskanych odpowiedzi utwórz diagram przepływu danych. Diagram przedstawia dane na każdym etapie cyklu życia danych i zawiera zmiany w strefach zaufania. Oto kilka przykładów:

  • Użytkownicy końcowi logować się do aplikacji internetowej hostowanej na platformie Azure w celu uzyskania dostępu do danych
  • Administracja istratory zmieniają domyślne konfiguracje zabezpieczeń dla elastycznych zasobów używanych przez aplikację internetową
  • Automatyczne codzienne skrypty monitorują dzienniki aktywności aplikacji internetowej i powiadamiają administratorów o wszelkich anomaliach

Zespoły inżynierów firmy Microsoft przesyłają diagramy przepływu danych w ramach wymagań dotyczących zgodności z zabezpieczeniami. Te diagramy ułatwiają prowadzanie konwersacji dotyczących zabezpieczeń.

Narzędzia do tworzenia diagramów

Inżynierowie firmy Microsoft zalecają korzystanie z jednego z dwóch dostępnych aktualnie narzędzi:

  • Threat Modeling Tool
  • Visio

Elementy diagramu

Diagram przepływu danych przedstawia przepływ danych w danym systemie. Przepływ zwykle zaczyna się od żądań użytkowników lub magazynów danych, a kończy się na magazynach danych lub usługach analizy. Na diagramie przepływu danych różne elementy są oznaczane za pomocą odrębnych kształtów.

Element Kształt Definicja
Przetwarzaj Diagram shows the Process shape, which is a circle. Zadanie, które odbiera, modyfikuje lub przekierowuje dane wejściowe do danych wyjściowych, na przykład usługa internetowa.
Magazyn danych Diagram shows the Data Store shape, which is two parallel horizontal lines. Trwały i tymczasowy magazyn danych, na przykład internetowa pamięć podręczna lub bazy danych zarządzane na platformie Azure.
Jednostka zewnętrzna Diagram shows the External Entity shape, which is a square. Zadanie, jednostka lub magazyn danych poza Twoją bezpośrednią kontrolą, na przykład użytkownicy i interfejsy API innych firm.
Przepływ danych Diagram shows the Data-flow shape, which is two parallel diagonal arrows. Przenoszenie danych między procesami, magazynami danych i jednostkami zewnętrznymi, na przykład parametry połączeń i ładunki.
Granica zaufania Diagram shows the Trust Boundary Box shape, which is a square composed of a dashed line.Diagram shows Trust Boundary Line shape, which is a dashed line. Strefa zaufania zmienia się w miarę przepływu danych przez system, takich jak użytkownicy korzystający z Internetu w celu uzyskania dostępu do zabezpieczonej sieci firmowej.

Elementy diagramu przepływu danych wymagają również kontekstu, aby inni użytkownicy mogli zrozumieć, jak są one używane i zabezpieczane w systemie.

Informacje do uwzględnienia w diagramie przepływu danych

Ilość informacji do uwzględnienia w diagramie przepływu danych zależy od kilku kluczowych czynników:

Współczynnik Wyjaśnienie
Typ tworzonego systemu Systemy, które nie obsługują poufnych danych lub są używane tylko wewnętrznie, mogą nie potrzebować tak dużego kontekstu, jak systemu dostępnego zewnętrznie
Kontekst wymagany od zespołu ds. zabezpieczeń Zespoły ds. zabezpieczeń mają precyzyjne oczekiwania dotyczące modeli zagrożeń. Porozmawiaj z członkami zespołu ds. zabezpieczeń, aby potwierdzić wymaganą warstwę głębokości

Nieuwzględnienie odpowiedniego kontekstu prowadzi do powstawania niekompletnych przeglądów zabezpieczeń i potencjalnie zagrożonych systemów.

Warstwy diagramu

Aby ułatwić oszacowanie ilości informacji do uwzględnienia, wybierz jedną z tych czterech warstw głębokości kontekstu:

Warstwa głębokości Nazwa opis
0 Zadania systemowe Jest to punkt początkowy dla każdego systemu. Diagramy przepływu danych zawierają główne części systemu z wystarczającą ilością kontekstu, aby ułatwić zrozumienie sposobu ich działania i występujących między nimi interakcji.
1 Przetwarzaj Skoncentruj się na diagramach przepływu danych dla każdej części systemu przy użyciu innych diagramów przepływu danych. Ta warstwa jest używana dla każdego systemu, zwłaszcza jeśli obsługuje poufne dane. Kontekst w tej warstwie ułatwia identyfikowanie zagrożeń i sposobów zmniejszenia lub wyeliminowania zagrożeń wydajniej.
2 Proces podrzędny Jest ona głównie przeznaczona dla diagramów przepływu danych dla każdej podrzędnej części systemu. Jest ona stosowana w systemach uznawanych za krytyczne. Przykładami mogą być systemy dla zabezpieczonych środowisk, systemy obsługujące wysoce poufne dane lub systemy charakteryzujące się wysoką oceną ryzyka.
3 Niższy poziom Jest ona głównie przeznaczona dla systemów wysoce krytycznych i działających na poziomie jądra. Diagramy przepływu danych opisują każdy podproces w najdrobniejszych szczegółach.

Uwaga

Większość diagramów przepływu danych powinna zawierać warstwy głębokości 0 i 1. Porozmawiaj z członkami zespołu ds. zabezpieczeń, aby potwierdzić wymaganą warstwę głębokości.

Sprawdź swoją wiedzę

1.

Co się dzieje w fazie projektowania?