Systems zur feingranularen Ressourcen-Zugriffskontrolle unter Linux
Ausgangslage
Linux bietet verschiedene Mechanismen zur Kontrolle des Zugriffs auf Systemressourcen wie Dateien oder Netzwerkverbindungen (z. B. AppArmor, SELinux). Diese Mechanismen weisen jedoch folgende Schwächen auf:
- Ungenauigkeit: Die Regeln sind oft zu allgemein und erlauben keine feingranulare Zugriffskontrolle.
- Komplexität: Die Konfiguration erfordert spezialisiertes Wissen und ist statisch, d. h., sie passt sich nicht dynamisch an.
- Mangelnde Benutzerinteraktion: Benutzer werden nicht aktiv über Zugriffsversuche informiert und können diese nicht situativ erlauben oder verweigern.
Zielsetzung
Entwicklung einer benutzerfreundlichen Applikation, welche die Steuerung des Zugriffs von Programmen auf Ressourcen unter Linux ermöglicht. Es bietet:
- Überwachung: Überwachung von Systemaufrufen, die Programme nutzen, um auf kritische Dateien zuzugreifen.
- Benutzerkontrolle: Interaktive Abfragen, ob ein Zugriff erlaubt oder dauerhaft blockiert werden soll.
- Verständliche Kommunikation: Übersetzung von Systemaufrufen und Parametern in leicht verständliche Fragen, um fundierte Entscheidungen zu ermöglichen.
Funktionsweise
Unsere Applikation überwacht Prozesse, indem sie deren Systemaufrufe abfängt. Der Benutzer wird darüber benachrichtigt und kann entscheiden, ob der Prozess die jeweilige Aktion ausführen darf oder nicht. Falls der Benutzer dies verweigert, blockiert unsere Applikation die Ausführung des Systemaufrufs.
Architektur
Unsere Applikation verfügt über ein zentrales Benutzer-Tool, das für die Interaktion mit dem Anwender zuständig ist. Dies hat den Vorteil, dass mehrere Prozesse gleichzeitig überwacht werden können. Ausserdem werden die Entscheidungen zentral gespeichert.
Benutzerschnittstelle
Die Applikation übersetzt Systemaufrufe zusammen mit ihren spezifischen Parametern in eine benutzerfreundliche Frage, damit auch technisch weniger versierte Benutzer verstehen, welche Aktion der überwachte Prozess auszuführen versucht.
Ergebnisse
Basierend auf der Benutzerfreundlichkeit wurde eine Umfrage mit acht Personen durchgeführt, darunter Softwareentwickler, Systemadministratoren und Forschende. Die Teilnehmenden wünschten sich mehr Kontrolle über den Ressourcenzugriff unter Linux, zeigten jedoch gleichzeitig deutliche Wissenslücken im Umgang mit vorhandenen Werkzeugen wie AppArmor oder SELinux. Dies unterstreicht den Bedarf an einem einfach zu bedienenden Tool zur Ressourcenzugriffskontrolle unter Linux. Nach einer kurzen Vorstellung der Funktionsweise unserer Anwendung lautete das Feedback:
Positiv:
- Technische Details werden in leicht verständliche Informationen übersetzt.
- Interaktive Benutzerabfragen in Echtzeit.
- Potenzial für dynamische statt statische Sicherheit.
Negativ:
- Viele Abfragen können zu Entscheidungsmüdigkeit führen.
- Entscheidungen können nicht je nach Benutzerrolle unterschiedlich getroffen werden.
Technische Schlüsselbegriffe
- SprachePython, C
- TechnologienPtrace, Seccomp, ZeroMQ, AppArmor, SELinux
- BetriebsystemLinux Kernel Version 6.10, x86-64
Team
Damjan Mlinar
Viktor da Paixão Weilenmann
Fachbetreuer
Christoph Scherb
Alexander Trapp