开源开放 | 开源立体化漏洞情报知识图谱(四维创智)
OpenKG地址:http://openkg.cn/dataset/vuln-sprocket
開放許可協議:CC BY-SA 4.0 (署名相似共享)
貢獻者:四維創智(李德斌,孫基栩,鮑晨陽)
1. 前言
隨著時間的推移,攻防技術的不斷提升,組件的漏洞與日俱增,隨之出現的各類漏洞情報也如雨后春筍一般瘋狂涌現,使技術人員在想快速、全面地搜集漏洞情報時,會應接不暇,無法把握情報中心。
雖然,市面上已經出現許多漏洞情報平臺來幫助大家去搜集情報,管理情報。但不同廠家的漏洞情報平臺的內容側重點也都有傾側。
注重漏洞全面,而忽視了漏洞情報的垂直性,往往只有漏洞的基本信息,類似CVE、CNVD等官方漏洞情報平臺。
具備一定的垂直漏洞情報搜集能力,能采集到漏洞的中文簡介、漏洞POC等信息,但由于該類信息往往由平臺運營人員手動采集或編寫,在漏洞覆蓋面上就會出現紕漏,存在一定的漏報和誤報,比如seebug、exploit-db等廠商。
某個工具或框架自主研發或編寫的漏洞POC、EXP及自主構建的漏洞情報信息,類似MSF、Nessus、xray等,這類EXP、POC情報價值非常高,是研究人員所重點關注的,但往往這類情報與其他漏洞的情報關聯度不高,容易出現孤島節點。(與CVE/CPE/CWE等標準脫節)
基于上述調研結果,我們不難發現,漏洞情報平臺目前主要問題便是:
1. 站在不同角度的廠商對漏洞情報搜集的側重點不同,導致技術人員想要全面了解某一漏洞的相關情報,就需要跳轉多個廠商進行情報查閱;
2. 不同廠商之間的漏洞情報相對孤立,每個廠商都有自己的一套情報標注標準,關聯不同廠商情報時,會出現情報重復的現象;
3. 當前各類漏洞情報平臺所包含的漏洞情報限制性相對較大,對互聯網上散落的弱關聯情報并沒有很好的采集和分析能力;
根據上述問題,我們嘗試采用知識圖譜技術對互聯網上的開源漏洞情報進行整合和分析,并構建了以CVE漏洞管理方法為標準的漏洞情報平臺。我們將它命名為"vuln_sprocket",下面我們將介紹該圖譜的構建方案。
2. 知識圖譜構建
2.1?漏洞情報實體、關系的選擇簡析
在進行知識抽取前,我們首先要明確,什么是漏洞情報。我們的理解是:針對某一漏洞,所有對了解該漏洞有幫助的信息,都可以稱之為該漏洞的漏洞情報。在這里,需要明確的是,漏洞需要了解哪些信息,以及怎樣的信息才算是對了解該漏洞有幫助。
通過實戰經驗以及與一線人員交流得到的反饋,我們總結以下幾點比較受到關注的漏洞情報信息:漏洞基礎信息、漏洞編號 (包括但不限于CVE、CNVD、EDB-ID)、漏洞危害類型(命令執行、注入、溢出等)、漏洞利用方式(遠程、本地)、是否存在利用風險(宕機、數據刪除)、漏洞危害等級 (低、中、高)、漏洞簡介 (英文、中文)、漏洞作用組件 (廠商、組件、版本)、漏洞分析、漏洞原理機制、漏洞復現過程、漏洞復現靶場、漏洞利用工具、漏洞檢測、利用過程分析、漏洞檢測代碼、漏洞利用代碼、漏洞權限提升代碼、防御措施、漏洞補丁信息、漏洞白盒檢測方式、漏洞具體解決方案、漏洞流行度、熱度等趨勢分析。針對漏洞之間的關系比較感興趣的幾個點是:
1.?漏洞之間的是否存在組合利用的可能性
2.?漏洞作用的組件是否存在供應鏈
3.?能否根據某組件已知漏洞情報去推斷可能存在的新漏洞
4.?能否對漏洞情報進行分析,能夠合并內容相同但發布平臺不同的漏洞情報
2.2?實體及關系概念構建
根據以上調研,我們不難發現,在這其中,“漏洞”這個實體概念,是作為情報關聯的關鍵。用戶關心“漏洞”的攻擊收益,關心“漏洞”的作用對象,關心“漏洞”的原理、防守方案等等。因此,在參考stix 2.1 當中對實體和關系的描述后,我們確定以“漏洞”為核心的原始實體及概念關系,如下圖。
并且,我們以漏洞為中心點,根據其他實體與漏洞關系位置的不同對其進行如下的邏輯分層。
1.?組件層(漏洞作用的目標)
A.?軟件、操作系統
B.?組件分類信息
2.?漏洞層(中心點)
A.?漏洞基礎信息
3.?情報層 (對了解漏洞有幫助的信息)
A.?漏洞情報(對漏洞基礎信息進行補充,包括中文翻譯、參考鏈接、漏洞類型等其他屬性的補充)
B.?漏洞分析文章(完善漏洞分析情報,包括漏洞分析、復現過程、POC/EXP利用分析、防御措施分析等內容 )
C.?漏洞檢測/利用工具情報( 完善漏洞工具的情報,包括發布時間、編寫語言、POC/EXP來源等信息)
4.?實例層 (情報的詳細說明或對情報的補充拓展信息)
A.?工具源碼(包含工具源代碼信息)
B.?工具腳本 (包含工具腳本的基礎信息以及工具調用/觸發所需的場景信息)
C.?具體的復現靶場/鏡像
2.3?實體及關系提取
圖譜中絕大多數的知識都是通過對半結構化數據轉換得來。需要注意的是,在CWE(軟件脆弱性類型數據集)和CAPEC(攻擊類型枚舉和分類數據集)的官方定義中便包含有兩者之間及各個數據集內部的關系,可以進行直接的引用。
CAPEC和CWE的關系是“戰術與執行者”的關系,意為“某個攻擊類型所表示的攻擊行為其作用對象是一個組件的某個脆弱點”。CAPEC標準的數據結構包含的“Related_Weaknesses”字段表述該攻擊類型所利用的脆弱點列表。
圖 1?CAPEC所利用的脆弱性列表
無論是CAPEC還是CWE,在其標準內部也存在不同實體的關系,CAPEC對于攻擊類型之間關系的描述保存在該標準中“Related_Attack_Patterns”字段,CWE對于脆弱性之間關系的描述保存在該標準中“Related_Weaknesses”字段。
圖 2?CAPEC之間的關系描述
圖 3?CWE之間的關系描述
3. 推理規則構建及隱性關系發掘
在信息搜集過程中,單一的搜集方式會導致信息搜集不全面,或信息誤報。通過構建組件、服務、系統等實體之間的關系,并推理之間的間接關系,可完善并發現隱性的資產信息。
確定好原始實體后,我們嘗試對實體之間的關系進行分析,除了常規的包含或歸屬關系外,我們針對組件層,添加了 “depend_on” 這樣的一個關系,用來表示組件供應鏈關系中的依賴關系。這是因為,依賴關系是作用在組件之間的強關聯關系(當a依賴b時,若a存在則b一定存在),在進行推理時可以通過該關系進行信息拓展。
3.1?依賴關系發掘
CPE(Common Platform Enumeration的縮寫)是一個以標準化方式為軟件應用程序、操作系統及硬件命名的方法。最大的漏洞庫CVE中對軟件的描述便是使用了CPE標準。基于統一資源標識符 (URI) 的通用語法,CPE 包括正式名稱格式、用于根據系統檢查名稱的方法以及用于將文本和測試綁定到名稱的描述格式。在CPE的字段中,常常包含一定的軟件依賴信息,如“cpe:2.3:a:10web:10websocial:-:*:*:*:*:wordpress:*:*”中描述了10websocial 和 WordPress的依賴關系。
同時,在維基百科上,對軟件的描述中,也會包含一些依賴關系。當然這類數據,由于軟件名并不是使用的CPE標準格式,因此,首先需要進行非標準描述映射標準描述的工作。在這里,我們主要使用的方法有相似度匹配、人工篩選以及基于CVE漏洞描述的關聯推理。
3.2?依賴關系推理應用實踐
根據依賴關系的特性,我們構建如下規則:
1.?軟件依賴關系為強關聯規則,即關系可靠度為1
2.?軟件依賴關系存在“繼承”屬性,即當a軟件所依賴的b軟件存在c軟件的依賴關系,則a軟件與c軟件也存在依賴關系
3. 軟件依賴關系,若a依賴b組件,則b為a的必要條件。即,當a存在時,b必然存在。
基于以上規則,在信息搜集時,便可以通過推理進行信息補全。
假設,在圖譜中存在如下知識:
“(n:Software{name:”NextGEN_Gallery”})-[:plugin_for]->(ma:Software{name:”WordPress”})”
這里需要注意的是,“plugin_for”與“depend_on”具備同等效果,不同的是,“plugin_for”具備標注依賴關系中,其中一方是另一方的“插件”的作用
當我們在初步信息搜集時,發現了該目標使用了“NextGEN Gallery”組件(“WordPress”組件的一個插件),但由于該目標修改了有關“WordPress”的相關特征,并使用了偽靜態。使我們只獲取到了“NextGEN Gallery”信息,屆時便可以基于上述知識進行關聯,確定組件 “WordPress”的存在,并可以根據規則2,推理出其他組件,如圖(紅線為規則3推理所得)
4. 總結
知識圖譜作為“認知智能”技術典型代表,在網絡安全領域中的應用具備天然優勢。尤其是在情報組織、分析,輔助決策任務,路徑規劃等方面,隨著知識圖譜技術的不斷發展其應用空間會非常廣泛。
本文所構建的情報雖說均來自于互聯網開源漏洞情報信息,但其豐富程度已然超過許多商業情報平臺,這不難發現,在如今的互聯網時代下,公開情報通過精細的采集、分析后其豐富程度仍是商業情報平臺無法比擬的,且情報獲取速度較商業情報,在大規模應用中也將快于商業情報許多,于精耕細作某一細分方向的商業情報源比較來說,自然是無法達到它所擁有的速度和準確度,但仍不妨開源漏洞情報在諸多領域的廣泛應用。
相信在可見的未來,知識圖譜相關技術在開源漏洞情報分析領域,會有它無法替代的作用和意義。
OpenKG
OpenKG(中文開放知識圖譜)旨在推動以中文為核心的知識圖譜數據的開放、互聯及眾包,并促進知識圖譜算法、工具及平臺的開源開放。
點擊閱讀原文,進入 OpenKG 網站。
總結
以上是生活随笔為你收集整理的开源开放 | 开源立体化漏洞情报知识图谱(四维创智)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源开放 | 细粒度可循证医学文档知识融
- 下一篇: 论文浅尝 | 具有图卷积网络和顺序注意力