Luki w bezpieczeństwie aplikacji istotnym zagrożeniem dla infrastruktury krytycznej Michał Kurek, Partner KPMG, Cyber Security Forum Bezpieczeństwo Sieci Technologicznych Konstancin-Jeziorna, 21 listopada 2017
Plan prezentacji Aktualny stan bezpieczeństwa aplikacji Przykłady najgroźniejszych podatności Przyczyny obecnej sytuacji Sposoby na poprawę bezpieczeństwa aplikacji
Liczba zgłaszanych podatności Statystyki dotyczące podatności w aplikacjach Aplikacje Narzędzia systemowe Systemy operacyjne Przeglądarki internetowe Źródło: Microsoft Security Intelligence Report, Volume 21, grudzień 2016
Niepokojące statystyki 83% Testowanych aplikacji zawiera istotne podatności Źródło: Doświadczenia ekspertów KPMG 98% Paneli administracyjnych urządzeń IoT zawiera fundamentalne luki w bezpieczeństwie Źródło: High-Tech Bridge Application Security Trends Report 2017 Firmy mają problem z identyfikacją i wyeliminowaniem podatności Niemal połowa aplikacji jest stale podatna na atak Średni czas usunięcia podatności: - Priorytet Krytyczny: 126 dni - Priorytet Wysoki: 196 dni Źródło: 2017 WhiteHat Security - Application Security Statistics Report
Przykłady istotnych zagrożeń w aplikacjach Nieautoryzowany pełny dostęp do danych aplikacji Przejęcie kontroli nad serwerem Przejęcie sesji lub konta innego użytkownika Dostęp do danych innych użytkowników Obejście logiki biznesowej aplikacji
Brak świadomości zagrożeń jest głównym źródłem występowania podatności w aplikacjach
Przyczyny problemów z bezpieczeństwem aplikacji Przyczyny 1 2 3 Brak wiedzy w obszarze bezpiecznego programowania aplikacji Brak świadomości kadry zarządzającej w zakresie występujących ryzyk Bezpieczeństwo najczęściej nie jest najwyższym priorytetem dla biznesu! Występowanie podatności świadczy o słabościach w procesach i organizacji
Najczęstsze błędy związane z bezpieczeństwem aplikacji Brak konieczności tworzenia wymagań bezpieczeństwa oczywistym jest, że aplikacja musi być bezpieczna Założenie, że audyt bezpieczeństwa przed wdrożeniem aplikacji rozwiązuje problem Ignorowanie ryzyk dla aplikacji wewnętrznych Brak regularnych testów bezpieczeństwa aplikacji
Metody zabezpieczeń Wdrożenie procesów bezpieczeństwo w procesie tworzenia oprogramowania zarządzanie podatnościami zarządzanie bezpieczeństwem konfiguracji monitorowanie bezpieczeństwa Wdrożenie środków technicznych separacja na poziomie sieci filtrowanie ruchu w warstwie aplikacji wykrywanie i przeciwdziałanie atakom sieciowym systemy przeciwdziałania nadużyciom reagowanie na incydenty bezpieczeństwa zapewnienie integralności systemu plików
Bezpieczeństwo w procesie tworzenia oprogramowania (SDLC) Główne mechanizmy kontrolne: szkolenia modelowanie zagrożeń specyfikacja wymagań bezpieczeństwa testy automatyczne audyt bezpieczeństwa Najlepsze praktyki: SDL (Security Development Lifecycle Microsoft) OWASP SAMM (Software Assurance Maturity Model) BSIMM (Building Security In Maturity Model)! Koszty naprawy błędów rosną im później są one wykrywane w cyklu rozwoju aplikacji
OWASP SAMM (Software Assurance Maturity Model) 12 obszarów najlepszych praktyk pogrupowanych w 4 funkcje 3 poziomy dojrzałości ze zdefiniowanymi: Celem kontrolnym Metodą oceny Głównymi zadaniami Oczekiwanymi rezultatami Software Development Governance Construction Verification Operations Strategy & Metrics Threat Assessment Design Review Issue Management Policy & Compliance Security Requirements Implementation Review Environment Hardening Education & Guidance Secure Architecture Security Testing Operational Enablement Źródło: OWASP Software Assurance Maturity Model version 1.5
OWASP Application Security Verification Standard Standard opracowany w celu zapewnienia jednolitego podejścia zarówno do weryfikacji, jak i definiowania wymagań odnośnie bezpieczeństwa aplikacji Łącznie 16 celów kontrolnych wraz z przeszło 200 mechanizmami kontrolnymi Cztery poziomy wymagań bezpieczeństwa uzależnione od złożoności aplikacji: Poziom 0 (Cursory) oraz Poziom 1 (Opportunistic) zawierają wymagania do zastosowania w każdej aplikacji Poziom 2 (Standard) dla aplikacji przetwarzającej wrażliwe dane Poziom 3 (Advanced) dla aplikacji krytycznych z punktu widzenia wpływu na wspierane procesy
Podsumowanie Aplikacje są dziś źródłem największej ilości podatności Brak świadomości zagrożeń jest główną przyczyną tego problemu Konieczne jest wdrożenie kompleksowych zabezpieczeń w tym obszarze
Zapraszam do kontaktu Michał Kurek Partner KPMG Cyber Security michalkurek@kpmg.pl +48 660 440 041