Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

Nagra 2 Hack wie alles begann

Da nun immer mehr Provider die bislang Nagravision 2 (Aladin) einsetzten auf wieder sichere Kartenversionen wechseln, ist es an der Zeit einmal öffentlich zu Erklären wie es eigentlich global zu einem solchen großen Desaster bei Nagravision 2 kommen konnte, und wie der “Hack” grob ablief.

Über den Anfang allen Übels lässt sich nur Spekulieren. Allerdings hört man aus unterschiedlichsten Gerüchten immer wieder heraus dass alles über die Amerikaner ins Rollen geriet.
Hier sollen nämlich einige “Gruppen” Geld zusammengelegt und einen Hack der dort beim PayTV Provider BellVu/Dish eingesetzten Nagra Karten in einem professionellen Labor in Auftrag gegeben haben.
Auch ist die Rede davon dass NDS die Kartenserie der Konkurrenz reverse-engineeren, und anschließend alle Informationen in Hackerkreise fliesen lies.

Egal wie, irgendwie kamen amerikanische Hacker auf die Sicherheitslücke (ob nun bei der Analyse der im Labor angefertigten Speicher- und Hardwareabbildungen, oder durch Vergleiche zu älteren Nagravision ROM-Versionen), die es ermöglichte reproduzierbar eigenen Programmcode auszuführen, und so ein Programm zu starten welches die internen Speicher der Karten nach “außen” kopierte.

Dazu sei gesagt dass Kudelski (Entwickler von Nagravision) wohl aus Kostengründen einen relativ großen Fehler beging. Nämlich haben sie den Kerncode von Nagravision 2 in nahezu allen Nagravision 2 Kartenversionen fast identisch gelassen.
Dies führte dazu dass die von den amerikanischen Hackergruppen gefundenen Sicherheitslücken in leicht abgewandelter und angepasster Form auch auf alle anderen zu dieser Zeit im Umlauf befindlichen Nagravision 2 Kartenserien ansprangen.
Jemand der also Ahnung von Unloopern, Glitches, Assembler und Mikrocontroller besaß konnte diese Sicherheitslücken auch an anderen N2 Kartenserien anderer PayTV Provider anwenden.

Um nun zu verstehen wie die Sicherheitslücken ausgenutzt werden können müssen vorher einige Fachbegriffe geklärt werden.
Der Unlooper ist eine spezielle Form des Kartenlesers, der über eine eigene Steuerungssoftware verfügt. Befehle die vom PC über die serielle Konsole zum Unlooper gehen werden also nicht direkt zur eingesteckten Karte weitergeleitet sondern von der Steuerungssoftware im eingebauten Mikrocontroller verarbeitet und von diesem Mikrocontroller erst auf die Karte angewandt (dies gibt u.a. erhebliche Geschwindigkeitsvorteile).
Mit einem Unlooper ist es möglich durch die spezielle Hardware die Versorgungsspannung oder die externe Kommunikationsfrequenz des Kartenchips vor, beim und nach dem Senden eines Befehls zur Karte bis zu einem kritischen Punkt anzuheben oder abzusenken (diesen Vorgang nennt man glitchen). Bei diesem Vorgang kann es passieren dass interne Routinen aus dem Takt geraten und ein Fehler bei der Durchführung kleinster Prozessor-Aufgaben auftritt. Dies kann beispielsweise zur Folge haben dass der Prozessor beim Lesen des Programmcodes “verrutscht” und an einer völlig anderen Stelle weiterarbeitet, also Code ausführt der zu diesem Zeitpunkt gar nicht ausgeführt werden sollte.
Man kann schon erahnen dass solch eine kleine und kurze Fehlfunktion, ein relativ großes Ausmaß haben kann.

Wichtig: Um solch eine Glitch-Attacke vorzubereiten und auszuführen zu können sind enorme Kenntnisse der Assemblersprache (Maschinensprache. Befehle die direkt den Ablauf des Prozessors steuern) und die grundlegenden Funktionen und Abläufe eines Prozessors mindeste Voraussetzung!
Sehr gute Kenntnisse aus dem elektronischen Bereich sind ebenso nötig. Das Thema ist in der Praxis also nichts für den eben mal “Schnell-Einsteiger”.

Kommen wir nun zu der/den eigentlichen Sicherheitslücke(n):

Wird eine ECM oder EMM zur Karte gesendet, kopiert die ROM-Software den String in eine RAM-Partition die Ausfürungsrechte besitzt (erster Fehler!). Programmcode der hier steht kann also reintheoreitsch vom Prozessor abgearbeitet werden.
Danach überprüft die ROM-Software den ECM/EMM String auf Gültigkeit. Es wird also geprüft ob die Längen, Signaturen, Checksummen etc. korrekt sind. Findet die Software einen Fehler wird die weitere Bearbeitung des Strings (Entschlüsselung und Ausführung der in der entschlüsselten Nachricht enthaltenen Befehle) abgebrochen, aber der String nicht aus dem ausfühbaren RAM-Bereich gelöscht! Er steht dort also bis die nächste ECM/EMM eintrifft und den alten String überschreibt.

Wenn es nun gelingt, mithilfe eines Glitches auf einen bestimmten Befehl in diese RAM-Partition zu “springen” (mit dem Prozessor Instruction Pointer), ist es möglich eigenen, unverschlüsselten Programmcode, der zuvor als ECM/EMM getarnt zur Karte gesendet wurde, auszuführen.
Alleine hierfür sind wieder enorme Kenntnisse der IT-Thematik unbedingte Vorraussetzung, denn es muss ein Programm in Assembler für den Prozessor im Kartenchip geschrieben werden, welches die internen Speicherfirewalls überwindet und die ROM und EEPROM Daten irgendwie in den I/O Buffer, und somit zur seriellen Konsole am PC kopiert. Dazu ist es nötig sehr detailierte Informationen über den Kartenchip ausfindig zu machen, die allerdings oft geheimgehalten werden und per NDA geschützt sind.

Natürlich gab es clevere Menschen die es schafften durch genaue Berechnungen von Prozessor Takten und Timings, im richtigen Moment auf den richtigen Karten Befehl einen Glitch zu setzen.
Der Prozessor sprang dann aus dem Programmcode des geglitchten Befehles in den Programmcode aus der ECM/EMM, wodurch das eigene Programm (Trojaner) ausgeführt wurde…

Nachdem also dann ROM und EEPROM der Nagravision Karten bekannt waren mussten diese Analyisert werden. Dies bedeutet wieder Disassemblieren, und verstehen des Programmcodes der Karte.
Erst dann ist es möglich die genauen details der Verschlüsselungs-Algorithmen herrauszufinden. Im EEPROM der Karte finden sich die von den Algorithmen benötigten Schlüssel (Keys) zum Entschlüsseln eingehender Entitlement Messages.

Kudelski schloss die Sicherheitslücken anschließend per OnAir Update, allerdings zu spät.
Es waren bereits mehr Informationen aus den Karten bekannt als gedacht, und so brachten auch spätere Änderungen keinen lang anhaltenden Erfolg mehr.:55:
 
Zurück
Oben