1. 簡介與概述
加密貨幣挖礦惡意軟體對系統安全構成重大威脅,導致硬體損耗與大量能源浪費。對抗此威脅的主要挑戰在於實現早期偵測的同時不犧牲準確性。現有方法往往難以平衡這兩個關鍵面向。本文介紹CEDMA(基於AECD嵌入的加密貨幣挖礦惡意軟體早期偵測方法),這是一種新穎的方法,利用軟體執行時的初始API呼叫序列。透過提出的AECD(基於類別與DLL的API嵌入)方法,將API名稱、其操作類別以及呼叫的DLL融合成豐富的表示,並隨後應用TextCNN(文字卷積神經網路)模型,CEDMA旨在即時且高精度地偵測惡意挖礦活動。
偵測準確率(已知樣本)
98.21%
偵測準確率(未知樣本)
96.76%
輸入序列長度
3,000 次 API 呼叫
2. 方法論:CEDMA框架
CEDMA的核心創新在於其用於早期行為分析的多面向特徵表示。
2.1 AECD嵌入機制
傳統的API序列分析常將API呼叫視為簡單的符號。AECD透過串接來自三個來源的嵌入來豐富此表示:
- API名稱嵌入 ($e_{api}$):表示呼叫的特定函式(例如 `CreateFileW`、`RegSetValueEx`)。
- API類別嵌入 ($e_{cat}$):表示高階操作類型(例如檔案系統、登錄檔、網路)。這抽象化了行為,有助於泛化。
- DLL嵌入 ($e_{dll}$):表示呼叫API的動態連結函式庫(例如 `kernel32.dll`、`ntdll.dll`)。這提供了關於執行環境的上下文。
對於一個API呼叫 $i$,其最終的AECD向量建構如下:$v_i^{AECD} = [e_{api}^{(i)} \oplus e_{cat}^{(i)} \oplus e_{dll}^{(i)}]$,其中 $\oplus$ 表示向量串接。這種三方嵌入從有限的初始執行資料中捕捉了更細微的行為特徵。
2.2 TextCNN模型架構
AECD向量序列(來自前3,000次API呼叫)被視為一份「文字」文件。採用TextCNN模型進行分類,歸功於其效率以及捕捉局部序列模式(n-gram特徵)的能力。該模型通常包含:
- 一個嵌入層(以AECD向量初始化)。
- 多個具有不同核心大小(例如3、4、5)的卷積層,用於從API序列的不同「gram」大小中提取特徵。
- 池化層和全連接層,最終導向二元分類輸出(良性 vs. 加密貨幣挖礦惡意軟體)。
3. 實驗結果與效能
所提出的CEDMA方法在一個包含各種加密貨幣挖礦惡意軟體家族(針對多種加密貨幣)以及多樣化良性軟體樣本的資料集上進行了嚴謹評估。
主要發現:
- 僅使用執行後前3,000次API呼叫,CEDMA在已知惡意軟體樣本上達到了令人印象深刻的98.21%準確率,在先前未見過的(未知)惡意軟體樣本上達到了96.76%準確率。
- 此效能表明,AECD嵌入透過納入類別和DLL上下文,成功彌補了早期階段分析固有的資訊稀缺性。
- 該方法能在惡意軟體建立網路連線之前有效偵測,這對於早期遏制和防止損害至關重要。
圖表描述(示意): 一個長條圖,比較CEDMA(使用AECD)與僅使用API名稱嵌入的基準模型在準確率、精確率和召回率上的表現。該圖將清楚顯示CEDMA在所有指標上均有顯著的效能提升,特別是在召回率方面,表明其在早期識別真正惡意軟體實例上的穩健性。
4. 技術分析與核心洞見
核心洞見: 本文的根本突破不僅僅是另一個神經網路的應用;它是一場嵌入層級的特徵工程革命。雖然大多數研究追求更複雜的模型(例如Transformer),但CEDMA巧妙地解決了早期偵測的根本問題:資料匱乏。透過將語義(類別)和環境(DLL)上下文直接注入特徵向量,它人為地豐富了從短暫執行軌跡中獲得的有限訊號。這類似於CycleGAN的循環一致性損失(Zhu等人,2017)如何實現無配對資料的圖像到圖像轉換——兩者都是透過架構或表示層面的洞見來解決核心的資料限制,而不僅僅是擴大規模。
邏輯流程: 其邏輯優雅而線性:1) 早期偵測需要短序列。2) 短序列缺乏區分能力。3) 因此,放大每個符號(API呼叫)的資訊密度。4) 透過融合正交的資訊通道(特定函式、一般動作、來源函式庫)來實現此目標。5) 讓一個簡單、高效的模型(TextCNN)從這個豐富的序列中學習模式。這個流程是穩健的,因為它強化了輸入,而非過度複雜化處理器。
優勢與缺陷: 其主要優勢在於其實務效能——以最小的執行時開銷實現高準確率,使得實際部署成為可能。使用TextCNN而非更重的RNN或Transformer,是一個務實的選擇,符合安全應用對速度的需求。然而,一個關鍵缺陷是可能對抗性API呼叫的脆弱性。一個複雜的惡意軟體可以從「正確」的DLL和類別注入看似良性的API序列來污染嵌入空間,這是一個未被討論的威脅。此外,3,000次API的視窗雖然是一個良好的基準,但也是一個任意的閾值;其在極度不同的軟體複雜度下的穩健性仍有待證明。
可執行洞見: 對於安全產品經理而言,這項研究是一個藍圖:對於即時威脅,優先考慮特徵表示而非模型複雜度。AECD概念可以擴展到API之外——想想網路流量日誌(IP、埠、協定、封包大小模式)或系統日誌。對於研究人員而言,下一步是強化此方法以對抗對抗性規避,或許可以透過在嵌入空間本身整合異常偵測分數來實現。該領域應該更多地借鑒穩健機器學習研究,例如arXiv的cs.CR(密碼學與安全)儲存庫中論文討論的對抗性訓練技術。
5. 分析框架:實務範例
情境: 分析一個可疑的、新下載的可執行檔。
CEDMA分析工作流程:
- 動態沙箱執行: 在受控、已插樁的環境中執行該可執行檔極短時間(數秒)。
- 軌跡收集: 掛鉤並記錄前約3,000次API呼叫,及其對應的DLL。
- 特徵豐富化(AECD):
- 對於每個API呼叫(例如 `NtCreateKey`),查詢預先定義的映射以取得其類別(`Registry`)。
- 記錄呼叫的DLL(`ntdll.dll`)。
- 從針對 `NtCreateKey`、`Registry` 和 `ntdll.dll` 的預訓練嵌入表中生成串接的AECD向量。
- 序列形成與分類: 將3,000個AECD向量的序列輸入預訓練的TextCNN模型。
- 決策: 模型輸出一個機率分數。如果分數超過閾值(例如 >0.95),則在該檔案可能啟動與礦池的網路連線之前,將其標記為潛在的加密貨幣挖礦惡意軟體並進行隔離。
註:此為概念性框架。實際實施需要廣泛的預處理、嵌入訓練和模型優化。
6. 未來應用與研究方向
- 擴展嵌入上下文: 未來工作可以將更多上下文納入嵌入方案,例如API呼叫參數(例如檔案路徑、登錄檔機碼)或執行緒/行程資訊,以創建更豐富的行為特徵檔。
- 跨平台偵測: 將AECD概念適應於其他平台(Linux系統呼叫、macOS API),以實現全面的端點防護。
- 即時串流偵測: 將CEDMA實現為串流分析器,在API呼叫生成時進行連續預測,減少固定視窗的限制。
- 與威脅情報整合: 使用AECD衍生的特徵向量作為指紋,查詢威脅情報平台以尋找類似的已知惡意軟體行為。
- 對抗性穩健性: 如分析中所提,研究針對設計來規避此特定偵測方法的惡意軟體的防禦機制,是至關重要的下一步。
7. 參考文獻
- Cao, C., Guo, C., Li, X., & Shen, G. (2024). Cryptomining Malware Early Detection Method Based on AECD Embedding. Journal of Frontiers of Computer Science and Technology, 18(4), 1083-1093.
- Zhu, J., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. Proceedings of the IEEE International Conference on Computer Vision (ICCV).
- SonicWall. (2023). SonicWall Cyber Threat Report 2023. Retrieved from SonicWall website.
- Berecz, T., et al. (2021). [Relevant work on API-based malware detection]. Conference on Security and Privacy.
- Kim, Y. (2014). Convolutional Neural Networks for Sentence Classification. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). (Seminal TextCNN paper).
- arXiv.org, cs.CR (Cryptography and Security) category. [Repository for latest adversarial ML and security research].