The Impact of Vendor Customizations on Android Security

advertisement
Lei Wu, Michael Grace, Yajin Zhou,
Chiachih Wu, Xuxian Jiang
Department of Computer Science
North Carolina State University
CCS 2013
 Introduction
 Design
• Provenance Analysis
• Permission Usage Analysis
• Vulnerability Analysis
 Reachability Analysis
 Reflection Analysis
 Implementation
and evaluation
• Provenance Analysis
• Permission Usage Analysis
• Vulnerability Analysis
 Discussion
 Related
work
 Conclusion
 Ten
representative stock Android images
 Five popular smartphone vendors
 To assess the extent of security issues
 482.5 million sold in the Q4 of 2012
• 70% global market share
 Android open source project (AOSP)
 Vendor
customizations
 Third party apps: vendors or carriers
 Three stage process
• Stock images: provenance analysis
• permission usages of pre-load apps: unnecessary
permission request
• Pre-load apps vulnerabilities analysis: permission
re-delegation attack and private information leakage
 SEFA: Security
Evaluation Framework for
Android
 Evaluation result: worrisome
• 81.78% pre-load apps are from vendor
customizations
• 85.78% pre-load apps are over privileged,
majority of them are from vendor customizations ?
• 64.71% to 85.00% vulnerabilities are from
vendor customization(Samsung, HTC, LG, except
for Sony).
• Current HTC is more secure than before.
 Architecture
of SEFA
 Provenance
Analysis
• AOSP app: Android open source project.
 Original apps of Android
• Vendor app: identified by signatures
 Apps developed by venders.
• Third-party app: identified by signatures
 Apps developed by third-parties.
 Exceptions
• AOSP app may be modified by venders.
 SONY Conversation app vs AOSP Mms app
 SEFA
determines AOSP procedure:
• By matching app and package names
• By matching component names in the manifest
file.
• By calculating the similarity between paths and
apps.
 Path: sequence of methods from entry point into a
sink
 Sink: operation requiring dangerous and sensitive
permissions
 Static
analysis
• Baksmali
 Permission overprivilege
• Initial permission set of apps
• Step1
 To generate the complete requested permission set: Rset
 Initial requested permission set from manifest files of
apps
 To include shared permission set: SharedUserId
• Step2
 To calculate the used permission set: U-set
 Used by API invocations
 Used by Intents
 Used by content providers
• Step3:
 The overprivilege set: R–U
 Algorithm
1
Initial R set
To generate the
complete R set
To generate the U
set
To generate the
permission
overprivilege set
 Vulnerabilities:
• Permission re-delegation attack
 Aims at using for dangerous actions
• Passive content leak: world readable content
provider
• Content pollution: world writable content provider
 Aims at serious content leak
 Find the paths
• From open entrypoints to sinks
 Sensitive-sinks: APIs to sensitive permissions
 Bridge-sinks: invocations indirectly another components
 In-component: reachability analysis
 Cross-component: reflection analysis
 To
determine the feasible paths from the
entrypoint set of all Android components.
 Step1: intra-procedural reachability analysis
• building the call graphs and resolve it by using def-
use analysis
• The resolution starts rom the initial state to seek for a
fix point of state changes with iteration
• The result of states of variables and fields is named
as a “summary”
 Step2: inter-procedural reachability analysis
• Propagate the states among different methods
• Re-issue step1 if the summary is changed.
 Feasible path: execution flow
 Algorithm
Appendix
• Execution flow
Check the
summary of each
callee c is
modified or not
invoking
inter-analysis
related to c (????)
????
 Reflection attack: Example
 Vulnerability paths
• in-component: reachability analysis
 From unprotected component to a sink located in
the same component
• cross-component: none
 From unprotected component to a sink located in
the different component but in the same app
• cross-app: none
 From unprotected component to a sink located in
the different component in the different app
 Reflection analysis: to find all possible
connections among components/apps
 Algorithm 2: reflection analysis
• For current component and visited
component list:
 If current component is visited, return
with V
 Or append current component into
visited component list.
 If this current component
vulnerable,
Add to V ifis
c is
vulnerable
add to V
• For all other components able to start
current component
 Do reflection analysis among them
• Return V
 SEFA
was written in Java and Python
 Processing time of each image:70 min
avg.
 Manual verify of vulnerabilities
 Baksmali
 Devices
2010-2012
 Permission
Usage Analysis
• % of Overprivilege apps
 87.96% -> 83.61%: avg.: 85.78%
 Vulnerabilities
• % of vulnerable apps
 Worst in %: HTC wildfire S, LG Optimus P880
 Vulnerabilities: customizations
• Customizations: vender and third-
parties
• % of vulnerable apps of
customizations
 Vulnerabilities
• Inherited: from previous product
• Introduced: new found in the new product
 Vulnerabilities
• Critical vulnerabilities
• Other: vendor- or model- specific
 Vulnerabilities: cross-app
vulnerabilities
• Difficult to detect
• % of cross-app vulnerabilities
 Reflection
Two hard-coded local
attack sample
socket:
 Pre-load app: Keystring_misc
FactoryClientRecv
FactoryClientSend
• Protected component:PhoneUtilReceiver
Able to receive command
• Permission:
from local socket
com.sec.android.app.phoneutil.permission
• systemOrSignature level
 Another
app: FactoryTest
Protected
• Feasible path: able to start this component of
Keystring_misc
• Cross app vulnerability path
 sCloudBackupProvider
app
• Four content providers in the app with package
name:
 Com.sec.android.sCloudBackupProvider
• Exposing access interfaces to databases
 Calllogs.db, sms.db, mms.db, settings.db
• Interfaces are protected by two normal-level
permissions
• Able to be accessed by any third-party app
 Software development policies
• Sony
• HTC
 Popular product vs poor security level
• Samsung S3
 Limitations
• Not cover customization of system level code
• High false positive rate of analysis
 Manually verify avg. 300 paths per device
• It would be better to use dynamic analyzer
 Provenance Analysis
• SMIT: malware database
• DroidMOSS, DNADroid, PiggyApp: detecting
repackaging app in markets.
 Permission Usage Analysis
• Pscout: overprivilege apps
 Vulnerability Analysis
• DroidRanger: detect malicious app in markets
• TaintDroid, MockDroid, TISSA: privacy leaks
• ComDroid, Woodpecker, CHEX: in-component
vulnerability detection
 Evaluate
the security impact of vender
customizations
 Overprivilege app analysis
 Static reachability and reflection analysis
Download