作者:
火絨安全
·
2016/04/22 18:45
0x00 背景
“白名單“,即一系列被信任的物件的集合,與”黑名單“對應,通常被用來實現”排除“類的邏輯。在安全領域中,”白名單“通常被用來最佳化對信任物件的分析邏輯或解決查殺、攔截邏輯所產生的誤報等。
然而,在國內的安全圈裡有一種“非白即黑“的說法,即透過統計學演算法等極為寬泛的啟發邏輯對待檢測樣本進行”掃描“,並透過高覆蓋率的”白名單“雲(即通常所說的”白雲“)來壓制這類啟發演算法所帶來的誤報。這種邏輯並不難理解,因為”白檔案“的數量遠遠多於”黑檔案“,所以如果忽略誤報的問題,“用白名單報毒“顯然可以”有效“提高”檢測率“。這就不難理解,為什麼我們常常會在網路上看到某某安全軟體的使用者反映”為什麼我自己剛剛編譯的程式就被某某安全軟體報毒?“這樣的問題了。
另外,一些安全軟體還會利用“白名單“來”最佳化使用者體驗“,例如對”白名單”程式的行為不作分析、攔截等等。
然而,(對“白名單”的)“信任”往往伴隨著漏洞,這些漏洞可能來自程式邏輯,甚至可能源於人性。由於“信任”機制所產生的漏洞,我們通常稱其為“信任漏洞”。病毒作者通常會試圖利用安全軟體的“信任漏洞”,想方設法利用在安全軟體”白名單“內的程式來實現惡意行為。我們稱這類技術為”信任利用“(Trust-Exploitation)技術,也就是坊間常說的”白加黑“。前段時間新聞報導過的病毒作者透過賄賂某安全軟體廠商人員,將自己的病毒程式加入的安全軟體的”白名單“,正是出於這個目的。
最近火絨的”軟體安裝攔截“截獲了一個名為”光速桌面搜尋”的靜默安裝包(圖1、圖2),它就是試圖透過“信任利用”技術來靜默推廣安裝多款軟體。
圖1、"光速桌面搜尋"靜默安裝包
圖2、火絨“軟體安裝攔截“提示
0x01 分析
這個”光速桌面搜尋”的靜默安裝包(後文簡稱“光速桌面搜尋”)執行後會釋放一個名為qdw.exe的檔案,透過檢視檔案資訊,發現該檔案有合法的金山數字簽名。透過分析,不難發現這個qdw.exe其實是WPS的升級程式(圖3、圖4)。
圖3、檔案描述資訊
圖4、合法的檔案簽名
接下來,“光速桌面搜尋”透過這個WPS升級程式支援的命令列引數,來實現後臺推廣軟體下載和執行。如圖5、圖6所示:
圖5、“光速桌面搜尋”利用WPS升級程式進行流氓推廣
圖6、“光速桌面搜尋”利用WPS升級程式進行流氓推廣
由於這個”WPS升級程式“是透過命令列引數來獲取下載連結的,使得別人可以輕易的修改下載地址,而且該程式對下載連結和下載後的的程式沒有驗證安全性,導致了可以下載執行任意程式。由於這個2011年簽名的WPS升級程式早已被各家安全軟體收入”白名單“,才被“光速桌面搜尋”用來施展“信任利用“技術,堂而皇之地進行流氓推廣。
0x02 延伸
透過金山的數字簽名,我們發現這個WPS升級程式產生於2011年。經過這幾年的發展,還會不會有正規軟體存在這樣的漏洞呢?
透過火絨安全情報分析系統,我們發現存在此類漏洞的軟體並不止金山一家,騰訊影片、QQ影音、PPLive等軟體均存在此類程式設計漏洞,病毒作者可以透過上述軟體的程式元件下載並執行任意程式。如圖7、圖8、圖9所示:
圖7、騰訊影片推廣程式命令列
圖8、QQ影音推廣程式命令列
圖9、PPLive推廣程式命令列
騰訊影片在安裝的時候會可選的推廣一些第三方軟體(圖10),而出問題的就是下載安裝包的程式St******cs.exe
。該程式沒有對引數的合法性進行驗證,只要按照引數格式替換掉下載連結,該程式就會全自動地完成下載、執行(圖11)。圖12所示的網址是我搭建的一個測試伺服器,我在這個伺服器上傳了一個微軟的計算器程式,之後將St******cs.exe
程式複製到C盤根目錄,新增引數執行,計算器程式被成功下載並執行。
圖10、騰訊影片推廣第三方應用
圖11、騰訊影片透過St******cs.exe
程式下載並執行推廣包
圖12、騰訊St******cs.exe
漏洞測試
透過分析St******cs.exe
,我們發現該程式在獲取到命令列引數後,會去查詢”-b***url
”引數,如果找到就會獲取引數提供的下載連結,但並沒有去校驗下載連結的合法性,就將其交給下載函式。如圖13所示:
圖13、騰訊St******cs.exe
獲取下載連結
在下載函式中,我們可以看到,在下載函式中該程式也沒有校驗連結的合法性,就直接建立目錄並聯網進行下載了。(如圖14)
圖14、騰訊St******cs.exe
下載並執行程式
PPTV在安裝時會也靜默推廣第三方軟體,PPTV會在安裝時釋放一個L****r.exe
的程式來下載安裝包,該程式帶有合法的PPTV的數字簽名(如圖15所示)。透過測試該程式也沒有校驗下載連結和下載的程式的安全性,只要修改命令列引數,發現該程式也可以按照任意指定的下載連結下載程式並執行(如圖16所示)。
圖15、PPTV的下載程式
圖16、PPTV漏洞測試
經過簡單分析,我們發現該程式和騰訊的下載程式一樣,都只是簡單的獲取引數中的下載連結後,直接下載並執行的程式,並沒有任何的安全性驗證(如圖17、18所示)。
圖17、PPTV L****r.exe
獲取下載連結、拼接儲存檔案路徑
圖18、PPTV L****r.exe
下載並執行任意程式
0x03 綜述
根據火絨安全情報分析系統統計到的攔截資料,我們發現有很多軟體均存在本文中提到的設計漏洞。有些程式甚至已經被病毒或流氓軟體作者所利用,透過軟體的設計漏洞,利用安全軟體的“信任漏洞”來躲避安全軟體的查殺和攔截,進而執行惡意或流氓行為。
在這裡,火絨呼籲:
- 安全軟體廠商應從技術上提升對攔截和查殺的準確度,合理地利用“白名單”,從邏輯和機制上避免“信任漏洞”的產生;
- 軟體廠商也應提高程式碼安全意識,對於程式獲得的輸入資料應進行有效的合法性判斷,避免程式的功能邏輯被惡意利用成為犯罪者手中的“刀具”;
本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!