有一位名叫Mordechai Guri的以色列研究员,善于利用一些特别的技巧从未联网的电脑中提取信息。他和他的团队曾在今年6月通过计算机风扇的噪声,成功获取到离线计算机中的数据。而这一次,他又成功利用了射频传输技术,通过USB 2.0接口,实现了从离线PC上获取数据信息。
这种新技术名叫USBee。其工作原理是首先将装有攻击软件的USB设备插入PC中,植入恶意软件;之后将USB接口当成RF射频发射器来用:具体方法是调制发往USB设备的高速数据流,这样就可以直接利用USB本身向外发射无线电信号了。传输信息的逻辑并不复杂,比如240MHz-480MHz区间内的电压辐射用来表示“0”——这样就能够按照所发出的不同的频率组合以0101的方式把数据传输出来。
外部接应的接收器可以通过接收到的信号频率变化,还原出相对应的数据信息。具体实施中,若要传出密码或者加密密钥,可以利用二进制移频键控(B-FSK)将二进制数据信息调制成波。通过接口数据针脚的快速电压变化就能形成相应的载波。
据Guri的估算,USBee的无线发出速度(80比特/秒)足以在十秒内发送一个4,096位的加密密钥到附近的接收机。
可以使用以下函数创建基本载波:
- inline static void fill_buffer_freq
- (u32 *buf, int size, double freq)
- {
- inti = 0;
- u32x = 0;
- double t = freq / 4800 * 2;
- for(i = 0, x = 0x00000000; i<size*8; i++)
- {
- x= x<<1;
- if ((int)(i*t)%2==0)
- x++;
- if((i%32)==31)
- {
- *(buf++) = x;
- x=0x00000000;
- }
- }
- }
之后,只要用户有“写文件”的权限,就能够将结果Buffer写入移动设备中,来生成发射信号。
Guri和他的团队在这周刚发出的研究报告中称:
“实际的数据传输过程是:函数fill_buffer_freq()将接收到的buffer生成byte pattern,再写入USB的任意数据模块和数据流中”。
“这个传输过程不需要很高的权限,只要可以在移动设备上创建文件夹即可。”
视频中,Guri的团队展示了如何利用一台笔记本电脑,再加上30美元的无线电天线,在距离15英尺远的地方就能接收到数据。这次实验说明这种全新的USBee技术可以用来实施暗中监视。无论是在酒店的隔壁房间,还是拥挤的办公室。
这是一次有趣又实用的入侵行为。当然,想要完成这次入侵,首先要让恶意软件能够接触到未联网的电脑,即将安装了恶意软件的USB插入PC;同时,还需要在没有人注意的情况下离这台PC足够近,才能够接收到有效信号。总之,只要你贿赂对了人,威胁了合适的人,准确利用了安全平台(OPSEC)的漏洞,那么将目标代码编入到目标机器也不是不可能的。