
Interceptação remota de vídeo usando uma plataforma de rádio definido por software
Este projeto é um kit de ferramentas de software para espionar remotamente monitores de vídeo usando um receptor de Rádio Definido por Software (SDR). Ele explora emanações comprometedoras de cabos que transportam sinais de vídeo.
O vídeo raster é geralmente transmitido uma linha de pixels por vez, codificado como uma corrente variável. Isso gera uma onda eletromagnética que pode ser captada por um receptor SDR. O software mapeia a intensidade de campo recebida de um pixel para uma tonalidade de cinza em tempo real. Isso forma uma estimativa em falsa cor do sinal de vídeo original.
O kit de ferramentas utiliza hardware comercial comum não modificado, o que reduz os custos e aumenta a mobilidade em comparação com as soluções existentes. Ele permite pós-processamento adicional que melhora a relação sinal-ruído. O atacante não precisa ter conhecimento prévio sobre o display de vídeo alvo. Todos os parâmetros, como resolução e taxa de atualização, são estimados com o auxílio do software.
O software consiste em uma biblioteca escrita em C, uma coleção de plug-ins para vários front-ends de Rádio Definido por Software (SDR) e uma Interface Gráfica do Usuário (GUI) baseada em Java. É um aplicativo multiplataforma, com todas as bibliotecas nativas pré-compiladas e empacotadas em um único arquivo jar Java.
Clique duas vezes no arquivo JTempestSDR.jar para iniciar. Se não iniciar, você precisará recompilar o projeto.
Este é o wrapper Java e a GUI. Ele compila todos os projetos e plugins suportados, incluindo a própria GUI Java. Entre na pasta JavaGUI e digite
make all
Se não encontrar "jni.h", você deve executar um dos seguintes comandos:
make all JAVA_HOME=path_to_jdk_installation
No Windows 8 x64, isso pode ser assim
make all JAVA_HOME=C:/PROGRA~2/Java/jdk1.7.0_45
Para forçar a compilação para X64 ou X32 (caso seu compilador suporte), faça o seguinte
make all JAVA_HOME=C:/PROGRA~2/Java/jdk1.7.0_45 ARCHNAME=X64
No Ubuntu com openjdk, pode ser assim
make all JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
Observação: Isso também compilará os plugins. Alguns deles exigem bibliotecas adicionais! Você pode desabilitar a compilação dos plugins editando o Makefile em JavaSDR.
Você precisa ter o MinGW instalado.
No Windows, isso também compilará o plugin Mirics SDR para o Dongle USB SDR FlexiTV™ MSi3101. Você primeiro precisa instalar o driver SDR de http://www.mirics.com/
Para compilar o plugin, vá para a pasta do plugin e digite
make all MIRICS_HOME=path_to_mirics_installation
No Windows 8 x64, isso pode ser assim
make all MIRICS_HOME=C:/PROGRA~1/MiricsSDR
Se estiver executando o Mirics Plugin, certifique-se de que o mir_sdr_api.dll esteja no caminho da biblioteca (ou no mesmo diretório do executável). Você pode encontrar a dll em C:/Program Files/MiricsSDR/API/x86 ou C:/Program Files/MiricsSDR/API/x64, dependendo da sua arquitetura.
Se você não pretende usar o dongle Mirics, pode pular esta etapa editando o Makefile no diretório JavaGUI. Remova TSDRPlugin_Mirics da linha 89, alterando de
PLUGINS += TSDRPlugin_Mirics TSDRPlugin_ExtIO
para
PLUGINS += TSDRPlugin_ExtIO
No Linux e no OS X, compilar a GUI também compilará o driver UHD, então você precisará ter o UHD e as bibliotecas boost correspondentes instaladas (o UHD as instalará automaticamente). Se você não quiser os drivers UHD, pode pular a compilação deles removendo a linha 91 para Linux e a linha 93 para OS X do Makefile no diretório JavaGUI. É assim que essas linhas aparecem por padrão:
PLUGINS += TSDRPlugin_UHD
Todo o projeto pode ser compilado tanto com Eclipse quanto com make.
Entre na pasta e digite
make all
Isso produzirá a biblioteca, que pode ser encontrada no subdiretório bin. Os cabeçalhos necessários para interagir com ela estão localizados em src/include.
Vá para um diretório de plugin e digite
make all
Isso deve funcionar, a menos que haja algo específico para o próprio plugin. Nesse caso, procure um README.
As diferentes pastas contêm os diferentes subprojetos. A pasta TempestSDR contém a biblioteca principal em C. O projeto visa ser multiplataforma, com suporte a plugins para front-ends de SDR em diferentes pastas.
O projeto é compilado com Eclipse com o plugin CDT (mas isso não é obrigatório). Atualmente, ele suporta Windows, Linux e OS X. Alguns plugins de frontend podem não ser multiplataforma. Você também precisa ter um Java Development Kit (JDK) instalado.
Você precisa ter o MinGW instalado e os comandos gcc e make precisam estar no seu PATH. Além disso, javac e javah também precisam estar no seu PATH.
Em breve.