楊詩雨, 蘇麗麗, 侯元偉, 郝永樂, 李偉平
(1.中國信息安全測評中心,北京 100085; 2.北京大學 軟件與微電子學院,北京 100871)
隨著網(wǎng)絡技術的發(fā)展和網(wǎng)絡空間的興起,互聯(lián)網(wǎng)、通信網(wǎng)、計算機系統(tǒng)、自動化控制系統(tǒng)、數(shù)字設備及其承載的應用、服務和數(shù)據(jù)等存在的安全問題與日俱增,漏洞、木馬、病毒等不斷出現(xiàn),引發(fā)嚴重的網(wǎng)絡安全事件,國家政治、經(jīng)濟、文化、社會、國防安全及公民在網(wǎng)絡空間的合法權益面臨嚴峻風險與挑戰(zhàn). 網(wǎng)絡安全漏洞是網(wǎng)絡空間的最大威脅之一,因此規(guī)范、高效的漏洞管理是保障網(wǎng)絡安全的重要舉措.
網(wǎng)絡安全漏洞[1]是信息技術、信息產(chǎn)品、信息系統(tǒng)在需求、設計、實現(xiàn)、配置、維護和使用等過程中,有意或無意產(chǎn)生的缺陷. 網(wǎng)絡安全漏洞的存在本身并不能導致?lián)p害,但若被攻擊者利用,就會對信息產(chǎn)品或系統(tǒng)造成安全損害,從而影響構建于信息產(chǎn)品或系統(tǒng)之上正常服務的運行,危害信息產(chǎn)品或系統(tǒng)及信息的安全屬性. 由于當前的技術局限性,漏洞在很大程度上是難以避免并且長期存在的. 近些年,伴隨著“HeartBleed”、“WannaCry”等漏洞引發(fā)的安全事件所造成的全球性影響,各國開始逐步加強漏洞管理方面的工作,政府部門、安全組織和商業(yè)公司等均建立自身的漏洞管理機構,通過對漏洞數(shù)據(jù)庫的運維實踐,開展漏洞的發(fā)現(xiàn)收集和整理發(fā)布等漏洞管理工作.
隨著漏洞管理信息化的不斷深入,網(wǎng)絡安全漏洞大量涌現(xiàn),使得過去以人工管理為主的管理模式已經(jīng)無法滿足社會發(fā)展的新形勢,傳統(tǒng)方式下漏洞數(shù)據(jù)管理工作低下的執(zhí)行效率逐漸成為制約漏洞管理機構有效開展漏洞威脅消控的主要因素. 本文對國內(nèi)外的漏洞管理機構進行深入調(diào)研,對漏洞管理過程和需求進行分析挖掘,并建立了基于工作流技術的漏洞管理模型,實現(xiàn)了自動化漏洞管理系統(tǒng),有效提升了漏洞管理的工作效率.
隨著計算機技術和通信技術的快速發(fā)展,無紙化、數(shù)字化的辦公環(huán)境逐漸成為新的流行趨勢. 20世紀70年代,工作流[2](workflow)技術逐步服務于生產(chǎn)和辦公自動化領域,為了實現(xiàn)特定的業(yè)務目標,定義一系列過程規(guī)則,對相互獨立的業(yè)務工作進行合理串聯(lián)和規(guī)范,對相互關聯(lián)的業(yè)務流程進行科學優(yōu)化和整合,實現(xiàn)業(yè)務工作的異構分布式執(zhí)行. 20世紀90年代以來,工作流技術逐步成為企業(yè)信息化管理的重要組成部分,在制造業(yè)、金融業(yè)、電訊業(yè)、航運業(yè)、教育業(yè)等領域得到廣泛應用. 目前對于工作流技術的應用主要是通過建立專門的工作流管理系統(tǒng)來實現(xiàn)的,具體實現(xiàn)方式往往可劃為獨立運行的工作流管理系統(tǒng)和嵌入式工作流系統(tǒng). 如美國Georgia大學計算機系METEOR項目開發(fā)出了一套獨立的基于Web服務器的工作流系統(tǒng)WebWork,而Microsoft、SAP等廠商則通過引入工作流引擎,將工作流技術集成到自己的操作系統(tǒng)和開發(fā)工具中.
工作流管理系統(tǒng)建立之前,首先要對業(yè)務流程進行工作流建模,工作流模型[3-4]是解決流程類問題的方法論,是工作流系統(tǒng)的核心和靈魂. 目前工作流建模技術共有11種[5],本文采用的業(yè)務流程模型及符號(business process model and notation,BPMN)是一種圖形化標記建模方法,能夠同時滿足將圖形化表示的模型轉(zhuǎn)換成機器能夠識別的模型的兩個目的——共享和執(zhí)行,使業(yè)務分析師、技術開發(fā)者、業(yè)務管理者和監(jiān)督者等相關業(yè)務人員能夠以可視化的方式創(chuàng)建、管理和監(jiān)控系統(tǒng)的執(zhí)行流程. 2011年,BPMN 2.0正式版本發(fā)布,解決了存儲、交換和執(zhí)行的問題,具備了更完備的表達能力.
工作流管理系統(tǒng)主要傾向于實現(xiàn)文檔、消息等內(nèi)容的自動化傳遞和在線申請、網(wǎng)絡審批等任務的流程化處理,而漏洞管理工作中恰恰涉及了大量的對于漏洞數(shù)據(jù)資源的分配、審核、處理和不同角色之間的傳遞,本文對漏洞管理的業(yè)務流程進行了分析和建模,并建立了漏洞工作流管理系統(tǒng),實現(xiàn)對于漏洞資源的高效管理.
2017年10月,美國威脅情報公司Recorded Future發(fā)布研究認為美國國家漏洞庫NVD(National Vulnerability Database)的漏洞發(fā)布效率過低,影響了重大漏洞的及時消控,建議開展漏洞主動發(fā)現(xiàn),以應對重大漏洞的及時披露,由此可見,提升漏洞管理效率迫在眉睫. 本文對當前的漏洞管理機構進行調(diào)研,選取其中管理機制較為完善的平臺進行對比和分析,進而總結一套適用于漏洞管理機構的一般性管理流程進行建模和實現(xiàn).
本文主要研究的漏洞管理機構如下:美國通用漏洞和披露平臺CVE(Common Vulnerabilities and Exposures)、美國國家漏洞庫NVD、日本漏洞通報平臺JVN(Japan Vulnerability Notes)、中國國家信息安全漏洞庫CNNVD(China National Vulnerability Database of Information Security)和中國國家信息安全漏洞共享平臺CNVD(China National Vulnerability Database).
1.2.1CVE
1999年,美國MITRE公司以社區(qū)的形式推出了CVE漏洞管理平臺[6],由美國國土安全部下的計算機應急響應小組US-CERT為該項目提供資金支持. CVE旨在為漏洞標識信息提供一個跨平臺標準,所以CVE不是一個漏洞數(shù)據(jù)庫,更確切地說是一個漏洞索引目錄. CVE具體的漏洞管理過程如圖1所示.
CVE為了最大化漏洞索引目錄,廣泛地開展漏洞的發(fā)現(xiàn)收集工作.
① CVE Content Team從Microsoft、Oracle等廠商的安全公告和Bugtraq、ZDI等漏洞源中采集漏洞信息.
② CVE Editor從互聯(lián)網(wǎng)上搜集新出現(xiàn)的、引起廣泛輿論關注的重要漏洞.
③ CNA[7]收集安全研究人員或組織自主發(fā)現(xiàn)的漏洞信息,研判確認后進行漏洞修復. CNA由MITRE公司、軟件廠商和第三方協(xié)調(diào)機構組成,CNA成員收到本公司的漏洞后,可不通過CVEEditor直接向漏洞發(fā)現(xiàn)者分配CVE標識,漏洞修復完成后將相關信息告知CVE Editor,以創(chuàng)建CVE條目. 對于非CNA成員的漏洞,由MITRE公司接收漏洞信息,在漏洞發(fā)現(xiàn)者提供第三方確認證明后,即可創(chuàng)建CVE條目.
圖1 CVE漏洞管理機制Fig.1 CVE vulnerability management mechanism
1.2.2NVD
2005年,美國國家標準與技術委員會NIST建立了NVD[8],脫胎于2000年建立的ICAT平臺,成為美國國家級的漏洞數(shù)據(jù)庫. 與CVE相同的是,NVD同樣由計算機應急響應小組US-CERT提供資金和技術支持. 與CVE不同的是,NVD提供了更為詳細的漏洞描述,包括漏洞的危害等級、漏洞影響的軟件及其版本、漏洞的修復情況等內(nèi)容. NVD的漏洞管理過程如圖2所示.
圖2 NVD漏洞管理機制Fig.2 NVD vulnerability management mechanism
NVD建立在CVE列表之上并與之完全同步,NVD團隊同樣不進行漏洞的研判工作,而是分析來自CVE的漏洞條目和相關材料,并進行網(wǎng)絡搜集,基于《通用漏洞評估系統(tǒng)CVSS》、《通用平臺列舉CPE》等SCAP標準,添加漏洞的危害等級和類型等屬性. NVD將產(chǎn)品數(shù)據(jù)和漏洞數(shù)據(jù)進行關聯(lián)發(fā)布,并提供漏洞搜索引擎服務.
1.2.3JVN
2004年,日本情報處理推進機構IPA和計算機安全應急響應組JPCERT/CC兩家機構開始聯(lián)合運營JVN[9]. JVN旨在提供一個協(xié)助系統(tǒng)管理人員、軟件開發(fā)人員等提升產(chǎn)品或系統(tǒng)安全性的漏洞知識庫,因此JVN除了收錄美國US-CERT[10]、英國CPNI[11]等機構發(fā)布的漏洞數(shù)據(jù)外,還通過信息安全預警合作機制收集漏洞,IPA初步研判漏洞并交由JPCERT/CC處理,JPCERT/CC和產(chǎn)品研發(fā)人員溝通協(xié)調(diào)解決方案,并在漏洞修復后公布漏洞詳情、開發(fā)人員的相關聲明等信息. JVN漏洞管理過程如圖3所示.
圖3 JVN漏洞管理機制Fig.3 JVN vulnerability management mechanism
1.2.4CNNVD
2009年,國家信息安全漏洞庫CNNVD[12]正式投入運營,CNNVD是中國信息安全測評中心為切實履行漏洞分析和風險評估的職能,負責建設運維的國家信息安全漏洞庫. CNNVD的漏洞管理過程如圖4所示,從提高我國網(wǎng)絡和信息安全保障能力出發(fā),通過自主挖掘、社會提交、協(xié)作共享、網(wǎng)絡搜集以及技術檢測等方式開展漏洞的采集收錄工作,聯(lián)合政府部門、行業(yè)用戶、安全廠商、高校和科研機構等社會力量進行漏洞的分析驗證、預警通報和修復消控工作,并為重要行業(yè)和關鍵基礎設施安全保障工作提供技術支撐和數(shù)據(jù)支持.
圖4 CNNVD漏洞管理機制Fig.4 CNNVD vulnerability management mechanism
1.2.5CNVD
2010年,國家計算機網(wǎng)絡應急技術處理協(xié)調(diào)中心CNCERT正式開通了CNVD[13]網(wǎng)站. 作為一個漏洞共享知識庫,CNVD致力于建立漏洞統(tǒng)一收集驗證、預警發(fā)布及應急處置體系. CNVD的漏洞管理流程如圖5所示. CNVD工作委員會接收漏洞后,由秘書處CNCERT組織CNVD成員單位(技術組、用戶組、合作方)進行漏洞分析驗證,核實確認漏洞信息后,CNVD工作委員會與相關廠商共同協(xié)商發(fā)布時間,并根據(jù)漏洞發(fā)布策略,選擇性的發(fā)布漏洞信息.
圖5 CNVD漏洞管理機制Fig.5 CNVD vulnerability management mechanism
1.2.6對比分析
CVE在漏洞管理過程中更注重漏洞數(shù)據(jù)的發(fā)現(xiàn)和漏洞信息的標識,不對漏洞進行精確描述,降低了數(shù)據(jù)運維的復雜性,實現(xiàn)了最廣泛地漏洞收集. 此外,通過CNA機制,由廠商自己解決自身的漏洞問題,簡化了漏洞通報和修復的流程. 但是CVE發(fā)布的漏洞具有一定的局限性,對于廠商或第三方機構未公開的漏洞和系統(tǒng)配置問題的漏洞不進行發(fā)布,因此,對于網(wǎng)上流傳的危害嚴重但尚未修復的漏洞,CVE可能已經(jīng)通過“保留發(fā)布”的形式.
分配了CVE編號,但漏洞描述等其他細節(jié)都無法從網(wǎng)站獲取,使用戶無警覺地暴露在風險之中. NVD完全與CVE同步,也存在相同的問題,但NVD兼容了SCAP系列標準,漏洞信息更詳細和規(guī)范,方便用戶多維度檢索和多產(chǎn)品引用. JVN在引用NVD和CPNI等數(shù)據(jù)的基礎上,還建立了漏洞的研判通報機制,并督促廠商修復漏洞,在漏洞威脅消控方面提出了另一種解決辦法. CNNVD和CNVD綜合各方優(yōu)勢并結合國內(nèi)外先進經(jīng)驗,兼容NVD等漏洞源,并開展漏洞的驗證研判和預警消控工作,實施漏洞的全過程管理,有助于加快漏洞威脅消控的流程. 除上述平臺外,本文對俄羅斯BDU、澳大利亞AusCERT、歐盟CERT-EU、英國CPNI、芬蘭NCSC-FI等漏洞平臺進行了研究和分析,對于這些平臺的對比分析如表1所示.
表1 國內(nèi)外漏洞管理機構對比分析Tab.1 Comparative analysis of vulnerability management institutions at home and abroad
為漏洞管理機構在開展漏洞管理實踐的過程中往往會遇到以下兩個難題:
① 管理工作涉及了對于大量漏洞數(shù)據(jù)的流程化處理和對于不同管理階段的系統(tǒng)化銜接等,數(shù)據(jù)量往往超出數(shù)據(jù)處理能力時,導致重大漏洞難以及時消控;
② 對于不同階段的漏洞管理行為往往由不同的人員承擔,人角色之間較高的溝通成本也成為漏洞消控滯后的重要因素.
本文通過上述調(diào)研和分析,總結一套一般性的漏洞管理流程進行建模,并通過建立工作流管理系統(tǒng)實現(xiàn)對于漏洞資源的管理和監(jiān)控.
本文基于對國內(nèi)外漏洞管理機構的調(diào)研分析,以CVE、NVD和CNNVD的管理模式為研究目標,在明確不同管理角色職能分工的條件下,有針對性地提出不同階段的漏洞處理流程,通過BPMN建立一套一般性的漏洞管理模型(VM-workflow),并通過JBPM進行實現(xiàn)和部署.
本文將漏洞管理機構下設4個工作委員會(團隊),如圖6所示.
圖6 組織結構模型Fig.6 Organizational structure model
① 漏洞管理委員會:由漏洞管理機構的漏洞收集團隊、安全廠商和第三方協(xié)調(diào)機構組成,負責開展漏洞收集工作. 其中,安全廠商和第三方協(xié)調(diào)機構負責自身漏洞的研判和修復工作,并在研判確認后和修復完成后分別將漏洞相關情況告知漏洞運營團隊. 漏洞收集團隊負責收集非委員會成員的漏洞,并交由漏洞研判團隊進行處理.
② 漏洞發(fā)現(xiàn)團隊:負責從網(wǎng)絡渠道搜集漏洞信息,進行初步分析整理后,交由漏洞研判團隊進行處理.
③ 漏洞研判團隊:由漏洞標識團隊和漏洞驗證團隊組成,負責對漏洞進行重復性驗證和真實性驗證等漏洞研判工作. 其中,漏洞標識團隊對漏洞進行關鍵信息標識,初步判定漏洞所涉及的領域、影響的范圍和危害的程度等后,進行漏洞的去重工作;漏洞驗證團隊根據(jù)漏洞標識信息的優(yōu)先級對漏洞進行驗證和復現(xiàn),確認漏洞是否真實存在、評估漏洞的危害等級等. 漏洞研判團隊確認后的漏洞交由漏洞運營團隊處理.
④ 漏洞運營團隊:負責分配漏洞編號、整理漏洞條目、協(xié)調(diào)受影響的廠商進行漏洞修復、漏洞發(fā)布等工作,并負責整個漏洞管理流程的監(jiān)督工作.
本文使用BPMN modeler工具實現(xiàn)漏洞管理的BPMN 2.0工作流建模,并可實現(xiàn)可視化圖形和XML的自動轉(zhuǎn)化. 本文將漏洞管理流程分為3個子流程:引用漏洞管理流程、采集漏洞管理流程和收集漏洞管理流程,其中引用漏洞通過系統(tǒng)自動爬取相關漏洞源數(shù)據(jù),不涉及人工管理,因此本文僅對采集漏洞和收集漏洞進行工作流建模.
① 采集漏洞管理流程建模如圖7所示,利用泳道將活動劃分到不同的可視化類別中,清晰地描述不同管理角色的責任與職責,采用定時任務開啟工作流程,在任務流轉(zhuǎn)中,根據(jù)系統(tǒng)建設情況和相關業(yè)務需求,選擇人工任務、手工任務、腳本任務、服務任務、業(yè)務規(guī)則任務等任務類型,實現(xiàn)工作任務的自動化執(zhí)行和流轉(zhuǎn),并可通過工作流系統(tǒng)對流程進行監(jiān)控,進行超時提醒、異常處理等多種功能.
圖7 采集漏洞管理模型Fig.7 Management model for gathering vulnerabilities
② 收集漏洞管理流程建模如圖8所示,與采集流程不同,收集流程屬于消息開始任務,收到漏洞作為工作流任務的起始點. 在漏洞研判任務中存在與采集流程相同的事務性子流程.
圖8 收集漏洞管理模型Fig.8 Management model for collecting vulnerabilities
隨著企業(yè)信息化的不斷深入,漏洞管理機構在開展漏洞管理實踐的過程中逐步建立了漏洞采集系統(tǒng)、漏洞收集系統(tǒng)、漏洞驗證系統(tǒng)等以滿足不同的業(yè)務需求,在這個背景下,工作流管理系統(tǒng)的搭建需要考慮與整體應用的開發(fā)框架進行整合的問題.
本文對于系統(tǒng)后臺的設計遵循規(guī)模性、環(huán)境關聯(lián)性、層次性、可控制性、不確定性等原則[14],采用分層結構實現(xiàn),主要分為:數(shù)據(jù)層、支撐層、應用層、接入層,如圖9所示. 數(shù)據(jù)層保存了漏洞名稱、漏洞編號、漏洞描述等業(yè)務數(shù)據(jù),以及流程實例、執(zhí)行對象、任務期限等流程數(shù)據(jù)和其他數(shù)據(jù);支撐層包含了實現(xiàn)身份認證和權限控制的組件,以及控制工作任務進行流轉(zhuǎn)的工作流組件等;應用層涵蓋了所有與漏洞管理業(yè)務相關的工作系統(tǒng),即從漏洞的發(fā)現(xiàn)收集到整理發(fā)布的流程應用系統(tǒng),其中工作流管理系統(tǒng)作為中央控制器,通過與相關業(yè)務系統(tǒng)進行業(yè)務串接和數(shù)據(jù)交互,實現(xiàn)對整個漏洞管理流程的維護和控制;接入層對成員單位、合作伙伴、安全人員或組織等開放了不同的數(shù)據(jù)接口,以開展漏洞數(shù)據(jù)的收集和發(fā)布工作.
圖9 系統(tǒng)邏輯架構圖Fig.9 System logic architecture diagram
工作流管理系統(tǒng)實現(xiàn)了核心路由的功能,能夠解釋流程定義、控制流程的運行過程、實現(xiàn)對工作流操作的管理和監(jiān)督等. 本文擬通過JBMN4(java business process management 4.0)實現(xiàn)工作流管理系統(tǒng). 根據(jù)上節(jié)中對漏洞采集流程和漏洞收集流程的業(yè)務建模,通過JBMN4進行部署和解釋,并對每一個任務的執(zhí)行過程進行表達,進而實現(xiàn)整個業(yè)務流程的流轉(zhuǎn)和監(jiān)控.
建立了基于工作流技術的自動化漏洞管理系統(tǒng),采用Spring + Spring MVC + Hibernate + jBPM的技術架構進行系統(tǒng)實現(xiàn),系統(tǒng)提供的核心功能包括我的待辦任務、任務中心. 本文中待辦任務功能模塊允許系統(tǒng)用戶查看并執(zhí)行自己待辦任務,并以可視化圖形的方式展示出該漏洞的處置進度. 任務中心功能模塊則提供全局的漏洞管理監(jiān)控,管理人員可以對系統(tǒng)處理過的所有漏洞進行整體把控和跟蹤,并且可以查看整個漏洞處置過程中各個環(huán)節(jié)的責任人和任務耗時. 借助于該系統(tǒng),單個漏洞的平均處理時間縮短了1~2 d,平均每天處理的漏洞數(shù)量提升了5~10個.
本文通過對漏洞管理機制的組織架構進行建模,強化了漏洞管理委員會、漏洞采集團隊、漏洞研判團隊和漏洞運營團隊的分工和責任,并通過漏洞采集流程和收集流程進行建模,為大量漏洞數(shù)據(jù)的流程化處理和不同漏洞處理階段的系統(tǒng)化銜接提供了模型化設計方案和系統(tǒng)化解決方案,進而解決了目前漏洞管理工作中存在的主要問題,加強了漏洞管理各階段行為的連接和監(jiān)控,降低了由于人為因素造成的不利影響,滿足了漏洞管理機構對于漏洞的資源管理和時間管理. 此外,通過漏洞標識團隊研判漏洞處置的優(yōu)先級,進一步提升了對于重大漏洞研判和消控的工作效率.
高效的漏洞管理機制是消控漏洞威脅的重要保障. 本文調(diào)研了國內(nèi)外漏洞管理機構的工作機制,從漏洞數(shù)據(jù)的內(nèi)容、種類以及漏洞的收集機制、研判機制、消控機制等多維度進行了對比分析,總結了一套一般性的漏洞管理組織架構和處理流程,并結合工作流技術進行業(yè)務建模和系統(tǒng)實現(xiàn),解決了目前漏洞管理中存在的處理效率低和交接復雜度高的問題,展望了漏洞管理的研究方向.