通过未连接设备(包括已连接设备和未连接设备)泄露数据是一个非常有趣的话题,通常被称为“软风暴”。这通常是昂贵得离谱的实验室设备的领域,源代码没有公布等等。在这里,我想用最简单的设备和方法来演示这一点,并使其非常容易复制。
要传输电磁波,需要有一个由高频电源驱动的导体。使用各种总线:监视器电缆、PCI总线等。这里我建议使用以太网。
以太网电缆由4条阻抗为100欧姆的双绞线组成,传输的射频信号范围在百分之几十到百分之一兆赫之间。电缆(不对称等)或接口中的任何缺陷都会导致无线电信号被辐射。
可以使用不同的方法来调制信号。为了简单起见,这里我将使用摩尔斯电码。这也使得人们只需听一听就可以判断信噪比。如果一个人知道摩尔斯电码,也可以在不需要额外设备的情况下用耳朵破译它,如果不知道,也有很多软件可以做到这一点(尽管通常比有经验的人工操作员的性能差得多)。
传输是通过非常简单的Shell脚本实现的。只需要bash、ethtool和ping。这使得该脚本可以很容易地在嵌入式设备和其他平台上使用,在这些平台上,传输二进制文件、安装Python环境等可能会遇到问题。
各种以太网速度具有不同的调制速度、类型和编码。通过切换,我们可以调制从电线泄漏的射频信号。
10BASE-T采用曼彻斯特编码,码率为10 MHz。这用作空间信号(逻辑0)。
100BASE-T使用4b5b编码和NRZI,符号速率为125 MHz。这导致容易接收125 MHz左右的信号,这被用作标记信号(逻辑1)。
以太网在没有数据包的情况下发送空闲序列,因此信号是恒定的。必须改变接口的速度才能显示信号,而不必发送数据包。
传输是通过一个简单的bash脚本实现的,该脚本发送作为参数提供的短文本文件的内容,如果没有提供,则发送“etherify demo”。该信号可在125 MHz左右以莫尔斯电码的形式接收,请在接收器中使用USB或CW模式,并使用窄带滤波器。
确保两个覆盆子PI已连接,并且它们之间有以太网链路(通过LED发出信号)。
它可以通过一个简单的莫克森定向天线和一个业余无线电接收器(也可以使用SDR)通过耳朵进行解码。
如果有疑问,让一位经验丰富的业余无线电操作员来解码。我无法用软件解码100米的信号。
以1Gbps发送数据流也会在125 MHz处产生可检测到的信号变化。可能还有其他频率的信号更易读,但设备可以接收到125兆赫的信号。这可能是通过在生成分组时加载电源电压来实现的。电压的变化可能会略微改变某些时钟的频率,从而产生FSK(准确地说是F1a)。请注意,这并不适用于所有硬件,这可以用接口负载调制频率的假设来解释。
大流量代表逻辑1,而没有流量代表逻辑0。
传输被实现为一个简单的bash脚本,它发送作为参数提供的短文本文件的内容,如果没有提供,则发送“etherify demo”。该信号可以在125 MHz左右以莫尔斯电码的形式接收,请在接收器中使用USB或CW模式,并使用窄带滤波器,也可以使用AM模式。
确保两个覆盆子PI已连接,并且它们之间有以太网链路(通过LED发出信号)。将一个Raspberry PI设置为192.168.1.1/24,将另一个设置为192.168.1.2/24(IP地址可以在etherify2脚本中更改)。确保两个树莓PI具有IP连接并且可以相互ping通,并且接口速率为1Gbps。
通过简单的莫克森定向天线和业余无线电接收器,信号可以在30米远的地方用耳朵进行解码。
所使用的设备和以太网电缆类型不同,射频辐射也不同。为了使这个演示可重现,我使用了两个Raspberry PI 4,因为它使每个人都可以很容易地获得用于这个实验的确切硬件。树莓PI是通过官方提供的树莓PI 4初学者工具包提供的以太网线连接起来的。使用的是入门工具包中SD卡上提供的普通Raspbian 10操作系统。这些设备是通过串行控制台访问的。
电力是通过电力银行提供的。这是为了避免与电源电压连接,因为电力线可能是无意中的散热器。
信号是通过125 MHz的莫克森天线和带有500赫兹连续波滤波器的YAEU FT-817收发机接收的。摩尔斯电码是通过耳朵接收和解码的。
这些实验可以在其他带有以太网端口的设备上重复进行,例如两台笔记本电脑,运行任何Linux发行版并安装所需的工具(大多数设备都会提供现成的工具)。这些设备应该能够在交换速度之后非常快地建立以太网链路。SDR接收器可以用于接收,任何天线都可以接收125 MHz(首先在近距离测试)。莫尔斯电码译码可以通过软件完成,例如fldigi[3]。
最简单的接收设置可能是带有RTL-SDR加密狗的GQRX,以及用于决定信号的Fldigi。如果信号没有被解码,它应该播放给可以通过耳朵接收摩尔斯电码的人。通常情况下,这样的人能够很容易地破译它。
实验应该首先在电磁安静的区域进行,附近的以太网网络会产生很多干扰。如果在其他以太网附近进行测试,请将天线移动得更近,并尽可能降低接收器增益。
通过简单的天线和适中的接收器,可以在100米处(醚化1)和30米(醚化2)用耳朵来解码信号。具有更大增益和更好接收器的天线肯定会产生更大的射程。
附近的以太网网络在相同的频率上会产生大量干扰。125兆赫的频率落在108-137兆赫的空中频段,人们可以预料到来自附近飞机和机场的强信号对附近频率的干扰。因此,首先应在干扰较小的区域进行测试,如室外区域或地下停车场。
选择125 MHz频率是因为有可用的设备。一个人很难拿着和操作天线、笔记本电脑和SDR接收器。其他频率可能更好。
Etherify 1可以提供更好的范围,但是Etherify 2可以使用网络中其他位置的设备作为发送器。该设备可能在物理上更靠近接收器,或者可能具有更大的以太网电缆泄漏。通过向网络发送UDP数据报或可能的其它数据,可将Etherify 2用作非根用户。
我没有对类似的以前的出版物进行过广泛的搜索,但几次快速搜索都没有找到任何结果。如果你知道什么,请告诉我。
如果您引用这一点,请包括网页地址和属性Jacek Lipkowski(SQ5BPF)。电子邮件可以发送到my_callsign@this_domain。