使用强化学习的漏洞利用

Anas AlMajali, Loiy Al-Abed, Ruba Mutleq, Zaid Samamah, Anas Abu Shhadeh, B. Mohd, Khalil M. Ahmad Yousef
{"title":"使用强化学习的漏洞利用","authors":"Anas AlMajali, Loiy Al-Abed, Ruba Mutleq, Zaid Samamah, Anas Abu Shhadeh, B. Mohd, Khalil M. Ahmad Yousef","doi":"10.1109/JEEIT58638.2023.10185700","DOIUrl":null,"url":null,"abstract":"Our main goal is to create a reinforcement agent that is capable of exploiting a particular vulnerability. Hiring a penetration tester or doing manual exploitation can be expensive and time-consuming, thus such a process needs to be intelligent and automated. There are many tools out there that perform auto-exploitation, like Metasploit Pro. But the problem with such tools is that they require significant execution time and resources because they are based on trying every possible payload and checking if it works or not. In this work, we created a reinforcement agent and configured it to exploit a certain vulnerability. After the agent completes the training phase, it stores payloads with their corresponding reward values in a Q-Table. When the agent faces a state that is a combination of a target operating system and a certain vulnerability, it knows what options to set to perform exploitation by looking at its Q- Table. The proposed methodology was tested on remote code execution vulnerability in CouchDB version 3.1.0. After the training phase was completed, deployment was tested on three different systems in which the main goal of the attacker (establishing a reverse shell) was achieved using the payloads with the highest rank in the Q- Table in 8.26 seconds (average).","PeriodicalId":177556,"journal":{"name":"2023 IEEE Jordan International Joint Conference on Electrical Engineering and Information Technology (JEEIT)","volume":"39 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Vulnerability Exploitation Using Reinforcement Learning\",\"authors\":\"Anas AlMajali, Loiy Al-Abed, Ruba Mutleq, Zaid Samamah, Anas Abu Shhadeh, B. Mohd, Khalil M. Ahmad Yousef\",\"doi\":\"10.1109/JEEIT58638.2023.10185700\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Our main goal is to create a reinforcement agent that is capable of exploiting a particular vulnerability. Hiring a penetration tester or doing manual exploitation can be expensive and time-consuming, thus such a process needs to be intelligent and automated. There are many tools out there that perform auto-exploitation, like Metasploit Pro. But the problem with such tools is that they require significant execution time and resources because they are based on trying every possible payload and checking if it works or not. In this work, we created a reinforcement agent and configured it to exploit a certain vulnerability. After the agent completes the training phase, it stores payloads with their corresponding reward values in a Q-Table. When the agent faces a state that is a combination of a target operating system and a certain vulnerability, it knows what options to set to perform exploitation by looking at its Q- Table. The proposed methodology was tested on remote code execution vulnerability in CouchDB version 3.1.0. After the training phase was completed, deployment was tested on three different systems in which the main goal of the attacker (establishing a reverse shell) was achieved using the payloads with the highest rank in the Q- Table in 8.26 seconds (average).\",\"PeriodicalId\":177556,\"journal\":{\"name\":\"2023 IEEE Jordan International Joint Conference on Electrical Engineering and Information Technology (JEEIT)\",\"volume\":\"39 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-05-22\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2023 IEEE Jordan International Joint Conference on Electrical Engineering and Information Technology (JEEIT)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/JEEIT58638.2023.10185700\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE Jordan International Joint Conference on Electrical Engineering and Information Technology (JEEIT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/JEEIT58638.2023.10185700","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

我们的主要目标是创建一个能够利用特定漏洞的强化代理。雇佣一名渗透测试人员或进行人工开发既昂贵又耗时,因此这样的过程需要智能化和自动化。有很多工具可以执行自动利用,比如Metasploit Pro。但是这些工具的问题在于它们需要大量的执行时间和资源,因为它们是基于尝试每一个可能的有效负载并检查它是否有效。在这项工作中,我们创建了一个强化代理并配置它来利用某个漏洞。在agent完成训练阶段后,它将有效载荷及其相应的奖励值存储在Q-Table中。当代理面临目标操作系统和某个漏洞的组合状态时,它通过查看其Q- Table来知道应该设置哪些选项来执行利用。在CouchDB 3.1.0版本的远程代码执行漏洞上进行了测试。在训练阶段完成后,在三个不同的系统上进行了部署测试,其中攻击者的主要目标(建立反向shell)在8.26秒(平均)内使用Q- Table中排名最高的有效负载实现。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Vulnerability Exploitation Using Reinforcement Learning
Our main goal is to create a reinforcement agent that is capable of exploiting a particular vulnerability. Hiring a penetration tester or doing manual exploitation can be expensive and time-consuming, thus such a process needs to be intelligent and automated. There are many tools out there that perform auto-exploitation, like Metasploit Pro. But the problem with such tools is that they require significant execution time and resources because they are based on trying every possible payload and checking if it works or not. In this work, we created a reinforcement agent and configured it to exploit a certain vulnerability. After the agent completes the training phase, it stores payloads with their corresponding reward values in a Q-Table. When the agent faces a state that is a combination of a target operating system and a certain vulnerability, it knows what options to set to perform exploitation by looking at its Q- Table. The proposed methodology was tested on remote code execution vulnerability in CouchDB version 3.1.0. After the training phase was completed, deployment was tested on three different systems in which the main goal of the attacker (establishing a reverse shell) was achieved using the payloads with the highest rank in the Q- Table in 8.26 seconds (average).
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信