
Remote-Videoabhören mithilfe einer Software-defined-Radio-Plattform
Dieses Projekt ist ein Software-Werkzeugkasten zum Fernausspähen von Videomonitoren mithilfe eines Software Defined Radio (SDR)-Empfängers. Es nutzt kompromittierende Abstrahlungen von Kabeln aus, die Videosignale übertragen.
Rastervideo wird normalerweise eine Pixelzeile nach der anderen übertragen, kodiert als variierender Strom. Dadurch entsteht eine elektromagnetische Welle, die von einem SDR-Empfänger aufgefangen werden kann. Die Software bildet die empfangene Feldstärke eines Pixels in Echtzeit auf eine Graustufe ab. Dies bildet eine Falschfarben-Schätzung des ursprünglichen Videosignals.
Das Toolkit verwendet unveränderte handelsübliche Hardware, was die Kosten senkt und die Mobilität im Vergleich zu bestehenden Lösungen erhöht. Es ermöglicht zusätzliche Nachbearbeitung, die das Signal-Rausch-Verhältnis verbessert. Der Angreifer benötigt keine Vorkenntnisse über das anvisierte Videoanzeigegerät. Alle Parameter wie Auflösung und Bildwiederholfrequenz werden mithilfe der Software geschätzt.
Die Software besteht aus einer in C geschriebenen Bibliothek, einer Sammlung von Plug-ins für verschiedene Software Defined Radio (SDR)-Frontends und einer auf Java basierenden grafischen Benutzeroberfläche (GUI). Es ist eine plattformübergreifende Anwendung, bei der alle nativen Bibliotheken vorkompiliert und in einer einzigen Java-JAR-Datei verpackt sind.
Doppelklicken Sie auf die Datei JTempestSDR.jar, um sie zu starten. Falls sie nicht startet, müssen Sie das Projekt neu kompilieren.
Dies ist der Java-Wrapper und die GUI. Es erstellt alle Projekte und unterstützten Plugins, einschließlich der Java-GUI selbst. Wechseln Sie in den Ordner JavaGUI und geben Sie Folgendes ein:
make all
Falls beim Erstellen "jni.h" nicht gefunden wird, führen Sie einen der folgenden Befehle aus:
make all JAVA_HOME=path_to_jdk_installation
Unter Windows 8 x64 könnte dies wie folgt aussehen:
make all JAVA_HOME=C:/PROGRA~2/Java/jdk1.7.0_45
Um die Kompilierung für X64 oder X32 zu erzwingen (falls Ihr Compiler dies unterstützt), führen Sie Folgendes aus:
make all JAVA_HOME=C:/PROGRA~2/Java/jdk1.7.0_45 ARCHNAME=X64
Unter Ubuntu mit openjdk könnte dies wie folgt aussehen:
make all JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
Hinweis: Dadurch werden auch die Plugins kompiliert. Einige von ihnen benötigen zusätzliche Bibliotheken! Sie können die Plugin-Kompilierung deaktivieren, indem Sie die Makefile in JavaSDR bearbeiten.
Sie müssen MinGW installiert haben.
Unter Windows wird dabei auch das Mirics-SDR-Plugin für den FlexiTV™ MSi3101 SDR-USB-Dongle erstellt. Sie müssen zuerst den SDR-Treiber von http://www.mirics.com/ installieren.
Um das Plugin zu kompilieren, wechseln Sie in den Plugin-Ordner und geben Sie Folgendes ein:
make all MIRICS_HOME=path_to_mirics_installation
Unter Windows 8 x64 könnte dies wie folgt aussehen:
make all MIRICS_HOME=C:/PROGRA~1/MiricsSDR
Wenn Sie das Mirics-Plugin ausführen, stellen Sie sicher, dass sich mir_sdr_api.dll im Bibliothekspfad (oder im selben Verzeichnis wie die ausführbare Datei) befindet. Die DLL finden Sie unter C:/Program Files/MiricsSDR/API/x86 oder C:/Program Files/MiricsSDR/API/x64, je nach Architektur.
Wenn Sie den Mirics-Dongle nicht verwenden möchten, können Sie diesen Schritt überspringen, indem Sie die Makefile im Verzeichnis JavaGUI bearbeiten. Entfernen Sie TSDRPlugin_Mirics aus Zeile 89 und ändern Sie sie von
PLUGINS += TSDRPlugin_Mirics TSDRPlugin_ExtIO
zu
PLUGINS += TSDRPlugin_ExtIO
Unter Linux und OS X wird beim Kompilieren der GUI auch der UHD-Treiber erstellt. Daher müssen Sie UHD und die entsprechenden Boost-Bibliotheken installiert haben (UHD installiert sie automatisch). Wenn Sie die UHD-Treiber nicht möchten, können Sie deren Kompilierung überspringen, indem Sie die Zeile 91 für Linux und Zeile 93 für OS X aus der Makefile im Verzeichnis JavaGUI entfernen. So sehen diese Zeilen standardmäßig aus:
PLUGINS += TSDRPlugin_UHD
Alle Projekte können sowohl mit Eclipse als auch mit make erstellt werden.
Wechseln Sie in den Ordner und geben Sie Folgendes ein:
make all
Dadurch wird die Bibliothek erstellt, die im Unterverzeichnis bin zu finden ist. Die Header, die Sie für die Anbindung benötigen, befinden sich in src/include.
Wechseln Sie in ein Plugin-Verzeichnis und geben Sie Folgendes ein:
make all
Dies sollte funktionieren, außer es gibt etwas, das spezifisch für das Plugin ist. Suchen Sie in diesem Fall nach einer README.
Die verschiedenen Ordner enthalten die verschiedenen Teilprojekte. Der Ordner TempestSDR enthält die Haupt-C-Bibliothek. Das Projekt ist als plattformübergreifend angelegt, mit Plugin-Unterstützung für SDR-Frontends in verschiedenen Ordnern.
Das Projekt wird mit Eclipse mit dem CDT-Plugin erstellt (dies ist jedoch nicht erforderlich). Derzeit werden Windows, Linux und OS X unterstützt. Einige Frontend-Plugins sind möglicherweise nicht plattformübergreifend. Außerdem muss ein Java Development Kit (JDK) installiert sein.
Sie müssen MinGW installiert haben und die Befehle gcc und make müssen sich in Ihrem PATH befinden. Außerdem müssen sich javac und javah ebenfalls im PATH befinden.
Wird in Kürze bekannt gegeben.