Befindet sich im System32-Ordner eine Binärdatei (.exe), die für die Windows-UAC-Funktionen verantwortlich ist? (zB uac.exe
). Was würde passieren, wenn diese Datei gewaltsam gelöscht würde? Würde Windows brechen oder nicht booten?
Hier gibt es kein XY-Problem. Ich bin nur gespannt, was passieren würde, wenn die Benutzerkontensteuerung gewaltsam von einem PC entfernt würde.
Antworten:
UAC ist eine Mehrkomponentenarchitektur, die von mehreren Binärdateien implementiert wird
Benutzerkontensteuerung ( User Account Control, UAC) bezieht sich auf mehrere Komponenten, die zusammen die UAC-Architektur bilden . Ich werde einige von ihnen zusammen mit den für ihre Implementierung verantwortlichen Binärdateien kurz untersuchen. Zunächst erhalten Sie jedoch einen Überblick über die UAC-Architektur aus dem Microsoft Docs-Artikel Funktionsweise der Benutzerkontensteuerung :
Local Security Authority (LSA) / Gefiltertes Token
Konzeptionell wird die "erste" Komponente der Benutzerkontensteuerung vom Subsystem Local Security Authority implementiert, das die Erstellung des Zugriffstokens eines Benutzers während des Anmeldevorgangs verwaltet. Ab Windows Vista wurde der Anmeldevorgang so geändert, dass das LSA-Subsystem beim Anmelden eines Administrators mit aktivierter Benutzerkontensteuerung zwei separate Zugriffstoken für den Benutzer generiert:
Wie hier gezeigt, unterscheidet sich dieser Prozess von dem einer Standardbenutzeranmeldung:
Der LSA-Subsystemdienst ist in diesem
lsass.exe
Prozess aktiv.Virtualisierung
Die in Windows 7 hinzugefügte Datei- und Registrierungsvirtualisierung ist eine Komponente der Benutzerkontensteuerung, die ältere Anwendungen ausblendet , die nicht mit der Benutzerkontensteuerung kompatibel sind, jedoch nur Administratorrechte benötigen, um auf bestimmte geschützte Bereiche des Dateisystems oder der Registrierung zuzugreifen:
Quelle
Durch die Umleitung dieser Zugriffsversuche in Bereiche, für die keine Administratorrechte erforderlich sind, funktionieren diese Anwendungen weiterhin, obwohl die Benutzerkontensteuerung auf dem System aktiviert ist.
Diese Virtualisierung ist im Kernel implementiert .
Anwendungsinformationsdienst
Der Application Information Service (AIS) liest das Manifest einer Anwendung und ermittelt zusammen mit der UAC-Einwilligungsaufforderung, ob eine Anwendung mit erhöhten Rechten ausgeführt werden darf (dh im Kontext des nicht gefilterten Zugriffstokens auf Administratorebene, das bei der Anmeldung erstellt wurde). . Dieser Blog-Beitrag bietet einen guten Überblick über seine Rolle im UAC-Prozess:
Hier ist eine Grafik, die dem obigen Zitat folgt und die Rolle von AIS im UAC Consent Prompt-Prozess detailliert beschreibt:
Das AIS ist in der DLL implementiert,
appinfo.dll
die von ausgeführt wirdsvchost.exe
.Zustimmungsaufforderung
Die Antwort von @ BenN erklärt die Schlüsselrolle des (in) berühmten UAC Consent Prompt. Dies wird in implementiert
consent.exe
und ist dafür verantwortlich, die Zustimmung des Benutzers oder die Anmeldeinformationen eines Administrators einzuholen, um das Starten einer Anwendung zu ermöglichen, die Administratorrechte erfordert.Sicherer Desktop
Auf dem sicheren Desktop wird standardmäßig die UAC-Einwilligungsaufforderung angezeigt. Im UACBlog von Microsoft erfahren wir, was an diesem Desktop im Vergleich zum Benutzerdesktop einzigartig ist:
Die Idee, die dahinter steckt, wenn Sie den Benutzer auffordern, eine Anwendung mit erhöhten Berechtigungen auszuführen, ist, dass Malware den Secure Desktop nur dann nachahmen kann, wenn sie bereits über Administratorrechte verfügt. In diesem Fall ist es umstritten, einen Benutzer zur Gewährung dieser Rechte zu verleiten.
Fazit: UAC ist nicht nur eine Binärdatei. Es ist ein Gewebe aus miteinander verwobenen Subsystemen.
Es gibt noch weitere Aspekte der UAC-Architektur, die hier nicht behandelt werden. Dies sollte jedoch genügend Beweise für die folgenden Tatsachen liefern:
Seit seiner Einführung in Windows Vista ist es tief in wichtige Teile des Betriebssystems integriert, sodass es unmöglich ist, den gesamten für die Benutzerkontensteuerung verantwortlichen Code zu löschen, ohne andere Dinge zu beschädigen (z. B. Ihre Anmeldefähigkeit!).
Ich denke, es ist sicher zu sagen, dass Sie Windows beschädigen würden, wenn Sie die Benutzerkontensteuerung "gewaltsam löschen" würden.
quelle
Wie Twisty hervorragend erklärte , gibt es viele Komponenten, die bei der Implementierung der Benutzerkontensteuerung helfen. Der Teil der Benutzerkontensteuerung, mit dem die Leute am besten vertraut sind, ist das Dialogfeld "Erhebung / Einwilligung":
Dies wird durch
consent.exe
"Zustimmungs-Benutzeroberfläche für administrative Anwendungen" bereitgestellt . Ich habe versucht, es in einer VM umzubenennen und zu sehen, was passiert. Wie erwartet werden bei der Verwendung von "Als Administrator ausführen" keine Eingabeaufforderungen angezeigt. Stattdessen wird der Fehler "Datei nicht gefunden" angezeigt, der die Ursache für das Problem ist, das Sie erhöhen möchten:Der Versuch, ein Benutzeroberflächenelement der Systemsteuerung zu verwenden, für das eine Erhöhung erforderlich ist (dh das das Schildsymbol angezeigt wird), schlägt mit ähnlichen Fehlern fehl, auch wenn Sie als Administrator angemeldet sind. Der Versuch, administrative Dinge über das Startmenü zu starten, führt zu einem etwas anderen Fehler:
Abhängig von der bei der Umbenennung festgelegten Zugriffssteuerungsliste, die alle Fehler verursacht hat, kann dies möglicherweise nicht im Betriebssystem behoben werden, da für Dateioperationen möglicherweise eine Erhöhung erforderlich ist (auch wenn sie normalerweise nicht das Einwilligungsdialogfeld erzeugen). Normalnutzerähnliche Aktivitäten scheinen jedoch nicht beeinträchtigt zu sein.
quelle
consent.exe
, befindet sich ein Angreifer, der dies tun kann, bereits auf der anderen Seite der luftdichten Luke und hat einfachere Möglichkeiten, schlechte Dinge zu tun.