## 3 Black-Box Penetration Testing Framework for ICVs  
### Penetration Testing  
Penetration testing is an efficient technique that helps security testers identify cybersecurity vulnerabilities at the end of development. Rather than simply testing, penetration testing involves systematically conducting security tests on target applications, networks, systems, and other entities to verify the presence of security vulnerabilities. Any exploitable security vulnerabilities discovered are then reported to the system owner. Penetration testing can be categorized into white-box, gray-box, and black-box based on the level of knowledge about the target [30]. White-box testing allows testers to access key data such as source code, internal data, and documentation. Black-box testing is a traditional method where testers can only gather information through public channels. Gray-box testing falls in between these two methods, which means testers are able to obtain some information about the architecture and cybersecurity threats of the target before conducting the test.  
Typical penetration testing consists of three stages: the information collection stage, the threat analysis stage, and the penetration testing stage [31]. (1) The information gathering stage involves collecting available information within the limits set by authority. For instance, it includes searching open-source technical documentation for implementation details of the tested object. As more information is gathered gradually, testers gain a deeper understanding of the tested object which allows them to iterate on their information acquisition methods. The expansion in ways to gather information lays a foundation for system threat analysis and subsequent penetration testing. (2) The threat analysis stage necessitates the modeling of threats on the target under examination based on the gathered information. Testers deduce the fundamental system architecture of the target by considering factors such as software and hardware composition, functional features, open services, and other relevant details. As a result of analyzing system architecture, testers identify high-value assets that are more enticing to potential attackers. For high-value assets, testers scrutinize their threat scenarios encompassing attack entry points and paths. Building upon this foundation, testers assess the potential harm posed by each threat and evaluate the severity of cybersecurity risks using indicators like attack probability, property loss, and privacy disclosure. Based on the results of threat analysis, different severity levels are assigned to threat scenarios to assist testers in determining test case priorities. (3) The penetration testing stage requires a test plan tailored to address specific threats identified during the threat analysis stage in order to verify if these threats can be exploited into actual cybersecurity vulnerabilities. Executing test cases according to the plan helps uncover potential cybersecurity vulnerabilities. However, it is crucial to verify discovered vulnerabilities in order to assess their level of harm. All vulnerabilities detected through penetration testing should be reported and managed following vulnerability management regulations while conducting regression testing after technical fixes have been implemented by the organization responsible for maintaining the tested system.