梁玲 李天河 李克臣
(信息工程大學,河南鄭州 455001)
基于貝葉斯理論的Web應用系統健壯性評價算法研究
梁玲 李天河 李克臣
(信息工程大學,河南鄭州 455001)
針對基于Web服務的應用系統健壯性問題,本文著重分析影響系統健壯性的主要因素,運用貝葉斯理論及方法,建立了基于Web服務的應用系統健壯性評價算法。本文給出的算法不僅可以評價基于Web服務的應用系統健壯性的整體風險,還可以對組成各功能組件存在的局部風險進行評價。通過示例表明,本算法可以有效地對基于Web服務的應用系統健壯性狀態進行全面評價。
基于Web服務的應用系統;健壯性狀態分析;貝葉斯理論;評價算法
基于Web服務信息應用系統(以下簡稱為應用系統)的應用領域已由原來傳統的、小型業務系統逐漸向大型的、關鍵業務系統轉變,而網上用戶有意或無意的網絡攻擊方式、攻擊水平也越來越高,這種增長已超越了程序開發人員所能采取的安全防御措施,因此造成了網絡攻擊與破壞事件層出不窮,應用系統癱瘓。為此分析、評估應用系統的健壯性問題理應受到極大重視。
應用系統的健壯性是衡量系統對破壞事件反應、容錯和恢復的能力。影響應用系統健壯性的因素有:跨站腳本漏洞、注入類問題、任意文件執行、不安全的對象直接引用、跨站請求截斷攻擊、信息泄露、用戶驗證和Session管理缺陷、不安全的加密存儲、不安全的通信、沒有對URL(統一資源定位地址)路徑進行限制等[1,2]。對應用系統健壯性評價:(1)評價破壞事件發生的可能性;(2)當破壞事件發生時系統對其反應、容錯和恢復的能力。
本文將基于Web服務的信息應用系統包含的主要功能組件作為評價關鍵指標,并形成評價指標體系,在此基礎上,根據貝葉斯理論與方法,提出計算破壞事件產生的概率算法和系統健壯評價算法[4]。
不同功能的應用系統,它組成的功能組件是不同的,但都具有用戶順利和Web站點實現交互,應用系統的一切活動都具有與后臺數據庫接口的功能。通常情況下,一個完整的應用系統包含以下幾個核心功能組件[2]:
用戶接口代碼:用戶接口代碼是應用系統的表示層,它是將客戶端和Web服務器相連的一個接口,正是用戶接口代碼創建了站點的可視界面,其編寫方式主要以JavaScript,VB,Java,HTML以及ActiveX為主。
Web應用服務器軟件:它是確保用戶瀏覽器以及Web應用能夠正常通信的組件,主要處理一些HTTP消息請求或管理組用戶會話等。目前我們所用的Web站點基本上都是使用的第三方廠商提供的Web服務器,比如IIS和Apache。
前端系統:前端系統的主要作用是能夠與用戶接口代碼和后臺系統進行直接的交互,在用戶接口代碼傳輸客戶端所提供的信息之后,前端系統進行及時的處理,比較具有代表性的有CGI、ASP以及JSP代碼等。
后臺系統:作為整個應用系統的驅動組件,它的作用是直接和數據庫系統對接,處理真正的商務邏輯,Web應用系統中的后臺系統一般是由客戶定制而開發的。
數據庫系統:在應用系統中的數據庫系統主要是一些第三方的數據庫軟件,比如MySQL和DB2等。
因此對于一個應用系統,上述核心功能組件的健壯狀態必然影響系統的健壯狀態,因此必須對每個功能組件都進行相應的控制[2]。所以,應用系統健壯的關鍵指標主要由用戶接口代碼、服務器軟件、前端系統、后臺系統及數據庫系統決定,因而有以下應用系統健壯性綜合模型:

這里,R表示應用系統健壯狀態,C表示用戶接口代碼,S表示服務器軟件,F表示前端系統,B表示后臺系統,D表示數據庫系統。
應用系統健壯狀態評價的一般過程可以用下圖描述。

Web應用系統評價過程圖
3.1 基礎貝葉斯理論模型

于是,當事件A發生的概率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 基于貝葉斯理論的應用系統健壯性狀態評價算法
選擇應用系統健壯評價多種結論中的兩個結論,記為:M1:結論1中假設發生且發生的事件,M2:結論2中假設發生且發生的事件;P(M1):M1發生的概率,P(M2):M2發生的概率[4];H:新的影響系Web系統健壯性的事件;P(M1|H):H事件下M1發生的概率;P(M2|H):H事件下M2發生的概率;P(H|M1):M1事件下H發生的概率;M2:事件下H發生的概率。
根據公式(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的大小,較大者對應的評價結論優先被接受;(2)若P1≥Lu,P2<Ld,則P1對應的評價結論M1被接受;(3)若P1<Ld,P2≥Lu,則P2對應的評價結論M2被接受;(4)若P1<Ld,P2<Ld,則P1和P2對應的評價結論M1和M2都不能被接受,需要通過其他渠道獲得更多的相關信息。
假設應用系統Ω按照功能分為n個部分B1,B2,…,Bn,每個功能部分都可能受到破壞,且受到破壞的概率分別為P(B1),P(B2),…,P(Bn)[4]。那么,有P(Bi)>0(i=1,…,n)且Bi∩Bj=?(i≠j),

應用系統中用戶接口代碼C、服務器軟件S、前端系統F、后臺系統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,B和D發生的概率,也依據相關的歷史數據統計獲得。
算法:給定上限Lu和下限Ld。
(1)按照上述評價方法,在已計算的P(C),P(S),P(F),P(B)和P(D)基礎上,可以對應用系統健壯性分別在用戶接口代碼,服務器軟件,前端系統,后臺系統和數據庫系統方面存在的破壞事件進行評價。如果發生新的破壞事件R,并且已知條件概率P(R|C),P(R|S),P(R|F),P(R|B)和P(R|D),轉(2)[4]。
(2)根據(1)中的數據,計算:

計算可得到應用系統中用戶接口代碼,服務器軟件,前端系統,后臺系統和數據庫功能組件受到破壞的評價結果。轉(3)。
(3)應用系統健壯評價,計算:

通過上述3步計算,可以得到應用系統健壯性狀態的評價結果。
設n=5,B1=C,B2=S,B3=F,B4=B,B5=D,帶入上式,計算評價結果為:

假設某應用系統的用戶接口代碼C、服務器軟件S、前端系統F、后臺系統B和數據庫D功能組件存在被破壞風險,且發生的概率為:P(C)=0.8,P(S)=0.5,P(F)=0.7,P(B)=0.5和P(D)=0.5,影響應用系統健壯性狀態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)應用系統整體被破壞風險評價。將用戶接口代碼C、服務器軟件S、前端系統F、后臺系統B和數據庫D功能組件存在被破壞風險概率及其引起系統被破壞風險概率值帶入公式計算系統的潛在風險為:
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
由評價結果可知:該應用系統有較大被破壞的風險,因此系統的健壯性狀態較差。
本文在分析應用系統構成的主要功能組件為用戶接口代碼、服務器軟件、前端系統、后臺系統和數據庫數據操作的基礎上,形成了應用系統健壯性狀態評價指標體系;采用貝葉斯理論,建立了應用系統健壯性評價算法。該評價算法可以對應用系統組成的用戶接口代碼、服務器軟件、前端系統、后臺系統和數據庫數據操作功能組件在運行時存在被破壞風險分別進行評價,也可以對應用系統運行時整體存在被破壞風險進行評價。用示例示范了評價算法的使用,驗證了算法的可信性。如果將Web系統構成的功能組件劃分更小,即評價指標更細化,應用系統存在的被破壞風險即健壯性狀態的評價結果將更具有參考價值。
[1]許曉馮.Web應用系統的安全威脅及其防護[J].信息化研究,2009,35(12):1-2.
[2]朱玉林.試論Web應用系統的安全性測試技術[J].電腦編程技巧與維護,2013,2:92-92.
[3]戴鋒,邵金宏,王力.軍事運籌學導論[M].北京:軍事誼文出版社,2004.
[4]王光偉等.基于貝葉斯理論的高校財務風險評價方法[J],信息工程大學學報,2013(1):114-117.
TP391
A
1003-5168(2014)04-0010-03