TUM Logo

Usage Control Enforcement for Linux-based embedded Systems

Usage Control Enforcement for Linux-based embedded Systems

Supervisor(s): Dr.-Ing. Mykolai Protsenko, Monika Huber
Status: finished
Topic: Others
Author: Samy El Deib
Submission: 2021-06-15
Type of Thesis: Masterthesis
Thesis topic in co-operation with the Fraunhofer Institute for Applied and Integrated Security AISEC, Garching

Description

Abstract English:

There has been a significant rise of data being collected and processed during the past ten years.
Many companies are specialised in Big Data and have business partnerships, where data is constantly
being exchanged. However, once the data is shared any recipient can do whatever it wants with the data.
Therefore, upon sharing a statuary framework is being negotiated, which restricts the usage of data.
The companies, however have to comply manually to these terms. That's where Usage Control is useful,
it automatically enforces the rules the data source defined for the data. There is already a lot of
research about Usage Control and many tried to implement an efficient solution. However, most solutions
have to be embedded into application's source code or are an external component, that are not able to
enforce everything.
This paper presents a Usage Control concept, where the system itself can enforce defined policies on data.
This means that no application's source code needs to be changed to comply with the Usage Control solution.
Furthermore, we defined a policy languages that can share data with different policies depending what entity
requests the data.
Besides, we implemented a Proof-of-Concept to test whether the described concept works as well as in theory.
We used Docker to implement the concept, since it depends on a containerized solution. Our evaluation shows that
the storage overhead induced by the Usage Control solution and the used policy language is low compared that we
are able to define complex policies and that we can successfully enforce our defined actions with it. However,
the overhead induced on the performance when sharing data is bigger, but still under one second if no capability
of any running application has to be changed. The framework does not perform that well, when the capabilities of
a running application has to be changed, since it needs in average about 12 seconds to share the data.


Abstract German:

In den vergangenen zehn Jahren hat man einen rasanten Anstieg an Datensammlung und Verarbeitung bemerkt.
Viele Unternehmen haben sich deshalb auf Big Data spezialisiert und haben Geschäftsparnter, mit denen sie
konstant Daten austauschen, um sie so effizient wie möglich zu nutzen.
Jedoch besteht das Problem, dass, falls einmal die Daten geteilt wurden mit einem Subjekt, dass dieser mit
den Daten alles machen kann was er will. Deshalb haben viele Unternehmen damit begonnen einen legalen Rahmen
zu schaffen, bevor die Daten geteilt werden. Dieser Vertrag bestimmt zwar wie die Daten genutzt werden können,
jedoch muss das Unternehmen, das die Daten bekommen hat diesen Vertrag noch immer manuell umsetzen. Dieses
Problem können Datennutzungskontrollen lösen, es kann definierte Regeln, die die Datenquelle definiert hat,
automatisch umsetzen. Viel Forschung wurde schon in diese Richtung betrieben und viele haben versucht ein robustes
und effizientes Framework zu entwickeln. Jedoch, müssen bei viele Frameworks der Anwendungscode adaptiert werden
um die Datennutzungskontrolle zu erlauben, oder diese ist ausserhalb der Anwendung, ist dann aber nicht so effizient
und kann auch nicht alle Regeln umsetzen.
Diese Arbeit stellt deshalb ein neues Datennutzungskonzept vor, wo das System selbst die definierten Regeln automatisch
umsetzen kann. In anderen Worten, das entwickelte Konzept erlaubt jeder beliebigen Anwendung das Datennutzungskonzept zu
nutzen ohne die Anwendung zu ändern. Darüberhinaus, haben wir auch eine neue Sprache für die Regeln definiert, die es
erlaubt die Daten mit anderen Regeln zu teilen, abhängig von dem Subjekt der die Daten anfrägt.
Nebenbei, haben wir ein Proof-of-Concept implementiert um zu testen ob das definierte Konzept auch so gut funktioniert,
wie in der Theorie beschrieben. Für unsere Implementierung haben wir Docker benutzt, da unser Konzept auf einem Container
Lösungsansatz beruht. Unsere Auswertung hat gezeigt, dass der Overhead durch die Datennutzungskontrolle Lösung und der neu
definierten Regelsprache sehr gering ausfällt, obwohl unsere Lösung sehr komplexe Regeln erlaubt und unsere Lösung die
definierten Aktionen erfolgreich einschränken kann. Jedoch, ist der Overhead induziert durch unser Konzept auf die Geschwindigkeit,
wie die Daten geteilt werden, viel höher. Falls, die Fähigkeiten nicht geändert werden müssen einer Anwendung liegt das Teilen
der Daten aber weiterhin unter einer sekunde im Durchschnitt. Andererseits, falls die Fähigkeiten einer laufenden Anwendung geändert
werden müssen braucht das Teilen der Daten um die 12 Sekunden.