Open Ongtang-Phd-Dissertation.Pdf
Total Page:16
File Type:pdf, Size:1020Kb
The Pennsylvania State University The Graduate School SECURING MOBILE PHONES IN THE EVOLVING MOBILE ECOSYSTEM A Dissertation in Computer Science and Engineering by Machigar Ongtang © 2010 Machigar Ongtang Submitted in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy August 2010 The dissertation of Machigar Ongtang was reviewed and approved∗ by the following: Patrick D. McDaniel Associate Professor of Computer Science and Engineering Dissertation Advisor, Chair of Committee Thomas F. La Porta Distinguished Professor of Computer Science and Engineering Trent Jaeger Associate Professor of Computer Science and Engineering Ling Rothrock Associate Professor of Industrial and Manufacturing Engineering Raj Acharya Professor of Computer Science and Engineering Department Head ∗Signatures are on file in the Graduate School. Abstract The revolution of mobile phone industry has been altering our life and business practices over the past few decades. Driven by user demands and technological advancement, we now experience rich mobile phone applications and sophisticated cellular services ranging from mobile payment, stock trading, to social networking, vehicle tracking to in-car control. As more players joining the community, this mobile phone environment has transformed into a complex network of interacting companies, known as mobile ecosystem. Unfortunately, this opening and converging mobile ecosystem has brought in more opportunities for more attacks on mobile phones, a key element of the system. This dissertation aims to achieve mobile phone security. We reveal two main chal- lenges that we need to overcome, namely developing a clear definition of secure phones, and building security infrastructure that imposes such definition on the phones. We also identify three key elements that contribute to the fidelity of mobile phones, namely, mobile phone platforms, mobile phone applications, and mobile content. Throughout this dissertation, we explore the application of security requirements engineering disci- pline in developing security policies that frame security phones from the perspectives of the above three elements. Accordingly, we develop appropriate security infrastructure on the Android platform to enforce such security policies. Through security analysis and performance evaluation, we demonstrate the effectiveness and the efficiency of our approach, and suggest possible further improvement. iii Table of Contents List of Figures viii List of Tables x Acknowledgments xi Chapter 1 Introduction 1 1.1 Thesis Statement . 5 1.2 Contributions . 7 1.3 Dissertation Outline . 8 Chapter 2 Preliminaries and Related Work 10 2.1 Mobile Ecosystem and its Evolution . 11 2.1.1 Evolution of the Mobile Ecosystem . 11 2.1.2 An Outlook for Mobile Phone Security . 13 2.2 Android Operating System . 15 2.2.1 Android Architecture . 16 2.2.2 Android Application Model . 16 2.2.3 Android Security Model . 18 2.2.4 Limitations of Android . 20 2.3 Basic Mobile Phone Operations . 21 2.3.1 Short Messaging Service (SMS) . 22 2.3.2 Multimedia Messaging Service (MMS) . 22 2.3.3 Internet Connection . 24 2.4 Attacks on Mobile Phones . 24 2.4.1 Cellular Network Vulnerabilities . 25 2.4.2 Mobile Phone Vulnerabilities . 25 iv 2.5 Attack Mitigations . 27 2.6 Security Requirements Engineering (SRE) . 30 2.7 Policy Systems . 33 2.7.1 Classic Policy Models . 34 2.7.2 Decentralized Policy . 35 2.7.3 Policy Reconciliation . 38 2.7.4 Automated Policy Generation . 38 2.8 Summary . 39 Chapter 3 Securing Mobile Phone Platform Against Malware 40 3.1 Understanding Malware Situation . 42 3.1.1 Categories of Malware . 42 3.1.2 Malware Mitigations and Limitations . 44 3.2 Certifying Application at Install Time . 45 3.2.1 Application Installation in Android . 45 3.2.2 Application Certification with Kirin . 47 3.2.3 Implementation of Kirin . 49 3.3 Developing Platform Security Policy . 49 3.3.1 Security Requirements Engineering for Mobile Phones . 50 3.3.2 Platform Security Policy Development Methodology . 50 3.3.3 Sample Platform Security Policies . 53 3.3.4 Kirin Security Language . 58 3.4 Evaluating Platform Protection Against Malware . 60 3.4.1 Empirical Results . 60 3.4.2 Mitigating Malware . 63 3.4.3 Discovered Vulnerabilities . 63 3.5 Summary . 65 Chapter 4 Securing Mobile Phone Applications in Open and Converging Model 66 4.1 Evolving Application Model . 67 4.2 Protecting Applications' Interactions . 69 4.2.1 Motivating Example . 69 4.2.2 Designing Saint Framework . 71 4.2.2.1 Install-time Application Policy Support . 71 4.2.2.2 Runtime Application Policy Support . 72 4.3 Developing Application Security Policy . 73 4.3.1 Application Security Policy Development Methodology . 74 4.3.2 Sample Application Security Policy . 77 4.3.3 Application Security Policy Taxonomy . 79 4.3.3.1 Install-time Permission Granting Policy . 80 4.3.3.2 Run-time Interaction Policy . 80 v 4.4 Auxiliary Policies . 83 4.4.1 Administrative Policy . 83 4.4.2 Operational Policy . 84 4.5 Implementing Saint Framework . 85 4.5.1 Saint Installer . 85 4.5.2 Saint Mediator . 86 4.5.3 AppPolicy Provider . 89 4.5.4 FrameworkPolicyManager . 90 4.5.5 Condition Extensibility . 90 4.6 Evaluating Applications Protection . 90 4.6.1 Policy Appropriateness . 91 4.6.2 Performance Evaluation . 95 4.6.2.1 Macrobenchmarks . 96 4.6.2.2 Microbenchmarks . 97 4.7 Summary . 97 Chapter 5 Secure Handling of Mobile Content 100 5.1 Recognizing Risks to Content and Need for DRM . 102 5.1.1 Understanding Content Usage Through Applications Survey . 104 5.1.2 DRM Policy Requirements . 106 5.2 Understanding Content Delivery . 106 5.2.1 Documents in Transit . 107 5.2.2 On-Platform Document Access . 108 5.3 Threat and Trust Model . 110 5.4 Securing Mobile Content with Porscha . 111 5.4.1 Supported Policy . 111 5.4.2 Document-in-Transit . 112 5.4.3 On-platform Document Security . 115 5.4.3.1 Policy Enforcement on Initial Recipients . 116 5.4.3.2 Policy Enforcement on Documents at Rest . 118 5.4.3.3 Enforcement on Indirect Receivers . 118 5.5 Developing Content Security Policy . 119 5.5.1 Content Policy Development Methodology . 119 5.5.2 Content Security Policy Rules . 122 5.5.3 Sample Content Security Policy . 122 5.6 Evaluating Porscha . 123 5.7 Discussion . 125 5.7.1 Protecting the Private Key . 125 5.7.2 Recipients Without Porscha . 126 5.7.3 Application and Platform Trust . 126 5.7.4 Alternative Application Enforcement Infrastructures . 127 vi 5.7.5 Digital Rights Management . 127 Chapter 6 Towards Secure Mobile Phone Environment 129 6.1 Security Policy Framework . 130 6.2 Retrofitting Security through Security Requirements Engineering . 131 6.3 Trust Model . 132 6.4 Future Work . 133 6.4.1 Confining Applications with AppJailing . 133 6.5 Cloud Computing Infrastructure for Securing Elastic Android Applications 136 6.6 On-Platform DRM for Application Usage Control . 138 6.7 Summary . 139 Bibliography 141 vii List of Figures 2.1 Mobile ecosystem consists of multiple interacting classes of participants 12 2.2 Android architecture consists of three layers: Linux kernel, Android mid- dleware, and applications. 17 2.3 Android's application manifest file contains the application's security con- figuration and the component structure. 17 2.4 Android middleware mediates access between components and enforces mandatory access control (MAC) policy. As application 1 possesses label l1, component A in application 1 can access component B protected by label l1. However, it cannot access component C assigned with label l2. 19 2.5 Simplified SMS network architecture . 22 2.6 MMS Client submits multimedia message to associated MMS Proxy Relay 24 2.7 MMS Client retrieves multimedia message after receiving the WAP Push notification . 24 3.1 Kirin based application installer performs application certification at in- stall time. 48 3.2 Steps for Developing Phone Platform Security Policy. 51 3.3 Problem diagram explains possible functions on user conversation . 54 3.4 Threat tree with the global goal to eavesdrop the user's microphone input during the conversation . 55 3.5 KSL syntax in BNF. 58 4.1 The PersonalShopper application finds desired items at the discretion of the user and interacts with vendors and payment applications to purchase them. 70 4.2 Saint enforcement - Saint enhances the application installation process (a- c) with additional permission granting policies and mediates component IPC (1-5) to enforce interaction policies specified by both the caller and callee applications. ..