Prezentacja omawiająca zmiany w najnowszej wersji OWASP Top 10. Postarałem się także wyjaśnić czym jest a czym nie jest Top 10 i do czego służy ten dokument.
2. •
•
•
•
•
•
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
3. • Misja: Poprawa stanu
bezpieczeostwa
aplikacji
• 100+ Local Chapters
• Lokalne spotkania, konferencje
• Projekty: Dokumentacja, narzędzia
• W Polsce od 2007 – Warszawa, Kraków, Poznao
4. • Lista 10 najbardziej powszechnych typów
podatności występujących we współczesnych
aplikacjach
• Edycje: 2004, 2007, 2010, 2013
5. • 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
6. • 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
8. RYZYKO
SKUTKI
Powszechność
(Prevalence)
• W ogólnym przypadku !
• Arbitralna ocena ekspertów
zaangażowanych w Top 10
PRAWDOPODOBIEOSTWO
Wykrywalność
(Detectability)
Możliwość
wykorzystania
(exploitability)
9. RYZYKO
SKUTKI
Powszechność
(Prevalence)
• W ogólnym przypadku !
• Arbitralna ocena ekspertów
zaangażowanych w Top 10
PRAWDOPODOBIEOSTWO
Wykrywalność
(Detectability)
Możliwość
wykorzystania
(exploitability)
10. • NIE jest listą NAJWAŻNIEJSZYCH podatności dla
KAŻDEJ APLIKACJI
• NIE jest listą WSZYSTKICH typów podatności
Dlatego:
• NIE może byd STANDARDEM AUDYTOWYM
• NIE powinno byd wytyczną do TESTÓW
BEZPIECZEOSTWA
• … ani do BUDOWANIA BEZPIECZNEJ APLIKACJI
11. „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
12. OWASP Top 10 2010
OWASP Top 10 2013
•
•
•
•
•
•
•
•
•
•
•
•
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
•
•
•
•
•
•
•
•
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
13. • Użycie komponentów ze znanymi
podatnościami
• Biblioteki i frameworki
• Jak każde oprogramowanie mogą mied 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
pobrao z 61 tys firm)
14. • Struts2 – zdalne wykonanie kodu (wiele
różnych błędów)
• Spring – Expression Language Injection
• Apache CXF – Obejście uwierzytelniania
• Skutki
– Intruz może działad z uprawnieniami
aplikacji
– Dostęp do dowolnych danych, wykonywanie
transakcji, dostęp do plików, …
15. • 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
–…
16. • 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
17. • SSL (szyfrowanie, autentycznośd)
• Co weryfikuje autentycznośd serwera?
– Aplikacje WWW: Przeglądarka
– Aplikacje mobilne: Aplikacja
• Nieprawidłowa weryfikacja certyfikatu
• Brak powiadomienia klienta
• Możliwośd ataku „Man in the Middle”
18. • 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”
19. • 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
20. • OWASP Top 10 jest dokumentem
o charakterze edukacyjnym
• Dobry punkt startu
21. • 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
22. • 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
– Bezpieczeostwo w procesie tworzenia
oprogramowania
– Software Assurance Maturity Model (OpenSAMM)