1 Bezpieczeństwo a zarządzanie projektamiWojciech Dworakowski, SecuRing OWASP Poland,
2 Bezpieczeństwo Funkcjonalność Dostępność
3 Z mojego doświadczeniaPonad 200 zbadanych systemów w branży finansowej i nie tylko Średnio ok. 10 podatności na badany system W ponad 70% przypadków znajdujemy podatności o znaczeniu kluczowym
4 Koszty Szczegółowe testy bezpieczeństwa Usuwanie podatnościAnaliza zmian Negocjacje Korespondencja, spotkania Weryfikacja skuteczności poprawek Czasowe istnienie podatności na produkcji (akceptacja ryzyka)
5 Przyczyny Wymagania w zakresie bezpieczeństwa nie są definiowane w ogóle lub nie uwzględniają cech niefunkcjonalnych Osoby definiujące wymagania nie mają wiedzy pozwalającej na projektowanie scenariuszy ataków dobranie zabezpieczeń (wymagań)
6 Wymagania - przykłady funkcjonalne Po przekroczeniu maksymalnej liczby prób uwierzytelnienia konto zostaje zablokowane na okres czasu pozwalający na powstrzymanie ataków typu brute force. Wszystkie mechanizmy uwierzytelniania są egzekwowane po stronie serwera. Istnieje scentralizowany mechanizm zabezpieczający dostęp do każdego typu chronionych zasobów Dla wszystkich wejść są zdefiniowane i zastosowane wzorce pozytywnej walidacji Wszystkie niezaufane dane trafiające do interpreterów SQL używają parametryzowanych interfejsów niefunkcjonalne Źródło: OWASP ASVS (Application Security Verification Standard)
7 Jak to zmienić? Definiowanie Analiza ryzyka (7.4)Zdefiniowanie wymagań (7.2) Projektowanie Wymagania są weryfikowane w projekcie Wdrażanie Testy przed wdrożeniem (7.5-6) Weryfikacja spełnienia wymagań (7.7) Wykonanie Testy jednostkowe (według przyjętych wymagań)
8 Analiza ryzyka (model uproszczony)Identyfikacja ryzyka Zagrożenia (Kto?) Potencjalne skutki (Po co?) Ranking ryzyk (ekspozycja, motywacja, skutki, …) Definiowanie Projektowanie Wykonanie Wdrażanie
9 Zdefiniowanie wymagańKto? Scenariusze ataku Jak? Co? Zagrożenia Skutki Scenariusze ataku Jak zagrożenia mogą osiągnąć cele? Uwaga: Wymaga doświadczenia i wiedzy eksperckiej Definiowanie Projektowanie Wykonanie Wdrażanie
10 Zdefiniowanie wymagań (c.d.)Dobranie zabezpieczeń Jak bronić się przed atakami? WYMAGANIA funkcjonalne i niefunkcjonalne Częściowo można wykorzystać istniejące standardy Np. OWASP ASVS Definiowanie Projektowanie Wykonanie Wdrażanie
11 Projektowanie i wytwarzanieWeryfikacja wymagań w projekcie Wytwarzanie Weryfikacja poprawności kodu Testy jednostkowe zabezpieczeń Definiowanie Projektowanie Wykonanie Wdrażanie
12 Testy przed wdrożeniemZakres testów Weryfikacja wymagań Scenariusze testowe Scenariusze ataków (z etapu definiowania) Definiowanie Projektowanie Wykonanie Wdrażanie
13 Zalety Zmiany łatwe do wdrożeniaWystarczy dodać definiowanie wymagań w zakresie bezpieczeństwa Jasno zdefiniowane wymagania dla wykonawcy Jasno zdefiniowany zakres testów bezpieczeństwa
14 Zalety c.d. Optymalizacja kosztów Zabezpieczenia adekwatne do ryzykaMożliwość wczesnej eliminacji podatności Znacznie łatwiejsza analiza wpływu zmian na bezpieczeństwo
15 Równowaga Bezpieczeństwo Funkcjonalność Dostępność
16 Pytania? Wojciech Dworakowski [email protected]tel