Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Modelowanie zagrożeń Opracował: dr inż. Maciej Miłostan,

Podobne prezentacje


Prezentacja na temat: "Modelowanie zagrożeń Opracował: dr inż. Maciej Miłostan,"— Zapis prezentacji:

1 Modelowanie zagrożeń Opracował: dr inż. Maciej Miłostan,
Instytut Informatyki Politechniki Poznańskiej oraz Poznańskie Centrum Superkomputerowo-Sieciowe Na podstawie: IT Infrastructure Threat Modeling Guide Solution Accelerators – Security and Compliance

2 Microsoft.com/SolutionAccelerators
Agenda Wprowadzenie i główne cele Proces modelowania zagrożeń infrastruktury IT (z ang. ITI TM) Wizja Model Identyfikacja zagrożeń Środki zaradcze Walidacja Materiały szkoleniowe Microsoft.com/SolutionAccelerators

3 Microsoft.com/SolutionAccelerators
Cele ITI TM Kto? Kto powinien kierować procesem ITI TM? Kto powinien w tym procesie uczestniczyć? Co? Powtarzalny proces mający na celu pomoc w identyfikacji i adresowaniu zagrożeń bezpieczeństwa infrastruktury IT Kiedy? Im wcześniej zaczniemy modelowanie zagrożeń (TM), tym więcej czasu mamy na planowanie i środki zaradcze Najgorszym momentem jest czas w trakcie audytu lub po ataku Dlaczego? Jeśli my („good guys”) sami nie przeanalizujemy zagrożeń, to zapewne zrobią to inni z niekoniecznie dobrymi intencjami („bad guys”) Po to, by znaleźć błędy w istniejącym systemie, jeśli jeszcze (lub już) jest czas na ich usunięcie Wykryć problemy w projektowanym systemie na tyle wcześnie, aby można go było przeprojektować Microsoft.com/SolutionAccelerators

4 Microsoft.com/SolutionAccelerators
Cele ITI TM: Kto? Kto powinien kierować procesem ITI TM? Operatorzy systemów Inżynierowie systemowi Architekci systemów Zespół bezpieczeństwa Każda z powyższych grup może kierować procesem modelowania zagrożeń Kto powinien w tym procesie uczestniczyć? Zespoły operacyjne / implementacyjne Zespoły odpowiedzialne za produkt Pentesterzy Audytorzy Eksperci nie zorientowani na bezpieczeństwo Wszyscy powinni uczestniczyć, każda grupa ma coś do zaoferowania Microsoft.com/SolutionAccelerators

5 Microsoft.com/SolutionAccelerators
Cele ITI TM: Co? Analiza, dyskusja i dokumentacja zagadnień bezpieczeństwa w sposób ustrukturalizowany Przegląd i dokumentacja Komponenty / system jako całość Cechy/funkcje produktu związane z bezpieczeństwem Płaszczyzna ataku Upewnienie się, że proces modelowania zagrożeń (ITI TM) został wykonany dokładnie i starannie Microsoft.com/SolutionAccelerators

6 Microsoft.com/SolutionAccelerators
Cele ITI TM: Kiedy? Przed: Znajdź problemy przed przystąpieniem do implementacji, tak aby w implementacji uwzględnić wypracowane środki zaradcze W trakcie: Analiza bezpieczeństwa na bieżąco w trakcie implementacji może być uciążliwa i łatwo niektóre problemy przeoczyć Później (Za późno ;-) ): Modelowanie zagrożeń (ITI TM) wykonywane jako reakcja na zdarzenie Wystąpił (często udany) atak lub niepomyślny audyt Microsoft.com/SolutionAccelerators

7 Microsoft.com/SolutionAccelerators
Cele ITI TM: Dlaczego? Atakujący myśli inaczej Nie będziesz myśleć jak atakujący (każdy patrzy na system inaczej) Dla pewności, że istniejące systemy są bezpieczne Po to by znaleźć problemy bezpieczeństwa w trakcie fazy projektowania i implementacji Poprawić architekturę i wdrożenie Po to by zapewnić zgodność produktu z wymaganiami, zadbać o wysoki poziom bezpieczeństwa i jednocześnie zmieścić się w budżecie Microsoft.com/SolutionAccelerators

8 Microsoft.com/SolutionAccelerators
Krok 1 procesu - Wizja Microsoft.com/SolutionAccelerators

9 Microsoft.com/SolutionAccelerators
Wizja Opracuj wizję każdego komponentu Gdzie komponent będzie wykorzystywany? Jak komponent będzie używany? Microsoft.com/SolutionAccelerators

10 Microsoft.com/SolutionAccelerators
Krok 2 procesu: Model Microsoft.com/SolutionAccelerators

11 Różne poziomy diagramów
Diagram 1 poziomu Wysoki poziom abstrakcji; pojedynczy komponent / scenariusz Diagram 2 poziomu Niższego poziomu; szczegóły komponentów podrzędnych i zależności Diagram 3 poziomu Znacznie bardziej szczegółowy Zwykle trzy poziomy wystarczają – wyjątek stanowią projekty dużej skali Microsoft.com/SolutionAccelerators

12 Microsoft.com/SolutionAccelerators
Diagram 1 poziomu Scenariusz wysokiego poziomu (diagram kontekstowy) Microsoft.com/SolutionAccelerators

13 Microsoft.com/SolutionAccelerators
Diagram 2 poziomu Niższego poziomu; szczegóły komponentów podrzędnych i zależności Microsoft.com/SolutionAccelerators

14 Microsoft.com/SolutionAccelerators
Diagram 3 poziomu Bardziej szczegółowy; specyfika produktu, technologii i protokołu Microsoft.com/SolutionAccelerators

15 Microsoft.com/SolutionAccelerators
Tworzenie diagramów Rozpocznij od wysokiego poziomu abstrakcji Kilka zewnętrznych połączeń interaktywnych Jeden lub dwa procesy Jedno lub dwa miejsca przechowywania danych (opcjonalnie) Przepływy danych, żeby je połączyć Sprawdź wynik swojej pracy Czy diagram przedstawia „opowieść”/kontekst w sposób wystarczająco ogólny? Czy diagram odzwierciedla rzeczywistość? Przypisz etykiety wszystkim elementom na diagramie Microsoft.com/SolutionAccelerators

16 Tworzenie diagramów – ciąg dalszy
Użyj diagramów przepływów danych (ang. data flow diagrams (DFDs)) Diagramy przepływów danych są jednym ze sposobów reprezentacji systemu Uwzględnij punkty wejście, procesy, magazyny danych, przepływy danych Zdefiniuj granice przywilejów (ang. trust boundaries) Diagram na scenariusz (takie podejście bywa pomocne) Zaktualizuj diagramy po zmianie w komponentach Wylistuj założenia i zależności Microsoft.com/SolutionAccelerators

17 Elementy diagramów - przykłady
Ludzie Inne systemy Komponenty Usługi Usługi sieciowe/ Web Services Ruch Sieciowy Zdalne wywołania procedur (RPC) Baza danych Plik Rejestr Pamięć współdzielona Kolejka/Stos Jednostka zewnętrzna Przepływ Danych Proces Magazyn danych Granice przywilejów Zapora, urządzenie brzegowe Granice procesów System plików Microsoft.com/SolutionAccelerators

18 Microsoft.com/SolutionAccelerators
Granice przywilejów Każdy proces komunikujący się za pośrednictwem sieci zawsze posiada granice przywilejów (ang. trust boundary) Nawet w przypadku kanałów szyfrowanych wciąż możemy wyróżnić niezależne byty Szyfrowanie ruchu sieciowego jest „instynktownym” środkiem zaradczym, ale nie w pełni adresuje problem manipulacji (celowej modyfikacji) danych (ang. tampering) lub problem podszywania się (ang. spoofing) Zdefiniuj granice przywilejów, przecinające przepływy danych Zidentyfikuj punkty i płaszczyzny, w których atakujący może się podłączyć (ang. interject) Microsoft.com/SolutionAccelerators

19 Microsoft.com/SolutionAccelerators
Analiza diagramów Dokonaj analizy procesów i magazynów danych Dokonaj identyfikacji interakcji, które pomiędzy nimi zachodzą A co, jeśli konieczne jest dodatkowe uściślenie / identyfikacja komponentu? Zaznacz, że konieczne jest dalsze uściślenie, żeby w pełni wyjaśnić wpływ implementacji na bezpieczeństwo Wskaż, co przekracza granice przywilejów Słowa i zwroty takie jak „czasami”, „w niektórych przypadkach” oraz „także” oznaczają, że prawdopodobnie mamy do czynienia z połączeniem elementów, które może warto zdekomponować Microsoft.com/SolutionAccelerators

20 Tworzenie diagramów: analiza czy synteza?
Strategia „top down” (od ogółu do szczegółu) Kontekst jest wyrażony na diagramie pierwszego poziomu Koncentruje się na systemie jako całości Strategia jest bardziej pracochłonna na początku Strategia „bottom up” (od szczegółu do ogółu) Eksperci znają funkcje komponentów Procesy nie są zaprojektowane w sposób ułatwiający syntezę Więcej pracy w skali całego projektu Jeśli czas pozwala, zastosuj obie strategie Microsoft.com/SolutionAccelerators

21 Standardy oceny diagramów
Czy dane pojawiają się w sposób magiczny? Klient Zamówienie Potwierdzenie Baza danych SQL Serwer WWW Dane pochodzą od jednostek zewnętrznych lub z magazynów danych Microsoft.com/SolutionAccelerators

22 Standardy oceny diagramów – ciąg dalszy
Czy są ujścia danych (ang. data sink)? transakcja Serwer WWW Baza danych SQL Raport dla działu HR Nie zapisujesz danych bez powodu; komuś są one potrzebne Microsoft.com/SolutionAccelerators

23 Standardy oceny diagramów – ciąg dalszy
Dane nie przepływają w sposób magiczny… Baza zwrotów Baza zamówień Baza zamówień Autoryzacja Zwrotu Towaru AZT Baza zwrotów …wymiana odbywa się poprzez procesy Microsoft.com/SolutionAccelerators

24 Krok 3 procesu: Identyfikacja Zagrożeń
Microsoft.com/SolutionAccelerators

25 Identyfikacja zagrożeń
Eksperci mogą przeprowadzić burzę mózgów, ale co w przypadku, gdy nie czujesz się ekspertem? Użyj metodyki STRIDE, żeby przeanalizować elementy diagramu Pomyśl w jaki sposób zagrożenia są manifestowane Threat/Zagrożenie Property/Właściwość Spoofing / Podszywanie się Authentication (Uwierzytelnianie) Tampering / Modyfikacja Integrity (Spójność) Repudiation / Zaprzeczenie Non-repudiation (Niezaprzeczalność) Information Disclosure / Ujawnienie informacji Confidentiality (Poufność) Denial of Service / Odmowa usługi Availability (Dostępność) Elevation of Privilege /Eskalacja przywilejów Authorization (Autoryzacja) Microsoft.com/SolutionAccelerators

26 Microsoft.com/SolutionAccelerators
Zrozumienie zagrożeń Zagrożenie (Threat) Właściwość (Property) Definicja Przykład Podszywanie się (Spoofing) Uwierzytelnianie (Authentication) Podszywanie się pod kogoś lub pod coś Udawanie, że jest się dyrektorem, albo witryną microsoft.com, lub biblioteki ntdll.dll. Modyfikacja (Tampering) Spójność, Integralność (Integrity) Modyfikacja danych lub kodu Modyfikacja pliku DLL na dysku lub innym nośniku pamięci, modyfikacja pakietu w trakcie przesyłu przez sieć LAN. Zaprzeczenie, wyparcie się (Repudiation) Niezaprzeczalność (Non-repudiation) Utrzymywanie, że nie wykonało się określonej akcji „Nie wysłałem tego a,” „To nie ja zmodyfikowałem plik,” „Mój drogi, ja z pewnością nie odwiedziłem tej strony!” Ujawnienie Informacji (Information Disclosure) Poufność (Confidentiality) Ekspozycja informacji w sposób umożliwiający ich zobaczenie przez osoby do tego nie uprawnione Umożliwienie komuś odczytu kodu źródłowego systemu Windows®; publikowanie listy klientów w witrynie internetowej. Odmowa Usługi (Denial of Service) Dostępność (Availability) Uniemożliwienie dostępu do usługi uprawnionym użytkownikom lub zdegradowanie poziomu ich obsługi Destabilizacja pracy systemu lub usługi sieciowej (np. portalu), rozsyłanie pakietów i zużywanie cennych sekund czasu procesora, lub przekierowywanie pakietów do czarnej dziury. Eskalacja przywilejów (Elevation of Privilege) Autoryzacja (Authorization) Uzyskiwanie możliwości działania bez właściwej autoryzacji Pozwalanie zdalnym nieuwierzytelnionym użytkownikom na wykonywanie kodu, uzyskanie uprawnień administratora przy korzystaniu z konta zwykłego użytkownika Microsoft.com/SolutionAccelerators

27 Zrozumienie zagrożeń – ciąg dalszy
Różne rodzaje zagrożeń wpływają na każdy rodzaj elementów modelowanego systemu Element S T R I D E Jednostka zewnętrzna Proces Magazyn danych Przepływ danych Microsoft.com/SolutionAccelerators

28 Metod DREAD – ocena ryzka
Pięć składowych Damage potential (potencjalne uszkodzenia) Reproducibility (odtwarzalność) Exploitablity (możliwość wykorzystania) Affected users (użytkownicy, których dotyka) Discoverability (wykrywalność) Dla każdej składowej przyznajemy punkty ze zdefiniowanego przedziału np. [0-3] Miara oceny ryzyka jest średnią z ocen składowych Microsoft.com/SolutionAccelerators

29 Krok 4 procesu: propozycja środków zaradczych – adresowanie zagrożeń
Microsoft.com/SolutionAccelerators

30 Microsoft.com/SolutionAccelerators
Propozycja środków zaradczych: kluczowy punkt procesu modelowania zagrożeń Adresowanie lub łagodzenie zagrożenia Ochrona zasobów Implementacja zabezpieczonych systemów Po co w ogóle zajmować się modelowaniem zagrożeń, jeśli nie chcemy szukać środków zaradczych? Znajdź problemy i je zaadresuj Microsoft.com/SolutionAccelerators

31 Jak adresować zagrożenia?
Cztery sposoby adresowania zagrożeń: Przeprojektuj, by wyeliminować Zastosuj standardowe techniki/środki zaradcze Stwórz (wymyśl) nowe techniki/środki zaradcze (bardziej ryzykowne) Zaakceptuj lukę w architekturze lub implementacji Upewnij się, że zaadresowano każde wykryte zagrożenie Microsoft.com/SolutionAccelerators

32 Przykładowe środki zaradcze*
Podszywanie się (Spoofing) Uwierzytelnianie (Authentication) Uwierzytelnianie podstawowe (Basic authentication) Uwierzytelnianie w oparciu o funkcje skrótu (Digest authentication) Uwierzytelnianie w oparciu o „ciasteczka” (Cookie authentication) Uwierzytelnianie oparte o mechanizmy Windows (Windows authentication (NTLM)) Uwierzytelnianie przy wykorzystaniu systemu Kerberos (Kerberos authentication) Systemy oparte o infrastrukturę klucza publicznego (PKI systems such as SSL/TLS and certificates) Certyfikaty cyfrowe (Digital signatures) Funkcje hashowe (Hashes) Modyfikacja (Tampering) Integralność (Integrity) Listy kontroli dostępu (ACLs) Podpisy cyfrowe (Digital signatures) Kod uwierzytelniania wiadomości (Message Authentication Codes) Zaprzeczenie (Repudiation) Niezaprzeczalność (Non Repudiation) Silne mechanizmy uwierzytelniania (Strong Authentication) Bezpieczne logowanie i audyty (Secure logging and auditing) Podpisy cyfrowe (Digital Signatures) Bezpieczne znaczniki czasowe (Secure time stamps) Wykorzystanie zaufanych stron trzecich (Trusted third parties) * Lista nie wyczerpuje wszystkich możliwości Microsoft.com/SolutionAccelerators * Lista nie wyczerpuje wszystkich możliwości

33 Przykładowe środki zaradcze* - cd.
Ujawnienie informacji (Information Disclosure) Poufność (Confidentiality) Szyfrowanie (Encryption) Listy kontrolne (ACLS) Odmowa Usługi (Denial of Service) Dostępność (Availability) Filtrowanie (Filtering) Kwoty (Quotas) Uwierzytelnianie (Authorization) Architektura wysokodostępna (High availability designs) Eskalacja przywilejów (Elevation of privilege) Autoryzacja (Authorization) Listy kontrolne (ACLs) Grupy i role (Group or role membership) Własność przywilejów (Privilege ownership) Uprawnienie (Permissions) Weryfikacja wejścia (Input validation) * Lista nie wyczerpuje wszystkich możliwości Microsoft.com/SolutionAccelerators

34 Tworzenie (ang. inventing) nowych środków zaradczych jest trudne
Środki zaradcze leżą w zakresie dziedzin eksperckich takich jak: sieci komputerowe, systemy baz danych, kryptografia Amatorzy popełniają błędy i profesjonaliści też Niewłaściwe rozwiązania będą uważane za poprawnie funkcjonujące dopóty, dopóki: Nie spojrzy na nie ekspert… … i ekspert będzie po Twojej stronie Kiedy musisz zaproponować nowe rozwiązanie wykrytego problemu, to: Uzyskaj pomoc eksperta Upewnij się, że dobrze przetestowałeś proponowane rozwiązanie Microsoft.com/SolutionAccelerators

35 Krok 5 procesu: walidacja
Microsoft.com/SolutionAccelerators

36 Microsoft.com/SolutionAccelerators
Walidacja procesu Dokonaj walidacji całego procesu modelowania zagrożeń Czy diagram odpowiada implementacji? Czy wszystkie znane zagrożenia zostały wymienione? Minimum: metodyka STRIDE została zastosowana dla każdego elementu, który „dotyka” granicy przywilejów Czy model został zweryfikowany w fazie testów? Podejście testowe często znajduje problemy w modelu zagrożeń lub szczegółach Czy każde zagrożenie zostało zaadresowane? Czy zaadresowano je we właściwy sposób? Czy zastosowane środki zaradcze zostały przetestowane? Microsoft.com/SolutionAccelerators

37 Walidacja zagrożeń i środków
Zagrożenia Przegląd ataku Przegląd kontekstu Przegląd skutków Środki zaradcze Powiązanie z zagrożeniami Opis metody adresującej zagrożenie Przypisanie etykiety do środka zaradczego/metody adresującej zagrożenie (dokumentacja!) Bezpieczeństwo / testy penetracyjne są elementem taktyki, a nie środkiem zaradczym Microsoft.com/SolutionAccelerators

38 Walidacja uchwyconych informacji
Zależności Jakie inne komponenty współpracują ze sobą? Jakie funkcje bezpieczeństwa są w tych innych komponentach? Jesteś pewien? Założenia Rzeczy, które zanotowałeś w trakcie procesu modelowania zagrożeń Microsoft.com/SolutionAccelerators

39 Przykładowe środki zaradcze
Hasła / Polityki nieaktywności Środek (ang. mitigation) #1: Urządzenia mobilne muszą być chronione hasłem / blokowane i licznik czasu nieaktywności musi wykorzystywany do automatycznego blokowania urządzenia Środek #2: Magazyn danych na urządzeniu musi być szyfrowany Środek #3: Zdalne wymazanie (możliwość skasowania ze zdalnej lokalizacji wszystkich danych na urządzeniu mobilnym) musi być dostępne. Microsoft.com/SolutionAccelerators

40 Modelowanie zagrożeń – organizacja efektywnych spotkań
Zacznijcie od przeglądu diagramów przepływów (DFD) Zidentyfikujcie najbardziej interesujące komponenty Istotne zasoby (aktywa) Punkty wejścia / granice przywilejów Zastosuj STRIDE do tych zagrożeń, które przekraczają granice komponentów / powtórz ten krok Rozważ standardy Microsoft.com/SolutionAccelerators

41 Materiały szkoleniowe
Artykuł MSDN® “Uncover Security Design Flaws Using The STRIDE Approach” Microsoft Security Risk Management Guide Modelowanie zagrożeń/Threat Modeling, książka autorstwa Franka Swiderskiego i Windowa Snydera, 2004 (dostępna w języku polskim i angielskim) Microsoft Operations Framework (MOF) 4.0 Microsoft.com/SolutionAccelerators

42 Do dzieła / Call to Action
Modeluj zagrożenia Twojej infrastruktury IT! Zacznij wcześnie Śledź zmiany Dyskutuj „zależności” i założenia bezpieczeństwa z odpowiednimi zespołami Pogłębiaj wiedzę Książki, kursy online, artykuły MSDN Microsoft.com/SolutionAccelerators

43 „Niekończąca się opowieść”
Zapewnianie bezpieczeństwa jest nigdy nie kończącym się procesem Proces biegnie cyklicznie nawet wtedy, gdy implementacja komponentu lub systemu uzyskała status produkcyjny Zadbaj o to, by Diagramy odwzorowywały implementacje Zagrożenia i środki zaradcze zostały zidentyfikowane dla wszystkich elementów na diagramach Środki zaradcze były walidowane poprzez kontrolę jakości i testy Microsoft.com/SolutionAccelerators

44 Microsoft.com/SolutionAccelerators
Copyright © 2009 Microsoft Corporation. All rights reserved. Complying with the applicable copyright laws is your responsibility. By using or providing feedback on this documentation, you agree to the license agreement below. If you are using this documentation solely for non-commercial purposes internally within YOUR company or organization, then this documentation is licensed to you under the Creative Commons Attribution-NonCommercial License. To view a copy of this license, visit or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA. This documentation is provided to you for informational purposes only, and is provided to you entirely "AS IS". Your use of the documentation cannot be understood as substituting for customized service and information that might be developed by Microsoft Corporation for a particular user based upon that user’s particular environment. To the extent permitted by law, MICROSOFT MAKES NO WARRANTY OF ANY KIND, DISCLAIMS ALL EXPRESS, IMPLIED AND STATUTORY WARRANTIES, AND ASSUMES NO LIABILITY TO YOU FOR ANY DAMAGES OF ANY TYPE IN CONNECTION WITH THESE MATERIALS OR ANY INTELLECTUAL PROPERTY IN THEM. Microsoft may have patents, patent applications, trademarks, or other intellectual property rights covering subject matter within this documentation. Except as provided in a separate agreement from Microsoft, your use of this document does not give you any license to these patents, trademarks or other intellectual property. Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies, organizations, products, domain names, addresses, logos, people, places and events depicted herein are fictitious. Microsoft, ActiveSync, MSDN, Windows, and Windows Mobile are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners. You have no obligation to give Microsoft any suggestions, comments or other feedback ("Feedback") relating to the documentation. However, if you do provide any Feedback to Microsoft then you provide to Microsoft, without charge, the right to use, share and commercialize your Feedback in any way and for any purpose. You also give to third parties, without charge, any patent rights needed for their products, technologies and services to use or interface with any specific parts of a Microsoft software or service that includes the Feedback. You will not give Feedback that is subject to a license that requires Microsoft to license its software or documentation to third parties because we include your Feedback in them. Microsoft.com/SolutionAccelerators


Pobierz ppt "Modelowanie zagrożeń Opracował: dr inż. Maciej Miłostan,"

Podobne prezentacje


Reklamy Google