[發明專利]一種基于主機日志分析的云數據中心實時風險評估方法在審
| 申請號: | 201410309016.0 | 申請日: | 2014-06-30 |
| 公開(公告)號: | CN104125217A | 公開(公告)日: | 2014-10-29 |
| 發明(設計)人: | 呂智慧;劉思帆;吳杰 | 申請(專利權)人: | 復旦大學 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L29/08;H04L12/24 |
| 代理公司: | 上海正旦專利代理有限公司 31200 | 代理人: | 陸飛;盛志范 |
| 地址: | 200433 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 主機 日志 分析 數據中心 實時 風險 評估 方法 | ||
1.一種基于主機日志分析的云數據中心實時風險評估方法,其特征在于具體步驟為:
第一步:確定風險評估因子
通過對入侵檢測數據樣本的分析和研究,歸納出影響云數據中心系統資產風險狀況的因子;系統資產的風險值由兩部分構成:資產價值,用A表示;風險指數,用RI表示;影響風險指數的有四個因子:告警數量,用Num表示,告警類型,用Cate表示,告警級別,用Levl表示,告警威脅程度,用Seve表示;各個因子的含義如下:
告警數量,是指在一個時間段內,云數據中心某個主機上檢測到的告警數量;
告警類型,是指某個時間段內,主機檢測到的告警類型;
告警級別,是指常見的入侵檢測系統或工具,在對潛在的安全事件進行報警時,對報警事件賦予的等級,來告訴用戶該事件對主機可能造成的威脅的大小;
告警威脅程度,是指告警信息對系統產生的危害程度;
第二步:風險組成因子的獲取及量化
將一個資產的狀態設定為無風險(S1)、有風險(S2)和不確定(ε);
這里都以OSSEC作為基礎平臺來描述風險評估因子數據的獲取和量化方法;
(1)告警數量(Num)的獲取及量化
在入侵檢測系統中,有自己特定的數據庫或文件用來存儲各個時間段內發生的告警信息;OSSEC發出的告警信息格式如下:
告警信息=(id,server_id,rule_id,timestamp,location_id,src_ip,dst_ip,src_port,dst_port,alertid)
它對應的含義是:
告警信息=(id標識,服務器的id,對應的規則id,時間戳,安全事件位置id,源ip地址,目的ip地址,源端口,目的端口,報警id)
根據告警信息的格式,想要獲取某個agent的一段時間內的告警數量,可以以目的ip地址(dst_ip)和時間戳(timestamp)為判斷依據來設定區間;假如,希望獲取目的ip地址為DIP0在T0之前n分鐘之內的告警數量,可以通過以下兩步完成:
(1)取最新的告警信息的時間戳為T0,獲取之前n分鐘的所有agent端的告警信息,那么需要從后往前遍歷,滿足T0-Ti≤300的數據都統計在內;
(2)將獲取的這些數據以dst_ip進行分組,獲取dst_ip值為DIP0的一組數據,數據的總量就是希望獲取的Num值;
在獲取Num值后,需要判斷它對于資產的風險是怎樣的;在這里,設定不同的區間,用函數來表示告警數量Num對S1、S2的支持情況;定義rij表示第i個風險因子對狀態Sj的隸屬度,則有:
公式1的含義表示當告警數量小于或等于n1時,認為資產當前無風險的可能性為有風險的可能性為0;在(n1,n2]這個區間內,有風險的可能性用簡單的線性關系表示為超過最大閥值n2就直接設定為1;兩個閥值n1、n2的設定由專家或管理員根據歷史數據或經驗進行設定,在不同的階段兩個值可以發生變化;
(2)告警類型(Cate)的獲取及量化
OSSEC已經將能識別出的異常行為進行了分類,儲存在category(cat_id,cat_name)表中,共包含139種;在signature_category_mapping(id,rule_id,cat_id)表中,OSSEC對rule_id和category_id進行了映射,因此將alert表與signature_category_mapping進行連接操作,就可以得到告警類型的數量,即Cate值;
告警類型的多少與資產風險程度存在一定的線性關系,與告警數量Num的表示方式類似,這里直接寫出隸屬函數如下:
這里同樣考慮了除無風險(S1)、有風險(S2)兩種狀態外的不確定狀態(ε);兩個閥值ca1、ca2的設定由專家或管理員根據歷史數據或經驗進行設定,在不同的階段兩個值可以發生變化;
(3)告警級別(Levl)的獲取及量化
OSSEC中,有一張表是專門記錄對Rule的描述;在Signature(id,rule_id,level,description)表中,詳細記錄了每條規則的告警級別和描述;OSSEC的規則是存儲在不同的xml文件中,由用戶自定義;
OSSEC將告警級別分為從0到15共16級,并列為一表,如表1所示:
表1?OSSEC告警級別描述
根據表1中的定義來設定告警等級的量化函數;首先將等級進行分類,這里不考慮等級4以下的告警信息;將4-15分為4個部分,分別是[4,6],[7,11],[12,14],[15];由于等級15表示威脅一定發生,因此,如果遇到等級為15的告警信息,不需要考慮其他信息,直接將資產存在風險的可能性定為1;剩下3個部分在量化處理上需要設定權值來表示它們的嚴重程度,分別用w1,w2,w3來表示,它們滿足w1<w2<w3;
獲取某個資產某個時間段內的等級信息,同樣可以利用表的連接來實現;
告警等級Levl與資產風險狀態的函數定義如下:
(isDanger=true||C1≠0||C2≠0)
(isDanger=false&&Num≠0)
(Num=0)?????(3)
公式3中的三個權值w1,w2,w3的設定由專家或管理員設定,需表現出相對重要性;
(4)告警威脅程度(Seve)的獲取及量化
對于同一主機的告警威脅程度(Seve)的量化過程如下:
對特定時間段內全部alert信息進行遍歷,查看每一條信息的dst_port值,這里定義為Pdst;如果Pdst=0,說明這條信息不是從外部引發的,無法辨別它是否是安全相關的事件,考慮到這類信息的安全等級較低,不會對主機風險造成很大的影響,因此,對這類信息,人為設定為可信的,Seve=1;
如果Pdst≠0,就將該端口和Nessus掃描出來的結果進行對比;Nessus對每臺主機的掃描結果都會存儲在以該主機命名的CSV文件當中;Nessus掃描出的結果分為critical,high,medium,low和information五個等級,每個有對應的CVSS(Common?Vulnerability?Scoring?System)值,范圍是0-10,它描述了脆弱性的程度,可以直接將該值作為可信度的基準值;如果將端口信息就行比對,Nessus中對應的結果為critical,說明該端口運行的服務存在很嚴重的漏洞,告警信息成功的可能性很大;因此,每一條告警信息的Seve=CVSS/10;最終這組數據的Seve值,取各條記錄的平均值;
告警威脅程度(Seve)對于資產風險狀態的支持度表示為:
R41=1-Seve?R42=Seve???(4)
第三步:基于DSFM的風險值計算
(1)DSFM算法設計
將模糊評價法中模糊集合理論和證據理論的思想結合作為實現動態評估方案的算法,將該算法命名為DSFM,它利用模糊集合理論來計算證據的Mass函數;證據理論中對證據可信度具有影響的因素看作是一個模糊集,利用相應的評判集進行評判,這個過程用隸屬度函數來表示;使用隸屬度函數來構成Mass函數,然后將證據合成,得到整個系統的風險狀況;
在證據理論中,對于辨別框架中的某個假設A,根據基本概率分配BPA分別計算出關于該假設的信任函數Bel(A)和似然函數Pl(A),組成信任區間[Bel(A),Pl(A)],用以表示對某個假設的確認程度;這里,在辨別框架Θ上基于BPA,m的信任函數和似然函數的定義分別為:
對于某一假設問題,證實它是否真實可能有來自多方不同的證據,如何對這些證據進行合成得到最接近真實的答案呢?在證據理論中定義了多個證據組合的Dempster合成規則,也稱證據合成公式,其定義如下:
對于Θ上的兩個mass函數m1,m2的Dempster合成規則為:
其中,K為歸一化常數;
對于n個mass函數的Dempster合成規則定義如下:
對于Θ上的有限個mass函數m1,m2,…mn的Dempster合成規則為:
其中,K為歸一化常數:
最終的組合結果由任意兩個證據相結合,再依次與其它證據遞歸結合得到;
DSFM的算法過程分為以下幾步:
(1)利用證據理論的思想將影響系統風險情況的因素提取出來,得到評價風險的“證據”;
(2)這些證據構成因素集U,利用評價集V對U進行評判得到評價矩陣;為了與證據理論結合,對評價集進行特殊處理,評價集中的元素必須是相互獨立的,可以單獨認定的;利用系統不同的風險狀態來定義評價集V,而U與V之間的關系利用隸屬度函數表示;
(3)通過一定的數學分析創建出適合的隸屬度函數r,其中rij表示ui關于vj的隸屬程度;
(4)根據隸屬函數r的含義,因素Ui對評價因素Vj的隸屬程度,即為證據Ui對狀態Vj的支持度,即證據Ui的可信度,這滿足證據理論中對mass函數的定義;因此,該隸屬函數r可以與mass函數m進行轉換;
(5)利用公式(6)或(7)對轉換后的Mass函數進行合成,得到最終的結果;
(2)基于DSFM的風險指數計算
在上一步驟中,通過計算得到了4個風險因子,告警數量(Num)、告警類型(Cate)、告警等級(Levl)、告警威脅程度(Seve)對于資產是否存在風險的支持度;在函數的設定過程中,可能存在一些數據區間使得無法判斷這些數據是對S1的支持還是對S2的支持,把這類數據歸納到不確定的狀態ε中,它們滿足關系S2∩ε=S2;
將量化后的數據轉換為對于不同狀態的mass函數的值,需要得到的值m(S2),即有風險的情況,公式如下:
mi(S2)=ri2?????(8)
mi(ε)=1-ri1-ri2???(9)
其中i表示第i個風險因子;最后,將這些證據進行合成,得到資產當前的風險指數RI,利用Dempster證據合成規則,得到將兩個證據合成的公式為:
將公式(10)中獲得的結果再與m3和m4合成,得到最終的結果:
(3)基于DSFM的資產風險值的計算
在得到風險指數RI之后,若已知資產的價值(A),那么風險值(R)就可以計算出來:
Ri=RIi×Ai????(12)
這里i表示第i個資產;那么整個數據中心或信息系統假設有N個資產,它的風險值(RTotal)表示為:
公式(13)即是整個風險值的表示形式。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于復旦大學,未經復旦大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410309016.0/1.html,轉載請聲明來源鉆瓜專利網。





