CMMC Practice RM.2.142: Scan for vulnerabilities in organizational systems and applications periodically and when new vulnerabilities affecting those systems and applications are identified.
CMMC CLARIFICATION (Ref CMMC – Appendix B)
A vulnerability scanner is an application that identifies an organization’s asset vulnerabilities for which the scanner is capable of identifying. Then, the scanner creates a prioritized list of asset vulnerabilities ordered by their level of severity. The scanner also describes each vulnerability and the steps needed to fix it. Your organization should scan for vulnerabilities on all devices connected to the network. This includes servers, desktops, laptops, virtual machines, containers, firewalls, switches, and printers. All assets that have any form of connection to a wired network, Wi-Fi environment, and air-gapped labs that are associated with the CMMC assessment should be scanned.
Organizations that develop custom software should perform reviews of the software. Vulnerability analysis of a custom-made solution requires an experienced penetration testerto properly test and validate findings. Automated vulnerability scanners do not necessarily perform well against custom developed applications.
The vulnerability scanning process should be a regular activity. It should not be a single occurrence. Organizations should put in place a vulnerability scanner that updates its database each time it performs a scan. This means that the scan looks for the most current vulnerabilities. Schedule scans with consideration of the potential for impact to normal operations. Use caution when scanning critical assets. These assets do need to be scanned, but some scanning options could cause a denial of service against a critical asset. You could replicate the critical asset in a test environment and perform vulnerability scans against the replicated asset. The replicated asset vulnerability scan will produce valid reports that need to be applied to the production system only if the replicated system is an exact duplicate of the production system and has identical functionality in operation when being tested.