An Empirical Evaluation of Misconfiguration in Internet Services
Total Page:16
File Type:pdf, Size:1020Kb
TECHNISCHE UNIVERSITÄT BERLIN FAKULTÄT FÜR ELEKTROTECHNIK UND INFORMATIK LEHRSTUHL FÜR INTELLIGENTE NETZE UND MANAGEMENT VERTEILTER SYSTEME UND LEHRSTUHL FÜR SECURITY IN TELECOMMUNICATIONS An Empirical Evaluation of Misconfguration in Internet Services vorgelegt von Tobias Fiebig geb. Wrona, MSc Geboren in Dissen am Teutoburger Wald Fakultät IV – Elektrotechnik und Informatik der Technischen Universität Berlin zur Erlangung des akademischen Grades DOKTOR DER INGENIEURWISSENSCHAFTEN (DR.-ING.) Promotionsausschuss: Vorsitzender: Prof. Dr.-Ing. Sebastian Möller, TU Berlin Gutachterin: Prof. Anja Feldmann, Ph. D., TU Berlin Gutachter: Prof. Dr. Jean-Pierre Seifert, TU Berlin Gutachter: Prof. Dr. Steve Uhlig, Queen Mary University of London Tag der wissenschaftlichen Aussprache: 16. Juni 2017 Berlin 2017 Für meinen Opa. I Abstract Within the past thirty years we have seen computers rise from room sized niche equipment to handy pocket sized devices found in every household. At the same time there has been a signifcant increase in the research effort on computer security. The literature is full of sophisticated attacks to obtain confdential information from computer systems, compro- mise them, or prevent them from being used at all. Simultaneously, mitigations to these attacks are as well studied. Technically, current attacks could be mitigated by deploying these techniques. In fact, there is a constant stream of new, complex techniques to ensure the confdentiality, integrity, and availability of data and systems. However, even the recent past has not been short of security incidents affecting billions of people. Yet, these incidents are usually neither enabled nor mitigated by these complex techniques. On the contrary, we fnd that these breaches are usually caused by something far more simple: Human error in deploying and running network services, e.g., delayed software updates, or, no authentication and authorization being confgured even though it would have been available. We refer to these as security misconfgurations. In this thesis we empirically investigate the nature of security misconfgurations. Specif- cally, to approach the unscoped question, if and how security misconfgurations introduce challenges to the security of Internet services, we investigate: (i) What are security miscon- fgurations (in Internet Services), (ii) How we can measure security misconfgurations, and, (iii) How security misconfgurations can be measured and mitigated in today’s as well as tomorrow’s IPv6 Internet. We fnd that complex attacks are commonly prevented by easy to implement technical miti- gations. In contrast, misconfguration based issues require a more demanding approach that is focused on the personnel operating Internet services. Patching humans is incredibly hard. Furthermore, our literature study indicates that there are already problems in the design of protocols. A good design can prevent misconfgurations, while a bad design can lead to multiple, easily misconfgured implementations. Current mitigation techniques are focused on identifying and contacting affected operators, so they can take appropriate action and remove the misconfguration. However, this process heavily relies on security scans of the whole Internet. While this is feasible with IPv4, the current Internet Protocol Version, a similar bruteforce approach is unfeasible for the larger address space of the upcoming IPv6. Hence, we develop and evaluate a new methodology that enables researchers to perform security scans of IPv6 connected hosts. Hence, in summary, this thesis outlines the frst steps towards addressing security miscon- fgurations as an Internet wide issue with an exploratory approach rooted in empirical mea- surements. We conclude this work by discussing various paths of future research, which should be pursued to reduce the impact of security misconfgurations on the Internet. III Zusammenfassung In den letzten zwanzig Jahren haben sich Computer von einer raumfüllenden Nischentech- nik zu omnipräsenten Mobilgeräten entwickelt. Gleichzeitig haben sich Forschungsanstren- gungen zur Computersicherheit intensiviert. In der Fachliteratur fnden sich unzählige aus- geklügelten Angriffen auf Computersysteme, um aus diesen Informationen zu stehlen, sie zu kompromittieren oder ihre Nutzung gleich ganz zu verhindern. Zeitgleich sind Schutz- techniken gegen diese Angriffe gut untersucht und würden, wenn sie Anwendung fänden, diese Angriffe unterbinden. In der Tat werden regelmäßig neue, komplexe, Techniken vor- gestellt um die Vertraulichkeit, Integrität, und Verfügbarkeit von Daten und System zu ga- rantieren. Trotzdem fnden sich in der jüngeren Vergangenheit unzählige Sicherheitsvorfälle, bei de- nen Milliarden von Menschen betroffen waren. Jedoch wurden diese Zwischenfälle in aller Regel nicht von komplexen Angriffen verursacht oder durch ebenso komplexe Verteidi- gungstechniken verhindert; im Gegenteil: Wir müssen feststellen, dass sie einfach durch menschliches Versagen beim Betrieb von Internetdiensten ausgelöst werden, z.B. durch verzögerte Softwareupdates, oder fehlende Authentifkations- und Authorisierungsregeln, obwohl solche vorhanden wären. Wir nennen diese Fälle sicherheitsrelevante Fehlkonfgu- rationen. Um die offen gehaltene Frage, ob und wie sicherheitsrelevante Fehlkonfgurationen die Si- cherheit im Internet beeinfussen, anzugehen, wenden wir uns in dieser Arbeit drei Kern- fragen zu: (i) Was sind sicherheitskritische Fehlkonfgurationen (in Internetdiensten), (ii) Wie können wir sicherheitskritische Fehlkonfgurationen messen, und (iii) Wie können wir sicherheitsrelevante Fehlkonfgurationen im heutigen wie zukünftigen IPv6 Internet messen und beheben. Unsere Untersuchungen zeigen, dass komplexe Angriffe meist durch vergleichbar einfach umsetzbare Techniken verhindert werden können. Im Gegensatz dazu sind Fehlkonfgura- tionen eine grössere Herausforderung und verlangen eine genauere Auseinandersetzung mit dem Personal, welches Internetdienste betreibt. Unsere Literaturarbeit zu Fehlkonfguratio- nen zeigt, dass bereits beim Design von Internetdienstprotokollen wichtige Weichen gestellt werden. Ein gutes Design kann das Auftreten von Fehlkonfgurationen verhindern, wäh- rend ein schlechtes Design leicht zu einfach fehlkonfgurierbaren Implementationen führen kann. Derzeit liegt der Fokus von Versuchen Fehlkonfgurationen zu beheben darauf, die betroffe- nen Anbieter zu identifzieren und zu informieren, damit diese dann angemessen reagieren können. Obwohl dieser Prozess direkt an den Personen ansetzt, die Dienste betreiben, ist er unzureichend robust gegen Änderungen an der Architektur des Internets, d.h. gegen die Ein- führung von IPv6. Um diese Herausforderungen auch in Zukunft angehen zu können haben wir eine neue Methodik entwickelt, welche den ersten Schritt darstellt, um bestehende Tech- niken und Abläufe an zukünftige Änderungen in der Architektur des Internets anzupassen. Diese Prozesse erfordern jedoch Sicherheitsabtastungen des gesamten Internets. Obwohl IV dies mit der aktuellen Internet Protokol Version, IPv4, möglich ist, verhindert der große Adressbereich des kommenden IPv6 solche Sicherheitsabtastungen. Daher entwickeln wir eine neue Methode, welches es Forschern ermöglicht IPv6 Systeme auf Sicherheitsproble- me abzutasten. Zusammenfassend stellen wir in dieser Arbeit die ersten Schritte in zur Bearbeitung von si- cherheitskritischen Fehlkonfgurationen als internetweites Problem vor, wobei wir einen ex- plorativen Ansatz verwenden, welcher auf empirischen Methoden aufbaut. Zum Abschluss dieser Arbeit stellen wir im Weiteren mögliche weitere Forschungsansätze vor, welche zur Reduktion von sicherheitskritischen Fehlkonfgurationen im Internet verfolgt werden soll- ten. V Publications Scientifc contribution is an emergent property of a published article that can not be re- duced to specifc sentences. This thesis is based on the following papers, which have been integrated with the entirety of their main matter with minor adjustments to preserve the sci- entifc value of the individual works. I do acknowledge that this may lead to textual overlap between this thesis and those of my co-authors. To enable the reviewers to assess my per- sonal contribution, this sections also provides a summary of my personal contribution to each paper. I informed my co-authors about the use of these works to the feasible extent. All my collaborators in these works are listed as authors on them. I would like to express my gratitude to the co-authors of the following published papers. The research endeavor presented in this thesis would have been impossible without their interdisciplinary collaboration. Pre-published Papers Peer-Reviewed International Conferences and Workshops “Something From Nothing (There): Collecting Global IPv6 Datasets From DNS”, To- bias Fiebig, Kevin Borgolte, Shuang Hao, Christopher Kruegel, Giovanni Vigna, Passive and Active Measurement: 18th International Conference, 2017. Being the lead author, for this work I adapted a methodology for enumerating IPv6 PTR records for global use. I designed the experiments, implemented the necessary toolchain and gathered the datasets used in the evaluation. Subsequently I evaluated and discussed the gathered data. Furthermore, I identifed, conducted, and evaluated relevant case-studies. “A One-Year Perspective on Exposed In-memory Key-Value Stores”, Tobias Fiebig, Anja Feldmann, Matthias Petschick, Proceedings of the 2016 ACM Workshop on Auto- mated Decision Making for Active Cyber Defense, 2016. As the lead