APTMalInsight:基于系統調用信息和本體知識框架識別和認知APT惡意軟件
VSole2022-04-14 06:31:44
解決的問題
為了檢測APT攻擊,研究人員目前嘗試利用網絡流量或安全日志信息挖掘隱藏的異常行為,或者通過對安全警報事件進行相關性分析來尋找APT攻擊的足跡。然而,由于安全和隱私的要求,普通研究人員獲取網絡流量或安全日志信息并不容易。因此,我們需要探索其他方式來開展 APT 攻擊研究。與傳統的網絡攻擊類似,APT 攻擊者需要使用惡意軟件作為攻擊武器來發動網絡空間攻擊。因此,通過分析APT攻擊中部署的惡意軟件,為我們進行APT攻擊研究提供了一種可行的方法。本文的主要研究動機包括:
- APT 惡意軟件是一種高級且復雜的惡意軟件。如何檢測在野 APT 惡意軟件并有效地將其歸入其所屬家族?
- 作為新型惡意軟件,APT 惡意軟件是否具有新的行為特征?APT 惡意軟件與傳統惡意軟件的行為特征是否存在差異?
- 如何描述攻擊行為、構建知識表示并深入了解APT 惡意軟件的惡意仍然是一個需要解決的關鍵問題。
論文主要貢獻
- 提出了一種基于動態行為特征來檢測 APT 惡意軟件的有效方法。APTMalInsight首先從APT惡意軟件中提取動態API序列,然后計算API的鑒別性能并對API序列進行排序,最終實現對APT惡意軟件的有效檢測和家族分類。檢測和分類的準確率分別可以達到99.28%和98.85%。
- APTMalInsight利用本體模型描述APT惡意軟件的行為特征,構建APT惡意軟件的本體知識框架,實現對APT攻擊的通俗易懂的描述,深入洞察APT惡意軟件家族的惡意行為。
- 我們基于真實的 APT 惡意軟件樣本進行綜合評估,并與類似研究進行綜合比較,證明所提出的方法具有良好的實際性能,研究結果可為網絡空間安全界提供有價值的參考。
APTMalInsight 概述基于動態 API 序列的特征向量生成

該框架主要由兩個核心模塊組成:
- APT惡意軟件檢測和家族分類模塊:
- 監控APT惡意軟件的動態行為,提取執行過程中的動態API調用序列;
- 計算每個API的鑒別性能,根據性能對提取的動態API調用序列進行排序,從排序后的API序列中選擇Top-N API作為特征向量來表征程序。
- 檢測 APT 惡意軟件并根據上述構建的特征向量將它們分類到其所屬的家族中。
- 基于本體的APT惡意軟件行為知識表示模塊:
- 構建APT惡意軟件本體模型;
- 基于本體模型生成APT惡意軟件的知識表示;
- 基于本體知識框架對APT惡意軟件的典型攻擊行為進行剖析,提供APT攻擊行為的知識表示,最終理解和認知APT攻擊行為。
基于動態API序列的特征向量生成模塊

為了檢測在野 APT 惡意軟件,我們首先需要建立 APT 惡意軟件的有效特征表示。動態系統調用信息被廣泛用于分析惡意軟件,因為它可以反映程序的真實行為。為此,我們通過從程序中提取 API 并根據鑒別性能對 API 序列進行排序來構建特征向量。API序列特征向量的生成過程如圖3所示,具體如下:
- 首先,從APT惡意軟件的動態分析報告中提取API序列,統計每個API在所有樣本中出現的次數、每個API在每個族中出現的次數、每個API在每個樣本中出現的次數;
- 其次,根據步驟(1)得到的信息,采用TF-IDF算法計算各個API的加權值,并按照鑒別性能對API序列進行排序;
- 第三,從排序后的序列中選擇排名靠前的Top-N API,構建特征向量;
- 第四,匹配每個樣本,計算每個API在每個樣本中出現的次數,作為其特征值;
- 第五,為所有樣本生成特征向量;
- 最后,根據 API 序列生成特征向量矩陣。
基于APT惡意軟件本體知識的表示模型
- APT惡意軟件本體模型
- 基于本體模型的原理,論文構建了APT惡意軟件的本體框架,包括三個核心類:APT惡意軟件、計算機系統組件和行為。APT 惡意軟件類別定義了 APT 惡意軟件的分類結構,包括所有 APT 惡意軟件家族及其個體。行為類定義了惡意軟件行為的分類結構,包括所有不同類型的惡意軟件行為。計算機系統組件類定義了計算機系統組件的分類結構,包括所有計算機系統組件子類和個體。
- 基于本體模型原理,APT惡意軟件本體模型設計如下圖所示:

- 基于本體知識的APT惡意軟件描述
- 在構建了APT惡意軟件的本體知識框架后,可以應用本體知識來描述APT惡意軟件的惡意行為,從而有助于理解APT惡意軟件的惡意,實現對APT惡意軟件的深入、全面的認識,進而可以基于構建的本體知識框架進行行為推理。對應的本體描述如下圖所示:
如圖所示,APT惡意軟件表現出的典型惡意行為包括遠程控制、顛覆、竊取和自衛。這些典型的行為類型由許多更具體的行為組成。例如,遠程控制行為類型包括連接C&C服務器、獲取命令、下載代碼等。顛覆行為類型包括內存寫入、文件修改、注冊表修改等。竊取行為類型包括竊取系統信息、竊取用戶信息等。自衛行為類型包括環境檢測、反分析、自刪除等,這些典型行為將在后續評估過程中得到驗證。- 基于本體知識的APT惡意軟件惡意行為描述

- 如上圖所示,APT惡意軟件表現出的典型惡意行為包括遠程控制、顛覆、竊取和自衛。這些典型的行為類型由許多更具體的行為組成。例如,遠程控制行為類型包括連接C&C服務器、獲取命令、下載代碼等。顛覆行為類型包括內存寫入、文件修改、注冊表修改等。竊取行為類型包括竊取系統信息、竊取用戶信息等。自衛行為類型包括環境檢測、反分析、自刪除等,這些典型行為將在后續評估過程中得到驗證。
基于API的鑒別性能和行為類型的API與本體知識的關聯
下圖是一個生成Mirage家族惡意可執行文件的本體知識序列的示例。

局限性
- 生成本體知識框架的過程并沒有自動實現。目前,基于提取的動態系統調用序列和本體知識,自動得到一個典型的惡意執行過程。然而,一個典型的惡意行為過程可能由多種不同的行為組成。如何將這些多種類型的行為自動組合成一個集成的過程仍然是未來研究中需要解決的問題。
- 惡意攻擊的收集有待進一步擴大和完善。由于APT攻擊過程極其復雜,APT惡意軟件的動態行為過程也極其復雜。下一步是從其復雜的行為信息中提取更多的惡意行為,以進一步增強 APT 攻擊的可識別性。
VSole
網絡安全專家