现如今,针对离线计算机的攻击方式真可谓花样百出。最近又有一种攻击方式,利用的是计算机中的散热风扇——通过风扇发出的噪声,就能获取到目标计算机中的数据。
其实这种方法算不上新鲜,先前就已经有研究人员发现,有种恶意程序能够利用计算机扬声器发出的低频信息来获取数据。只要在这台计算机附近放一个麦克风,记录扬声器信息就行。这种方式在过去几年中已经被多次证实,是完全可行的。由于离线计算机通常对安全性的要求非常之高,所以很多管理员就干脆把扬声器去掉了。
风扇噪声如何传输数据?
可是扬声器可以没有,CPU散热风扇总不能也去掉吧。以色列本古里安大学的4名研究人员最近就构造出名为Fansmitter的恶意程序,在感染目标计算机之后,数据发送是通过计算机的风扇进行的。
其实这个道理也很简单:计算机世界最底层的数据表达方式无非就是“1”和“0”,Fansmitter恶意程序能够控制计算机的风扇转速,让风扇可以两种不同的转速工作,分别表达“1”和“0”两种状态。1和0的不同组合,可以表达各类数据。
实际上不仅是CPU风扇,Fansmitter也能控制GPU、主板风扇。研究人员认为,以这种方式“发射”数据的有效范围在1-4米内,至于接收设备,同样是麦克风——或者也可以用智能手机一类具备录音功能的设备。
很容易想见这种数据通讯方式有何缺点:用风扇转速来表达数据的效率非常低下——研究人员用1000RPM来表达“0”,用1600RPM来表达“1”。如果转换成速率,那么这种方式的数据传输大约是3比特/分钟,注意是分钟,不是秒。不过研究人员表示,也可以提速,以4000RPM和4250RPM的风扇转速分别用来表示0、1,可以让传输速率达到15比特/分钟。
用风扇噪声来传输数据还有一个缺点,即其产生的声音频率大约在100Hz到600Hz之间,这个声音人耳是完全可以听到的,也就容易被人察觉(尤其是听到很规律的,一会儿高速一会儿低速转)。这个问题可以通过降低风扇转速的方式来缓解,不过噪声越低,录音设备与其距离就要求越短;或者说也可以让用于表达0、1两个数字的风扇转速更靠近,这样不易被察觉,但对数据识别的要求自然也就更高了。
对这项研究有兴趣的同学可以点击这里下载详细的论文。
正在流行的攻击方式
这种采用风扇噪声进行攻击的手法,从本质上来说是可以归结到边信道攻击方法的。这类手法现如今似乎正越来越流行。先前就有以色列特拉维夫大学和以色列理工学院的研究者设计出一种盗取计算机数据的边信道攻击方法。
此后不久,计算机技术专家William Entriken又用C语言编写了一个软件,程序代码可以令计算机中的中央处理器发射出一定频率的电磁辐射。而计算机外壳不足以屏蔽这种频率的辐射信号,配合接收设备,自然就可以做到信息传输了。
只要想得到,从离线计算机进行数据传输绝对不是问题:比如通过视觉(LED灯)、热能(CPU和GPU产生的热)等等都是可行的方案,甚至将计算机的内存总线作为天线,通过蜂窝频率将数据无线传输到接收设备上。