Bei der Betrachtung von AppArmor fällt als erstes die leichte Handhabung, die verständliche Syntax der Profil-Dateien und die gute Dokumentation auf. Dies sind alles Pluspunkte für AppArmor.
Aus Sicht der Sicherheit ist es jedoch bei AppArmor ungünstig, dass das System in vertrauenswürdige und nicht vertrauenswürdige Programme unterschieden werden muss. Die vertrauenswürdigen Programme werden von AppArmor nicht überwacht und dürfen auf dem System jede, durch die UNIX-Rechte erlaubte, Tätigkeit durchführen. Lediglich die nicht vertrauenswürdigen Applikationen werden von AppArmor zusätzlich überwacht.
Ein zweiter Kritikpunkt ist die Tatsache, dass AppArmor als Zugriffsattribut den Dateinamen verwendet. Ein Umbenennen oder Kopieren der Datei entzieht eine Datei oder Applikation der Überwachung von AppArmor. Änderungen der Installationsorte von Applikationen durch den Programmierer führen dazu, dass die Applikation plötzlich nicht mehr überwacht wird. Außerdem können nicht alle Objekte unter Linux über einen Dateinamen angesprochen werden. Netzwerkverbindungen, Prozesse und IPC-Aufrufe können nicht über Dateinamen angesprochen und daher nicht von AppArmor überwacht werden.
AppArmor kann nicht zwischen unterschiedlichen Benutzern unterscheiden. Applikationen, die auf Benutzerdaten zugreifen müssen, benötigen immer den Zugriff auf die Daten sämtlicher Benutzer. Dies löst AppArmor über die Variable @HOME und stellt dem Befehl den Zugriff auf alle Heimatverzeichnisse zur Verfügung.
Schließlich bleibt noch die Qualität der von Novell mitgelieferten Profile zu betrachten. Zunächst enttäuscht die Menge der mitgelieferten Profile. Novell unterstützt in der aktuellen Version 10.1 mit allen Updates nur Profile für die folgenden Applikationen:
So verweist das Profil etc.cron.daily.tmpwatch auf einen Cronjob tmpwatch den es auf dieser Version nicht gibt. In dem Profil usr.lib.RealPlayer10.realplay wird auf die Applikation /opt/MozillaFirefox/lib/firefox-bin verwiesen, die bei SuSE 10.1 unter /usr/lib/firefox/firefox-bin installiert wurde. Ähnlich hartcodierte Pfade befinden sich in dem Profil des Acrobat Readers. Ein Upgrade der Java-Virtual-Machine macht das Profil unbrauchbar.
Schließlich kann AppArmor den Informationsfluss nicht überwachen. Wenn eine Applikation eine Datei schreibt, kann AppArmor nicht einschränken, welche andere Applikation diese Datei wieder lesen darf, da der verwendete Dateiname beliebig ist und daher nicht von AppArmor als Attribut genutzt werden kann. Dies ist speziell problematisch bei Dateien in Verzeichnissen wie /tmp. Hier muss der Administrator den klassischen UNIX-Dateirechten (DAC) vertrauen. AppArmor bietet hier keinen zusätzlichen Schutz.
Ralf Spenneberg 2007-11-13