new privacy in android 11 and owasp mobile security
play

New Privacy in Android 11 and OWASP Mobile Security Albert Hsieh - PowerPoint PPT Presentation

New Privacy in Android 11 and OWASP Mobile Security Albert Hsieh OWASP 200 OWASP Flagship Projects Tool Projects OWASP Amass OWASP CSRFGuard OWASP Defectdojo OWASP Dependency-Check OWASP Dependency-Track


  1. New Privacy in Android 11 and OWASP Mobile Security Albert Hsieh

  2. OWASP 現有大約 200 個開源免費專案

  3. OWASP Flagship Projects Tool Projects OWASP Amass OWASP CSRFGuard OWASP Defectdojo OWASP Dependency-Check OWASP Dependency-Track OWASP Juice Shop OWASP OWTF Documentation Projects OWASP Security Shepherd OWASP Application Security Verification Standard OWASP ZAP OWASP Cheat Sheet Series OWASP Mobile Security Testing Guide Code Projects OWASP SAMM OWASP ModSecurity Core Rule Set OWASP Top Ten OWASP Web Security Testing Guide

  4. OWASP.Mobile

  5. What’s new on Android 11 1. Scoped storage enforcement 2. One-time permissions 3. Permissions auto-reset 4. Background location access 5. Package visibility 6. Foreground service types https://developer.android.com/preview/privacy

  6. Is That Security Or Privacy? Privacy Security 保護可辨識個人之 保護所有資訊 非公開資訊 and more!

  7. Permissions

  8. How Powerful is Your Flashlight?

  9. Permissions, Permissions Everywhere! https://www.zdnet.com/article/most-android-flashlight- apps-request-an-absurd-number-of-permissions/

  10. One-time Permissions

  11. Only this time!

  12. Only this time!

  13. Only this time!

  14. Background Location Access

  15. Location Permission is special it’s split in Foreground and Background access Foreground access (App is visible or running a Foreground Service with Location type) ● ACCESS_COARSE_LOCATION ● ACCESS_FINE_LOCATION (accurate location) Background access (i.e Geofence or WorkManager/AlarmManager in BG) ● ACCESS_BACKGROUND_LOCATION

  16. Foreground location access ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION A ctivi vityC yCom ompa pat.reque uest stPerm rmis issi sions ns( /* Activity */ this, /* Request BG alone */ arrayOf ( ACCE CCESS_CO COAR ARSE_LOCA CATIO TION ), /* * Requ questCode de */ */ 100 100 ) ● On all versions, this requests foreground access. ● On pre-Android 10, background access is implied.

  17. Target API level Background location access 'R' request incrementally only after Foreground has been granted Request At some point If show rational is true: ACCESS_BACKGROUND_LOCATION ACCESS_COARSE_LOCATION IN-CONTEXT UI ( you define it ) My App

  18. Permissions Auto-reset

  19. Target API level Auto-reset permissions 'R'

  20. Target API level Auto-reset permissions 'R' Provide family safety Paired to companion Smart device devices connectivity app Sync data Setti ting ngs. s.ACT ACTIO ION_A _APPLIC PLICATION_DETA TION_DETAILS_ ILS_SET ETTIN TINGS GS

  21. Foreground Service Types

  22. Foreground Service Types Android 10 ● Introduced the concept of types Companion device Sync Media Projection Media Player Enforced to ensure accountability for c access Location Phone Call

  23. Target API level Foreground Service Types 'R' Android 11 <manifest> ... pe= "camera "camera" /> <service ... android: droid:for foreg eground roundServi ervice ceTy Type </manifest>

  24. Target API level Foreground Service Types 'R' Android 11 <manifest> ... pe= "camera|m "camera|mic icrop rophone" hone" /> <service ... android: droid:for foreg eground roundServi ervice ceTy Type </manifest>

  25. Package Visibility

  26. Seeing all installed apps On Android 10 and older…. package kageManage Manager. r.getInstalledP getInstalledPackage ckages( s(0)

  27. Target API level Default behavior 'R' getPackageInfo( "another. er.app" app" , 0) NameNotFound Exception

  28. Query and interact with specific apps Declare package names in <queries> element of manifest to ‘see’ specific apps. <manifest> <queries> <package android:name= "com.example.store" /> <package android:name= "com.example.service" /> ... </queries> ... </manifest>

  29. Query and interact with apps based on intent filters Declare intents in <queries> element to ‘see’ apps that handle certain intents. <manifest> <queries> <intent> <action android:name= "android.intent.action.SEND" /> <data android:mimeType= "image/jpeg" /> </intent> </queries> ... </manifest>

  30. Interacting with all apps ● Shouldn’t be necessary for most apps. ● Available “Normal” permission that allows querying and interacting with all installed apps. ion. QUE UERY RY_AL _ALL_PA L_PACKAG KAGES ES " > <uses-permission android:name= " andro roid id.pe .permi rmissio Look for Google Play to provide upcoming guidelines for apps that need this permission. "Let us know your use cases” by Google….

  31. Scoped Storage

  32. Exactly the data that user wants to share and no more

  33. New in Android 11

  34. OWASP.Mobile

  35. OWASP.Mobile https://owasp.org/www-project-mobile-security/

  36. Secure Software Development Life Cycle (SSDLC) M Top 10 MASVS MSTG Response Hacking Playground M Security Chklst

  37. Mobile Application Security Verification Standard (MASVS) • Forked from OWASP ASVS • Best practices for security requirements • Mobile-specific • high-level • OS-agnostic

  38. Security Requirements • V1: Architecture, Design and Threat Modeling • V2: Data Storage and Privacy • V3: Cryptography • V4: Authentication and Session Management • V5: Network Communication • V6: Platform Interaction • V7: Code Quality and Build Setting • V8: Resilience

  39. Levels MASVS-L1 : all mobile apps. MASVS-L2 : apps handling sensitive data and/or functionality. MASVS-R : apps handling highly sensitive data and may serve as a means of protecting intellectual property or tamper-proofing an app. ▪ L1 Alarm App ▪ L2 Health App ▪ L1+R Game App ▪ L2+R Banking App

  40. V2: Data Storage and Privacy (part)

  41. V3: Cryptography (part)

  42. V5: Network Communication (part)

  43. V5: Network Communication (part)

  44. V6: Platform Interaction (part)

  45. RESILIENCE? Yes, resilience!

  46. V8: Resilience (part)

  47. HOW TO USE THE MASVS? Bring Security to system requirement phase! ▸ As secure coding checklist ▸ As security testing methodologies ▸ For secure development training

  48. To Conclude….

  49. Why do we need security?

  50. How much does that cost

  51. Find the bugs earlier

  52. Create fewer bugs https://blog.parasoft.com/what-is-the-shift-left-approach-to-software-testing

  53. OWASP.Mobile https://owasp.org/www-project-mobile-security/

  54. SHIFT LEFT! M Top 10 MASVS MSTG Response Hacking Playground M Security Chklst Shift Left for Security!

  55. Thank you!

Recommend


More recommend