Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Infothek - die große Wissensdatenbank > Die Infothek > 4. PC-Sicherheit

4. PC-Sicherheit Artikel und Anleitungen zur richtigen Absicherung Deines Systems

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Xp Update geht nicht weg
Aufrufe: 824, Antworten: 12
Schnäppchen Thread ... von...
Aufrufe: 7272, Antworten: 35
Internetseite nicht Erreichbar
Aufrufe: 174, Antworten: 13
Keine Konnektivität bzw....
Aufrufe: 193, Antworten: 14
DB, Tabellen, anlegen mit...
Aufrufe: 35, Antworten: 1
bluescreen nach msconfig...
Aufrufe: 53, Antworten: 2
Neues Netzwerk?
Aufrufe: 23, Antworten: 2
PPF - Spiel "Wörter weiter...
Aufrufe: 26065, Antworten: 4130
EM-2012 Tippspiel!
Aufrufe: 263, Antworten: 7
Fußkrank
Aufrufe: 403, Antworten: 21
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25.06.2011, 15:57   #1 (Direktlink)
Moderator
 
Benutzerbild von Paule
 
Registriert seit: 27.10.2008
Beiträge: 4.376
Standard Was passiert, wenn man (ab Vista) die UAC deaktiviert?

Autor: AHT

Was passiert, wenn man (ab Vista) die UAC deaktiviert?


Das UAC Popup

Wer kennt das nicht - man startet irgendeine Anwendung und plötzlich kommt so ein dummes Popup, das ein Programm auf den Rechner zugreifen möchte und man soll dies bestätigen (siehe hier).
Auf Dauer kann das ziemlich nervig sein - erst recht, wenn man das vom guten alten XP her gar nicht gewohnt ist; da ist es doch sehr vorteilhaft, dass diese nervige Sache über die Systemsteuerung recht einfach abschaltbar ist:
Systemsteuerung -> Benutzerkonten -> Benutzerkontensteuerung ein- oder ausschalten

Doch sollte man das wirklich tun? Im Prinzip muss dass jeder selbst wissen - und damit das jeder selbst entscheiden kann und weiß was da passiert, schreibe ich dieses Posting hier.

Der Access Token und die Zugriffsrechte

Es wäre doch sehr schlecht, wenn jeder kleine Angestellte mit einem PC Arbeitsplatz dazu in der Lage wäre, die kompletten Einstellungen des Computers zu ändern und mal nebenbei die Post des Chefs zu lesen. Auf aktuellen Windows Betriebssystemen ist es deshalb so, das eben nicht jeder alles darf.

Wie regelt Windows das aber intern?
Im Prinzip wird jeder gestarteten Anwendung eine Art "elektronischer Ausweis" mitgegeben, der unter anderem Angaben dazu enthält, wer genau das Programm gestartet hat (Loginname), welchen Gruppen (zum Beispiel Administrator oder nur Gast am PC) diese "Person" angehört und über welche speziellen Rechte verfügt wird. Dieser "Ausweis" nennt sich in Fachkreisen Access Token.
Objekte, mit denen ein Programm etwas tun kann (zum Beispiel die Dateien) besitzen das Gegenstück zu diesem Ausweis - die "Sicherheitsbeschreibung". Die "Sicherheitsbeschreibung" (in Fachkreisen Security Descriptor) muss man sich vorstellen wie eine Art Liste, in der vermerkt ist, welche Gruppe oder welcher User genau was mit dem Objekt tun darf - also in etwa so:
  • Administratoren -> Vollzugriff ist erlaubt (lesen, schreiben,..)
  • Benutzer -> nur lesen ist erlaubt
  • ...
Na ja - bei Kindern ist es meist so, dass das was nicht direkt verboten ist, als erlaubt gilt . Windows sieht das zum Glück anders - alles was nicht erlaubt ist, ist generell verboten. In dieser Liste können aber nicht nur Erlaubnisse vermerkt sein, sondern auch Verbote. Ein Verbot hat höchste Priorität - ist also etwas verboten und es wird später in der Liste erlaubt, darf das Programm das trotzdem nicht - da ist also nichts mit: "Papa hat aber gesagt, ich darf das!".

MIL, MIC, IL und die Integritäten

Liest man sich irgendwelche Sachen über Betriebssysteme ab Vista durch, stößt man des öfteren auf so merkwürdige Abkürzungen oder Begriffe wie MIL, MIC, IL, Integritäten oder Integritätslevel. Jetzt wäre es doch schön, wenn man beim Abschalten der UAC mit solchen Sachen nichts zu tun bekommen würde - genau das Gegenteil ist aber der Fall, denn gerade hier wirkt sich die Abschaltung der UAC besonders aus.

Es ist deshalb nicht gerade unwichtig wenigstens oberflächlich zu wissen, was das eigentlich ist:
Ab Vista gibt es neben der bereits angesprochenen Zugriffsliste für Objekte eine weitere solche Liste, die aber nur einen Eintrag hat. Dieser Eintrag setzt das Objekt (zum Beispiel eine Datei) auf einen bestimmten Level (IL oder Integritätslevel) und gibt an, was ein Programm, das in seinem Access Token einen niedrigeren Level hat als das Objekt, mit dem Objekt nicht darf (zum Beispiel lesen oder schreiben).
Folgende Level gibt es:
  • Systemverbindlichkeitsstufe
  • Hohe Verbindlichkeitsstufe
  • Mittlere Verbindlichkeitsstufe
  • Niedrige Verbindlichkeitsstufe
  • Nicht vertrauenswürdige Verbindlichkeitsstufe
Existiert bei einem Objekt dieser zusätzliche Eintrag nicht, gilt immer die Mittlere Verbindlichkeitsstufe mit einem Verbot des Lesens und Schreibens für Programme in einem niedrigeren Level.

Es soll damit unter anderem verhindert werden, das normale Programme in Bereiche schreiben, die dem Betriebssystem vorbehalten sind.

Privilegien

Ein besonderer Teil des "elektronischen Ausweises" Access Token sind die Privilegien. Privilegien sind einfach nur Rechte, bestimmte Systemeinstellungen setzen zu dürfen (wie zum Beispiel die Systemzeit). Diese Privilegien sind in der Regel den Gruppen zugeordnet - ist auch logisch so, denn ein Administrator muss ja wesentlich mehr Einstellungen setzen dürfen, als jemand, der nur ein normaler Benutzer ist.

Bei mir zu Hause ist das ganz ähnlich - da dürfen auch nur die alleine mit meinem Auto fahren, die zur Gruppe der mindestens achtzehnjährigen gehören und als Privileg einen Führerschein besitzen.

Zugriffsrechte in Registry

So, nach dem Grundlagenquatsch geht es jetzt an das Eingemachte! Wir schauen uns zuerst mal die Zugriffsbeschreibung eines Registryeintrages an. So in etwa sieht der Registryeintrag
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
aus, wenn man sich die Zugriffsrechte betrachtet:
Zitat:
Eintrag #1 ist bezogen auf: Benutzer
Typ von Eintrag #1: Erlaubnis
Access Right in Eintrag #1: GENERIC_READ = Leserechte

Eintrag #2 ist bezogen auf: Administratoren
Typ von Eintrag #2: Erlaubnis
Access Right in Eintrag #2: GENERIC_ALL = Vollzugriff

Eintrag #3 ist bezogen auf: SYSTEM
Typ von Eintrag #3: Erlaubnis
Access Right in Eintrag #3: GENERIC_ALL = Vollzugriff
Den schon angesprochenen Integritätslevel-Eintrag besitzen Registryschlüssel standardmäßig nicht - es gilt für einen Registryschlüssel also normalerweise der Level (IL) Mittlere Verbindlichkeitsstufe - das wird später noch wichtig.
Was auf diesen Schlüssel an Gegebenheiten bezüglich der Rechte zutrifft, gilt im Prinzip auch für alle anderen Schlüssel unter HKEY_LOCAL_MACHINE.
Im Schlüssel HKEY_LOCAL_MACHINE liegen unter anderem die globalen Autostarteinträge für Programme - also alles das, was sich automatisch generell und überall beim Starten des Systems selbst ausführt (zum Beispiel Dienste, Treiber, etc.). Ein perfekter Ort um Trojaner und RootKits zu installieren.
Hier fällt auf, das normale Benutzer nur Leserechte haben - normale Benutzer können hier also keine Einträge machen.

Der Token eines im Adminaccount gestarteten Programms

Wir loggen uns jetzt mal (mit eingeschalteter UAC) in unseren Adminaccount ein und starten ganz normal unter Vista notepad.exe, den Texteditor. Ein Blick auf den "elektronischen Ausweis" Access Token von notepad sieht folgendermaßen aus - hier erst mal die Gruppen:
Zitat:
None -> standardmäßig aktiviert + aktiviert
Jeder -> standardmäßig aktiviert + aktiviert
Administratoren -> deaktiviert
Benutzer -> standardmäßig aktiviert + aktiviert
INTERAKTIV -> standardmäßig aktiviert + aktiviert
Authentifizierte Benutzer -> standardmäßig aktiviert + aktiviert
Diese Organisation -> standardmäßig aktiviert + aktiviert
S-1-5-5-0-181379 -> standardmäßig aktiviert + aktiviert
LOKAL -> standardmäßig aktiviert + aktiviert
NTLM-Authentifizierung -> standardmäßig aktiviert + aktiviert
Mittlere Verbindlichkeitsstufe -> deaktiviert + aktivierter Integritätslevel
Was fällt hier auf?
Die Gruppe Administratoren ist als deaktiviert markiert:
Im Prinzip bedeutet das, dass die Gruppe Administratoren für Erlaubnisse in der Zugriffsliste von Objekten wirkungslos ist. Kann Notepad hier also auf eine Datei zugreifen, in die nur ein Admin schreiben darf? Nein, natürlich nicht! Wird einem Administrator in der Zugriffsliste eines Objektes aber etwas verboten, zeigt dieser Gruppeneintrag sehr wohl Wirkung.
Wenn man sich nun die Zugriffsliste des Registryeintrages unter HKEY_LOCAL_MACHINE nochmals ansieht, kann ein normal in einem Adminaccount gestartetes Programm zum Beispiel vernünftig einen Trojaner global in die Registry einschleusen? Eigentlich nicht...
Bei einem Programm, das mit Adminrechten gestartet wurde (zum Beispiel durch das Bestätigen eines UAC Popups), ist diese Gruppe aktiviert. Neben dem Gruppeneintrag fehlen auch die Privilegien der Gruppe Administratoren.

Der IL ist Mittlere Verbindlichkeitsstufe:
Bei einem Programm, das mit Adminrechten gestartet wurde (zum Beispiel durch das Bestätigen eines UAC Popups), ist der IL Hohe Verbindlichkeitsstufe. Auf Objekte im Level Hohe Verbindlichkeitsstufe darf notepad hier also nicht zugreifen - zum Beispiel auf das Rootverzeichnis C:\.

Schaltet man die UAC ab, werden sämtliche im Adminaccount gestarteten Programme mit aktivierter Gruppe Administratoren und deren zusätzlichen Privilegien ausgeführt. Aber nicht nur das - des weiteren werden bestimmte Funktionen des Integritätslevels deaktiviert, in dem die einzelnen Programme laufen. Gerade das hat verschiedene Auswirkungen, die man nicht unbedingt gleich sieht...

Der Internet Explorer ab Vista

Interessant wird die Sache beim Internet Explorer. Wir starten den unter Vista einfach mal und werfen einen Blick auf den "elektronischen Ausweis" Access Token seines Hauptprozesses iexplore.exe.
Hier sind wieder die Gruppen:
Zitat:
None -> standardmäßig aktiviert + aktiviert
Jeder -> standardmäßig aktiviert + aktiviert
Administratoren -> deaktiviert
Benutzer -> standardmäßig aktiviert + aktiviert
INTERAKTIV -> standardmäßig aktiviert + aktiviert
Authentifizierte Benutzer -> standardmäßig aktiviert + aktiviert
Diese Organisation -> standardmäßig aktiviert + aktiviert
S-1-5-5-0-181379 -> standardmäßig aktiviert + aktiviert
LOKAL -> standardmäßig aktiviert + aktiviert
NTLM-Authentifizierung -> standardmäßig aktiviert + aktiviert
Niedrige Verbindlichkeitsstufe -> deaktiviert + aktivierter Integritätslevel
Aufgrund des sehr niedrigen ILs darf der iexplore.exe eigentlich fast gar nichts - er darf nicht in die Registry, er darf auf kaum eine Datei zugreifen,... Das kann sehr wichtig werden, wenn ein Trojaner über eine infizierte Internetseite versucht den IE zu "kapern".
Auch mit deaktivierter UAC ändert sich daran nicht sehr viel, da der IE weiterhin in einem niedrigen Integritätslevel läuft. Es gibt da aber einige Zusatzfunktionen des Integritätslevels, auf die ich noch nicht eingegangen bin und auf die sich das Abschalten der UAC sehr wohl auswirkt...

Messages und Hooks

Messages? Hooks? Was ist denn das schon wieder?
Beides hat mit Fenstern zu tun - Fenster sind die netten (meist viereckigen) Dinger, die beim Starten einer Anwendung erscheinen, die man dann anklicken oder aus denen man etwas auslesen oder eingeben kann. Intern funktionieren Fenster über Nachrichten (Messages). Wenn zum Beispiel in ein Eingabefenster ein A getippt wird, erhält die Anwendung bestimmte Nachrichten, also Messages, die dann ausgewertet werden können.
Windows bietet aber auch die Möglichkeit, die Nachrichten von einer fremden Anwendung abfangen, auswerten und verändern zu lassen - man gibt zum Beispiel in Programm 1 ein A ein, Programm 2 fängt diese eingabe ab und ändert sie in B. Im Eingabefenster von Programm 1 würde dann nicht das getippte A erscheinen, sondern ein B. Ein solches Abfangen von Nachrichten nennt sich Message Hook oder Window Hook.

Fenster kann man, genauso wie Dateien, als Objekte sehen. Sie haben aber einen großen Unterschied - sie sind nicht durch eine Zugriffsbeschreibung vor dem Zugriff irgendeines Programms geschützt - das heißt, jeder Hans und Franz kann im Prinzip eine Message an ein Programmfenster senden und damit das Programm dazu veranlassen, bestimmte Sachen zu tun. Das gleiche gilt für die Hooks - ein Keylogger funktioniert zum Beispiel auf diese Weise.

Wenn man sich nun überlegt, dass ja nicht nur Programme durch den jeweiligen User gestartet werden, sondern manche auch durch das Betriebssystem (Dienste zum Beispiel), die dann mit einem ganz anderen Access Token und anderen Rechten laufen, kann das schon etwas problematisch werden.
Chris Padget hat das in seinem White Paper zur Shatter Attack recht gut erkannt - ich muss aber gestehen, dass er die Gefährlichkeit dieser Attacke zur damaligen Zeit noch etwas untertrieben hat - denn vorher Code irgendwie in dem Service unterzubringen, ist gar nicht nötig. Desweiteren ging das mit jedem Fenster - ein Edit muss nicht vorhanden sein.

Microsoft hat diese Sicherheitslücke bezüglich der Fenster erst etwas unterschätzt, ab Vista ist dieses Sicherheitsloch aber folgendermaßen geschlossen:
  • Ein Message Hook kann ("in der Regel") nur noch in Programme installiert werden, die im selben Integritätslevel laufen, wie das Programm, das den Hook installieren möchte. Ein normal gestartetes Programm könnte also zum Beispiel nicht Messages im Internet Explorer abfangen, da der Integritätslevel des IEs herabgesetzt ist.
  • Messages können nicht mehr an Programme gesendet werden, die in einem höheren Integritätslevel laufen, als das Programm, das die Message senden will. Services über Messages zu beeinflussen, ist also nicht mehr möglich.
So, jetzt kommts: Genau diese beiden Neuerungen werden auch mit aufgehoben, wenn man die UAC deaktiviert. Es ist dann also wieder möglich, global Messages abzufangen (also einen Keylogger zu installieren, der sämtliche Tastatureingaben auf dem System hookt) und Messages an interaktive Dienste (Dienste mit einem Fenster auf dem Desktop) zu senden.

Kleine Zusammenfassung

Um es noch einmal auf den Punkt zu bringen: Was lässt man denn jetzt eigentlich zu, wenn man die UAC Popups abstellt?
  • Deaktiviert man die UAC, verleiht man jedem in einem Administratoraccount normal gestarteten Programm die Rechte, auf das komplette Betriebsystem zuzugreifen. Ist die UAC aktiviert, muss ein Programm erst anmelden, dass es auf wichtige Sachen des Betriebsystems zugreifen möchte und der User kann das über das UAC Popup ablehnen.
  • Deaktiviert man die UAC, ermöglicht man jedem in einem Administratoraccount normal gestarteten Programm, Message Hooks in alle anderen Anwendungen zu installieren. Man öffnet also zum Beispiel einem Keylogger sämtliche Türen.
  • Deaktiviert man die UAC, ermöglicht man es jedem normal gestarteten Programm, Messages an administrative Programme oder interaktive Dienste zu senden. Diese höher gestellten Programme können dann Aktionen für Programme tätigen, die diese selbst eigentlich gar nicht dürfen.
Paule ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Infothek - die große Wissensdatenbank > Die Infothek > 4. PC-Sicherheit

Lesezeichen
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Was passiert, wenn man (ab Vista) die UAC deaktiviert? AHT Schreibstube 33 26.08.2011 11:31
Was passiert an meinem PC, wenn ich nicht da bin? Anton Software - Allgemein 7 01.12.2005 12:02
Was passiert, wenn ich den Powerknopf am PC drücke? Joker123 Allgemein 1 02.05.2005 00:00
Was passiert wenn XP-CD wieder eingelegt wird? SANI Hardware - Problemlösungen 2 24.03.2005 23:05
Was passiert wenn Netzteil zu heiß wird? ähM_Key Hardware - Problemlösungen 15 14.12.2003 21:48



Alle Zeitangaben in WEZ +2. Es ist jetzt 06:25 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2