Your SlideShare is downloading. ×
OWASP Mobile Security Project
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

OWASP Mobile Security Project

1,672
views

Published on

Creative Commons Attribution-NonCommercial-ShareAlike License

Creative Commons Attribution-NonCommercial-ShareAlike License

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,672
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. OWASP Mobile Security Project a cura di Francesco Iovine Università degli Studi di Roma "Tor Vergata" Facoltà di Ingegneria Corso di Sicurezza Informatica e Internet 27 Giugno 2012 http://www.flickr.com/photos/banksimple/5957933154/
  • 2. Mobile Threat Model
  • 3. Mobile Threat ModelBeni da proteggereMinacceRischiContromisure
  • 4. Beni da proteggere
  • 5. http://www.flickr.com/photos/dahlstroms/4140461901
  • 6. http://www.flickr.com/photos/tojosan/448977929
  • 7. http://www.flickr.com/photos/mager/2659624577
  • 8. http://www.flickr.com/photos/banksimple/5957933154/
  • 9. Minacce
  • 10. STRIDE Spoofing Tampering Repudiation Information disclosure Denial of service Elevation of privilege
  • 11. STRIDE
  • 12. Rischi
  • 13. OWASP Mobile Top 10 RisksM1. Insecure Data StorageM2. Weak Server Side ControlM3. Insufficient Transport LayerM4. Client Side InjectionM5. Poor Authorization and AuthenticationM6. Improper Session HandlingM7. Security Decisions Via Untrusted InputsM8. Side Channel Data LeakageM9. Broken CryptographyM10. Sensitive Information Disclosure
  • 14. M1 | Insecure Data Storage E davvero necessario salvare lusername? E possibile scegliere dove salvare i dati? E possibile impostare permessi RW sui dati salvati? La piattaforma fornisce una API per il file encryption?
  • 15. M2 | Weak Server Side Controls Inserendo un front-end mobile nellarchitettura del sistema sto aumentando il rischio di attacchi nel back-end web? Nel back-end web esistono problemi noti? OWASP Web Top 10 OWASP Cloud Top 10 OWASP Web Services Top 10
  • 16. M3 | Insufficient Transport Layer Protection Sto criptando tutte le informazioni che escono dal dispositivo? Sto criptando tutte le informazioni che escono dal dispositivo tramite rete cellulare, wifi e NFC? Sto gestendo le security exceptions?
  • 17. M4 | Client Side Injection Sto usando una o più webview nella mia app? Quanto sto facendo interagire la parte nativa con la parte web della mia app ibrida? Sto sanitizzando o escapando tutti i dati untrusted prima di renderizzarli o eseguirli? Inclusi gli SMS?
  • 18. M5 | Poor Authorization and Authentication Cosa sto utilizzando per autenticarmi al server? Sto usando un device-id? Numero di telefono, IMEI, IMSI, UUID. Sto prevedendo il caso in cui il dispositivo venga rubato e vada nelle mani di un possibile attaccante? Sto usando soltanto dati legati al telefono? Male.
  • 19. M6 | Improper Session Handling Quantè lunga la sessione della mia app rispetto alla sessione del front-end web? E possibile revocare velocemente un token nel caso in cui il dispositivo venga rubato e vada nelle mani di un possibile attaccante? Sto usando un device-id come session-token? Male.
  • 20. M7 | Security Decisions Via Untrusted Inputs Controllo sempre le impostazioni utente prima di eseguire unazione? (Skype call) Chiedo sempre autorizzazione allutente prima di permettere che unazione venga eseguita? (NFC, QR Codes)
  • 21. M8 | Side Channel Data Leakage Web caches. Ho impostato direttive anti-cache? Funzionano? Keystroke logging. Ho disabilitato questa funzionalità? Screenshots. Ho gestito il fatto che il SO può effettuare screenshot della mia app in talune circostanze? Logs. Sto loggando dati sensibili sui log di sistema o di crash? Temp directories.
  • 22. M9 | Broken Cryptography Ho chiara la differenza tra encoding, obfuscation e encryption? Mi fido del SO su cui sto sviluppando? Il SO fornisce librerie di crittografia? Le sto usando? Dove sto memorizzando la chiave?
  • 23. M10 | Sensitive Information Disclosure Ho chiara la differenza a livello di sicurezza tra scrivere unApp Android lato client e scrivere una WebApp JEE lato server? Dovè la business logic? Memorizzo nel codice dellapp le credenziali per le Private APIs? Male. Sto memorizzando una password sul codice dellapp? Malissimo.
  • 24. OWASP Mobile Top 10 RisksM1. Insecure Data StorageM2. Weak Server Side ControlM3. Insufficient Transport LayerM4. Client Side InjectionM5. Poor Authorization and AuthenticationM6. Improper Session HandlingM7. Security Decisions Via Untrusted InputsM8. Side Channel Data LeakageM9. Broken CryptographyM10. Sensitive Information Disclosure
  • 25. Contromisure
  • 26. Top 10 mobile controls1. Identify and protect sensitive data on the mobile device 2. Handle password credentials securely on the device 3. Ensure sensitive data is protected in transit 4. Implement user authentication/authorization and session management correctly 5. Keep the backend APIs (services) and the platform (server) secure 6. Perform data integration with third party services/applications securely 7. Pay specific attention to the collection and storage of consent for the collection and use of the user’s data 8. Implement controls to prevent unauthorised access to paid-for resources (wallet, SMS, phone calls etc...)9. Ensure secure distribution/provisioning of mobile applications 10. Carefully check any runtime interpretation of code for errors
  • 27. Mobile Security TestingDynamic Analysis 1. Debug the running app (on device or in emulator) 2. Analyze network traffic 3. Analyze remote services (HTTP/SOAP/etc)
  • 28. Mobile Security TestingStatic Analysis 1. Get Application 1. Extract application from device 2. Receive application package from developers 2. Source Code Review 3. Reverse Engineering 4. Disassembly 5. Patching
  • 29. Testing ToolsNetwork Traffic AnalysisDisassembly Tools & Resources
  • 30. Riferimenti OWASP Mobile Security Project" https://www.owasp.org/index.php/OWASP_Mobile_Security_Project OWASP Top 10 Mobile Risks" http://vimeo.com/32388418 http://www.flickr.com/photos/purpleslog/2880224058/
  • 31. Progetto 1 http://www.flickr.com/photos/purpleslog/2880224058/
  • 32. Web Application SecurityViene richiesto di fornire un assessment della sicurezza di unapplicazione webutilizzando le tecniche indicateQuale linguaggio/framework per il codice?- Il più congeniale al gruppo di lavoroChe tipo di assessment?- focus sul testing- focus sul rischio- focus sullo sviluppo secondo le linee guida OWASP
  • 33. Web Application SecurityQuale applicazione?- OWASP Broken Web Application Projecthttps://www.owasp.org/index.php/OWASP_Broken_Web_Applications_Project- Vulnerable Web Applications for Learninghttp://securitythoughts.wordpress.com/2010/03/22/vulnerable-web-applications-for-learning/- Una propria applicazione web sviluppata per altri progetti o scritta ad-hoc. - Nel caso si scelga unapplicazione web che abbia un front-end mobile, fornireun assessment di sicurezza per lintero sistema seguendo le linee guidadellOWASP Mobile Security Project.
  • 34. Riferimenti OWASP Top 10 Project" https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project OWASP Testing Guide" https://www.owasp.org/index.php/OWASP_Testing_Project OWASP Development Guide" https://www.owasp.org/index.php/OWASP_Guide_Project OWASP Mobile Security Project" https://www.owasp.org/index.php/OWASP_Mobile_Security_Project
  • 35. Credits Simone Onofri Marco Ramilli Cinzia Querques