🧰 3.4.4 – Narzędzia do testowania
🎯 Cel sekcji
Poznać narzędzia, które pomagają identyfikować Insecure Design – mimo że wykrycie tego typu podatności często wymaga analizy manualnej i wiedzy eksperckiej.
🧠 Charakterystyka narzędzi
Podatności typu Insecure Design najczęściej nie są wykrywane przez automatyczne skanery, dlatego kluczowe znaczenie mają:
- narzędzia wspomagające analizę architektury,
- przeglądy kodu i modeli uprawnień,
- testy manualne logiki biznesowej.
🧰 Narzędzia bezpłatne
🧾 1. Threat Dragon (OWASP)
- Tworzenie modeli zagrożeń (Threat Modeling).
- Identyfikacja logicznych luk projektowych w architekturze aplikacji.
🔍 2. Burp Suite (Community/Pro)
- Manualne testowanie logiki aplikacji (np. przechodzenie przez proces zakupowy, rejestracji, resetu hasła).
- Zmiana kolejności kroków, modyfikacja tokenów, ID, stanu sesji.
🧠 3. ZAP Browser Plug-in / Manual Explore
- Testowanie logiki aplikacji przez przeglądarkę z przechwytywaniem żądań.
- Możliwość ręcznego przechodzenia scenariuszy i rejestrowania błędów projektowych.
📋 4. Draw.io / Whimsical / Lucidchart
- Tworzenie diagramów przepływu danych i użytkownika.
- Ułatwiają identyfikację brakujących punktów kontroli bezpieczeństwa.
💼 Narzędzia komercyjne
🔐 1. IriusRisk
- Automatyzacja modelowania zagrożeń na etapie projektowania.
- Integracja z Jira, repozytoriami kodu, pipeline CI/CD.
🔍 2. Burp Suite Professional
- Zaawansowane testy logiki, makra, sekwencje kroków (np. logowanie + reset + edycja konta).
- Pluginy typu Autorize, Flow, Session Handling Rules.
📊 3. Snyk / Checkmarx / SonarQube
- Wspierają wykrywanie wzorców anty-pattern w kodzie, np. brak autoryzacji, brak walidacji ID.
🧠 Wskazówki
- Połącz narzędzia graficzne z analizą logiki użytkownika.
- Testuj procesy aplikacji od końca do początku – szukaj luk projektowych.
- Nie zakładaj, że jeśli endpoint działa, to działa bezpiecznie – sprawdzaj sensowność projektu.
W kolejnym kroku: 3.4.5 – Praktyczne ćwiczenie: Testowanie i mitigacja Insecure Design