RaspberryPiでTEMPEST

提供: ディーズガレージ wiki
移動先: 案内検索

電磁波盗聴(TEMPEST/テンペスト)とは、コンピュータや周辺機器から発せられる微弱な電磁波を盗聴し情報を盗み出す技術です。技術元は米国家安全保障局(NSA)が関係してるようです。
RaspberryPiとDVB-Tで作れそうなので試してみます。

※この記事は電磁波盗聴の脅威を検証するものです。
※違法性や危険性やご指摘などあれば即刻削除します。

下調べ

テスト環境

ボード Raspberry Pi 3 Model B または Zero
DVB-T シャフトコーポレーション TV28Tv2DVB-T(R820T)
アンテナ ダイヤモンド D150 広域帯スーパーディスコーンアンテナ 50~1500MHz受信
その他 MJ/SMA-J変換アダプタ

方向性

  • RaspberryPiをテレメータにし、遠隔測定法・テレメタリング手法で試す。
  • WifiまたはLAN経由で遠隔地WindowsPCに情報送信またはVNC接続待機。
  • ターゲット周波数を決めるためSPYServerARM版経由のSDR#で調査。VNC経由遠隔操作でSPYServerを一旦止めTempestSDR起動。候補周波数で盗聴を試す。

準備

RaspberryPiのStretch Liteでデスクトップ環境を作ってみるの手順で準備
固定IPは192.168.1.188
hosts名はspyserver

TempestSDR

TempestSDR

参考: TempestSDR - GitHub

LinuxでサポートされてるのはUHDのUSRPだけのようです。この時点で「RaspberryPiでTEMPEST」は成立してません。要検討。

モニターケーブルから漏洩する種類の電磁波を解析するようです。

$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk
$ git clone https://github.com/martinmarinov/TempestSDR.git
$ cd TempestSDR/Release/JavaGUI/
$ java -jar JTempestSDR.jar

The library has not been compiled for your OS/Architecture yet (LINUX/ARM).
「起動に失敗した場合は、プロジェクトを再コンパイルする必要があります。」だそうです。
ビルドしてみる

$ cd ~
$ sudo apt-get install libuhd-dev
$ cd TempestSDR/JavaGUI/
$ make all JAVA_HOME=/usr/lib/jvm/java-8-openjdk-armhf

実行

$ java -jar JTempestSDR.jar

SPYServerARM版

参考: RTL-SDR Tutorial - rtl-sdr.com

$ sudo apt install rtl-sdr librtlsdr-dev
$ cd ~
$ mkdir spyserver
$ cd spyserver
$ wget -O spyserver-arm32.tgz https://airspy.com/?ddownload=4247
$ tar xvzf spyserver-arm32.tgz
$ sudo leafpad spyserver.config

48行目辺りを書き換え

#device_type = AirspyOne
device_type = RTL-SDR

実行

$ ./spyserver

SDR#

SDR#

WindowsPCで設定

https://airspy.com/download/
Windows SDR Software Packageをダウンロード

インストーラーがなくx86のようなのでC:\Program Files (x86)にsdrsharp-x86フォルダを作り、その中に解凍
実行

SDRSharp.exeをクリック
▼Source:Spy Server sdr://192.168.1.188:5555
再生ボタン▶

周波数は300-700MHz
理想はこれくらいのもの
SDRSharp Tempest small.png

ターゲット周波数に同調させた後、ソフトウェアは自動較正を行い、目標を中心に数Mhz移動させようとします

書き込み中