87122

Neues Sicherheitsrisiko: Versteckte Registry-Einträge

25.08.2005 | 16:24 Uhr |

Regedit zeigt überlange Einträge in der Registry nicht an, ebenso nachfolgende kurze Einträge. Mit fatalen Folgen...

Eine bislang wenig bekannte Gefahr lauert in versteckten Registry-Einträgen. Ist ein Eintrag sehr lang, kann Regedit, der Registry-Editor von Windows, ihn nicht anzeigen. Regedt32 (nur Windows 2000, in Windows XP führt der Aufruf von Regedt32 zu Regedit.exe), der zweite Registry-Editor, zeigt überlange Einträge allerdings an. Was Windows XP-Anwendern aber herzlich wenig hilft.

Die Entdeckung dieses Schwachpunkts wird Igor Franchuk zugeschrieben, der diesen bei FRSIRT und Secunia gemeldet hat.

Das Hauptproblem bei diesem Fehler in Windows ist jedoch, dass anschliessend angelegte Einträge in dem selben Schlüssel auch nicht angezeigt werden, selbst wenn sie eine ganz normale Länge aufweisen. Sie werden aber von Windows ausgewertet und funktionieren. Auf PC-WELT Testrechnern konnten wir dieses Verhalten nachvollziehen und bestätigen.

Wird eine solche Folge aus einem überlangen und einem normalen Eintrag etwa im Schlüssel

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

angelegt, wird ein im zweiten Eintrag angegebenes Programm beim Starten von Windows ausgeführt.

Eigene Tests zeigen auch, dass die bewährten Helfer Autoruns von Sysinternals und Hijackthis in solchen Fällen nicht zuverlässig funktionieren. Auch Microsofts Antispyware listet unter "System Explorer\Startup Programs" nicht die durch den Registry-Trick angelegten Start-Einträge auf.

Das Internet Storm Center hat in seinem Tests noch festgestellt, dass die aktuelle Version 8.13 von Autoruns überlange Einträge anzeigt. Das können wir leider nicht uneingeschränkt bestätigen. Sowohl das ISC als auch Sysinternals und der Autor von Hijackthis wurden über unsere Ergebnisse informiert.

Schwacher Trost: Bei Windows XP zeigt MSConfig.exe das durch den zweiten Registry-Eintrag (also nach dem überlangen Registry-Eintrag) aufgeführte Programm an, dass beim Systemstart aufgerufen wird.

Die gute Nachricht ist, dass Windows 2000 und XP noch ein weiteres Registry-Tool mitbringen, das anscheinend keine Probleme mit überlangen Einträgen hat. Das Kommandozeilenprogramm "reg.exe" liest diese Einträge mit dem Befehl

reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run

aus und zeigt sie in einem Kommandozeilenfenster ("Eingabeaufforderung") an. Hat man auf diese Weise überlange Einträge entdeckt, kann man sie mit Bordmitteln von Windows entfernen.

Und so funktioniert es:

Exportieren Sie (in diesem Beispiel) den gesamten Schlüssel "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\ CurrentVersion\Run" mit Regedit in eine Datei (etwa "runkey.reg") und löschen ihn dann (in Regedit). Öffnen Sie eine Kopie dieser Export-Datei mit dem Texteditor ihrer Wahl und entfernen Sie die verdächtigen Einträge. Ohne den überlangen Eintrag können Sie die .reg-Datei einfach per Doppelklick wieder in die Registry importieren. Das gilt aber nur für Windows 2000.

Unter Windows XP ist der überlange Registry-Eintrag nicht in der Export-Datei zu finden und damit auch nicht enthalten. Löschen Sie nach dem Export den genannten Schlüssel in Regedit und importieren Sie dann wieder die zuvor exportierte Datei.

Mittels

reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run

können Sie überprüfen, ob der Reinigungsvorgang erfolgreich war.

Solche Arbeiten an der Registry von Windows sollte nur durchführen, wer genau weiß, was er macht. Fehler können zu einer Beschädigung der Registry führen, Windows funktioniert dann möglicherweise nicht mehr richtig oder startet nicht mehr.

0 Kommentare zu diesem Artikel
87122