360 likes | 387 Views
Explore the advanced defense strategies for securing Android applications using the SAINT Policy framework. Learn about permission labels, policies, and architecture to protect against malicious activities.
E N D
MachigarOngtang, Stephen McLaughlin, William Enck, Patrick McDaniel Department of Computer Science and Engineering The Pennsylvania State University ACSCA 2009 Semantically Rich Application-Centric Security in Android Advanced Defense Laboratory
Outline • Introduction • Smartphone Application Security • Android • Application Policies • SAINT Policy • SAINT Architecture • Related Work • Conclusion Advanced Defense Laboratory
Introduction • Applications on mobile platform • Apple’s App Store • Android’s Market • BlackBerry App World • Android Security • Using permission label Advanced Defense Laboratory
Introduction (cont.) • In Manifest.xml: • You can not use the functions which are not in your application permission Advanced Defense Laboratory
Introduction (cont.) • Users are impossible to make good choices about the application permissions • The Android system protects the phone from malicious applications, but provides severely limited infrastructure for applications to protect themselves Advanced Defense Laboratory
Introduction (cont.) • Android Security Framework • Permission Assignment Policy • Interface Exposure Policy • Interface Use Policy • Secure Application INTeraction (Saint) framework • Installation-time Policy • Runtime Policy Advanced Defense Laboratory
Outline • Introduction • Smartphone Application Security • Android • Application Policies • SAINT Policy • SAINT Architecture • Related Work • Conclusion Advanced Defense Laboratory
Smartphone Application Security PersonalShopper can get location info only if it holds the permissions. • Example: If Ledger has the permission to access Internet, it might leak transaction info. PeronalShopper only trust Secure Payment and Trust Checkout . Password vault app contain bugs in v1.1. So application needs the new version. Advanced Defense Laboratory
Outline • Introduction • Smartphone Application Security • Android • Application Policies • SAINT Policy • SAINT Architecture • Related Work • Conclusion Advanced Defense Laboratory
Android http://developer.android.com/intl/zh-TW/guide/basics/what-is-android.html Advanced Defense Laboratory
Android (cont.) • Applications are ostensibly isolated • Android IPC : Binder and Intent • ioctl driver • Intent Filter: Advanced Defense Laboratory
Android (cont.) • Activity • Display on screen Advanced Defense Laboratory
Android (cont.) • Service • Background process Advanced Defense Laboratory
Android (cont.) • Broadcast Receiver • Asynchronous event notification Advanced Defense Laboratory
Android (cont.) • Content Provider • Share data between applications • Do not use Intents • Use URI (Uniform Resource Identifier) Advanced Defense Laboratory
Android (cont.) • Permission label in Android • Normal • Dangerous • Signature • signatureOrSystem • Developers can define permission labels to access their interface • But developers indirectly influence security Advanced Defense Laboratory
Outline • Introduction • Smartphone Application Security • Android • Application Policies • SAINT Policy • SAINT Architecture • Related Work • Conclusion Advanced Defense Laboratory
Application Policies • Policy Tree: • Double-stoke boxes is supported by Android Advanced Defense Laboratory
Application Policies (cont.) • Signature-based policy (1.2) • Define set of except signatures • Configuration-based policy (1.3) • E.g., Application version and the set of request permissions Advanced Defense Laboratory
Application Policies (cont.) • Signature-based policy (2.2) • Configuration-based policy (2.3) • Phone Context-based Policy (2.4) Advanced Defense Laboratory
Application Policies (cont.) • Install-time Policy Example • com.abc.lbs with “QueryByLocation” service • Developer Permission: com.abc.perm.getloc • Permission: ACCESS_LOCATION • Runtime Policy Example • com.ok.shopper wants to check the payment application • Signature checks Advanced Defense Laboratory
Outline • Introduction • Smartphone Application Security • Android • Application Policies • SAINT Policy • SAINT Architecture • Related Work • Conclusion Advanced Defense Laboratory
SAINT Policy Install-Time Run-Time Advanced Defense Laboratory
SAINT Policy (cont.) • Install-time Policy Example Advanced Defense Laboratory
SAINT Policy (cont.) • Runtime Policy • Access policy • Identify the caller’s security requirements • Expose policy • Identify the callee’s security requirements • Saint is a “conjunctional default allow policy” Advanced Defense Laboratory
SAINT Policy (cont.) • Runtime PolicyExample Advanced Defense Laboratory
SAINT Policy (cont.) • Administrative Policy • May users override the system/application policies? • Operational Policy Advanced Defense Laboratory
Outline • Introduction • Smartphone Application Security • Android • Application Policies • SAINT Policy • SAINT Architecture • Related Work • Conclusion Advanced Defense Laboratory
SAINT Architecture • Saint Installer • PackageParser / PackageManager • Insert each policy into AppPolicy provider only if its permission label is declared by the application Advanced Defense Laboratory
SAINT Architecture (cont.) • Saint Mediator Advanced Defense Laboratory
SAINT Architecture (cont.) • AppPolicy Provider • SQLite • verifyPermissionGrant API • insertApplicationPolicy API • FrameworkPolicyManager • Only FrameworkPolicyManager can update AppPolicy provider Advanced Defense Laboratory
Outline • Introduction • Smartphone Application Security • Android • Application Policies • SAINT Policy • SAINT Architecture • Related Work • Conclusion Advanced Defense Laboratory
Related Work • Kirin • Enforce install policies • Application Security Framework by OMTP • Certificate-based mechanism • Symbian • Symbian-signed Advanced Defense Laboratory
Related Work (cont.) • Linux Security Module (LSM) Framework • Isolation • SELinux on OpenMoko • Rao et al. • MAC system • Windows Mobile .Net • Bind each application to a behavioral profile enforced at runtime Advanced Defense Laboratory
Outline • Introduction • Smartphone Application Security • Android • Application Policies • SAINT Policy • SAINT Architecture • Related Work • Conclusion Advanced Defense Laboratory
Conclusion • Saint framework • Install-time and runtime policy enforcement Advanced Defense Laboratory