OWASP Mobile   Security Project         a cura di Francesco Iovine                                   Università degli Stud...
Mobile Threat Model
Mobile Threat ModelBeni da proteggereMinacceRischiContromisure
Beni da proteggere
http://www.flickr.com/photos/dahlstroms/4140461901
http://www.flickr.com/photos/tojosan/448977929
http://www.flickr.com/photos/mager/2659624577
http://www.flickr.com/photos/banksimple/5957933154/
Minacce
STRIDE Spoofing Tampering Repudiation Information    disclosure Denial   of service Elevation   of privilege
STRIDE
Rischi
OWASP Mobile Top 10 RisksM1. Insecure Data StorageM2. Weak Server Side ControlM3. Insufficient Transport LayerM4. Client Si...
M1 | Insecure Data Storage   E davvero necessario salvare lusername?   E possibile scegliere dove salvare i dati?   E poss...
M2 | Weak Server Side Controls   Inserendo un front-end mobile nellarchitettura del sistema sto   aumentando il rischio di...
M3 | Insufficient Transport Layer Protection   Sto criptando tutte le informazioni che escono dal dispositivo?   Sto cripta...
M4 | Client Side Injection   Sto usando una o più webview nella mia app?   Quanto sto facendo interagire la parte nativa c...
M5 | Poor Authorization and Authentication   Cosa sto utilizzando per autenticarmi al server?   Sto usando un device-id? N...
M6 | Improper Session Handling   Quantè lunga la sessione della mia app rispetto alla sessione   del front-end web?   E po...
M7 | Security Decisions Via Untrusted Inputs   Controllo sempre le impostazioni utente prima di eseguire   unazione? (Skyp...
M8 | Side Channel Data Leakage   Web caches. Ho impostato direttive anti-cache? Funzionano?   Keystroke logging. Ho disabi...
M9 | Broken Cryptography   Ho chiara la differenza tra encoding, obfuscation e encryption?   Mi fido del SO su cui sto svil...
M10 | Sensitive Information Disclosure   Ho chiara la differenza a livello di sicurezza tra scrivere unApp   Android lato ...
OWASP Mobile Top 10 RisksM1. Insecure Data StorageM2. Weak Server Side ControlM3. Insufficient Transport LayerM4. Client Si...
Contromisure
Top 10 mobile controls1. Identify and protect sensitive data on the mobile device 2. Handle password credentials securely ...
Mobile Security TestingDynamic Analysis   1. Debug the running app (on device or in emulator)   2. Analyze network traffic ...
Mobile Security TestingStatic Analysis   1. Get Application      1. Extract application from device      2. Receive applic...
Testing ToolsNetwork Traffic AnalysisDisassembly Tools & Resources
Riferimenti  OWASP Mobile Security Project"  https://www.owasp.org/index.php/OWASP_Mobile_Security_Project  OWASP Top 10 M...
Progetto 1                      http://www.flickr.com/photos/purpleslog/2880224058/
Web Application SecurityViene richiesto di fornire un assessment della sicurezza di unapplicazione webutilizzando le tecni...
Web Application SecurityQuale applicazione?- OWASP Broken Web Application Projecthttps://www.owasp.org/index.php/OWASP_Bro...
Riferimenti  OWASP Top 10 Project"  https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project  OWASP Testing Guide"  ...
Credits  Simone Onofri  Marco Ramilli  Cinzia Querques
OWASP Mobile Security Project
Upcoming SlideShare
Loading in...5
×

OWASP Mobile Security Project

1,741

Published on

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,741
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "OWASP Mobile Security Project"

  1. 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. 2. Mobile Threat Model
  3. 3. Mobile Threat ModelBeni da proteggereMinacceRischiContromisure
  4. 4. Beni da proteggere
  5. 5. http://www.flickr.com/photos/dahlstroms/4140461901
  6. 6. http://www.flickr.com/photos/tojosan/448977929
  7. 7. http://www.flickr.com/photos/mager/2659624577
  8. 8. http://www.flickr.com/photos/banksimple/5957933154/
  9. 9. Minacce
  10. 10. STRIDE Spoofing Tampering Repudiation Information disclosure Denial of service Elevation of privilege
  11. 11. STRIDE
  12. 12. Rischi
  13. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 25. Contromisure
  26. 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. 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. 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. 29. Testing ToolsNetwork Traffic AnalysisDisassembly Tools & Resources
  30. 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. 31. Progetto 1 http://www.flickr.com/photos/purpleslog/2880224058/
  32. 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. 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. 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. 35. Credits Simone Onofri Marco Ramilli Cinzia Querques

×