高 見,王 安
1.中國人民公安大學,北京100038
2.安全防范與風險評估公安部重點實驗室,北京102623
近些年來,網絡安全事件不斷發生,網絡攻擊的形式復雜多變,檢測和預測這些動態類型的攻擊是一項充滿挑戰的任務。在當前的許多領域中,對于知識圖譜的研究已經非常成熟,本文將知識圖譜與威脅情報結合在一起來構建網絡安全事件的知識庫。通過對開源情報的分析,收集和分析結構化數據和非結構化數據來獲取相關信息,抽取威脅情報中的本體元素,完成網絡安全事件的分析及事件過程中涉及攻擊工具、漏洞、攻擊方法等元素的關系。
在網絡安全的領域中,已經有大量的基礎研究,構建相關的知識庫。例如,MITRE 公司對漏洞數據庫進行了統一的描述,每個漏洞具有統一ID、威脅等級、威脅類型等基本信息。除此之外,殺毒軟件供應商依據其掌握的大量樣本庫,建立了有關惡意軟件的病毒特征庫。威脅情報大量來自互聯網[1],互聯網中報道了大量的網絡攻擊事件、網絡攻擊工具等重要信息,如一些安全博客、安全內參、黑客論壇等。學術界同樣對網絡威脅情報的分析和表示進行了大量的研究,賈焰等人[1]提出了一種構建網絡安全知識圖譜的實用方法,該文中使用了Stanford的NER來訓練提取器,利用提取器抽取獲取信息中的網絡安全本體。王若佳等人[2]提出了一種基于知識圖譜的國際和國內競爭情報對比的方法,在Web of Science 數據庫和CSSCI 數據庫兩個文獻數據庫中,從研究熱點、知識基礎和演化發展三個角度進行了對比,最后用Citespace軟件對其生成的知識圖譜進行了可視化繪制。王通等人[3]研究了一種基于深度學習的威脅情報知識圖譜構建技術,利用監督性的深度學習模型,通過對威脅情報的實體及其關系進行抽取,最后通過圖數據庫完成了知識圖譜的可視化。
使用知識圖譜對網絡威脅情報進行分析,主要難點有兩個:一是對網絡威脅情報中本體的定義以及知識抽取;二是通過已抽取的知識進行推演,學習到新的知識。在對知識的抽取中,因為大量的信息來自網站的網絡安全報道和安全企業的安全分析報告,抽取的準確率難以達到對知識表達的要求。本文將通過威脅情報標準化的描述語言,對威脅情報進行結構化處理,提高威脅情報中知識實體抽取的準確率,并將所有這些與安全相關的知識按照一定的規則關聯在一起,對入侵檢測和網絡安全態勢感知的相關工作有很重要的意義。
威脅情報輸出的多樣化,導致對情報分析和抽取過程中效率和準確率大大降低,影響了一些模型和算法對威脅情報的分析結果。因此,威脅情報的共享需要一整套描述標準和規范,通過對威脅情報的描述、處理可以通過格式化的語言進行表達,并直接實現情報共享,實現“未攻先防”的動態防御效果。目前成熟的國外威脅情報標準包括網絡可觀察表達式(CyboX)、結構化威脅信息表達式(STIX)以及指標信息的可信自動化交換(TAXII)等。
CyboX 全稱為Cyber Observable eXpression(網絡可觀察表達式)[4],它是一種用于編碼和傳輸有關網絡可觀測的高保真信息的標準化語言。在CyboX之前,沒有統一的標準機制用于指定、采集、描述或交流這些網絡的可觀察表達。 每個機構通常具有自己獨特的表示方法。這使得觀察的一致性、效率和總體態勢感知變得困難。CyboX 解決這些問題。其可觀察的對象包括了事件或狀態屬性,如注冊表鍵值,刪除文件,或收到一個http請求。通過規范一套具體的標準,使得這些行為或屬性可以被分析。
STIX全稱為Structured Threat Information eXpression(結構化威脅信息表達式)[5],它是一種用來描述網絡威脅信息的結構化語言,可以以一致的方式共享,存儲和分析。STIX 由一些關鍵結構組成,它們的含義與內容如下:
觀測表征:描述已經或可能出現在網絡中的事物;
特征指標:描述模式可能會看到什么,以及它們的含義是什么;
安全事件:描述特定的角色操作的實例;
方法與流程:描述某一角色實施攻擊的模式,工具,基礎設施,目標受害者,和其他的一些手段與方法;
利用目標:描述漏洞,可能被利用的弱點或配置;
響應措施:描述反應為了應對攻擊或作為預防措施可能采取的行動;
組織運動:描述一系列事件或意圖;
威脅源:對威脅人員的鑒別與描述;
安全報告:收集STIX相關內容和給它們共享。
TAXII 全稱為Trusted Automated eXchange of Indicator Information(指標信息的可信自動化交換)[6],它是一個自由和開放的傳輸機制,用于規范網絡威脅的自動交換信息。TAXII旨在整合與現有的共享協議,包括訪問控制的局限性。TAXII 不是一個特定的信息共享協議,它不定義協議或者非技術方面的信息共享網絡威脅。相反,TAXII使維護組織能夠很容易地共享他們選擇的合作伙伴選擇的信息,同時利用現有關系和系統。通過使用TAXII,可以以一個安全的、自動化的方式來分享STIX內容。
本體(Ontology)[7]是一個基于邏輯、語義豐富的形式化模型,是對某個領域內共享知識的形式化規范描述[8]。目前,被普遍認同的定義是Studer 等人[9]提出的“本體形式化規范說明”。通過對領域內知識進行規范化描述并建立知識庫[9],創建概念與概念、個體與個體、概念與個體之間的關系,用本體來描述知識庫,并用來完成推理、查詢和關系可視化等功能。
STIX 1.0中定義了8種對象,分別是:Incident(安全事件)、Observable(觀測表征)、Indicator(特征指標)、Course of Action(響應措施)、Threat Actor(威脅源)、Campaign(組織運動)、TTP 和Exploit Target(攻擊目標)。STIX 2.0[10]將1.0 版本中的TTP 與Exploit Target拆分為Attack Pattern(攻擊模式),Malware(惡意代碼),Tool(攻擊工具),Vulnerability(漏洞);刪去了Incident;新增了Report(安全報告),Identity(身份),Intrusion Set(入侵集合),共12個對象。
威脅情報領域本體可以用來描述威脅情報中的本體及其關系,并對該領域的本體概念及其特征和規律給出一種形式化描述。圖1 中采用LCG(Language Concept Graph)描述了威脅情報種的本體結構。LCG是一種有向圖,圖中橢圓代表本體概念,有向邊代表本體之間的關系。本文中對威脅情報領域本體分為6類:攻擊目標、攻擊者、漏洞、TTP、觀測指標和防御措施。本文中對威脅情報領域本體分為6 類對攻擊事件進行描述,相較于Stix2.0,增加了攻擊目標和TTP;保留了Indicator,Course of Action,Threat Actor和Vulnerability,分別對應觀測指標,防御措施,攻擊者和漏洞;其中TTP中包含了傳統的攻擊模式、攻擊工具和攻擊過程三個部分。

圖1 基于STIX2.0的威脅情報本體關系圖
威脅情報的應用本體是對領域本體的細化描述,根據以上的分類結果,對領域本體的描述及應用本體的分類如圖2所示。
(1)攻擊目標,是指攻擊者在攻擊過程中選擇的具體目標,應用本體種包含了硬件、鏈路、服務和數據四個子類。

圖2 威脅情報應用本體
(2)攻擊者,是指在發起攻擊的組織或個人,應用本體種將其分為:政府組織、民間團體和個人。
(3)漏洞,是指在攻擊過程中使用到的未公開漏洞和已公開漏洞,通常按照國際通用漏洞編號進行統一命名,其中包括:系統漏洞、協議漏洞、配置漏洞。
(4)TTP,概念來自于軍事領域及反恐活動,現被信息安全領域用來描述攻擊過程中的戰術、技術和攻擊過程。按照其原始內涵進行分類,TTP 包含攻擊模式、攻擊工具和攻擊過程三個子類。
(5)防御措施,是指在預防攻擊或網絡攻擊事后加固時,采取的安全保護措施。其中包括:網絡防護、本地防護和數據防護。
(6)觀測指標,是指在網絡攻擊過程中產生的威脅情報指標。按照其類型分為:網絡特征、主機特征和事件特征。
威脅情報中的原子本體可以直接實例化圖譜中的實體,同時原子本體和應用本體之間是類和實例的關系。原子本體在本體中是最小的不可分割的概念,因漏洞和攻擊者沒不可再分,所以沒有原子本體。
(1)攻擊目標原子本體
攻擊目標原子本體,是指網絡攻擊的目標,本文中按照其類型分為:硬件、鏈路、服務和數據,如圖3所示。硬件中包含安全設備[11-12],如IDS、防火墻,交換設備,如交換機、路由器;工控設備,如PLC;主機設備,如CPU、BIOS。以鏈路為攻擊目標,本文將其分為影響鏈路功能和影響鏈路性能兩類。面向服務的攻擊可分為系統服務和應用服務,如smb 是操作系統的服務,永恒之藍便是利用該服務漏洞進行攻擊,而Web 漏洞是應用服務,SQL 注入,XSS 等都是針對Web 服務進行的攻擊方式。以數據為目標的攻擊,分為系統數據和應用數據,一些攻擊是以獲取系統數據為目的,如進程列表、服務列表、系統密碼文件等,屬于以系統數據為攻擊目標的類型,一些攻擊是以獲取應用數據為目的,如DOC 文檔、數據庫內容等,屬于以應用數據為攻擊目標的類型。

圖3 攻擊目標原子本體
(2)TTP原子本體
TTP原子本體是攻擊方所涉及的元素,其中包括攻擊模式,攻擊工具和攻擊過程。在攻擊模式中,采用CAPEC[13]對攻擊模式的分類,攻擊模式枚舉與分類(CAPEC)網站由Mitre 公司托管,是安全專業人士用來理解攻擊的分類體系。攻擊模式中分為信息收集、概論攻擊、突破訪問控制、欺騙攻擊、濫用攻擊、操控數據和操控系統資源。在攻擊過程中,本文采用洛克希德·馬丁公司公司提出的Cyber Kill Chain模型[14],將其分為:偵查跟蹤、武器構建、載荷投遞、突破利用、安裝植入、通信控制和達成目標,如圖4所示。將攻擊按照其類別分為:提權類、拒絕服務類、信息收集類和駐留類。

圖4 TTP原子本體
(3)防御措施原子本體
防御措施原子本體是根據遭受的攻擊所采取的響應措施,本文分為三個方面:網絡防護、本地防護和數據防護,如圖5所示。網絡防護,是在預防或遭受攻擊時,網絡傳輸過程采取的安全防護,如:防火墻、IDS、安全審計設備、網閘等。本地防護,是在客戶端或服務端上進行的防護措施,如:操作系統的安全配置,殺毒軟件和本地防火墻以及應用的安全配置。數據防護,是針對數據本身進行的防護措施,隨著隱私數據泄露的事件增加,數據的防護顯得尤為重要。本文中將其分為加密傳輸、加密存儲和備份恢復。

圖5 防御措施原子本體
(4)觀測指標原子本體
觀測指標的原子本體主要分為主機特征和網絡特征兩個部分,用來描述威脅情報中的可觀測指標,如圖6所示。主機特征中,如:惡意軟件釋放的路徑信息、新增的注冊表項信息、系統中建立的互斥體信息以及樣本的哈希值。網絡特征中,如:連接的IP 地址信息、域名信息、端口信息和使用協議等。

圖6 觀測指標原子本體
為了清晰地描述網絡威脅情報的知識圖譜表達方式,本章將采用結構化信息標準促進組織(oasis)公布的依據STIX2.0 標準生成的威脅情報[15],主要對Poisonivy進行分析。Poison Ivy 本質上是一款木馬程序(RAT),攻擊者可利用它控制目標系統。Poison Ivy 木馬生成器從1.0.0 版本開始有幾十個版本,該工具可以生成EXE和shellcode。本次分析中,將FireEye對Poison Ivy的研究報告按照STIX2.0 標準的JSON 格式轉化為csv格式,并將數據導入Gephi 對實體和關系進行表示,其中包含實體共61個,關系102個,如圖7所示。
本次的攻擊活動主要涉及了惡意代碼、攻擊模式和漏洞信息等6種實體,相應的統計個數如表1所示。

圖7 Poisonivy實體關系原始圖譜

表1 Poisonivy實體關系統計表
因malware 數量多,且都是同一木馬病毒的變種,因此本文將24 個malware 進行了合并,并將idicator 和vulnerability的id命名改為name命名,調整后,如圖8所示。從圖8中可以看出,此次網絡安全事件的核心是一款名叫Poisonivy 的Malware。三個黃色節點代表了三次APT 攻擊活動,攻擊者的代號分別為admin@338,menu Pass,和th3bug。淺藍色節點代表了攻擊活動中使用到的漏洞信息,其中包括,CVE-2013-0422、CVE-2011-3544、CVE-2010-3333、CVE-2012-0158、CVE-2013-1347 和CVE-2019-4324。其余深色節點代表了攻擊活動中發現的威脅情報指標,其中主要包括IP地址、域名信息共25個特征指標,如圖8所示。
攻擊事件描述的規范化,攻擊事件中本體的界定和分類,使惡意代碼分析者與情報分析者形成統一的接口。從而避免了威脅情報分析人員在對不同格式的情報進行分析時產生的誤差,提高了本體、屬性和關系等重要元素提取的正確率,對于威脅情報知識圖譜的構建和威脅指標之間的關系推理具有十分重要的意義。本文對網絡安全事件的格式化分析結果中可以直觀地分析惡意代碼、漏洞、攻擊源、威脅指標等之間的關系,從而能夠在網絡安全事件中快速地做出應急響應。
本文針對網絡威脅情報的不同描述規范,建立了基于STIX2.0 的本體模型,并對其領域本體、應用本體和原子本體進行詳細劃分,完成了威脅情報中非結構化數據到結構化數據的對應轉化。本文同時參考了CAPEC對攻擊模式的分類和Kill Chain模型,對網絡攻擊模式和過程進行了科學描述。最后,文中使用攻擊事件報告對該模型進行了驗證,通過圖譜的表達,可以更加直觀地了解攻擊事件中的重要實體及其之間的關系。要想真正準確地表達威脅情報的內容,實現威脅情報的精準可視化,需要盡快建立一個對威脅情報描述的規范體系,只有這樣才能從不同的情報源中提取知識實體,為之后的數據分析和預測提供數據來源。

圖8 Poisonivy實體關系處理后圖譜