15 Jahre TecChannel - der beliebteste Artikel 2000

Windows-Produkt-Aktivierung ausgehebelt

16.07.2001 von Mike Hartmann
Die im aktuellen RC1 von Windows XP implementierte Produkt-Aktivierung (WPA) weist einige schwere Lücken auf, die Hackern Tür und Tor öffnen, das ganze System zu umgehen.

Extra: For an English version, please click here.

Scheinbar haben die Programmierer der Windows Product Activation nicht besonders sorgfältig gearbeitet. Im Verlauf unserer Experimente mit verschiedenen Hardware-Komponenten, Produkt-Keys und insbesondere der zentralen Datei wpa.dbl haben sich interessante Schwachpunkte gezeigt. Zusammen mit Eigenheiten bei der Erzeugung der Hardware-ID sind Crackern damit Tür und Tor geöffnet, die Aktivierung zu umgehen.

Wie die Aktivierung im Detail funktioniert und wie Windows XP die Hardware abfragt, um die Aktivierung zu erzwingen, lesen Sie hier. Einen Test des RC1 von Windows XP lesen Sie in folgendem Beitrag.

Grundlegendes

Die Datei wpa.dbl im Verzeichnis system32 enthält Informationen über das System zum Zeitpunkt der Aktivierung. Ändern sich mehr als drei Hardware-Komponenten, erkennt Windows XP dies und löscht wpa.dbl. Dadurch soll der Benutzer gezwungen werden, sich neu zu aktivieren. Allerdings hat man dann nicht erneut 30 Tage (im RC1 sind es 14 Tage) Zeit zur Aktivierung. Stattdessen nimmt XP das Datum der Installation als Basis. Sind also seit der Installation mehr als 30 Tage vergangen, muss man sofort aktivieren, damit XP wieder läuft.

Zur Übersicht hier noch einmal die Liste mit den abgefragten Hardware-Komponenten:

Erste Tests

In einem ersten Test haben wir zunächst die wpa.dbl gesichert und dann Grafikkarte und Netzwerkkarte ausgetauscht. Wie erwartet zeigte sich Windows XP kooperativ und ließ uns in Ruhe arbeiten. Die erste Überraschung kam, als wir den Celeron gegen einen Pentium III ersetzten: Windows XP wollte plötzlich neu aktivieren, obwohl wir nur drei Komponenten verändert haben.

Des Rätsels Lösung ist die Seriennummer des Prozessors. Durch den Prozessortausch wurden statt einer gleich zwei Hardware-Informationen geändert. Also Rechner neu starten und im BIOS die Seriennummer abschalten. Dennoch beharrt XP auf der Aktivierung. Ein Blick auf wpa.dbl zeigt den Grund: Offensichtlich hat XP die Datei wieder auf den nicht aktivierten Zustand zurückgesetzt. Wir starten den Rechner unter DOS neu und kopieren die gesicherte wpa.dbl zurück ins Systemverzeichnis von XP. Beim nächsten Start von XP ist die Aufforderung zur Aktivierung verschwunden. Offensichtlich ist wpa.dbl die zentrale Instanz bei der Entscheidung, ob aktiviert wurde oder nicht.

Wir installieren Windows XP komplett neu auf dem Rechner und verwenden dabei denselben Product-Key. Dennoch wird dem Rechner eine andere Product-ID zugewiesen, da die letzten drei Stellen zufällig erzeugt werden. Trotz anderer Product-ID lässt sich Windows durch Einspielen der gesicherten wpa.dbl aktivieren. Der nächste Versuch bringt eine noch größere Überraschung ans Tageslicht: Die Aktivierung funktionierte auch, als wir bei der Installation einen komplett anderen Product-Key verwenden.

Gefälschte Hardware

Mit diesen Ergebnissen im Hinterkopf versuchen wir, Windows XP auf einem anderen Rechner durch das Kopieren der wpa.dbl zu aktivieren. Zunächst passen wir die Volume-ID des neuen Rechners mittels eines frei verfügbaren Tools an. Die Befehlszeile volumeid c: 3333-3333 verändert den entsprechenden Wert des neuen Systems: Damit ist die Komponente zur Berechnung der Hardware-ID nicht mehr relevant.

Bei manchen Netzwerkkarten kann man über den Treiberdialog die MAC-Adresse per Hand einstellen. Dieses Verfahren wird in größeren Firmen eingesetzt, um zu verhindern, dass zwei gleiche MAC-Adressen im Netzwerk vorhanden sind. Ansonsten würde es nämlich zu erheblichen Störungen im Datenverkehr kommen. Die entsprechende Option unter dem Reiter Advanced lautet "Network Address" oder "Locally administered Network Address".

Wird die MAC-Adresse entsprechend geändert, scheidet auch diese Komponente zur Berechnung der Hardware-ID aus. Bei unseren Tests haben wir die CPU-Seriennummer im BIOS abgeschaltet, in beiden Rechnern steckt kein SCSI-Host-Adapter, und der Speicherausbau ist bei beiden gleich. Damit stimmen insgesamt fünf Felder der Hardware-ID überein.

Eigentlich sechs, denn beide Rechner sind nicht "dockbar". Letzteres bringt uns auf einen verwegenen Gedanken...

Notebook mit acht Kilo

Was wäre, wenn man dem Betriebssystem einfach mitteilt, dass der Rechner ein Notebook ist. Diese Option lässt sich über die Hardware-Profile des Gerätemanagers einstellen.

Aber Microsoft wird sich doch nie im Leben so einfach austricksen lassen. Doch! Nach dem nächsten Neustart zeigt die Analyse der Installation-ID, dass plötzlich Grafikkarte und IDE/SCSI-Controller nicht mehr zum Berechnen der Hardware-ID herangezogen werden.

Damit bleiben nur noch drei Unterschiede in der Hardware-Konfiguration übrig:

Da sich drei Komponenten unterscheiden dürfen, bevor XP zur Neuaktivierung auffordert, sollte das ausreichen. Wir kopieren also die wpa.dbl ins System32-Verzeichnis des zweiten Computers und starten Windows XP. Im Startmenü findet sich immer noch der Punkt "Activate Windows". Ruft man ihn jedoch auf, ist XP bereits aktiviert.

Zusammenfassung

Zwar zieht Windows XP zehn Hardware-Komponenten zum Berechnen der Installations-ID heran, sechs davon lassen sich jedoch problemlos aushebeln:

Komponente

Umgehen durch

Wichtig: In einem LAN darf es nicht zwei Rechner mit derselben MAC-Adresse geben.

Volume-ID

Anpassen mittels Tool

MAC-Adresse

Einstellen mittels Treiber

Grafikkarte

Umstellen auf Dockingstation

CPU-Seriennummer

Abschalten im BIOS

SCSI-Host-Adapter

Umstellen auf Dockingstation

IDE-Controller

Umstellen auf Dockingstation

Halbwegs effektiv greifen gerade mal vier Komponenten:

Komponente

Größe des Bitfelds

Festplatte

7

CPU-Typ

3

CD-ROM

7

RAM-Größe

3

Davon sind zwei Felder mit drei Bit kodiert und zwei mit sieben Bit. Da bei jedem Feld der Wert 0 ausgeschlossen ist, bleiben 7*7*127*127=790321 Möglichkeiten für die wpa.dbl. Da sich aber drei Komponenten ab dem Zeitpunkt der Aktivierung ändern dürfen, können sich Cracker für eine "Universal-Aktivierung" die schwächste als Fixgröße aussuchen: Dafür bieten sich CPU-Typ oder RAM-Größe an.

Fazit

Microsoft will mit seiner Aktivierungstechnologie den Gelegenheitskopierer ausbremsen. Bis zu einem gewissen Grad mag das immer noch funktionieren. Mit den hier beschriebenen Maßnahmen kann sich aber fast jeder sein XP aktivieren, indem er sich eine passende wpa.dbl besorgt. Mit Sicherheit wird es demnächst Webseiten geben, von denen sich ein XP-Benutzer "seine" wpa.dbl komfortabel herunterladen kann.

Bleibt es bei dem momentanen Aktivierungsverfahren, hat Microsoft eine Menge Geld für die Technologie, die Webserver und die Call-Center zum Fenster hinausgeworfen, ohne einen nennenswerten Erfolg zu erzielen. Lukrativer wäre es, die Aktivierung fallen zu lassen und den Preis für XP zu senken.

Von Microsoft war bis jetzt noch kein Statement zu den Schwächen der Aktivierung zu bekommen. Wahrscheinlich wird es aber lauten: "In der endgültigen Version wird WPA ganz anders aussehen. Wir haben das Verfahren nur aus dem Grund nicht komplett in den RC1 eingebaut, um die Tester nicht zu verärgern."

Dagegen spricht jedoch die Tatsache, dass zwischen den Release Candidates und dem echten Release normalerweise nur Bugs behoben werden. Obwohl spitze Zungen die WPA als Bug bezeichnen werden, ist sie in unseren Augen nur eine programmiertechnische Fehlleistung. (mha)