Zalecenia dotyczące analizy zagrożeń
Dotyczy tego zalecenia listy kontrolnej dotyczącej zabezpieczeń platformy Azure Well-Architected Framework:
SE:02 | Zachowaj bezpieczny cykl projektowania przy użyciu wzmocnionego, głównie zautomatyzowanego i kontrolowanego łańcucha dostaw oprogramowania. Uwzględnij bezpieczny projekt przy użyciu modelowania zagrożeń w celu ochrony przed implementacjami, które są pokonane przez zabezpieczenia. |
---|
Przewodnik pokrewny: Zalecenia dotyczące zabezpieczania cyklu życia programowania
Kompleksowa analiza umożliwiająca identyfikowanie zagrożeń, ataków, luk w zabezpieczeniach i środków liczników ma kluczowe znaczenie w fazie projektowania obciążenia. Modelowanie zagrożeń to ćwiczenie inżynieryjne, które obejmuje definiowanie wymagań dotyczących zabezpieczeń, identyfikowanie i ograniczanie zagrożeń oraz weryfikowanie tych środków zaradczych. Tę technikę można używać na dowolnym etapie tworzenia aplikacji lub produkcji, ale jest ona najbardziej skuteczna na etapach projektowania nowych funkcji.
W tym przewodniku opisano zalecenia dotyczące modelowania zagrożeń, dzięki czemu można szybko identyfikować luki w zabezpieczeniach i projektować zabezpieczenia.
Definicje
Termin | Definicja |
---|---|
Cykl życia tworzenia oprogramowania (SDLC) | Wieloestowy, systematyczny proces tworzenia systemów oprogramowania. |
KROCZYĆ | Taksonomia zdefiniowana przez firmę Microsoft dla kategoryzowania typów zagrożeń. |
Modelowanie zagrożeń | Proces identyfikowania potencjalnych luk w zabezpieczeniach w aplikacji i systemie, ograniczania ryzyka i weryfikowania mechanizmów kontroli zabezpieczeń. |
Kluczowe strategie projektowania
Modelowanie zagrożeń to kluczowy proces, który organizacja powinna zintegrować ze swoim sdLC. Modelowanie zagrożeń nie jest wyłącznie zadaniem dewelopera. Jest to wspólna odpowiedzialność między:
- Zespół ds. obciążeń, który jest odpowiedzialny za aspekty techniczne systemu.
- Osoby biorące udział w projekcie biznesowym, które rozumieją wyniki biznesowe i mają duże zainteresowanie bezpieczeństwem.
Często istnieje rozłączenie między kierownictwem organizacyjnym a zespołami technicznymi dotyczącymi wymagań biznesowych dotyczących krytycznych obciążeń. To rozłączenie może prowadzić do niepożądanych wyników, szczególnie w przypadku inwestycji w zabezpieczenia.
Gdy zespół ds. obciążeń wykonuje ćwiczenie dotyczące modelowania zagrożeń, należy wziąć pod uwagę zarówno wymagania biznesowe, jak i techniczne. Zespół ds. obciążeń i osoby biorące udział w projekcie biznesowym muszą uzgodnić specyficzne dla bezpieczeństwa potrzeby obciążenia, aby umożliwić im odpowiednie inwestycje w środki zaradcze.
Wymagania dotyczące zabezpieczeń stanowią przewodnik dla całego procesu modelowania zagrożeń. Aby było to skuteczne ćwiczenie, zespół ds. obciążeń powinien mieć sposób myślenia o zabezpieczeniach i być wytrenowany w narzędziach modelowania zagrożeń.
Omówienie zakresu ćwiczenia
Jasne zrozumienie zakresu ma kluczowe znaczenie dla efektywnego modelowania zagrożeń. Pomaga skupić wysiłki i zasoby na najbardziej krytycznych obszarach. Ta strategia obejmuje zdefiniowanie granic systemu, utworzenie spisu aktywów, które muszą być chronione, oraz zrozumienie poziomu inwestycji wymaganych w mechanizmach kontroli zabezpieczeń.
Zbieranie informacji o poszczególnych składnikach
Diagram architektury obciążenia to punkt wyjścia do zbierania informacji, ponieważ zapewnia wizualną reprezentację systemu. Diagram przedstawia wymiary techniczne systemu. Na przykład pokazuje przepływy użytkowników, sposób, w jaki dane przechodzą przez sieć, poziomy poufności danych i typy informacji oraz ścieżki dostępu do tożsamości.
Ta szczegółowa analiza często zapewnia wgląd w potencjalne luki w zabezpieczeniach projektu. Ważne jest, aby zrozumieć funkcjonalność każdego składnika i jego zależności.
Ocena potencjalnych zagrożeń
Przeanalizuj każdy składnik z perspektywy zewnętrznej. Na przykład jak łatwo osoba atakująca może uzyskać dostęp do poufnych danych? Jeśli osoby atakujące uzyskają dostęp do środowiska, czy mogą przejść później i potencjalnie uzyskać dostęp, a nawet manipulować innymi zasobami? Te pytania pomagają zrozumieć, w jaki sposób osoba atakująca może wykorzystać zasoby obciążeń.
Klasyfikowanie zagrożeń przy użyciu metodologii branżowej
Jedną z metodologii klasyfikowania zagrożeń jest STRIDE, którego używa cykl życia programowania zabezpieczeń firmy Microsoft. Klasyfikowanie zagrożeń pomaga zrozumieć charakter każdego zagrożenia i używać odpowiednich mechanizmów kontroli zabezpieczeń.
Eliminowanie zagrożeń
Dokumentowanie wszystkich zidentyfikowanych zagrożeń. Dla każdego zagrożenia zdefiniuj mechanizmy kontroli zabezpieczeń i odpowiedź na atak, jeśli te mechanizmy kontroli nie powiedzą się. Zdefiniuj proces i oś czasu, który minimalizuje narażenie na wszelkie zidentyfikowane luki w zabezpieczeniach w obciążeniu, aby nie można było pozostawić tych luk w zabezpieczeniach.
Użyj podejścia do zakładania naruszenia . Może pomóc w zidentyfikowaniu mechanizmów kontroli potrzebnych w projekcie w celu ograniczenia ryzyka, jeśli podstawowa kontrola zabezpieczeń ulegnie awarii. Oceń, jak prawdopodobne jest, aby podstawowa kontrola nie powiodła się. Jeśli to się nie powiedzie, jaki jest zakres potencjalnego ryzyka organizacyjnego? Co to jest również skuteczność kontroli wyrównywczej? W oparciu o ocenę zastosuj szczegółowe środki ochrony, aby rozwiązać potencjalne błędy mechanizmów kontroli zabezpieczeń.
Oto przykład:
Zadaj to pytanie | Aby określić kontrolki, które... |
---|---|
Czy połączenia są uwierzytelniane za pośrednictwem protokołu Microsoft Entra ID, Transport Layer Security (TLS) z uwierzytelnianiem wzajemnym lub innego nowoczesnego protokołu zabezpieczeń zatwierdzonego przez zespół ds. zabezpieczeń: - Między użytkownikami a aplikacją? - Między składnikami aplikacji i usługami? |
Zapobiegaj nieautoryzowanemu dostępowi do składników i danych aplikacji. |
Czy ograniczasz dostęp tylko do kont, które muszą zapisywać lub modyfikować dane w aplikacji? | Zapobiegaj nieautoryzowanemu manipulowaniu lub modyfikacji danych. |
Czy działanie aplikacji jest rejestrowane i przekazywane do systemu zarządzania informacjami i zdarzeniami zabezpieczeń (SIEM) za pośrednictwem usługi Azure Monitor lub podobnego rozwiązania? | Szybko wykrywaj i badaj ataki. |
Czy dane krytyczne są chronione za pomocą szyfrowania zatwierdzonego przez zespół ds. zabezpieczeń? | Zapobiegaj nieautoryzowanemu kopiowaniu danych magazynowanych. |
Czy ruch sieciowy przychodzący i wychodzący jest szyfrowany za pośrednictwem protokołu TLS? | Zapobiegaj nieautoryzowanemu kopiowaniu danych podczas przesyłania. |
Czy aplikacja jest chroniona przed atakami typu "rozproszona odmowa usługi" (DDoS) za pośrednictwem usług, takich jak Azure DDoS Protection? | Wykrywanie ataków zaprojektowanych pod kątem przeciążenia aplikacji, aby nie można było jej używać. |
Czy aplikacja przechowuje poświadczenia logowania lub klucze w celu uzyskania dostępu do innych aplikacji, baz danych lub usług? | Określ, czy atak może używać aplikacji do ataku na inne systemy. |
Czy kontrolki aplikacji umożliwiają spełnienie wymagań prawnych? | Ochrona prywatnych danych użytkowników i unikanie grzywny w zakresie zgodności. |
Śledzenie wyników modelowania zagrożeń
Zdecydowanie zalecamy użycie narzędzia do modelowania zagrożeń. Narzędzia mogą zautomatyzować proces identyfikowania zagrożeń i tworzyć kompleksowy raport wszystkich zidentyfikowanych zagrożeń. Pamiętaj, aby przekazać wyniki wszystkim zainteresowanym zespołom.
Śledź wyniki w ramach listy prac zespołu obciążeń, aby zapewnić odpowiedzialność w odpowiednim czasie. Przypisz zadania osobom odpowiedzialnym za ograniczenie określonego ryzyka, które zidentyfikowano modelowanie zagrożeń.
Po dodaniu nowych funkcji do rozwiązania zaktualizuj model zagrożenia i zintegruj go z procesem zarządzania kodem. Jeśli znajdziesz problem z zabezpieczeniami, upewnij się, że istnieje proces klasyfikacji problemu na podstawie ważności. Proces powinien pomóc określić, kiedy i jak rozwiązać problem (na przykład w następnym cyklu wydania lub w szybszym wydaniu).
Regularne przeglądanie wymagań dotyczących obciążeń krytycznych dla działania firmy
Regularnie spotykaj się ze sponsorami wykonawczymi, aby zdefiniować wymagania. Przeglądy te umożliwiają dostosowanie oczekiwań i zapewnienie alokacji zasobów operacyjnych do inicjatywy.
Ułatwienia platformy Azure
Cykl projektowania zabezpieczeń firmy Microsoft udostępnia narzędzie do modelowania zagrożeń, które ułatwia proces modelowania zagrożeń. To narzędzie jest dostępne bez dodatkowych kosztów. Aby uzyskać więcej informacji, zobacz stronę Modelowanie zagrożeń.
Przykład
Ten przykład opiera się na środowisku technologii informatycznych (IT) ustanowionym w punkcie odniesienia zabezpieczeń (SE:01). Takie podejście zapewnia szeroką wiedzę na temat krajobrazu zagrożeń w różnych scenariuszach IT.
Personas cyklu życia programowania. Istnieje wiele osób zaangażowanych w cykl życia programowania, w tym deweloperów, testerów, użytkowników końcowych i administratorów. Wszystkie z nich mogą być zagrożone i narażać środowisko na ryzyko poprzez luki w zabezpieczeniach lub zagrożenia utworzone celowo.
Potencjalni atakujący. Osoby atakujące uważają szeroką gamę narzędzi dostępnych w dowolnym momencie do eksplorowania luk w zabezpieczeniach i rozpoczęcia ataku.
Mechanizmy kontroli zabezpieczeń. W ramach analizy zagrożeń zidentyfikuj usługi zabezpieczeń platformy Azure, które mają być używane do ochrony rozwiązania i jak skuteczne są te rozwiązania.
Zbieranie dzienników. Dzienniki z zasobów platformy Azure i niektórych składników lokalnych mogą być wysyłane do usługi Azure Log Analytics, dzięki czemu możesz zrozumieć zachowanie rozwiązania opracowanego i spróbować przechwycić początkowe luki w zabezpieczeniach.
Rozwiązanie do zarządzania zdarzeniami zabezpieczeń (SIEM). Usługa Microsoft Sentinel może zostać dodana nawet na wczesnym etapie rozwiązania, dzięki czemu można tworzyć zapytania analityczne w celu ograniczenia zagrożeń i luk w zabezpieczeniach, przewidując środowisko zabezpieczeń w środowisku produkcyjnym.
Microsoft Defender dla Chmury może sprawić, że niektóre zalecenia dotyczące zabezpieczeń poprawią poziom zabezpieczeń.
Pokrewne łącza
Linki społecznościowe
Program Open Web Application Security Project (OWASP) udokumentował podejście do modelowania zagrożeń dla aplikacji.
Lista kontrolna zabezpieczeń
Zapoznaj się z pełnym zestawem zaleceń.