技术篇之二·后门
360后门秘道:“上帝之手”,抑或“恶魔之手”?
“作为宣称‘最安全的浏览器’的360安全浏览器,被发现存在极大潜在安全威胁的‘后门’。毫无疑问,‘独立调查员’是第一人。即使给他颁发一个国家级的科技发现奖也不为过。而且,多少年后,人们一定会感谢这位幕后的英雄,为了广大用户的上网安全,做出了卓越的贡献。”百度安全部门的相关负责人如此评价360安全浏览器“后门”发现者。
按照独立调查员的理解,所谓360的后门,不仅存在于360安全浏览器,也存在于360安全卫士。他说,“你这样来看,在你的小区,保安说,因为安全的需要,你们要将房门的钥匙放一把在我身上,我可以随时来检查你家庭的安全。这本身已经非常大的不安全了,但你更不知道的是,这个保安公司,还在地下挖有一条通道,可以直接从地下通过地道悄悄进入你的房间。而这个地道,就是后门。”
360后门秘道浮出水面/
2012年10月,当时“方周大战”正酣,独立调查员才注意到了360安全产品,因为他一直是裸机,从未想过要关注360。但这一关注,他敏锐地发现,360“非常异类”——许多行为不仅是反安全的,甚至是“反人类的”。
独立调查员特意在用于测试的虚拟机中安装了全套360产品,并由此发现360产品的许多 “不规矩行为”,他随手将这些发现发布在微博上,立即引起许多关注,但也遭到一些人的攻击。“有些人明显就是360的人在挑衅,这激怒了我,我这人不喜欢耍嘴皮子,我是软件专业人员,我只讲证据”,独立调查员如此说。
独立调查员发现,360浏览器网络通信有非常异常的情况,“最开始只是发现其时间周期性:每隔5分钟,浏览器就主动发起一次与服务器之间的通信过程,虽然不知道在干嘛,但其短周期性非常可疑。”
为什么不打开任何网页、不动键盘和鼠标,360浏览器依然忙个不停呢?“国内外所有的知名浏览器都不会存在这样的行为模式。可以肯定,此中必有蹊跷”。
于是,他继续追查,虽然下载的文件名是文本文件(ini),但当他把数据包拼接成文件后一看 (当时尚不知道服务器IP地址对应域名,受服务器限制未能通过网址直接下载文件,也尚未注意到文件被暂存于临时文件夹),实际是个DLL(可动态加载的程序模块)。“以我的知识和经验,很快意识到问题的严重性——以更新配置文件为耳目、周期性下载并加载执行小程序——这是一个后门。至于360利用它做什么、曾做过什么并非重点,重点是他们可以做任何事而不为人知、不留痕迹。”
于是,他于去年10月29日通过微博对外公布了360浏览器有后门的事实,同时公开向工信部、公安部发出了一封名为《公开举报奇虎360公司——致工信部、公安部公开信》的举报信。
《每日经济新闻》记者注意到,在这封举报信中,独立调查员直接斥责道:“奇虎360公司的 ‘360安全浏览器’暗藏‘后门’,是用户系统安全和信息安全的严重潜在威胁”。
他举证说,360安全浏览器实为C/S架构木马系统的客户端,服务器群是se.360.cn(云架构,IP地址不定)。浏览器每隔5分钟即向服务器请求新的“指示”。新的指示伪装成Ini(纯文本文件类型)发出,实际上是DII文件(Windows可执行程序库或资料库)等。
此事一石激起千层浪。不过,具有挑战的是,独立调查员的分析结果仅仅是网络分析,是“后门”机制的初步证据和技术推断,而非直接的铁证。正是因为这样,360开始在网络上对其进行质疑、攻击,甚至嘲讽。
“他们以为我只会网络抓包呢!”独立调查员表示。于是,为了做实360的后门机制,他决定反向分析浏览器本身的程序库,并详细分析出“后门”机制的内部执行流程。
然而,这并非一件容易的事情。“因为没有软件源程序、更没有设计文档,所以分析难度相当大。给你个软件,只能进行其公开可见的操作,而内部运作却完全是个黑洞。”独立调查员表示。
源程序(源代码)自然没有。而要通过反向工程来破解,难度相对较高,也非常浪费时间。何况360浏览器软件规模不小,而且还有很多内置的扩展程序。
“我首先用排除法把扩展组件挨个干掉,我删掉一个扩展组件,如果后门机制还在,说明与这个扩展组件无关。”独立调查员最开始的直觉是后门应该在扩展程序里面,因为主程序要送检,但是当独立调查员把可见的扩展程序全部删掉后,后门还在,于是他开始删(对普通用户)不可见的扩展组件。
“通过排除法,最后确认是扩展组件SmartWiz在搞鬼。删掉它以后,浏览器就安静了,那个5分钟一轮的上传下达活动消失了。”
不过,还没有结束。为了进一步查明360后门真相,独立调查员还需要反向编译出汇编代码并跟踪测试。
通过一系列技术过程,独立调查员掌握了360浏览器在SmartWiz整个组件里与360服务器间建立通信、下载、临时存储、加载执行、删除(销毁证据)的流程,同时也知道了其时钟控制调度机制(5分钟间隔定时器)。