Hardware-Based Integrity Protection Combined with Continuous User Verification in Virtualized Systems
Total Page:16
File Type:pdf, Size:1020Kb
Fakultat¨ fur¨ Informatik der Technischen Universitat¨ Munchen¨ Lehrstuhl f¨urSicherheit in der Informatik Hardware-based Integrity Protection combined with Continuous User Verification in Virtualized Systems Michael Velten Vollst¨andigerAbdruck der von der Fakult¨atf¨urInformatik der Technischen Universit¨at M¨unchen zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigten Dissertation. Vorsitzender: Prof. Dr. J¨orgOtt Pr¨uferder Dissertation: 1. Prof. Dr. Claudia Eckert 2. Prof. Dr. Georg Sigl Die Dissertation wurde am 04.05.2017 bei der Technischen Universit¨atM¨unchen eingereicht und durch die Fakult¨atf¨ur Informatik am 10.09.2017 angenommen. iii Abstract The ubiquity of computer systems, their application in security and privacy critical contexts like electronic voting, online shopping, or online banking, and the fact that these systems contain sensitive data pose security and pri- vacy risks. There is a threat of malicious users and software, like viruses, worms, and trojans, attacking and exploiting vulnerabilities in order to com- promise the computer systems and to spy on users or to manipulate data. Because mobile devices are often used to interact with these systems, an- other attack vector can be lost, stolen, or compromised devices used for gaining illegitimate access to the systems and to sensitive data hosted on the systems like account or credit card information. Such attacks constitute a threat to system integrity and data confidentiality and therefore ultimately to the confidence in the trustworthiness of the systems. Therefore, suitable protection and defense mechanisms are required. In this work, we develop concepts and methods to ensure the continu- ous integrity of computer systems through a combination of virtualization techniques and a Trusted Platform Module (TPM). This includes the de- velopment of secure mechanisms for taking integrity measurements of soft- ware running inside virtual machines and for securely storing the obtained integrity measurements in a TPM. Furthermore, we explore how only legit- imate users will be allowed to access the computer systems and the hosted user data by continuously authenticating all users interacting with the sys- tem. We first show how to store and multiplex integrity measurements of ar- bitrarily many virtual machines in the TPM without lowering the security level provided by the TPM. A specially tailored attestation protocol en- ables us to prove the trustworthiness of individual virtual machines and to protect the privacy of other virtual machines by concealing sensitive data inherently required to be disclosed within the attestation process. We pro- pose a virtualization-based architecture for securely taking integrity mea- surements from outside of the monitored virtual machines that effectively prevents attackers located in the virtual machines from manipulating the measurement process and the obtained measurements. The development of a flexible rule-based access control mechanism for protecting the integrity of virtual machines enables users to autonomously and securely install and update software packages while still preventing the installation of malicious or vulnerable software, and without requiring the intervention of the sys- tem administrator. Furthermore, we show how to continuously authenticate users of mobile devices|like smartphones and tablets|accessing and in- iv teracting with the system by comparing the touchscreen interactions of the current user with the individual behavior patterns of the legitimate user. The proposed concept enables us to detect and disable compromised user accounts without requiring any special software, permissions, or provision- ing on the device. We develop and evaluate prototypes to demonstrate the practicality of the proposed concepts and mechanisms. v Kurzfassung Die Allgegenw¨artigkeit von Computersystemen, deren Einsatz in sicherheits- und privatsph¨are-kritischen Kontexten wie etwa Electronic Voting, Online Shopping oder Online Banking und die damit einhergehende Existenz sen- sibler Daten bergen besondere Risiken bez¨uglich der Sicherheit dieser Sys- teme und des Datenschutzes. Zum einen besteht die Gefahr, dass b¨osartige Nutzer und Malware, wie beispielsweise Viren, W¨urmerund Trojaner, durch die Ausnutzung von Schwachstellen der Computersysteme diese kompromit- tieren und so etwa Benutzer ausspionieren oder Daten manipulieren. Da der Zugriff auf die Systeme zudem oft ¨uber mobile Endger¨ateerfolgt, stellen verlorene, gestohlene und kompromittierte Endger¨ateeinen weiteren poten- tiellen Angriffsvektor dar, um unberechtigten Zugriff auf die Systeme und auf dort vorhandene sensible Daten wie etwa Konto- und Kreditkarteninforma- tionen zu erlangen. Solche Angriffe bedrohen somit die Integrit¨atder Com- putersysteme, die Vertraulichkeit der dort befindlichen Nutzerdaten und damit letztlich das allgemeine Vertrauen der Benutzer in solche Systeme. Dementsprechend werden geeignete Absicherungs- und Verteidigungsmaß- nahmen ben¨otigt. Gegenstand dieser Arbeit ist zum einen die Erforschung von Konzepten und Mechanismen zur kontinuierlichen Sicherstellung der Datenintegrit¨at eines Systems unter dem Einsatz von Virtualisierungstechniken in Kombina- tion mit einem Trusted Platform Module (TPM). Dies umfasst insbesondere die sichere Durchf¨uhrungvon Integrit¨atsmessungen der sich in den virtuellen Maschinen befindlichen Komponenten und die sichere Verwahrung der ent- nommenen Integrit¨atsmesswerte im TPM. Zum anderen wird untersucht, wie sichergestellt werden kann, dass nur legitime Benutzer Zugriff auf das System und auf die dort vorhandenen Nutzerdaten erhalten, indem kon- tinuierlich die Authentizit¨atder mit dem System interagierenden Benutzer verifiziert wird. Zun¨achst wird dazu gezeigt, wie man die aus beliebig vielen virtuellen Maschinen entnommenen Integrit¨atsmesswerte so im TPM speichern und multiplexen kann, dass dies nicht zu einer Beeintr¨achtigung des Sicherheits- niveaus f¨uhrt.Darauf aufbauend wird ein Attestationsprotokoll vorgestellt, das es erlaubt, die Vertrauensw¨urdigkeit einzelner virtueller Maschinen nach- zuweisen, wobei inh¨arent offenzulegende Daten anderer virtueller Maschinen so verschleiert werden, dass keine kritischen Informationen preisgegeben wer- den. Zur sicheren Durchf¨uhrungder Integrit¨atsmessungenwird eine virtu- alisierungsbasierte Architektur entworfen, mit deren Hilfe die Integrit¨ats- messungen von außerhalb der ¨uberwachten virtuellen Maschinen erfolgen vi k¨onnen,so dass sowohl Manipulationen des Messvorgangs als auch der Mess- werte durch einen in den virtuellen Maschinen befindlichen Angreifer effek- tiv verhindert werden. Zus¨atzlich wird eine flexible regelbasierte Zugriffs- kontrolle zur Gew¨ahrleistungder Datenintegrit¨aterarbeitet, die Benutzern von virtuellen Maschinen die autonome Installation und Aktualisierung von Software-Paketen ohne die Notwendigkeit der Intervention durch den Sys- temadministrator erm¨oglicht, dabei jedoch die Installation b¨osartigerund verwundbarer Software unterbindet. Des Weiteren wird untersucht, wie die Authentizit¨atder mit dem System ¨uber mobile Endger¨ate{ wie Smart- phones und Tablets { interagierenden Benutzer kontinuierlich verifiziert wer- den kann, indem die Interaktionen des aktuellen Benutzers mit dem Touch- screen des verwendeten mobilen Endger¨atesmit den individuellen verhal- tensbasierten Charakteristika des legitimen Benutzers abgeglichen werden. Das vorgestellte Konzept erlaubt die Erkennung und Deaktivierung kompro- mittierter Benutzerkonten, ohne dass es dazu spezieller Software, besonderer Berechtigungen oder einer vorherigen Provisionierung des Endger¨atsbedarf. Die Praktikabilit¨atund Effektivit¨atder erarbeiteten Konzepte und Mech- anismen werden durch prototypische Umsetzungen und deren Evaluation demonstriert. vii Acknowledgments First of all, I would like to thank Prof. Dr. Claudia Eckert for giving me the opportunity to pursue a PhD in the field of IT Security and for providing me with her supervision, support, and encouragement. I would also like to thank Prof. Dr. Georg Sigl for his interest in my work and his contribution as a second examiner. I am thankful to all the members of the departments Embedded Security and Trusted OS and Secure Operating Systems at the Fraunhofer Institute for Applied and Integrated Security. I would like to especially thank the following colleagues|in alphabetical order|for fruitful discussions, valuable feedback, and their support and companionship: Julian Horsch, Manuel Huber, Nisha Jacob, Prof. Dr. Dominik Merli, Dieter Schuster, Dr. Michael Weiß, Philipp Zieris. I would also like to thank the former students Matthias Fischer and Peter Schneider who assisted me in my research. Finally, I am grateful to my parents and the rest of my family for their endless support. This dissertation would not have been possible without them. viii Contents 1 Introduction1 1.1 Motivation . .1 1.2 Problem Statement . .4 1.3 Contributions . .6 1.4 Thesis Outline . .9 2 Background 11 2.1 Trusted Computing . 11 2.1.1 Integrity Measurement . 13 2.1.2 Remote Attestation . 14 2.2 Virtualization . 15 2.2.1 Full Virtualization . 15 2.2.2 Paravirtualization . 16 2.2.3 Operating-System-Level Virtualization . 17 2.3 Distributed Filesystems . 18 2.3.1 9P Filesystem . 18 2.4 Machine Learning . 20 2.4.1 Classification . 20 3 Multiplexing TPM Integrity Measurements 23 3.1 TPM Virtualization Challenges . 24 3.2 Requirements Analysis . 26 3.3 Attacker Model and Assumptions . 27