DLLs können schädlichen ausführbaren Programmcode enthalten

Update
Am 23. August 2010 hat Microsoft ein Optionales Update veröffentlicht unter Knowledge Base 2264107. Dieses Update behebt Probleme in Anwendungen, die beim Vorabladen von DLLs auftreten können.
Download: Optionales Update KB2264107

31. August 2010
Microsoft hat jetzt ein Fix it veröffentlicht, welches den Registry-Wert von CWDIllegalInDllSearch auf 2 setzt (vorher 1). Dieser Registry-Wert blockiert das Laden der DLLs und gilt für alle Anwendungen auf dem Computer.
Vorher sollte unbedingt das Optionale Update KB2264107 installiert werden, da der Fix sonst keine Wirkung zeigt.
Download: MicrosoftFixit50522.msi (638 KB)


Microsoft hat die Existenz einer DLL-Sicherheitslücke in einem Security-Advisory 2269637 bestätigt.

Programme wie Google Chrome, Firefox, Opera, Adobe Photoshop, WinZip, Winamp, Dreamweaver, Wireshark, Thunderbird, Microsoft Office 2007/2010 und noch eine ganze Menge andere sind betroffen - von ca. 200 Programmen ist die Rede.

Eine Liste verwundbarer Applikationen liefern Exploit Database und Corelan.be

Die Entwickler reagieren nach und nach mit Patches auf die Schwachstelle.

  • Apple hat in iTunes den Bug behoben (Security-Advisory)
  • VMware Tools ist mittlerweile geschützt
  • VLC in Version 1.1.4 ist geschützt
  • µTorrent in Version 2.0.4 ist geschützt
  • ESET NOD32 Antivirus und ESET Smart Security in Version 4.2.64.12 ist geschützt
  • mittlerweile werden es mehr und mehr ...

Es reicht schon aus, wenn Sie sich einen Film im Internet ansehen oder Musik aus dem Internet laden.
Das Video oder die Musikdatei werden zwar vom Server geladen, aber auch die dazugehörige DLL (Dynamic Link Library), die das Programm (Beispiel ein Player) dazu braucht. Angreifer können eine manipulierte DLL auf den Server laden, die sich unbemerkt auf Ihrem System ablegt. So hat dann der Angreifer sämtliche Rechte auf dem PC, um beliebigen Code auszuführen.

Microsoft empfiehlt, den "Status" des Dienstes (services.msc) WebClient zu beenden und den "Starttyp" zu deaktivieren.
Dann greift Windows nicht mehr auf WebDav-Laufwerke zu.



Weiterhin empfiehlt Microsoft das Nachladen der DLL aus dem Internet oder von Netzwerkfreigaben zu verbieten. Einstellen lässt sich das auf folgendem Weg über die Registry:
Start - Ausführen: regedit [OK]


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager



Im rechten Fenster von "Session Manager" erstellt man einen neuen DWORD-Wert mit dem Namen CWDIllegalInDllSearch und dem Datenwert 2 (siehe Update von 31. August 2010)

Seit 31.08.2010 empfiehlt Microsoft den Datenwert 2


Zusätzlich sollten noch die TCP-Ports 139 und 445 von der Firewall geblockt werden.
Dann funktionieren allerdings viele Dienste nicht mehr, die im Unternehmensumfeld benötigt werden, etwa CIFS, SMB, Printersharing, der Drucker-Spooler oder der Fax-Service. Hier muss jeder Benutzer selbst entscheiden, wie er die Firewall einstellt.

Anlegen des Schlüssels für DLL-Suchpfadalgorithmus:

Mit dem neu eingeführten Registrierungseintrag CWDIllegalInDllSearch unter "Session Manager" mit dem Wert 2 können Computeradministratoren das Verhalten des DLL-Suchpfadalgorithmus ändern. Dieser Registrierungseintrag gilt dann für alle Anwendungen auf einem Computer.

Beispiel: Die Anwendung wird aus einem lokalen Ordner gestartet, z. B. C:\Programme
Wert 0 = verwendet den aufgeführten DLL-Standardsuchpfad
Wert 1 = blockiert das Laden einer DLL aus dem aktuellen Arbeitsverzeichnis, wenn das aktuelle Arbeitsverzeichnis auf einen WebDAV-Ordner festgelegt ist
Wert 2 = blockiert das Laden einer DLL aus dem aktuellen Arbeitsverzeichnis, wenn das aktuelle Arbeitsverzeichnis auf einen Remoteordner festgelegt ist (z. B. ein WebDAV- oder UNC-Verzeichnis)
Wert 0xFFFFFFFF = entfernt das aktuelle Arbeitsverzeichnis aus der DLL-Standardsuchreihenfolge

Anders ist es, wenn die Anwendung aus einem Remoteordner gestartet wird.
Beispiel: \\remote\shareRemote\Freigabe
Hier erlaubt der Wert 2 das Laden einer DLL aus dem aktuellen Arbeitsverzeichnis, wenn das aktuelle Arbeitsverzeichnis auf einen Remoteordner festgelegt ist (z. B. ein WebDAV- oder UNC-Verzeichnis).

Näheres siehe Microsoft Artikel 2264107 (Geändert am 16. Mai 2011).

Wer seine Anwendungen, wie im ersten Beispiel auf der sicheren Seite haben möchte, kann dies in der Registry bewerkstelligen.

Als Administrator an Windows anmelden.
Start - Ausführen: regedit [OK]

Unter


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager



den (durch das Optionale Update KB2264107 oder Microsoft Fix it) vorhandenen DWORD-Wert CWDIllegalInDllSearch - Datenwert von 2 ändern in 0xffffffff.

(Wert 2 blockiert das Laden einer DLL aus dem aktuellen Arbeitsverzeichnis - Wert 0xffffffff entfernt das aktuelle Arbeitsverzeichnis aus der DLL-Standardsuchreihenfolge)

Doppelklick auf "CWDIllegalInDllSearch" Datenwert 2 löschen - Basis "Dezimal" und den Wert eingeben [OK]


Meldung bestätigen


Geänderter Eintrag


Danach unter


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options





die Anwendung als Unterschlüssel hinzufügen, z.B. Outlook.exe.



Im rechten Fenster einen neuen DWORD-Wert (Rechtsklick - Neu) mit dem Namen CWDIllegalInDllSearch erstellen und als Datenwert 2 angeben (blockiert das Laden der DLL).

Doppelklick auf "CWDIllegalInDllSearch" - Basis "Hexadezimal" Wert "2" [OK]


Fertiger Eintrag


Unter Image File Execution Options können alle auf dem System installierten Anwendungen hinzugefügt werden.
Wertangaben nach Technet-Blog (ab: Enabling the CWDIllegalInDllSearch protection tool - Punkt: "To instead completely block all DLL-preloading attack vectors, ...")


Bewertung

Besucherwertung (2 Stimmen)
6 / 6
(Höher ist besser)

Haben Sie Fragen dazu oder Probleme mit dem Tipp, dann melden Sie uns dies über das spezielle Kontaktformular.
Danke sagt das WinTotal-Team.