The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. OWASP AppSec Washington DC 2009 Bezpieczeństwo aplikacji mobilnych Wojciech Dworakowski, SecuRing Chapter Leader OWASP Poland
login Wojciech Dworakowski SecuRing, Testowanie bezpieczeństwa IT i usługi doradcze – od 2003 OWASP Poland Chapter Leader – od
3 Agenda Aplikacje webowe vs mobilne Aplikacje mobilne – najistotniejsze ryzyka Materiały OWASP
Open Web Application Security Project Misja: Poprawa stanu bezpieczeństwa aplikacji 100+ Local Chapters OWASP Members uczestników spotkań Projekty: dokumentacja, narzędzia 4
OWASP w Polsce Od 2007 Regularne spotkania w Krakowie i Warszawie Współpraca z ISSA Polska 5
Mobile vs Web Gruby klient + Technologie webowe HTTP(S), HTML5, jQuery, … Serwer: WebService lub podobne technologie Aplikacja mobilna – „przeglądarka” do jednego serwisu (w uproszczeniu) 6
Mobile vs Web Brak jednolitego standardu Więcej funkcji przeniesione na klienta Możliwość działania offline Możliwość integracji z innymi aplikacjami Dynamiczny rozwój Elastyczność = Większa odpowiedzialność 7
Mobile vs Web Dynamiczny rozwój - Nowe technologie (NFC, lokalizacja, …) - Nowe zastosowania - Nowe techniki ataku Większa elastyczność = większa odpowiedzialność programisty Inny profil zagrożeń 8
ENISA Top 10 Smartphone risks No.TitleRisk 1 Data leakage resulting from device loss or theft High 2 Unintentional disclosure of data High 3Attacks on decommissioned smartphonesHigh 4Phishing attacksMedium 5Spyware attacksMedium 6Network Spoofing AttacksMedium 7Surveillance attacksMedium 8Diallerware attacksMedium 9Financial malware attacksMedium 10Network congestionLow 9
OWASP Top 10 Mobile Risks
M1 - Insecure Data Storage 11 Dane wrażliwe narażone na wyciek Lokalnie na urządzeniu Na serwerach / „w chmurze” Typowe podatności: Brak lub nieprawidłowe szyfrowanie Pliki tymczasowe, cache, logi Błędne uprawnienia
Przykład Uwierzytelnienie za pomocą PIN Na urządzeniu dane w postaci zaszyfrowanej Klucz szyfrowania generowany na podstawie PIN Efekt: Klucz można crackować off-line 4 cyfry = 10 tys. prób = kilka minut Koszt usunięcia: Zmiana algorytmu (po wdrożeniu)
M2 - Weak Server Side Controls Zabezpieczenia tylko po stronie klienta Typowe podatności: Brak kontroli dostępu Brak uwierzytelniania OWASP Top 10, OWASP ASVS OWASP Cloud Top 10 13
Przykład Aplikacja mobilna Bezpośrednia komunikacja z WebService Całkowity brak kontroli dostępu do danych Dev: kontrola dostępu jest ale „nie włączona” Po „włączeniu” – znalezione kolejne przypadki Koszt: Opóźnienie, kary umowne, wizerunek
M3 - Insufficient Transport Layer Protection Typowe podatności: Brak szyfrowania transmisji Słabe szyfry Ignorowanie ostrzeżeń HTTPS - Błędy walidacji certyfikatu - Fallback do HTTP 15
Przykład Google Calendar / Contacts Sync Dane uwierzytelniające wysyłane przez HTTP (bez SSL) Możliwe przechwycenie i podszycie się
Mobile Top 10 (c.d.) M4 - Client Side Injection M5 - Poor Authorization and Authentication M6 - Improper Session Handling M7 - Security Decisions Via Untrusted Inputs M8 - Side Channel Data Leakage M9 - Broken Cryptography M10 - Sensitive Information Disclosure 17
Pełne omówienie OWASP Top 10 Mobile wasp-top-10-mobile-risks 18
Aplikacje mobilne – materiały OWASP 19
OWASP Top 10 20
OWASP Mobile Security Project _Mobile_Security_Project Security Testing Guide (draft) Mobile Cheat Sheet Series (iOS development, Jailbreaking) Top 10 Mobile Risks Smartphone Secure Development Guidelines (OWASP+ENISA) 21
OWASP GoatDroid Platforma treningowa Aplikacje Android z celowo popełnionymi błędami + serwisy webowe FourGoats, a location-based social network Herd Financial, a mobile banking application GoatDroid-Project GoatDroid-Project 22
Podsumowanie O bezpieczeństwie trzeba myśleć od samego początku - Definiowanie założeń - Modelowanie zagożeń Każda technologia ma swoją specyfikę Uniwersalne zabezpieczenia nie istnieją 23
Pytania 24 "If you think technology can solve your security problems, then you don't understand the problems and you don't understand the technology.„ Bruce Schneier, Secrets & Lies - - Digital Security in a Networked World
Spotkanie OWASP 5 grudnia, godz Kraków, KPT Bezpieczeństwo aplikacji – Jak to działa u mnie? Robert Pająk, CSO Interia.pl Cross-site scripting vs Frameworki J2EE Piotr Bucki, J-Labs 25