Microsoft Security Advisory: Sicherheitsrisiko in Internet Explorer kann Remotecodeausführung ermöglichen

Einführung

Microsoft hat eine Microsoft Security advisory zu diesem Problem für IT-Experten. Diese Sicherheitsempfehlung enthält zusätzliche sicherheitsrelevante Informationen. Zum Anzeigen der Sicherheitshinweis finden Sie auf der folgenden Microsoft-Website:

PROBLEMUMGEHUNG

Um dieses Problem zu umgehen, verwenden Sie eine der folgenden Methoden.


Hinweis Sie müssen als Administrator beschriebenen Befehle ausführen. In Windows Vista und Windows Server 2008 müssen Sie die Befehle über ein Eingabeaufforderungsfenster mit erhöhten Rechten ausführen. Öffnen Sie ein Eingabeaufforderungsfenster mit erhöhten Rechten folgendermaßen Sie vor:

  1. Klicken Sie auf Start, geben Sie Cmd in das Suchfeld und drücken Sie die EINGABETASTE.
  2. In der Ergebnisliste mit der rechten Maustaste Cmdund klicken Sie dann auf als Administrator ausführen.

Methode 1: Verwenden Sie eine SACL System Access Control List () OLEDB32.dll weniger deaktivieren

Diese Methode ähnelt der "Verwendung SACL Einträge OLEDB32.dll deaktivieren" in diesem Artikel beschriebenen. Diese Lösung ist präziser die Anträge auf OLEDB32 blockiert werden. DLL Internet Explorer ist noch gesperrt. Die meisten Programme sind jedoch nicht. Dies hat den Vorteil des Internet Explorer vor Angriffen schützen. Sie können jedoch noch weitere OLEDB32 abhängen. DLL ordnungsgemäß funktioniert.

Um diese Art von gezielten Schutz zu gewährleisten, setzt diese Lösung auf die Internet Explorer mit geschützten Modus standardmäßig aktiviert wird. Dies bedeutet, dass der Prozess iexplore.exe auf niedriger Ebene ausgeführt wird. Weitere Informationen diesbezüglich und Funktionsweise finden Sie auf der folgenden Microsoft-Webseite:


Integritätsmechanismus ermöglicht Block Prozesse auf sicherungsfähige Objekte wie Dateien mit einer höheren Integritätsstufe schreiben. Dazu werden die SACL für ein Objekt eine besondere Integrität Einstieg zuweisen.


Hinweis Es kann auch zum Blockieren eines Prozesses können lesen oder sicherungsfähige Objekte einer höheren Integritätsstufe ausgeführt.

Wie Sie diese umgehen

Hinweise
  • Diese Lösung gilt nur für Windows Vista und späteren Versionen von Windows.
  • Um diese Methode zu verwenden, muss Internet Explorer mit geschützten Modus eingeschaltet ausgeführt werden. Hierfür Schutzmodus und Benutzerkontensteuerung (UAC) aktiviert sind. Dies ist die Standardeinstellung. Um festzustellen, ob der geschützte Modus aktiviert ist, Überprüfen der Statusleiste von Internet Explorer.
Um diese Methode zu verwenden, gehen Sie folgendermaßen vor:
  1. Speichern Sie den folgenden Text in einen temporären Ordner:
    • Für 32-Bit-Systeme
      Speichern Sie den folgenden Text in eine Textdatei mit dem Namen "BlockAccess_x86.inf":
      [Unicode]Unicode=yes
      [Version]
      signature="$CHICAGO$"
      Revision=1
      [File Security]
      "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NWNRNX;;;ME)"
    • Für 64-Bit-Systeme
      Speichern Sie den folgenden Text in eine Textdatei mit dem Namen "BlockAccess_x86.inf":
       [Unicode]Unicode=yes
      [Version]
      signature="$CHICAGO$"
      Revision=1
      [File Security]
      "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NWNRNX;;;ME)"
      Speichern Sie den folgenden Text in eine Textdatei mit dem Namen "BlockAccess_x64.inf":
       [Unicode]Unicode=yes
      [Version]
      signature="$CHICAGO$"
      Revision=1
      [File Security]
      "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NWNRNX;;;ME)"
  2. Öffnen Sie ein Eingabeaufforderungsfenster mit erhöhten Rechten Administrator im temporären Ordner.
  3. Geben Sie den folgenden Befehl in der Eingabeaufforderung ein und drücken Sie die EINGABETASTE:
    SecEdit/Konfiguration/Db BlockAccess.sdb/cfg < INF-Datei >
  4. Nachdem der Befehl abgeschlossen ist, erhalten Sie eine Meldung, die der folgenden ähnelt:
    Der Vorgang wurde erfolgreich abgeschlossen.
    Siehe Datei %windir%\Security\Logs\Scesrv.log Informationen.

Wie diese Lösung überprüft

Den Befehl Icacls können Sie ermitteln, ob die Lösung angewendet wurde. Verwenden Sie hierzu eines der folgenden:
  • Für ein 32-Bit-Betriebssystem
    Geben Sie den folgenden Befehl in der Eingabeaufforderung ein und drücken Sie die EINGABETASTE:
    icacls "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"
  • Für ein 64-Bit-Betriebssystem
    Geben Sie in der Befehlszeile folgende Befehle und dann die EINGABETASTE:
    icacls "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"

    Icacls "% ProgramFiles% (x86) %\Common Dateien\System\Ole DB\Oledb32. dll" 2 "S:(ML;; NWNRNX;; ME)"
Durchsuchen Sie bei jedem Ausführen des Befehls Icacls die Ausgabe für die folgende Zeile.
Obligatorische Beschriftung\Mittlere obligatorische Level:(NW,NR,NX)
Wenn die Zeile vorhanden ist, die Nr. und NX enthält wurde die Lösung erfolgreich angewendet. Jedoch wurde die Zeile nicht vorhanden ist oder fehlt eine Nr. oder NX-Werte, umgehen nicht erfolgreich angewendet wurde.

Die Auswirkung dieser Lösung

Diese Methode betrifft nur ADO/OLE DB in Internet Explorer ausgeführte Anwendung. Dies ist selten. Diese Methode wirkt sich nur minimal da andere im mittleren oder höheren Integritätsstufe ausgeführten Prozessen wäre immer noch laden und OLEDB32.dll verwenden.

Dieser Workaround rückgängig



Gehen Sie folgendermaßen vor, um den Workaround rückgängig zu machen:
  1. Speichern Sie den folgenden Text in einen temporären Ordner:
    • Für 32-Bit-Systeme
      Speichern Sie den folgenden Text in eine Textdatei mit dem Namen "unBlockAccess_x86.inf":
      [Unicode]Unicode=yes
      [Version]
      signature="$CHICAGO$"
      Revision=1
      [File Security]
      "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NW;;;ME)"
    • Für 64-Bit-Systeme
      Speichern Sie den folgenden Text in eine Textdatei mit dem Namen "unBlockAccess_x86.inf":
      [Unicode]Unicode=yes
      [Version]
      signature="$CHICAGO$"
      Revision=1
      [File Security]
      "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NW;;;ME)"
      Speichern Sie den folgenden Text in eine Textdatei mit dem Namen: "unBlockAccess_x64.inf":
      [Unicode]Unicode=yes
      [Version]
      signature="$CHICAGO$"
      Revision=1
      [File Security]
      "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NW;;;ME)"
  2. Öffnen Sie ein Eingabeaufforderungsfenster mit erhöhten Rechten Administrator im temporären Ordner.
  3. Geben Sie den folgenden Befehl in der Eingabeaufforderung ein und drücken Sie die EINGABETASTE:
    SecEdit/Konfiguration/Db UnblockAccess.sdb/cfg < INF-Datei >
  4. Nachdem der Befehl abgeschlossen ist, erhalten Sie eine Meldung, die der folgenden ähnelt:
    Der Vorgang wurde erfolgreich abgeschlossen.
    Siehe Datei %windir%\Security\Logs\Scesrv.log Informationen.
Verwenden Sie den Befehl Icacls , um sicherzustellen, dass die Lösung entfernt wurde. Anschließend können Sie die Dateien UnblockAccess.sdb und UnblockAccess.inf sicher löschen. Abschnitt "So überprüfen Sie diesen Workaround" "Methode 1" für Weitere Informationen zum Befehl Icacls verwenden, um sicherzustellen, dass die Lösung entfernt wurde.

Methode 2: Deaktivieren Sie die Funktionalität "Zeilenposition" OLEDB32.dll

Wichtig Dieser Abschnitt bzw. die Methode oder Aufgabe enthält Schritte, die erklären, wie Sie die Registrierung ändern. Allerdings können schwerwiegende Probleme auftreten, wenn Sie die Registrierung falsch ändern. Stellen Sie daher sicher, dass Sie die folgenden Schritte sorgfältig ausführen. Sichern Sie die Registry für zusätzlichen Schutz, bevor Sie sie ändern. Anschließend können Sie die Registrierung wiederherstellen, falls ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
322756 Sichern und Wiederherstellen der Registrierung in Windows
Deaktivieren Sie die Funktionalität "Zeilenposition" OLEDB32.dll Löschen des Zeilenposition Registrierungsunterschlüssels:
HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}

Deaktivieren Sie die Funktionalität "Zeilenposition" OLEDB32.dll

Alle ADO-Anwendung, die die RowPosition -Eigenschaft und Informationen sind betroffen. Alle OLE DB-Anwendung, die die OLE DB Zeile Position Library sind betroffen. MSHTML ist betroffen.

Dieser Workaround rückgängig

Verwenden Sie die folgende Registrierungsdatei Zeilenposition Registrierungsunterschlüssel wiederherstellen:
Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}]
@="Microsoft OLE DB Row Position Library"
[HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}\InprocServer32]
@="C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll"
"ThreadingModel"="Both"
[HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}\ProgID]
@="RowPosition.RowPosition.1"
[HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}\VersionIndependentProgID]
@="RowPosition.RowPosition"

Methode 3: Registrierung OLEDB32.dll

Zum Aufheben der Registrierung OLEDB32.dll gehen Sie vor.

Hinweis Sie müssen die Befehle als Administrator ausführen.
  • Für unterstützte Versionen von Windows 2000, Windows XP, Windows Server 2003, Windows Vista und Windows Server 2008 für 32-Bit-Systeme
    Geben Sie den folgenden Befehl in der Eingabeaufforderung ein und drücken Sie die EINGABETASTE:
    Regsvr32.exe/u "Programm c:\Programme\Gemeinsame Dateien\System\Ole DB\Oledb32. dll"
  • Für unterstützte Versionen von Windows XP Professional X64 Edition, Windows Server 2003 X64 Edition, Windows Vista X64 Edition, Windows Server 2008 für X64-basierte Systeme und Windows Server 2008 für Itanium-basierte Systeme
    Geben Sie in der Befehlszeile folgende Befehle und dann die EINGABETASTE:
    Regsvr32.exe/u "Programm c:\Programme\Gemeinsame Dateien\System\Ole DB\Oledb32. dll"

    Regsvr32.exe/u "Programm Dateien (x86) \Common Files\System\Ole DB\Oledb32. dll"

Die Auswirkung der OLEDB32.dll aufheben

OLE DB-Datenzugriff auf Applikationen funktioniert nicht.

Dieser Workaround rückgängig

Um diesen Workaround aufzuheben, verwenden Sie eine der folgenden.

Hinweis Sie müssen die Befehle als Administrator ausführen.
  • Für unterstützte Versionen von Windows 2000, Windows XP, Windows Server 2003, Windows Vista und Windows Server 2008 für 32-Bit-Systeme
    Geben Sie den folgenden Befehl in der Eingabeaufforderung ein und drücken Sie die EINGABETASTE:
    Regsvr32.exe "Programm c:\Programme\Gemeinsame Dateien\System\Ole DB\Oledb32. dll"
  • Für unterstützte Versionen von Windows XP Professional X64 Edition, Windows Server 2003 X64 Edition, Windows Vista X64 Edition, Windows Server 2008 für X64-basierte Systeme und Windows Server 2008 für Itanium-basierte Systeme
    Geben Sie in der Befehlszeile folgende Befehle und dann die EINGABETASTE:
    Regsvr32.exe "Programm c:\Programme\Gemeinsame Dateien\System\Ole DB\Oledb32. dll"

    Regsvr32.exe "Programm Dateien (x86) \Common Files\System\Ole DB\Oledb32. dll"

: Methode 4 SACL Einträge OLEDB32.dll deaktivieren

SACL-Einträge können Sie OLEDB32.dll deaktivieren. Verwenden Sie hierzu eines der folgenden.

Hinweis Sie müssen die Befehle als Administrator ausführen.
  • Für unterstützte Versionen von Windows 2000, Windows XP und Windows Server 2003
    Geben Sie den folgenden Befehl in der Eingabeaufforderung ein und drücken Sie die EINGABETASTE:
    Cacls "Programm c:\Programme\Gemeinsame Dateien\System\Ole DB\oledb32.dll"/E/P jeder: N
  • Für unterstützte Versionen von Windows XP Professional X64 Edition, Windows Server 2003 X64 Edition und Windows Server 2003 für Itanium-basierte Systeme
    Geben Sie in der Befehlszeile folgende Befehle und dann die EINGABETASTE:
    Cacls "Programm c:\Programme\Gemeinsame Dateien\System\Ole DB\oledb32.dll"/E/P jeder: N

    Cacls "Programmdateien (x86) \Common Files\System\Ole DB\oledb32.dll"/E/P jeder: N
  • Unterstützte Versionen von Windows Vista und Windows Server 2008 für 32-Bit-Systeme
    Geben Sie in der Befehlszeile folgende Befehle und dann die EINGABETASTE:
    Takeown/f "Programm c:\Programme\Gemeinsame Dateien\System\Ole DB\Oledb32. dll"

    Icacls "Programm c:\Programme\Gemeinsame Dateien\System\Ole DB\oledb32.dll"/save %TEMP%\oledb32.32.dll.TXT

    Icacls "Programm c:\Programme\Gemeinsame Dateien\System\Ole DB\oledb32.dll"/deny everyone:(F)
  • Für unterstützte Versionen von Windows Vista X64 Edition, Windows Server 2008 für X64-basierte Systeme und Windows Server 2008 für Itanium-basierte Systeme
    Geben Sie in der Befehlszeile folgende Befehle und dann die EINGABETASTE:
    Takeown/f "Programm c:\Programme\Gemeinsame Dateien\System\Ole DB\Oledb32. dll"

    Icacls "Programm c:\Programme\Gemeinsame Dateien\System\Ole DB\oledb32.dll"/save %TEMP%\oledb32.32.dll.TXT

    Icacls "Programm c:\Programme\Gemeinsame Dateien\System\Ole DB\oledb32.dll"/deny everyone:(F)

    Takeown/f "Programmdateien (x86) \Common Files\System\Ole DB\Oledb32. dll"

    Icacls "Programmdateien (x86) \Common Files\System\Ole DB\oledb32.dll"/save %TEMP%\oledb32.64.dll.TXT

    Icacls "Programmdateien (x86) \Common Files\System\Ole DB\oledb32.dll"/deny everyone:(F)

Die Auswirkung der OLEDB32.dll aufheben

OLE DB-Datenzugriff auf Applikationen funktioniert nicht.

Dieser Workaround rückgängig

Um diesen Workaround aufzuheben, verwenden Sie eine der folgenden:


Hinweis Sie müssen die Befehle als Administrator ausführen.
  • Für unterstützte Versionen von Windows 2000, Windows XP und Windows Server 2003
    Geben Sie den folgenden Befehl in der Eingabeaufforderung ein und drücken Sie die EINGABETASTE:
    Cacls "Programm c:\Programme\Gemeinsame Dateien\System\Ole DB\oledb32.dll"/E/R alle
  • Für unterstützte Versionen von Windows XP Professional X64 Edition, Windows Server 2003 X64 Edition und Windows Server 2003 für Itanium-basierte Systeme
    Geben Sie in der Befehlszeile folgende Befehle und dann die EINGABETASTE:
    Cacls "Programm c:\Programme\Gemeinsame Dateien\System\Ole DB\oledb32.dll"/E/R alle

    Cacls "Programmdateien (x86) \Common Files\System\Ole DB\oledb32.dll"/E/R alle
  • Unterstützte Versionen von Windows Vista und Windows Server 2008 für 32-Bit-Systeme
    Geben Sie den folgenden Befehl in der Eingabeaufforderung ein und drücken Sie die EINGABETASTE:
    "Programme\Gemeinsame Dateien\System\Ole DB" Icacls / Wiederherstellung %TEMP%\oledb32.32.dll.TXT
  • Für unterstützte Versionen von Windows Vista X64 Edition, Windows Server 2008 für X64-basierte Systeme und Windows Server 2008 für Itanium-basierte Systeme
    Geben Sie in der Befehlszeile folgende Befehle und dann die EINGABETASTE:
    "Programme\Gemeinsame Dateien\System\Ole DB" Icacls / Wiederherstellung %TEMP%\oledb32.32.dll.TXT

    "Programme (x86) \Common Files\System\Ole DB" Icacls / Wiederherstellung %TEMP%\oledb32.64.dll.TXT

Ermitteln, ob eine 32-Bit- oder eine 64-Bit-Edition von Windows ausgeführt wird

Wenn Sie nicht die Windows-Version kennen, die Sie ausführen, oder, ob eine 32-Bit-Version oder eine 64-Bit-Version ist Systeminformationen (Msinfo32.exe), und überprüfen Sie den Systemtypangegeben ist. Gehen Sie hierzu folgendermaßen vor:
  1. Klicken Sie auf Start, und Klicken Sie auf , oder klicken Sie auf Suche starten.
  2. Geben Sie msinfo32.exe ein, und drücken Sie dann die EINGABETASTE.
  3. Überprüfen Sie den Wert für Typ, Systeminformationen.
    • Für 32-Bit-Editionen von Windows ist der Wert Typ X86 - PCs.
    • Für 64-Bit-Editionen von Windows ist der Wert Typ X64 - PCs.
Informationen zu bestimmen, ob eine 32-Bit- oder 64-Bit Edition von Windows ausgeführt werden klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:
827218 Ermitteln, ob Ihr Computer eine 32-Bit-Version oder eine 64-Bit-Version des Windows-Betriebssystems ausgeführt wird
Eigenschaften

Artikelnummer: 961051 – Letzte Überarbeitung: 13.01.2017 – Revision: 1

Feedback