1 The OWASP Foundation http://www.owasp.org 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 [email protected]
2 login Wojciech Dworakowski SecuRing, Testowanie bezpieczeństwa IT i usługi doradcze – od 2003 OWASP Poland Chapter Leader – od 2011 2
3 3 Agenda Aplikacje webowe vs mobilne Aplikacje mobilne – najistotniejsze ryzyka Materiały OWASP
4 Open Web Application Security Project Misja: Poprawa stanu bezpieczeństwa aplikacji 100+ Local Chapters 1500+ OWASP Members 20000+ uczestników spotkań Projekty: dokumentacja, narzędzia 4
5 OWASP w Polsce Od 2007 Regularne spotkania w Krakowie i Warszawie Współpraca z ISSA Polska http://www.owasp.org/index.php/Poland 5
6 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
7 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
8 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
9 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
10 OWASP Top 10 Mobile Risks
11 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
12 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)
13 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
14 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
15 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
16 Przykład Google Calendar / Contacts Sync 2011-05 Dane uwierzytelniające wysyłane przez HTTP (bez SSL) Możliwe przechwycenie i podszycie się http://www.uni-ulm.de/en/in/mi/staff/koenings/catching-authtokens.html http://www.uni-ulm.de/en/in/mi/staff/koenings/catching-authtokens.html 16
17 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
18 Pełne omówienie OWASP Top 10 Mobile http://www.slideshare.net/JackMannino/o wasp-top-10-mobile-risks 18
19 Aplikacje mobilne – materiały OWASP 19
20 OWASP Top 10 20
21 OWASP Mobile Security Project https://www.owasp.org/index.php/OWASP _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
22 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 https://github.com/jackMannino/OWASP- GoatDroid-Project https://github.com/jackMannino/OWASP- GoatDroid-Project 22
23 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
24 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
25 Spotkanie OWASP 5 grudnia, godz. 18.00 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