Der Bayern-Trojaner oder Die sichere Übertragung der Daten des Überwachten

[vgwort line=“26″ server=“vg08″ openid=“1270bce1b69d42dda7d521d14da0ea54″]

Der CCC kritisiert die stümperhafte Methode der Verschlüsselung des Trojaners. Aber wie könnte man es besser machen.

Der Trojaner und C+C Server gesichert kommunizieren, müssen alle Nachrichten verschlüsselt und signiert werden. Dazu bietet sich ein asymmetrisches Verfahren (Public Key) höchsten ein Verfahren an. Ein symmetrisches Verfahren, wie beim Bayern-Trojaner ist ungeeignet, da es einen gemeinsamen Schlüssel für die Ver- und Entschlüsselung verwenden.

Grundprinzip

Ein Public Key Schlüsselpaar besteht aus offenen und geheimen Teilen. Zwei Kommunikationspartner benötigen zwei Schlüsselpaare.

Nach einer ersten Überlegung benötigt der Trojaner von zwei Public-Key Schlüsselpaaren (eigener / C+C-Server) folgende Teile:

  • Den öffentlichen Schlüssel des C+C Server um dessen Signatur zu prüfen sowie und Daten verschlüsselt an ihn zu senden, sowie
  • den eigenen geheimen Schlüssel um gesendete Daten zu signieren.

Seinen öffentlichen Schlüssel benötigt der Trojaner nicht. Dieser könnte geheim bleiben und müsste nur dem C+C-Server bekannt sein, weil nur er dem Trojaner verschlüsselte Nachrichten schicken sollte.

Der Haken

Der Überwachte oder ein Dritter kann die Schlüssel – egal wie gut sie verschleiert sind – aus dem Binärcode extrahieren. Der geheime Schlüssel des Trojaners kann nicht durch ein Passwort geschützt werden, denn wer sollte es eingeben? Der Überwachte sicher nicht. Wer in den Besitz des Trojaners kommt, hat auch Zugriff auf beide Schlüssel. Der geheime Teil des Trojaner-Schlüsselpaares ist daher nicht wirklich geheim. Jeder könnte – Zugriff auf den Trojaner vorausgesetzt – Antworten an den C+C-Server verschlüsseln und signieren.

Die Konsequenz

Wie wir gesehen haben, ist die Signatur in der einen und die Verschlüsselung in der anderen Richtung sinnlos. Der C+C Server braucht Befehle nur zu „signieren“ – d.h. mit seinem geheimen Schlüssel zu verschlüsseln – und der Client seine Meldungen nur mit dem öffentlichen Schlüssel des C+C-Servers zu verschlüsseln. Daher kann auf das Schlüsselpaar des Trojaners verzichtet werden.

Die guten Nachrichten bei diesem Vorgehen:

  • Die vom Trojaner an den C+C Server gesendeten Daten sind auf der Übertragungsstrecke vor Einsicht Dritter geschützt.
  • Nur der C+C-Server kann gültige Befehle erzeugen.

Die schlechte Nachricht (für manche vielleicht auch gute):

  • Eine authentisierte, vertrauenswürdige und beweiskräftige (über alle Zweifel erhabene) Kommunikation zwischen Trojaner und C+C-Server kann nicht aufgebaut werden.

Bevor jemand dies missversteht: Die guten Nachrichten gelten nicht für die symmetrische Verschlüsselung des Bayern-Trojaner.

Was man auch nicht tun sollte: In jeder Überwachung das gleiche Schlüsselpaar verwenden. Generiert man ein Schlüsselpaar pro Überwachung, wäre diese eindeutig durch das Schlüsselpaar identifiziert. Eine Übertragung der Fallnummern wäre überflüssig.

Laden des öffentlichen Schlüssels zu Beginn

Würde der Trojaner so programmiert, dass er mit der Anmeldung eine Fallnummer überträgt und erst in der Antwort einen öffentlichen Schlüssel des C+C-Server erhält, könnten die öffentlichen Schlüssel zu Beginn der Verbindung ausgetauscht werden, der Trojaner könnte dies nicht verschlüsseln und der C+C Server könnte den Befehl zum Schlüsselwechsel nicht signieren. Aber eine vertrauenswürdige Verbindung wird dadurch noch weniger möglich.

Risiken:

Ein man in the middle und erst recht der Überwachte könnte den Trojaner nachbauen und passende belastende oder entlastende Antworten an den C+C-Server schicken. Der man in the middle könnte auch ein ehrgeiziger Ermittlungsbeamter sein, der seine Ermittlungserfolge am heimischen PC gezielt plant.

Ein man in the middle kann zwar keine gültigen Befehle erzeugen, jedoch – bei unsachgemäßer Implementierung des Trojaners – mitgeschnittene Befehle später erneut an den Trojaner senden, um gewünschte Reaktionen hervorzurufen. Um den Rechner des Überwachten vor Replay-Attacken zu schützen, sind die Befehle des C+C-Server durch zusätzliche Maßnahmen wie Zeitstempel abzusichern.

Fazit

Man hätte es besser machen können, als mit der symmetrischen AES Verschlüsselung im Bayern-Trojaner. Den Code dazu gibt es auch als Open-Source. Aber so richtig befriedigend wäre ein Bayern-Trojaner advanced auch nicht.

Der Überwacher am C+C-Server kann nie sicher sein, dass er mit dem richtigen Rechner verbunden ist. Die überwachten Daten mögen aufschlussreich sein, sind aber nicht zweifelsfrei.

Dies Betrachtung betrifft nur die Kommunikation des Trojaners mit dem C+C-Server. Die Funktionen, die für eine Überwachung notwendig sind, bergen hier noch ihre eigenen Risiken. Sobald ein Trojaner Daten oder gar Programme nachladen kann und nicht den Steuerbefehl „Überwachung An/Aus“ versteht, wird es kritisch. Einen Selbstlöschbefehl sollte es auch nicht geben. Entweder endet die Überwachung mit einer Beschlagnahme oder einem Hausbesuch mit einer Entschuldigung.

Tipps für Überwachte

Trojaner auf keinen Fall löschen, sondern zweiten Rechner für die schützenswerten Aktivitäten (Homebanking, …) kaufen!

Mit dem verseuchten Teil kann man sich eine Blüten reine Weste verschaffen, indem man auf dem überwachten Rechner nur legal surft und spielt. Kleiner Tipp: Ab und an mal ein paar nackte Männer oder Frauen anschauen, damit dem Auswerter nicht langweilig wird. Viel mit der Ehefrau skypen – möglichst dirty talking.

Die Überwachung zum Abschluss bringen will, sollte den Trojaner auf weiteren Rechnern (1. nicht den eigenen; 2. je mehr desto besser) platziert. Vorher bitte die Selbstlöschroutine patchen = deaktivieren!

Ein zweites Mail-Konto und alle wichtigen Passwörter zu ändern (vom zweiten Rechner) sollte selbstverständlich sein.

3 Kommentare

  1. Mmmmh, und wie schütze ich mich vor solchen Angriffen, als jemand, der ABSOLUT keine Ahnung von der Materie hat? 😉
    Solche Themen überfordern mich …
    Im Übrigen: Nette Tipps für Überwachte 🙂

  2. Wer wissen will ob der Zoll die Staatswanze installiert hat sollte bei seinem Virenscanner in die Ausnahmeliste schauen.
    Wegen der möglichen Warnungen wird er auch per Hand installiert.

Kommentare sind geschlossen.