Für alle Leute die immer nach Keys schreien und meinen es kann ja nicht so schwer sein eine Code zu knacken, habe ich aus einem anderen Board mal etwas zusammengesucht zum vielleicht besseren Verständnis:
Zitat:
Hi,
Immer wieder, wenn ein beliebtes Nagra-Bouquet dunkel ist, kommen Leute hier vorbei, die selber Hand anlegen wollen, weil es sonst zu lange dauert, bis es hell wird...
Eins vorweg: ich bin auch nur ein Lamer. Aber ich habe wenigstens mal unter die Haube geschaut und weiss, WELCHER AUFWAND mit Hacken von Nagra verbunden ist.
Genau dies moechte ich mal kurz ilustrieren, ohne jede Gewaehr auf Richtigkeit.
Was braucht man zum Hacken einer aktuellen Nagravision Smartcard?
1) Man braucht eine originale Nagravision Smartcard. Eigentlich logisch, aber das vergessen einige "Hacker" nun mal. Am Besten hat man uebrigens nicht eine sondern mehrere Karten!
2) Man braucht die Dumps der schon gehackten Karten. Warum? Weil man davon ausgehen kann, dass die aktuelle Kartenversion (zur Zeit ROM120 fuer TV Cabo, D+ und PW) mehr oder weniger auf der alten basiert.
3) Man muss nicht nur mit einem Disassembler umgehen koennen, sondern auch den Quelltext (ohne Kommentare natuerlich) lesen und verstehen. Das ist gar nicht mal so leicht, besonders weil der benutzte Microkontroller eigentlich gar nicht so recht Dokumentiert ist. Man muss sich also die Info's aus dem weiten Internet selber zusammensuchen.
4) Dann ist es auch ganz nuetzlich, zu verstehen, wie eine Smartcard ueberhaupt funktioniert, besonders der Nagravision-Standard. Dazu gibt es eine super Dokumentation: die allseits bekannte aber nur selten bis zum Ende gelesene Stuntguy-FAQ.
5) Yo, Mathe muss man koennen, denn es ist erforderlich die ganzen Crypto-Algo's zu verstehen.
6) Und nun kommt's - die Moeglichkeiten eine aktuelle ROM120 zu Hacken sind:
a) Man hat Zugriff auf ein Elektronen-Rastermikroskop, oder aehnlichem, und liest die Karte optisch aus. Erfolgschancen: relativ hoch. Praktische Durchfuehrungsmoeglichkeit: keine Chance! Solche Mikroskope werden nur mit engen Vertraegen verkauft und kein Labor wird es wagen Industriespionage zu machen, wegen den Konsequenzen. Ach ja: solche Mikroskope kommen aus den USA. Kein oeffentliches Labor wird legale Probleme haben. Glaubt mir, ich habe selber mal nachgefragt wie man ein paar Stunden (eigentlich Tage oder Wochen) an solches Equipmenmt kommt (nur zum Spass gefragt): Equipment ist vorhanden, aber solche Einsatzgebiete sind nicht erlaubt. Sich klammheimlich hinter so ein Teil zu setzen, OHNE zu fragen geht auch nicht, das ein Versuchsaufbau recht lange dauert und das Geraet ja anderwertig benutzt wird.
b) Man hat Inside-Information: theoretisch ja, aber in der Praxis? Eher nicht.
c) Man versucht es mit "Attacken": man sendet Muell an die Karte, man fummelt an der Betriebsspannung, man fuehrt Resets aus, man kuehlt oder erwaermt die Karte, bis mal was passiert.
Hier kommen die allseits bekannten Unlooper zum Einsatz. Jeder hat schon von gehoert, nur wenige wissen um was es eigentlich geht:
Beim Unlooper kann man software-gesteuert die Spannung variieren, was zu Fehlern im Controller fuehrt. Z.B. wird der PC (Program Counter) auf Null gesetzt (oder was auch immer), so dass statt des normalen Code's im ROM ein Code im Buffer, im Eeprom, oder sonst wo ausgefuehrt wird.
Die Idee ist es nun, eine EMM/ECM an die Karte zu senden und nun eine Attacke zu machen, die den Prozessor aus dem Trab bringt, wodurch der PC auf die EMM/ECM zeigt. Diese enthaelt nach dem Header nicht irgendwelche Daten, sondern Code, der nun ausgefuehrt wird.
Diese Code sendet z.B. den Inhalt des EEPROM's ueber die serielle Schnittstelle, oder halt den Inhalt des Flash vom Controller.
So und jetzt stellt euch den Prof. Lesch von Alpha Centauri vor, wenn er in die Kamera schaut und sagt "Jetzt kommts! Stellen Sie sich vor..."
Man proggt sich also in Assembler eines nicht dokumentierten Controllers (OK, die Befehle sind aenhlich wie die eines dokumentierten Prozessors...) eine Routine zum Dumpen von nicht dokumentieren EEPROM- und FLASH-Speicher, setzt vor dem Binaerkode (Bytesequenz) einen Nagra-kompatiblen Header und schickt den an die Karte. Schwupps! Kaum angekommen faengt man an an der Spannung zu fummeln (per Software, die man ebenfalls in Assembler selber proggen muss und die in den Atmel des Unloopers kommt), bis sich der Prozessor irgendwann aufhaengt und aus versehen den Code in der EMM/ECM ausfuehrt!
Das waere was fuer das Improbabilty-Drive im Heart of Gold (http://en.wikipedia.org/wiki/Infinite_Improbability_Drive)...
Damit das noch schwieriger wird, muss man bedenken, dass die Leute beo Kudelski natuerlich auch nicht auf der faulen Haut liegen und die Karten staendig verbessern.
So anfaellig gegen Attacken wie die ersten Kartengenerationen sind die heutigen nicht mehr. Und mehr: sie haben zum Teil sogar "self-destruct" Mechanismen!
Aber hallo! Von wegen einfach mal ein Basic-Script in Unlooper hauen: das geht nur bei BEKANNTEN Attacken. Wenn eine bestimmte Revision einen bestimmten, reproduzierbaren Fehler aufweist. Das sind dann die tollen Skripte fuer Winexplorer von Dexter. Diese enthalten folgenes know-how (bitte auf der Zunge zergehen lassen):
- ND13: aktuelles Programm fuer den Atmel im Unlooper, welcher die Befehle zur Stromschwankung, usw. vom Script entgegen nimmt
- Winexplorer-Script: muss man auch programmieren koennen
- EMM/ECM-Sequenzen: man muss wissen, wie man "Nagra" spricht
- EMM/ECM mit "Schadcode", der injekziert werden soll
So unschwinbar so ein Script auch auschauen mag - da steckt viel dahinter!
Und wo kommt das ganze Wissen, die Hardware (Unlooper), usw. her?
Von den USA! Dish und Co. benutzen naemlich auch Nagra! Dort sollte man sich in deren Foren durchlesen.
Dort gibt es auch die Dumps.
Und die Tools.
Und alles andere auch.
Nur eins nicht: fertige Loesungen fuer Europa's Provider.
Und um die zu finden, muss man SEHR VIEL WISSEN, LERNEN UND ARBEITEN.
Und gratis macht das wohl keiner mehr. Daher gibt es auch nur noch kommerzielle Ansaetze (Emu's fuer Receiver, teuere Karten und CAM's).
Gruss,
vma
Teil 2:
Option B:
Man greift die DSPC-Karten an (letztlich auf ähnlichem Wege wie oben, wobei manche DPSC-Karten wohl deutlich leichter zu glitchen sind als die originalen Nagra-Karten)
Option C:
Man hat gute Connections und besorgt sich einfach das fertig gedumpte ROM12.
Wobei man nach den Schritten oben bestenfalls ein ROM12-Dump und die aktuellen Schlüssel in der Hand hält. Um die aktuellen Emus zu aktualisieren ist der Schlüssel ja nicht notwendig (der ist ja bekannt) - sondern die entscheidende Frage ist ja, was der aktuelle MECM so anstellt. Das wiederum kriegt man nicht aus dem ROM12-Dump ohne Probleme ausgelesen, weil die so genannten MAP-Calls eine Art "Unterfunktionsaufrufe" sind. Sprich: Man muss erstmal wissen, was sich hinter einem "MAP-Call" überhaupt verbirgt.
Das wiederum kann man mit viel mathematischem Wissen aus der Reihenfolge der MAP-Calls manchmal herleiten - manchmal ist es auch pure Spekulation...
(Da DPSC-Karten keine "MAP-Einheit" haben, wäre dort im Dump alles notwendige enthalten)
Somit wären wir bei Option D: Die Firmware aus einem Emu-Receiver auslesen.
Kurzum: Viele Wege führen zum hellen Bild - aber jeder dieser Wege ist nix für Leute, die sich nicht *wirklich* *intensiv* mit der Materie beschäftigt haben...