摘 要: 為了解決傳統(tǒng)網(wǎng)絡滲透方法在異構(gòu)網(wǎng)絡上適應性較差的問題,采用計算機算法與設計中的迷宮路徑算法,、圖論中的相關(guān)理論,,將傳統(tǒng)的迷宮路徑算法進行了拓展。在此基礎上,,利用拓展的迷宮路徑算法對網(wǎng)絡滲透進行了全新探索,,提高了異構(gòu)網(wǎng)絡下的網(wǎng)絡滲透適應能力與速度,為開展有目標性的網(wǎng)絡攻擊打下了堅實的基礎,。利用上述研究確定的最短路徑與關(guān)鍵節(jié)點,,為開展數(shù)據(jù)網(wǎng)絡防護提供了明確的對策與方法。通過上述具有完全實踐性的理論研究,,為拓展傳統(tǒng)的網(wǎng)絡滲透攻擊技術(shù)與方法,,為數(shù)據(jù)網(wǎng)絡安全防護等方面開辟了一片全新的領(lǐng)域。
關(guān)鍵詞: 迷宮路徑算法;拓展圖,;極大連通,;模型
網(wǎng)絡滲透攻擊簡稱為滲透攻擊(Network Penetration),是攻擊者常用的一種攻擊手段,,也是一種綜合的高級攻擊技術(shù),,指通過一步步滲透,進入某個大型網(wǎng)絡主機服務器群組所在的整個網(wǎng)絡系統(tǒng),,從而實施網(wǎng)絡攻擊的技術(shù),。由于滲透攻擊具有極大的隱蔽性(其在遍歷整個網(wǎng)絡拓撲結(jié)構(gòu)之前并不發(fā)生危害作用),但是一旦其掌握整個網(wǎng)絡拓撲結(jié)構(gòu)后,,發(fā)動的網(wǎng)絡攻擊往往是致命性的,,在該網(wǎng)絡系統(tǒng)的任何主機都無法幸免[1]。滲透攻擊目前常用的方法是基于攻擊圖的滲透測試模型攻擊圖方法PTGM(Penetration Testing Graph Modal),。
滲透攻擊圖的自動生成方法有很多,,參考文獻[2] 通過定義攻擊模式和prolog規(guī)則來自動生成子攻擊和攻擊圖;參考文獻[3]建立了網(wǎng)絡攻擊過程中的貪心策略,,并給出該策略的約束攻擊圖生成過程,;而參考文獻[4]則利用被測試目標網(wǎng)絡脆弱點間的邏輯關(guān)系,結(jié)合原子攻擊知識庫,,給出一種滲透攻擊圖自動生成方法,。此外,基于生成的滲透攻擊圖,,一些學者還研究了滲透攻擊圖的優(yōu)化問題,,如參考文獻[5]將蟻群算法應用于攻擊模型的安全分析中,獲取最小關(guān)鍵攻擊集的優(yōu)化解,;參考文獻[6,,7]通過將攻擊圖與通用安全脆弱點評估系統(tǒng)相結(jié)合,刪除攻擊圖中的不可達路徑,,簡化了攻擊圖,。
傳統(tǒng)的網(wǎng)絡滲透攻擊研究對異構(gòu)網(wǎng)絡環(huán)境下的攻擊研究不足,同時研究重心過多地側(cè)重于被動防護研究,,而對主動防御研究不足,,導致網(wǎng)絡安全研究一直處于被動挨打、疲于應對的局面,。通過在網(wǎng)絡滲透攻擊研究中引入拓展的迷宮路徑算法,為異構(gòu)網(wǎng)絡環(huán)境下的網(wǎng)絡安全研究提供了主動應對策略與方法,。通過引入拓展的迷宮路徑算法,,對任意復雜網(wǎng)絡中的關(guān)鍵路徑、關(guān)鍵節(jié)點進行網(wǎng)絡安全策略分析與防護,解決整個網(wǎng)絡安全問題提供了切實可行的解決方案,。
為了提高對網(wǎng)絡滲透攻擊的研究,,以便對網(wǎng)絡滲透攻擊進行預防和處理,以計算機算法設計與分析中的迷宮路徑算法為藍本,,通過對其進行擴展,,嘗試對網(wǎng)絡拓撲結(jié)構(gòu)進行遍歷,在此基礎上利用網(wǎng)絡攻擊方法,,實現(xiàn)網(wǎng)絡滲透攻擊,。
迷宮路徑算法(Algorithm of Maze’s Path)是一種在已知迷宮存在一條從入口到出口的通路的前提下,尋找到該條迷宮具體路徑的算法,。迷宮路徑算法對于未知圖的遍歷具有極大的優(yōu)越性,,它可以通過簡單有效的算法,在較短時間內(nèi)尋找到可行路徑,。該算法在具體實現(xiàn)時,,用二維向量對迷宮進行表示。迷宮的入口處一般用向量(0,,0)表示,,迷宮的出口用二維向量(m,n)表示,。探索者從(0,,0)出發(fā),每次只能向前(有4個可選方向,,分別是:正北,、正南、正東,、正西)行進一步,,前進完成后,探索者所在位置由行進前的(i,,j)變更為行進后的(i,,j+1)、(i,,j-1),、(i+1,j),、(i-1,,j)(上述4個位置依次對應向正北、向正南,、向正東,、向正西前進)。在行進前同時記錄(將信息記錄到歷史行進記錄中)行進前所在位置和行進的具體方向,當行動后的位置可達后,,記錄行動后的位置,。依此順序前進,當隨機選取的行進方向無法抵達時,,查找歷史行進記錄,,回退到上一步所在的位置,并按照行進歷史記錄記載,,去探索當前位置未探索的方向,。按照這種思路,對整個位置迷宮進行遍歷,,直到找到出口位置,。由于事先已經(jīng)確定該迷宮存在至少一條明確的由入口到出口的通路,所以迷宮路徑算法必然能夠?qū)ふ业缴鲜雎窂街械囊粭l,。
1 基于拓展迷宮路徑算法的網(wǎng)絡滲透實現(xiàn)
在進行網(wǎng)絡滲透時,,網(wǎng)絡滲透的最初切入點就可以看做迷宮路徑算法中的迷宮入口(Entrance),而迷宮出口(Exit)則是此次切入點所能直接到達的目的地址,,此處所說的直接到達是指通過切入點路由表顯示的目的地址,。用符號A1表示初始切入點,從切入點A1的路由表中可以獲取該主機所能達到的多個目標地址,,假定分別為B1,、B2、…,、Bm,。可以隨機選取上述目標地址中的任意一個作為前進的方向(為了便于說明,,在此選取B1作為前進目標),,將前進信息和當前位置信息計入行動歷史記錄中,由此歷史行動記錄已經(jīng)構(gòu)成,,記為H1,。此時,H1=(A1,,B1),。由于網(wǎng)絡結(jié)構(gòu)不同于標準迷宮,在任何一個節(jié)點,,理論上均有多個可選方向(大于4個方向)作為下一步前進方向,,因此需要構(gòu)造一個行動方向可選記錄集,記為D1,。此時,,D1=(B2,,B3,…,,Bm),在此未記錄B1是因為該節(jié)點已經(jīng)被選擇進行了滲透測試,,所以不需要進行標記,。當B1方向可達后,用網(wǎng)絡偵聽工具和網(wǎng)絡攻擊工具破解B1主機,,以此獲得該主機的最高權(quán)限,。當上述目標均實現(xiàn)后,獲取B1主機的路由信息表,,假定路由信息表中顯示的目標地址為C1,、C2、…,、Cl,。按照上述方法,隨機選取上述目標地址中的任意一個作為前進的方向(為了便于說明,,在此選取C1作為前進目標),,將前進信息和當前位置信息計入行動歷史記錄中,此時歷史行動記錄H1已經(jīng)由H1=(A1,,B1)變更為H1=(A1,,B1,C1),。與此同時,,行動方向可選記錄集為(D1,D2),。
在此時,,D2=(C2,C3,,…,,Cl)。如果C1點依然方向可達,,且用網(wǎng)絡偵聽工具和網(wǎng)絡攻擊工具破解C1主機成功,,以此獲得該主機的最高權(quán)限后,依上述步驟繼續(xù)進行滲透,。如果在限定的時間內(nèi),,C1無法完成上述操作,則利用類似迷宮路徑算法的回退機制進行網(wǎng)絡滲透回退,,通過結(jié)合歷史行動記錄集H1和行動方向可選記錄集(D1,,D2),,確定回退后進行網(wǎng)絡滲透的下一目標主機地址。由于網(wǎng)絡中主機的安全性能,、漏洞狀態(tài)并不一致,,且主機的口令、密鑰強度存在明顯的差別,,所以只要同一網(wǎng)段中的一臺主機存在安全隱患,,均能完成對此網(wǎng)段上一級網(wǎng)絡連接的滲透工作。利用此拓展的迷宮路徑算法就完成了從初始切入點A1開始的最遠目標地址滲透工作,。由于整個網(wǎng)絡拓撲結(jié)構(gòu)不同于迷宮結(jié)構(gòu),,網(wǎng)絡中并不是任意兩臺主機之間都是彼此可達的。選擇已經(jīng)滲透成功的任意一臺非A1主機作為初始切入點,,重復利用上述網(wǎng)絡滲透技術(shù)進行網(wǎng)絡滲透,,即可完成基于變更后的主機地址的網(wǎng)絡滲透工作。利用這種拓展的迷宮路徑算法,,基本完成了整個網(wǎng)絡拓撲的滲透遍歷,。
但是該算法存在一個明顯的問題就是網(wǎng)絡拓撲結(jié)構(gòu)中的重復、無效信息過多,,不利于后期進行網(wǎng)絡攻擊,。以網(wǎng)絡中任意一對網(wǎng)絡主機為例,假定該成對網(wǎng)絡主機分別為A1,、P1,,那么從A1出發(fā)到達P1的通路與從P1出發(fā)到達A1的通路可能大相徑庭。需要確定以哪一條通路作為行動路線,。另外,,在A1出發(fā)到達P1的通路或從P1出發(fā)到達A1的通路上,是否存在冗余路徑也需要確定,。只有將冗余路徑刪除并保留最短路徑,,在后期進行網(wǎng)絡攻擊時才能在最短時間內(nèi)真正有效地達到所需的目的點?;谏鲜鋈毕?,利用圖論中的相關(guān)理論與方法對拓展算法進行完善。通過這種方式將現(xiàn)實中的離散數(shù)據(jù)進行了數(shù)學意義上的整合處理,。
2 基于圖論算法的網(wǎng)絡滲透完全圖的生成
在圖論理論中,,有一個非常重要的思想就是極大連通子圖的概念。用圖論語言描述就是:設圖G=(V,,E),,其中變量V代表頂點集合,變量E代表邊集合,,變量G代表圖,。如果存在另外一個圖G1=(V1,,E1),其中變量V1代表頂點集合,,且V1?哿V,;變量E1代表邊集合,且E1?哿E,;變量G1代表圖,。若圖G1中的任意兩點之間是連通的,且圖G1不存在回路,,此時向圖G1中添加任何一個頂點或邊,圖G1將出現(xiàn)回路或者變?yōu)榉沁B通,,那么圖G1就稱為圖G的極大連通子圖,。
按照上述理論,需要在此構(gòu)造網(wǎng)絡滲透圖的極大連通子圖,,通過將若干個極大連通子圖合并,,來實現(xiàn)對網(wǎng)絡滲透圖的最小覆蓋訴求?;谏鲜鱿敕?,首先對拓展算法進行改進。在每一步,,完成對下一步主機的完全滲透工作后,,記錄從滲透成功節(jié)點到上一步節(jié)點的物理到達時間,以此時間作為該條通路的路徑長度,。假如當前地址是A1,,而目標地址是B1,當成功獲取B1的超級操作權(quán)限后,,在B1主機上測試到達A1主機的時長,,以此作為通路A1 B1的路徑長度。用此方法,,對成功獲取權(quán)限后的主機進行路徑長度測量,,并將此信息記錄在路徑信息歷史集合DI中。隨著整個網(wǎng)絡拓撲滲透的完成,,得以獲取所有可達路徑的路徑長度信息,。利用獲取的所有節(jié)點信息以及與之對應的節(jié)點間路徑長度信息,重新構(gòu)造一個圖鄰接矩陣,,其具體表述如下:
3 網(wǎng)絡攻擊分析研究與數(shù)據(jù)網(wǎng)絡防護研究
上述內(nèi)容對未知的網(wǎng)絡拓撲進行了探索,,明確了整個網(wǎng)絡結(jié)構(gòu),并在此基礎上完成了對網(wǎng)絡拓撲的重點分析,,找到了整個網(wǎng)絡拓撲的最短路徑,,為下一步有針對性地進行防護網(wǎng)絡攻擊打下了堅實的基礎,。
針對上述分析中確定的整個網(wǎng)絡拓撲結(jié)構(gòu)中的最短路徑,將最短路徑中的每一個節(jié)點確定為關(guān)鍵節(jié)點,。在具體的數(shù)據(jù)網(wǎng)絡中,,這些關(guān)鍵節(jié)點就是未來網(wǎng)絡滲透和網(wǎng)絡攻擊的主要目標,對上述數(shù)據(jù)網(wǎng)絡的關(guān)鍵節(jié)點主機,,需要建立一臺雙備份服務器,,該主機負責監(jiān)控上述關(guān)鍵節(jié)點主機的動態(tài)信息。具體說來,,就是在此服務器上,,存儲上述關(guān)鍵節(jié)點主機的IP地址及其對應的MAC地址,且形成一一對應的穩(wěn)定關(guān)系,。同時對整個網(wǎng)絡中涉及上述關(guān)鍵節(jié)點主機的ARP請求進行實時監(jiān)控,,對于涉及關(guān)鍵節(jié)點主機發(fā)送的ARP請求,必須與服務器上的對應信息進行自動核對,。一旦發(fā)現(xiàn)有與原地址不匹配的ARP請求發(fā)生,,立即進行系統(tǒng)報警,同時定向跟蹤此ARP請求發(fā)生的地址及時間,。并將正確的ARP請求進行網(wǎng)絡廣播傳送,,以防止黑客行為的發(fā)生。所有關(guān)鍵節(jié)點主機要求變更地址的TCP/IP請求,,必須提前通過手工報送的方式實現(xiàn),,不能采取自行更換主機網(wǎng)卡、主機IP地址的方式實現(xiàn),。同理,,RARP請求的處理方式與上類似。
通過上述分析研究,,對攻擊網(wǎng)絡進行數(shù)據(jù)分析,,從任意出發(fā)點開始,設定下一步網(wǎng)絡攻擊的傳播方向,。設定的規(guī)則是根據(jù)當前節(jié)點與網(wǎng)絡上任意可達節(jié)點之間的最短路徑為其傳播的具體路徑,。對網(wǎng)絡中任意可達節(jié)點采取同樣方法進行設定,并確定網(wǎng)絡攻擊的強度與時間,,由此即可在制定的時間達到預期的網(wǎng)絡攻擊效果,。
基于上述整體方法,任意網(wǎng)絡拓撲結(jié)構(gòu)下的網(wǎng)絡滲透攻擊均可確定,。利用拓展的迷宮路徑算法完成了對網(wǎng)絡滲透的初步改善,;在此基礎上,利用圖論相關(guān)理論與方法,,最終完成了網(wǎng)絡滲透攻擊的全過程優(yōu)化升級,。通過確定的最短路徑及關(guān)鍵節(jié)點,,為數(shù)據(jù)網(wǎng)絡中確立網(wǎng)絡防御保護措施的實施范圍、實施方式確定了明確的思路,。
傳統(tǒng)的網(wǎng)絡滲透攻擊研究在異構(gòu)網(wǎng)絡環(huán)境下的攻擊研究不足,,同時研究重心過多地側(cè)重于被動防護研究,而對主動防御研究不足,。從而導致網(wǎng)絡安全研究一直處于被動挨打,、疲于應對的局面。通過在網(wǎng)絡滲透攻擊研究中引入拓展的迷宮路徑算法,,為異構(gòu)網(wǎng)絡環(huán)境下的網(wǎng)絡安全研究提供了主動應對策略與方法,。本文通過引入拓展的迷宮路徑算法,對任意復雜網(wǎng)絡中的關(guān)鍵路徑,、關(guān)鍵節(jié)點進行網(wǎng)絡安全策略分析,、防護,從而為解決整個網(wǎng)絡安全問題提供了切實可行的解決方案,。
參考文獻
[1] HAMISI N Y,MVUNGI N H,,MFINANGA D A,,et al. Intrussion detection by penetration test in an organization network[J].Adaptive Science & Technology,2009:226-231.
[2] 肖竟華,,王熠.基于攻擊模式的攻擊圖自動生成方法研究[J].計算機安全,,2008(7):23-25.
[3] 宋舜宏,陸余良,,夏陽,,等.基于貪心策略的網(wǎng)絡攻擊圖生成方法[J].計算機工程,2011,,37(2):126-128.
[4] 崔穎,,章麗娟,吳灝.基于攻擊圖的滲透測試方案自動生成方法[J].計算機應用,,2010(8):2146-2150.
[5] 金晶,,孫東來,陳秀真.基于攻擊圖及蟻群算法的安全評估[J].信息安全與通信保密,,2009(4):79-81.
[6] 祝寧,,陳性元,王前.基于效果的網(wǎng)絡攻擊分類方法[J].計算機應用,,2006(S1):162-164.
[7] 葉云,,徐錫山,賈焰,,等.基于攻擊圖的網(wǎng)絡安全概率計算方法[J].計算機學報,,2010,,33(10):164-167.