Analysis and Control of Middleboxes in the Internet
Total Page:16
File Type:pdf, Size:1020Kb
Network Architectures and Services Dissertation NET 2013-07-1 Analysis and Control of Middleboxes in the Internet Andreas Müller Network Architectures and Services Department of Computer Science Technische Universität München TECHNISCHE UNIVERSITAT¨ MUNCHEN¨ Institut fur¨ Informatik Lehrstuhl fur¨ Netzarchitekturen und Netzdienste Analysis and Control of Middleboxes in the Internet Andreas Muller¨ Vollst¨andiger Abdruck der von der Fakult¨at fur¨ Informatik der Technischen Universit¨at Munchen¨ zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigten Dissertation. Vorsitzender: Univ.-Prof. Dr. Hans-Arno Jacobsen Prufer¨ der Dissertation: 1. Univ.-Prof. Dr.-Ing. Georg Carle 2. Prof. Dr. Ernst W. Biersack (Institut Eur´ecom,Sophia Antipolis, Frankreich) Die Dissertation wurde am 18.12.2012 bei der Technischen Universit¨at Munchen¨ ein- gereicht und durch die Fakult¨at fur¨ Informatik am 26.04.2013 angenommen. Cataloging-in-Publication Data Andreas Muller¨ Analysis and Control of Middleboxes in the Internet Dissertation, July 2013 Network Architectures and Services, Department of Computer Science Technische Universit¨at Munchen¨ ISBN 3-937201-35-1 ISSN 1868-2634 (print) ISSN 1868-2642 (electronic) DOI 10.2313/NET-2013-07-1 Network Architectures and Services NET 2013-07-01 Series Editor: Georg Carle, Technische Universit¨at Munchen,¨ Germany c 2013, Technische Universit¨at Munchen,¨ Germany ABSTRACT With the growing size and complexity of the Internet several types of middleboxes have been introduced to the network in order to solve a number of urgent problems. Net- work Address Translation devices fight against the Internet address depletion problem, caches and proxies help to efficiently distribute content and firewalls protect networks from potential attackers. Unfortunately, middleboxes violate the end-to-end connectiv- ity model of the Internet protocol suite and therefore introduce numerous problems for services and applications. The contribution of this thesis is the study and development of concepts and algorithms for understanding and improving the behavior of middle- boxes, their traversal, as well as their application to problems that emerged with the growing success of the Internet with a focus on unmanaged networks such as home and small company networks. The first part of this thesis designs and implements tools and algorithms to analyze middlebox behavior. We introduce a processing model for describing functional char- acteristics and create an information model to structure relevant middlebox behavior parameters. As an experimental analysis, a public field test is conducted to evaluate existing traversal techniques, understand middlebox behavior, to gain knowledge about their deployment and to draw conclusions on how to improve middlebox traversal. The second part of this thesis focuses on the traversal of middleboxes. Existing middlebox traversal methods do not differentiate between different types of applica- tions and therefore deliver suboptimal results in many situations. We claim that the classification of applications into service provisioning categories helps to determine the best matching middlebox traversal technique, not only dependent on the network topol- ogy, but also considering user-defined requirements. This thesis presents a framework that improves the communication of existing and future applications and services across middlebox devices. The idea is to use previously acquired knowledge about middlebox behavior and services for setting up new connections. Obtained results show that the knowledge-based approach is not only more flexible and applicable, but due to the decoupled connectivity checks, also significantly faster compared to the state of the art. Based on the findings of our experimental analysis we show how to integrate and adapt existing middlebox traversal techniques into the middlebox traversal framework. Additionally, new middlebox traversal techniques are presented and evaluated. In the third part of this thesis the applicability of middlebox services to unmanaged networks is discussed. A secure service infrastructure is presented based upon a trust model combining the power of centralized Certificate Authorities with the flexibility of the Web of Trust and social networks. This security infrastructure fulfills the security requirements of the middlebox traversal framework and provides secure identities for users, services and hosts in a semi-automatic way. A middlebox service helps establish and coordinate secure communications between different domains according to user- defined access control policies. Three application examples for middleboxes show how existing services can be improved and extended to solve open security, privacy and connectivity issues. KURZFASSUNG Mit der zunehmenden Komplexit¨at heutiger Netzwerke werden Funktionalit¨aten zur L¨osung aktueller Probleme h¨aufig als Middlebox im Netzwerk implementiert. Net- work Address Translation (NAT) hilft mit der limitierten Anzahl von IPv4 Adressen umzugehen, Firewalls filtern ungewollten Verkehr und Proxies und Web-Caches sind fur¨ die effiziente Verteilung von Inhalten unerl¨asslich. Da Middleboxen jedoch das initiale Ende-zu-Ende Prinzip des Internets verletzen, fuhrt¨ deren Existenz zu einer Vielzahl von Problemen mit existierenden Protokollen, Anwendungen und Diensten. In dieser Arbeit wird das Verhalten von Middleboxen sowie deren Konsequenz fur¨ heutige Netz- werke untersucht. Darauf aufbauend werden Methoden und Algorithmen entwickelt, die eine verhaltensbasierte Traversierung von Middleboxen erm¨oglichen. Daruber¨ hin- aus werden aktuelle Sicherheits- und Privatheitsprobleme aufgezeigt und Middlebox- basierte L¨osungen dafur¨ vorgestellt. Im ersten Teil der Arbeit werden Methoden und Algorithmen entworfen, die in der Lage sind, verschiedene Verhaltensweisen von Middleboxen zu analysieren. Anhand zweier Modelle, einem Verarbeitungs- und einem Informationsmodell, wird das Ver- halten in einem Feldtest anschließend experimentell untersucht. Die so gewonnenen Ergebnisse helfen Schlussfolgerungen bezuglich¨ der Traversierung von Middleboxen zu ziehen, existierende Techniken dafur¨ zu verbessern sowie neue Techniken zu entwerfen. Im zweiten Teil der Arbeit wird ein wissensbasiertes Framework entwickelt, das eine anforderungsgerechte, sichere und performante Middlebox-Traversierung fur¨ ver- schiedene Anwendungsklassen erm¨oglicht. Existierende Traversierungsmethoden be- trachten einige explizite Anforderung von Applikationen nicht, beispielsweise bezuglich¨ der Sicherheit, was zu ungewollten Seiteneffekten fuhren¨ kann. In dieser Arbeit wer- den Anwendungsklassen fur¨ Applikationen entworfen um Traversierungstechniken nicht nur basierend auf der Netzwerktopologie, sondern auch basierend auf der eigentlichen Anwendungskategorie auszuw¨ahlen. Kernpunkt des entwickelten Frameworks ist ein wissensbasierter Ansatz, der das Verhalten von Middleboxen sowie zus¨atzliche Regeln analysiert, geeignete Traversierungstechnik parameterisiert und damit nicht nur zu- verl¨assiger, sondern auch performanter als der Stand der Technik ist. Im dritten Teil der Arbeit werden neue L¨osungskonzepte fur¨ die Anwendbarkeit von Middlebox-basierten Diensten auf aktuelle Sicherheits- und Privatheitsprobleme vorgestellt. Insbesondere in Netzwerken, die nicht professionell administriert sind, wie beispielsweise Heimnetzwerke, k¨onnen aktuelle Sicherheitsmechanismen aus Komplex- it¨atsgrunden¨ oft nicht eingesetzt werden. Diese Arbeit entwickelt eine Sicherheitsinfras- tuktur, die herk¨ommliche Zertifizierungsstellen (CAs) mit dem Ansatz des Web of Trust verbindet und fur¨ unerfahrene Benutzer zug¨anglich macht. Abschließend wird anhand von drei neuen Middlebox-Diensten exemplarisch gezeigt, wie sich aktuelle Sicherheits- und Privatheitsprobleme mit Middlebox-basierten Diensten l¨osen lassen. ACKNOWLEDGMENTS This thesis would have not been possible without the support of many individuals: First of all I would like to thank Prof. Dr.-Ing. Georg Carle for giving me the opportunity to work on many interesting projects during the course of my studies and for supervising this thesis. Thank you Prof. Dr. Ernst Biersack for being my second supervisor and for the valuable feedback and Prof. Dr. Hans-Arno Jacobsen for the organization of the examination. Main parts of this work are part of the research project AutHoNe - Autonomic Home Networking, funded by the Federal Ministry of Education and Research (BMBF). Their financial support was an important foundation. I would like to thank my colleagues at the chair for Network Architectures and Services for creating a productive work environment and for many discussions on various subjects. In particular I would like to thank my former colleague Dr. Andreas Klenk for many discussions on NAT and Holger Kinkelin for his cooperation on the security part and for sharing our office with me for the past 5 years. I also had the chance to work with numerous good students and student assistants who contributed to this work. Thank you Ralph Holz and Dr. Richard Edel for reading and correcting this thesis and for giving valuable feedback on the English language and on the topic itself. A big thanks to my friends who provided me a world outside of research, computer science and work. I am also very thankful to my parents who have always supported and believed in me. Without their support throughout my life many opportunities would not have been possible. Finally, I would like to thank my wife Rebecca,