Automated Penetration Testing: Formalization and Realization
Charilaos Skandylas, Mikael Asplund
TL;DR
This work formalizes automated penetration testing at the architectural level and introduces ADAPT, an autonomic framework based on the MAPE-K loop to plan and execute attacks against real systems. By modeling the target as a security-informed architecture and using a utility-based decision process, ADAPT autonomously selects scans and exploits, coordinating a repertoire of techniques with off-the-shelf tools. The approach is instantiated for hosts and services, implemented in ADAPT, and evaluated on Metasploitable2/3 and a realistic VM network, demonstrating end-to-end automation without prior target knowledge. The contributions include a formal problem formulation, a generic autonomic architecture, an instantiation for real networks, and empirical validation showing practical feasibility and scalability for automated pentesting.
Abstract
Recent changes in standards and regulations, driven by the increasing importance of software systems in meeting societal needs, mandate increased security testing of software systems. Penetration testing has been shown to be a reliable method to asses software system security. However, manual penetration testing is labor-intensive and requires highly skilled practitioners. Given the shortage of cybersecurity experts and current societal needs, increasing the degree of automation involved in penetration testing can aid in fulfilling the demands for increased security testing. In this work, we formally express the penetration testing problem at the architectural level and suggest a general self-organizing architecture that can be instantiated to automate penetration testing of real systems. We further describe and implement a specialization of the architecture in the ADAPT tool, targeting systems composed of hosts and services. We evaluate and demonstrate the feasibility of ADAPT by automatically performing penetration tests with success against: Metasploitable2, Metasploitable3, and a realistic virtual network used as a lab environment for penetration tester training.
