專利名稱:一種主機風險評估方法和裝置的制作方法
技術領域:
本發(fā)明涉及計算機網絡安全技術領域,尤其涉及一種主機風險評估方法和裝置。
背景技術:
近年來,計算機網絡攻擊日益增多,人們面臨來自計算機網絡系統(tǒng)的安全威脅日益嚴重,安全問題已經成為影響hternet發(fā)展和商業(yè)應用的主要問題。而造成網絡安全問題的最重要和最根本的原因是,計算機系統(tǒng)存在可以被滲透利用的安全漏洞和風險。目前, 對主機風險評估的方法根據評估對象可分為三大類資產評估、漏洞評估和威脅評估。其中,資產評估是根據資產安全屬性的輸入,按照資產評估模型,得到資產的安全價值,用來確定評估對象,是威脅評估和漏洞評估的基礎。漏洞評估主要是檢測、評估影響系統(tǒng)安全的內部因素。漏洞評估又包括對網絡的漏洞評估、對系統(tǒng)主機的漏洞評估以及對數據庫系統(tǒng)的漏洞評估三個方面。漏洞評估涉及到的因素多,需要已有漏洞庫的支持。威脅評估是在網絡系統(tǒng)運行時候對安全威脅進行相關分析,分析外部事件對系統(tǒng)安全的影響。威脅評估更關注現實條件下,網絡和主機的脆弱性。傳統(tǒng)的主機風險評估方法,一般都是以漏洞庫或知識庫為基礎,以漏洞掃描和分析為手段,是靜態(tài)和被動的風險評估方式。其特點是應用簡單,對已存在的漏洞檢測和風險的評估十分準確。但它是定性定量的分析,受制于特定的應用環(huán)境和系統(tǒng)?,F有的主機風險評估方法只是對主機本身的一些特性進行分析和提取,沒有從主機拓撲關系和攻擊路徑等角度出發(fā),因此不能深入地發(fā)掘主機潛在的脆弱性。
發(fā)明內容
本發(fā)明要解決的技術問題是,提供一種主機風險評估方法和裝置,兼顧主機自身的漏洞和來自網絡中攻擊路徑的威脅,更深入的發(fā)掘主機潛在的風險。本發(fā)明采用的技術方案是,所述主機風險評估方法,包括步驟一、檢測網絡中所有主機的漏洞信息和網絡連通性信息;步驟二、根據所述漏洞信息和網絡連通性信息確定網絡中的攻擊路徑;步驟三、基于所述漏洞信息和所述攻擊路徑確定任一目標主機的總風險。進一步的,所述步驟一中,所述檢測網絡中所有主機的漏洞信息,具體包括通過掃描獲取主機的系統(tǒng)軟件配置信息,將所述系統(tǒng)軟件配置信息與漏洞軟件數據庫文件進行對比,得出所述主機上存在的漏洞信息,所述漏洞信息包括本地漏洞軟件和遠程漏洞軟件,其中,每個遠程漏洞軟件分別對應所述主機上的一個固定端口。進一步的,所述步驟一中,所述檢測網絡中所有主機的網絡連通性信息,具體包括網絡中的每臺主機掃描其鄰接主機,得到若干條連通性數據,每條連通性數據包括主機通過鄰接主機上開放的端口訪問所述鄰接主機。匯總所有連通性數據得到網絡連通性信息,其中,所述網絡連通性信息包含任意兩臺主機之間連通性信息的主機被訪問列表。
進一步的,所述步驟一中,所述檢測網絡中所有主機的網絡連通性信息,具體包括從網絡中與主機相連的防火墻或者網關設備處獲取網絡控制數據;基于網絡控制數據得到網絡連通性信息,其中,所述網絡連通性信息包含任意兩臺主機之間連通性信息的主機被訪問列表。進一步的,所述步驟二具體包括步驟Al、通過將所述網絡連通性信息與所述漏洞信息中的遠程漏洞軟件進行匹配,確定網絡中所有相鄰主機之間的攻擊關系;步驟A2、根據所有相鄰主機之間的攻擊關系生成攻擊路徑。進一步的,設訪問主機是被訪問主機的前向主機;所述步驟A2,具體包括以沒有前向主機的主機為起點,基于所述相鄰主機之間的攻擊關系遞歸生成攻擊路徑。進一步的,設訪問主機是被訪問主機的前向主機;
所述步驟三,具體包括步驟Bi、由目標主機自身的屬性與漏洞信息確定目標主機的獨立風險;步驟B2、在目標主機所在的攻擊路徑中遞歸計算前向主機對目標主機的前向攻擊風險;步驟B3、將目標主機的前向攻擊風險與目標主機的獨立風險進行加權求和得到目標主機的總風險。進一步的,所述前向主機包括直接前向主機和間接前向主機;所述前向攻擊風險的計算方法為將直接前向主機的總風險與所述直接前向主機對目標主機的前向攻擊的發(fā)生概率相乘,再對所有直接前向主機對應的上述乘積求和;所述直接前向主機對目標主機的前向攻擊的發(fā)生概率由所述目標主機的遠程漏洞軟件對應的攻擊難易程度決定。任一主機的總風險為所述主機的前向攻擊風險與所述主機的獨立風險的加權和。本發(fā)明還提供一種主機風險評估裝置,包括檢測模塊,用于檢測網絡中所有主機的漏洞信息和網絡連通性信息;路徑生成模塊,用于根據所述漏洞信息和網絡連通性信息確定網絡中的攻擊路徑;風險評估模塊,用于基于所述漏洞信息和所述攻擊路徑確定任一目標主機的總風險。進一步的,所述漏洞信息包括本地漏洞軟件和遠程漏洞軟件;所述路徑生成模塊,具體包括鄰接主機攻擊關系生成模塊,用于將所述網絡連通性信息與所述漏洞信息中的遠程漏洞軟件進行匹配,確定網絡中所有相鄰主機之間的攻擊關系;攻擊路徑生成模塊,用于根據所有相鄰主機之間的攻擊關系生成攻擊路徑。采用上述技術方案,本發(fā)明至少具有下列優(yōu)點本發(fā)明所述主機風險評估方法和裝置,首次提出了通過攻擊路徑來主動地、動態(tài)地評估潛在的漏洞和風險的思路,使得主機風險評估更加完善,效果更加理想。采用本發(fā)明的技術方案,兼顧了主機自身的漏洞和來自網絡中攻擊路徑的威脅,因此,能夠更深入的發(fā)掘主機潛在的風險。
圖1為本發(fā)明第一實施例中所述主機風險評估方法流程圖;圖2為本發(fā)明第二實施例中所述主機風險評估方法流程圖;圖3為本發(fā)明第三實施例中所述主機風險評估裝置組成示意圖;圖4為本發(fā)明第四實施例中網絡連通的部分拓撲結構圖。
具體實施例方式為更進一步闡述本發(fā)明為達成預定目的所采取的技術手段及功效,以下結合附圖及較佳實施例,對本發(fā)明進行詳細說明如后。本發(fā)明第一實施例,一種主機風險評估方法,如圖1所示,包括如下具體步驟步驟S101、主機通過本地掃描獲取自身的系統(tǒng)軟件配置信息,該系統(tǒng)軟件配置信息包括軟件名稱、版本、補丁等情況。將該系統(tǒng)軟件配置信息與漏洞軟件數據庫文件進行對比,得出主機自身存在的本地漏洞軟件和遠程漏洞軟件。其中,每個遠程漏洞軟件分別對應該主機上的一個固定端口。優(yōu)選的,在得出主機存在的漏洞軟件的同時,進一步通過檢測系統(tǒng)進程名稱列表、 服務列表與注冊表,確定該漏洞軟件的狀態(tài),包括其是否在運行以及是否具有自啟動特征。步驟S102、網絡中的每臺主機基于給定的端口列表掃描其鄰接主機,得到若干條連通性數據,匯總所有連通性數據得到包含任意兩臺主機之間連通性信息的主機被訪問列表。每條連通性數據包括主機通過鄰接主機上開放的端口訪問該鄰接主機。設訪問主機是被訪問主機的前向主機。步驟S103、通過將主機被訪問列表與主機自身的遠程漏洞軟件進行匹配,確定網絡中所有相鄰主機之間的攻擊關系,也就是說找到存在遠程漏洞軟件的被訪問主機且能夠通過該遠程漏洞軟件對應的端口與其它主機連通,形成了事實的攻擊關系。本發(fā)明中,只考慮客戶端訪問服務器時可能對服務器的攻擊,不考慮服務器對客戶端的攻擊,即在網絡中只考慮任一臺主機接受其前向主機訪問時可能受到的攻擊風險, 而不考慮本臺主機對前向主機的攻擊風險。步驟S104、以沒有前向主機的主機為起點,基于所述相鄰主機之間的攻擊關系遞歸生成攻擊路徑。優(yōu)選的,為了避免在遞歸的過程中產生回環(huán)路徑和冗余路徑,在每條攻擊路徑的遞歸過程中標記已遞歸過的主機,在該條攻擊路徑的生成過程中不再加入已遞歸過的主機。步驟S105、基于漏洞軟件和攻擊路徑確定目標主機的總風險,具體包括Al、由目標主機自身的屬性與漏洞軟件確定目標主機的獨立風險。其中,主機的屬性包括主機是服務器還是客戶端的個人主機,主機自身的漏洞軟件包括本地漏洞軟件和遠程漏洞軟件。獨立風險的數值可以參考CVSS(The Common Vulnerability Scoring System, 通用弱點評價體系)標準中對于主機屬性以及漏洞軟件的評分來確定。
6
A2、在目標主機所在的攻擊路徑中遞歸計算前向主機對目標主機的前向攻擊風險。A3、將目標主機的前向攻擊風險與目標主機的獨立風險進行加權求和得到目標主機的總風險。其中,與目標主機的前向攻擊風險相乘的加權系數、與目標主機的獨立風險相乘的加權系數可以根據實際需要靈活選擇。其中,前向主機包括直接前向主機和間接前向主機;前向攻擊風險的計算方法為將直接前向主機的總風險與該直接前向主機對目標主機的前向攻擊的發(fā)生概率相乘,再對所有直接前向主機對應的上述乘積求和。直接前向主機對目標主機的前向攻擊的發(fā)生概率由該目標主機的遠程漏洞軟件對應的攻擊難易程度決定。直接前向主機對目標主機的前向攻擊的發(fā)生概率的數值可以參考CVSS標準中對于遠程漏洞軟件對應的攻擊難以程度的評分來確定。任一主機的總風險為該主機的前向攻擊風險與該主機的獨立風險的加權和。其中,與該主機的前向攻擊風險相乘的加權系數、與該主機的獨立風險相乘的加權系數可以根據實際需要靈活選擇,且與步驟A3中的一致。本發(fā)明第二實施例,一種主機風險評估方法,如圖2所示,與第一實施例大致相同,區(qū)別僅在于網絡連通性檢測的過程,該方法中網絡連通性檢測的具體步驟如下步驟S202、從網絡中與主機相連的防火墻或者網關設備處獲取網絡控制數據,基于網絡控制數據得到包含任意兩臺主機之間連通性信息的主機被訪問列表。本發(fā)明第三實施例,一種主機風險評估裝置,如圖3所示,包括如下組成部分1)檢測模塊,部署于網絡中的各主機之中,用于檢測網絡中所有主機的漏洞信息和網絡連通性信息。該檢測模塊,具體包括漏洞檢測模塊和網絡連通性檢測模塊,其中,漏洞檢測模塊,用于檢查網絡中所有主機自身的漏洞信息。漏洞信息包括本地漏洞軟件和遠程漏洞軟件。具體的,通過掃描獲取主機的系統(tǒng)軟件配置信息,將系統(tǒng)軟件配置信息與漏洞軟件數據庫文件進行對比,得出主機上存在的所有漏洞軟件,每個遠程漏洞軟件分別對應該主機上的一個固定端口。網絡連通性檢測模塊,用于進行網絡連通性檢測,得到包含任意兩臺主機之間連通性信息的主機被訪問列表。設訪問主機是被訪問主機的前向主機。網絡連通性檢測的方式有兩種第一種網絡中的每臺主機掃描其鄰接主機,得到若干條連通性數據,每條連通性數據包括主機通過鄰接主機上開放的端口訪問該鄰接主機。匯總所有連通性數據得到包含任意兩臺主機之間連通性信息的主機被訪問列表。第二種從網絡中與主機相連的防火墻或者網關設備處獲取網絡控制數據;基于網絡控制數據得到包含任意兩臺主機之間連通性信息的主機被訪問列表。2)路徑生成模塊,用于根據所述漏洞信息和網絡連通性信息確定網絡中的攻擊路徑;該路徑生成模塊,具體包括鄰接主機攻擊關系生成模塊和攻擊路徑生成模塊,其中,鄰接主機攻擊關系生成模塊,用于將所述主機被訪問列表與主機自身的遠程漏洞軟件進行匹配,確定網絡中所有相鄰主機之間的攻擊關系;攻擊路徑生成模塊,用于根據所有相鄰主機之間的攻擊關系生成攻擊路徑。具體的,以沒有前向主機的主機為起點,基于所述相鄰主機之間的攻擊關系遞歸生成攻擊路徑。
3)風險評估模塊,用于基于所述漏洞信息和所述攻擊路徑確定目標主機的總風險。該風險評估模塊,具體包括獨立風險生成模塊、前向攻擊風險生成模塊和總風險生成模塊,其中,獨立風險生成模塊,用于由目標主機自身的屬性與漏洞信息確定目標主機的獨立風險。獨立風險的數值可以參考CVSS標準中對于主機屬性以及漏洞軟件的評分來確定。前向攻擊風險生成模塊,用于在目標主機所在的攻擊路徑中遞歸計算前向主機對目標主機的前向攻擊風險;總風險生成模塊,用于將目標主機的前向攻擊風險與目標主機的獨立風險進行加權求和得到目標主機的總風險。其中,與目標主機的前向攻擊風險相乘的加權系數、與目標主機的獨立風險相乘的加權系數可以根據實際需要靈活選擇。上面提到的,前向主機包括直接前向主機和間接前向主機。前向攻擊風險的計算方法為將直接前向主機的總風險與該直接前向主機對目標主機的前向攻擊的發(fā)生概率相乘,再對所有直接前向主機對應的上述乘積求和。直接前向主機對目標主機的前向攻擊的發(fā)生概率由該目標主機的遠程漏洞軟件對應的攻擊難易程度決定。直接前向主機對目標主機的前向攻擊的發(fā)生概率的數值可以參考CVSS標準中對于遠程漏洞軟件對應的攻擊難以程度的評分來確定。任一主機的總風險為該主機的前向攻擊風險與該主機的獨立風險的加權和。其中,與該主機的前向攻擊風險相乘的加權系數、與該主機的獨立風險相乘的加權系數可以根據實際需要靈活選擇,且與總風險生成模塊中提到的一致。本發(fā)明第四實施例,下面以裝置的角度結合上述方法介紹一個風險評估過程的實例一、控制主機獨立于網絡中所有待風險評估的主機之外設置一個控制主機,該控制主機主要負責對部署在各主機中的漏洞檢測模塊與網絡連通性檢測模塊進行控制。該控制主機中包含的鄰接主機攻擊關系生成模塊、攻擊路徑生成模塊和風險評估模塊。該控制主機的工作步驟如下步驟Sl 發(fā)送命令。通知各主機進行自身漏洞檢測以及網絡連通性檢測,并等待信息回傳。步驟S2 所有信息回傳完畢,通知各主機接收完畢。步驟S3 將所有信息提交給鄰接主機攻擊關系生成模塊。二、漏洞檢測模塊漏洞檢測模塊部署于網絡中的各個主機之中,進行漏洞檢測的步驟如下步驟Dl 掃描系統(tǒng)軟件配置信息,得出一個軟件配置信息列表,列表每項包括了軟件的名稱,版本,補丁情況。步驟D2 與漏洞軟件的數據庫文件進行匹配,得出被檢測系統(tǒng)中的漏洞軟件集合,其中包括主機的本地漏洞軟件和遠程漏洞軟件。步驟D3 根據漏洞軟件集合作以下操作如果軟件是以服務形式運行,則檢測系統(tǒng)服務列表與注冊表,判斷該服務是否在運行以及是否具有自啟動的特征。如果軟件是以進程形式運行,則檢測系統(tǒng)進程名稱列表與注冊表,判斷該進程是否在運行以及是否具有自啟動特征。所有的對應服務、進程名以及注冊表信息均已包含在現有的漏洞軟件的數據庫文件里。步驟D4:將上述步驟的得出的系統(tǒng)存在的漏洞軟件及其狀態(tài)等漏洞信息轉化為指定格式的數據文件,上傳到鄰接主機攻擊關系生成模塊。三、網絡連通性檢測模塊網絡連通性檢測模塊有兩種實施方式第一種采用端口掃描的方式。步驟El 接受來自控制主機給定的端口列表與鄰接主機的IP范圍,并據此進行端口掃描。步驟E2 根據掃描結果生成指定的數據文件,上傳到鄰接主機攻擊關系生成模塊。其中,數據文件能夠反映網絡連通性信息。第二種采用收集防火墻或者網關數據的方式,該方式適用于啟用了防火墻或者網關設備的網絡。步驟Fl 獲得訪問防火墻或者網關的權限。步驟F2 從防火墻或者網關中獲取網絡控制數據。步驟F3 根據網絡控制數據生成指定的數據文件,上傳到鄰接主機攻擊關系生成模塊。其中,數據文件能夠反映網絡連通性信息。四、鄰接主機攻擊關系生成模塊鄰接主機攻擊關系生成模塊負責將來自漏洞檢測模塊和網絡連通性檢測模塊的信息轉化為邏輯語言能夠識別的攻擊事實。步驟Gl 接受網絡中主機傳入的漏洞信息與網絡連通性信息,直到所有的主機都上傳完以后,轉到步驟G2。步驟G2 根據主機傳入的網絡連通性信息生成被訪問列表,例如表1被訪問列表
權利要求
1.一種主機風險評估方法,其特征在于,包括步驟一、檢測網絡中所有主機的漏洞信息和網絡連通性信息;步驟二、根據所述漏洞信息和網絡連通性信息確定網絡中的攻擊路徑;步驟三、基于所述漏洞信息和所述攻擊路徑確定任一目標主機的總風險。
2.根據權利要求1所述主機風險評估方法,其特征在于,所述步驟一中,所述檢測網絡中所有主機的漏洞信息,具體包括通過掃描獲取主機的系統(tǒng)軟件配置信息,將所述系統(tǒng)軟件配置信息與漏洞軟件數據庫文件進行對比,得出所述主機上存在的漏洞信息,所述漏洞信息包括本地漏洞軟件和遠程漏洞軟件,其中,每個遠程漏洞軟件分別對應所述主機上的一個固定端口。
3.根據權利要求1或2所述主機風險評估方法,其特征在于,所述步驟一中,所述檢測網絡中所有主機的網絡連通性信息,具體包括網絡中的每臺主機掃描其鄰接主機,得到若干條連通性數據,每條連通性數據包括主機通過鄰接主機上開放的端口訪問所述鄰接主機。匯總所有連通性數據得到網絡連通性信息,其中,所述網絡連通性信息包含任意兩臺主機之間連通性信息的主機被訪問列表。
4.根據權利要求1或2所述主機風險評估方法,其特征在于,所述步驟一中,所述檢測網絡中所有主機的網絡連通性信息,具體包括從網絡中與主機相連的防火墻或者網關設備處獲取網絡控制數據;基于網絡控制數據得到網絡連通性信息,其中,所述網絡連通性信息包含任意兩臺主機之間連通性信息的主機被訪問列表。
5.根據權利要求2所述主機風險評估方法,其特征在于,所述步驟二具體包括步驟Al、通過將所述網絡連通性信息與所述漏洞信息中的遠程漏洞軟件進行匹配,確定網絡中所有相鄰主機之間的攻擊關系;步驟A2、根據所有相鄰主機之間的攻擊關系生成攻擊路徑。
6.根據權利要求5所述主機風險評估方法,其特征在于,設攻擊路徑中,訪問主機是被訪問主機的前向主機;所述步驟A2,具體包括以沒有前向主機的主機為起點,基于所述相鄰主機之間的攻擊關系遞歸生成攻擊路徑。
7.根據權利要求2或5或6所述主機風險評估方法,其特征在于,設攻擊路徑中,訪問主機是被訪問主機的前向主機;所述步驟三,具體包括步驟Bi、由目標主機自身的屬性與漏洞信息確定目標主機的獨立風險;步驟B2、在目標主機所在的攻擊路徑中遞歸計算前向主機對目標主機的前向攻擊風險;步驟B3、將目標主機的前向攻擊風險與目標主機的獨立風險進行加權求和得到目標主機的總風險。
8.根據權利要求7所述主機風險評估方法,其特征在于,所述前向主機包括直接前向主機和間接前向主機;所述前向攻擊風險的計算方法為將直接前向主機的總風險與所述直接前向主機對目標主機的前向攻擊的發(fā)生概率相乘,再對所有直接前向主機對應的上述乘積求和;所述直接前向主機對目標主機的前向攻擊的發(fā)生概率由所述目標主機的遠程漏洞軟件對應的攻擊難易程度決定。任一主機的總風險為所述主機的前向攻擊風險與所述主機的獨立風險的加權和。
9.一種主機風險評估裝置,其特征在于,包括檢測模塊,用于檢測網絡中所有主機的漏洞信息和網絡連通性信息;路徑生成模塊,用于根據所述漏洞信息和網絡連通性信息確定網絡中的攻擊路徑;風險評估模塊,用于基于所述漏洞信息和所述攻擊路徑確定任一目標主機的總風險。
10.根據權利要求9所述主機風險評估裝置,其特征在于,所述漏洞信息包括本地漏洞軟件和遠程漏洞軟件;所述路徑生成模塊,具體包括鄰接主機攻擊關系生成模塊,用于將所述網絡連通性信息與所述漏洞信息中的遠程漏洞軟件進行匹配,確定網絡中所有相鄰主機之間的攻擊關系;攻擊路徑生成模塊,用于根據所有相鄰主機之間的攻擊關系生成攻擊路徑。
全文摘要
本發(fā)明公開了一種主機風險評估方法和裝置,該方法包括檢測網絡中所有主機的漏洞信息和網絡連通性信息;根據所述漏洞信息和網絡連通性信息確定網絡中的攻擊路徑;基于所述漏洞信息和所述攻擊路徑確定任一目標主機的總風險。本發(fā)明首次提出了通過攻擊路徑來主動地、動態(tài)地評估潛在的漏洞和風險的思路,使得主機風險評估更加完善,效果更加理想。由于兼顧了主機自身的漏洞和來自網絡中攻擊路徑的威脅,能夠更深入的發(fā)掘主機潛在的風險。
文檔編號H04L29/06GK102170431SQ20111007335
公開日2011年8月31日 申請日期2011年3月25日 優(yōu)先權日2011年3月25日
發(fā)明者卿昱, 張小松, 楊鵬, 鄭炯, 陳廳 申請人:中國電子科技集團公司第三十研究所