Erpressungs-Trojaner Dircrypt geknackt
Auch Kriminelle kochen nur mit Wasser und stümpern gerade bei der Umsetzung von Krypto-Funktionen häufig. Deshalb konnten Checkpoint-Experten nun den Dircrypt-Trojaner knacken und die von ihm verschlüsselten Daten retten.
Der Erpressungs-Trojaner Dircrypt ist typisch für die seit einiger Zeit boomende Schädlings-Gattung der Erpressungs-Trojaner: Er verschlüsselt die Daten des Anwenders und seine Macher rücken den für die Entschlüsselung benötigten Schlüssel nur gegen Zahlung eines Lösegelds wieder raus. Doch in diesem Fall lassen sich die Daten auch ohne Zahlung rekonstruieren – zumindest weitgehend.
Die Security-Experten von Checkpoint analysierten den Dircrypt-Trojaner und stellten dabei fest, dass die Gangster auch nur mit Wasser kochen: Die Umsetzung der Krypto-Funktionen stellte sich als böses Rumgestümper heraus. So wurden alle Dateien mit RC4 verschlüsselt – und zwar immer mit dem gleichen Schlüssel. Und den hängt der Trojaner auch noch an die verschlüsselten Daten an. So konnten die Forscher den Schlüssel einfach benutzen, um die Daten wieder herzustellen.
Allerdings blieb ein Pferdefuß: Jeweils den ersten Datenblock mit 1024 Byte verschlüsselt der Trojaner mit RSA. Da der erforderliche 1024-Bit-RSA-Schlüssel zu dessen Dekodierung nicht zur Verfügung steht, müssen die Hacker also raten. Das wird erleichtert durch die Tatsache, dass viele Dateiformate einen Vorspann haben, dessen Inhalt sich recht leicht erraten lässt. So gelang es den Checkpoint-Experten mit einem kleinen Skript den Text eines verschlüsselten Word-Dokuments komplett wiederherzustellen.
Anfang des Jahres gelang es bereits Forschern, den Bitcrypt-Trojaner zu knacken. Dessen Autoren hatten die Kriminellen schlechte RSA-Schlüssel erzeugt, die sich einfach knacken ließen. Doch leider währte der Triumph der Good Guys nicht lange. Bei der Nachfolge-Version Bitcrypt2 leisteten sich dessen Entwickler anscheinend keine solche Patzer – jedenfalls konnte dessen 2048-Bit-RSA-Verschlüsselung bislang niemand knacken. (ju)