TU Darmstadt / ULB / TUprints

A Generic Framework for Enforcing Security in Distributed Systems

Gay, Richard :
A Generic Framework for Enforcing Security in Distributed Systems.
Technische Universität, Darmstadt
[Ph.D. Thesis], (2017)

[img]
Preview
Text
20171128-Dissertation-ULB-RichardGay.pdf - Accepted Version
Available under CC-BY-NC-ND 4.0 International - Creative Commons Attribution Non-commercial No-derivatives 4.0.

Download (1MB) | Preview
Item Type: Ph.D. Thesis
Title: A Generic Framework for Enforcing Security in Distributed Systems
Language: English
Abstract:

A large extent of today's computer programs is distributed. For instance, services for backups, file storage, and cooperative work are now typically managed by distributed programs. The last two decades also brought a variety of services establishing social networks, from exchanging short messages to sharing personal information to dating. In each of the services, distributed programs process and store sensitive information about their users or the corporations their users work for.

Secure processing of the sensitive information is essential for service providers. For instance, businesses are bound by law to take security measures against conflicts of interest. Beyond legal regulations, service providers are also pressed by users to satisfy their demands for security, such as the privacy of their profiles and messages in online social networks. In both instances, the prospect of security violations by a service provider constitutes a serious disadvantage and deters potential users from using the service.

The focus of this thesis is on enabling service providers to secure their distributed programs by means of run-time enforcement mechanisms. Run-time enforcement mechanisms enforce security in a given program by monitoring, at run-time, the behavior of the program and by intervening when security violations are about to occur. Enforcing security in a distributed program includes securing the behavior of the individual agents of the distributed program as well as securing the joint behavior of all the agents.

We present a framework for enforcing security in distributed programs. The framework combines tools and techniques for the specification, enforcement, and verification of security policies for distributed programs. For the specification of security policies, the framework provides the policy language CoDSPL. For generating run-time enforcement mechanisms from given security policies and applying these mechanisms to given distributed programs, the framework includes the tool CliSeAu. For the verification of generated enforcement mechanisms, the framework provides a formal model in the process algebra CSP. All three, the policy language, the tool, and the formal model allow for the distributed units of enforcement mechanisms to cooperate with each other. For supporting the specification of cooperating units, the framework provides two techniques as extensions of CoDSPL: a technique for specifying cooperation in a modular fashion and a technique for effectively cooperating in presence of race conditions. Finally, with the cross-lining technique of the framework, we devise a general approach for instrumenting distributed programs to apply an enforcement mechanism whose units can cooperate.

The particular novelty of the presented framework is that the cooperation to be performed can be specified by the security policies and can take place even when the agents of the distributed program do not interact. This distinguishing feature of the framework enables one to specify and enforce security policies that employ a form of cooperation that suits the application scenario: Cooperation can be used when one's security requirements cannot be enforced in a fully decentralized fashion; but the overhead of cooperation can be avoided when no cooperation is needed.

The case studies described in this thesis provide evidence that our framework is suited for enforcing custom security requirements in services based on third-party programs. In the case studies, we use the framework for developing two run-time enforcement mechanisms: one for enforcing a policy against conflicts of interest in a storage service and one for enforcing users' privacy policies in online social networks with respect to the sharing and re-sharing of messages. In both case studies, we experimentally verify the enforcement mechanisms to be effective and efficient, with an overhead in the range of milliseconds.

Alternative Abstract:
Alternative AbstractLanguage
Ein großer Anteil heutiger Computerprogramme wird durch verteilte Programme abgedeckt. So werden beispielsweise Dienste für Sicherungskopien, Dateiaustausch und computergestützte Zusammenarbeit üblicherweise durch verteilte Programme realisiert. Hinzu kamen insbesondere in den letzten zwei Jahrzehnten eine Vielzahl von Diensten für soziale Netzwerke zum Austausch von Kurznachrichten und persönlichen Informationen sowie in Form von Partnerbörsen. In jedem dieser Dienste speichern und verarbeiten verteilte Programme vertrauliche Informationen über die Benutzer der Programme oder auch deren Arbeitgeber. Für Anbieter von Diensten ("service provider") ist es essenziell, die Verarbeitung vertraulicher Informationen abzusichern. Beispielsweise werden Firmen gesetzlich dazu verpflichtet, Maßnahmen gegen finanzielle Interessenskonflikte zu ergreifen. Jenseits gesetzlicher Bestimmungen üben auch Nutzer Druck auf Dienstanbieter aus, Sicherheitsanforderungen wie beispielsweise den Schutz von Profilen und Nachrichten in sozialen Netzwerken umzusetzen. In beiden Fällen stellt bereits die Aussicht auf Sicherheitsverletzungen durch einen Dienstanbieter einen ernstzunehmenden Nachteil dar, der potenzielle Nutzer eines Dienstes abschreckt. Der Fokus dieser Arbeit ist, Dienstanbietern zu ermöglichen, mit Hilfe von Laufzeit-Sicherheitsmechanismen ("enforcement mechanisms") verteilte Programme abzusichern. Diese Mechanismen setzen Sicherheit in einem gegebenen Programm durch, indem sie das Programmverhalten zur Laufzeit beobachten und in den Programmablauf eingreifen wenn Sicherheitsverletzungen bevorstehen. In einem verteilten Programm umfasst dies nicht nur, das Verhalten der einzelnen verteilten Agenten des Programms abzusichern sondern auch das gemeinsame Verhalten aller dieser Agenten. Diese Arbeit stellt ein Rahmenwerk für das Durchsetzen von Sicherheit in verteilten Programmen vor. Das Rahmenwerk integriert Werkzeuge und Techniken für die Spezifikation, das Durchsetzen und die Verifikation von Sicherheitsrichtlinien für verteilte Programme. Zur Spezifikation von Sicherheitsrichtlinien ("security policies") stellt das Rahmenwerk eine Policysprache, CoDSPL bereit. Mit Hilfe des Werkzeugs CliSeAu können Sicherheitsmechanismen für gegebene Sicherheitsrichtlinien generiert und diese Mechanismen dann auf gegebene verteilte Programme angewandt werden. Für die Verifikation der so generierten Mechanismen bietet das Rahmenwerk ein formales Modell in der Prozessalgebra CSP an. Diese drei Bestandteile des Rahmenwerks bieten die Möglichkeit zur Kooperation zwischen den verteilten Einheiten des Mechanismus. Zur Unterstützung für die Spezifikation solcher Kooperation stellt das Rahmenwerk zwei Techniken in Form von Erweiterungen von CoDSPL bereit: eine Technik, mit der Kooperation in modularer Form spezifiziert werden kann sowie eine Technik für effektive Kooperation auch in Gegenwart von Race Conditions. Die Crosslining-Technik des Rahmenwerks beschreibt einen allgemeinen Ansatz zur Instrumentierung verteilter Programme mit Mechanismen deren verteilte Einheiten miteinander kooperieren können. Neu am vorgestellten Rahmenwerk ist inbesondere, dass die gewünschte Form der Kooperation durch Sicherheitsrichtlinien spezifiziert werden kann und auch dann möglich ist, wenn die Agenten des verteilten Programms selbst nicht miteinander kommunizieren. Dadurch ermöglicht das Rahmenwerk sowohl die Spezifikation als auch das Durchsetzen von Sicherheitsrichtlinien mit einer auf das Anwendungsszenario zugeschnittenen Form von Kooperation. So kann Kooperation eingesetzt werden wenn die Sicherheitsanforderung nicht vollständig dezentral durchgesetzt werden kann. Jedoch kann Kooperation auch vermieden werden wenn sie im Anwendungsszenario nicht benötigt wird. Die in dieser Arbeit vorgestellten Fallstudien bestätigen, dass sich das Rahmenwerk dafür eignet, spezifische Sicherheitsanforderungen in verteilten Diensten durchzusetzen. In den Fallstudien wird das Rahmenwerk verwendet um zwei Laufzeit-Sicherheitsmechanismen zu entwickeln: ein Mechanismus zum Durchsetzen einer Sicherheitsrichtlinie gegen Interessenskonflikte in einem verteilten Speicherdienst sowie ein Mechanismus zum Durchsetzen nutzerspezifischer Datenschutzrichtlinien beim Teilen von Nachrichten in sozialen Netzwerken. Experimentelle Evaluationen zu beiden Fallstudien bestätigen, dass die entwickelten Mechanismen sowohl effektiv als auch, mit einem Overhead im Bereich weniger Millisekunden, effizient sind.German
Place of Publication: Darmstadt
Classification DDC: 000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik
Divisions: 20 Department of Computer Science
20 Department of Computer Science > Modellierung und Analyse von Informationssystemen
Date Deposited: 08 Dec 2017 08:37
Last Modified: 08 Dec 2017 08:37
URN: urn:nbn:de:tuda-tuprints-69871
Referees: Mantel, Prof. Dr. Heiko and Probst, Prof. Dr. Christian W.
Refereed: 27 October 2017
URI: http://tuprints.ulb.tu-darmstadt.de/id/eprint/6987
Export:
Actions (login required)
View Item View Item

Downloads

Downloads per month over past year