技術篇之二·后門
360后門秘道:“上帝之手”,抑或“惡魔之手”?
“作為宣稱‘最安全的瀏覽器’的360安全瀏覽器,被發(fā)現(xiàn)存在極大潛在安全威脅的‘后門’。毫無疑問,‘獨立調查員’是第一人。即使給他頒發(fā)一個國家級的科技發(fā)現(xiàn)獎也不為過。而且,多少年后,人們一定會感謝這位幕后的英雄,為了廣大用戶的上網(wǎng)安全,做出了卓越的貢獻。”百度安全部門的相關負責人如此評價360安全瀏覽器“后門”發(fā)現(xiàn)者。
按照獨立調查員的理解,所謂360的后門,不僅存在于360安全瀏覽器,也存在于360安全衛(wèi)士。他說,“你這樣來看,在你的小區(qū),保安說,因為安全的需要,你們要將房門的鑰匙放一把在我身上,我可以隨時來檢查你家庭的安全。這本身已經(jīng)非常大的不安全了,但你更不知道的是,這個保安公司,還在地下挖有一條通道,可以直接從地下通過地道悄悄進入你的房間。而這個地道,就是后門。”
360后門秘道浮出水面/
2012年10月,當時“方周大戰(zhàn)”正酣,獨立調查員才注意到了360安全產(chǎn)品,因為他一直是裸機,從未想過要關注360。但這一關注,他敏銳地發(fā)現(xiàn),360“非常異類”——許多行為不僅是反安全的,甚至是“反人類的”。
獨立調查員特意在用于測試的虛擬機中安裝了全套360產(chǎn)品,并由此發(fā)現(xiàn)360產(chǎn)品的許多 “不規(guī)矩行為”,他隨手將這些發(fā)現(xiàn)發(fā)布在微博上,立即引起許多關注,但也遭到一些人的攻擊。“有些人明顯就是360的人在挑釁,這激怒了我,我這人不喜歡耍嘴皮子,我是軟件專業(yè)人員,我只講證據(jù)”,獨立調查員如此說。
獨立調查員發(fā)現(xiàn),360瀏覽器網(wǎng)絡通信有非常異常的情況,“最開始只是發(fā)現(xiàn)其時間周期性:每隔5分鐘,瀏覽器就主動發(fā)起一次與服務器之間的通信過程,雖然不知道在干嘛,但其短周期性非常可疑。”
為什么不打開任何網(wǎng)頁、不動鍵盤和鼠標,360瀏覽器依然忙個不停呢?“國內外所有的知名瀏覽器都不會存在這樣的行為模式。可以肯定,此中必有蹊蹺”。
于是,他繼續(xù)追查,雖然下載的文件名是文本文件(ini),但當他把數(shù)據(jù)包拼接成文件后一看 (當時尚不知道服務器IP地址對應域名,受服務器限制未能通過網(wǎng)址直接下載文件,也尚未注意到文件被暫存于臨時文件夾),實際是個DLL(可動態(tài)加載的程序模塊)。“以我的知識和經(jīng)驗,很快意識到問題的嚴重性——以更新配置文件為耳目、周期性下載并加載執(zhí)行小程序——這是一個后門。至于360利用它做什么、曾做過什么并非重點,重點是他們可以做任何事而不為人知、不留痕跡。”
于是,他于去年10月29日通過微博對外公布了360瀏覽器有后門的事實,同時公開向工信部、公安部發(fā)出了一封名為《公開舉報奇虎360公司——致工信部、公安部公開信》的舉報信。
《每日經(jīng)濟新聞》記者注意到,在這封舉報信中,獨立調查員直接斥責道:“奇虎360公司的 ‘360安全瀏覽器’暗藏‘后門’,是用戶系統(tǒng)安全和信息安全的嚴重潛在威脅”。
他舉證說,360安全瀏覽器實為C/S架構木馬系統(tǒng)的客戶端,服務器群是se.360.cn(云架構,IP地址不定)。瀏覽器每隔5分鐘即向服務器請求新的“指示”。新的指示偽裝成Ini(純文本文件類型)發(fā)出,實際上是DII文件(Windows可執(zhí)行程序庫或資料庫)等。
此事一石激起千層浪。不過,具有挑戰(zhàn)的是,獨立調查員的分析結果僅僅是網(wǎng)絡分析,是“后門”機制的初步證據(jù)和技術推斷,而非直接的鐵證。正是因為這樣,360開始在網(wǎng)絡上對其進行質疑、攻擊,甚至嘲諷。
“他們以為我只會網(wǎng)絡抓包呢!”獨立調查員表示。于是,為了做實360的后門機制,他決定反向分析瀏覽器本身的程序庫,并詳細分析出“后門”機制的內部執(zhí)行流程。
然而,這并非一件容易的事情。“因為沒有軟件源程序、更沒有設計文檔,所以分析難度相當大。給你個軟件,只能進行其公開可見的操作,而內部運作卻完全是個黑洞。”獨立調查員表示。
源程序(源代碼)自然沒有。而要通過反向工程來破解,難度相對較高,也非常浪費時間。何況360瀏覽器軟件規(guī)模不小,而且還有很多內置的擴展程序。
“我首先用排除法把擴展組件挨個干掉,我刪掉一個擴展組件,如果后門機制還在,說明與這個擴展組件無關。”獨立調查員最開始的直覺是后門應該在擴展程序里面,因為主程序要送檢,但是當獨立調查員把可見的擴展程序全部刪掉后,后門還在,于是他開始刪(對普通用戶)不可見的擴展組件。
“通過排除法,最后確認是擴展組件SmartWiz在搞鬼。刪掉它以后,瀏覽器就安靜了,那個5分鐘一輪的上傳下達活動消失了。”
不過,還沒有結束。為了進一步查明360后門真相,獨立調查員還需要反向編譯出匯編代碼并跟蹤測試。
通過一系列技術過程,獨立調查員掌握了360瀏覽器在SmartWiz整個組件里與360服務器間建立通信、下載、臨時存儲、加載執(zhí)行、刪除(銷毀證據(jù))的流程,同時也知道了其時鐘控制調度機制(5分鐘間隔定時器)。