瑞星發(fā)布技術分析報告:360扣扣保鏢存在多后門

2010/11/5 10:47:34    編輯:軟媒 - 笨笨     字體:【

Win7之家airtaxifl.com):瑞星發(fā)布技術分析報告:360扣扣保鏢存在多后門

北京時間11月5日消息,國內(nèi)知名第三方反病毒機構瑞星最新發(fā)布的技術分析報告證實,扣扣保鏢除了擁有其宣稱的11大類可見功能之外,至少還存在4個隱藏功能,這些功能僅針對QQ,且都具有用戶不可見、不可控制等特性。這些隱藏功能隨時處于活動狀態(tài),并且可由360公司遠程開啟。

昨日,曾有媒體報道扣扣保鏢存在四大后門技術,可以隨時遠程開啟。但360對此矢口否認。如今終于得到來自第三方反病毒機構瑞星鐵一般的證實。

以下是報告全文:

360扣扣保鏢為何激怒騰訊?

----瑞星第三方獨立研究報告(一)

2010年10月29日,360公司在京宣布,推出一款名為“扣扣保鏢”的安全工具,全面保護QQ用戶的安全。該工具包括防止隱私泄漏、防止木馬盜取QQ賬號以及給QQ加速等功能。360稱,扣扣保鏢默認不修改QQ任何設置,所有功能都必須由用戶主動選擇觸發(fā),并可隨時啟用和恢復。

瑞星研發(fā)部門通過對扣扣保鏢(1.0.0.1004版本)主要功能實現(xiàn)模塊QGuard.dll進行分析:發(fā)現(xiàn)該軟件除了擁有其宣稱的11大類可見功能之外,至少還存在4個隱藏功能,這些功能僅針對QQ,且都具有用戶不可見、不可控制等特性。這些隱藏功能隨時處于活動狀態(tài),并且可由360公司遠程開啟。

扣扣保鏢4個隱藏功能詳細分析

扣扣保鏢除了界面上的可見功能以外,還存在屏蔽QQ軟件升級、劫持騰訊瀏覽器、屏蔽QQ啟動的特定進程列表、備份并恢復QQ軟件等4個隱藏的功能,它們均由Config.ini文件進行開關控制。經(jīng)分析,該控制文件在扣扣保鏢安裝包中并沒有提供,安裝后也不會自動生成,只可能由360 “云服務器”直接進行遠程投遞(或用戶可以手動生成激活隱藏功能)。也就是說,用戶對于這些隱藏功能均無法控制,而且不了解其激活和生效情況。

技術細節(jié):

用戶使用扣扣保鏢(1.0.0.1004版本)時,它會把自己的主要功能模塊QGuard.dll通過全局鉤子方式注入騰訊QQ進程,并攔截QQ進程的系統(tǒng)調(diào)用ShellExecuteExW和CreateProcessInternalW等,時刻關注Config.ini文件(隱藏功能激活文件),一旦發(fā)現(xiàn)該文件存在,將根據(jù)文件內(nèi)容進行相關隱藏功能的激活動作。

通過對現(xiàn)有的4個隱藏功能代碼分析,我們可以推測Config.ini文件至少存在以下4種開關:

[Main]

DisableUpdate=1 //自動屏蔽QQ升級,導致用戶不知情的情況下QQ軟件無法升級。

DisableBrowser=1 //劫持QQ對瀏覽器的啟動并替換為360”安全”瀏覽器。

Com=<過濾的進程文件名1>;<過濾的進程文件名2>;……

//自動屏蔽QQ啟動指定鏡像名例表的進程啟動。

enable_repair=1 //開啟備份QQ的參數(shù):是否開啟彈框引導用戶備份QQ軟件

MaxNotifyCount = 50 //開啟備份QQ的參數(shù):最多彈框次數(shù)

FirstNotify=1 //開啟備份QQ的參數(shù): QQ啟動后彈框的時間(秒)

以下為扣扣保鏢QGuard.dll 進行WINDOWS API 攔截及API攔截功能實現(xiàn)的相關代碼




扣扣保鏢在QQ IM進程中攔截相關系統(tǒng)API后將實時監(jiān)控QQIM啟動進程動作(用戶不能使用任何功能設置項進行隱藏功能關閉操作)

隱藏功能一:激活后自動屏蔽QQ軟件升級

該隱藏功能影響域:

該隱藏功能激活后,QQ的安全組件、QQ本身等軟件都不能正常更新升級(用戶毫不知情,也不會得到任何錯誤提示),QQ軟件將變成一個“死”軟件。


 

以下為扣扣保鏢QGuard.dll在攔截ShellExecuteExW及CreateProcessInternalW后進行的QQ IM啟動升級進程(屏蔽QQ升級)識別及屏蔽升級部分代碼。


 

如果發(fā)現(xiàn)啟動的是auclt.exe、SelfUpdate.exe和QQSafeud.exe并在Config.ini文件中DisableUpdate=1則將繞開真實系統(tǒng)調(diào)用,使QQ升級進程啟動失效。這些操作將對用戶沒有任何提示!

隱藏功能二:激活后根據(jù)指定進程列表進行QQ啟動程序的攔截

該隱藏功能影響域:

該隱藏功能激活后,將根據(jù)360投送的Config.ini里指定的進程名進行QQ啟動程序過濾。這將讓360可以非常方便進行可控的QQ啟動程序攔截。

扣扣保鏢還會嘗試讀取位于安裝目錄下360\360safe\360QGuard\下的Config.ini中Main主鍵下的Com字段(參照上文所述Config.ini結構)。由于Config.ini在默認安裝情況下不存在,在此無法得知具體需要屏蔽的進程,但是通過分析代碼可以得知此字段為一個由“;”分割的一個進程列表。扣扣保鏢將攔截此列表中所有文件名相同的進程的啟動。

以下為QQ啟動程序屏蔽列表部分代碼



 

以下為:扣扣保鏢QGuard.dll屏蔽列表讀取代碼

除此之外還會在%AppData%的配置文件UserConfig.ini中讀取component字段,其中每一項鏡像名其后的0和1為進程屏蔽開關。

%AppData%\360QGuard\UserConfig.ini內(nèi)容如下:

[component]

<要阻止的文件名及擴展名>=0|1

隱藏功能三:激活后對QQ軟件的瀏覽器進行劫持(替換成360瀏覽器)







該隱藏功能影響域:

該功能激活后,QQ 進程啟動的瀏覽器進程(帶參數(shù)瀏覽URL方式)將被替換成啟動360SE來進行瀏覽(裝著360瀏覽器的情況下)。由于該功能是攔截 API實現(xiàn),所以無論用戶設置的默認瀏覽是什么,也不論騰訊QQ當前選用哪個瀏覽器都將被劫持成360SE(附:該隱藏功能不單可以劫持TTraveler.exe,QQBrowser.exe,還能根據(jù)升級的配置隨時指定劫持的瀏覽器進程名。)

這樣QQ軟件用戶聊天時帶的所有URL鏈接的瀏覽量將都被360SE獲取。

扣扣保鏢QGuard.dll攔截程序,發(fā)現(xiàn)QQ IM啟動的程序為騰訊的瀏覽器(TTraveler.exe和QQBrowser.exe),且Config.ini文件內(nèi)容中有DisableBrowser=1,則將QQ IM啟動的瀏覽器自動替換為360的瀏覽器。

除此之外,通過最后一行Call InitComponent讀取位于%AppData%的配置文件UserConfig.ini中的component項是否有指定名稱的鏡像名,如果發(fā)現(xiàn)也將替換為360的瀏覽器。

隱藏功能四:激活后欺騙用戶對QQ軟件進行備份(并可做恢復操作)

該隱藏功能影響域:

該隱藏功能激活后,將根據(jù)360投送的Config.ini里配置的參數(shù)引導用戶備份QQ軟件到360指定目錄,并可通過扣扣保鏢進行恢復。

在config.ini里填入以上內(nèi)容,在啟動QQ時會出現(xiàn)以下對話框。


在這里可以禁用QQ的自動更新功能。備份按鈕會將QQ的全部數(shù)據(jù)備份到360的配置目錄。如下圖:

相關代碼如下:

分析總結:

由于360扣扣保鏢的這4個隱藏功能針對性極強(針對QQ軟件)并具有:

1、在不被用戶知情的情況下進行破壞其它軟件正常運行的流氓軟件特性。

2、繞開用戶控制隱蔽觸發(fā)的后門功能特性。

3、注入其它進程,修改其正常功能運行方式的外掛特性。

而這些技術手段通常只在木馬、后門、病毒這類惡意軟件上見到,在一款“以安全為名”的軟件上出現(xiàn)并針對正常軟件使用是極為罕見的。這也可以很好地理解為什么360讓它如此短命,騰訊為什么如此憤怒。

附:

從百度百科中查出一些公眾認知的定義:

外掛:外掛一般是指在電腦運行中,一個程序通過某種事件觸發(fā)而得以掛接到另外一個程序的空間里(常用的觸發(fā)事件有鍵盤觸發(fā),鼠標觸發(fā),消息觸發(fā)等),掛接的目的通常是想改變被掛接程序的運行方式。

后門功能:指繞過軟件的安全性控制而從比較隱秘的通道獲取對程序或系統(tǒng)訪問權的方法。

流氓軟件新發(fā)展:新的流氓軟件可能并沒有捆綁插件,新的流氓行為包括故意妨礙其他同類軟件的使用,新的流氓行為包括把自己的流氓行為說成是BUG或者好功能,以此來掩蓋自己骯臟的目的,新的流氓都精通心理學,把用戶的心理研究的透透徹徹,并利用這種心理來做利于自己的事情。

前因后果和最新情況請點擊進入QQ/360專題報道 》》