System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及網絡安全測試,具體涉及一種基于機器學習的自動化滲透測試方法和系統、電子設備。
技術介紹
1、滲透測試是一種常用的安全評估的方法,旨在評估計算機系統、網絡和應用程序的安全性,驗證網絡防御措施的有效性。滲透測試通過模擬真實的攻擊行為,發現網絡空間中的弱點、漏洞和安全風險,并針對發現的問題進行報告。滲透測試是一個非常復雜的過程,包括信息收集,漏洞掃描,測試方案制定和漏洞利用等,這個過程需要大量經驗的支撐,缺乏經驗很容易產生誤判,從而影響測試準確性和測試效率。
2、自動化滲透測試是指通過模型或規則的方式代替人類經驗完成滲透測試的技術。目前,大多數的自動化滲透測試都是基于深度強化學習實現的,存在數據需求量大、訓練時間長和計算資源消耗大等問題。
技術實現思路
1、為了克服上述依賴經驗的滲透測試無法保證測試準確性和效率以及自動化滲透測試的數據需求量大、耗時耗資源的問題,本專利技術提供一種基于機器學習的自動化滲透測試方法和系統、電子設備。
2、一方面,本專利技術提供一種基于機器學習的自動化滲透測試方法,包括:
3、利用嗅探工具對測試目標進行目標信息收集,得到目標信息文件;
4、基于所述目標信息文件中的信息標簽進行所述目標信息文件的內容篩選,得到目標關鍵信息列表;
5、基于機器學習模型進行所述目標關鍵信息列表中每條關鍵信息的漏洞利用信息匹配,得到每條關鍵信息對應的漏洞利用信息;
6、基于獲取到的測試信息、所述目標關
7、可選地,所述利用嗅探工具對測試目標進行目標信息收集,得到目標信息文件,包括:
8、獲取輸入的與測試目標關聯的測試目標信息和嗅探配置信息;
9、基于所述測試目標信息和所述嗅探配置信息,生成嗅探測試指令;調用nmap工具自動執行所述嗅探測試指令,得到嗅探信息;
10、將所述嗅探信息存儲為xml文件,得到所述目標信息文件。
11、可選地,所述基于所述目標信息文件中的信息標簽進行所述目標信息文件的內容篩選,得到目標關鍵信息列表,包括:
12、遍歷所述目標信息文件的內容,基于所述目標信息文件的標簽特征篩選出與所述標簽特征對應的數據類型的內容數據,形成多條關鍵信息;
13、基于表格數據結構進行多條關鍵信息的存儲,得到所述目標關鍵信息列表。
14、可選地,每條關鍵信息至少包括目標端口、目標系統類型、目標服務、目標產品和漏洞標識。
15、可選地,所述機器學習模型為決策樹模型,所述機器學習模型的訓練過程包括:
16、基于metasploit的exploits模塊構建訓練數據集;
17、基于所述訓練數據集針對漏洞利用類別的熵進行所述訓練數據集的數據子集的劃分,直到劃分的每個數據子集的熵為0,訓練完成;
18、將每個所述數據子集及其對應的漏洞利用類別作為一個子樹,形成所述決策樹模型。
19、可選地,所述機器學習模型的訓練過程還包括:
20、若所述數據子集的熵不為0,基于所述數據子集中的各標簽特征進行所述數據子集的子集分割;
21、對于每個標簽特征的分割結果,基于所述數據子集在分割前后的信息增益在各所述標簽特征中篩選出分割特征,并將所述分割特征的分割結果作為所述數據子集的當前分割結果;
22、重復所述子集分割過程,直到分割結果的熵為0或分割結果為單一標簽特征。
23、可選地,所述基于所述數據子集在分割前后的信息增益在各所述標簽特征中篩選出分割特征,包括:
24、基于每個分割后子集的數據量在分割前的數據子集中的數據量的占比,確定各分割后子集的熵權重,基于每個分割后子集的熵權重和對應分割后子集的熵,確定所述數據子集在分割后的熵;
25、基于所述數據子集在分割前后的熵的差值,確定所述數據子集在分割前后的信息增益;
26、選擇所述信息增益的最大值對應的標簽特征作為所述分割特征。
27、可選地,所述數據子集在分割前后的信息增益的計算公式為:
28、
29、其中,ig表示數據子集在分割前后的信息增益,s表示分割前的數據子集,h(s)表示分割前的數據子集的熵,|s|表示分割前的數據子集的大小,k表示分割后子集的數量,|sj|表示分割后第j個子集的大小,h(sj)表示分割后第j個子集的熵;
30、所述數據子集的熵的計算公式為:
31、
32、其中,n表示數據子集中漏洞利用類別的類別總數,i表示漏洞利用類別的序號,p(i)表示第i個漏洞利用類別的數據量在數據子集中的占比。
33、可選地,所述基于機器學習模型進行所述目標關鍵信息列表中每條關鍵信息的漏洞利用信息匹配,得到每條關鍵信息對應的漏洞利用信息,包括:
34、將所述目標關鍵信息列表輸入所述決策樹模型,根據決策規則在所述決策樹模型的各節點進行決策測試,直到移動至所述決策樹模型的葉節點,得到每條關鍵信息的漏洞利用信息。
35、可選地,在基于機器學習模型進行所述目標關鍵信息列表中每條關鍵信息的漏洞利用信息匹配之前,所述方法還包括:
36、對所述目標關鍵信息列表進行多余數據和缺省值對應行的刪除,得到預處理后的目標關鍵信息列表;
37、對所述預處理后的目標關鍵信息列表中的每條關鍵信息進行針對字符串的編碼,得到對應數值型的目標關鍵信息列表。
38、可選地,所述執行所述滲透測試用例,包括:
39、響應于對測試界面中與目標測試用例對應控件的選擇操作,查找所述目標測試用例的用例信息;
40、基于所述目標測試用例的用例信息生成對應的目標測試指令;
41、調用msfconsole工具執行所述目標測試指令進行初步滲透測試。
42、可選地,所述執行所述滲透測試用例,還包括:
43、若所述初步滲透測試成功,繼續進行深入測試,直到測試結束;
44、若所述初步滲透測試失敗,自動執行除所述目標測試用例之外的剩余滲透測試用例,直到全部的剩余滲透測試用例執行完成,基于執行結果進行所述測試目標的安全評估。
45、另一方面,本專利技術還提供一種基于機器學習的自動化滲透測試系統,包括:
46、信息收集模塊,用于利用嗅探工具對測試目標進行目標信息收集,得到目標信息文件;
47、篩選模塊,用于基于所述目標信息文件中的信息標簽進行所述目標信息文件的內容篩選,得到目標關鍵信息列表;
48、信息匹配模塊,用于基于機器學習模型進行所述目標關鍵信息列表中每條關鍵信息的漏洞利用信息匹配,得到每條關鍵信息對應的漏洞利用信息;
49、滲透測試模塊,用于基于獲取到的測試信息、所述目標關鍵信息列表和每本文檔來自技高網...
【技術保護點】
1.一種基于機器學習的自動化滲透測試方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述利用嗅探工具對測試目標進行目標信息收集,得到目標信息文件,包括:
3.根據權利要求2所述的方法,其特征在于,所述基于所述目標信息文件中的信息標簽進行所述目標信息文件的內容篩選,得到目標關鍵信息列表,包括:
4.根據權利要求3所述的方法,其特征在于,每條關鍵信息至少包括目標端口、目標系統類型、目標服務、目標產品和漏洞標識。
5.根據權利要求1所述的方法,其特征在于,所述機器學習模型為決策樹模型,所述機器學習模型的訓練過程包括:
6.根據權利要求5所述的方法,其特征在于,所述機器學習模型的訓練過程還包括:
7.根據權利要求6所述的方法,其特征在于,所述基于所述數據子集在分割前后的信息增益在各所述標簽特征中篩選出分割特征,包括:
8.根據權利要求7所述的方法,其特征在于,所述數據子集在分割前后的信息增益的計算公式為:
9.根據權利要求5所述的方法,其特征在于,所述基于機器學習模型進行所
10.根據權利要求1-9任一項所述的方法,其特征在于,在基于機器學習模型進行所述目標關鍵信息列表中每條關鍵信息的漏洞利用信息匹配之前,所述方法還包括:
11.根據權利要求1所述的方法,其特征在于,所述執行所述滲透測試用例,包括:
12.根據權利要求11所述的方法,其特征在于,所述執行所述滲透測試用例,還包括:
13.一種基于機器學習的自動化滲透測試系統,其特征在于,包括:
14.根據權利要求13所述的系統,其特征在于,所述信息收集模塊包括:
15.根據權利要求14所述的系統,其特征在于,所述篩選模塊包括:
16.根據權利要求15所述的系統,其特征在于,每條關鍵信息至少包括目標端口、目標系統類型、目標服務、目標產品和漏洞標識。
17.根據權利要求13所述的系統,其特征在于,所述機器學習模型為決策樹模型,所述系統還包括模型訓練模塊,所述模型訓練模塊包括:
18.根據權利要求17所述的系統,其特征在于,所述子集劃分子模塊還用于:
19.根據權利要求18所述的系統,其特征在于,所述子集劃分子模塊還用于:
20.根據權利要求19所述的系統,其特征在于,所述數據子集在分割前后的信息增益的計算公式為:
21.根據權利要求17所述的系統,其特征在于,所述信息匹配模塊具體用于:
22.根據權利要求13-21任一項所述的系統,其特征在于,所述系統還包括:
23.根據權利要求13所述的系統,其特征在于,所述滲透測試模塊還用于:
24.根據權利要求23所述的系統,其特征在于,所述滲透測試模塊還用于:
25.一種電子設備,其特征在于,包括:至少一個處理器和存儲器;所述存儲器和處理器通過總線相連;
26.一種可讀存儲介質,其特征在于,其上存有執行程序,所述執行程序被執行時,實現如權利要求1至12中任一項所述的基于機器學習的自動化滲透測試方法。
...【技術特征摘要】
1.一種基于機器學習的自動化滲透測試方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述利用嗅探工具對測試目標進行目標信息收集,得到目標信息文件,包括:
3.根據權利要求2所述的方法,其特征在于,所述基于所述目標信息文件中的信息標簽進行所述目標信息文件的內容篩選,得到目標關鍵信息列表,包括:
4.根據權利要求3所述的方法,其特征在于,每條關鍵信息至少包括目標端口、目標系統類型、目標服務、目標產品和漏洞標識。
5.根據權利要求1所述的方法,其特征在于,所述機器學習模型為決策樹模型,所述機器學習模型的訓練過程包括:
6.根據權利要求5所述的方法,其特征在于,所述機器學習模型的訓練過程還包括:
7.根據權利要求6所述的方法,其特征在于,所述基于所述數據子集在分割前后的信息增益在各所述標簽特征中篩選出分割特征,包括:
8.根據權利要求7所述的方法,其特征在于,所述數據子集在分割前后的信息增益的計算公式為:
9.根據權利要求5所述的方法,其特征在于,所述基于機器學習模型進行所述目標關鍵信息列表中每條關鍵信息的漏洞利用信息匹配,得到每條關鍵信息對應的漏洞利用信息,包括:
10.根據權利要求1-9任一項所述的方法,其特征在于,在基于機器學習模型進行所述目標關鍵信息列表中每條關鍵信息的漏洞利用信息匹配之前,所述方法還包括:
11.根據權利要求1所述的方法,其特征在于,所述執行所述滲透測試用例,包括:
12.根據權利要求11所述的方法,其特征在于,所述執行所述滲透...
【專利技術屬性】
技術研發人員:王文輝,張錋,張道娟,武宏斌,韓龍璽,趙奇,劉鑫,田博彥,
申請(專利權)人:國網智能電網研究院有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。