Plash: the Principle of Least Authority shell

Interessantes Konzept: Plash ist eine Shell die Programmen eine Library unterschiebt über die alle Zugriffe auf das Filesystem schicken. Dadurch kann man kontrollieren welche Funktionen ein Programm wirklich ausführen darf. Das dient diesmal nicht dem Schutz vor Aktivitäten des Benutzers, sondern dem Schutz des Benutzers vor Aktivitäten des Programms. Gerade wenn man Programme installiert die man nicht kennt kann man unter Umständen sich Trojaner einfangen - Plash hilft da, indem man explizit nur die Bereiche der Platte für das Programm freischaltet, die dieses auch braucht.

Dazu werden alle Zugriffe auf das Dateisystem intern über einen eigenen Miniserver geroutet - das eigentliche Programm wird unter einem frisch allozierten Benutzer in einem eigenen chroot-Jail ausgeführt, hat also gar keine Chance irgendwas ausserhalb zu machen das nicht explizit erlaubt wird.

Sehr interessantes Konzept, vor allem für Systemadministratoren. Funktioniert leider (erwartungsgemäß) nicht mit grsecurity zusammen - klar, grsecurity soll ja gerade einige der in Plash verwendeten Tricks genau verhindern helfen. In diesem Fall scheitert es an der Anforderung von executable Stack.

tags: Linux, Sysadmin