不少朋友都在Q公司干过,所以我对Q公司防员工如防贼的政策早有耳闻。后来有幸参观了一次,果然是名不虚传。
我在Q公司看到的计算机基本都是Dell,和一般Dell台式机的不同之处就是软驱被拆了,机箱后面有一个钢制挡板,所有的USB、串口、并口、PS/2口统统被锁在里面,别说机箱打不开,连键盘鼠标都拔不下来。员工上网一律走HTTP代理,出口数据完全被监控,只要有某个机器上行流量稍微大一点,或者数据有些异常,立即就会有人来检查你在干什么。
以我这样恶毒的心灵,见到这种玩意自然会心生邪念,琢磨一下怎么绕过鬼子的封锁,把粮食送到八路手上,就算一个Brain Storm吧。
先设定三个框架:
一、计算机可以上网访问WEB,可以下载编译器、源代码以及所需要的任何东西。
二、数据不可以通过网络发送出去。
三、隐匿性。即数据传输过程不容易被发现。
我想了这几种方案:
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转换成键盘灯的明和灭,然后用一个接收器将明灭信号再还原为数据。
这个方法隐蔽性很好,谁也不会注意你是不是把“收音机”或者“手表”放在键盘灯上,但是传输速率很慢,另外需要制作一些硬件。
事实上,在计算机屏幕上建立一个N x M的点阵来传输信号比键盘灯速度快的多,不过那样就没有隐蔽性了。
4、光驱
普通光驱自然是不能刻录普通刻录光盘的,但能否刻录特制的光盘呢?譬如用只需较低温度即可引起变化的染料来制作的光盘。这种低温染料光盘的寿命可能很短,但是可以把数据带出来。当然,这只是我的一个想法,完全没谱,我也没有试验条件去检验。
上面几条中,PC Speaker的方案我认为是最理想的。