Warum dieses Projekt?

Ein Benutzerkonto ist eine Identität, aber keine vollständige Beschreibung einer Aufgabe. Ein Hilfsprogramm soll vielleicht nur bestimmte Dateien bearbeiten, statt alle Rechte seines Benutzers auszuschöpfen. Authy untersucht, wie solche ausdrücklichen Befugnisse im Betriebssystem weitergegeben und eingeschränkt werden können.

Einen begrenzten Schlüssel statt des ganzen Schlüsselbunds weitergeben

Die Idee lässt sich mit einem Schlüssel vergleichen: Ein Prozess erhält Zugriff auf bestimmte Objekte und Operationen. Gibt er Arbeit an einen anderen Prozess weiter, sollen die vorhandenen Befugnisse nachvollziehbar bleiben oder enger werden können.

Zusätzliche Rechte brauchen eine gültige, ausdrückliche Vergabe. Die Identität allein – auch die von root – soll innerhalb der durch Authy behandelten Bereiche fehlende Befugnisse nicht einfach wiederherstellen. Bestehende Linux-Schutzmechanismen gelten daneben weiterhin.

Warum die Durchsetzung im Kernel untersucht wird

Eine Abfrage in einer Anwendung kann nur kontrollieren, was durch diese Anwendung läuft. Authy setzt an ausgewählten Dateisystemoperationen im Kernel an, also dort, wo der Zugriff tatsächlich bearbeitet wird.

Der Forschungsprototyp arbeitet mit objektgebundenen Dateisystembereichen und Rechten an geöffneten Dateien. Eine lokale Einschränkung ist dabei kein globaler Widerruf: Unabhängig behaltene Rechte können weiter existieren. Das ist ein wichtiger Unterschied zu einem einfachen zentralen Ein-/Aus-Schalter.

Ein Forschungsbaustein, kein fertiger Sicherheitsschalter

Authy ist ausdrücklich ein experimenteller Dateisystem-Prototyp und nicht für den produktiven Einsatz freigegeben. Eine vollständige Kontrolle sämtlicher Prozess-, Netzwerk- und Kommunikationsrechte ist damit nicht umgesetzt.

Das Repository enthält nachvollziehbare Patches und Prüfungen gegen eine festgelegte Linux-Version. Anders als Mayi, das einzelne Aktionen einem Menschen zur Freigabe vorlegt, untersucht Authy die darunterliegende Darstellung und Durchsetzung von Befugnissen. Daraus folgt noch keine fertige Integration beider Projekte.

Quellcode & Dokumentation

Quellcode und die verfügbare Projektdokumentation findest du auf GitHub. Dort stehen auch die Hinweise zum Bauen, zur Nutzung und zur Lizenz.

Authy auf GitHub ↗

Weiter entdecken