CMMC Practice CA.4.164: Conduct penetration testing periodically, leveraging automated scanning tools and ad hoc tests using human experts.
CMMC CLARIFICATION (Ref CMMC – Appendix B)
This practice focuses on performing penetration testing (pentesting) against organizational solutions in order to identify vulnerabilities and weaknesses. Pentesting is a crucial component to help identify vulnerabilities in solutions as well as help identify flaws in systems under development and production systems. By performing penetration testing an organization can utilize the findings as feedback for development teams to utilize while planning system patching and mitigation strategies. Pentesting teams should have full access to documentation and source code (if developed in-house) of the solutions being tested prior to running attacks. An adversary will attempt to gain full knowledge about a system prior to attacking it; this will increase their likelihood of success. The adversary does this over a period of time, which includes research, recon, and gaining an understanding about the solution prior to launching an attack. The organization should allow a pentest team to have full knowledge of the solution prior to attacking it in order to perform better vulnerability analysis against it. The findings from the pentesting team effort should be used to help build mitigation plans for the solution, which may include modification to source code, design changes, as well as architecture changes. Overall, pentesting should help identify issues that should be fixed in order to increase the overall security posture of the solution.
Penetration testing can be performed by an in-house team or a trusted third party.Penetration testing of different adversary types should be conducted over time.