
Espionnage 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 radio logicielle (SDR). Elle exploite les émanations compromettantes des câbles transportant les signaux vidéo.
Le vidéo raster est généralement transmis ligne de pixels par ligne de pixels, codé sous forme d'un courant variable. Cela génère une onde électromagnétique qui peut être captée par un récepteur SDR. Le logiciel mappe l'intensité de champ reçue d'un pixel à une teinte de gris en temps réel. 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 connaissances préalables sur l'écran vidéo cible. 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 se compose d'une bibliothèque écrite en C, d'une collection de plug-ins pour différents frontaux 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. Accédez au dossier JavaGUI et tapez
make all
S'il ne parvient pas à trouver "jni.h", vous devez 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 en X64 ou X32 (si votre compilateur le prend en charge), procédez comme suit
make all JAVA_HOME=C:/PROGRA~2/Java/jdk1.7.0_45 ARCHNAME=X64
Sous Ubuntu avec openjdk, cela pourrait ressembler à
make all JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
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 Mirics SDR pour la clé USB SDR FlexiTV™ MSi3101. Vous devez d'abord installer le pilote SDR depuis http://www.mirics.com/
Pour compiler le plug-in, allez dans le dossier du plug-in et tapez
make all MIRICS_HOME=path_to_mirics_installation
Sous Windows 8 x64, cela pourrait ressembler à
make all MIRICS_HOME=C:/PROGRA~1/MiricsSDR
Si vous utilisez le plug-in Mirics, assurez-vous que mir_sdr_api.dll se trouve dans le chemin de la bibliothèque (ou dans le même répertoire que l'exécutable). Vous pouvez trouver la dll dans C:/Program Files/MiricsSDR/API/x86 ou C:/Program Files/MiricsSDR/API/x64 selon votre architecture.
Si vous n'avez pas l'intention d'utiliser la clé Mirics, vous pouvez ignorer cette étape en modifiant le Makefile dans le répertoire JavaGUI. Supprimez TSDRPlugin_Mirics de la ligne 89, en la faisant passer de
PLUGINS += TSDRPlugin_Mirics 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 des pilotes UHD, vous pouvez ignorer leur compilation en supprimant la ligne 91 pour Linux et la ligne 93 pour OS X du Makefile dans le répertoire JavaGUI. Voici à quoi ressemblent ces lignes par défaut :
PLUGINS += TSDRPlugin_UHD
Tous les projets peuvent également être compilés avec Eclipse et make.
Entrez dans le dossier et tapez
make all
Cela produira la bibliothèque qui se trouve dans le sous-dossier bin. Les en-têtes nécessaires pour l'interfacer se trouvent dans src/include.
Allez 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 SDR frontaux 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 frontaux peuvent ne pas être multiplateformes. Vous devez également avoir 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.
À venir prochainement.