Loading…
Thumbnail Image

Security trade-offs in Cloud storage systems

Müller, Steffen

Securing software systems, is of paramount importance today. This is especially true for cloud systems, as they can be attacked nearly anytime from everywhere over the Internet. Ensuring security in general, however, typically has a negative impact on performance, usability, and increases the system's complexity. For cloud systems, which are built for high performance and availability as well as elastic scalability, security, therefore, may annihilate many of these original 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 replicate 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. The piggybacked 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 management 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 is a security risk or consumes a lot of resources unnecessarily. This thesis, hence, aims at enhancing the understanding of the trade-offs between security and performance 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 support a security engineer in understanding the general usage of cloud storage services (e.g., Amazon Web Services Simple Storage Service or Google Cloud Storage) and NoSQL systems (e.g., Cassandra or Project Voldemort) as well as abstract generic components of these CSS. Based on this, we introduce two reference threat models 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 understand and manage security trade-offs between security and performance in CSS. The second contribution is the quantification of the trade-offs between security 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 quantification of the performance impact of SSL/TLS, we provide a novel benchmarking 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 Cassandra. 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 communication 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 provide 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.
Das Absichern von Softwaresystemen ist heutzutage enorm wichtig. Dies gilt insbesondere für Cloud-Systeme, da sie nahezu jederzeit von überall über das Internet angegriffen werden können. Jedoch hat Sicherheit im Allgemeinen einen negativen Einfluss auf Performanz, Benutzbarkeit und erhöht typischerweise die Komplexität eines Systems. Bei Cloud-Systemen, die für hohe Performanz und Verfügbarkeit sowie elastische Skalierbarkeit erstellt werden, kann Sicherheit entsprechend viele originäre Qualitätsmerkmale eines Systems zunichte machen. Konsequenterweise kann Sicherheit, insbesondere für Cloud-Systeme, als ein Trade-off-Problem verstanden werden, bei dem Sicherheit in Form von Sicherheitsmechanismen, die ein System vor bestimmten Bedrohungen schützen und bestimmte Sicherheitsziele durchsetzen, gegen andere Qualitätsmerkmale eines Systems eingetauscht wird. Bei Cloud-Speichersystemen (CSS) - d. h. verteilten Speichersystemen, die Daten in einem Cluster von Speicherknoten replizieren und für das Management von großen Datenmengen, von hoch volatilen Anfragelasten (Elastizität und Skalierbarkeit) und für Hochverfügbarkeitslösungen eingesetzt werden - ist dieses Trade-Off-Problem sehr hervorstechend. Bereits die Erfüllung der originären Qualitätsmerkmale in CSS fördert Trade-Offs zutage, wie z. B. den Trade-Off zwischen Konsistenz, Verfügbarkeit und Partitionstoleranz. Die zusätzlichen Trade-Offs, die sich durch die Hinzunahme von Sicherheit als gewünschtes Qualitätsmerkmal solcher Systeme ergeben, führen zu weiteren Trade-Offs, die entschieden und gemanagt werden müssen. In dieser Dissertation werden die Trade-Offs zwischen Sicherheit und Performanz in CSS näher untersucht. Um die originären Designziele von CSS nicht zu konterkarieren, erfordert ein sinnvolles Management dieser Trade-Offs in CSS ein hohes Maß an Verständnis der Zusammenhänge zwischen Sicherheit und Performanz in den Sicherheitsmechanismen eines CSS. Andernfalls kann ein schlecht konfiguriertes CSS die Folge sein, was ein Sicherheitsrisiko darstellt oder unnötig viele Ressourcen verwendet. Diese Dissertation zielt deshalb darauf ab, den Leser zu einem solch höheren Maß an Verständnis der Trade-Offs zwischen Sicherheit und Performanz in CSS zu verhelfen und ein besseres Management dieser Trade-Offs in diesen Systemen zu ermöglichen. Dazu werden drei unabhängige wissenschaftliche Beiträge in dieser Dissertation vorgestellt. Der erste Beitrag zielt auf die Verbesserung des Verständnisses der sicherheitskritischen Punkte in CSS. Dazu werden zuerst zwei Referenz-Nutzungsmodelle präsentiert, die einen Security Engineer beim Verstehen der generellen Nutzung von cloud storage services - wie z. B. Amazon Web Services Simple Storage Service (AWS S3) oder Google Cloud Storage - und NoSQL-Systemen - wie z. B. Cassandra oder Voldemort - unterstützen und generelle Komponenten dieser CSS abstrahieren sowie vereinheitlichen. Aufbauend auf den Referenz-Nutzungsmodellen werden zwei Referenz-Bedrohungsmodelle erstellt, die architekturelle Komponenten von CSS berücksichtigen und eine tiefgehende Bedrohungsanalyse erlauben. Die gewonnenen Erkenntnisse können dann für 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 verstärkt zur Absicherung von Kommunikation in CSS zum Einsatz kommt. Für die Quantifizierung des Performanzeinflusses 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 Konfigurationsoptionen von SSL/TLS für die Trade-Offs zwischen Sicherheit und Performanz in dem NoSQL-System Cassandra identifiziert. Weiterhin wird demonstriert, dass einige früher geltende Optimierungsregeln für SSL/TLS im Kontext von CSS nicht mehr gelten und verschiedene Konfigurationen zu ganz unterschiedlichen Ergebnissen führen können. Als dritter Beitrag wird eine neuartige adaptive Middleware präsentiert, die die automatische Behandlung von Trade-Offs zwischen Sicherheit und Performanz beim Einsatz von SSL/TLS in CSS zur Laufzeit ermöglicht. In der Cloud können sich Annahmen, die während des Deployments von CSS zu bestimmten Konfigurationen geführt haben, sehr schnell ändern. Dies kann dann wiederum zu unausgewogenen oder sich widersprechenden Sicherheitskonfigurationen führen. Die adaptive Middleware, Adaptive Transport Layer Security (ATLaS), ermöglicht das Erstellen von verschiedenen Adaptionen für SSL/TLS, die automatische Rekonfigurierungen und eine erneute Balancierung von Sicherheit und Performanz in CSS zur Laufzeit erlauben.