潘 恒, 盛劍會, 鄭秋生
(中原工學院, 鄭州 450007)
?
基于隱馬爾可夫模型的信息系統(tǒng)風險評估方法
潘恒, 盛劍會, 鄭秋生
(中原工學院, 鄭州 450007)
為保障信息系統(tǒng)安全,必須定期進行風險評估,但通常是對照測評標準逐項測評后給出測評結(jié)論,因缺乏精確的數(shù)學模型指導而受主觀因素影響較大。為此,對信息系統(tǒng)風險評估過程建立了隱馬爾可夫模型。在建模過程中,對輸出值矩陣進行簡化處理,并以隨機產(chǎn)生的觀察值序列作為隱馬爾可夫模型訓練數(shù)據(jù)。學習訓練后的模型可利用前向算法自動評估系統(tǒng)當前的安全狀態(tài)。應用實例說明:該方法貼近實際測評工作流程,是一種有效的風險評估方法,可在一定程度上提高評估的科學性,降低測評人員工作量,同時適用于信息系統(tǒng)安全風險自評估。
信息系統(tǒng); 安全風險評估; 隱馬爾可夫模型; 安全測評標準; 前向算法
信息系統(tǒng)風險評估是通過檢查信息系統(tǒng)資產(chǎn)脆弱性及可能存在的威脅,對其總體風險做出正確的估計[1]。信息系統(tǒng)風險評估是保障系統(tǒng)安全的重要環(huán)節(jié),但目前理論研究與實際評估存在脫節(jié)。實際的風險評估工作主要是依據(jù)國家相關(guān)測評標準,采用問卷調(diào)查、工具掃描、專家評估等方式對信息系統(tǒng)進行逐項檢查[2]。然而,目前理論研究主要側(cè)重于采集入侵檢測、病毒檢測、日志信息等工具的報警信息,利用模糊層次分析法、貝葉斯網(wǎng)絡(luò)、信息熵、D-S證據(jù)理論、隱馬爾科夫模型等方法建立風險評估或安全態(tài)勢評估模型,特別關(guān)注評估模型的框架、評估策略以及評估推理等問題。現(xiàn)有文獻特別缺少基于國家標準又與實際風險評估工作方式貼近的精確數(shù)學模型。
基于標準的風險評估,需要依據(jù)安全測評標準對信息系統(tǒng)進行逐項檢測、打分,各項分值主觀性較強。此外,主要采用定性分析或簡單加權(quán)的方法匯總各測評項分值,統(tǒng)計結(jié)果存在很大的不確定性。為了利用數(shù)學方法和模型來處理上述問題,本文引入隱馬爾可夫模型(Hidden Markov Model,HMM)對基于標準的信息系統(tǒng)安全風險評估過程進行建模。
Arnes A等人提出了基于HMM的網(wǎng)絡(luò)風險評估方法,將網(wǎng)絡(luò)風險視為主機風險之和,將主機狀態(tài)描述為安全、被探測、被攻擊、攻破4種,并建立相應的狀態(tài)轉(zhuǎn)移矩陣;將主機遭受到的攻擊作為觀察序列,并建立觀察矩陣[3]。上述思想衍生出很多網(wǎng)絡(luò)風險評估方法[4]。但是,這些方法在評價網(wǎng)絡(luò)風險大小時,均引入了主機處于某個狀態(tài)的風險度(cost value)。實際上,該值的獲取存在困難,使得這些方法很難應用于實際檢測過程。Krugel C等人提出了將HMM應用于網(wǎng)絡(luò)攻擊的檢測方法,將基于HTTP協(xié)議的網(wǎng)絡(luò)應用層請求劃分為不同的屬性類別,根據(jù)非法攻擊一般含有非法字符串請求這一特點,建立起正常服務請求的學習和訓練模型,來檢測對網(wǎng)絡(luò)應用服務的攻擊行為[5]。楊曉峰等人對以上學習模型進行了改進和優(yōu)化,提高了算法的檢測性能,但是仍僅用于網(wǎng)絡(luò)應用程序的安全檢測,無法對信息系統(tǒng)安全進行全面檢測[6]。此外,利用HMM進行主機安全威脅檢測方面的研究成果也較多,通過建立程序正常行為的HMM學習及訓練模型,來檢測異常程序,并由此判斷主機的安全狀況[7-8]。這些研究僅考慮主機安全而未能考慮網(wǎng)絡(luò)及整個信息系統(tǒng)的風險評估。
本文參考上述文獻建立HMM雙重隨機過程的思路,擬用HMM模型對目標信息系統(tǒng)進行安全風險評估,定量獲取信息系統(tǒng)的當前安全狀態(tài),從一定程度上提高評估過程的自動性和科學性。
隱馬爾科夫模型是一個雙重隨機過程[9]。其中一個是顯式隨機過程,可以通過輸出序列直接觀察,符合模型中輸出概率分布矩陣;另一個是隱式隨機過程,它是一個一階馬爾科夫鏈,符合模型中的狀態(tài)轉(zhuǎn)移矩陣。兩重隨機過程的關(guān)系是:雖然隱式的馬爾科夫過程無法直接觀察,但可以利用顯式輸出序列,通過HMM模型中的輸出概率分布和狀態(tài)轉(zhuǎn)移矩陣來推測。
根據(jù)實際測評經(jīng)驗,目標信息系統(tǒng)安全風險評估的最終結(jié)果通??煞譃?種:安全、基本安全和不安全。本文將這3種風險評估結(jié)果看作信息系統(tǒng)的3種安全狀態(tài)。安全風險評估是定期實施的,根據(jù)國家有關(guān)測評標準對系統(tǒng)資產(chǎn)、威脅以及脆弱點等進行逐項檢查,而信息系統(tǒng)每次評估的最終結(jié)果不是一成不變的,存在一定的轉(zhuǎn)移關(guān)系。因此,信息系統(tǒng)的安全狀態(tài)就構(gòu)成了HMM模型的一重隱含隨機過程;且測評標準中各測評項的測評被看作另一重可以被觀察到的顯式隨機過程。由于信息系統(tǒng)安全狀態(tài)的評估結(jié)論是由眾多測評值綜合得到的,即可以從測評項的測評分值推測出隱含著的系統(tǒng)安全狀態(tài),因此,可以建立一套信息系統(tǒng)安全風險評估的隱馬爾可夫模型,以自動評估信息系統(tǒng)的安全狀態(tài)。
定義1目標信息系統(tǒng)安全狀態(tài)集合為S={G,B,C},其中:G代表安全狀態(tài);B代表基本安全狀態(tài);C代表不安全狀態(tài)。
定義2目標信息系統(tǒng)安全測評項的某個可能測評結(jié)果為vi,測評結(jié)果集合為V={vi},i=1,2,…,m。
定義3目標信息系統(tǒng)的安全測評隱馬爾科夫模型λ=(S,V,A,B,π),其中:
(1)V是定義2給出的各測評項的測評結(jié)果集合;
(2)A是目標信息系統(tǒng)狀態(tài)轉(zhuǎn)移矩陣:
A=[aij]
aij=P(qt+1=j|qt=i),i,j∈S
(3)B是各測評項的測評輸出結(jié)果的概率分布:
B={bj(k)}
bj(k)=P(vk|j),1≤k≤m,j∈S
bj(k)表示在狀態(tài)j時輸出某測評項的測評結(jié)果為vk的概率;
(4)π是目標信息系統(tǒng)安全初始狀態(tài)的概率分布:
π={πi},i∈S
πi=P(q1=i)表示初始時刻處于某一狀態(tài)的概率。
定義4目標信息系統(tǒng)的測評項觀察序列(即輸出測評值序列)為O,O=(o1,o2,…,ot,…,oT),其中ot∈V,t∈[1,T]。
設(shè)測評標準共有n個測評項,若根據(jù)標準對測評項逐一檢查,則T=n;若僅對標準中的重點測評項進行有選擇的檢查,則T 按照上述定義建立信息系統(tǒng)安全風險評估的HMM模型。模型的建立過程分為學習和檢測兩部分。在學習部分,首先根據(jù)測評經(jīng)驗隨機生成符合三種狀態(tài)的訓練數(shù)據(jù),然后采用Baum-Welch算法對模型參數(shù)進行學習訓練。在檢測部分,對目標系統(tǒng)實際測評分值進行分類規(guī)范化處理后,依次輸入系統(tǒng)狀態(tài)安全、系統(tǒng)狀態(tài)基本安全和系統(tǒng)狀態(tài)不安全3個HMM模型,利用前向算法分別計算出3個模型的值。值最大的模型所對應的安全狀態(tài)就是目標信息系統(tǒng)當前的安全狀態(tài)。 2.1觀察值序列的生成 信息系統(tǒng)安全風險評估一般是參照有關(guān)安全測評標準,逐一對各測評項進行檢測、打分,每個測評項的分值要精確到小數(shù)點后幾位,最后匯總所有測評項分值才能得到整個系統(tǒng)的安全狀況。而匯總方法主要采用簡單加權(quán)法,系統(tǒng)滿分為100分。總分80分以上的系統(tǒng)為安全系統(tǒng);60~80分的系統(tǒng)為基本安全系統(tǒng);小于60分的是不安全系統(tǒng)。這樣的測評過程過于復雜,工作量及主觀性較大。 根據(jù)每個測評項分值高低,將各測評項的值規(guī)范化為“好”“中”“差”三級來代替精確到小數(shù)點后幾位。為了方便討論,本文假設(shè)各測評項的滿分分值均為1,將測評項的分值大于0.8的視為“好”,在0.6和0.8之間的視為“中”,小于0.6的視為“差”。規(guī)范化后,不僅測評過程更加簡單,而且測評的主觀性在一定程度上降低,同時輸出值矩陣降為3行3列,大大降低了HMM模型觀察值矩陣的維數(shù)。 本文在構(gòu)建HMM學習訓練模型時,未采用大量實際測評數(shù)據(jù),而是根據(jù)測評規(guī)律隨機生成觀察值序列。這樣取得的測評數(shù)據(jù)量大且隨機性好。在訓練數(shù)據(jù)時,分別用1、0、-1代表某一測評項的測評結(jié)果的“好”“中”“差”。根據(jù)前期對測評人員的訪談,在對各測評項進行測評時,若某測評項合格,則分值為1;若某測評項基本合格,則分值一般會在0.6~0.8之間;若某測評項不合格,則最差的分值為0,其余的一般在0.3~0.6之間。根據(jù)上述經(jīng)驗,假設(shè)目標系統(tǒng)中測評項測評結(jié)果為“好”的項數(shù)為x,為“中”的項數(shù)為y,為“差”的項數(shù)為z。測評項測評結(jié)果為“好”,其分值為1;測評項測評結(jié)果為“中”,其分值取平均值0.7;測評項測評結(jié)果為“差”,其分值取平均值0.45,考慮到有少量特別差的測評項分值為0,因此修正其平均值為0.4。 這樣,若目標信息系統(tǒng)的狀態(tài)為安全,各測評項的分值之和應大于80分,則應滿足: x+0.7y+0.4z≥80 (1) 若目標信息系統(tǒng)的狀態(tài)為基本安全,各測評項的分值之和應滿足: 60≤x+0.7y+0.4z<80 (2) 若目標信息系統(tǒng)的狀態(tài)為不安全,各測評項的分值之和應滿足: x+0.7y+0.4z<60 (3) 利用上述公式,可生成大量隨機特性良好的訓練數(shù)據(jù)。 根據(jù)上述分析,測評項分值規(guī)范化為“好”“中”“差”后,給出安全自評估HMM模型的定義。 定義5目標信息系統(tǒng)的安全自評估隱馬爾科夫模型λ=(S,V,A,B,π),其中: (1)V是定義2給出的各測評項的測評結(jié)果集合,測評項分值規(guī)范化為“好”“中”“差”后,V={vi},i=1,2,3; (2)A是目標信息系統(tǒng)狀態(tài)轉(zhuǎn)移矩陣: A=[aij] aij=P(qt+1=j|qt=i),i,j∈S (3)B是各測評項的測評結(jié)果輸出的概率分布: B={bj(k)} bj(k)=P(vk|j),1≤k≤3,j∈S bj(k)表示在狀態(tài)j時輸出某測評項的測評結(jié)果為vk的概率; (4)π是目標信息系統(tǒng)安全初始狀態(tài)的概率分布: π={πi},i∈S πi=P(q1=i)表示初始時刻處于某一狀態(tài)的概率。 2.2HMM模型參數(shù)的學習訓練 分別設(shè)定3個HMM模型的A、B、π,將生成的觀察值序列代入Baum-Welch算法,對HMM模型參數(shù)進行學習訓練。這里以其中一個HMM模型為例介紹該算法。 第一步,設(shè)置模型參數(shù)值A(chǔ)、B、π,使其滿足下列式子: (4) (5) (6) 第二步,輸入大量隨機生成的觀察值序列,計算ξt(i,j)和γt(i),以備重新修正。 ①計算變量1: ξt(i,j)=P(qt=i,qt+1=j|O,λ) (7) 其中: at(i)=πibi(ot) βT(i)=1 1≤i,j≤3,1≤t≤T-1 ②計算變量2: (8) (9) (10) 其中:當ot=vk時,δ(ot,vk)=1;當ot≠vk時,δ(ot,vk)=0。即當觀察序列的值與輸出值vk相同時,δ(ot,vk)=1;否則δ(ot,vk)=0。 2.3自動檢測方法 利用修正好的3個HMM模型來檢測某一信息系統(tǒng)的安全狀況。 該算法偽代碼為: Fori=1 to HMM-num //其中HMM-num為隱馬爾科夫模型數(shù)量,這里HMM-num=3 { Pro=P(O′|λi)//利用前向算法計算3個在HMM模型中產(chǎn)生的上述測評項序列的概率 } Output=Max(Pro) //概率最大的HMM模型代表該信息系統(tǒng)的安全狀態(tài) 這里以某高校安全評估實驗室的信息系統(tǒng)為例,以Matlab6.5模擬方法實現(xiàn)BW算法和前向算法,介紹利用HMM模型進行信息系統(tǒng)安全自評估的方法和流程。 第一步,給出HMM模型的初始參數(shù)λ0。 狀態(tài)轉(zhuǎn)移矩陣A如表1所示。 表1 初始狀態(tài)轉(zhuǎn)移矩陣A 測評輸出結(jié)果的概率B如表2所示。 表2 測評輸出結(jié)果的概率B 第二步,通過學習訓練,建立“安全”“基本安全”“不安全”3個HMM模型。 為簡化描述,這里僅給出“安全”狀態(tài)的信息系統(tǒng)自評估HMM模型的建立過程。 生成滿足式(1)的由-1、0、1組成的序列,序列長度為10 000條。取信息系統(tǒng)自評估測評項數(shù)為200(即每組觀察序列長度為200條),則這10 000條數(shù)據(jù)相當于模擬了50個信息系統(tǒng)的實際測評分值,即50組訓練數(shù)據(jù)。 表3 修正后的狀態(tài)轉(zhuǎn)移矩陣 表4 修正后的輸出結(jié)果的概率 按上述過程可分別建立“基本安全”和“不安全”兩個HMM模型。3個模型被建立后即可進行系統(tǒng)自評估檢測。 第三步,某高校安全實驗室的80條測評項分值按照每項≥0.8分為“好”,0.6~0.8分為“中”,0.6分及以下為“差”,進行規(guī)范化。規(guī)范化后的結(jié)果如表5所示。將表5數(shù)據(jù)代入訓練后的3個HMM模型,并利用Matlab模擬HMM前向算法,計算出3個HMM模型的概率(見表6)。 表5 測評項分值規(guī)范化后結(jié)果 表6 3個HMM模型觀察值概率P(O|λ)值 從表6可以看出,某高校安全實驗室的測評結(jié)論應為基本安全。 從應用實例可以看出,該方法與基于信息系統(tǒng)安全測評標準的安全風險評估的實際測評過程吻合度高。由于隨機生成的訓練數(shù)據(jù)較為均勻,HMM模型的訓練過程較為簡單,可在一定程度上提高信息系統(tǒng)安全風險評估的客觀性。該方法無需對所有測評項進行評估,就可自動地評估信息系統(tǒng)的安全狀況,因此也適用于信息系統(tǒng)安全風險的自評估。 信息系統(tǒng)安全風險評估存在理論與實際工作的偏差,特別是缺少基于國家測評標準的精確評估模型。針對這一問題,本文將HMM模型應用于標準的實際信息系統(tǒng)安全風險評估過程。在實際建模過程中提出具體簡化測評項打分和HMM學習訓練的方法,可方便獲得系統(tǒng)是否安全的結(jié)論。該方法根據(jù)測評經(jīng)驗和標準要求對重點測評項進行檢測,用于信息系統(tǒng)安全風險自評估,克服了以往信息系統(tǒng)自評估必須對所有測評項進行檢測匯總后才能獲得系統(tǒng)安全狀況的問題,在一定程度上減輕了安全風險評估的工作量。 [1]Yang J, Liang L, Yang Y. A Hierarchical Network Security Risk Assessment Method based on Vulnerability Attack Link Generated[C]//Fourth International Symposium on Information Science and Engineering IEEE Computer Society. Washington: IEEE,2012:113-118. [2]王禎學,周安民,方勇,等. 信息系統(tǒng)安全風險評估與控制理論[M]. 北京:科學出版社,2011:13-17. [3]Arnes A, Valeur F, Vigna G, et al. Using Hidden Markov Models to Evaluate the Risks of Intrusions[M]. Berlin: Recent Advances in Intrusion Detection, 2006:145-164. [4]陳天平,許世軍,張串絨,等.基于攻擊檢測的網(wǎng)絡(luò)安全風險評估方法[J].計算機科學,2011,37(9):94-96. [5]Kruegl C, Vigna G. Anomaly Detection of Web-based Attacks[C]//Proc. of the 10th ACM Conference on Computer and Communications Security. Washington: ACM, 2010:251-261. [6]楊曉峰,孫明明,胡雪蕾,等. 基于改進隱馬爾科夫模型的網(wǎng)絡(luò)攻擊檢測方法[J].通信學報,2010,31(3): 95-100. [7]鄔書躍,田新廣.基于隱馬爾可夫模型的用戶行為異常檢測新方法[J].通信學報,2007,28(4):38-43. [8]Wang W, Guang X, Zhang X. A Novel Intrusion Detection Method Based on Principe Component Analysis in Computer Security[C]//Proc. of Advances in Neural Networks, International IEEE Symposium on Neural Networks. Washington: IEEE, 2004:657-662. [9]Yariv E, Neri M. Hidden Markov Process [J]. IEEE Transactions on Information Theory, 2002,48(6): 1518-1566. (責任編輯:王長通) Risk Assessment Approach for Information System Security Based on HMM PAN Heng, SHENG Jian-hui, ZHENG Qiu-sheng ( Zhongyuan Universtiy of Technology, Zhengzhou 450007, China) In order to guarantee security, the risk of information system is needed to be regularly estimated. However, the real estimation method is usually to evaluate the system term by term under the secure assessment standard. Bacause of lack of precise mathematical model, such process is limited both estimation procedure and result subjective to some extent. Focusing on these problems,this paper takes use of Hidden Markov Model (HMM) to build a mathematical model on procedure of information system risk assessment, which could automatically estimate the security state of the information system based on secure assessment standard. First, the HMM output value matrix is simplified. An observation value generating algorithm is proposed, which could be regarded as HMM model training data. After training, HMM model can be used to evaluate secure state of the target information system. The application project shows that this method can work effectively and is close to the real secure assessment procedure, which can reduce the workload and improve the assessment scientific extent that can be used in risk self-assessment. information system; risk assessment; Hidden Markov Model; secure evaluation standard; forward algorithm 2016-06-27 河南省科技攻關(guān)項目(132102310284);鄭州市科技創(chuàng)新團隊項目(131PCXTD600);鄭州市普通科技攻關(guān)項目(132102210186) 潘恒(1977-),女,河南新鄉(xiāng)人,副教授,博士,主要研究方向為信息系統(tǒng)安全評估。 1671-6906(2016)04-0085-06 TP309 A 10.3969/j.issn.1671-6906.2016.04.0182 基于安全測評標準的HMM風險評估模型
3 應用實例
4 結(jié) 語