段雪瑩,王立君
(1. 吉林警察學(xué)院 信息工程系,吉林 長(zhǎng)春 130012;2. 長(zhǎng)春工業(yè)大學(xué) 信息傳播工程學(xué)院,吉林 長(zhǎng)春130012)
有向復(fù)雜網(wǎng)絡(luò)軟件具備較高的穩(wěn)定性與可靠性,可以提升軟件抵抗攻擊能力,確保軟件信息不被破壞。軟件的穩(wěn)定性差、安全性低[1-3],會(huì)提升企業(yè)的經(jīng)濟(jì)損失,最嚴(yán)重的可能導(dǎo)致企業(yè)破產(chǎn)。計(jì)算機(jī)技術(shù)快速發(fā)展,帶動(dòng)了軟件的發(fā)展,明顯增加了軟件數(shù)量,互聯(lián)網(wǎng)模式下,軟件間的交互越來越頻繁,頻繁的交互過程導(dǎo)致該過程中出現(xiàn)異常交互執(zhí)行行為的概率隨之提升[4]。挖掘存在異常交互執(zhí)行行為的關(guān)鍵節(jié)點(diǎn),能夠降低異常交互執(zhí)行行為的出現(xiàn)概率[5],提升軟件的安全性。王倩等人依據(jù)結(jié)構(gòu)熵的思想,按照節(jié)點(diǎn)出入度,求解上下結(jié)構(gòu)熵均值,排序符合要求的關(guān)鍵節(jié)點(diǎn),完成關(guān)鍵節(jié)點(diǎn)挖掘[6],實(shí)驗(yàn)結(jié)果表明:該算法可有效挖掘關(guān)鍵節(jié)點(diǎn);項(xiàng)英倬等人依據(jù)用戶通信行為塑造通信網(wǎng)絡(luò)軟件模型,利用Flow Mine算法求解該模型,得到模型參數(shù)的近似估計(jì)值,完成節(jié)點(diǎn)信息流挖掘[7],實(shí)驗(yàn)結(jié)果表明:該算法具備較快收斂性,有效挖掘節(jié)點(diǎn)信息流。上述兩種算法僅適用于無向復(fù)雜網(wǎng)絡(luò)軟件,無法直接應(yīng)用于有向復(fù)雜網(wǎng)絡(luò)軟件內(nèi),并未考慮缺陷傳播節(jié)點(diǎn)與被缺陷影響的節(jié)點(diǎn),無法挖掘存在異常交互執(zhí)行行為的關(guān)鍵節(jié)點(diǎn)。為此研究有向復(fù)雜網(wǎng)絡(luò)軟件異常交互執(zhí)行行為挖掘算法,精準(zhǔn)挖掘存在異常交互執(zhí)行行為的關(guān)鍵節(jié)點(diǎn),為后續(xù)提升軟件安全性提供科學(xué)參考。
通過社交網(wǎng)絡(luò)形式描述有向復(fù)雜網(wǎng)絡(luò),依據(jù)社區(qū)相似性,確定有向復(fù)雜網(wǎng)絡(luò)軟件異常交互行為區(qū)域,令圖內(nèi)社區(qū)是G,通過社區(qū)內(nèi)節(jié)點(diǎn)集合V與邊集合E構(gòu)建G,若G內(nèi)兩個(gè)節(jié)點(diǎn)間具備邊,代表這兩個(gè)節(jié)點(diǎn)具備交互行為,則多節(jié)點(diǎn)間的連接被當(dāng)成多節(jié)點(diǎn)的交互行為。
2.1.1 社區(qū)特征提取

mV=αMVT+(1-α)VT+α(1-α)Vc
(1)
令i的質(zhì)量分?jǐn)?shù)是mi,社區(qū)圖內(nèi)i和鄰近節(jié)點(diǎn)連接交互邊的特征值如下

(2)
式中,和i鄰近的節(jié)點(diǎn)數(shù)量是num(a(i));將節(jié)點(diǎn)質(zhì)量得分與邊緣質(zhì)量得分分別當(dāng)成節(jié)點(diǎn)與邊緣的特征值。
利用局部哈希法提取社區(qū)圖特征,特征提取的中心思想是:令包含n個(gè)節(jié)點(diǎn)的R變更成一組加權(quán)特征集合F={(ki,ti)},特征ki屬于R內(nèi)節(jié)點(diǎn)標(biāo)記,ti屬于R內(nèi)融合節(jié)點(diǎn)與邊的質(zhì)量分?jǐn)?shù)后的特征值[9],i∈{1,…,n}。將F當(dāng)成輸入,利用局部散列獲取h位特征數(shù)組,在{-ti,+ti}內(nèi)隨機(jī)選取h個(gè)元素,在h維空間內(nèi)任意投影各ti。通過散列函數(shù)操作投影,得到各ki變換后的特征值數(shù)組。數(shù)組長(zhǎng)度只能是h位。令存在各個(gè)1的+ti和存在各個(gè)0的-ti元素彼此連接[10]。由全部h維向量融合成長(zhǎng)度是h的單個(gè)向量σ,并將σ變更成位串形成數(shù)組指紋。若σ的第i個(gè)值是1,則σ為正值;若σ的第i個(gè)值是0,則σ為負(fù)值。設(shè)兩個(gè)社區(qū)圖分別存在σ與σ′,則兩個(gè)社區(qū)圖的相似度為σ與σ′內(nèi)一致元素?cái)?shù)量在元素總長(zhǎng)度中的占比。
利用局部散列估計(jì)F與F′的相似度,公式如下

(3)
式中,F(xiàn)與F′的h位二進(jìn)制數(shù)值向量為σ與σ′;σ與σ′變更的最小變更次數(shù)是H(σ,σ′)。完全相似度的值是0,最佳相似度的值是1。
通過函數(shù)Φ變更R,獲取加權(quán)集,即Φ(R)=F。Φ為各R獲取一組描繪該R屬性的加權(quán)特征。通過Φ描繪R與R′的相似度,公式如下
Z(R,R′)=ZHash(Φ(R),Φ(R′))
(4)
加權(quán)特征代表R內(nèi)多節(jié)點(diǎn)間的連接關(guān)系,為節(jié)點(diǎn)對(duì)(u,v)分配節(jié)點(diǎn)v的質(zhì)量,通過節(jié)點(diǎn)u的nout獲取其特征值。只存在節(jié)點(diǎn)C的R內(nèi),F(xiàn)與H的子圖R′的一組加權(quán)特征如下
F(R′)={(C,a),(CF,a),(F,a×b),(FC,a×b),
(FH,a×b),(H,a),(HF,a)}
(5)
式中,常數(shù)為a與b;遍歷C全部交互邊與節(jié)點(diǎn)求解S。
2.1.2 基于社區(qū)相似度的異常交互行為區(qū)域確定
通過式(5)能夠獲取兩個(gè)社區(qū)圖間的相似性差距,還需對(duì)比分析R′和其余社區(qū)圖,得到最終相似性,將式(5)變更成

(6)

(7)

確定完有向網(wǎng)絡(luò)軟件異常交互執(zhí)行行為的R″后,依據(jù)局部中心性,挖掘軟件異常交互執(zhí)行行為的關(guān)鍵節(jié)點(diǎn),通過調(diào)用函數(shù)X與被調(diào)函數(shù)Y描繪各關(guān)鍵節(jié)點(diǎn)的兩個(gè)不同角色。在函數(shù)節(jié)點(diǎn)是X角色情況下,可按照一定的概率積累Y節(jié)點(diǎn)的缺陷;在函數(shù)節(jié)點(diǎn)是Y角色情況下,可按照一定概率傳播自身缺陷至調(diào)用者。
2.2.1 定義
定義1:調(diào)用深度CaD(Call depth):令包含一個(gè)函數(shù)間的有序的調(diào)用序列是 定義2:出邊鄰居NOD(Nearest neighbors on out-direction):在函數(shù)調(diào)用者檢查調(diào)用函數(shù)節(jié)點(diǎn)q情況下,q的NOD是以q為起始點(diǎn),q的CaD是1的節(jié)點(diǎn)集合,公式如下 NOD(q)={w|CaD(q,w)=1} (8) 定義3:入邊鄰居NID(Nearest neighbors on in-direction):利用Y檢查q情況下,出入邊鄰居屬于一個(gè)函數(shù)節(jié)點(diǎn)集合[11-13],這個(gè)集合內(nèi)隨機(jī)一個(gè)節(jié)點(diǎn)至q的CaD都是1,公式如下 NID(q)={w|CaD(w,q)=1} (9) 定義4:NOD最近與次近鄰居NNOD(Nearest and next nearest neighbors on out-direction):若q是函數(shù)調(diào)用者,那么NNOD(q)是一個(gè)函數(shù)節(jié)點(diǎn)集合,令q至該集合內(nèi)隨意一個(gè)函數(shù)節(jié)點(diǎn)的CaD均未超過2,公式如下 NNOD(q)={w|CaD(q,w)=1∨CaD(q,w)=2} (10) 定義5:NID最近與次近鄰居NNID(Nearest and next nearest neighbors on in-direction):利用Y檢查q情況下,那么NNID(q)是一個(gè)函數(shù)節(jié)點(diǎn)集合,令該集合內(nèi)隨機(jī)一個(gè)節(jié)點(diǎn)至q的CaD均未超過2,公式如下 NNID(q)={w|CaD(w,q)=1∨CaD(w,q)=2} (11) 定義6:軟件異常交互執(zhí)行行為關(guān)鍵節(jié)點(diǎn)KN(Key Node):令函數(shù)依賴G″內(nèi)全部節(jié)點(diǎn)積累缺陷(傳播缺陷能力)的均值是Avg;如果q的積累缺陷能力(傳播缺陷能力)超過2倍的Avg,那么將q當(dāng)成關(guān)鍵X節(jié)點(diǎn)(Y節(jié)點(diǎn))。 令R″內(nèi)被調(diào)函數(shù)節(jié)點(diǎn)p為q出邊中的最近鄰節(jié)點(diǎn)p∈NOD(q),那么實(shí)際源碼內(nèi)q調(diào)用(依賴)p。若p存在缺陷,那么q會(huì)因其與p間的調(diào)用(依賴)關(guān)系積累p的缺陷,同時(shí)積累(傳播)概率是Wq→p,即有向邊權(quán)重。p內(nèi)存在的缺陷為通過調(diào)用其余函數(shù)節(jié)點(diǎn)積累獲取,主要來源是NOD(p)與{NNOD(w)|w∈NOD(p)}。Wq→p與q調(diào)用p的頻繁程度成正比,與缺陷傳播概率成正比[14]。 2.2.2 挖掘算法實(shí)現(xiàn) 已知調(diào)用函數(shù)節(jié)點(diǎn)q與被調(diào)函數(shù)節(jié)點(diǎn)p,以及有向邊 (12) q積累其全部被直接調(diào)用函數(shù)節(jié)點(diǎn)的缺陷能力是q總的積累缺陷能力Atotal,公式如下 (13) 有向復(fù)雜網(wǎng)絡(luò)軟件異常交互執(zhí)行行為挖掘算法共包含兩個(gè)過程,分別是求解A(q,p)與Atotal(q);具體步驟如下 步驟1:初始化Atotal(q)=0; 步驟2:求解q的NOD(q); 步驟3:累加NOD(q)內(nèi)各p的A,累加至內(nèi)Atotal(q); 步驟4:求解p的NOD(p); 步驟5:求解和p存在調(diào)用關(guān)系同時(shí)CaD低于3的節(jié)點(diǎn)數(shù)量B; 步驟6:令Wq→p乘上B,得到A(q,p); 步驟7:排序全部節(jié)點(diǎn)的A; 步驟8:求解R″內(nèi)全部函數(shù)節(jié)點(diǎn)A的均值; 步驟9:挖掘滿足關(guān)鍵函數(shù)節(jié)點(diǎn)條件的q,添加至節(jié)點(diǎn)集合內(nèi)[15]; 步驟10:按照Atotal(q)對(duì)集合內(nèi)函數(shù)節(jié)點(diǎn)的重要程度排序挖掘到的函數(shù)節(jié)點(diǎn)。 p通過q傳播缺陷的能力A′公式如下 (14) p的總傳播缺陷能力A′total公式如下 (15) p的挖掘過程與q的挖掘步驟一致。 為符合用戶使用的各方面需求,數(shù)個(gè)網(wǎng)絡(luò)軟件通常需要融合到一起,融合后的網(wǎng)絡(luò)軟件會(huì)存在交互關(guān)系,網(wǎng)絡(luò)軟件間的調(diào)用存在隨機(jī)特征,易出現(xiàn)網(wǎng)絡(luò)軟件異常交互執(zhí)行行為。利用Simulation Software仿真軟件進(jìn)行軟件異常交互執(zhí)行行為挖掘。將有向復(fù)雜網(wǎng)絡(luò)開源軟件Cflow與Tar作為仿真對(duì)象,令這兩個(gè)軟件應(yīng)用過程中產(chǎn)生的交互信息作為兩個(gè)數(shù)據(jù)集,展開仿真,Cflow為C程序分析工具,能夠獲取C程序內(nèi)函數(shù)的調(diào)用過程,Tar為文件壓縮與解壓工具。利用本文算法挖掘兩個(gè)數(shù)據(jù)集內(nèi)的異常交互執(zhí)行行為,驗(yàn)證本文算法挖掘的有效性。 利用本文算法先確定兩個(gè)數(shù)據(jù)集內(nèi)的存在異常交互執(zhí)行行為的社區(qū),即確定數(shù)據(jù)集內(nèi)異常交互執(zhí)行行為區(qū)域,將兩個(gè)數(shù)據(jù)集分別劃分成99與91個(gè)社區(qū),存在異常交互執(zhí)行行為的社區(qū)確定結(jié)果如圖1所示。 根據(jù)圖1可知,本文算法可有效確定數(shù)據(jù)集內(nèi)存在異常交互執(zhí)行行為的社區(qū),其中Cflow數(shù)據(jù)集內(nèi)存在異常交互執(zhí)行行為的社區(qū)數(shù)量明顯高于Tar數(shù)據(jù)集,說明Tar數(shù)據(jù)集的安全性高。 圖1 存在異常交互執(zhí)行行為的社區(qū)確定結(jié)果 確定完數(shù)據(jù)集內(nèi)存在異常交互執(zhí)行行為的社區(qū)后,在挖掘社區(qū)內(nèi)異常交互執(zhí)行行為的關(guān)鍵節(jié)點(diǎn),在兩個(gè)數(shù)據(jù)集內(nèi)異常社區(qū)內(nèi)各隨機(jī)選取一個(gè)社區(qū),記作社區(qū)1與社區(qū)2,利用本文算法對(duì)這兩個(gè)異常社區(qū)進(jìn)行異常交互執(zhí)行行為關(guān)鍵節(jié)點(diǎn)挖掘,有向邊權(quán)重直接影響本文算法的挖掘效果,通過調(diào)整蘭德系數(shù)仿真分析本文算法在不同有向邊權(quán)重取值時(shí)的挖掘效果,選取最佳有向邊權(quán)重取值,調(diào)整蘭德系數(shù)指挖掘結(jié)果與實(shí)際結(jié)果間的接近程度,取值區(qū)間為[0,1],其值越大,挖掘結(jié)果和實(shí)際結(jié)果越接近,仿真分析結(jié)果如圖2所示。 根據(jù)圖2可知,隨著有向邊權(quán)重取值的增長(zhǎng),本文算法在挖掘兩個(gè)社區(qū)內(nèi)異常交互執(zhí)行行為關(guān)鍵節(jié)點(diǎn)時(shí)的調(diào)整蘭德系數(shù)變化趨勢(shì)基本相同,均呈先上升后下降的趨勢(shì),在挖掘社區(qū)1時(shí),有向邊權(quán)重為0.4與0.5時(shí)的調(diào)整蘭德系數(shù)最高,在挖掘社區(qū)2時(shí),有向邊權(quán)重為0.4時(shí)的調(diào)整蘭德系數(shù)最高,綜合分析可知,在有向邊權(quán)重取值為0.4時(shí),本文算法的挖掘結(jié)果與實(shí)際結(jié)果最為接近,此時(shí)挖掘異常交互執(zhí)行行為關(guān)鍵節(jié)點(diǎn)的效果最佳。 圖2 不同有向邊權(quán)重時(shí)的挖掘效果 本文算法的有向邊權(quán)重值為0.4時(shí),仿真分析本文算法挖掘社區(qū)1與社區(qū)2異常交互執(zhí)行行為關(guān)鍵調(diào)用函數(shù)節(jié)點(diǎn)與被調(diào)用函數(shù)節(jié)點(diǎn)的結(jié)果,按照總積累缺陷能力與總傳播缺陷能力對(duì)函數(shù)節(jié)點(diǎn)的重要程度綜合排序關(guān)鍵調(diào)用函數(shù)節(jié)點(diǎn)與被調(diào)用函數(shù)節(jié)點(diǎn)挖掘結(jié)果,前十名關(guān)鍵函數(shù)節(jié)點(diǎn)挖掘結(jié)果如表1所示。 表1 關(guān)鍵函數(shù)節(jié)點(diǎn)挖掘結(jié)果 根據(jù)表1可知,本文算法可有效挖掘異常交互執(zhí)行行為的調(diào)用函數(shù)節(jié)點(diǎn)與被調(diào)用函數(shù)節(jié)點(diǎn),并有效依據(jù)總積累缺陷能力與總傳播缺陷能力對(duì)函數(shù)節(jié)點(diǎn)的重要程度綜合排序關(guān)鍵調(diào)用函數(shù)節(jié)點(diǎn)與被調(diào)用函數(shù)節(jié)點(diǎn),排名越高的函數(shù)節(jié)點(diǎn),其對(duì)有向復(fù)雜網(wǎng)絡(luò)軟件的影響力越大,及時(shí)控制這些節(jié)點(diǎn),可有效提升有向網(wǎng)絡(luò)軟件的可靠性。仿真結(jié)果證明,本文算法可有效挖掘有向復(fù)雜網(wǎng)絡(luò)軟件存在異常交互執(zhí)行行為的關(guān)鍵調(diào)用函數(shù)節(jié)點(diǎn)與被調(diào)用函數(shù)節(jié)點(diǎn)。 軟件之間調(diào)用次數(shù)越多,出現(xiàn)異常交互執(zhí)行行為的概率越高,仿真分析本文算法在不同軟件間調(diào)用次數(shù)時(shí)挖掘存在異常交互執(zhí)行行為的關(guān)鍵函數(shù)節(jié)點(diǎn),挖掘結(jié)果如圖3所示。 根據(jù)圖3可知,軟件調(diào)用次數(shù)越多,兩個(gè)數(shù)據(jù)集內(nèi)存在異常交互執(zhí)行行為的關(guān)鍵函數(shù)節(jié)點(diǎn)數(shù)量越多,本文算法的挖掘結(jié)果與實(shí)際結(jié)果非常接近,說明本文算法能夠精準(zhǔn)挖掘存在異常交互執(zhí)行行為的關(guān)鍵函數(shù)節(jié)點(diǎn)。 圖3 不同軟件調(diào)用次數(shù)時(shí)異常關(guān)鍵函數(shù)節(jié)點(diǎn)挖掘結(jié)果 挖掘網(wǎng)絡(luò)軟件存在異常交互執(zhí)行行為的關(guān)鍵節(jié)點(diǎn),屬于改善有向復(fù)雜網(wǎng)絡(luò)軟件穩(wěn)定性與可靠性的關(guān)鍵步驟,為此研究有向復(fù)雜網(wǎng)絡(luò)軟件異常交互執(zhí)行行為挖掘算法,依據(jù)社區(qū)相似度確定網(wǎng)絡(luò)軟件存在異常交互執(zhí)行行為的社區(qū),根據(jù)局部中心性挖掘社區(qū)內(nèi)存在異常交互執(zhí)行行為的關(guān)鍵函數(shù)節(jié)點(diǎn)。仿真結(jié)果表明:本文算法可精準(zhǔn)挖掘存在異常交互執(zhí)行行為的關(guān)鍵函數(shù)節(jié)點(diǎn),為改善有向復(fù)雜網(wǎng)絡(luò)軟件穩(wěn)定性與可靠性提供科學(xué)參考。權(quán)重Wq→p,那么q積累因p傳播獲取的缺陷可能性即q通過u積累缺陷的能力A,公式如下




3 仿真研究
3.1 仿真環(huán)境與數(shù)據(jù)來源
3.2 性能分析




4 結(jié)論