999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于強化學習的滲透路徑推薦模型

2022-07-05 08:24:10趙海妮焦健
計算機應用 2022年6期
關鍵詞:利用動作模型

趙海妮,焦健*

基于強化學習的滲透路徑推薦模型

趙海妮1,2,焦健1,2*

(1.北京信息科技大學 計算機學院,北京 100101; 2.網絡文化與數字傳播北京市重點實驗室(北京信息科技大學),北京 100101)(*通信作者電子郵箱jiaojian@bistu.edu.cn)

滲透測試的核心問題是滲透測試路徑的規劃,手動規劃依賴測試人員的經驗,而自動生成滲透路徑主要基于網絡安全的先驗知識和特定的漏洞或網絡場景,所需成本高且缺乏靈活性。針對這些問題,提出一種基于強化學習的滲透路徑推薦模型QLPT,通過多回合的漏洞選擇和獎勵反饋,最終給出針對滲透對象的最佳滲透路徑。在開源靶場的滲透實驗結果表明,與手動測試的滲透路徑相比,所提模型推薦的路徑具有較高一致性,驗證了該模型的可行性與準確性;與自動化滲透測試框架Metasploit相比,該模型在適應所有滲透場景方面也更具靈活性。

滲透測試;強化學習;Q學習;策略規劃

0 引言

滲透測試是一種通過執行受控攻擊來評估計算機系統或網絡安全性的方法,是安全測試的最常用形式之一。該過程涉及對系統的任何潛在漏洞的主動分析,這些漏洞可能是由不良或不正確的系統配置、已知和未知的硬件或軟件缺陷、過程中的操作弱點或技術對策引起的。這種分析是從潛在攻擊者的角度進行的,涉及主動利用安全漏洞[1]。

目前的滲透測試主要是通過人工分析判斷來組合各個滲透活動,從而達到滲透的目的。因此,滲透測試的結果往往取決于執行者的個人能力和經驗,人工的方法也使得整個滲透過程的時間周期過長,成本較高。滲透測試自動化能夠有效降低人工成本[2],其中如何實現自動化生成滲透路徑是整個測試自動化過程迫切需要解決的問題。

文獻[3]中提出了一種技術用于攻擊圖生成與分析;文獻[4]中通過前向廣度優先搜索策略產生滲透攻擊圖,然后深度優先遍歷滲透攻擊圖生成滲透測試方案;文獻[5]中通過使用攻擊圖尋找漏洞之間的關聯,從而挖掘潛在攻擊路徑;文獻[6-7]中提出了一個基于邏輯的網絡安全分析器MulVAL,它是一個多層次的推理系統,能將安全因素轉換為網絡模型,違反安全策略時會給出攻擊路徑。

隨著網絡規模的增大,攻擊圖中會存在大量冗余節點,不利于測試人員與系統管理人員進行安全分析[4],近年來機器學習的興起為解決滲透測試問題提供了新的思路。文獻[8]中設計和實現了基于機器學習算法對SQL注入流程檢測的系統;文獻[9]中設計了基于XGBoost(eXtreme Gradient Boosting)算法和C-GRU(Convolutional neural network-Gated Recurrent Unit)深度學習模型的跨站腳本攻擊檢測方法;文獻[10]中從Web文檔和URL中提取特征,使用樸素貝葉斯算法及支持向量機(Support Vector Machine, SVM)算法對跨站腳本攻擊進行分類。上述研究的對象是具體漏洞,因此無法解決整個滲透測試過程中存在的動態和不確定性問題。

近年來,有研究將滲透測試過程形式化為部分可觀測的馬爾可夫決策過程(Partially Observable Markov Decision Processes, POMDP)。文獻[11]中通過知識推理減少測試過程中掃描動作的使用,依靠POMDP實現對單個機器的有效攻擊,通過攻擊組合實現對整個網絡的攻擊。

馬爾可夫決策過程的研究為強化學習奠定了基礎。如圖1強化學習的過程,其核心是學習“做什么才能使數值化的收益信號最大化”[12]。為了獲得最大的收益,強化學習智能體更加傾向于選擇在過去有效產生過收益的動作;但是為了發現這些動作,往往需要嘗試從未選擇過的動作,因此智能體必須開發已有的經驗來獲取收益,同時也要進行試探,使得未來可以獲得更好的動作選擇空間。在實際滲透測試過程中,針對特定服務中漏洞的利用和技術的選擇通常需要反復的嘗試,并以此不斷積累滲透經驗,所以滲透測試的過程比較適合轉化為強化學習的過程。

圖1 強化學習過程

近幾年也有不少學者將強化學習應用到滲透測試過程中。文獻[13]中提出了一個自主的安全分析和滲透測試框架,將生成的攻擊圖轉換為攻擊狀態與分析日志數據得到的威脅信息一并輸入到強化學習計劃生成器,生成器使用DQN(Deep Q Network)算法確定執行測試的最佳計劃,但是需要首先生成網絡的攻擊圖。文獻[14]中使用強化學習訓練智能體,以使其可以發現系統中的敏感文件和網絡缺陷。文獻[15]中將滲透測試過程轉換為POMDP,并將其中的漏洞利用過程建立為強化學習模型,認為將其嵌入自動化滲透測試框架或系統中,比如Metasploit[16],將提高測試質量與持久性;但是POMDP計算復雜度高,只適用于中小型網絡。文獻[17]中提出了一種基于網絡信息增益的攻擊規劃算法,并利用網絡信息構建回報函數,指導智能體從入侵者角度發現隱藏的攻擊路徑,選擇最佳響應操作;但是由于追求每次操作的最大信息增益,將會出現一系列局部最優的路徑組合并不是全局最優滲透路徑的情況。

綜上所述,使用強化學習解決滲透測試問題仍處于研究初級階段,針對當前研究存在的問題,本文基于強化學習提出了QLPT(Q Learning Penetration Test)模型,將滲透測試中的漏洞選擇過程轉換為強化學習的動作選擇過程。該模型不需要借助攻擊圖生成狀態-漏洞信息,而是利用Q學習使模型通過多回合的利用、探索與獎勵形成完備的狀態-漏洞Q表,在訓練完成之后可以根據每個狀態選擇對應最佳漏洞從而達到推薦最佳滲透路徑的效果。

1 模型構建

1.1 參數定義

為構建模型,首先定義建模涉及的元素,如表1所示。

表1 主要符號及其含義

表2 系統訪問權限說明

1.2 模型組成

QLPT模型主要由漏洞選擇、漏洞利用、獎勵值轉換、Q學習、狀態-漏洞Q表和狀態更新等模塊組成(表3),模型訓練過程如圖2所示。

表3 QLPT內部模塊功能說明

圖2 QLPT訓練流程

2 Q學習模塊設計

Q學習[19-20]是一種無模型強化學習的形式,其目標是學習如何將狀態映射到行動,以便在未知環境中最大化數字獎勵信號。在Q學習中,待學習的動作價值函數采用了對最優動作價值函數*的直接近似作為學習目標,而與用于生成智能體決策序列軌跡的行動策略無關。

式(3)可以表達狀態-動作對的值與其后繼狀態-動作對之間的關系,Q學習使用式(3)來估計每個狀態-動作對:

由于滲透過程中出現的狀態及動作是離散和有限的,這些狀態-動作對可以用表格形式表示,所以將其放在表格中形成了Q表。其中所有狀態-動作對在初始化時都被賦予一個初始值,在學習過程中每次收到一個獎勵時,相關的狀態-動作值將被依據貝爾曼方程(4)更新:

在模型開始學習之前,根據模型輸入的滲透對象狀態集與可利用漏洞集對狀態-漏洞Q表進行初始化,此時表中的狀態-漏洞期望收益值都為0;在模型開始學習之后,每個回合的學習過程中,Q學習模塊將根據獎勵值更新Q表中的相應期望收益值;經過多個回合的選擇與獎勵,Q表中的值將會趨于穩定,意味著此時的漏洞選擇是利用先前的經驗信息得到的。

本文根據Q學習理論提出了QLPT模型的訓練算法,如下:

3 實驗與驗證

3.1 實驗過程

為驗證本文模型,構建實驗場景如圖3所示,本實驗的滲透對象是OWASP BWA提供的可公開訪問的Web應用缺陷測試系統,該環境涵蓋了注入類、XSS、管理配置錯誤、弱口令等常見的Web漏洞類型,具有較強的代表性。測試人員需要使用漏洞掃描工具對滲透對象進行漏洞掃描,將得到的可利用漏洞集(詳見表4)、規定的滲透對象狀態集(詳見表5)及最大學習回合數()800輸入模型進行模型初始化;開始學習后,模型不斷產生具體漏洞利用動作,測試人員通過使用工具對滲透對象執行漏洞利用,并將得到的利用結果返回給模型,模型將結果轉換化為獎勵值對Q表進行更新;在經過多回合學習之后,最終產生推薦的一條或多條滲透路徑。

表4是使用漏洞掃描工具Acunetix對滲透對象(OWASP BWA Web應用缺陷測試系統)進行漏洞掃描得到的漏洞信息,將其作為可利用漏洞集輸入到滲透路徑推薦模型中。設置最大學習回合數為800,并啟動模型開始學習。學習過程中測試人員依據模型輸出的漏洞與工具信息,使用工具對滲透對象進行漏洞利用,并將得到的結果輸入到模型中。

圖3 實驗場景

表4 漏洞信息說明

表5 狀態集索引

3.2 實驗結果與分析

QLPT模型通過800回合的學習,得到穩定的狀態-漏洞Q表,分別選取各狀態下期望收益值最大的對應漏洞進行利用,即構成滲透路徑,如圖4所示,其中箭頭代表的是狀態轉換,例如由狀態(web,access,漏洞信息)到達狀態(web,user,后臺URL)Q表中記錄的可利用漏洞有多個,其中利用漏洞CWE-22的概率為91%。經過與手動測試的滲透路徑進行對比,發現本文模型推薦的滲透路徑與其一致,滲透路徑都為:目錄掃描漏洞利用→SQL注入漏洞利用→文件上傳漏洞利用→暴力破解漏洞利用。

圖4 滲透路徑

圖5 漏洞利用期望收益值隨學習回合數的變化

通過將QLPT和滲透測試自動化框架Metasploit[16]的優劣勢對比,得出結果如表6所示。Metasploit滲透測試成功率比較高的場景是其框架所包含的場景,由于QLPT是根據滲透目標進行學習訓練,所以沒有攻擊場景限制;在Metasploit框架中,負責滲透路徑規劃的是威脅建模階段和漏洞分析階段,每個漏洞在被利用之后產生的結果對后續此漏洞的利用沒有反饋更新作用,而QLPT模型的核心是漏洞利用的反饋更新機制;在使用模型的先驗知識層面,QLPT和Metasploit一樣不需要使用者具備滲透測試漏洞的利用經驗。

統計為達到滲透目標每回合學習所進行的漏洞利用嘗試次數如圖6所示,發現隨著模型學習地不斷深入,每回合進行漏洞利用嘗試的次數大幅降低。原因是獎勵值為漏洞選擇提供了導向作用,學習經驗以獎勵值形式累積,使后續學習中動作選擇步驟越來越少,而學習過程中嘗試次數偶爾的增加是因為動作選擇過程中的隨機參數。

表6 QLPT和Metasploit的對比

圖6 為達到滲透目標每回合學習的漏洞利用嘗試次數

4 結語

本文采用強化學習進行Web滲透測試的路徑規劃,與以往的研究不同,本文模型不需要事先具備大量的滲透測試知識,而是通過模型不斷地試錯與接受獎勵,以更新狀態-漏洞Q表,最終依據Q表輸出針對當前滲透對象的推薦滲透路徑。本文通過實驗驗證了使用強化學習進行滲透測試路徑規劃的可行性。未來的研究可以將漏洞信息和知識圖譜相結合,引入深度學習繼續提升強化學習的學習效率。

[1] SARRAUTE C. Automated attack planning[D]. Buenos Aires: Instituto Tecnológico de Buenos Aires, 2012:23-24.

[2] SINGH N, MEHERHOMJI V, CHANDAVARKAR B R. Automated versus manual approach of web application penetration testing[C]// Proceedings of the 11th International Conference on Computing, Communication and Networking Technologies. Piscataway: IEEE, 2020: 1-6.

[3] SHEYNER O, HAINES J, JHA S, et al. Automated generation and analysis of attack graphs[C]// Proceedings 2002 IEEE Symposium on Security and Privacy. Piscataway: IEEE, 2002: 273-284.

[4] SWILER L P, PHILLIPS C, GAYLOR T. A graph-based network-vulnerability analysis system: SAND-97-3010C; CONF-980534ON: DE98001486; BR: YN0100000; TRN: AHC2DT03%%16[R]. Albuquerque, NM: Sandia National Lab, 1998:8.

[5] YU X H, JIANG J H, SHUAI C Y. Approach to attack path generation based on vulnerability correlation[M]// KOPCHO J, KURZAWA C, MACPHERSON G. IEEE Conference Anthology. Piscataway: IEEE, 2013: 1-6.

[6] OU X M, GOVINDAVAJHALA S, APPEL A W. MulVAL: a logic-based network security analyzer[C]// Proceedings of the 14th USENIX Security Symposium. Berkeley: USENIX Association, 2005: 113-128.

[7] OU X M, BOYER W F, McQUEEN M A. A scalable approach to attack graph generation[C]// Proceedings of the 13th ACM Conference on Computer and Communications Security. New York: ACM, 2006: 336-345.

[8] 張登峰. 基于機器學習的SQL注入檢測[D]. 重慶:重慶郵電大學, 2017:1-69.(ZHANG D F. SQL injection detection based on machine learning[D]. Chongqing: Chongqing University of Posts and Telecommunications, 2017:1-69)

[9] 洪鎮宇. 基于機器學習的跨站腳本攻擊檢測研究[D]. 廈門:廈門大學, 2018:1-77.(HONG Z U. Research on detection of cross-site scripting attacks based on machine learning[D]. Xiamen: Xiamen University, 2018:1-77.)

[10] NUNAN A E, SOUTO E, DOS SANTOS E M, et al. Automatic classification of cross-site scripting in web pages using document-based and URL-based features[C]// Proceedings of the 2012 IEEE Symposium on Computers and Communications. Piscataway: IEEE, 2012: 702-707.

[11] SARRAUTE C, BUFFET O, HOFFMANN J. POMDPs make better hackers: accounting for uncertainty in penetration testing[C]// Proceedings of the 26th AAAI Conference on Artificial Intelligence. Palo Alto, CA: AAAI Press, 2012: 1816-1824.

[12] RICHARD S S, BARTO A G. Reinforcement Learning: An Introduction[M]. Cambridge: MIT Press, 1998: 313-314.

[13] CHOWDHARY A, HUANG D J, MAHENDRAN J S, et al. Autonomous security analysis and penetration testing[C]// Proceedings of the 16th International Conference on Mobility, Sensing and Networking. Piscataway: IEEE, 2020: 508-515.

[14] CHAUDHARY S, O’BRIEN A, XU S. Automated post-breach penetration testing through reinforcement learning[C]// Proceedings of the 2020 IEEE Conference on Communications and Network Security. Piscataway: IEEE, 2020: 1-2.

[15] GHANEM M C, CHEN T M. Reinforcement learning for intelligent penetration testing[C]// Proceedings of the 2nd World Conference on Smart Trends in Systems, Security and Sustainability. Piscataway: IEEE, 2018: 185-192.

[16] Rapid7. Metasploit[DB/OL]. [2021-06-17]. https://www.rapid7.com/products/metasploit/.

[17] ZHOU T Y, ZANG Y C, ZHU J H, et al. NIG-AP: a new method for automated penetration testing[J]. Frontiers of Information Technology and Electronic Engineering, 2019, 20(9): 1277-1288.

[18] Invicti. Acunetix[DB/OL]. [2021-06-17].https://www.acunetix.com/.

[19] WATKINS C J C H. Learning from delayed rewards[D]. Cambridge: King’s College of University of Cambridge, 1989:1-142.

[20] WATKINS C J C H, DAYAN P.-learning[J]. Machine Learning, 1992, 8(3/4):279-292.

Recommendation model of penetration path based on reinforcement learning

ZHAO Haini1,2, JIAO Jian1,2*

(1,,100101,;2(),100101,)

The core problem of penetration test is the planning of penetration test paths. Manual planning relies on the experience of testers, while automated generation of penetration paths is mainly based on the priori knowledge of network security and specific vulnerabilities or network scenarios, which requires high cost and lacks flexibility. To address these problems, a reinforcement learning-based penetration path recommendation model named Q Learning Penetration Test (QLPT) was proposed to finally give the optimal penetration path for the penetration object through multiple rounds of vulnerability selection and reward feedback. It is found that the recommended path of QLPT has a high consistency with the path of manual penetration test by implementing penetration experiments at open source cyber range, verifying the feasibility and accuracy of this model; compared with the automated penetration test framework Metasploit, QLPT is more flexible in adapting to all penetration scenarios.

penetration test; reinforcement learning; Q learning; strategic planning

This work is partially supported by Opening Project of Beijing Key Laboratory of Internet Culture and Digital Dissemination Research (ICDDXN006).

ZHAO Haini, born in 1997, M. S. candidate. Her research interests include network security, penetration test.

JIAO Jian, born in 1978, Ph. D., associate professor. His research interests include network security, blockchain.

TP393.08

A

1001-9081(2022)06-1689-06

10.11772/j.issn.1001-9081.2021061424

2021?08?09;

2021?10?16;

2021?10?29。

網絡文化與數字傳播北京市重點實驗室開放課題(ICDDXN006)。

趙海妮(1997—),女,安徽阜陽人,碩士研究生,CCF會員,主要研究方向:網絡安全、滲透測試;焦健(1978—),男,河北滄州人,副教授,博士,CCF會員,主要研究方向:網絡安全、區塊鏈。

猜你喜歡
利用動作模型
一半模型
利用min{a,b}的積分表示解決一類絕對值不等式
中等數學(2022年2期)2022-06-05 07:10:50
重要模型『一線三等角』
利用一半進行移多補少
重尾非線性自回歸模型自加權M-估計的漸近分布
利用數的分解來思考
Roommate is necessary when far away from home
動作描寫要具體
畫動作
動作描寫不可少
主站蜘蛛池模板: 国产菊爆视频在线观看| 午夜视频日本| 国产成年女人特黄特色大片免费| 依依成人精品无v国产| 中文字幕乱码中文乱码51精品| 成年片色大黄全免费网站久久| 亚洲A∨无码精品午夜在线观看| 国产中文一区a级毛片视频| 最新无码专区超级碰碰碰| 亚洲人人视频| 91精品人妻一区二区| 国产成人综合网| 国产午夜在线观看视频| 欧美日在线观看| 97se亚洲综合在线天天 | 天堂成人av| 国产女人在线观看| 国产女人在线视频| 国产成人久久综合777777麻豆| 国产无吗一区二区三区在线欢| 99热最新网址| 成人蜜桃网| 毛片免费观看视频| 伊人国产无码高清视频| 67194成是人免费无码| 小蝌蚪亚洲精品国产| 国产一级做美女做受视频| 思思99热精品在线| 国产成人高清精品免费| 青青青草国产| 日韩午夜福利在线观看| 污视频日本| 亚洲高清国产拍精品26u| 亚洲网综合| 色网站在线视频| 成年人福利视频| 国产香蕉97碰碰视频VA碰碰看| 最新精品久久精品| 国产精品亚洲天堂| 中文字幕无码电影| 成人国产精品2021| 久久综合九色综合97婷婷| 国产一区亚洲一区| 亚洲无码高清一区二区| 伊人色在线视频| 影音先锋亚洲无码| 久久伊人色| 一本大道香蕉高清久久| 欧美一区二区人人喊爽| 性欧美久久| 伊人婷婷色香五月综合缴缴情| 玩两个丰满老熟女久久网| 成人在线天堂| 亚洲精品无码日韩国产不卡| 国产精品中文免费福利| 国产在线小视频| 亚洲不卡网| 日韩在线2020专区| 天天干天天色综合网| 精品一区二区三区自慰喷水| 国产麻豆精品久久一二三| 2021国产在线视频| 幺女国产一级毛片| 制服丝袜一区二区三区在线| 国产综合另类小说色区色噜噜| 亚洲欧洲国产成人综合不卡| 亚洲午夜天堂| 国产精品视频导航| 一级毛片在线播放| 午夜啪啪网| 蜜桃视频一区| 欧美一级片在线| a天堂视频| 粗大猛烈进出高潮视频无码| 中文一区二区视频| 激情亚洲天堂| 免费人成又黄又爽的视频网站| 日本在线国产| 蜜桃臀无码内射一区二区三区| 亚洲天堂日韩在线| 亚洲不卡av中文在线| 欧美综合成人|