Lowlevel

Lowlevel => OS-Design => Thema gestartet von: SörenK am 06. September 2012, 22:10

Titel: Capabilities - Wie funktionieren diese?
Beitrag von: SörenK am 06. September 2012, 22:10
Ich habe in Wikipedia einen kurzen eintrag über ein Betriebssystem gelesen, in dem eine andere Richtung in der Systemsicherheit begangen wird. Nun meine Frage: Ist dies noch aktuell? Hat jemand erfahrung? Und wie funktioniert dies, bzw. kann man dies (grob) Umsetzen?
Link: http://de.wikipedia.org/wiki/EROS
Danke für eure Antworten
Titel: Re: Capabilities - Wie funktionieren diese?
Beitrag von: Jidder am 07. September 2012, 00:59
Moderne Systeme die Capabilities einsetzen sind Barrelfish und seL4. Ich hab davon zwar eher wenig Ahnung, aber meine erste Idee wäre das ähnlich wie Dateihandles in POSIX umzusetzen. Der Kernel kennt die Menge der Capabilities für einen Prozess ähnlich wie er die Menge der offenen Dateien kennt. Ein Prozess verwendet Capabilities also wie Integers (d.h. es gibt keinen speziellen Hardwaresupport für Capabilities), und ruft darauf über einen Kernelaufruf eine Operation auf. Die Capabilities haben Typen wie z.B. IPC-Kanal(-Endpoints?), physische/virtuelle Speicherseite (Shared Memory), ... und Operationen wären dann einmal Umwandlung zwischen den Typen, versenden der Capabilities zwischen den Prozessen, und Typ-spezifische Operationen. Wie gesagt alles nur meine Interpretation. Keine Ahnung, ob die Realität auch so sieht

Titel: Re: Capabilities - Wie funktionieren diese?
Beitrag von: Svenska am 07. September 2012, 01:07
Hallo,

erst einmal ein herzliches Willkommen hier im Forum!

Zum Thema: Der Ansatz, Sicherheit über Capabilities zu regeln, ist nach wie vor aktuell und war es auch schon vor 30 Jahren. Zwischendurch wurde es aber wieder vergessen. ;-) Der englische Artikel ist auch etwas ausführlicher.

Als Beispiele für derzeit existierende Berechtigungssysteme kannst du dir mal das Android-System anschauen (jede Anwendung kommt mit einem Satz notwendiger Berechtigungen daher - fehlen diese, wird die Anwendung nicht gestartet) oder auch das Konzept von Security-Levels bei z.B. FreeBSD (wenn ein Level einmalig gesetzt wurde, können bestimmte Syscalls bis zu einem Reboot nicht mehr ausgeführt werden). Beide Systeme sind aber deutlich beschränkter als ein echtes Rechtesystem für Anwendungen.

Vielleicht hilft's dir ja weiter,

Gruß,
Svenska
Titel: Re: Capabilities - Wie funktionieren diese?
Beitrag von: SörenK am 07. September 2012, 13:35
Danke, wrde mir mal den englischen artikel zu gemüte ziehen  :-D