Security Trade-Offs in Cloud Storage Systems
Total Page:16
File Type:pdf, Size:1020Kb
Security Trade-Offs in Cloud Storage Systems vorgelegt von Dipl.-Wirt.-Inf. Steffen Muller¨ geb. in Bielefeld von der Fakultat¨ IV - Elektrotechnik und Informatik der Technischen Universitat¨ Berlin zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften - Dr.-Ing. - genehmigte Dissertation Promotionsausschuss: Vorsitzender: Prof. Dr. Florian Tschorsch Gutachter: Prof. Dr. Stefan Tai Gutachter: Prof. Dr. Alexander Pretschner Gutachter: Prof. Dr. Hannes Hartenstein Tag der wissenschaftlichen Aussprache: 07.07.2017 Berlin 2017 Abstract Securing software systems, is of paramount importance today. This is especi- ally true for cloud systems, as they can be attacked nearly anytime from every- where over the Internet. Ensuring security in general, however, typically has a negative impact on performance, usability, and increases the system’s complex- ity. For cloud systems, which are built for high performance and availability as well as elastic scalability, security, therefore, may annihilate many of these ori- ginal quality properties. Consequently, security, especially for cloud systems, can be understood as a trade-off problem where security mechanisms, applied to protect the system from specific threats and to achieve specific security goals, trade in security for other quality properties. For Cloud Storage Systems (CSS)—i.e., distributed storage systems that repli- cate data over a cluster of nodes in order to manage huge data amounts, highly volatile query load (elastic scalability), and extraordinary needs for availability and fault-tolerance—this trade-off problem is particularly prominent. Already, the different original quality properties of CSS cannot be provided at the same time and, thus, lead to fundamental trade-offs such as the trade-off between consistency, availability, and partition tolerance (see, e.g.: [53]). The piggy- backed trade-offs coming from considering security as an additionally wanted quality property of such systems lead to further trade-offs that must be decided and managed. In this thesis, we focus on the trade-offs between security and performance in CSS. In order to not contradict the original design goals of CSS, a sensible mana- gement of these trade-offs in CSS requires a high degree of understanding of the relationships between security and performance in the security mechanisms of a specific CSS. Otherwise, this can lead to a badly configured CSS which isase- curity risk or consumes a lot of resources unnecessarily. This thesis, hence, aims at enhancing the understanding of the trade-offs between security and perfor- mance in CSS as well as at improving the management of these trade-offs in such systems. For this, we present three independent contributions in this thesis. The first contribution intends to improve the overall understanding of security in and security requirements for CSS. We present two reference usage models that sup- port a security engineer in understanding the general usage of cloud storage i services (e.g., Amazon Web Services (AWS) Simple Storage Service (S3) or Goo- gle Cloud Storage) and Not only SQL (NoSQL) systems (e.g., Apache Cassan- dra (Cassandra) or Project Voldemort (Voldemort)) as well as abstract generic components of these CSS. Based on this, we introduce two reference threat mo- dels that specifically take into account essential architectural components of the CSS, abstract the components, and, thus, allow for detailed threat analyses of CSS. The gained insights into the security of CSS are essential to better un- derstand and manage security trade-offs between security and performance in CSS. The second contribution is the quantification of the trade-offs between secu- rity and performance for Secure Sockets Layer (SSL)/Transport Layer Security (TLS) in CSS. SSL/TLS is a popular security mechanism used, amongst other things, for securing the communication with and within CSS. For the quan- tification of the performance impact of SSL/TLS, we provide a novel bench- marking concept and corresponding benchmarking tool. Based on extensive experiments, we identify selected relevant configuration options of SSL/TLS on the trade-offs between security and performance in the NoSQL system Cas- sandra. Furthermore, we demonstrate that diverse former optimization rules of thumb for SSL/TLS in the context of CSS are no longer valid and various configurations may lead to very different performance results. As the third contribution, we introduce a new adaptive middleware to cope with the trade-offs between security and performance in secure communicat- ion via SSL/TLS of CSS at runtime automatically. In the Cloud, assumptions made for finding a good a-priori security mechanism configuration during the deployment of the system may change rapidly. This, in turn, may imbalance and contradict the security and performance of a system build on top of the CSS. With our Adaptive Transport Layer Security (ATLaS) middleware, we pro- vide a way to build different specific adaptations for SSL/TLS to reconfigure a CSS in such cases and, thus, to rebalance security and performance at runtime automatically. ii Zusammenfassung Das Absichern von Softwaresystemen ist heutzutage enorm wichtig. Dies gilt insbesondere fur¨ Cloud-Systeme, da sie nahezu jederzeit von uberall¨ uber¨ das Internet angegriffen werden konnen.¨ Jedoch hat Sicherheit im Allgemeinen ei- nen negativen Einfluss auf Performanz, Benutzbarkeit undoht erh¨ typischerweise die Komplexitat¨ eines Systems. Bei Cloud-Systemen, die fur¨ hohe Performanz und Verfugbarkeit¨ sowie elastische Skalierbarkeit erstellt werden, kann Sicher- heit entsprechend viele originare¨ Qualitatsmerkmale¨ eines Systems zunichte machen. Konsequenterweise kann Sicherheit, insbesondere fur¨ Cloud-Systeme, als ein Trade-off-Problem verstanden werden, bei dem Sicherheit in Form von Sicherheitsmechanismen, die ein System vor bestimmten Bedrohungen schutzen¨ und bestimmte Sicherheitsziele durchsetzen, gegen andere Qualitatsmerkmale¨ eines Systems eingetauscht wird. Bei Cloud-Speichersystemen (CSS) – d. h. verteilten Speichersystemen, die Da- ten in einem Cluster von Speicherknoten replizieren und fur¨ das Management von großen Datenmengen, von hoch volatilen Anfragelasten (Elastizitat¨ und Skalierbarkeit) und fur¨ Hochverfugbarkeitsl¨ osungen¨ eingesetzt werden – ist dieses Trade-Off-Problem sehr hervorstechend. Bereits die Erfullung¨ der ori- ginaren¨ Qualitatsmerkmale¨ in CSS fordert¨ Trade-Offs zutage, wie z. B. den Trade- Off zwischen Konsistenz, Verfugbarkeit¨ und Partitionstoleranz (siehe z. B.: [53]). Die zusatzlichen¨ Trade-Offs, die sich durch die Hinzunahme von Sicherheit als gewunschtes¨ Qualitatsmerkmal¨ solcher Systeme ergeben, fuhren¨ zu weiteren Trade-Offs, die entschieden und gemanagt werden mussen.¨ In dieser Dissertation werden die Trade-Offs zwischen Sicherheit und Perfor- manz in CSS naher¨ untersucht. Um die originaren¨ Designziele von CSS nicht zu konterkarieren, erfordert ein sinnvolles Management dieser Trade-Offs in CSS ein hohes Maß an Verstandnis¨ der Zusammenhange¨ zwischen Sicherheit und Performanz in den Sicherheitsmechanismen eines CSS. Andernfalls kann ein schlecht konfiguriertes CSS die Folge sein, was ein Sicherheitsrisiko darstellt oder unnotig¨ viele Ressourcen verwendet. Diese Dissertation zielt deshalb da- rauf ab, den Leser zu einem solch hoheren¨ Maß an Verstandnis¨ der Trade-Offs zwischen Sicherheit und Performanz in CSS zu verhelfen und ein besseres Ma- nagement dieser Trade-Offs in diesen Systemen zu ermoglichen.¨ iii Dazu werden drei unabhangige¨ wissenschaftliche Beitrage¨ in dieser Disserta- tion vorgestellt. Der erste Beitrag zielt auf die Verbesserung des Verstandnisses¨ der sicherheitskritischen Punkte in CSS. Dazu werden zuerst zwei Referenz- Nutzungsmodelle prasentiert,¨ die einen Security Engineer beim Verstehen der generellen Nutzung von cloud storage services – wie z. B. Amazon Web Ser- vices (AWS) Simple Storage Service (S3) oder Google Cloud Storage – und Not only SQL-Systemen (NoSQL-Systemen) – wie z. B. Apache Cassandra (Cassan- dra) oder Project Voldemort (Voldemort) – unterstutzen¨ und generelle Kom- ponenten dieser CSS abstrahieren sowie vereinheitlichen. Aufbauend auf den Referenz-Nutzungsmodellen werden zwei Referenz-Bedrohungsmodelle erstellt, die architekturelle Komponenten von CSS berucksichtigen¨ und eine tiefgehende Bedrohungsanalyse erlauben. Die gewonnenen Erkenntnisse konnen¨ dann fur¨ ein besseres Management der Trade-Offs zwischen Sicherheit und Performanz in CSS verwendet werden. Der zweite Beitrag ist die Quantifizierung der Trade-Offs zwischen Sicherheit und Performanz von Secure Sockets Layer (SSL)/Transport Layer Security (TLS) in CSS, einem Sicherheitsmechanismus der verstarkt¨ zur Absicherung von Kom- munikation in CSS zum Einsatz kommt. Fur¨ die Quantifizierung des Perfor- manzeinflusses von SSL/TLS in CSS wird zuerst ein neuartiges Benchmarking- Konzept entwickelt und ein entsprechendes Benchmarking-Tool vorgestellt. Auf Basis von ausgiebigen Experimenten werden dann verschiedene relevante Kon- figurationsoptionen von SSL/TLS fur¨ die Trade-Offs zwischen Sicherheit und Performanz in dem NoSQL-System Cassandra identifiziert. Weiterhin wird de- monstriert, dass einige fruher¨ geltende Optimierungsregeln fur¨ SSL/TLS im Kontext von CSS nicht mehr gelten und verschiedene Konfigurationen zu ganz unterschiedlichen Ergebnissen fuhren¨ konnen.¨ Als dritter Beitrag wird eine neuartige adaptive Middleware prasentiert,¨ die die automatische Behandlung von Trade-Offs