0x00 背景


“白名單“,即一系列被信任的對象的集合,與”黑名單“對應,通常被用來實現”排除“類的邏輯。在安全領域中,”白名單“通常被用來優化對信任對象的分析邏輯或解決查殺、攔截邏輯所產生的誤報等。

然而,在國內的安全圈里有一種“非白即黑“的說法,即通過統計學算法等極為寬泛的啟發邏輯對待檢測樣本進行”掃描“,并通過高覆蓋率的”白名單“云(即通常所說的”白云“)來壓制這類啟發算法所帶來的誤報。這種邏輯并不難理解,因為”白文件“的數量遠遠多于”黑文件“,所以如果忽略誤報的問題,“用白名單報毒“顯然可以”有效“提高”檢測率“。這就不難理解,為什么我們常常會在網絡上看到某某安全軟件的用戶反映”為什么我自己剛剛編譯的程序就被某某安全軟件報毒?“這樣的問題了。

另外,一些安全軟件還會利用“白名單“來”優化用戶體驗“,例如對”白名單”程序的行為不作分析、攔截等等。

然而,(對“白名單”的)“信任”往往伴隨著漏洞,這些漏洞可能來自程序邏輯,甚至可能源于人性。由于“信任”機制所產生的漏洞,我們通常稱其為“信任漏洞”。病毒作者通常會試圖利用安全軟件的“信任漏洞”,想方設法利用在安全軟件”白名單“內的程序來實現惡意行為。我們稱這類技術為”信任利用“(Trust-Exploitation)技術,也就是坊間常說的”白加黑“。前段時間新聞報道過的病毒作者通過賄賂某安全軟件廠商人員,將自己的病毒程序加入的安全軟件的”白名單“,正是出于這個目的。

最近火絨的”軟件安裝攔截“截獲了一個名為”光速桌面搜索”的靜默安裝包(圖1、圖2),它就是試圖通過“信任利用”技術來靜默推廣安裝多款軟件。

p1 圖1、”光速桌面搜索”靜默安裝包

p2 圖2、火絨“軟件安裝攔截“提示

0x01 分析


這個”光速桌面搜索”的靜默安裝包(后文簡稱“光速桌面搜索”)運行后會釋放一個名為qdw.exe的文件,通過查看文件信息,發現該文件有合法的金山數字簽名。通過分析,不難發現這個qdw.exe其實是WPS的升級程序(圖3、圖4)。

p3 圖3、文件描述信息

p4 圖4、合法的文件簽名

接下來,“光速桌面搜索”通過這個WPS升級程序支持的命令行參數,來實現后臺推廣軟件下載和執行。如圖5、圖6所示:

p5 圖5、“光速桌面搜索”利用WPS升級程序進行流氓推廣

p6 圖6、“光速桌面搜索”利用WPS升級程序進行流氓推廣

由于這個”WPS升級程序“是通過命令行參數來獲取下載鏈接的,使得別人可以輕易的修改下載地址,而且該程序對下載鏈接和下載后的的程序沒有驗證安全性,導致了可以下載運行任意程序。由于這個2011年簽名的WPS升級程序早已被各家安全軟件收入”白名單“,才被“光速桌面搜索”用來施展“信任利用“技術,堂而皇之地進行流氓推廣。

0x02 延伸


通過金山的數字簽名,我們發現這個WPS升級程序產生于2011年。經過這幾年的發展,還會不會有正規軟件存在這樣的漏洞呢?

通過火絨安全情報分析系統,我們發現存在此類漏洞的軟件并不止金山一家,騰訊視頻、QQ影音、PPLive等軟件均存在此類程序設計漏洞,病毒作者可以通過上述軟件的程序組件下載并執行任意程序。如圖7、圖8、圖9所示:

p7 圖7、騰訊視頻推廣程序命令行

p8 圖8、QQ影音推廣程序命令行

p9 圖9、PPLive推廣程序命令行

騰訊視頻在安裝的時候會可選的推廣一些第三方軟件(圖10),而出問題的就是下載安裝包的程序St******cs.exe。該程序沒有對參數的合法性進行驗證,只要按照參數格式替換掉下載鏈接,該程序就會全自動地完成下載、執行(圖11)。圖12所示的網址是我搭建的一個測試服務器,我在這個服務器上傳了一個微軟的計算器程序,之后將St******cs.exe程序拷貝到C盤根目錄,添加參數運行,計算器程序被成功下載并運行。

p10 圖10、騰訊視頻推廣第三方應用

p11 圖11、騰訊視頻通過St******cs.exe程序下載并運行推廣包

p12 圖12、騰訊St******cs.exe漏洞測試

通過分析St******cs.exe,我們發現該程序在獲取到命令行參數后,會去查找”-b***url”參數,如果找到就會獲取參數提供的下載鏈接,但并沒有去校驗下載鏈接的合法性,就將其交給下載函數。如圖13所示:

p13 圖13、騰訊St******cs.exe獲取下載鏈接

在下載函數中,我們可以看到,在下載函數中該程序也沒有校驗鏈接的合法性,就直接創建目錄并聯網進行下載了。(如圖14)

p14 圖14、騰訊St******cs.exe下載并運行程序

PPTV在安裝時會也靜默推廣第三方軟件,PPTV會在安裝時釋放一個L****r.exe的程序來下載安裝包,該程序帶有合法的PPTV的數字簽名(如圖15所示)。通過測試該程序也沒有校驗下載鏈接和下載的程序的安全性,只要修改命令行參數,發現該程序也可以按照任意指定的下載鏈接下載程序并運行(如圖16所示)。

p15 圖15、PPTV的下載程序

p16 圖16、PPTV漏洞測試

經過簡單分析,我們發現該程序和騰訊的下載程序一樣,都只是簡單的獲取參數中的下載鏈接后,直接下載并執行的程序,并沒有任何的安全性驗證(如圖17、18所示)。

p17 圖17、PPTV L****r.exe獲取下載鏈接、拼接保存文件路徑

p18 圖18、PPTV L****r.exe下載并執行任意程序

0x03 綜述


根據火絨安全情報分析系統統計到的攔截數據,我們發現有很多軟件均存在本文中提到的設計漏洞。有些程序甚至已經被病毒或流氓軟件作者所利用,通過軟件的設計漏洞,利用安全軟件的“信任漏洞”來躲避安全軟件的查殺和攔截,進而執行惡意或流氓行為。

在這里,火絨呼吁:

  1. 安全軟件廠商應從技術上提升對攔截和查殺的準確度,合理地利用“白名單”,從邏輯和機制上避免“信任漏洞”的產生;
  2. 軟件廠商也應提高代碼安全意識,對于程序獲得的輸入數據應進行有效的合法性判斷,避免程序的功能邏輯被惡意利用成為犯罪者手中的“刀具”;

您的支持將鼓勵我們繼續創作!

[微信] 掃描二維碼打賞

[支付寶] 掃描二維碼打賞