Penetration testing is security testing in which assessors mimic real-world attacks to identify methods for circumventing the security features of an application, system, or network.
It often involves launching real attacks on real systems and data that use tools and techniques commonly used by attackers.
Most penetration tests involve looking for combinations of vulnerabilities on one or more systems that can be used to gain more access than could be achieved through a single vulnerability.
Penetration testing can also be useful for determining how well the system tolerates real world-style attack patterns, the likelihood level of sophistication an attacker needs to successfully compromise the system, additional countermeasures that could mitigate threats against the system Defenders’ ability to detect attacks and respond appropriately.
Penetration testing can be invaluable, but it is labor-intensive and requires great expertise to minimize the risk to targeted systems. Systems may be damaged or otherwise rendered inoperable during the course of penetration testing, even when the organization benefits in knowing how a system could be rendered inoperable by an intruder.
Although experienced penetration testers can mitigate this risk, it can never be fully eliminated. Penetration testing should be performed only after careful consideration, notification, and planning.