使用LimeSDR在TempestSDR上进行TEMPEST攻击窃听屏幕画面实验指南

TEMPEST攻击背景&前言

  1985年,荷兰计算机研究员Wim van Eck首次公开了非保密的窃听电视机画面的技术,仅使用一个能够接收无线信号的电台和一个八木天线,做到了数百米之外采集一台CRT电视机的电磁泄漏信号,并恢复出了电视机上的显示内容。这种攻击被称作TEMPEST攻击,中文译为瞬变电磁脉冲发射监视技术。然而随着显示技术的发展,CRT显示器早已是历史,当年的攻击方式也无法对现代的设备起效。




  2014年,“Remote video eavesdropping using a softwware-defined radio platform”一文提出了使用SDR设备即可还原由VGA或HDMI数据线连接的现代显示器上的画面。这项开源工作叫做TempestSDR。然而,最早发布的版本需要32位java、MinGW和msys等,编译起来比较复杂。2017年有人发布了在win10上无需编译的版本,也不需要额外的环境,可支持HackRF、RTL-SDR、airspy、SDRplay、usrp等设备。
  我在尝试使用TempestSDR的时候走了一些弯路,费了一些不必要的麻烦,最后意外发现LimeSDR虽然没在原作者支持的设备中,但是可以通过载入lime的ExtIO文件让TempestSDR支持使用LimeSDR。在此记录一下最简单的配置使用方法,以方便更多的无线爱好者。
  前排提示:请勿做出任何违反道德、法律的事情,技术应当用到正途

TempestSDR软件

  TempestSDR软件是一个可以通过软件无线电设备收集显示器发出的电磁泄漏,并从电磁泄漏中恢复出显示的画面内容的工具。原项目地址:https://github.com/martinmarinov/TempestSDR。但是现在我们已经无需在自己电脑上重新编译再使用,只需下载有人发布的可执行版本即可,下载地址为:https://github.com/eried/Research/tree/master/HackRF/TempestSDR。这里需要下载TempestSDR_win32_openjdk-14.0.1.zip这个文件:




  下载后解压。发布版本默认的SDR是HackRF,如果您想使用其他SDR请下载对应的ExtIO DLL文件,原作者给了4个dll文件,不过可能下载比较慢,我放到博客上提供下载地址:点这里
里面应该包含LimeSDR、airspy、HackRF、RTL-SDR、SDRplay五种sdr的ExtIO DLL文件。

替换配置文件

  由于我没有HackRF,所以没有办法尝试HackRF的使用。为了能够使用RTL-SDR或LimeSDR,需要替换TempestSDR.exe的配置文件。右键 -> 用WinRAR打开 ,这里只要用电脑上的压缩软件打开即可。




  打开以后可以看到ExtIO_HackRF.dll文件,右键删除,再将文件夹里的ExtIO_RTL2832.dll文件或者ExtIO_LimeSDR_1.07.dll拖进去即可。


运行TempestSDR

  此时我们就可以运行了~
  在进行窃听画面实验之前,先要寻找一下显示器的泄露频率位置。打开HDSDR或是你习惯使用的观察频谱的工具,将天线放在连接显示器的VGA或HDMI线旁边,找到如下图特征的信号:




  这样的梳状噪声就是由显示器视频线发射的,记住梳状噪声的大概中心位置的频率。关于这个频率的寻找方法我没有什么经验,看到其他成功做过这个实验的人分享的频率大概是在410M上下。我这里是445MHz左右。
  下一步关闭HDSDR,否则会因为设备占用不能使用TempestSDR。双击打开TempestSDR.exe,点击左上角 File -> Load ExtIO source



  弹出了熟悉的LimeSDR Device Controller界面。这里有几个点需要我们更改一下设置:
1. Antenna栏,天线换成LNA_L,这是因为显示器的电磁泄漏频率对应LimeSDR板子上的低频段(1.5G以下)
2. 采样带宽。我这里设置成10MHz,效果比较ok。
3. 更改完以后点击Set。

  接下来在TempestSDR的界面上设置:
1. 选择你所进行实验的显示器的分辨率和刷新率配置。我这里用的是1080p分辨率 60Hz刷新率。下面的Width和Height是根据显示电路的时序对应的,对应的标准是CVT标准。
2. Lpass拖到最左边。
3. Gain拖到最右边。
4. Freq设置成前面记住的那个泄露频率

  点击Start,就可以看到效果了~




  so cool~

如何防护?

对于有保密需求的组织和场所,通常应该会采购带有电磁屏蔽措施的电子设备,例如我看到国内一些做电磁安防的公司有针对TEMPEST窃听的防护产品,从信号屏蔽角度看这些产品对泄露频段的屏蔽能力完全大于泄露信号的强度,理论上可以非常有效的防止被恶意窃听(我没有接触过这方面的东西,不太清楚具体效果。主要是太贵了….)
此外,tb、jd上可以买到针对线缆的屏蔽环,价格大概不超过5块钱,用于包裹视频线缆以削弱电磁泄漏。我测试了几个不同规格的电磁屏蔽环确实有一定的效果,对于防止TEMPEST窃听可以在一定程度上缩短被成功窃听的有效距离。

一些tips

  我手里有的sdr设备包括RTL-SDR和LimeSDR。RTL之所以没有写怎么用,一个是网上已经有针对RTL的相关教程了,我这里主要是提出之前没有人尝试用过LimeSDR做TEMPEST。另外是我尝试用RTL的时候,由于RTL的采样率实在是太低了,即使设置到2.8M,也比泄露的带宽更窄很多,所以我没有做到很成功的结果。

最后再次提醒:请勿做出违反道德、法律的事情!

Add a Comment

邮箱地址不会被公开。 必填项已用*标注