
Écoute vidéo à distance à l'aide d'une plateforme radio logicielle
Ce projet est une boîte à outils logicielle permettant d'espionner à distance des moniteurs vidéo à l'aide d'un récepteur de radio logicielle (SDR). Il exploite les émanations compromettantes des câbles transportant des signaux vidéo.
La vidéo à balayage est généralement transmise une ligne de pixels à la fois, codée sous forme de courant variable. Cela génère une onde électromagnétique qui peut être captée par un récepteur SDR. Le logiciel convertit en temps réel l'intensité du champ reçu d'un pixel en une teinte de gris. Cela forme une estimation en fausses couleurs du signal vidéo d'origine.
La boîte à outils utilise du matériel standard non modifié, ce qui réduit les coûts et augmente la mobilité par rapport aux solutions existantes. Elle permet un post-traitement supplémentaire qui améliore le rapport signal/bruit. L'attaquant n'a pas besoin de connaître au préalable l'affichage vidéo ciblé. Tous les paramètres, tels que la résolution et la fréquence de rafraîchissement, sont estimés à l'aide du logiciel.
Le logiciel est composé d'une bibliothèque écrite en C, d'une collection de plug-ins pour divers front-ends de radio logicielle (SDR) et d'une interface graphique (GUI) basée sur Java. C'est une application multiplateforme, avec toutes les bibliothèques natives précompilées et regroupées dans un seul fichier jar Java.
Double-cliquez sur le fichier JTempestSDR.jar pour le lancer. S'il ne se lance pas, vous devrez recompiler le projet.
Il s'agit du wrapper Java et de l'interface graphique. Il compile tous les projets et les plug-ins pris en charge, y compris l'interface graphique Java elle-même. Placez-vous dans le dossier JavaGUI et tapez :
make all
S'il ne parvient pas à trouver "jni.h", vous devriez exécuter l'une des commandes suivantes :
make all JAVA_HOME=path_to_jdk_installation
Sous Windows 8 x64, cela pourrait ressembler à :
make all JAVA_HOME=C:/PROGRA~2/Java/jdk1.7.0_45
Pour forcer la compilation pour X64 ou X32 (au cas où votre compilateur le prend en charge), procédez comme suit :
make all JAVA_HOME=C:/PROGRA~2/Java/jdk1.7.0_45 ARCHNAME=X64
Sur Ubuntu avec openjdk, cela pourrait ressembler à :
make all JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
Sur Mac OSX, la commande pourrait ressembler à :
make all JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
Remarque : cela compilera également les plug-ins. Certains d'entre eux nécessitent des bibliothèques supplémentaires ! Vous pouvez désactiver la compilation des plug-ins en modifiant le Makefile dans JavaSDR.
Vous devez avoir MinGW installé.
Sous Windows, cela compilera également le plug-in SDRplay RSP. Vous devez d'abord installer le pilote SDR depuis http://www.sdrplay.com/
Exemple de compilation pour Windows x64 :
export PATH=$PATH:"/cygdrive/C/Program Files/Java/jdk<put_your_version_here>/bin"
make all JAVA_HOME=C:/PROGRA~1/Java/jdk<put_your_version_here> CC=x86_64-w64-mingw32-gcc ARCHNAME=X64
Et remplacez <put_your_version_here> par votre version de JDK.
Si vous exécutez le plug-in SDRplay, assurez-vous que mir_sdr_api.dll et sdrplay_api.dll se trouvent dans le chemin de bibliothèque (ou dans le même répertoire que l'exécutable). Vous pouvez trouver la dll dans C:/Program Files/SDRplay/API/x86 ou C:/Program Files/SDRplay/API/x64 selon votre architecture.
Si vous n'avez pas l'intention d'utiliser la clé RSP, vous pouvez ignorer cette étape en modifiant le Makefile dans le répertoire JavaGUI. Supprimez TSDRPlugin_SDRPlay de la ligne 89, en le changeant de
PLUGINS += TSDRPlugin_SDRPlay TSDRPlugin_ExtIO
à
PLUGINS += TSDRPlugin_ExtIO
Sous Linux et OS X, la compilation de l'interface graphique compilera également le pilote UHD, vous devrez donc avoir UHD et les bibliothèques Boost correspondantes installées (UHD les installera automatiquement). Si vous ne voulez pas les pilotes UHD, vous pouvez ignorer leur compilation en supprimant la ligne 91 pour Linux et la ligne 93 pour OS X dans le Makefile du répertoire JavaGUI.
Tous les projets peuvent être compilés aussi bien avec Eclipse qu'avec make.
Entrez dans le dossier et tapez :
make all
Cela produira la bibliothèque que vous trouverez dans le sous-répertoire bin. Les en-têtes dont vous avez besoin pour interfacer avec cette bibliothèque se trouvent dans src/include.
Placez-vous dans un répertoire de plug-in et tapez :
make all
Cela devrait fonctionner, sauf s'il y a quelque chose de spécifique au plug-in lui-même. Dans ce cas, cherchez un README.
Les différents dossiers contiennent les différents sous-projets. Le dossier TempestSDR contient la bibliothèque C principale. Le projet vise à être multiplateforme avec la prise en charge de plug-ins pour front-ends SDR dans différents dossiers.
Le projet est compilé avec Eclipse et le plug-in CDT (mais cela n'est pas obligatoire). Il prend actuellement en charge Windows, Linux et OS X. Certains plug-ins de front-end pourraient ne pas être multiplateformes. Vous avez également besoin d'un kit de développement Java (JDK) installé.
Vous devez avoir MinGW installé et les commandes gcc et make doivent être dans votre PATH. De plus, javac et javah doivent également être dans votre PATH.
libuhd-dev