机器不联网?利用发热来偷数据

互联网没有绝对的安全,除非你不上网。所以对保密要求高的场合,如军事系统、支付网络、工控系统等往往会采用所谓的气隙系统—即本身与互联网隔绝,而且也不与上网的其他计算机连接。要想攻破这样的系统通常需要能物理访问到机器,利用USB等可移动介质或者通过火线接口直接与另一台计算机连接才有机会。

但这样就安全了吗?

未必。

以色列本古里安大学的研究人员就发明了一种名为BitWhisper的新的攻击方式。攻击者可透过这种方式偷偷从气隙系统窃走密码或密钥,然后传输至附近的受攻击者控制的联网系统,同时还可以通过联网系统发送恶意指令给气隙系统,整个过程只需要机器发热以及计算机内置的热传感器。

下面的这段视频演示的就是通过受控计算机发送指令给附近的气隙系统,然后成功地让后者控制的一套导弹发射装置玩具重新调整了发射方向。


这种处于概念验证阶段的攻击手法要求两台机器都要预先植入恶意软件,目前其数据传输率尚低得可怜:1小时仅能传输8位数据,不过用来传送简单指令或者窃取密码已经足够了。还有一点就是要求两台机器的距离不能太远(40厘米以内),但这个也不是很罕见的情形,因为现实中气隙系统往往就放在联网机器旁边。

目前的成果仅是研究的第一阶段,研究人员下一步打算增加气隙系统与控制机的距离,并提高数据传输率。在演示视频中机器原型采用的是台式机,未来研究人员打算利用物联网设备—如物联网暖风系统或可远程控制的传真机来作为攻击跳板。

原理

我们知道,计算机处理量越大,发热量也会上升。CPU、GPU以及其他主板元件等都会发热。如果在计算机上同时看视频、下载文件和上网,那就会产生大量的热量。

为了监控温度,计算机往往内置了若干的热传感器,一旦发现机器变热会触发内风扇对系统进行散热处理,甚至在必要时关机以避免造成损害。

研究者正是利用这些热传感器来发送指令给气隙系统或者从中获取数据的。整个过程跟摩尔斯电码有点类似,发送方系统利用受控的温度升高与接收系统通信,然后后者利用内置的热传感器侦测出温度的变化,再将变化译成“1”、“0”这样的代码。

比方说,视频中研究人员在预设的时间窗口内将发送系统的放热提高了1°,而接收方系统(气隙系统)由于离发送方系统比较近,所以也会温度升高,其热传感器检测到1°的升高后就知道发送方发过来了“1”;反之,发送方通过降温1°的方式来传送“0”。如此反复几次发送方就能够将指令以二进制的方式传送给控制导弹发射的气隙系统—设想一下,如果攻击者通过这种手段变更了敌方导弹系统的发射方向,其后果将是致命的。

但是计算机本身的温度也是会发生波动的,如何区分正常的温度波动呢?除了设定时间窗口以外,研究人员设计的恶意软件也考虑到这些因素了。而且攻击者还可以将温度的提升控制住合理范围内,这样就不会使得机器过热而引起怀疑。

而且植入的恶意软件还有查找附近PC的功能—受感染机器会定期发射热量ping,以便确定某台受感染机器是否被放置在某机密系统旁边。如果是的话双方就会进行握手,各自以一系列升温1°的发热ping来建立连接。不过如果双方一直都是距离很靠近的话,恶意软件可以跳开握手直接自动在特定时间(比如监控相对薄弱的半夜)内发起数据传输。

传输所需时间受到几个因素的影响,如两台计算机的距离、位置以及摆放等。研究人员尝试了多种场景,比如并排、背对背以及堆叠等。从加热到传输完一个“1”所需的时间大概在3到20分钟。而降温所需时间则要更长。

气隙系统的其他破解之道

通过热交换并非黑气隙系统的唯一方式。之前也有人研究过通过肉耳无法听到的声道、肉眼看不见的光通道以及难以察觉的电磁辐射来传输数据。但是这些手段都是单向的,这意味着只能窃取气隙系统的数据,但是却无法对其控制。

Ben Gurion大学的同一研究团队此前还曾演示过利用无线电及附近手机来窃取气隙系统数据。通过让受感染机器的显卡生成无线电信号,然后发送给附近手机的FM调频接收器,最后再转换为密码等数据。

根据斯诺登披露的消息,NSA也曾运用过这一技术的更复杂版本,不仅窃取了伊朗等国气隙系统的数据,而且还往里面植入了恶意软件。NSA的这种装置叫做Cottonmouth-I,通过与微型收发器的配合,美国的安全机构可以利用RF信号析取目标系统的数据,同时将其发送给远至8英里以外的公文包大小的中继站。

目前尚未有迹象表明NSA利用了这种热传递的技术,与之相比,RF射频显然要有效得多。不过如果以色列研究人员的成果能够更加实用化的话,相信安全机构会盯上的。