李 騰,曹世杰,尹思薇,魏大衛(wèi),馬鑫迪,馬建峰
(西安電子科技大學(xué) 網(wǎng)絡(luò)與信息安全學(xué)院,陜西 西安 710071)
網(wǎng)絡(luò)攻擊圖和最佳攻擊路徑規(guī)劃的分析一直以來都是國內(nèi)外信息安全領(lǐng)域討論和研究的熱點話題之一。在對系統(tǒng)網(wǎng)絡(luò)進(jìn)行滲透測試時,滲透測試人員在了解對方網(wǎng)絡(luò)拓?fù)湟约爸鳈C之間連通性的前提下,都希望能夠找到一條代價最小、高效精準(zhǔn)的攻擊路徑,以達(dá)到滲透的預(yù)期目標(biāo)。本文所要解決的問題就是如何在一個存在IDS報警的網(wǎng)絡(luò)主機環(huán)境里通過機器學(xué)習(xí)的方式高效精準(zhǔn)地尋找到最優(yōu)的攻擊路徑。防守者如果能夠提前對攻擊路徑進(jìn)行構(gòu)造,站在攻擊者的角度思考問題時,則可以幫助系統(tǒng)防御者更好地防護(hù)系統(tǒng),最終避免攻擊和威脅的發(fā)生。但由于系統(tǒng)網(wǎng)絡(luò)的復(fù)雜性和諸多不確定因素,如:攻擊者的攻擊行為選擇不確定性,環(huán)境反饋因素不確定性,主機系統(tǒng)漏洞利用難度不確定性,等,這些不利的條件都對生成攻擊圖或攻擊路徑造成了很大的困難。同時攻擊者模型的建立與完善的好壞也將直接影響最優(yōu)攻擊路徑的價值大小。所以,綜合上述的種種因素,合理、科學(xué)、高效地生成攻擊圖和攻擊路徑具有不小的挑戰(zhàn)與困難。
攻擊圖是目前十分流行的用來分析網(wǎng)絡(luò)脆弱性關(guān)聯(lián)度的技術(shù),最早是由文獻(xiàn)[1]提出的基于攻擊圖的網(wǎng)絡(luò)脆弱性分析方法。針對攻擊圖構(gòu)造問題,現(xiàn)有的生成攻擊圖的方式也有很多,主要可分為基于網(wǎng)絡(luò)屬性(即網(wǎng)絡(luò)安全狀態(tài)空間)和基于網(wǎng)絡(luò)脆弱性這兩類,同時大多數(shù)都是依靠遍歷和搜索圖結(jié)構(gòu)來獲取攻擊圖,但存在一定的問題,如狀態(tài)爆炸、攻擊圖生成速率較慢等。文獻(xiàn)[2]所構(gòu)建的網(wǎng)絡(luò)動態(tài)威脅分析屬性攻擊圖(DT-AAG)模型,雖然解決了傳遞環(huán)路的問題,但其算法冗余,生成圖效率低下。文獻(xiàn)[3]通過將節(jié)點表達(dá)為網(wǎng)絡(luò)安全狀態(tài)、有向邊表達(dá)攻擊規(guī)則的方法,但是存在節(jié)點爆炸的問題,等等。文獻(xiàn)[4]提出的方法不同于以往傳統(tǒng)的生成攻擊圖的方式,而是將Q-learning這種動態(tài)規(guī)劃的算法思想運用到網(wǎng)絡(luò)攻擊圖的生成方法中去;然而該方法不適合計算規(guī)模較大的網(wǎng)絡(luò)拓?fù)洵h(huán)境,且后續(xù)生成最優(yōu)攻擊路徑的效率也較低。文獻(xiàn)[5]提出將Q-learning機制直接運用到規(guī)劃最優(yōu)攻擊路徑的問題上,從而不依靠生成攻擊圖便可直接獲取最優(yōu)攻擊路徑,同時模擬攻擊者不需要訓(xùn)練數(shù)據(jù)、在線學(xué)習(xí)即可,并且還解決了算法空間復(fù)雜度高、生產(chǎn)最佳路徑冗余的問題,但是沒有考慮主機集群中存在IDS等報警防御機制等情況,且部分算法和模型定義略顯復(fù)雜,缺乏針對性,占用了較多的內(nèi)存資源空間。
為解決上述問題,文中提出了一種基于Q-learning算法的最優(yōu)攻擊路徑生成方法。該方法主要以Q-learning 算法決策思想為基礎(chǔ),并改善、簡化攻擊者決策算法模型,在進(jìn)行分區(qū)可達(dá)性的篩檢之后,開始模擬攻擊者的攻擊回合,其間設(shè)置環(huán)境障礙與影響因素,最終得到最優(yōu)攻擊路徑。文中實驗?zāi)M了一個中小型公司的內(nèi)網(wǎng)環(huán)境,經(jīng)過指定的回合數(shù)訓(xùn)練學(xué)習(xí)后,模擬攻擊者能夠精確、高效地尋找到最優(yōu)攻擊路徑,且實驗結(jié)果表明,目標(biāo)網(wǎng)絡(luò)結(jié)構(gòu)越復(fù)雜,通過提前分區(qū)可達(dá)性刪除冗余主機的方法越能突出優(yōu)勢。
論文工作的主要貢獻(xiàn)在于:
(1) 通過分區(qū)和區(qū)域可達(dá)性分析,降低需要檢測的連接數(shù)量,提高以Q-learning 算法為核心的模擬攻擊者尋找攻擊路徑的整體學(xué)習(xí)效率。
(2) 構(gòu)建復(fù)雜有干擾因素的實驗環(huán)境場景,增強Q-learning算法模型在多變的網(wǎng)絡(luò)環(huán)境中的適應(yīng)性和決策能力,豐富了實驗場景的同時,驗證了整體方案的可靠性。
(3) 簡化了Q-learning算法模型,使得整個尋路過程更加具有針對性,同時減少占用較多的內(nèi)存資源空間,使算法變得十分高效。
(4) 采用多回合制訓(xùn)練模式,利用多線程并行計算輔助模擬攻擊者學(xué)習(xí)和訓(xùn)練,大大縮減訓(xùn)練時間,并通過遍歷搜索Q表的方式得到最優(yōu)攻擊路徑,降低算法的復(fù)雜度。
傳統(tǒng)的大多數(shù)生成分析網(wǎng)絡(luò)脆弱性的方式都是通過構(gòu)建攻擊圖來實現(xiàn)的;采用優(yōu)先搜索的算法遍歷攻擊圖以獲取最優(yōu)攻擊路徑,根據(jù)攻擊圖的構(gòu)建方式可分為狀態(tài)攻擊圖和屬性攻擊圖,這也是最常用的兩種構(gòu)建方式。文獻(xiàn)[6]對攻擊圖的基本構(gòu)成做出了詳細(xì)的介紹,并且分析了各種攻擊圖類型的優(yōu)缺點。但是基于以上兩種攻擊圖所存在的問題是:攻擊路徑生成速度較慢,并且應(yīng)對狀態(tài)爆炸問題而采用的限定路徑的方法導(dǎo)致了攻擊路徑的缺失。LIU等建立的網(wǎng)絡(luò)攻擊節(jié)點路徑檢測模型具有較高的準(zhǔn)確性,有效地提高了網(wǎng)絡(luò)安全分析的效率,但是存在狀態(tài)爆炸的問題。為了解決攻擊圖存在的上述問題,降低這些問題對獲取最優(yōu)攻擊路徑的影響,研究人員將隱馬爾可夫模型和攻擊圖相結(jié)合,并采用蟻群優(yōu)化算法以概率式方法計算最優(yōu)攻擊路徑,同時文獻(xiàn)[7]在此基礎(chǔ)再次進(jìn)行了深度研究。但將隱馬爾可夫模型和攻擊圖相結(jié)合并采用蟻群優(yōu)化計算的方法在面對大規(guī)模計算機集群時,由于其開銷問題,無法快速計算出最優(yōu)攻擊路徑。同時,文獻(xiàn)[8]根據(jù)路徑的攻擊成本,通過蟻群優(yōu)化算法來進(jìn)行最優(yōu)攻擊路徑的預(yù)測,但不足之處在于追求較低的攻擊代價的同時,忽略了攻擊收益對于預(yù)測攻擊路徑的影響?;谪惾~斯網(wǎng)絡(luò)的分析模型具有強大的不確定性問題處理能力,同時也能夠有效地進(jìn)行多源信息表達(dá)與融合。文獻(xiàn)[9]就貝葉斯網(wǎng)絡(luò),提出了將CVSS評分系統(tǒng)與其相結(jié)合的分析模型,各個節(jié)點上的置信度被轉(zhuǎn)化為成本和收益的計算,的確對貝葉斯網(wǎng)絡(luò)的分析模型進(jìn)行了優(yōu)化;但是不足之處在于未考慮單位時間內(nèi)的攻擊收益和成本的差值。文獻(xiàn)[10]在消除攻擊圖上環(huán)路的基礎(chǔ)上,將模型轉(zhuǎn)換為貝葉斯網(wǎng)絡(luò)攻擊模型(BNAG),引入節(jié)點攻擊難度和節(jié)點狀態(tài)變遷度量指標(biāo)計算節(jié)點可達(dá)概率。之后,文獻(xiàn)[11]又定義了網(wǎng)絡(luò)攻擊增益圖(NAPG)模型,根據(jù)路徑概率、增益速率,利用最優(yōu)增益路徑預(yù)測算法實現(xiàn)對最優(yōu)增益路徑的預(yù)測。除此之外,文獻(xiàn)[12]針對當(dāng)前攻擊圖模型中很少考慮攻擊事件對所有屬性節(jié)點置信度的動態(tài)影響,提出一種基于貝葉斯攻擊圖的動態(tài)風(fēng)險評估模型,該模型運用貝葉斯信念網(wǎng)絡(luò)建立用于描述攻擊行為中多步原子攻擊間因果關(guān)系的概率攻擊圖。但基于貝葉斯網(wǎng)絡(luò)的攻擊圖并沒有解決最優(yōu)彌補集的問題。文獻(xiàn)[13]提出了基于轉(zhuǎn)換的攻擊圖分析方法研究,論證了最優(yōu)彌補集問題與加權(quán)碰集問題之間的等價性,并提供了相應(yīng)的形式化轉(zhuǎn)換方法。除攻擊圖外,攻擊行為態(tài)勢和攻擊路徑的預(yù)測也是需要解決的難題。文獻(xiàn)[14]為準(zhǔn)確、全面地預(yù)測攻擊行為并量化攻擊威脅,提出一種基于攻擊預(yù)測的安全態(tài)勢量化方法;該方法也通過設(shè)計基于動態(tài)貝葉斯攻擊圖的攻擊預(yù)測算法,進(jìn)而推斷后續(xù)攻擊行為。文獻(xiàn)[15]通過對無線網(wǎng)絡(luò)中異常信息的入侵意圖進(jìn)行預(yù)測,可以有效地保證網(wǎng)絡(luò)的安全性和穩(wěn)定性,但是該模型分析的效率不高。胡昌振團(tuán)隊針對以上的問題提出了將Q-learning的算法思想應(yīng)用到尋找最優(yōu)攻擊路徑上去,這種規(guī)劃方式主要解決了以下的問題:① 提出的網(wǎng)絡(luò)模型不需要進(jìn)行訓(xùn)練,因此不需要收集訓(xùn)練數(shù)據(jù);② 可在線學(xué)習(xí),實時確定不同時刻不同網(wǎng)絡(luò)狀態(tài)對應(yīng)的最佳攻擊路徑;③ 學(xué)習(xí)率使用了退火模型,所以收斂的更加精確;④ 由于不需要生成攻擊圖,所以可以適用于大規(guī)模計算機集群。引入Q-learning算法可以解決大部分基于攻擊圖生成攻擊路徑方式所存在的問題,但是同樣也帶來了新的問題,就文獻(xiàn)[5]提出的方案方法來看,其缺點如下:① 算法空間復(fù)雜度較高,因此占用內(nèi)存空間較多;② 存在路徑冗余的問題。胡昌振等就之前提出的Q-learning算法的方案提出了進(jìn)一步的改進(jìn)措施,其具體的改進(jìn)措施和優(yōu)點如下:① 將動作和狀態(tài)融合,降低算法的空間復(fù)雜度;② 加快最優(yōu)攻擊路徑的生成速度;③ 使得生產(chǎn)的攻擊路徑更加簡潔有效。但是在胡昌振等改進(jìn)后的該方法中,并沒有在模擬攻擊者開始學(xué)習(xí)尋路之前簡化網(wǎng)絡(luò)拓?fù)鋱D,使得整個訓(xùn)練過程會增加冗余的環(huán)境分支,從而降低模擬攻擊者尋路的整體效率。實驗環(huán)境中也未加入防御措施和防御手段去阻礙、干擾攻擊者的訓(xùn)練學(xué)習(xí)過程,同時立即回報函數(shù)定義復(fù)雜,使得整個尋路過程缺乏針對性。
為了解決攻擊圖的生成結(jié)果冗余、生成效率低下以及攻擊路徑的生成存在需要人工修剪的問題,提出了一種簡化網(wǎng)絡(luò)拓?fù)?、強化具體攻擊模型的方法。方法圖如圖1所示。
該方法通過路由表和防火墻策略規(guī)則,計算分區(qū)子網(wǎng)間可達(dá)性,對目標(biāo)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行化簡,同時刪除冗余的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)分支,并將修改完善后的Q-learning的核心算法決策思想加入到模擬攻擊者的決策行為依賴函數(shù)中,以回合制的方式反復(fù)地進(jìn)行學(xué)習(xí)和訓(xùn)練,不斷更新自己的行為決策;其間設(shè)置監(jiān)控、障礙干擾攻擊者的決策過程,最終獲取到最優(yōu)網(wǎng)絡(luò)攻擊路徑序列的方法。在整個尋路過程中,通過利用分區(qū)可達(dá)性使整體的訓(xùn)練學(xué)習(xí)效率極大的提高,而且具體化后的Q-learing決策思想模型,能夠通過不斷的適應(yīng)環(huán)境以此來更新行為-價值表,提高模擬攻擊者行為決策的科學(xué)性與準(zhǔn)確性,以獲得最大的回報函數(shù)值,并最終達(dá)到收斂。同時也能夠針對不同的訓(xùn)練環(huán)境,作出合理的選擇與判斷,生成的攻擊路徑序列也不存在需要人工修剪的問題。
2.2.1 網(wǎng)絡(luò)拓?fù)浠?/p>
首先獲取攻擊環(huán)境中的網(wǎng)絡(luò)主機分布結(jié)構(gòu),繪制網(wǎng)絡(luò)拓?fù)鋱D;然后通過圖2所示子網(wǎng)可達(dá)性判斷的方法,根據(jù)網(wǎng)絡(luò)環(huán)境中的各路由器的路由表與環(huán)境子網(wǎng)表計算出子網(wǎng)間可達(dá)性;接著對子網(wǎng)間可達(dá)性表進(jìn)行進(jìn)一步的細(xì)化切分,只篩選出可達(dá)的子網(wǎng),并通過圖3所示防火墻規(guī)則判斷的方法,結(jié)合主機網(wǎng)絡(luò)信息表和防火墻規(guī)則表計算出主機可達(dá)性,最后得到主機可達(dá)性表。主機可達(dá)性表包括兩種情況,第1種情況是主機之間屬于同一子網(wǎng),第2種情況是主機之間屬于不同子網(wǎng)且子網(wǎng)間存在可達(dá)關(guān)系,若不屬于同一個子網(wǎng)且子網(wǎng)間不可達(dá),則不用計算主機之間的連通性。在整個過程中,采用并行的機制進(jìn)行計算,以提高計算的效率。通過分析分區(qū)可達(dá)性,可大大減少對攻擊者需要訓(xùn)練和學(xué)習(xí)環(huán)境中的冗余主機節(jié)點,提高攻擊者的整體學(xué)習(xí)效率。
圖2 子網(wǎng)可達(dá)性判斷偽代碼
2.2.2 攻擊者模型建立
首先通過漏洞掃描器和人工確認(rèn)檢測,獲取該網(wǎng)絡(luò)環(huán)境下各主機中存在的漏洞,建立主機漏洞狀態(tài)表Host_vulns(HostID,vulnID,vulnScore),其中HostID指主機名稱編號,vulnID指主機漏洞編號,vulnScore指漏洞評級。
然后建立Q-learning學(xué)習(xí)模型Q,即模擬攻擊者的決策行為選擇模型。公式如下:
q(St,a)=(1-α)*q(St,a)+α*(Rt+1+γ*maxaq(a,St+1)) ,
(1)
其中,①α表示學(xué)習(xí)效率,決定現(xiàn)實的Q值與估計的Q值之間的誤差有多少會被模擬攻擊者所學(xué)習(xí)到,從而更新Q表中的值;在這個模型中,α取常數(shù)值0.01;不同于文獻(xiàn)[5]中所設(shè)定那樣,假設(shè)該攻擊者具有穩(wěn)定的學(xué)習(xí)能力,不會受環(huán)境的因素等其他因素的影響,在具體化攻擊者模型的同時簡化了公式,降低算法的復(fù)雜度;②γ表示對未來獎勵的衰減值;若γ取值為(0,0.5),則表示該攻擊者在一定的評價指標(biāo)下只考慮眼前的利益價值,而容易忽略長遠(yuǎn)的價值,即缺乏遠(yuǎn)見意識;若γ取值為(0.5,1.0)遞增上漲,則表示該攻擊者逐漸有遠(yuǎn)見,不滿足于眼前的利益,而考慮長久化的利益,從而獲取最優(yōu)攻擊路徑的效果會更佳;根據(jù)對攻擊者的模擬情況來看,對γ的取值為常數(shù)0.9,表示這是一個有經(jīng)驗且有遠(yuǎn)見的攻擊模擬攻擊者;③Rt+1表示模擬攻擊者到達(dá)下一狀態(tài)的立即獎勵;④ maxaq(a,st+1)表示模擬攻擊者想象自己在下一狀態(tài)時采取在該狀態(tài)下的行為集合所得到的Q值中的最大值。
同時簡化立即回報函數(shù)R(S,S′),淡化中間過程主機在整個攻擊過程中的價值分量,統(tǒng)一設(shè)置立即回報值為0:
R(S,S′)=0(S′≠S_IDS&&S′≠S_TARGET) 。
(2)
提高IDS報警主機和最終目的主機在此過程中的絕對影響,分別設(shè)置立即回報值為
R(S,S_TARGET)=TARGET_VALUE,R(S,S_IDS)=-(TARGET_VALUE+1) ,
(3)
其中,TARGET_VALUE為除目標(biāo)主機之外的其余主機的漏洞評級的均值加上目標(biāo)主機的漏洞評級。
2.2.3 最優(yōu)攻擊路徑構(gòu)造
通過上述所構(gòu)造的基于Q-learning的決策算法,將該算法加入到模擬攻擊者的決策行為選擇函數(shù)中,同時設(shè)置模擬攻擊者的初始主機位置并確定目標(biāo)主機,然后開始獲取最優(yōu)攻擊路徑。在整個決策模型中,設(shè)置ε-greedy的值為0.9,ε-greedy為用在決策上的一種策略,具體表示模擬攻擊者在90%的情況下會根據(jù)Q表給模擬攻擊者的狀態(tài)價值反饋來選擇自身的行為;而在10%的情況下,模擬攻擊者會隨機選取自身的行為,不依據(jù)Q表進(jìn)行決策。獲取最優(yōu)攻擊路徑的過程如下:首先獲取網(wǎng)絡(luò)結(jié)構(gòu),接著根據(jù)圖4所示主機可達(dá)性計算的方法獲取主機可達(dá)性表,然后通過漏掃和人工確認(rèn)獲取主機漏洞狀態(tài)表,漏洞作為已知條件,通過二次確認(rèn)部署成功,并同時初始化Q表。接下來的尋路訓(xùn)練采用回合制的方式進(jìn)行,初始化回合數(shù)為n,在每次回合中,利用圖5所示獲取最優(yōu)攻擊序列的方法模擬攻擊者進(jìn)行尋路學(xué)習(xí)并根據(jù)Q-learning算法模型同步更新Q表。但在利用圖5方法尋路的整個過程中,會發(fā)生兩種情況:一是成功獲取到目標(biāo)主機權(quán)限,二是被配置有IDS異常行為檢測報警系統(tǒng)的主機檢測到,并被永久封禁IP。兩種情況都代表著一回合的結(jié)束,但在后者情況中模擬攻擊者需要更換IP代理再次進(jìn)行尋路學(xué)習(xí)訓(xùn)練,直到回合數(shù)達(dá)到設(shè)定要求。在第n+1次尋路過程里,重新設(shè)置Q-learning算法模型中的ε-greedy值為1,使模擬攻擊者在該回合中完全按照之前尋路訓(xùn)練得到的Q表進(jìn)行決策判斷,以獲取最終的最優(yōu)攻擊路徑序列。
圖4 主機可達(dá)性計算偽代碼
本次實驗場景選擇為模擬一家公司的內(nèi)網(wǎng)環(huán)境,公司內(nèi)網(wǎng)中存在內(nèi)網(wǎng)服務(wù)器區(qū)、技術(shù)部vlan、財政部vlan、市場部vlan、內(nèi)部文件信息區(qū)。攻擊者初始主機位置在該公司技術(shù)部的一名員工主機上,目標(biāo)主機為內(nèi)部文件信息區(qū)的某一存儲大量信息文件的主機。通過實驗網(wǎng)絡(luò)環(huán)境中的各路由器的路由表與環(huán)境子網(wǎng)表計算出子網(wǎng)間可達(dá)性,接著對子網(wǎng)間可達(dá)性表進(jìn)行進(jìn)一步的細(xì)化切分,只篩選出可達(dá)的子網(wǎng),并通過主機網(wǎng)絡(luò)信息表和防火墻規(guī)則表計算出主機可達(dá)性,從而獲取主機可達(dá)性表,并刪除了冗余主機節(jié)點。
得到所生成的主機可達(dá)性表后,開始100次回合數(shù)的尋路訓(xùn)練,在第101次尋路過程中,將ε-greedy值設(shè)置為1,表示模擬攻擊者完全依賴Q表進(jìn)行行為決策的選擇,通過前面回合過程中的訓(xùn)練學(xué)習(xí),Q表中的值已達(dá)到收斂,即通過Q表進(jìn)行決策可有效地反映模擬攻擊者的學(xué)習(xí)效果與決策結(jié)果。模擬攻擊者最終獲取到最優(yōu)攻擊路徑序列為:Attack_ sequence=[H1,H2,H9,H8,H7,Ht],即H1H2H8H7Ht這條攻擊路徑,如圖6所示。經(jīng)過檢測,所得路徑確為本實驗環(huán)境中的最優(yōu)攻擊路徑。同時,改變實驗環(huán)境主機拓?fù)浣Y(jié)構(gòu),主機結(jié)構(gòu)變化為圖7的連通性結(jié)構(gòu),再次進(jìn)行實驗分析。根據(jù)同樣的方法得到的最優(yōu)攻擊序列為:Attack_ sequence=[H1,H5,H6,H9,H12,H15,HT],如圖5所示,經(jīng)過檢測,所得路徑也確為該環(huán)境下的最優(yōu)攻擊路徑。
圖6 初始環(huán)境下最優(yōu)攻擊路徑
在本節(jié)中,通過控制變量的方法,測試在不同的回合數(shù)設(shè)定值的條件下,模擬攻擊者每回合的時耗情況,即平均回合時耗(總時耗/回合數(shù))。同時,將本文方法與文獻(xiàn)[5]的方法進(jìn)行對比,在相同的網(wǎng)絡(luò)環(huán)境下,測試不同網(wǎng)絡(luò)主機數(shù)量對總時耗的影響。圖8和圖9為實驗數(shù)據(jù)結(jié)果。
圖8結(jié)果表明,隨著回合數(shù)的增加,模擬攻擊者的每回合時耗不斷下降,且下降比例隨著回合數(shù)的增加比例同步上升。在文中所建立的Q-learning決策模型中,Q表扮演了很重要的角色,通過Q表的不斷迭代更新,Q表在模擬攻擊者的行為決策選擇中產(chǎn)生的積極影響也越來越大,表明模擬攻擊者有更大的可能性去選擇更加適合的下一步行為。
圖8 攻擊者每回合的時耗情況
圖9結(jié)果表明,隨著環(huán)境主機數(shù)量的不斷增加,在主機數(shù)量不太大,網(wǎng)絡(luò)環(huán)境復(fù)雜度有限的情況下,兩種方法的總時耗相差不大。但隨著主機數(shù)量的大幅度增加,文中方法與文獻(xiàn)[5]所提出Q學(xué)習(xí)改進(jìn)方法的差異逐漸拉大,且文中方法的總時耗增加幅度遠(yuǎn)小于與胡昌振等所提出Q學(xué)習(xí)改進(jìn)方法中的總時耗的增加幅度。該結(jié)果是因為文中方法在進(jìn)行模擬訓(xùn)練之前,先對目標(biāo)網(wǎng)絡(luò)環(huán)境的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)進(jìn)行了分區(qū)域可達(dá)性判斷,刪除了大量冗余節(jié)點,在環(huán)境主機數(shù)量逐漸增大的過程中,該步驟便對整個尋路過程產(chǎn)生了極大的積極影響。該實驗結(jié)果進(jìn)一步證實了在復(fù)雜度高的網(wǎng)絡(luò)環(huán)境中,通過分區(qū)和區(qū)域可達(dá)性分析來化簡網(wǎng)絡(luò)拓?fù)浣Y(jié)果,刪除冗余主機節(jié)點,有利于降低檢測數(shù)量,提高尋路過程的效率。
最后,從準(zhǔn)確度的角度比較了文中方案與胡昌振團(tuán)隊方法的差異。圖10實驗結(jié)果表明,在尋路試驗次數(shù)不太多的情況下,文中方法的準(zhǔn)確度不及他文方法;但隨著試驗次數(shù)的不斷增加,文中所建立的模擬攻擊者模型對目標(biāo)環(huán)境的適應(yīng)能力也逐漸增強;同時在本文的Q-learning決策算法模型中,將部分參數(shù)常數(shù)化,使得模擬攻擊者的模型變得十分具體,這在面對一個陌生的網(wǎng)絡(luò)環(huán)境是不太友好的,但隨著熟悉程度的增加,輔助模擬攻擊者進(jìn)行決策行為選擇的Q表總體趨勢逐漸達(dá)到收斂,模擬攻擊者對該網(wǎng)絡(luò)環(huán)境的決策能力與適應(yīng)能力也并行提高。所以在實驗次數(shù)達(dá)到一定的程度下,文中方法與胡昌振團(tuán)隊的準(zhǔn)確度大致相同,并在某些時間段中,文中方法的準(zhǔn)確度高于胡昌振團(tuán)隊的方法的準(zhǔn)確度。
文中方法的P-R曲線圖如圖11所示,P-R曲線圖的平衡點BEP在(0.56,0.58)區(qū)間,該值表明文中方法的機器學(xué)習(xí)具有良好的性能與可靠性。
圖10 準(zhǔn)確度差異比較情況
將Q-learning算法思想運用到尋找最優(yōu)攻擊路徑的方法中去,同時對攻擊者決策模型、環(huán)境等具體措施做出了針對性的改進(jìn)。并且,方法中加入了分區(qū)域分析主機可達(dá)性、刪除冗余主機節(jié)點的策略。經(jīng)過實驗之后,得到了準(zhǔn)確的最優(yōu)攻擊序列。同時,所采用的算法模型顯著地降低了算法的復(fù)雜度,減少了所占內(nèi)存空間,并在復(fù)雜網(wǎng)絡(luò)環(huán)境下具有突出的優(yōu)勢。在后續(xù)工作中,首先需要進(jìn)一步完善模型,減少常數(shù)化參數(shù)的設(shè)定,增強模型的擴展性。其次,改進(jìn)獲取最優(yōu)攻擊路徑的方式,使獲取過程更加的科學(xué)、準(zhǔn)確,減少或避免出現(xiàn)最優(yōu)攻擊路徑生成存在冗余節(jié)點、攻擊路徑生成不全等其他問題。