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