A Framework for Training and Deployment of RL-Enabled Penetration Testing Agents
Penetration testing is a form of ethical hacking where an attack is performed against a computer network to find vulnerabilities. Due to the complexity of penetration testing, it is commonly done manually by trained cybersecurity professionals. Additionally, the lengthy amount of time it takes to conduct a penetration test results in high costs, and the large scope of these assessments can lead to human errors resulting in missed vulnerabilities. Our project, named Phorcys, is designed to conduct an automated real-world attack utilizing recent advances in machine learning to report strengths and weaknesses within a network. Phorcys utilizes deep Reinforcement Learning (RL) to automate the process of penetration testing. Once trained, The Phorcys RL agent can conduct penetration tests fully autonomously. Therefore, Phorcys’ use of deep RL provides companies with a straightforward and cost effective approach to conduct high-quality and frequent penetration tests. At a high-level, Phorcys will start with a user who tells the agent the scope of the attack. It will then perform reconnaissance that will be ingested into the deep RL model for the given targets. The model will decide on what exploits to leverage in the process, and executes those exploits to compromise the target. After successfully conducting the assessment, Phorcys concludes by automatically generating a report of the penetration test.