Security of Smartphones at the Dawn of Their Ubiquitousness
Total Page:16
File Type:pdf, Size:1020Kb
Security of Smartphones at the Dawn of their Ubiquitousness Inauguraldissertation zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften der Universität Mannheim vorgelegt von Michael Becher aus Kleve, Deutschland Mannheim, 2009 Dekan: Prof. Dr.-Ing. Felix Freiling, Universität Mannheim Referent: Prof. Dr.-Ing. Felix Freiling, Universität Mannheim Korreferent: Prof. Dr.-Ing. Ulrike Meyer, RWTH Aachen Tag der mündlichen Prüfung: 09.10.2009 iii Abstract The importance of researching in the field of smartphone security is substantiated in the increasing number of smartphones, which are expected to outnumber common computers in the future. Despite their increasing importance, it is unclear today if mobile malware will play the same role for mobile devices as for common computers today. Therefore, this thesis contributes to defining and structuring the field mobile device security with special concern on smartphones and on the operational side of security, i.e., with mobile malware as the main attacker model. Additionally, it wants to give an understanding of the shifting boundaries of the attack surface in this emerging research field. The first three chapters introduce and structure the research field with the main goal of showing what has to be defended against today. Besides introducing related work they structure mobile device attack vectors with regard to mobile malicious software and they structure the topic of mobile malicious software itself with regard to its portability. The technical contributions of this thesis are in Chapters5 to8, classified according to the location of the investigation (on the device, in the network, distributed in device and network). Located in the device is MobileSandbox, a software for dy- namic malware analysis. As another device-centric contribution we investigate on the efforts that have to be taken to develop an autonomously spreading smartphone worm. The results of these investigations are used to show that device-centric parts are necessary for smartphone security. Additionally, we propose a novel device- centric security mechanism that aims at reducing the attack surface of mobile devices to mobile malware. The network-centric investigations show the possibilities that a mobile network operator can use in its own mobile network for protecting the mobile devices of its clients. We simulate the effectiveness of different security mechanisms. Finally, the distributed investigations show the feasibility of distributed computation algorithms with security modules. We give prototypic implementations of protocols for secure multiparty computation as a modularized version with failure detector and consensus algorithms, and for fair exchange with guardian angels. iv Zusammenfassung Die Wichtigkeit der Forschung zur Sicherheit von multifunktionalen Mobiltele- fonen (engl. “smartphones”) wird untermauert von ihrer steigenden Anzahl, die vermutlich die Anzahl von herkömmlichen Rechnern in Zukunft übersteigen wird. Trotz ihrer steigenden Bedeutung ist es unklar, ob mobile Schadprogramme (engl. “mobile malware”) dieselbe Rolle für mobile Endgeräte spielen werden, wie es her- kömmliche Schadprogramme für herkömmliche Rechner tun. Aus diesem Grund leistet diese Arbeit einen Beitrag dazu, das Thema Sicherheit mobiler Endgeräte zu definieren und zu strukturieren. Insbesondere behandelt sie multifunktionale Mobiltelefone und die operative Seite der Sicherheit, die mobile Schadprogram- me als das hauptsächliche Angriffsmodell hat. Die Arbeit möchte zusätzlich ein Verständnis von den sich verschiebenden Grenzen der Angriffsvektoren in diesem neuen Forschungsfeld geben. Die ersten drei Kapitel führen in das Themenfeld ein, strukturieren es, und zeigen, wogegen man sich heute schützen muss. Neben der Nennung von verwandten Arbeiten werden Angriffsvektoren für mobile Endgeräte in Bezug auf mobile Schadprogramme, sowie mobile Schadprogramme in Bezug auf ihre Portabilität strukturiert. Die technischen Beiträge dieser Arbeit folgen in den Kapiteln 5 bis 8, aufgeteilt durch den Ort der Untersuchung (auf dem Endgerät, im Netz, verteilt zwischen Endgerät und Netz). Im Endgerät angesiedelt ist MobileSandbox, ein Programm für die dynamische Analyse von Schadprogrammen. Ein weiterer Beitrag bezogen auf das Endgerät ist die Untersuchung der Aufwände für die Entwicklung eines sich autonom verbreitenden Wurms auf multifunktionalen Mobiltelefonen. Die Ergebnisse dieser Untersuchungen werden benutzt, um endgerätezentrierte Teile als für die Sicherheit von multifunktionalen Mobiltelefonen notwendig zu zeigen. Außerdem wird ein neuartiger endgerätezentrierter Sicherheitsmechanismus vorge- stellt, der die Angriffsfläche der Endgeräte gegenüber mobilen Schadprogrammen reduziert. Die netzzentrierten Untersuchungen zeigen die Möglichkeiten, die ein Mobilfunk- netzbetreiber in seinem Mobilfunknetz benutzen kann, um die mobilen Endgeräte seiner Kunden zu schützen. Die Effektivität von verschiedenen Sicherheitsmecha- nismen wird simuliert. Schließlich zeigen die verteilten Untersuchungen die Durchführbarkeit von Sicher- heitsmodulen benutzenden Algorithmen zur verteilten Berechnung. Es werden vorgestellt: eine prototypische Implementierung von Protokollen zur sicheren ver- teilten Berechnung in einer modularisierten Version mit Ausfallerkennern und Konsensusalgorithmen. Außerdem eine Implementierung von fairem Austausch mit Sicherheitsmodulen. Acknowledgments A work like this cannot be done without the support of numerous people. Thanks go to all the employees of Deutsche Telekom who supported me with their time for discussions, with hardware, and with insights into the mobile world and into my research field. Dr. Thomas Breitbach for his trust in me and for enabling the funding during my work on this thesis. Special thanks go to Dr. Uwe Wilhelm for being my all-purpose contact at Deutsche Telekom during all the years. My proofreaders have contributed to an understandable text. Cordial thanks for carefully reading and commenting on every line of the draft chapters that I sent them: Alexander Becher, Andreas Sensen, Philipp Vorst. With valuable suggestions from their different perspectives they helped me a lot to refine my arguments and to make the text more understandable for a general computer science audience. Additional thanks go to the scientific world. To all my students from Aachen and Mannheim for their interest in the world of smartphone security and for choosing me as their supervisor. To all the people in Mannheim who gave the work on this thesis also a social component. To my referee Prof. Dr. Ulrike Meyer, who carefully read the thesis and gave valuable feedback to me that has formed this final version of the thesis. And to my supervisor Prof. Dr. Felix Freiling, who also carefully commented on the chapters of this thesis, who gave me support in every phase of my scientific work, and who always shared his insights into science. My family receives the most cordial thanks. They all know that this thesis would neither have started nor finished without them. vi Contents 1 Introduction1 2 Related Work9 2.1 Mobile Devices........................... 10 2.1.1 Definition.......................... 10 2.1.2 Security Modules...................... 11 2.1.3 Specifics of Mobile Devices................ 15 2.2 Mobile Device Security....................... 20 2.2.1 Definition of Security................... 21 2.2.2 Security in Application Frameworks............ 22 2.2.3 Security in Windows Mobile................ 24 2.2.4 Security in Symbian OS.................. 29 2.3 Mobile Malicious Software..................... 34 2.3.1 Definition of Malware................... 34 2.3.2 Surveys of Mobile Malware................ 35 2.3.3 Virus Scanners....................... 37 2.4 Analytic Mechanisms........................ 40 2.4.1 Dynamic Software Analysis................ 41 2.4.2 Simulation......................... 42 2.5 Distributed Computation...................... 43 2.5.1 Secure Multiparty Computation.............. 44 2.5.2 Fair Exchange....................... 47 3 Structuring Mobile Device Attack Vectors 51 3.1 Attack Vector Classes........................ 52 3.2 Hardware-Centric Attacks..................... 53 3.2.1 Intercepting MNO Smartcard Communication....... 55 3.2.2 Attacking the Device.................... 55 3.3 Device-Independent Attacks.................... 56 3.3.1 Wireless Transmission Security.............. 57 3.3.2 Backend Systems...................... 61 viii CONTENTS 3.4 Software-Centric Attacks...................... 62 3.4.1 General........................... 62 3.4.2 Operating System Modifications.............. 64 3.4.3 Web Browser........................ 66 3.5 “Layer 8”: The User as Attack Vector............... 68 3.5.1 Security Awareness..................... 69 3.5.2 Influence of the User.................... 70 3.5.3 Social Engineering..................... 71 3.5.4 Security & Usability.................... 72 3.6 Conclusion............................. 75 4 Structuring Mobile Malicious Software 77 4.1 Known Mobile Malware...................... 78 4.1.1 Windows Type of Operating Systems........... 78 4.1.2 Symbian OS........................ 81 4.1.3 Java Platform, Micro Edition (J2ME)........... 86 4.2 Phases of Malware......................... 87 4.2.1 Infection.......................... 87 4.2.2 Malicious Functionality.................. 88 4.2.3 Spreading.......................... 90 4.3 Mobile Malware Portability..................... 90 4.3.1 Cross-Platform Malware.................. 91 4.3.2 Portability between Mobile