# Sicherheitsmechanismus "Integrity Level" (IL)

Gültig für: Windows Vista | Server 2008 | Windows 7 | Windows 8 | Windows 10

Ab Windows Vista hat Microsoft zusätzlich zum DAC (Discretionary Access Control) den IL (Integrity Level) eingeführt, welcher über dem DAC angeordnet ist. Das bedeutet, selbst wenn man auf ein Objekt über DAC zugreifen kann, kann dieser Zugriff vom IL unterbunden werden.

Jeder Prozess, der unter Windows Vista gestartet wird, bekommt automatisch einen Integrity Level (= Verbindlichkeitsstufe) zugeordnet. Anhand dieser IL kann Windows Vista erkennen, wie vertrauenswürdig die jeweilige Anwendung/Prozess ist.

Es gibt 5 Integrity-Levels und zwar:

- Untrusted (nicht vertrauenswürdig)
  Diesem untersten Level wird unter Vista standardmäßig kein Prozess zugewiesen. Vorgesehen ist dieser Level, wenn der IE 7 auf "anonyme Zugriffe" für eine Webseite konfiguriert wird.
- Low (niedrig)
  Einige Ordner werden bei der Installation für dieses Level eingerichtet. Benutzt wird das Level vom Internet Explorer (sehr wenige Rechte, damit sich Trojaner/Viren nicht mehr zu leicht einschleichen können).
- Medium (mittel)
  Programme mit normalen Benutzerrechten. Alle Prozesse eines Standardbenutzers werden mit diesem Level gestartet.
- High (hoch)
  Programme mit administrativen Rechten
- System (System)
  Fürs Betriebssystem wichtige Dienste mit den höchsten Rechten

Diese Information wird im Mandatory Label (= Verbindliche Beschriftung) des Security Descriptor (System Access Control List - SACL) gespeichert. Ein Programm/Prozess kann immer nur auf seine Ebene (Integrity Level) und auf die unteren Ebenen zugreifen. Läuft also ein Programm auf der Stufe "Medium", so kann es zusätzlich noch auf die "Low" Ebene zugreifen, nicht aber auf die höheren Ebenen "High" und "System".

Über die Kommandozeilenoberfläche
kann man sich den Level anzeigen lassen. Geben Sie dafür einfach den Befehl "whoami -groups" ein.

Am Ende der Liste finden Sie die entsprechende Sicherheitsgruppe (Benutzer: Verbindliche Beschriftung\ Mittlere Verbindlichkeitsstufe oder Administratoren: Verbindliche Beschriftung\Hohe Verbindlichkeitsstufe).

Die folgende Tabelle gibt die Integritätslevel mit den Bezeichnungen in Betriebssystem und der SID-Nummer an. Dabei wird bei "E" die englische Bezeichnung und bei "D" die deutsche Bezeichnung angegeben:

Level | Bezeichnung | SID | Hex
--- | --- | --- | ---
E: Untrusted D: Nicht vertauenswürdig | E: Mandatory Label\Untrusted Mandatory Level D: Verbindliche Beschriftung\Nicht vertauenswürdige Verbindlichkeitsstufe | S-1-16-0 | 0
E: Low D: Niedrig | E:Mandatory Label\Low Mandatory Level D: Verbindliche Beschriftung\Niedrige Verbindlichkeitsstufe | S-1-16-4096 | 1000
E: Medium D: Mittel | E:Mandatory Label\Medium Mandatory Level D: Verbindliche Beschriftung\Mittlere Verbindlichkeitsstufe | S-1-16-8192 | 2000
E: High D: Hoch | E:Mandatory Label\High Mandatory Level D: Verbindliche Beschriftung\Hohe Verbindlichkeitsstufe | S-1-16-12288 | 3000
System | Mandatory Label\System Mandatory Level *) | S-1-16-16385 | 4000

*) In diesem Mandatory Label (= Verbindliche Beschriftung) wird zusätzlich zum Status gespeichert, welche Zugriffe auf die höheren Ebenen unterbunden werden sollen. Dafür gibt es wieder 3 Arten:

- Schreiben (No Write Up)
- Lesen (No Read Up)
- Ausführen (No Execute Up)

Für das Dateisystem wird von Windows standardmäßig "No Write Up" (Schreiben unterbinden) mit Stufe "Medium" verwendet.

So haben alle Verzeichnisse standardmäßig die Stufe "Medium" mit "No Write Up", welche benötigt wird, um auf das Verzeichnis schreibend zugreifen zu können. Dadurch ist der Internet Explorer auch nicht mehr in der Lage, in alle Verzeichnisse zu schreiben, auch wenn er über einen Benutzer gestartet wird. Für die IE wurden nur einige wenige Verzeichnisse mit dem Status "Low" versehen, um dort schreiben zu können (%Systemroot%\Users\Appdata\LocalLow, Cookies, Favoriten, Temporäre Internetdateien usw.). Deshalb müssen Sie z.B. auch, wenn Sie den Favoritenordner auf ein anderen Laufwerk verschieben, mit ICACLS die Rechte entsprechend anpassen (siehe Tipp: "Die Verzeichnisse 'Eigene Dateien' usw. verschieben")

Normalerweise bekommt jede Anwendung die Recht des Prozesses von dem aus sie gestartet wurde. Das würde aber bedeuten, dass, wenn ein Anwender den Internet Explorer startet, dieser auch im Integrity Level "Medium" laufen würde.

Um das zu verhindern, gibt es im Access Token eines Accounts den Eintrag "TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN", welcher bei Benutzeraccounts gesetzt und bei administrativen Accounts nicht gesetzt ist. Ist dieser Eintrag gesetzt, bewirkt er, dass Prozesse, welche gestartet werden, keine höheres Integrity Level bekommen können als wie der EXE-Datei zugewiesen wurde. Da der Datei IEXPLORE.EXE nur das IL "Low" zugewiesen ist, wird diese Datei bei normalen Benutzern auch nur in diesem Level gestartet.

Diese Berechtigungen können in der Kommandozeile mit dem Tool ICACLS bearbeitet und angeschaut werden. Weitere Infos zu dem Programm finden Sie im Tipp: "Zugriffsrechte von Dateien und Verzeichnissen über Batch setzen (CACLS und ICACLS)"

Mit den IL-Rechten können Sie Anwendungen, welche über Zugriffe in das Internet möglicherweise Trojaner oder Viren einschleusen können, durch ein niedriges Level "Low" auf einen kleinen Raum begrenzen. Der Internet Explorer wird schon im IL "Low" ausgeführt.

Wenn Sie aber mit Firefox arbeiten, sollten Sie einmal folgenden Tipp lesen: "Firefox mit niedrigen Rechten (Integrity Level) ausführen".

Mit dem Programm "Process Explorer" von Sysinternals können Sie sich die Integrity Level der aktuell laufenden Prozesse/Anwendungen anzeigen lassen:

Download: http://www.microsoft.com/technet/sysinternals/SystemInformation/ProcessExplorer.mspx

WinFAQ: Startseite | WinFAQ: HTMLMenü | WinFAQ: Java Version

Der Tipp enthält einen Fehler oder Sie haben noch eine Ergänzung dafür? Schreiben Sie uns über die Feedback-Seite an: Feedback-Formular

URL: http://www.winfaq.de/faq_html/Content/tip2000/tip2329.htm

WinFAQ ® Version 9.01 Copyright © 1996/2016 by Frank Ullrich