1999–2018年安全漏洞數據集

維基文庫,自由的圖書館
1999–2018年安全漏洞數據集
作者:李瑞科 劉元 廖雷 吳晨思 張玉清
2019年12月30日
本作品收錄於《中國科學數據
李瑞科, 劉元, 廖雷, 等. 1999–2018年安全漏洞數據集[J/OL]. 中國科學數據, 2019, 4(4). (2019-07-25). DOI: 10.11922/csdata.2019.0026.zh.


摘要&關鍵詞[編輯]

摘要:安全漏洞(Vulnerability)是信息系統在設計、實現或部署等過程中產生的缺陷。這些缺陷一旦被惡意主體所利用和進行攻擊,就會對信息系統的安全造成損害,進而對用戶、社會以及國家等造成重大損失。本研究通過程序自動化和人工採集結合的方法採集國內外知名漏洞平台1999–2018年間的安全漏洞數據,對採集的近20年的漏洞數據進行切片和格式化操作,保證數據可讀性和一致性,從而構建完備的安全漏洞數據集。根據漏洞數據所屬漏洞平台,將本數據集劃分為來源不同的數據集。基於漏洞數據屬性,統計各個數據集中的漏洞總條目數,統計數據集中含有通用漏洞紕漏(CVE)標識的漏洞條目數以及不同漏洞類型對應的漏洞條目數。本數據集在科學研究、安全預警和安全事件處理方面發揮着重要的作用。研究人員可以使用本數據集進行相應的安全科學研究;軟件開發者通過查詢本數據集,能夠及時發現自身軟件存在的漏洞。

關鍵詞:安全漏洞;漏洞數據集;數據採集;漏洞平台

Abstract & Keywords[編輯]

Abstract: Vulnerability is a defect in the design, implementation, or deployment of information systems. Once these defects are exploited or attacked by malicious entities, they will cause damage to the security of the information system, resulting in heavy losses to users, society, and the state. This study collects the data of vulnerability of popular vulnerability platforms from 1999 to 2018 through the combination of program automation and manual acquisition. The collection of nearly 20 years of data of vulnerability is sliced and formatted to ensure data readability and consistency, thus building a complete dataset of vulnerability. According to the vulnerability platform to which the vulnerability data belongs, the dataset is divided into several parts with different sources. Based on the vulnerability data attribute, the total number of entries in the dataset containing the vulnerability is counted, including the number of vulnerability entries identified by the CVE and the number of vulnerability entries corresponding to different vulnerability types. The dataset plays an essential role in scientific research, security early warning, and security incident handling. Researchers can use this dataset to conduct corresponding security research; software developers can find out the vulnerabilities in their software by querying this dataset.

Keywords: vulnerability; vulnerability dataset; data collection; vulnerability platform

數據庫(集)基本信息簡介[編輯]

數據庫(集)名稱 1999–2018年安全漏洞數據集
數據作者 李瑞科、劉元、廖雷、吳晨思、張玉清
數據通信作者 張玉清(zhangyq@ucas.ac.cn)
數據時間範圍 1999–2018年
地理區域 世界各國
數據量 114 MB
數據格式 *.xlsx
數據服務系統網址 http://www.sciencedb.cn/dataSet/handle/791
基金項目 中國科學院信息化專項(XXH13505-03-207)
數據庫(集)組成 本數據集是對NVD、Secunia、SecurityFocus、CNVD、CNND、NSFocus漏洞平台的數據進行採集和整理而成。數據集共包括6個數據文件,分別為:NVD1.zip, Secunia2.zip、SecurityFocus3.zip、CNVD4.zip、CNND5.zip、NSFocus6.zip。其中NVD1.zip為NVD安全漏洞數據集,Secunia2.zip為Secunia安全漏洞數據集,SecurityFocus3.zip為SecurityFocus安全漏洞數據集,CNVD4.zip為CNVD安全漏洞數據集,CNNVD5.zip為CNNVD安全漏洞數據集,NSFocus6.zip為NSFocus安全漏洞數據集。

Dataset Profile[編輯]

Title A dataset of vulnerability during 1999–2018
Data corresponding author Zhang yuqing(zhangyq@ucas.ac.cn)
Data authors Li Ruike, Liu Yuan, Liao Lei, Wu Chensi, Zhang Yuqing
Time range 1999–2018
Geographical scope Worldwide
Data volume 117 MB
Data format *.xlsx
Data service system <http://www.sciencedb.cn/dataSet/handle/791>
Source of funding Informatization project of the Chinese Academy of Sciences: Engineering of Scientific big data (XXH13505-03-207)
Dataset composition The dataset is collected and organized for data from NVD, Secunia, SecurityFocus, CNVD, CNND, and NSFocus vulnerability platforms. The data set includes a total of six data files: NVD1.zip, Secunia2.zip, SecurityFocus3.zip, CNVD4.zip, CNND5.zip, NSFocus6.zip. Among them, NVD1.zip is the dataset of NVD vulnerability platform; Secunia2.zip is the dataset of Secunia vulnerability platform; SecurityFocus3.zip is the dataset of SecurityFocus vulnerability platform; CNVD4.zip is the dataset of CNVD vulnerability platform, CNNVD5.zip is the dataset of CNNVD vulnerability platform, NSFocus6.zip is the dataset of NSFocus vulnerability platform.


引 言[編輯]

安全漏洞(Vulnerability)是信息系統在設計、實現或部署等過程中產生的缺陷。這些缺陷以不同形式存在於信息系統的各個層次和環節之中,一旦被惡意主體所利用和進行攻擊,就會對信息系統的安全造成損害,從而影響構建於信息系統之上的正常服務的運行,危害信息系統的安全,導致用戶隱私信息被泄露,進而對用戶、社會以及國家等造成重大損失[1]

近年來,隨着網絡系統大規模化和複雜性的增加,安全漏洞數量大幅增加,增多了惡意網絡用戶攻擊網絡設備的機會,同時也增大了用戶使用網絡時的安全風險。在減輕安全漏洞帶來的危害的措施中,安全漏洞數據源已成為了重要的信息基礎設施和保護網絡安全的重要手段[2]。安全漏洞數據源包括漏洞庫、安全論壇以及博客等,這些數據源一般會以網站的形式展示,便於用戶瀏覽。通過在漏洞數據源上發布漏洞信息,能夠及時、準確地將安全預警信息提供給存在漏洞的軟件開發企業、廣大用戶、國家各部門及研究組織,從而可以有效降低安全事件發生的可能性。

由於各類漏洞數據源隸屬不同組織或機構,使得不同漏洞平台的漏洞描述存在許多差異,不同的漏洞平台漏洞數據來源不同、關注的漏洞信息字段不同以及漏洞發布機制不同等,導致其漏洞描述格式不統一,漏洞數據也不能做到完備。本數據集通過採集整合多個國內外知名漏洞平台的漏洞數據,對數據進行交叉對比整合,儘可能得到更加完備的數據集,並統一漏洞描述信息。統計各個數據集中的漏洞總條目數、含有通用漏洞紕漏(Common Vulnerability and Exposures,CVE[3])標識的漏洞條目數以及不同漏洞類型對應的漏洞條目數,繪製漏洞數據近20年趨勢圖,得到更詳細的數據集,對漏洞數據質量進行提升,以提高漏洞數據的利用價值,減少因漏洞造成的損失。

1 數據採集和處理方法[編輯]

1.1 數據源[編輯]

安全漏洞數據源包括不同的漏洞庫、安全論壇以及博客。這些數據源保存了各類安全漏洞的基本信息、特徵和解決方案等屬性,是信息安全基礎設施中重要的一環。漏洞數據一般會以網站的形式展示,便於用戶瀏覽、及時發現問題並做出相應的防範措施。為保證數據的高可靠性和高質量,本次研究的數據源主要有國內外知名漏洞庫網站和漏洞論壇兩部分,包括美國國家漏洞NVD[4]、丹麥漏洞庫Secunia[5]、賽門鐵克的漏洞庫SecurityFocus[6]、國家信息安全漏洞共享平台CNVD[7]、國家信息安全漏洞庫CNNVD[8]以及綠盟科技中文安全漏洞庫NSFocus[9]6個安全漏洞平台(表1)。其中NVD、Secunia、SecurityFocus為英文漏洞平台,漏洞描述為英文形式;CNVD、CNNVD、NSFocus為中文漏洞平台,漏洞描述為中文形式。


表1 安全漏洞平台

所屬組織 漏洞庫名稱 漏洞庫簡稱
NIST National Vulnerability Database NVD
Flexera Software Secunia Secunia
SecutiryFocus SecutiryFocus SecFocus
國家信息技術安全研究中心和國家互聯網應急中心 國家信息安全漏洞共享平台 CNVD
中國信息安全測評中心 中國國家漏洞庫 CNNVD
綠盟科技 綠盟科技中文安全漏洞庫 NSFocus


美國國家漏洞庫NVD由美國國家標準與技術委員會中的計算機安全資源中心創建,由美國國土安全部的國家網絡安全司提供贊助。NVD是漏洞庫領域的集大成者,擁有高質量的漏洞數據資源,數據資源豐富、漏洞描述全面詳細,是漏洞發布和安全預警的重要平台。本數據集中含CVE編號的漏洞信息均可從NVD平台獲取,但從NVD漏洞平台採集到的漏洞數據並不完備,對於沒有CVE編號的漏洞或者中文描述類型的漏洞數據會遺漏,因此還需要從其他知名漏洞平台採集漏洞信息作為補充和完善。

1.2 數據採集與處理[編輯]

1.2.1 數據採集處理整體框架[編輯]

數據採集處理整體框架如圖1所示,分為4個模塊:漏洞數據源模塊、漏洞數據採集模塊、漏洞數據處理模塊和漏洞數據存儲模塊。


圖片

圖1 數據採集處理整體框架


框架的整體流程為:由6個漏洞平台提供1999–2018年的安全漏洞原始數據,通過數據採集引擎獲取到安全漏洞的原始信息,經過漏洞處理模塊,完成漏洞字段提取和格式化等操作,最終將採集到的單條漏洞數據保存在MySql數據庫中形成安全漏洞數據集。

1.2.2 數據採集方法[編輯]

安全漏洞數據採集部分,主要基於Scrapy框架[10],整體架構如圖2所示。Scrapy是一個基於Python的快速、高層次的提取網站結構性數據而編寫的應用框架。可以應用在包括數據挖掘、信息處理或存儲歷史數據等一系列的程序中,也可以應用在獲取接口所返回的數據。Scrapy框架在安全漏洞數據採集方面優勢明顯,可以很快捷地針對不同的漏洞平台定製不同的漏洞匹配規則,即定製選擇器進行漏洞信息的多通道異步請求、分布式採集。


圖片

圖2 Scrapy整體架構[10]


1.2.3 數據處理方法[編輯]

漏洞平台的漏洞數據大都為非結構化的數據格式,來源多樣,不同數據平台的數據表現形式各異,導致直接下載的數據難以理解和復用。安全漏洞數據處理部分完成數據字段的切片和格式化等操作。其中切片操作主要是在採集漏洞平台數據時,將整個頁面信息根據頁面分布以及表單結構進行切片,得到關鍵的信息片段,以便對信息片段進行數據字段提取。由於原始頁面數據字段描述形式不統一或部分頁面信息片段存在缺失,格式化操作完成數據字段標準化,並按照統一格式輸出。

根據Scrapy框架採集的數據處理後得到的數據字段有漏洞名稱、CVE編號、發布時間、更新時間、危害等級、分類、受影響廠商、參考鏈接等[11][12][13]。如圖3所示,顯示了6個漏洞平台的字段數量,其中CNVD漏洞平台所含字段最多為15個、所含字段最少的為只含有9個字段的CNNVD數據平台。


圖片

圖3 漏洞字段數量


1.2.4 數據存儲方法[編輯]

漏洞數據存儲部分,保存數據集有同步操作和異步操作兩種方法。數據量少的時候採用同步操作;數據量大時採用異步操作。採集數據的速度大於數據庫插入的速度,當數據量大時就會出現堵塞,就需要採用異步保存。安全漏洞數據集採用異步存儲模式將格式化後的漏洞信息字段插入MySql數據庫中保存,整合,可視化。

2 數據樣本描述[編輯]

圖4為1999–2018年安全漏洞數據的統計圖,針對每個漏洞平台分別採集了其近20年的漏洞報告,統計漏洞數據條目,構建安全漏洞數據集。


圖片

圖4 1999–2018安全漏洞數量


圖5展示了所採集的NVD安全漏洞數據集的歷年漏洞記錄數量,漏洞的數量總體上呈現逐年增加的趨勢,而且近兩年來,漏洞數量劇增。2017年的漏洞記錄數超過了2016年全年漏洞記錄數的2倍,2018年發現的漏洞數量在 2017年的基礎上又有所增加。


圖片

圖5 NVD歷年安全漏洞數量統計


表2展示了NVD數據集中漏洞數據按照不同漏洞類型劃分的情況,將漏洞類型劃分為28個詳細類別和綜合類別Others。漏洞條目總數據量為166072條,漏洞數量最多的三種漏洞類型為:緩衝區錯誤(Buffer Errors)類型,17956條,比例為10.81%;跨站點腳本(Cross-Site Scripting XSS)類型,15488條,比例為9.33%和權限和訪問控制(Permissions, Privileges, and Access Control)類型,10144條,比例為6.11%。


表2 不同漏洞類型漏洞數量

序號 漏洞類型 數量 比例
1 驗證問題 2097 1.26%
2 緩衝區錯誤 17956 10.81%
3 代碼注入 3439 2.07%
4 命令注入 1151 0.69%
5 憑證管理 1600 0.96%
6 跨站請求偽造 2993 1.80%
7 跨站點腳本 15488 9.33%
8 加密問題 3972 2.39%
9 數據處理 612 0.37%
10 訪問控制不當 5768 3.47%
11 外部實體參考不正確 594 0.36%
12 信息泄露 9212 5.55%
13 輸入驗證 10118 6.09%
14 信息不足 8733 5.26%
15 整數溢出或環繞 1854 1.12%
16 鏈接問題 742 0.45%
17 空指針解除引用 1414 0.85%
18 數字錯誤 1797 1.08%
19 越界讀取 2283 1.37%
20 越界寫入 1001 0.60%
21 路徑遍歷 4010 2.41%
22 權限和訪問控制 10144 6.11%
23 條件錯誤 907 0.55%
24 資源管理錯誤 4992 3.01%
25 安全功能 1314 0.79%
26 SQL注入 7418 4.47%
27 資源枯竭 685 0.41%
28 使用錯誤 1826 1.10%
29 其他 41435 24.95%


圖6為NVD漏洞數據集根據類型劃分取條目數量值排名前15的類型構成的餅狀分布圖。其中漏洞總數量為15種類型漏洞的數量和。通過統計圖可以很直觀地看出前5種漏洞類型漏洞數量之和占據了整個漏洞總數量一半以上。


圖片

圖6 漏洞類型分布圖


3 數據質量控制和評估[編輯]

本數據從數據來源、數據採集和數據處理3個方面對數據質量進行控制和評價。

為保證安全漏洞數據集的質量和可信度,採集的原始數據均來自於國內外知名漏洞網站或論壇,由於其對數據進行嚴格檢查、篩選、處理和發布,從而保證了原始數據的高質量和高可信度。

在數據採集階段,為提高效率和避免手工採集錯誤,均採用程序自動採集加人工抽樣驗證的方法對數據進行完整性和正確性驗證。採集過程中如果由於網絡或服務器擁堵等原因導致少量漏洞數據條目未能一次性採集完成,則設置程序進行遍歷採集,將未能採集到的漏洞鏈接暫存,以待後續再次遍歷採集;若遍歷完畢後仍未能採集到,則採用人工方法,手動採集。

數據處理階段,由於不同漏洞庫格式不統一,漏洞條目各異,很多存在特殊字符,導致格式化字段時,有些匹配代碼並不能一次性完成所有格式化操作,產生數據差異,因此處理後再次採用人工對比檢查,對數據的檢查包括網絡異常、程序錯誤導致數據段缺失等明顯的問題以及數據格式、字段標準化命名、字段量綱、數據完整性等。單個數據條目的檢查中,主要針對異常數據進行修正、剔除和重新採集。

4 數據價值[編輯]

目前,由於各類漏洞數據源隸屬不同組織和機構,其運營宗旨和運營方式均有所不同,使得不同漏洞平台存在許多差異。不同的漏洞平台漏洞數據來源不同、關注的漏洞信息字段不同以及漏洞發布機制不同等,導致其漏洞描述格式不統一,漏洞數據也不能做到完備。

漏洞數據保存了各類漏洞的基本信息、特徵、解決方案等屬性。本數據集通過採集整合上述國內外知名漏洞平台的漏洞數據,儘可能得到更加完備的數據集,並且統一漏洞描述格式。根據漏洞數據的各個屬性,對數據集進行詳細劃分和數量統計,給出了描述更加清晰的漏洞條目。安全研究人員可以使用本數據集對不同漏洞平台的的漏洞信息進行差異性檢測,判斷不同漏洞平台對同一條安全漏洞的描述是否有誤以及安全平台的漏洞描述是否全面。安全漏洞數據集在安全預警、應急響應和安全事件處理方面同樣發揮着重要的作用。通過查看漏洞數據集中的漏洞信息,能夠及時、準確地將安全預警信息提供給存在漏洞的軟件開發企業、廣大用戶、國家各部門及研究組織,從而可以有效降低安全事件發生的可能性。

參考文獻[編輯]

  1. ALLODI L, MASSACCI F. Comparing vulnerability severity and exploits using case-control studies[J]. ACM Transactions on Information and System Security (TISSEC), 2014.
  2. 張玉清, 吳舒平, 劉奇旭, 等. 國家安全漏洞庫的設計與實現[J]. 通信學報, 2011, 32(6): 93-100.
  3. 通用漏洞披露CVE(Common Vulnerabilities and Exposures) [EB/OL]. [2019–06–16]. http://cve.mitre.org/ .
  4. 美國國家漏洞庫NVD(National Vulnerability Database) [EB/OL]. [2019–06–16]. https://nvd.nist.gov/ .
  5. 丹麥安全公司Secunia[EB/OL]. [2019–06–16]. http://secunia.com/.
  6. SecurityFocus[EB/OL]. [2019–06–16]. http://www.securityfocus.com/vulnerabilities.
  7. 國家信息安全漏洞共享平台[EB/OL]. [2019–06–16]. http://www.cnvd.org.cn/.
  8. 中國國家漏洞庫[EB/OL]. [2019–06–16]. http://www.cnnvd.org.cn/ .
  9. 綠盟科技漏洞庫[EB/OL]. [2019–06–16]. http://www.nsfocus.net/index.php .
  10. Scrapy框架[EB/OL]. [2019–06–16]. https://www.cnblogs.com/xxtalhr/p/9170343.html.
  11. 溫濤. 安全漏洞危害評估研究暨標準漏洞庫的設計與實現[D]. 2016.
  12. 中華人民共和國國家標準. 安全漏洞等級劃分指南(草案)[S]. 2010.
  13. 中華人民共和國國家標準. 漏洞標識與描述規範(草案)[S]. 2010.

數據引用格式[編輯]

李瑞科, 劉元, 廖雷, 等. 1999–2018年安全漏洞數據集[DB/OL]. Science Data Bank, 2019. (2019-06-20). DOI: 10.11922/sciencedb.791.


本作品在「知識共享-署名 4.0 國際」協議下發表。

Public domainPublic domainfalsefalse