Anoubis besteht aus verschiedenen Funktions-Modulen:
Application Level Firewall (ALF)
Die Personal Firewall filtert Netzwerkzugriffe, die von Applikationen
ausgeführt werden.
Dabei ist es möglich, einzelnen Applikationen gezielt Netzwerkzugriffe
zu erlauben, während anderen Applikationen diese Zugriffe verboten
bleiben.
Auf diese Weise werden einer Applikation nur die Netzbereiche und Ports erlaubt, die sie tatsächlich benötigt. Wird eine Applikation kompromittiert, kann sie trotzdem nur auf diese Ressourcen zugreifen und ihren Einflussbereich nicht selbständig ausweiten. So kann beispielsweise ein PDF-Viewer nicht unbemerkt ein Update per HTTP herunterladen, obwohl der Webbrowser Zugriff auf das Internet hat.
Sandbox (SB)
Die Sandbox filtert Dateisystemzugriffe, die von Applikationen
ausgeführt werden.
Dabei ist es möglich, einzelnen Applikationen nur die
Dateisystembereiche verfügbar zu machen, die sie benötigen.
Zugriffe auf andere Bereiche werden unterbunden.
So wird sichergestellt, dass Applikationen, auch wenn sie mit den Rechten eines Anwenders laufen, nur auf die zugelassenen Daten zugreifen können.
Sicheres Dateisystem (SFS)
Mit Anoubis kann die Integrität von Dateien über signierte Prüfsummen
sichergestellt werden.
Dies realisiert zwei wichtige Funktionen: Der Aufbau eines
vertrauenswürdigen Systems und die Erkennung von Manipulationen.
Über den Aufbau dieses vertrauenswürdigen Systems wird sichergestellt, dass die von Sandbox und Personal Firewall gewährten Rechte auch tatsächlich nur den ausgewählten (mit signierten Prüfsummen versehenen) Applikationen zugute kommen.
Gelingt es einem Angreifer, Dateien im System zu manipulieren, wird dies anhand der signierten Prüfsummen erkannt und die Ausführung der manipulierten Applikation oder der Zugriff auf die veränderten Dateien unterbunden. Die Dateisignatur ist benutzerbasiert, das heißt, der Benutzer kann feststellen, ob eigene Dateien verändert wurden. So kann er z.B. erkennen, wenn der root-User vom Benutzer signierte Dateien manipuliert, selbst wenn der root-User eine neue (für root) gültige Signatur dieser Datei erstellt.
Playground Umgebung (PG)
Der Playground bietet die Möglichkeit, Programme so zu
starten, dass sie keine Änderungen an existierenden Dateien
vornehmen können. Versucht ein Programm dennoch Änderungen
zu machen, dann wird die Datei kopiert und die Änderungen werden
nur auf der Kopie vorgenommen. Das Playground Modul sorgt dafür,
dass dies durch das Programm selbst nicht bemerkt wird. Es sind
auch keinerlei Änderungen am Programm selbst notwendig.
Bevor auf Dateien, die in einem Playground verändert wurden, von anderen Programmen außerhalb des Playgrounds zugegriffen werden können, müssen sie durch den Benutzer ins System übernommen werden. Dabei kann vor der Übernahme der Dateiinhalt durch Inhaltsscanner (z.B. einen Virenscanner) überprüft werden.
So wird zuverlässig verhindert, dass Daten durch die in einem Playground laufende Anwendung unkontrolliert ins eigentliche System gelangen können.
Deutsch
English