不久前,Petya勒索病毒變種在烏克蘭爆發,并蔓延到歐洲多個國家的大型企業。病毒攻擊的根源是劫持了烏克蘭專用會計軟件me-doc的升級程序,使用戶更新軟件時感染病毒,從而對眾多企業的系統和數據造成慘重損失。
劫持軟件升級“投毒”并不是新鮮的攻擊手法,國內也屢有發生。但就在Petya勒索病毒變種轟動全球后短短數天時間內,山東、山西、福建、浙江等多省的軟件升級劫持達到空前規模,360安全衛士對此類攻擊的單日攔截量突破40萬次!
盡管國內的軟件升級劫持目前僅僅被利用流氓推廣軟件,但是大規模的網絡劫持、大量缺乏安全升級機制的軟件,如果再加上“商業模式”非常成熟的勒索病毒,無疑會造成災難性后果。
事件還原
近期有多款軟件用戶密集反映360“誤報了軟件的升級程序”,但事實上,這些軟件的升級程序已經被不法分子惡意替換。
下圖就是一例愛奇藝客戶端升級程序被劫持的下載過程:可以看到服務器返回了302跳轉,把下載地址指向了一個并不屬于愛奇藝的CDN服務器地址,導致下載回來的安裝包變為被不法分子篡改過的推廣程序。

圖1 遭302跳轉劫持的下載鏈接
此次被劫持升級程序的流行軟件遠不止愛奇藝一家,下圖就是一些由于網絡劫持而出現的“假軟件”。

圖2被網絡劫持替換的“假軟件”
以下,我們以偽造的百度網盤安裝程序“BaiduNetdisk_5.5.4.exe”為例分析一下惡意程序的行為。
與正常的安裝程序相比,該程序不具備合法的數字簽名,并且體積較大。

圖3被篡改的偽裝安裝程序

圖4正常的安裝程序
通過對比可以發現,兩者在內容上還是有較大差別。兩者只有8.7%的函數內容相同。

圖5偽裝安裝程序和正常安裝程序函數對比
程序最初執行時會從從資源段中釋放一個PE文件并執行,該文件就是程序所偽裝的正常安裝包。因此,該偽裝程序是在運行正常安裝包的同時靜默安裝其他推廣程序。在正常安裝包運行時,本程序會讀取bjftzt.cdn.powercdn.com站點的子目錄下的一個dat文件的內容,dat文件路徑根據安裝程序不同而不同,本文分析的程序“BaiduNetdisk_5.5.4.exe”所讀取的是bjftzt.cdn.powercdn.com/upc/20170329/2A7BF0576BE7380A30B8669182226FBD.dat。程序請求數據包內容如下圖所示:

圖6 請求數據包內容
所讀取的dat文件的內容如下圖所示:

span style="font-size: 9pt;">圖7 dat文件內容span>
dat文件中的內容經過base64+DES加密。DES密鑰經過簡單加密后硬編碼在程序中,下圖展示了DES密鑰的解密過程:

圖8 DES密鑰解密過程
解密后得到的DES密鑰為“eh9ji8pf”。經分析發現多款偽裝程序使用同一個DES密鑰。
之后程序對dat文件的內容進行base64+DES解密,解密函數如下圖所示:

圖9 解密函數
解密后得到的文件內容如下圖所示。不難看出,文件內容為一個配置列表,列表中包括多個需要推廣的應用程序名稱、應用程序下載鏈接、程序啟動參數、卸載對應的注冊表項等信息:

圖10 解密后的dat文件內容
之后程序會從配置列表中選取一個推廣程序的下載鏈接,下載推廣程序并安裝在受害者電腦上:

圖11 下載推廣程序的請求包內容
而以上流氓推廣行為完成后,安裝包會回歸到原始的正常安裝流程,以此來掩人耳目。
根據360安全衛士的持續監控和攔截,該劫持行為從今年3月底就已經開始出現,360一直在持續跟進查殺,近日來則突然出現了爆發趨勢,為此360安全衛士官方微博公開發布了警報。7月4日,也就是在360發布軟件升級劫持攻擊警報后,此類攻擊行為出現了一定程度下降。

圖12 網絡劫持量走勢
根據已有數據統計顯示,受到此次劫持事件影響的用戶已經超過百萬。而這些被劫持的用戶絕大多數來自于山東地區。另外,山西、福建、浙江、新疆、河南等地也有一定規模爆發。

圖13 被劫持用戶地域分布
在此提醒各大軟件廠商,軟件更新盡量采用https加密傳輸的方式進行升級,以防被網絡劫持惡意利用。對于普通互聯網用戶,360安全衛士“主動防御”能夠攔截并查殺利用軟件升級投放到用戶電腦里的惡意程序,建議用戶更新軟件時開啟安全防護。

圖14 360安全衛士攔截軟件升級劫持“投毒”

圖15:VT檢測結果,國內僅360查殺此次軟件升級劫持攻擊樣本
|