前言
本文主要以各家威脅情報中心/在線沙箱在安卓惡意代碼自動化分析能力與基于逆向引擎 Reactor 所研發 incinerator 逆向工具進行分析能力的對比,從而讓大家更加清晰直觀的了解到彼此之間的區別,文章所測試的威脅情報中心均為公開版本(免費),并不代表各個能力平臺的實際狀態,不以偏概全。
測試平臺列表如下:
- 360 威脅情報中心(包括其沙箱)
- 安恒威脅分析平臺(包括其沙箱)
- 安天威脅情報中心
- 綠盟科技 NTI 威脅情報中心(包括其沙箱)
- 啟明星辰 VenusEye 威脅情報中心
- 奇安信威脅情報中心(包括其沙箱)
- 天際網盟 RedQueen 安全智能服務平臺
- 微步在線惡意軟件分析平臺(包括其沙箱)
- VirusTotal(包括其沙箱)
測試惡意代碼樣本如下:
- 樣本名稱:ERMAC
- 哈希值
- MD5:16e991d73049f1ef5b8f5fa0c075ef05
- SHA-256:f4ebdcef8643dbffe8de312cb47c1f94118e6481a4faf4166badfd98a0a9c5d3
ERMAC 是由 BlackRock 移動惡意軟件背后的攻擊者操作的。8 月 17 日,名為“ermac”和“DukeEugene”的論壇成員開始宣傳該惡意軟件。ERMAC 和其他銀行惡意軟件一樣,被設計用來竊取聯系信息、短信、打開任意應用程序,并觸發針對大量金融應用程序的覆蓋攻擊,以刷取登錄憑據。此外,它還開發了新功能,允許惡意軟件清除特定應用程序的緩存并竊取存儲在設備上的帳戶。
摘自 安恒威脅情報平臺
- 樣本名稱:FurBall
- 哈希值
- MD5:6151b1e2e5035a8eb596ce1c37565e87
- SHA-256:0d09d5e46e779d796a8d295043e5bbd90ac43705fa7ff7953faa5d8370840f93
Domestic Kitten,也稱 APT-C-50,據稱是伊朗的一個黑客組織,主要是從受損的移動設備獲取敏感信息,至少從 2016 年起,就一直非常活躍。趨勢科技(Trend Micro)在 2019 年一項分析報告中表示,APT-C-50 可能與另一個名為“彈跳高爾夫”(Bouncing Golf)的黑客組織有聯系。(Bouncing Golf 主要針對中東國家進行網絡間諜活動)。
摘自 Freebuf
橫向分析對比
本文將會從安卓惡意代碼分析的多個維度進行相關分析對比,鑒于部分平臺不存在基于安卓的云沙箱功能(或并未在公開/免費版本出現),所以對比的結果基于各個平臺呈現的相關靜態化分析數據進行橫向對比。而 LianSecurity(鏈安科技)的 incinerator 作為一個綜合性 Apk 逆向工程產品,并不帶有任何基于惡意代碼特征庫、威脅情報源、沙箱等功能,所以橫向分析對比內容僅僅基于 incinerator 的 Apk 靜態分析能力。
鑒于我們在進行相關能力對比的時候,要有一個比較具象化的理解,究竟什么叫好呢?或者說什么樣的分析能力所呈現出來的分析報告會更加適合惡意代碼和威脅溯源的研究之用呢?所以我們選擇了一個比較得到大家公認的“VirusTotal”,以 VirusTotal 的分析報告來看各自在安卓惡意代碼分析上面的細節以及顆粒度究竟是如何的。

圖 1
從兩個樣本的靜態化分析結果來看(如圖 1 左右所示),VT 對于 Apk 各項信息的檢測以及呈現都是非常完善的,能夠準確的分析出樣本當中的所有關鍵信息,作為惡意代碼分析以及威脅溯源的角度來說,首先,一個專業的分析服務能夠精準詳細的把以下羅列清楚的情況下,我認為這已經是一份優秀的分析報告。
- Apk 基礎信息
- HASH
- TrID
- 文件大小等
- Apk 包名以及相關的信息
- Apk 名稱
- Apk 簽名信息
- Apk 應用權限分析
- 風險等級劃分以及排列
- Apk 行為分析
- Apk 應用網絡請求
- Apk 軟件成分分析
所以,接下來我們會以 VT 的報告所呈現的,一一對于上面所提到的廠商進行分析能力的橫向對比,從而深度的去了解現在國內在這方面的發展以及相關技術是如何的。
360 威脅情報中心

圖2
很可惜,我們從樣本 1 與樣本 2(如圖 2 上下所示)的分析內容我們可以得知,360 的分析報告里面只顯示樣本的 HASH、包名以及對應的 IOC 信息,而對于樣本的應用行為、應用權限、網絡請求、成分分析都沒有,并且動態分析也完全沒有的,對于惡意代碼以及威脅情報研究來說,360 威脅情報中心的呈現幾乎沒有什么幫助的。
注:360 安全大腦沙箱云檢測失敗,Android 部分需要相關的積分以及收費,所以就此作罷。
安恒威脅分析平臺

圖3
安恒在兩個樣本的分析上(如圖 3 上下所示),與 360 一樣能夠準確判斷出樣本的家族以及相關的歸屬,并且安恒在基礎信息方面增加了關于樣本的 Hexdump,使得樣本基礎信息部分看似很豐滿,但是作為靜態分析結果來講,Hexdump 既不是一個總結性的結果呈現,也不能給分析人員任何定性的信息,不應該呈現在這里。可能是因為免費/公開版本,動態分析部分并沒有任何的資料,但依然是基于惡意代碼以及威脅情報研究來說幫助微乎其微的,和 360 所呈現的信息基本相同。
安天威脅情報中心

圖4
我們所抽樣的樣本哈希提交到安天威脅情報中心后(如圖 4 所示),顯示的檢測結果是為空。所以也無法對于安天威脅情報中心的安卓分析能力進行任何的對比分析了,估計是安天威脅情報中心沒有樣本數據,但是武漢安天的殺毒引擎是可以正確識別出樣本為惡意代碼的。
綠盟 NTI - 威脅情報中心

圖5
綠盟科技 NTI-威脅情報中心在基于 ERMAC 樣本分析能夠顯示對應的 HASH 信息(如圖 5 所示),除此以外什么都沒有了,而基于 APT-C50 的樣本分析是并沒有任何數據顯示的,與安天威脅情報中心一樣,應該是他們沒有對應的樣本記錄,當我們改為威脅分析中心并提交樣本進行分析后,看到分析中心對于兩個樣本都進行有效的檢測,其中哈希值為“16e991d73049f1ef5b8f5fa0c075ef05”的樣本呈現出相關的基礎信息(樣本哈希、元數據)并沒有任何靜態分析報告,而哈希值為“6151b1e2e5035a8eb596ce1c37565e87”的樣本,基礎信息呈現上比較簡單,殺毒引擎檢測沒有結果、分析結果采用的是綠盟自己的檢測策略,與常見的檢測呈現不一樣,比較雜亂,所以需要一定學習才可以比較明白。
VenusEye 威脅情報中心

圖6
VenusEye 基于樣本 1(如圖 6 上所示)的基礎信息呈現較為完整,也是屬于比較弱化的,沒有任何靜態化分析可言,而基于樣本 2(如圖 6 下所示)來說,VenusEye 并沒有對應的數據。
奇安信威脅情報中心

圖7
國內這么多家威脅情報中心或者沙箱檢測的細節程度來說,從樣本 2(如圖 7 下所示)的威脅研判分析來看,因為有了沙箱檢測的完整補充,使得整體的分析詳細程度非常完整,奇安信無疑是國內廠商提供公開可以查閱的威脅情報中心/沙箱的天花板,而樣本 1(如圖 7 上所示)的分析來看,我們提交測試很多次,不管是以登陸/非登陸狀態下,沙箱檢測永遠都是檢測中的狀態,不知道是不是出現卡死的情況,所以樣本 1 從純靜態化的狀態與其他廠商并無太大的區別。
天際網盟 RedQueen

圖8
天際網盟 RedQueen 基于樣本 1(如圖 8 所示)的哈希值并無數據,并且無法上傳樣本進行測試,而基于樣本 2 的哈希值查詢后,發現有相關數據記錄,基礎信息與其廠商大同小異,而其余的信息并無。
微步在線惡意軟件分析平臺

圖9
在眾多國內威脅情報中心/沙箱的廠商里面,微步在線曾經是唯一一家能夠準確識別出樣本 1(如圖 9 左所示)該惡意代碼的家族,但是當我重跑多次樣本 1 去獲取最新檢測報告之后,它的家族檢測就開始改變了,這個讓我覺得疑惑的,并且從檢測報告來看(如圖 9 右所示),檢測的邏輯問題也很多,例如:
- 沙箱環境是 Win7+Office2013
- 多維檢測與檢測樣本無關
- 多引擎檢測結果不準確
當我在上傳樣本進行檢測時,上傳的文件格式并沒有 Apk 可選,所以只能夠以其識別的壓縮文件格式進行上傳,并且沙箱的環境注定了對于安卓應用是無法解釋的,而在基于沙箱環境下的多維檢測 Sigma 規則是完完全全的誤報,在多引擎檢測結果里面,微步在線顯示“基于 2022-10-29 19:36:04 的時間狀態下,只有三個殺毒引擎發現該樣本為惡意代碼”,但是從多方數據來看,微步在線所顯示并未檢測惡意代碼的引擎當中,早已可識別樣本 1 為惡意代碼,例如卡巴斯基之類、小紅傘、DrWeb。
而從樣本基礎信息的數據來看,在沒有任何的沙箱檢測下,微步在線的檢測結果比起奇安信的要好,樣本的基礎信息、元數據、權限分析之類的都是有的,但是對于需要看著報告的研究人員來說,報告很明顯在呈現上并沒有考慮太多這種需求,特別是如果在沒有 IOC、殺毒引擎之類的輔助數據支撐下,不管是流行的 ERMAC 還是隱秘性更高的 APT 樣本都會出現很嚴重的漏報的情況出現。
基于 incinerator 的 Apk 基礎檢測能力
incinerator 作為一款國產自主的安卓 Apk 逆向工具分析工具,用來與威脅情報、惡意代碼分析平臺或者動態沙箱進行對比,在任何人眼中看起來都很好笑,而我們要對比的僅僅是 incinerator 在 Apk 分析時,呈現給用戶的基礎信息(如圖 10 所示),當我們要進行 Apk 分析的時候,incinerator 會通過自主研發的高效準確的逆向技術,首先會對 Apk 進行全面基礎分析,分析結果包含了包名、HASH、簽名等基礎信息(如圖 11 所示),再通過靜態單賦值與交叉引用結合找出全流程執行路徑, 并對應用行為進行源碼級深度檢測,以及權限進行分類標注,突出強調高危和敏感權限,檢查應用內網絡請求以及目標地址特征信息, 抽取依賴庫指紋信息分析軟件成分組成。
- Apk 基礎信息呈現

圖10
- 簽名信息

圖11
- 權限信息

圖12
上圖是樣本 1 ERMAC 中抽取的部分權限信息(如圖 12 所示),可以看到 incinerator 對權限進行了詳細的檢測以及分類,對于 Apk 進行申請“短信發送”、“撥打電話”等權限聲明都標注了高危。
注:在 Android 官方文檔中,“短信發送”以及“撥打電話”是被標注為危險權限 *
- 行為分析

圖13

圖14
Incinerator 對 Apk 行為分析有多個分類,如下(如圖 13-14 所示):
- 加密安全
主要是檢測采用的加密的方式是否正確、是否有采用不夠安全的配置,導致加密失效或者容易被破解等。
- 應用安全
查看當前應用是否有安全風險,包括是否有日志泄露、是否動態加載 Dex、是否使用高危函數等。
- 組件安全
動態注冊 Receiver 危險、Fragment 注入、組件導出風險、Intent 隱式調用風險、Intent 調用反射風險等。
- 數據安全
外部存儲風險、剪貼板泄露、應用數據備份風險等。
- 隱私安全
應用是否有使用錄音、撥打電話、攝像頭、地理位置、電話監聽、發短信等行為。這里會結合權限申請情況給出最終結果,如果有敏感 API 調用,但是沒有申請權限,則報告中不會指出,因為調用不會成功的。防止誤報給用戶造成困擾。
- WebView 安全
WebView 任意代碼執行漏洞、WebView 啟用 Javascript 風險、WebView 明文存儲密碼等風險。
- 通訊安全
未驗證 CA 證書、HTTP 協議傳輸、Webview 忽略證書、端口開放檢測等。
當檢測出相關問題時,incinerator 會按照嚴重程度進行分類排列、給予對應的安全建議,并且定位到反編譯后具體代碼位置。
- 軟件成分分析
樣本 1 ERMAC 因并未檢測出有依賴 SDK 調用,故此下圖為樣本 2 FurBall 的 SCA 分析結果(如圖 15 所示),incinerator 在軟件成分分析檢測時,發現樣本 2 有相關的 SDK 依賴,從信息的呈現上可以得知 SDK 具體的版本號以及名稱。incinerator 會結合公開的 CVE 信息,去查詢依賴 SDK 是否存在公開漏洞信息,并且會在報告中顯示。

圖15
通過對內置代碼進行深度掃描,抽取硬編碼的 URL、郵箱地址、IP 等信息(如圖 16 所示)。

圖16
同時結合我們自身的 Whois、IP 數據庫進行查詢,對所獲取到的域名和 IP 進行詳細的信息呈現(如圖 17 所示)。

圖17
綜上所述,我們可以看到 incinerator 對于 Apk 的基礎信息檢測部分輸出較國內威脅情報平臺更為全面,與 VT 的對比來看,incinerator 基礎信息在 HASH、TrID 等信息有所欠缺。以國內和國外的整體分析報告來看,incinerator 在沒有沙箱動態檢測,缺少敏感行為的強制調用結果下,但由于 incinerator 的多維度基礎信息檢測手段,僅僅以這基礎信息檢測所羅列出來的信息完整度以及深度足以優于這一次對比的所有平臺。
中國網絡空間安全協會
中國網絡空間安全協會
一顆小胡椒
虹科網絡安全
一顆小胡椒
公安部網安局
奇安信集團
聚銘網絡
奇安信集團
奇安信集團
中國信息安全
信息安全與通信保密雜志社