Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#19

Re: Generierung einer eindeutigen MachineID

  Alt 22. Nov 2005, 14:09
Um die MD5 noch sicherer zu machen schlage ich vor das du in der Registry zb. in hKey_Classes_Root\CLSID eine Zufalls CLSID anlegst und diese in die MD5 Berechnung mit einfließen lässt.Dein Setup erzeugt also einen dir bekannten CLSID Schlüssel und legt dadrunter einen Zufallswert mit 128 Bit Länge ab.
In deiner Serial Routine berechnest du diesen Wert dann ein.

Warum?
Weil es nur eine sehr begrenzte Anzahl von verschiednenen CPUs und Betriebssystemen gibt. Gehen wir davon aus das einige deiner Funktionen scheitern, eben VolumeID und SMARTVSD dann stützt sich deine Serial Berechnung nur noch auf die CPUID und den Werten in der Registry. Sagen wir mal das es nur ca. 10000 verschiedene Kombinationsmöglichkeiten gibt und ein Angreifer diese alle berchnen kann. Somit kann ein Angreifer bei deiner Methode anhand der MD5 Serial per Dictionary Angriff ermitteln was für ein Rechner zur Serial gehört. Im Endeffekt also unsicher da es nicht soviele verschiedene CPUs und Betriebssysteme auf dem Markt gibt.

Der Zufallswert in der Registry randomisiert nun dieses Verfahren und er werden garantiert zu unterschiedliche Serials erzeugt. Ein Angreifer müsste also wiederum Zugriff auf den jeweiligen Rechner haben um diesen ZUfallswert auslesen zu können.

Denken wir mal weiter: Du installiert in \WinNT\SYSTEM32\ eine eigene DLL an die du hintenan an die Datei dran während des Setups einen Zufallswert speicherst. Diesen kannst du sogar mit der gleichen DLL wieder auslesen wenn du möchtest (was keine verdächtige Aktion darstellt, da es normal ist das in diesem Ordner Haufen von DLLs liegen, das diese natürlich auch geladen werden und das innerhalb der DLL es durchaus üblich ist Resourcen aus der DLL am Ende der Datei zu laden).
Naja, auf alle Fälle fließt dieser Zufallswert ebenfalls in deine MD5 mit ein.

Gruß Hagen
  Mit Zitat antworten Zitat