在没有无线电传输硬件的计算机上进行无线电传输

时间:10-15来源:作者:点击数:
城东书院 www.cdsy.xyz

计算机技术专家威廉·恩特里肯(William Entriken)创建了一个C语言库,即使设备没有任何无线电传输硬件,也可以使计算机发射无线电波。

图片

程序名为系统总线广播(System Bus Radio),使用C语言编写,通过代码使计算机的CPU在某些频率下发出电磁辐射。

这种辐射足够强大,可以穿透计算机的屏蔽层,并且通过精确的CPU数据处理时序,能够将这些辐射转化为携带信息的无线电波,从目标计算机中传输出去。

目前,这种攻击仅在两米范围内有效。在测试过程中,恩特里肯表示,他成功地在两米范围内传输了《玛丽有只小羊羔》这首歌,如果计算机和接收天线之间有一堵墙,传输距离则缩短到一米。

恩特里肯先生使用了一台普通的索尼STR-K670P收音机进行测试,他解释说,他在AM波段的1580 kHz频率上接收到了无线电波,但这个频率可能会因距离和发射计算机的硬件而有所不同。

“目前还没有人使用定向天线,”恩特里肯先生在接受Softpedia采访时表示。“这应该能够将传输范围增加三倍。”

“此外,还没有人尝试过放大器,我们用的设备非常便宜,”他补充道。“如果使用更好的设备,可能会取得更好的结果。不同型号的计算机发出的辐射强度不同,但到目前为止,几乎每台电脑都能发出信号。”

电磁辐射之前曾被用于数据泄露攻击。目前,系统总线广播仅是一种理论攻击,但随着更多细节的汇集和算法的优化,这种方法有可能成为从物理隔离的计算机中提取数据的复杂手段。

过去,其他研究人员也曾研究过使用电磁辐射从附近设备中提取数据的可能性。最近,特拉维夫大学的一组研究人员就曾进行过这样的实验,他们通过墙壁从另一间房间的计算机中提取了加密密钥。

项目名称

system-bus-radio 系统总线无线电

作者 fulldecent

项目地址

https://github.com/fulldecent/system-bus-radio

项目简介

该程序在没有无线电传输硬件的计算机/手机上传输无线电。

一些计算机有意与世界其他地方断开连接。这包括删除他们的互联网、无线、蓝牙、USB、外部文件存储和音频功能。这称为“气隙隔离”。即使在这种情况下,该程序也可以传输无线电。

系统利用计算机系统总线的设计,无需其他任何广播硬件即可传输AM广播。

公开可用的文件已经讨论了使用各种电磁辐射从安全系统中泄露。美国国家安全局和美国国防部发布的 TEMPEST 指南中记录了这一点。这个项目只是增加了这个讨论。

如何使用

  • • 方式1:在浏览器中试用:http://fulldecent.github.io/system-bus-radio/
  • • 方式2:进入 implementations 文件夹,选择其中任何一个并使用 make 进行编译。
    • • 使用 2015 年型号的 MacBook Air 运行此命令。然后使用带有内置天线的 Sony STR-K670P 无线电接收器,并在 AM 上将其调谐到 1580 kHz。
    • • 您应该会听到反复播放的“Mary Had a Little Lamb”曲调。其他设备和调音也可能有效。在上面的设备上,作者已经实现了超过 2 米露天或 1 米石膏板隔离的清晰传输。使用不同的设备可以实现不同的结果。
    • • 您是否使用天线?一开始,作者将天线直接放在数字 4 键的顶部,效果最好(在任何 AM 频率上)。那是一根圆形天线。不同的硬件肯定会有不同的频率响应。

技术说明

该程序在计算机上运行产生电磁辐射的指令。发射的频率范围很广。要被无线电接收,这些频率必须:

  • • 由计算机处理器和其他子系统发出
  • • 突破计算机电磁屏蔽
  • • 穿过空气或其他障碍物
  • • 被天线接受
  • • 由接收方识别

通过反复试验,发现上述频率非常适合该设备。

实际的 emissions 是由写入内存地址的 _mm_stream_si128 指令引起的。使用此说明的灵感如下:

Guri, M., Kachlon, A., Hasson, O., Kedma, G., Mirsky, Y. 和 Elovici, Y., 2015。GSMem:通过 GSM 频率从气隙计算机中泄露数据。第 24 届 USENIX 安全研讨会 (USENIX Security 15)(第 849-864 页)。https://www.usenix.org/node/190937

请注意,将 _mm_stream_si128 替换为简单的 x++; 也可以。笔者的经验是,_mm_stream_si128 会产生更强的信号。可能还有其他效果更好的想法,如果改进此方法以使其更具可移植性(不需要 SSE 扩展)会很好。

该程序使用方波调制,如下所示:

图片

其他信息

作者:Jose Fritz

系统总线广播程序利用计算机系统总线的设计,无需其他任何广播硬件即可传输AM广播。当我第一次听说系统总线广播时,我认为它的发明者一定是天才黑客。事实证明我是对的。

系统总线是连接计算机系统主要组件的单一总线。这些组件包括中央处理器(CPU)、内存和输入/输出(I/O)。它结合了数据总线(用于传输信息)、地址总线(决定信息发送的地址)和控制总线(决定操作)的功能。"系统总线"这一术语涵盖了所有相关硬件、组件、电子线路和软件。(早期的计算机总线是平行电线。)如果你还不明白什么是总线,可以点击这里了解更多。最初编写机器代码的天才是威廉·恩特里肯,他很友好地同意接受Arcane Radio Trivia的简短采访。

JF: 是什么让你想到要把你的Macbook改造成一个广播电台?

WE: 首先,我意识到这是可行的。一天,我坐在地下室里,那里有一个真正的收音机,在如今这个时代,这已经很难让人相信了。我确实听AM广播,但在那里接收效果非常糟糕。有些电台晚上仍然会关闭。我开着收音机,当然[频率]就变得寂静无声了,而当我进入那个房间时,声音变得更大了。我意识到这是来自电脑的干扰。我想,哇,这么强的干扰居然能被捕捉到。我只是很幸运,因为它只在某些频率上有效……这就是这个想法的开始。

JF: 你能解释一下你利用了哪些组件来发射信号吗?

WE: 我认为是处理器(CPU)和内存(RAM)之间的连接。在那里有很多空间。基本上你想要的是没有屏蔽的东西。如果连接有屏蔽,你就无法得到任何外泄的信号。处理器是用钢包裹的,外面不会泄漏任何东西,电线只有两个原子宽,非常密封。内存也是如此,内存的密封非常严实。但在处理器和内存之间是系统总线。理想情况下,你可以把一些东西推到系统总线上,发射信号就从那里来。总线的屏蔽较少。你不需要在系统总线上使用14纳米宽的电线,因为总线上没有那么多复杂的工作。

JF: 现场测试表明它可以在各种设备上工作。

WE: 这真的很令人兴奋。它登上了一些葡萄牙的网站,然后又上了Hackernews,事情变得很大。许多人参与进来,他们来自世界各地,包括日本和欧洲各地。有趣的是,他们在日本、欧洲、美国使用不同的广播电台和设备。幸运的是,我们在短波、长波和AM上进行了不同频率的测试,结果很棒,因为你不测试的话是不会知道的。

JF: 听起来我们正在探索这些设备上的不同系统总线。

WE: 是的!所以你是在把很多事情结合在一起。你对系统总线的影响有多大?你的系统总线的射频发射范围是多少?一旦它击中了你的系统总线,它必须穿过你的外壳。你的外壳也有屏蔽。在开放的系统中辐射比封闭系统更强。即使是同型号的电脑,不同年份的设计可能也会不同。美国国家安全局(NSA)有一个关于这方面的文件,叫做Tempest。

JF: Tempest?

WE: 他们很早以前就研究过这些问题,并且详细研究过。Tempest是一个缩写,它对每一个接近电流的组件都有标准。所以你可以查阅这些标准,看看它们是否获得批准,当然这些标准是没有的,因为它们的泄漏非常严重。

JF: 我读到了控制传输的脚本。它是如何调节音调的?

WE: 实际上只有两个部分,其中一个是调制,它非常简单,就是开—关,开—关,开—关。你所做的就是这些。“关”希望只是使用休眠信号。计算机有一个休眠命令,希望它就只是等待。这已经足够精确了,然后是“启动”信号。这就是时间控制。这就是它只在AM上有效的原因。这就是你的AM载波。

JF: 那“开”信号呢?

WE: 程序的另一半是“开”部分,这实际上是比较难的部分。理想情况下,基线状态是计算机处于休眠状态,最好它的辐射特征与非休眠状态有明显不同,你希望两者之间的对比尽可能大。问题是,当你写程序时,没有“制造噪音”的功能。所以我们通常会写一个循环,I=1,然后I=2,I=3……一直到一百万。结果,编译器因为太聪明,跳过了这些步骤。最终,计算机实际上没有在做什么工作,但它告诉你它做了。它们实在是太聪明了。所以我们必须找到一些编译器不会跳过的东西,我们希望它从内存中加载内容。但计算机很懒,它们不愿意从内存中加载数据,除非非做不可。因为这很费时费力。所以它们会缓存数据。你会从内存中获得数据,但随后会在处理器中保留一个剩余的副本。同样,这意味着数据会从处理器中加载,而处理器不会泄漏任何信号。我们希望它能不断地从内存中加载内容,而计算机非常不喜欢这样做,并且会尽一切努力避免这么做。

JF: 那你是怎么解决这个问题的?

WE: 我们找到的一个方法叫做“打破缓存(break-cache)”。它会绕过[CPU]缓存,直接从内存中加载你想要的数据。这是一条非常特殊的指令,我甚至不知道为什么它存在,但这就是我们使用的方式。所以它会将数据从内存通过系统总线传输到处理器。

JF: 你在此之前有无线电相关的背景吗?

WE: 我有一个工程学位。我在维拉诺瓦大学学习电气和计算机工程。我习惯了拆解和构建东西。

JF: 你知道维拉诺瓦有一个校园电台吧……

WE: 我曾经在那个电台上工作,叫做WXVU。我的节目叫做“V-Spot”。我们有一些卡片,上面是社区公告,我们必须读出来。没有任何预录内容,所有东西都非常低成本,想做什么就做什么,带客人来,带你的室友来,一切都即兴发挥,非常有趣。

JF: 最后还有什么想说的吗?

WE: 能聊这些话题真的很棒,知道其他人也关心这些事情,关心拆解、尝试和制作东西。这会成为未来消失的技能。你不能打开iPhone,但你可以用螺丝刀拆开收音机。这真的很遗憾……我过去常常把东西拆到无法再使用为止,然后再找更多东西拆……我希望你的博客能激励大家。我希望你能培养出工程师,而不仅仅是历史专业的学生。

JF: 我也希望如此。

城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐