Model STRIDE
Podszywanie się, manipulowanie, zaprzeczanie i inne zagrożenia
Model STRIDE to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Czym jest STRIDE
STRIDE to platforma kategoryzowania zagrożeń opracowana przez firmę Microsoft. Udostępnia sześć kategorii zagrożeń, dzięki czemu można systematycznie pytać: „co może pójść nie tak?” w odniesieniu do każdego komponentu systemu.
STRIDE to mnemotechniczny skrót nazw sześciu rodzajów zagrożeń:
- Spoofing (podszywanie się)
- Tampering (modyfikowanie)
- Repudiation (wyparcie się)
- Information disclosure (ujawnienie informacji)
- Denial of service (odmowa usługi)
- Elevation of privilege (eskalacja uprawnień)
STRIDE odzwierciedla właściwości bezpieczeństwa
Każda kategoria STRIDE oznacza naruszenie pożądanej właściwości bezpieczeństwa. To zestawienie pomaga zapamiętać, przed czym chroni każda kategoria:
Threat Violates property
---------------------- --------------------
Spoofing Authentication
Tampering Integrity
Repudiation Non-repudiation
Information disclosure Confidentiality
Denial of service Availability
Elevation of privilege AuthorizationPodszywanie się
Podszywanie się (spoofing) polega na udawaniu kogoś lub czegoś, czym nie są Państwo. Narusza uwierzytelnianie.
Przykłady:
- Logowanie przy użyciu skradzionych danych uwierzytelniających
- Fałszowanie adresu „From” wiadomości e-mail
- Utworzenie fałszywej strony logowania w celu wyłudzenia haseł
- Podszywanie się pod zaufany serwer
Typowe środki zaradcze to silne uwierzytelnianie, uwierzytelnianie wieloskładnikowe, wzajemne TLS oraz podpisy cyfrowe.
Modyfikowanie
Modyfikowanie (tampering) polega na nieuprawnionej zmianie danych lub kodu. Narusza integralność.
Przykłady:
- Zmiana pola ceny w żądaniu HTTP przed jego wysłaniem
- Modyfikowanie rekordu w bazie danych bez uprawnień
- Wstrzyknięcie złośliwego kodu do aktualizacji oprogramowania
- Zmiana pliku dziennika w celu ukrycia aktywności
Środki zaradcze obejmują walidację danych wejściowych, kontrole integralności (skróty/HMAC), podpisywanie kodu oraz kontrolę dostępu.
Wyparcie się
Wyparcie się (repudiation) ma miejsce, gdy użytkownik zaprzecza wykonaniu określonej czynności, a system nie jest w stanie tego udowodnić. Narusza niezaprzeczalność.
Przykład: użytkownik wykonuje oszukańczą transakcję, następnie twierdzi, że nigdy tego nie zrobił, a w systemie nie ma logów, które mogłyby to udowodnić.
Środki zaradcze:
- Kompletne i odporne na modyfikacje logowanie audytowe
- Podpisy cyfrowe dla działań o kluczowym znaczeniu
- Bezpieczne znaczniki czasu i przekazywanie logów do magazynu jednokrotnego zapisu
Ujawnienie informacji
Ujawnienie informacji (information disclosure) polega na udostępnieniu danych osobom, które nie powinny ich widzieć. Narusza poufność.
Przykłady:
- Nieszyfrowana baza danych ujawniająca rekordy klientów
- Rozbudowane komunikaty o błędach ujawniające ślady stosu lub zapytania
- Nieprawidłowo skonfigurowany zasobnik w chmurze dostępny publicznie
- Wysyłanie wrażliwych danych przez nieszyfrowany protokół HTTP
Środki zaradcze obejmują szyfrowanie danych podczas przesyłania i w spoczynku, dostęp zgodny z zasadą najmniejszych uprawnień oraz ostrożną obsługę błędów.
Odmowa usługi
Odmowa usługi (DoS) polega na uniemożliwieniu uprawnionym użytkownikom korzystania z systemu. Narusza dostępność.
Przykłady:
- Zalewanie serwera ruchem sieciowym (DDoS)
- Pojedyncze kosztowne zapytanie wyczerpujące zasoby bazy danych
- Zapełnianie miejsca na dysku przesyłanymi plikami
- Wywołanie nieskończonej pętli lub wycieku zasobów
Środki zaradcze obejmują ograniczanie liczby żądań, limity, ograniczenia rozmiaru danych wejściowych, autoskalowanie oraz ochronę DDoS na poziomie upstream.
Eskalacja uprawnień
Eskalacja uprawnień (elevation of privilege) polega na uzyskaniu możliwości wykraczających poza przyznane uprawnienia. Narusza autoryzację.
Przykłady:
- Zwykły użytkownik uzyskujący dostęp do endpointu administratora
- Wykorzystanie błędu w celu uruchomienia kodu jako root
- Zmiana własnej roli za pomocą zmanipulowanego parametru
- Ucieczka z kontenera w celu uzyskania dostępu do hosta
Środki zaradcze obejmują egzekwowanie autoryzacji przy każdym żądaniu, zasadę najmniejszych uprawnień oraz sandboxing.
Stosowanie STRIDE dla każdego elementu
Siła STRIDE wynika z jego metodycznego stosowania. Dla każdego elementu na diagramie projektu należy przejść przez wszystkie sześć kategorii i sprawdzić, czy dane zagrożenie ma zastosowanie.
Element: Login API endpoint
S - Can someone spoof a valid user? -> brute force, stolen creds
T - Can request data be tampered? -> modify role in payload
R - Can a user deny logging in? -> need audit logs
I - Can it leak info? -> error reveals if user exists
D - Can it be flooded? -> no rate limit = DoS
E - Can a user gain admin? -> missing authZ checkSTRIDE dla elementu a STRIDE dla interakcji
STRIDE można stosować na dwa sposoby:
- STRIDE dla elementu — analizowanie każdego komponentu (procesu, magazynu danych, encji zewnętrznej) pod kątem odpowiednich typów zagrożeń
- STRIDE dla interakcji — analizowanie każdego przepływu danych między elementami
Nie każde zagrożenie dotyczy każdego elementu. Na przykład magazyny danych rzadko się „podszywają”, ale są szczególnie narażone na modyfikowanie i ujawnienie informacji. Dla każdego elementu należy stosować odpowiedni podzbiór kategorii.
Od zagrożeń do środków zaradczych
STRIDE naturalnie łączy się ze strategią ograniczania ryzyka. Dla każdego zidentyfikowanego zagrożenia należy wybrać jedną z czterech reakcji:
- Ograniczyć — dodać zabezpieczenie zmniejszające ryzyko
- Wyeliminować — usunąć funkcję lub komponent powodujący zagrożenie
- Przenieść — przenieść ryzyko (ubezpieczenie, strona trzecia)
- Zaakceptować — świadomie tolerować niskie ryzyko
Każdą decyzję dotyczącą zagrożenia należy udokumentować, aby żadne zagrożenie nie zostało pominięte bez wyjaśnienia.
Szybki test
Sprawdźcie Państwo swoją wiedzę na temat kategorii STRIDE.
Podsumowanie
Dowiedzieli się Państwo, na czym polega platforma STRIDE:
- Spoofing (podszywanie się — uwierzytelnianie), Tampering (modyfikowanie — integralność), Repudiation (wyparcie się — niezaprzeczalność)
- Information disclosure (ujawnienie informacji — poufność), Denial of service (odmowa usługi — dostępność), Elevation of privilege (eskalacja uprawnień — autoryzacja)
- Każda kategoria narusza określoną właściwość bezpieczeństwa
- STRIDE należy stosować metodycznie dla każdego elementu lub każdej interakcji
- Dla każdego zagrożenia należy zdecydować, czy je ograniczyć, wyeliminować, przenieść czy zaakceptować
Następnie dowiedzą się Państwo, jak odwzorowywać przepływy danych i granice zaufania, aby wiedzieć, gdzie stosować STRIDE.
Często zadawane pytania
Czy lekcja „Model STRIDE” jest bezpłatna?
Tak — pełny tekst „Model STRIDE” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Model STRIDE”?
Podszywanie się, manipulowanie, zaprzeczanie i inne zagrożenia Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Model STRIDE”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Dlaczego modelowanie zagrożeń ma znaczenie
- Model STRIDE
- Diagramy przepływu danych i granice zaufania
- Drzewa ataków i ustalanie priorytetów ryzyka