國外IT媒體Tech Monitor對近20年的123413個軟件漏洞(CVE)進行了分析,發(fā)現(xiàn)漏洞的數(shù)量正在激增——IT負責人正面臨嚴峻挑戰(zhàn):網(wǎng)絡犯罪團伙日益職業(yè)化,擁有豐富的資源,能夠?qū)ρa丁進行逆向工程處理,可在較短時間內(nèi)對漏洞進行利用。
2016年只有5579個漏洞擁有CVE編號(CVE開放標準為安全漏洞提供了標識)。到2019年,這個數(shù)字已達到了13988個;2020年有望超過2萬個。
分析表明,安全漏洞增加一方面歸因于數(shù)字化產(chǎn)品遍地開花:2020年有望成為易受攻擊的產(chǎn)品數(shù)量最多的一年,約有5635個供應商產(chǎn)品被曝出安全漏洞。
為了進行這項分析,研究人員從美國國家標準技術(shù)研究所(NIST)的國家漏洞數(shù)據(jù)庫(NVD)獲取了所有的歷史CVE數(shù)據(jù)。數(shù)據(jù)庫提供了可追溯至2002年的JSON文件。我們使用R腳本下載了這些文件,然后解壓縮,最后運行函數(shù),將JSON數(shù)據(jù)解析成易于讀取的表,得以查詢和研讀數(shù)據(jù)。
以下是分析的結(jié)果。
安全漏洞數(shù)量、驗證程度增加明顯
2014年以來,高風險和高危漏洞的比例有所提高。2018年以來,每年披露的漏洞數(shù)量也增長明顯。其中,甲骨文和微軟兩公司的漏洞數(shù)量最多。
圖表1. 每年披露的網(wǎng)絡安全漏洞數(shù)量。
按照NIST的定義,漏洞是“在軟硬件組件或部件中發(fā)現(xiàn)的計算邏輯(比如代碼)缺陷,一旦被利用,就會對機密性、完整性或可用性產(chǎn)生負面影響?!?/p>
漏洞采用CVSS進行分級———CVSS的評分標準包括:所需的訪問類型、是否需要用戶交互或者用戶/管理員特權(quán)、賦予攻擊者的權(quán)限/能力、漏洞的總體嚴重程度以及其他衡量指標。
近些年來,這套分類系統(tǒng)已得到了更新——對某些特征而言,較早的年份被排除在分析之外。從總體嚴重程度來看,自2014年以來,被列為“高風險”或“高?!鳖悇e的漏洞所占比例有所提高。
這一方面歸因于新增了CVSSv3,它引入了“高?!鳖悇e。即使排除高危漏洞后,數(shù)據(jù)也顯示總體嚴重程度有所提高。這意味著不僅漏洞變得更司空見慣,還變得更嚴重。(分析超過幾年的時間序列數(shù)據(jù)時,只要有CVSSv3就使用它,否則使用CVSSv2。)
圖表2. 不同CVSS嚴重程度的漏洞所占的比例。
絕大多數(shù)漏洞可遠程利用,只有五分之二的漏洞需要用戶進行操作才能被利用。
攻擊者利用軟件漏洞的最常見方法是通過網(wǎng)絡——2020年的漏洞,76%可以遠程利用。其次是本地漏洞,攻擊者需要訪問系統(tǒng)(占2020年漏洞數(shù)量的21%)入侵系統(tǒng)才能利用這類漏洞。
圖表3.2016年至2020年不同攻擊途徑的漏洞所占的比例。
攻擊者通??梢栽跊]有用戶的幫助下利用系統(tǒng)中的軟件漏洞。但是如下圖所示,38%的時段需要有人執(zhí)行操作(比如,系統(tǒng)管理員安裝某個軟件)。
圖表4.2016年至2020年需要或無需人員操作的漏洞所占的比例。
通常來說,就CVSS排名而言,大多數(shù)漏洞都“很容易”被利用。自2016年以來,只有4797個漏洞具有很高的攻擊復雜性——這意味著攻擊者可能需要完美的時機或其他條件,重復漏洞利用更加困難。相比之下,51134個漏洞的復雜性較低,這意味著從理論上講,大多數(shù)漏洞的復雜性較低,漏洞很容易被重復利用。
圖表5.2016年至2020年不同復雜程度的漏洞的數(shù)量。
后果嚴重的漏洞數(shù)量增加。近些年來,軟件漏洞對完整性的影響越來越嚴重。自2016年以來,導致完整性“高度”喪失(以前稱為“完全喪失”)的漏洞的數(shù)量每年多達6000個。這種數(shù)量激增可能與CVSS規(guī)范出現(xiàn)變化有關(guān)。
圖6. 2002年至2020年對完整性影響高低的漏洞數(shù)量。
幾大供應商漏洞數(shù)量居前列
在過去20年,同一批供應商出現(xiàn)的技術(shù)漏洞一直數(shù)量最多。NIST數(shù)據(jù)庫中,報告漏洞數(shù)量最多的兩家公司是甲骨文(6983個漏洞)和微軟(6952個漏洞)。微軟從未跌出過前十名,預計2020年度漏洞總數(shù)會首次突破1000個。
近些年來,谷歌的漏洞數(shù)量名次也有所上升。到目前為止,安全研究人員已發(fā)現(xiàn)了谷歌的723個漏洞。甲骨文一直漏洞百出,自2010年收購Sun微系統(tǒng)以來,漏洞數(shù)量呈上升趨勢:到目前為止,甲骨文已出現(xiàn)了651個漏洞。
圖表7. 十大供應商每年的漏洞數(shù)量
圖表8. 漏洞數(shù)量最多的20家廠商。
甲骨文和微軟報告漏洞最多,這既體現(xiàn)了兩家公司的規(guī)模,也體現(xiàn)了在質(zhì)量保證流程上的不足。較為公道的看法是,這兩家公司都實施了完善的流程,以一種半公開和標準化的方式來識別和修復漏洞。
對單個“產(chǎn)品”的分析表明,Linux以4111個漏洞排名第一,這可能驗證了Linus的定律——只要足夠多的眼球關(guān)注,就可讓所有軟件缺陷浮現(xiàn)。Android以3121個漏洞緊隨其后,其漏洞數(shù)量多于iPhone OS。Windows按照不同版本分開歸類,如果加在一起總計3453個漏洞,排在第二位。
圖9. 歷年來漏洞數(shù)量最多的20大產(chǎn)品。
注:此次分析只關(guān)注單個的CVE,單個產(chǎn)品的漏洞數(shù)量總和會大于供應商的漏洞數(shù)量。因為單個漏洞可能出現(xiàn)在多個產(chǎn)品上——比如說,最近發(fā)現(xiàn)的Windows 10漏洞也可能是Windows XP中的漏洞,依此類推。
廣泛的漏洞更新需求給IT團隊帶來了巨大的壓力,尤其是面臨不兼容的風險以及許多補丁需要硬重啟。
漏洞管理流程可能跟上了步伐,IT團隊理論上可以在傳統(tǒng)IT資產(chǎn)以及云或容器等新型服務中迅速找到那些問題,但IT運營團隊可能還沒有成熟起來。