OWASP i Top 10 Sposób tworzenia Top 10 Czym jest a czym NIE jest Top 10? Zmiany w wersji 2013 Omówienie nowych podatności na liście Podsumowanie ponad Top 10
Misja: Poprawa stanu bezpieczeństwa aplikacji 100+ Local Chapters Lokalne spotkania, konferencje Projekty: Dokumentacja, narzędzia W Polsce od 2007 Warszawa, Kraków, Poznań
Lista 10 najbardziej powszechnych typów podatności występujących we współczesnych aplikacjach Edycje: 2004, 2007, 2010, 2013
PCI: Data Security Standard / Mobile Payment Acceptance Security Guidelines / E-Commerce Guidelines Komisja UE: Rozporządzenie wykonawcze ustanawiające specyfikacje techniczne w odniesieniu do systemów zbierania deklaracji online Cloud Security Alliance: Security Guidance for Critical Areas of Focus in Cloud Computing ENISA: Cloud Computing Risk Assessment
8 zbiorów danych 4 firmy konsultingowe (testy manualne) 4 dostawcy narzędzi automatycznych / SaaS 2 dynamic, 2 static Ponad 500 000 podatności Lista tworzona według ilości wystąpień Kolejność zależna od ryzyka
RYZYKO W ogólnym przypadku! Arbitralna ocena ekspertów zaangażowanych w Top 10 SKUTKI PRAWDOPODOBIEŃSTWO Powszechność (Prevalence) Wykrywalność (Detectability) Możliwość wykorzystania (exploitability)
NIE jest listą NAJWAŻNIEJSZYCH podatności dla KAŻDEJ APLIKACJI NIE jest listą WSZYSTKICH typów podatności Dlatego: NIE może być STANDARDEM AUDYTOWYM NIE powinno być wytyczną do TESTÓW BEZPIECZEŃSTWA ani do BUDOWANIA BEZPIECZNEJ APLIKACJI
The goal of the Top 10 project is to raise awareness about application security by identifying some of the most critical risks facing organizations OWASP Top 10 jest listą NAJBARDZIEJ KLUCZOWYCH typów podatności Ogólnie, dla Świata a nie dla każdej aplikacji
OWASP Top 10 2010 A1-Injection A2-Cross Site Scripting (XSS) A3-Broken Authentication and Session Management A4-Insecure Direct Object Reference A5-Cross Site Request Forgery (CSRF) A6-Security Misconfiguration A7-Insecure Cryptographic Storage A8-Failure to Restrict URL Access Broadened A9-Insufficient Transport Layer Protection A10-Unvalidated Redirects and Forwards OWASP Top 10 2013 A1-Injection A2-Broken Authentication and Session Management A3-Cross-Site Scripting (XSS) A4-Insecure Direct Object References A5-Security Misconfiguration A6-Sensitive Data Exposure A7-Missing Function Level Access Control A8-Cross-Site Request Forgery (CSRF) A9-Using Components with Known Vulnerabilities A10-Unvalidated Redirects and Forwards
Użycie komponentów ze znanymi podatnościami Biblioteki i frameworki Jak każde oprogramowanie mogą mieć błędy 26% systemów bazuje na starych wersjach bibliotek zawierających znane podatności* Nie aktualizowane (ziemia niczyja) * Badania Sonatype & Aspect Security. Analiza wersji najpopularniejszych bibliotek pobieranych z repozytorium Sonatype Central (31 bibliotek, 1261 wersji, 113 mln pobrań z 61 tys firm)
Struts2 zdalne wykonanie kodu (wiele różnych błędów) Spring Expression Language Injection Apache CXF Obejście uwierzytelniania Skutki Intruz może działać z uprawnieniami aplikacji Dostęp do dowolnych danych, wykonywanie transakcji, dostęp do plików,
Brak kontroli dostępu do funkcji Ver 2010: Failure to Restrict URL Access We współczesnych aplikacjach funkcje wywołuje się nie tylko przez URL AJAX, jquery WebServices Mobile
A6 Sensitive Data Exposure (2013) = = A7-Insecure Cryptographic Storage (2010) + + A9-Insufficient Transport Layer Protection (2010) + + Dane po stronie przeglądarki Dane wrażliwe po stronie serwera w protokole komunikacyjnym w przeglądarce Najczęściej złe stosowanie kryptografii
SSL (szyfrowanie, autentyczność) Co weryfikuje autentyczność serwera? Aplikacje WWW: Przeglądarka Aplikacje mobilne: Aplikacja Nieprawidłowa weryfikacja certyfikatu Brak powiadomienia klienta Możliwość ataku Man in the Middle
Cross Site Request Forgery Wywoływanie funkcji aplikacji poza kontekstem Np. z innej równolegle otworzonej strony 5 miejsce w 2010, teraz 8 Wiele frameworków zabezpiecza przed CSRF by default
Stare problemy nadal są aktualne Żadna z podatności z 2010 nie znikła z Top 10 Sposób zbierania danych do analizy faworyzuje podatności wykrywane przez skanery automatyczne i prawdopodobnie aplikacje zewnętrzne
OWASP Top 10 jest dokumentem o charakterze edukacyjnym Dobry punkt startu
Nie tylko 10 Dokładniejsza analiza ryzyka dla każdej aplikacji OWASP Developer s Guide / / OWASP Cheat Sheets Series OWASP Testing Guide / Code Review Guide Pamiętaj że typy podatności i ataków (a także Top 10) zmieniają się w czasie
Myśl pozytywnie OWASP ASVS (Application Security Verification Standard) Używaj narzędzi z głową A fool with a tool is still a fool dobry ekspert + dobre narzędzia Lecz przyczyny a nie skutki Bezpieczeństwo w procesie tworzenia oprogramowania Software Assurance Maturity Model (OpenSAMM)