我在Q公司看到的计算机基本都是Dell,不同之处就是机箱被铅封,软驱被拆了。机箱后面有一个钢制的挡板,所有的USB、串口、并口、PS/2口统统被锁在里面,连键盘鼠标都拔不下来。员工上网一律走HTTP代理,出口数据完全被监控,只要有某个机器上行流量稍微大一点,或者数据有些异常,立即就会有人来检查你在干什么。
以我这样恶毒的心灵,见到这种玩意自然会心生邪念。
1、声卡
声卡也是一个可以进出数据的设备,只要耳机和话筒插口还在,我们甚至可以用普通的音频线在两台机器间建立TCP/IP连接。我冥冥中觉得这种东西肯定有人搞过,于是就到网上找了找,果然就找到了:
http://www.baycom.org/~tom/ham/soundmodem/
如果能建立TCP/IP连接,那自然什么都能干,就是有点不方便,因为动静太大,至少需要一个笔记本或者PDA,还要插线。
还有个折中的方案,就是把要传输的数据调制成普通音频文件,这样用MP3接到声卡上就可以录下来。
2、PC Speaker
我并不确认Q公司没有把计算机的音频接口拆掉,所以声卡那个方案虽然比较理想,但未必能用。但是我想他们还不至于丧心病狂到把PC Speaker也拆了。
现在的主板一般都自带PC Speaker,其实就是一块钱一个的蜂鸣器。我以前搞无线电的时候用过这种东西,它可以发出很高频率的声波,甚至超声波。PC Speaker是可编程的,无论是直接的IO操作,还是调用Beep(),甚至用Qbasic,都可以实现将文件调制的音频以声波的形式辐射出去的目的,而且这个声波人耳是听不见的。
录制下来的数据中自然会包含大量环境噪音,但由于使用了超声来负载数据,所以很容易把噪音滤掉。
3、键盘灯
键盘灯也是可编程的,像这样一个两行的VBS脚本就可以控制CapsLock灯的明灭:
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{CAPSLOCK}"
可以编程将数据的1和0转换成键盘灯的明和灭,然后用一个接收器将明灭信号再还原为数据。
事实上,在计算机屏幕上建立一个二维的点阵来传输信号比键盘灯速度快的多,不过那样就没有隐蔽性了。
闪灯的方法隐蔽性很好,但是传输速率慢,另外需要制作一些简单的硬件。(我觉得用可以拍照的智能手机来干这个应该是没问题的)
4、光驱
普通光驱自然是不能刻录普通刻录光盘的,但能否刻录特制的光盘呢?譬如用只需较低温度即可引起变化的染料来制作的光盘。当然,这只是我的一个想法,完全没谱,我也没有试验条件去检验。
上面几条中,PC Speaker的方案我认为是最理想的。
下面请大家集思广益,想想还有什么好办法。
1、立足于计算机本身,使用的东西容易获得,类似007的那些小设备不考虑。
2、隐秘性,类似用手机拍屏幕的法子就不要想了。
3、数据不通过互联网传输,不管是加密还是伪装。