在360推出360隐私保护器不久,就有网友将写字板的文件名修改成QQ.exe。结果360隐私保护器同样认为这是腾讯QQ,还分析出这个改名后的写字板在“泄密”隐私。有意思的如果将360自己旗下的程序文件名修改成QQ.exe之后,在使用360隐私保护器监控查看,还真的没有任何泄密事件发生了。
难道360是这天下唯一不会“泄密”用户隐私的软件公司吗?后来经过专业软件工程师分析,360隐私保护器只是在设计的时候玩了个小聪明,在360隐私保护器开启之后,它会先提取软件的版权信息,如果软件版权信息中有360公司的字样,那么360隐私保护器就会自动“闭眼”,当什么都没有看见。而如果非360公司的版权信息,360隐私保护器则会将所有自己认为“泄密”的信息爆出来。
我们随后做了一个测试,我们先将360软件管理程序的名称修改为QQ.exe,再通过eXeScope或Restorator 这样的PE文件资源编辑工具打开360软件管家,然后在资源编辑软件中找到360软件管家的版权信息部分,将版权信息中部分含有“360”数字的版权信息全部修改替换成任意其他文字后(图1图2图3)。此时再次打开360隐私保护器,并运行我们修改完版权信息的360软件管家,结果此时360隐私保护器果然不再认识自己的同门兄弟,开始疯狂的“曝光”360软件管家“窃取用户隐私”的丑闻(图4图5)。
其实之所以出现这种情况,主要是因为360隐私保护器完全是一个偷换概念的产品。在360隐私保护器主程序“360PrivacyCtrl.exe”启动后会首先调用LoadLibraryW 加载360PrivacyMon.dll 然后GetProcAddress 获取60PrivacyMon.dll的导出函数 StartMonitor 和StopMonitor 的地址 。通过调用StartMonitor实现监控 StartMonitor在内部调用SetWindowsHookExW注册一个WH_CBT的消息钩子,当有新的进程启动时,360PrivacyMon.dll就会被加载到该进程的内存中去。
然后360PrivacyMon.dll会判断一下当前进程的名字是否是QQ.exe。如果是则 inlinehook Kernel32.dll导出的函数CreateFileW拦截QQ.exe对文件的访问。
其实说白了,就是监控QQ程序的CreateFileW动作,但是无奈这个动作时Windows操作系统中所有软件都需要用到的,因此360隐私保护在遇到自家兄弟之后,也无奈的袒露了事情的真相,原来它自己也“不干净”。而且值得玩味的是,360隐私保护器要做到大爆QQ“窥视”信息,它自己必须先通过Hook钩子真正“窥视”QQ在干什么,所以真的就如同耶稣说的那样“你们中间谁是没有罪的,谁就可以先拿石头打她。”
所以从技术上来说,目前的360隐私保护器所使用的技术,根本无法判断出某款软件是否真的窃取了用户的隐私,对于用户而言,这些所谓的窥视数据不过是一些毫无用处的垃圾数据而已。反倒是360在明明知道这些数据并不是自己所宣传的情况下,仍然说这款软件在保护用户的隐私,这种行为实在非常可疑,有恐吓和误导用户之嫌。
做这个试验并不是想打压谁,只是我们认为安全企业心中一定要有个信念,这个信念用兄长教导我们的话就是“惩恶”。用唐伯虎的话说,就是“闲来写幅丹青卖,不使人间造孽钱”。倘若现代社会人人都可以本着这个原则,不使造孽钱,恐怕中国的社会定然翻天覆地现亘古未有之巨变。
博客链接:http://blog.qq.com/qzone/359744/1285809031.htm