1.背景
隨著信息化及網絡技術的持續發展, 網絡攻擊手段也日漸成熟,并呈現出長持續性、高復雜性和高隱蔽性的特點。面對高級可持續威脅(Advanced Persistent Threat, APT)等高級攻擊方式,除了傳統基于IOC(Indicator of Compromise)的防御策略,還需要采用網絡安全情報、安全態勢感知等綜合防御策略。網絡安全情報一般包括:漏洞情報、威脅情報、資產情報等用于安全分析的相關信息。其中,威脅情報(Threat Intelligence)是一種基于證據的信息, 用于描述針對資產的威脅信息(例如:惡意IP地址、惡意樣本描述、攻擊者特征等)。利用威脅情報可以分析攻擊行為,了解系統不足并隨之做出相應的調整, 變被動防御為主動防御。
雖然利用網絡安全情報可以提高網絡主動防御的能力, 但是在具體落地應用時仍面臨諸多挑戰,包括(1)如何從海量數據中提取高價值的安全情報(2)如何解決網絡安全情報的可信性(3)如何提升網絡安全情報的綜合使用率。2012年,谷歌借鑒語義網技術提出了知識圖譜(Knowledge Graph, KG)概念, 帶動了知識圖譜技術在信息檢索領域的研究和應用。知識圖譜產品不斷出現,如:谷歌的Knowledge Graph、微軟的Satori、搜狗的知立方、Freebase、DBpedia等。知識圖譜在商業應用領域也獲得了應用,如:在金融領域中,將知識圖譜技術用于股票分析以及反金融詐騙等;在公安情報領域, 將知識圖譜技術用于輔助線索分析、預防電信詐騙等。
針對網絡安全情報落地應用時面臨的挑戰,網絡安全界也開始嘗試將知識圖譜技術應用于網絡安全情報及應用領域。目前,針對網絡安全情報知識圖譜的研究仍處于早期階段,安全知識圖譜在網絡安全領域缺乏應用實踐。
本文首先介紹了知識圖譜技術的基礎知識和安全知識圖譜概念內涵。其次分析了安全知識圖譜構建流程和關鍵技術;最后描述了安全知識圖譜技術在網絡安全領域中的可能應用場景。
2.知識圖譜概念
2.1 知識圖譜提出
知識圖譜并不是一個新的概念,其原型來自于1998年由Tim Berners-Lee 提出的語義網(Semantic Web)。萬維網的目的是構建以“鏈接”為中心的全球信息系統,任何人都可以通過添加鏈接的方式把自己的文檔鏈接到這個系統中。WWW這種形式只表示網頁之間存在鏈接關系,不能描述網頁之間的鏈接含有的語義關系,計算機無法有效的從萬維網中識別出這樣的語義信息。為了解決萬維網存在的問題,萬維網的創始人Tim Berners-Lee于1998年提出的語義網(Semantic Web)的概念。和萬維網一樣,語義網仍然基于鏈接和圖的組織方式,只是圖中的節點代表的不只是網頁,而是客觀世界中的實體,超鏈接也增加了語義描述,具體表明實體之間的關系,即語義網的本質是關于數據的互聯網或者是事物的互聯網。
知識圖譜是語義網技術在具體應用場景中的一種簡化商業實現,是基于語義網的概念、方法、技術和工具等的具體構建。
2.2 知識圖譜定義
首先我們了解下知識的定義。根據維基百科的定義,知識是關于某個主體確信的認識,并且這些認識擁有潛在的能力為特定目的而使用。關于主體的事實或狀態就稱為知識,包括:認識或了解某種科學、藝術或技巧;通過研究或經驗而獲得的一整套知識或資訊。我們可以用SPO(Subject-Predicate-Object)知識三元組來表示知識,如圖1所示。

圖1 SPO知識三元組
知識圖譜是一種用圖模型描述知識和建模世間萬物之間的關聯關系的技術方法,其目的是從數據中識別、發現和推斷事物與概念之間的復雜關系,是關于事物關系的計算模型,如圖2所示[1]。

圖2 知識圖譜:事物關系的可計算模型
舉例1:簡單的知識圖譜
知識圖譜使用圖表示多條知識及其關系,是一個由節點和邊組成的有向圖,其基本構成單元為SPO知識三元組。知識圖譜中的節點可以是實體(如一個人或一本書),也可以是抽象概念,如人工智能、知識圖譜等。邊可以是實體的屬性,如人名、書名,也可以是實體之間的關系,如朋友、配偶關系等。一個簡單的知識圖譜,如圖3所示[1]。

圖3 簡單的知識圖譜
舉例2:完整的知識圖譜
完整的知識圖譜由三層組成:
(1)預定義詞匯層:表示知識所用的語言(OWL、RDFS)。
(2)詞匯層:使用本體定義語言定義的詞匯。以上兩層構成了我們所稱的知識本體。
(3)數據層:使用知識本體詞匯表示的具體知識。
圖4所示為一個關于羅納爾多的完整知識圖譜。

圖4 球星羅納爾多的知識圖譜(圖片來自于網絡)
2.3 知識圖譜分類
知識圖譜可分為通用知識圖譜和領域知識圖譜兩大類。
(1)通用知識圖譜
以DBPedia、Yago、Wikidata、百度和Google的搜索引擎所使用的知識圖譜為代表,其主要特征是:知識來自于互聯網上開放的數據或眾包數據,以事實型知識為主,以搜索和問答為主要形式,對知識的質量容忍度較寬。
(2)領域知識圖譜
面向具體的應用領域,如阿里巴巴電商知識圖譜,醫療領域的醫學語義網UMLS、GeneOnto、金融領域的Kenso等。領域知識圖譜的主要特征是:數據來自具體的應用領域,來源多樣;知識結構復雜,通常包含復雜的本體工程和規則型的知識;知識抽取質量要求高;對推理的要求高,可解釋型要求強。
2.4 知識圖譜的構建流程
知識圖譜方法論涉及知識的表示、知識獲取、知識處理及知識應用多個方面。一般的流程為:確定知識表示模型;根據數據來源選擇不同的知識獲取手段導入知識;利用知識推理、知識融合、知識挖掘等技術提升知識圖譜的質量;根據場景需求設計不同的知識訪問和呈現方式等,如圖5所示[1]。

圖5 知識圖譜構建流程
(1)知識來源
根據應用領域確定知識來源。不同的數據源的知識化都需要綜合不同的技術手段,例如:對于文本數據源,我們需要利用自然語言處理技術(NLP)實現實體識別、實體鏈接、關系提取、事件提?。粚τ诮Y構化數據庫,可能需要定義結構化數據到本體模型的語義映射,使用語義翻譯工具實現結構化數據到知識圖譜的轉化。
(2)知識表示和本體工程
知識表示是指用用計算符號描述和表示知識,以支持計算機能模擬人的心智進行推理的方法和技術。知識表示決定了知識圖譜構建輸出的目標,包括:語義描述框架,如W3C的RDF;Schema和本體,定義知識圖譜的類集、屬性集、關系集和詞匯集;知識交換的語法,定義知識實際存在的物理格式,如Turtle、JSON等;實體命名和ID體系,定義實體的命名原則與唯一標識規范等。
(3)知識抽取
知識抽取按照任務可分為概念抽取、實體識別、關系抽取、事件抽取和規則抽取等?,F代知識圖譜的構建通?;谝延械慕Y構化數據資源進行轉化,形成基礎數據集,在此基礎上使用自動化知識抽取和知識圖譜補全技術,使用多種數據源進一步擴展知識圖譜,通過人工眾包進一步提升知識圖譜的質量。
(4)知識融合
知識融合是指將不同來源的知識進行對齊、合并的工作,目的在于形成全局統一的知識標識和關聯。在構建知識圖譜時,不可避免的需要使用第三方的知識庫產品,但不同知識圖譜之間既存在的本體異構也存在實體異構,需要使用知識融合技術解決異構問題。數據層的融合是指實體和關系元組的融合,包括:實體對齊、實體消歧或共指消解。模式層的融合使用本體對齊將新得到的本體融入已有的本體庫中,以及新舊本體的融合,一般采用專家人工構建和本體演化管理框架實現本體對齊。
(5)知識圖譜補全和推理
我們可能無法獲得關于客體的全部知識,但我們可以利用已存在的知識通過推理和補全技術獲得關于客體的新知識并添加到知識圖譜中。實現知識圖譜補全的方法包括:基于本體推理的補全方法,基于圖結構和關系路徑特征的補全方法,基于表示學習和圖嵌入的補全方法,利用文本信息輔助的補全方法等。
(6)知識檢索和知識分析
基于知識圖譜的知識檢索的實現形式主要包括語義檢索和智能問答,使得搜索引擎可以直接對事物進行檢索。知識圖譜和語義技術也可用于數據分析和決策,Plantir利用知識圖譜和語義技術增強數據之間的關聯,使用戶可以更加直觀的圖的方式對數據進行關聯挖掘與分析。知識圖譜和語義技術可以用于實現描述性數據分析。
3.安全知識圖譜概念
3.1 安全知識圖譜定義
安全知識圖譜(Cyber Security Knowledge Graph)是知識圖譜在網絡安全領域的實際應用,屬于領域知識圖譜,包括:基于本體論構建的安全知識本體架構,以及通過威脅建模等方式將多源異構的網絡安全領域信息進行加工、處理、整合,轉化成結構化的網絡安全領域知識庫。
舉例:圖6展示了一個來自惡意軟件、攻擊關系知識圖譜。

圖6 安全知識圖譜示意(圖片來自網絡)
3.2 安全知識圖譜特點
與通用知識圖譜相比, 安全知識圖譜具有以下特點:
(1)知識來源不同
通用知識圖譜的知識來源于互聯網開放數據,主要是互聯網上廣泛存在的半結構化數據和非結構化數據,從中提取出人類可理解的一般意義上的通用知識。安全知識圖譜的知識主要來源于即包括互聯網上對網絡安全問題研究的分析成果:如來自于網絡安全機構的研究報告、權威機構發布的威脅情報、商用/開源威脅情報、安全論壇博客中發布的對相關網絡安全問題的分析、IT企業發布的安全漏洞信息、惡意軟件分析報告等;也包括來自企業內部擁有的的安全數據;既有結構化的數據,如權威機構發布的威脅情報、商用/開源威脅情報;也有半結構化/非結構化的數據,如:安全論壇中發布的博文、惡意軟件分析報告、安全研究報告等。
(2)信息抽取的技術不同
信息抽取技術包括如何從異構數據源中自動抽取信息得到候選指示單元。信息抽取是一種自動化地從半結構化和無結構數據中抽取實體、關系以及實體屬性等結構化信息的技術。涉及的關鍵技術包括:命名實體識別(named entity recognition,NER)、關系抽?。≧elation Extraction)和屬性抽?。ˋttribute Extraction)。
通用知識圖譜的知識大部分來自于互聯網上文本數據,這些文本數據的目標是供人類閱讀的,描述的內容也是普通大眾可理解的;對于這樣的文本數據的理解,一直是自然語言理解的主要研究內容,有大量的成熟的信息提取工具可用,如Stanford NLP庫。安全知識圖譜的知識也來源于互聯網上的文本數據,但這類數據是供具有安全知識背景的安全專家來閱讀的,使用領域內約定的描述方式來表達,其描述的內容也只有他們才可以理解;研究表明,通用NLP工具難以用于安全領域的文本信息處理。
(3)本體庫不同
無論是通用知識圖譜還是領域知識圖譜,均需根據具體的應用構建本體庫。近20年來,通用知識圖譜研究和應用獲得了廣泛的關注和研究,尤其是W3C語義網的標準化,本體的研究趨于成熟,有成熟的本體庫可供使用;即便是在具體的知識圖譜的應用領域,如電商知識圖譜、醫療知識圖譜、金融知識圖譜,對本體的研究也取得了長足的進展。但在網絡安全知識圖譜領域,由于相關的研究和應用才剛剛開始,對本體的研究仍處于初級階段,尚缺乏成熟的、公認的關于網絡安全的知識本體庫可供使用。
4.安全知識圖譜的構建
4.1 構建框架
安全知識圖譜旨在借助知識圖譜技術對分散的安全知識情報進行整合, 實現安全情報聚合分析和應用場景擴展等目的。安全知識圖譜的構建框架與通用知識圖譜構建框架相同,如圖7所示(*表示安全知識圖譜構建專有的技術)[3]。
安全知識圖譜的構建過程同樣包括三個層次:
(1)信息抽?。喊▽嶓w抽取、關系抽取和屬性抽取;
(2)知識融合:實現多源異質信息的形式層面與內容層面的融合, 包括實體鏈接、本體工程、
質量評估的過程
(3)知識加工與應用,:主要實現知識的后端處理, 包括知識存儲、知識表示和知識推理。

圖7 安全知識圖譜構建框架
4.2 關鍵技術
盡管安全知識圖譜與通用知識圖譜采用相同的構建框架,但我們無法直接使用成熟的知識圖譜技術解決安全知識圖譜構建中存在的專有問題,這些問題主要集中在安全知識圖譜構建流程的前幾個階段。
關鍵技術1: 安全情報信息發現
高效自動化從海量互聯網信息中準確的發現安全相關的信息是構建安全知識圖譜的關鍵?;ヂ摼W上的網絡安全信息主要由兩類構成:(1)分析后得到的網絡安全情報,如來自網絡安全機構的研究報告、權威機構發布的威脅情報、商用/開源威脅情報;(2)廣泛發布于互聯網上的各種有關網絡安全的信息,如暗網、安全論壇、博客、自媒體等。
研究方向:如何高效的從海量的互聯網信息中篩選出與安全有關的信息,如:詞頻統計、支持向量機等;如何確定所發現的安全類信息的可信性,如:多源安全信息關聯分析技術等[3]。
關鍵技術2:安全信息抽取
安全信息提取與自然信息領域的信息提取技術存在較大的差別,大致可分為兩類:基于機器學習的規則匹配方法和基于自然語言處理的方法兩大類。
研究方向:(1)如何利用機器學習算法來減少規則的數量或自動生成規則, 解決匹配效率與抽取準確率平衡的問題。(2)通用NLP工具難以用于處理安全領域的文本信息[4],建立網絡安全相關的語料庫,目前此領域的工作幾乎空白。
關鍵技術3:安全本體構建
在安全知識圖譜研究領域,安全本體的研究較為廣泛,但主要是面向安全特定領域的,例如:態勢感知、入侵檢測、漏洞挖掘、物聯網安全等,尚缺少統一的成熟的安全本體可供借鑒。
研究方向:(1)自頂向下的安全本體構建技術[2],從網絡安全研究的原理、需求、規范等抽象角度出發, 定義安全知識的范圍和安全本體框架。(2)自下向上的安全本體構建技術[2],從現有安全數據的格式、內容、結構化程度出發構建安全本體。(3)本體學習技術,利于機器學習技術,從安全數據中提取新的概念和上下文關系,不斷更新安全本體。
關鍵技術4:知識圖譜嵌入
知識圖譜嵌入是實現知識圖譜高效計算的關鍵技術。知識圖譜可以用屬性圖進行表示,其應用需要使用與圖相關的算法實現,算法復雜度高,難于應用于大規模知識圖譜場景。
研究方向:借鑒自然語言理解中的詞嵌入技術研究的進展,如獨熱編碼、詞袋模型、詞向量等,知識圖譜研究領域開始考慮在保留語義的同時,將知識圖譜中的實體和關系映射到連續稠密的低維向量空間。相關的知識圖譜嵌入技術,包括:轉移距離模型;語義匹配模型;考慮附加額外信息的模型等[2]。
5.安全知識圖譜的應用場景
知識圖譜通過信息抽取、知識融合、知識推理等過程, 將分散在多處以不同形式表示的信息進行關聯融合, 形成一個統一表示且高質量的知識集, 繼而根據現有的知識進行推理, 挖掘潛在的知識同時產生新的知識, 從而實現安全情報分析的智能化。
基于知識圖譜的信息整合能力, 安全知識圖譜將在如下實際場景中發揮作用:
(1)安全情報搜索
在情報庫中查找相關情報是較為常見的應用,準確查找到不同類型的情報將減輕情報分析的工作量。知識圖譜將搜索視為實體的搜索而非簡單的字符串搜索的思想, 可用于構建知識層級的查詢系統, 達到提升情報查詢結果的相關程度及查詢效率的目的。
(2)敵手畫像構建
畫像構建是根據用戶或團體的屬性信息構建用戶模型的常用方法?;谕{情報等來源對敵手的常用工具、攻擊手法、社工情報等信息進行收集關聯, 知識圖譜可以構建詳細描述敵手信息的畫像, 展示攻擊者的全貌, 更精準的實現攻擊溯源。
(3)團伙情報挖掘
網絡攻擊行為通常由多人或多個團伙發起, 但在要素眾多的情報中挖掘團伙信息面臨著困難。知識圖譜從主體、事件、人和物等語義層面構建情報的關聯關系, 并根據設定的規則進行挖掘從中尋找線索, 可實現團伙情報分析以及隱匿組織的發現。
(4)APT 攻擊發現
APT 攻擊是當前互聯網領域面臨的嚴重威脅, 具備APT 攻擊的檢測能力是實現網絡安全的重要保證。當前, 通過單一的數據分析實現APT 檢測的概率較低, 需要探索多維度聯合的分析方法。知識圖譜可以將資產、威脅、漏洞、流量、日志等信息進行統一描述, 打破數據鴻溝, 并進一步應用知識推理的方法實現異常行為的分析, 從而實現APT 的發現。
6.總結
安全知識圖譜可以借助知識圖譜技術對分散的安全知識情報進行整合, 達到安全情報聚合分析和應用場景擴展等目的。當前,人工智能特別是自然語言處理技術的快速發展使得高效自動化從巨量信息中獲取知識成為可能,極大的推動了知識圖譜技術在各個領域的應用。但是,知識圖譜在安全領域應用的相關工作仍處于早期探索性研究階段,構建安全知識圖譜的關鍵技術尚需突破。
參考
[1] 王昊奮,漆桂林,陳華鈞. 知識圖譜:方法、實踐與應用[M].北京:電子工業出版社,2019
[2] 翟裕中,胡偉,程龔. 語義網技術體系[M].北京:科學出版社,2014
[3]董 聰, 姜 波, 盧志剛,等.面向網絡空間安全情報的知識圖譜綜述[J].信息安全學報,2020.9:Vol.5 No. 5
[4] Peter Phandi, Amila, Silva Wei Lu. SemEval-2018 Task 8: Semantic Extraction from CybersecUrity Reports using Natural Language Processing (SecureNLP)[C]// Proc 12th International Workshop on Semantic Evaluation. New Orleans, Louisiana,2018:697-706