摘要:網絡化軟件系統(tǒng)中的漏洞不可避免,漏洞會引發(fā)網絡化軟件異常行為,異常行為的傳播會給系統(tǒng)造成無法彌補的損失。為了使損失盡可能減小,對異常行為的研究變得十分必要。本文對網絡化軟件異常行為可信性進行深入研究,并且從組建級和系統(tǒng)級兩方面對異常行為可信性進行全面分析,為人們今后采取措施提供一定理論依據。仿真實驗和實例分析證明,對異常行為可信性進行研究可以為人們評估系統(tǒng)穩(wěn)定性、減小由異常行為帶來的損失提供一定幫助。
關鍵詞:網絡化軟件;異常行為;軟件實體;系統(tǒng)穩(wěn)定性
0引言
自從上世紀90年代互聯(lián)網進入商業(yè)應用以來,伴隨著計算機和通信技術的迅猛發(fā)展,互聯(lián)網已經滲透到人們工作和日常生活的各個方面。隨著云計算[1]、對等計算、普適計算等新興計算模式的不斷涌現(xiàn),互聯(lián)網引發(fā)了軟件產業(yè)的一次革命——軟件網絡化[2],軟件技術未來發(fā)展的主導模式將會是網絡化應用,網絡化軟件也將成為未來軟件領域的主要形式之一。網絡化軟件是一類以網上信息/服務資源為元素,以Internet為媒介,以元素間的互操作與協(xié)同為構造方式,其行為和拓撲結構可以動態(tài)演變的密集型混合系統(tǒng)[3]。例如,全球最大的電子零售商店Amazon以其基礎設施和Webservices構建的Amazon.com就是網絡化軟件系統(tǒng)的應用典范。構成網絡化軟件中的組件實體一般內部結構和源代碼是不可見的,且網絡化軟件系統(tǒng)運行的平臺是十分復雜的Internet環(huán)境,因此對網絡化軟件系統(tǒng)進行可信評估就變得十分必要。本文從影響網絡化軟件系統(tǒng)可信性的其中一個因素——網絡化軟件異常行為為研究出發(fā)點,通過對異常行為可信性進行深入分析,揭示其對網絡化軟件整體穩(wěn)定性的影響。
1相關工作
1972年J. P. Anderson提出建立可信系統(tǒng) (Trusted System),在40多年的時間里可信計算技術得到了長足發(fā)展。在復雜的互聯(lián)網環(huán)境中,可信系統(tǒng)的運行面臨更大的威脅性與不確定性。傳統(tǒng)的軟件系統(tǒng)安全評估方法已不能很好地適應互聯(lián)網環(huán)境下軟件可信保證的需求,急需從安全機制的靈活性以及面向開放環(huán)境的軟件能力保障方面進行擴展[4]。在基于構建的軟件可靠性研究方面主要有以下三類方法:基于狀態(tài)的模型、基于路徑的模型和附加模型[5]。網絡化軟件系統(tǒng)可信性研究還不成熟,多是基于經典的Internet中實體間信任關系模型[6]。最近,梅宏等人在基于軟件體系結構技術方面,提出了面向構建、基于體系結構的ABC開發(fā)方法,并在可信性保障與度量等支撐技術方面取得進展[78]。徐鋒、呂建等人提出了兩個信任模型TEM和DTME,形成了一種適合于互聯(lián)網環(huán)境的框架體系,提出了一條建立基于Agent的網絡化軟件模型的技術途徑[9]。本文在前人研究的基礎上,綜合ISO/IEC9126及SJ/T11374—2007標準[10]對系統(tǒng)中的異常行為進行深入研究,建立一套合理的異常行為可信性評估體系,并以此探究網絡化軟件異常行為對系統(tǒng)穩(wěn)定性產生的影響。
2異常行為可信性
2.1組件級可信性
所謂異常行為可信性是指異常行為對組件、系統(tǒng)產生負面影響的可信程度。異常行為可信度越高,其對組件、系統(tǒng)產生的消極作用越大,反之則越小。為了全面地對異常行為可信性進行分析,首先從組件級的角度進行考慮。組件Ci(1<i<M,M表示系統(tǒng)中組件個數(shù))在某時刻的內部結構如圖1所示,其中空心小圓圈表示不含異常行為的節(jié)點,黑色實心小圓圈表示含有異常的節(jié)點,intf(i)表示該時刻組件內部錯誤率,ep(i)表示該時刻組件內部錯誤傳播概率[11]。
為了形象地表示組件內部各個節(jié)點之間的相互關系,將圖1簡化為圖2所示,其中Li(0<i<11)表示未含異常的節(jié)點,Vj(0<j<5)表示含有異常的節(jié)點。
在組件Ci中,只有含有異常的節(jié)點會影響組件的正常運轉。因此,用P(ai)(0<i<N,N表示異常節(jié)點個數(shù))來表示異常節(jié)點對組件產生的消極作用,P(ai)值越大表示該異常節(jié)點對組件產生的消極作用越大,反之則表示該異常節(jié)點對組件產生的消極作用越小。經大量試驗表明,P(ai)不僅與錯誤率intf()、錯誤傳播概率ep()有關,而且與該節(jié)點在組件內所處的位置密切相關。一個節(jié)點的度越大表示該節(jié)點與其他節(jié)點聯(lián)系的機會越多。試驗結果表明,異常節(jié)點在組件內度越大其異常行為對組件產生的消極作用越大。為了準確描述異常節(jié)點在組件內所處的位置關系,將組件內部節(jié)點的調用關系用矩陣表示,如果組件內部有N個節(jié)點,則矩陣大小為N×N,如下所示:
當節(jié)點ai與節(jié)點aj之間有調用關系時,aij=1;否則,aij=0。用O(ai)(1<i<N)表示異常節(jié)點ai的度,則有:
所有異常節(jié)點的度之和為:
則有
例如,在圖2中異常節(jié)點V1、V2、V3、V4對組件產生的消極作用P(V1)、P(V2)、P(V3)、P(V4)分別為1/3、1/6、1/6/、1/3。
2.2系統(tǒng)級可信性
在某時刻網絡化軟件系統(tǒng)含有M個組件,每一個組件由若干個類構成,類的實現(xiàn)中包含了各種功能的函數(shù)。函數(shù)間的調用、類與類之間的相互關聯(lián)、組件之間的消息傳遞均用有向邊表示,組件、類及函數(shù)為不同粒度的節(jié)點。前面從組件級的角度對異常行為進行了分析,但還不能準確反映異常節(jié)點給系統(tǒng)帶來的消極影響。下面從系統(tǒng)級的角度考慮異常行為可信性。某時刻組件間的調用關系用圖3表示,圖3中忽略了組件內部節(jié)點之間的關系,只考慮各組件之間的互相調用,其中Ci為組件,S為系統(tǒng),黑色實心節(jié)點表示該組件含有異常行為,空心節(jié)點表示該組件正常。
經過實驗證明,異常節(jié)點的可信度不僅與其在組件中所處的位置有關,而且與該組件在系統(tǒng)中所處的位置密切相關。一個組件在系統(tǒng)內部越活躍,則其對系統(tǒng)的穩(wěn)定性和可信性影響越大。組件活躍程度由其與其他組件之間的調用頻度決定,用P(Cj)表示組件Cj的活躍頻度,則P(Cj)與組件的度成正比。為了準確描述組件的活躍頻度,將組件之間的調用關系用矩陣表示,如果某時刻系統(tǒng)內部有M個組件,則矩陣大小為M×M。
當節(jié)點Ci與節(jié)點Cj之間有調用關系時,Cij=1;否則,Cij=0。用O(Cj)(1≤j≤M)表示含有異常的組件Cj的度,則有:
所有含有異常的組件的度之和:
為了更準確描述異常行為對系統(tǒng)產生的影響,不僅要考慮組件內部異常節(jié)點的可信性,還要考慮每個組件在系統(tǒng)中的活躍頻度,只有將兩者結合起來綜合考慮才能更準確地刻畫異常行為對系統(tǒng)產生的消極作用。因此將異常節(jié)點對系統(tǒng)產生的消極作用如下公式(9)表示:
R(Vi)=∑Ni=1aiN∑Ni=1O(ai)* ∑Mj=1ajM∑Mj=1O(Cj)(9)
其中R(Vi)表示異常節(jié)點Vi對系統(tǒng)產生的消極作用,R(Vi)的值越大說明該異常節(jié)點對系統(tǒng)產生的消極影響越大,則該異常節(jié)點的異常行為可信度越高。
3實驗分析
實驗基于MATLAB9.0平臺,通過前期工作開發(fā)的監(jiān)測工具收集網絡化軟件系統(tǒng)運行時產生的行為日志,從中提取行為規(guī)律,構建行為模型。模型中包含10個組件,將組件進行排序處理,其中存在異常行為的組件及各組件中異常節(jié)點的可信度如表1所示。 包含有異常節(jié)點組件的相應活躍度如表2所示。實驗采用的數(shù)據包括10 000條行為日志記錄,實驗結果為100次運行的平均值。
為了合理地分析系統(tǒng)中異常行為的可信性,首先從組件級角度對異常節(jié)點的可信度進行考慮。相應的實驗結果如圖4所示。
從圖4中可以看到,組件C4、C6中的異常行為可信度變化范圍較大,在組件C4中的異常節(jié)點V6對組件產生的消極影響最大,異常行為可信性度達到了所有異常行為可信度中最高的0.35,而組件C6中的異常節(jié)點的可信度多數(shù)徘徊在0.2左右。研究異常行為影響系統(tǒng)穩(wěn)定性、可靠性的學者們往往將這些數(shù)據作為評判依據。但這僅僅是異常節(jié)點對組件產生的負面影響,并不能代表其對系統(tǒng)產生的消極作用。因此,本文對各個組件在系統(tǒng)中的位置進行合理分析,將組件中的異常節(jié)點權重化,從而更合理地得出異常節(jié)點對系統(tǒng)產生的消極作用。圖5反應了組件C1、C3、C4、C6、C9在系統(tǒng)中的活躍程度?!?/p>
對組件內異常行為可信度及相應組件在系統(tǒng)中的活躍度進行綜合考慮,得出異常節(jié)點對系統(tǒng)產生的消極影響,如圖6所示。從圖6中可以看到,對系統(tǒng)造成較大影響的異常節(jié)點主要存在于組件C6及組件C9中,其中對系統(tǒng)威脅最大的異常節(jié)點是組件C9中的V7節(jié)點。從圖6中反應的各異常行為的可信度與圖4中反應的各異常行為的可信度相差較大,但又有局部類似的性質。這是因為圖4只是在局部展示了異常行為的一些特性,而圖6則合理地表現(xiàn)了異常行為對系統(tǒng)造成影響的可信性,現(xiàn)實運行的程序也證實了圖6中各數(shù)據的合理性。
4結論
本文通過對網絡化軟件系統(tǒng)進行建模分析,研究了系統(tǒng)中異常行為對系統(tǒng)穩(wěn)定性及可靠性的影響。通過前面的實驗可以看出,本文給出的算法可以計算出異常行為給系統(tǒng)帶來的沖擊力度,因此人們可以據此來考慮對系統(tǒng)應采取的措施,對系統(tǒng)中嚴重的錯誤可以優(yōu)先采取補救措施,從而減小由異常行為給系統(tǒng)帶來的損失。
參考文獻
?。?] 徐忠勝,沈蘇彬. 一種云計算資源的多目標優(yōu)化的調度方法[J].微型機與應用,2015,34(13):1720.
?。?] 王紅春. 網絡化軟件多粒度動態(tài)特性分析[D]. 武漢:武漢大學, 2010.
[3] 馬于濤, 何克清, 李兵,等. 網絡化軟件的復雜網絡特性實證[J]. 軟件學報, 2011,22(3):381407.
[4] 王懷民,唐揚斌,尹剛,等. 互聯(lián)網軟件的可信機理[J]. 中國科學:信息科學,2006,10(10):11561169.
?。?] 周娜琴. 基于構件的軟件可靠性分析[D]. 長沙:湖南師范大學, 2008.
?。?] 王遠, 呂建, 徐鋒,等. 一個適用于網構軟件的信任度量及演化模型[J]. 軟件學報, 2006,17(4):682690.
?。?] MEI H, HUANG G, ZHAO H, et al. A software architecture centric engineering approach for internetware[J]. Science in China, 2006, 49(6):702730.
[8] 梅宏, 陳鋒, 馮耀東,等. ABC:基于體系結構、面向構件的軟件開發(fā)方法[J]. 軟件學報, 2003,14(4):721732.
?。?] 徐鋒, 呂建, 鄭瑋,等. 一個軟件服務協(xié)同中信任評估模型的設計[J]. 軟件學報, 2003,14(6):10431051.
?。?0] CHIDAMBER S R, KEMERER C F. A metrics suite for object oriented design[J]. Software Engineering IEEE Transactions on, 1994, 20(6):476493.
?。?1] 彭成, 楊路明, 滿君豐. 網絡化軟件異常行為傳播研究[J]. 電子學報, 2013(10):20742081.