SLIDE 1 The Betrayal At Cloud City: An Empirical Analysis Of Cloud-Based Mobile Backends
Omar Alrawi*, Chaoshun Zuo*, Ruian Duan, Ranjita Pai Kasturi, Zhiqiang Lin, Brendan Saltaformaggio *First Co-Authors
SLIDE 2
Conference
SLIDE 3
Conference
SLIDE 4
Conference
SLIDE 5
More Than What’s on The Surface
SLIDE 6
More Than What’s on The Surface Mobile App
SLIDE 7
More Than What’s on The Surface
Cloud Backend
Mobile App
SLIDE 8
More Than What’s on The Surface
Cloud Backend
Mobile App Web App
SLIDE 9
More Than What’s on The Surface
Cloud Backend
Mobile App Web App Software Services
SLIDE 10
More Than What’s on The Surface
Cloud Backend
Mobile App Web App Software Services Operating System
SLIDE 11
More Than What’s on The Surface
Cloud Backend
Mobile App Web App Software Services Operating System (v)Hardware
SLIDE 12
Mobile Backends All Over the News
SLIDE 13
Mobile Backends All Over the News
SLIDE 14
Mobile Backends All Over the News
SLIDE 15 Prior Work
- The rise of backends
- Acar et al. "SoK: Lessons learned from android security
research for appified software platforms." IEEE S&P, 2016.
SLIDE 16 Prior Work
- The rise of backends
- Acar et al. "SoK: Lessons learned from android security
research for appified software platforms." IEEE S&P, 2016.
SLIDE 17 Prior Work
- The rise of backends
- Acar et al. "SoK: Lessons learned from android security
research for appified software platforms." IEEE S&P, 2016.
- Evolution of backends
- App Thinning1
[1] Mojica, Gregg. Working with App Thinning in iOS 9https://www.appcoda.com/app-thinning/, Accessed Aug 2019
SLIDE 18 Prior Work
- The rise of backends
- Acar et al. "SoK: Lessons learned from android security
research for appified software platforms." IEEE S&P, 2016.
- Evolution of backends
- App Thinning1
- Security of Backends
[1] Mojica, Gregg. Working with App Thinning in iOS 9https://www.appcoda.com/app-thinning/, Accessed Aug 2019
SLIDE 19 Prior Work
- The rise of backends
- Acar et al. "SoK: Lessons learned from android security
research for appified software platforms." IEEE S&P, 2016.
- Evolution of backends
- App Thinning1
- Security of Backends
- Zuo et al. "Authscope: Towards automatic discovery of
vulnerable authorizations in online services." ACM CCS., 2017
- Zuo et al. "Why does your data leak? uncovering the data
leakage in cloud from mobile apps.” IEEE S&P. 2019
[1] Mojica, Gregg. Working with App Thinning in iOS 9https://www.appcoda.com/app-thinning/, Accessed Aug 2019 [2] K. Watkins, “HospitalGown: The Backend Exposure Putting Enterprise Data at Risk,” Appthority, Tech. Rep., 2017.
SLIDE 20
Mel is an app developer. Mel just wants to ship his killer app.
SLIDE 21 Mel is an app developer. Mel just wants to ship his killer app.
Mobile App Web App Software Services Operating System (v)Hardware
SLIDE 22
Let’s Help Mel
SLIDE 23
Let’s Help Mel
Challenges for Mel
SLIDE 24 Let’s Help Mel
Challenges for Mel
- What backends does my app use?
SLIDE 25 Let’s Help Mel
Challenges for Mel
- What backends does my app use?
- How do I check if they are secure?
SLIDE 26 Let’s Help Mel
Challenges for Mel
- What backends does my app use?
- How do I check if they are secure?
- How do I fix them?
SLIDE 27 Let’s Help Mel
Challenges for Mel
- What backends does my app use?
- How do I check if they are secure?
- How do I fix them?
- Can I fix them (attribution)?
SLIDE 28 Let’s Help Mel
Challenges for Mel
- What backends does my app use?
- How do I check if they are secure?
- How do I fix them?
- Can I fix them (attribution)?
SLIDE 29 Let’s Help Mel
Challenges for Mel
- What backends does my app use?
- How do I check if they are secure?
- How do I fix them?
- Can I fix them (attribution)?
Mel’s Dream: Upload APK and vet all backends!
SLIDE 30
What Backends My App Uses?
SLIDE 31
What Backends My App Uses?
SLIDE 32
What Backends My App Uses?
SLIDE 33
What Backends My App Uses?
SLIDE 34
What Backends My App Uses?
SLIDE 35
What Backends My App Uses?
SLIDE 36
How Many Backends?
SLIDE 37
How Many Backends? 10 or More Unique Backends on Average
SLIDE 38
How Many Backends? 10 or More Unique Backends on Average
SLIDE 39
How Do I Check If They Are Secure?
SLIDE 40
How Do I Check If They Are Secure?
SLIDE 41
How Do I Check If They Are Secure?
First: Bug finding via input perturbation
SLIDE 42
How Do I Check If They Are Secure?
First: Bug finding via input perturbation
SLIDE 43
How Do I Check If They Are Secure?
First: Bug finding via input perturbation
SLIDE 44
How Do I Check If They Are Secure?
First: Bug finding via input perturbation
SLIDE 45
How Do I Check If They Are Secure?
First: Bug finding via input perturbation SQLi, XSS, XXE
SLIDE 46
How Do I Check If They Are Secure?
SLIDE 47
How Do I Check If They Are Secure?
Second: Scan services for known vulnerabilities
SLIDE 48 65K Ports
How Do I Check If They Are Secure?
Second: Scan services for known vulnerabilities
SLIDE 49 65K Ports
How Do I Check If They Are Secure?
Second: Scan services for known vulnerabilities
SLIDE 50 65K Ports
How Do I Check If They Are Secure?
Second: Scan services for known vulnerabilities
SLIDE 51 65K Ports
How Do I Check If They Are Secure?
Second: Scan services for known vulnerabilities
SLIDE 52 65K Ports
How Do I Check If They Are Secure?
Second: Scan services for known vulnerabilities
SLIDE 53
Can I Fix Them?
SLIDE 54 Can I Fix Them?
Mobile App Web App Software Services Operating System (v)Hardware
SLIDE 55 Can I Fix Them?
Mobile App Web App Software Services Operating System (v)Hardware
First-Party: If Mel owns the whole stack
SLIDE 56 Can I Fix Them?
Mobile App Web App Software Services Operating System (v)Hardware
Mel is responsible for this portion
First-Party: If Mel owns the whole stack
SLIDE 57 Can I Fix Them?
Mobile App Web App Software Services Operating System (v)Hardware
SLIDE 58 Can I Fix Them?
Mobile App Web App Software Services Operating System (v)Hardware
No Access! SDK Access
Third-Party: If Mel uses an SDK
SLIDE 59 Can I Fix Them?
Mobile App Web App Software Services Operating System (v)Hardware
SLIDE 60 Can I Fix Them?
Mobile App Web App Software Services Operating System (v)Hardware
Mel is responsible for this portion
Hybrid: If Mel uses a rented platform
SLIDE 61 Can I Fix Them?
Mobile App Web App Software Services Operating System (v)Hardware
Mel is responsible for this portion Platform Provider is responsible for this portion
Rented!
Hybrid: If Mel uses a rented platform
SLIDE 62
How Do I Fix Them?
SLIDE 63
How Do I Fix Them?
SLIDE 64
How Do I Fix Them?
Data Aggregation and Consolidation
SLIDE 65
How Do I Fix Them?
Data Aggregation and Consolidation
SLIDE 66
How Do I Fix Them?
Data Aggregation and Consolidation
SLIDE 67
How Do I Fix Them?
Data Aggregation and Consolidation
SLIDE 68
Geo and Net Distribution
How can Mel be expected to solve everything?
SLIDE 69
Google Play Store
SLIDE 70 Google Play Store
- Top 5,000 apps from August 2018
SLIDE 71 Google Play Store
- Top 5,000 apps from August 2018
- We found
- Over 600 0-DAY
- Over 900 N-DAY
SLIDE 72 Google Play Store
- Top 5,000 apps from August 2018
- We found
- Over 600 0-DAY
- Over 900 N-DAY
Mobile App Web App Software Services Operating System (v)Hardware
SLIDE 73 Google Play Store
- Top 5,000 apps from August 2018
- We found
- Over 600 0-DAY
- Over 900 N-DAY
- 0-day vulnerabilities affect web
apps
Mobile App Web App Software Services Operating System (v)Hardware
SLIDE 74 Google Play Store
- Top 5,000 apps from August 2018
- We found
- Over 600 0-DAY
- Over 900 N-DAY
- 0-day vulnerabilities affect web
apps
- N-day affects software below the
web apps
Mobile App Web App Software Services Operating System (v)Hardware
SLIDE 75
Overall Vulnerabilities
SLIDE 76
Overall Vulnerabilities
Over 1,600 Vulnerability Instances
SLIDE 77
Overall Vulnerabilities
SLIDE 78
Overall Vulnerabilities
Over 600 ZERO-DAYS!
SLIDE 79
Overall Vulnerabilities
SLIDE 80
Overall Vulnerabilities
Audited over 9,000 backends
SLIDE 81
Overall Vulnerabilities
SLIDE 82
Overall Vulnerabilities
Over 1,000 third-party backends. Used by multiple mobile apps!
SLIDE 83
Top Vulnerabilities
SLIDE 84
Top Vulnerabilities
SLIDE 85
Top Vulnerabilities
SLIDE 86
Top Vulnerabilities
SLIDE 87
Top Vulnerabilities
SLIDE 88
Top Vulnerabilities
SLIDE 89
Top Vulnerabilities BEWARE: Can Install Malicious Apps Through Redirection
SLIDE 90
Top Vulnerabilities
SLIDE 91
Top Vulnerabilities
SLIDE 92
Top Zero-Day Vulnerabilities
SLIDE 93
Top Zero-Day Vulnerabilities
SLIDE 94
Top Zero-Day Vulnerabilities
SLIDE 95
http tps: s://Mobil bileBackend.vet
SLIDE 96
What’s Next?
NOTIFICATION WORKING WITH 3RD PARTY LIBRARIES IMPACT ON APP USERS
SLIDE 97 Related Work
- Backes et al., “Reliable third-party library detection in android and its security applications,” ACM CCS, Oct.
2016.
- Arzt et al., “Flowdroid: Precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for
android apps,” ACM SIGPLAN PLDI, 2014.
- You et al., “Semfuzz: Semantics-based automatic generation of proof-of-concept exploits,” ACM CCS, 2017.
- Durumeric et al., “Zmap: Fast internet-wide scanning and its security applications.,” USENIX Security, 2013.
- Li et al., “You‘ve got vulnerability: Exploring effective vulnerability notifications,” USENIX Security, 2016.
- Durumeric et al., “The matter of heartbleed,” IMC, 2014
- Ristenpart et al., “Hey, you, get off of my cloud: Exploring information leakage in third-party compute
clouds,” ACM CCS, 2009.
- Sun et al., “Pileus: Protecting user resources from vulnerable cloud services,” ACSAC, 2016.
- Durumeric et al., “Analysis of the https certificate ecosystem,” IMC, 2013.
- Fernandes et al., “Security analysis of emerging smart home applications,” IEEE S&P, May 2016.
SLIDE 98
Thank you – Questions?
Omar Alrawi alrawi@gatech.edu https://alrawi.io
SLIDE 99 Recommendation
- Delegate
- Use reputable 3rd party
services
- Dedicate
- Time and personal to secure
development
- Develop
- A plan to for incidents: backup
data, backup providers, etc.
- Defense
- Use WAFs and CDNs
PROPERLY!
SLIDE 100 Unknown Category
- Backend domains with different effective second-level domain
- Missing registration information
- Privacy WHOIS
- IP address show up as delegated
- IP address in collocation facility, but maybe hosting reseller
- CDNs fronted (can overcome with pDNS)