梁玲 李天河 李克臣
(信息工程大學,河南鄭州 455001)
基于貝葉斯理論的Web應用系統(tǒng)健壯性評價算法研究
梁玲 李天河 李克臣
(信息工程大學,河南鄭州 455001)
針對基于Web服務的應用系統(tǒng)健壯性問題,本文著重分析影響系統(tǒng)健壯性的主要因素,運用貝葉斯理論及方法,建立了基于Web服務的應用系統(tǒng)健壯性評價算法。本文給出的算法不僅可以評價基于Web服務的應用系統(tǒng)健壯性的整體風險,還可以對組成各功能組件存在的局部風險進行評價。通過示例表明,本算法可以有效地對基于Web服務的應用系統(tǒng)健壯性狀態(tài)進行全面評價。
基于Web服務的應用系統(tǒng);健壯性狀態(tài)分析;貝葉斯理論;評價算法
基于Web服務信息應用系統(tǒng)(以下簡稱為應用系統(tǒng))的應用領域已由原來傳統(tǒng)的、小型業(yè)務系統(tǒng)逐漸向大型的、關鍵業(yè)務系統(tǒng)轉變,而網上用戶有意或無意的網絡攻擊方式、攻擊水平也越來越高,這種增長已超越了程序開發(fā)人員所能采取的安全防御措施,因此造成了網絡攻擊與破壞事件層出不窮,應用系統(tǒng)癱瘓。為此分析、評估應用系統(tǒng)的健壯性問題理應受到極大重視。
應用系統(tǒng)的健壯性是衡量系統(tǒng)對破壞事件反應、容錯和恢復的能力。影響應用系統(tǒng)健壯性的因素有:跨站腳本漏洞、注入類問題、任意文件執(zhí)行、不安全的對象直接引用、跨站請求截斷攻擊、信息泄露、用戶驗證和Session管理缺陷、不安全的加密存儲、不安全的通信、沒有對URL(統(tǒng)一資源定位地址)路徑進行限制等[1,2]。對應用系統(tǒng)健壯性評價:(1)評價破壞事件發(fā)生的可能性;(2)當破壞事件發(fā)生時系統(tǒng)對其反應、容錯和恢復的能力。
本文將基于Web服務的信息應用系統(tǒng)包含的主要功能組件作為評價關鍵指標,并形成評價指標體系,在此基礎上,根據貝葉斯理論與方法,提出計算破壞事件產生的概率算法和系統(tǒng)健壯評價算法[4]。
不同功能的應用系統(tǒng),它組成的功能組件是不同的,但都具有用戶順利和Web站點實現(xiàn)交互,應用系統(tǒng)的一切活動都具有與后臺數據庫接口的功能。通常情況下,一個完整的應用系統(tǒng)包含以下幾個核心功能組件[2]:
用戶接口代碼:用戶接口代碼是應用系統(tǒng)的表示層,它是將客戶端和Web服務器相連的一個接口,正是用戶接口代碼創(chuàng)建了站點的可視界面,其編寫方式主要以JavaScript,VB,Java,HTML以及ActiveX為主。
Web應用服務器軟件:它是確保用戶瀏覽器以及Web應用能夠正常通信的組件,主要處理一些HTTP消息請求或管理組用戶會話等。目前我們所用的Web站點基本上都是使用的第三方廠商提供的Web服務器,比如IIS和Apache。
前端系統(tǒng):前端系統(tǒng)的主要作用是能夠與用戶接口代碼和后臺系統(tǒng)進行直接的交互,在用戶接口代碼傳輸客戶端所提供的信息之后,前端系統(tǒng)進行及時的處理,比較具有代表性的有CGI、ASP以及JSP代碼等。
后臺系統(tǒng):作為整個應用系統(tǒng)的驅動組件,它的作用是直接和數據庫系統(tǒng)對接,處理真正的商務邏輯,Web應用系統(tǒng)中的后臺系統(tǒng)一般是由客戶定制而開發(fā)的。
數據庫系統(tǒng):在應用系統(tǒng)中的數據庫系統(tǒng)主要是一些第三方的數據庫軟件,比如MySQL和DB2等。
因此對于一個應用系統(tǒng),上述核心功能組件的健壯狀態(tài)必然影響系統(tǒng)的健壯狀態(tài),因此必須對每個功能組件都進行相應的控制[2]。所以,應用系統(tǒng)健壯的關鍵指標主要由用戶接口代碼、服務器軟件、前端系統(tǒng)、后臺系統(tǒng)及數據庫系統(tǒng)決定,因而有以下應用系統(tǒng)健壯性綜合模型:
這里,R表示應用系統(tǒng)健壯狀態(tài),C表示用戶接口代碼,S表示服務器軟件,F(xiàn)表示前端系統(tǒng),B表示后臺系統(tǒng),D表示數據庫系統(tǒng)。
應用系統(tǒng)健壯狀態(tài)評價的一般過程可以用下圖描述。
Web應用系統(tǒng)評價過程圖
3.1 基礎貝葉斯理論模型
于是,當事件A發(fā)生的概率P(A)>0及P(B)>0時,乘法公式通常表示為:
全概率公式:如果所有相關事件B1,B2,…,Bn,滿足下述條件:
(1)事件B1,B2,…,Bn互不相容,即事件的交運算Bi∩Bj= ?(i≠j)
貝葉斯公式[3]:對于任一事件A,如果P(A)>0,全概率公式(2)成立,則結合公式(1)有貝葉斯公式
這里,P(A|Bi)指先驗概率,表示“原因”;P(Bi|A)指后驗概率,表示“結果”,i=1,…,n。
3.2 基于貝葉斯理論的應用系統(tǒng)健壯性狀態(tài)評價算法
選擇應用系統(tǒng)健壯評價多種結論中的兩個結論,記為:M1:結論1中假設發(fā)生且發(fā)生的事件,M2:結論2中假設發(fā)生且發(fā)生的事件;P(M1):M1發(fā)生的概率,P(M2):M2發(fā)生的概率[4];H:新的影響系Web系統(tǒng)健壯性的事件;P(M1|H):H事件下M1發(fā)生的概率;P(M2|H):H事件下M2發(fā)生的概率;P(H|M1):M1事件下H發(fā)生的概率;M2:事件下H發(fā)生的概率。
根據公式(3),得到評價公式:
對P(M1|H)和P(M2|H)的計算分析如下:
設Lu和Ld分別為評價結論可以接受的最低閥值和不能接受的最高閥值。記:P1=P(M1|H),P2=P(M2|H)。那么,有如下健壯評價結論分析方法[4]:
(1)若P1≥Lu,P2≥Lu,則P1和P2對應的評價結論M1和M2都有可能被接受,比較P1和P2的大小,較大者對應的評價結論優(yōu)先被接受;(2)若P1≥Lu,P2<Ld,則P1對應的評價結論M1被接受;(3)若P1<Ld,P2≥Lu,則P2對應的評價結論M2被接受;(4)若P1<Ld,P2<Ld,則P1和P2對應的評價結論M1和M2都不能被接受,需要通過其他渠道獲得更多的相關信息。
假設應用系統(tǒng)Ω按照功能分為n個部分B1,B2,…,Bn,每個功能部分都可能受到破壞,且受到破壞的概率分別為P(B1),P(B2),…,P(Bn)[4]。那么,有P(Bi)>0(i=1,…,n)且Bi∩Bj=?(i≠j),
應用系統(tǒng)中用戶接口代碼C、服務器軟件S、前端系統(tǒng)F、后臺系統(tǒng)B和數據庫D功能組件,受到破壞的概率P(C|Bi),P(S|Bi),P(F|Bi),P(B|Bi),P(D|Bi)可以由歷史數據計算獲得,i=1,…,n。P(C),P(S),P(F),P(B)和P(D)分別為C,S,F(xiàn),B和D發(fā)生的概率,也依據相關的歷史數據統(tǒng)計獲得。
算法:給定上限Lu和下限Ld。
(1)按照上述評價方法,在已計算的P(C),P(S),P(F),P(B)和P(D)基礎上,可以對應用系統(tǒng)健壯性分別在用戶接口代碼,服務器軟件,前端系統(tǒng),后臺系統(tǒng)和數據庫系統(tǒng)方面存在的破壞事件進行評價。如果發(fā)生新的破壞事件R,并且已知條件概率P(R|C),P(R|S),P(R|F),P(R|B)和P(R|D),轉(2)[4]。
(2)根據(1)中的數據,計算:
計算可得到應用系統(tǒng)中用戶接口代碼,服務器軟件,前端系統(tǒng),后臺系統(tǒng)和數據庫功能組件受到破壞的評價結果。轉(3)。
(3)應用系統(tǒng)健壯評價,計算:
通過上述3步計算,可以得到應用系統(tǒng)健壯性狀態(tài)的評價結果。
設n=5,B1=C,B2=S,B3=F,B4=B,B5=D,帶入上式,計算評價結果為:
假設某應用系統(tǒng)的用戶接口代碼C、服務器軟件S、前端系統(tǒng)F、后臺系統(tǒng)B和數據庫D功能組件存在被破壞風險,且發(fā)生的概率為:P(C)=0.8,P(S)=0.5,P(F)=0.7,P(B)=0.5和P(D)=0.5,影響應用系統(tǒng)健壯性狀態(tài)R的概率為:P(R|C)=0.6,P(R|S)=0.4,P(R|F)=0.6,P(R|B)=0.4,P(R|D)=0.5。將值帶入計算公式:
(1)各功能組件被破壞風險評價。用戶接口代碼引起健壯風險的可能性為:
(2)應用系統(tǒng)整體被破壞風險評價。將用戶接口代碼C、服務器軟件S、前端系統(tǒng)F、后臺系統(tǒng)B和數據庫D功能組件存在被破壞風險概率及其引起系統(tǒng)被破壞風險概率值帶入公式計算系統(tǒng)的潛在風險為:
P(R)=P(C)P(R|C)+P(S)P(R|S)+P(F)P(R|F)+P(B)P(R|B)+P(D)P(R| D)=0.9
由評價結果可知:該應用系統(tǒng)有較大被破壞的風險,因此系統(tǒng)的健壯性狀態(tài)較差。
本文在分析應用系統(tǒng)構成的主要功能組件為用戶接口代碼、服務器軟件、前端系統(tǒng)、后臺系統(tǒng)和數據庫數據操作的基礎上,形成了應用系統(tǒng)健壯性狀態(tài)評價指標體系;采用貝葉斯理論,建立了應用系統(tǒng)健壯性評價算法。該評價算法可以對應用系統(tǒng)組成的用戶接口代碼、服務器軟件、前端系統(tǒng)、后臺系統(tǒng)和數據庫數據操作功能組件在運行時存在被破壞風險分別進行評價,也可以對應用系統(tǒng)運行時整體存在被破壞風險進行評價。用示例示范了評價算法的使用,驗證了算法的可信性。如果將Web系統(tǒng)構成的功能組件劃分更小,即評價指標更細化,應用系統(tǒng)存在的被破壞風險即健壯性狀態(tài)的評價結果將更具有參考價值。
[1]許曉馮.Web應用系統(tǒng)的安全威脅及其防護[J].信息化研究,2009,35(12):1-2.
[2]朱玉林.試論Web應用系統(tǒng)的安全性測試技術[J].電腦編程技巧與維護,2013,2:92-92.
[3]戴鋒,邵金宏,王力.軍事運籌學導論[M].北京:軍事誼文出版社,2004.
[4]王光偉等.基于貝葉斯理論的高校財務風險評價方法[J],信息工程大學學報,2013(1):114-117.
TP391
A
1003-5168(2014)04-0010-03