Flaw remediation is the most difficult CMMC level one practice. It was the only level one practice on the top 10 other than satisfied requirements. Patch management is the process of installing patches, and updates throughout an organization. This includes identifying, prioritizing, acquiring, installing, and verifying patches. This blog will discuss the following topics around NIST SP 800-171 practice 3.14.1:
NIST introduced special publication (SP) 800-171 in 2015. NIST kept the practice number of 3.14.1 through their first and second revisions. NIST SP 800-171 Revision 3 has changed this requirement's number to 03.14.01.
The cybersecurity maturity model certification (CMMC) rule will verify SP 800-171 Rev 2. CMMC 1.02 numbered this practice SI.1.210 then SI.L1-3.14.1 under CMMC 2.0. This practice applies to organizations seeking compliance within any level of CMMC.
As of December 2023, CMMC 2.1 created two numbers for this practice:
NIST derived the SP 800-171 basic security requirements from FIPS 200. Below is the original language from FIPS 200:
NIST split this into three practices within SP 800-171. The first part became 3.14.1:
NIST SP 800-171A provides assessment procedures for SP 800-171 security requirements. These procedures apply assessment methods to objects. Assessment methods include examining artifacts, interviewing personnel, and testing mechanisms. An assessor checks each part to determine a finding. Satisfied findings identify acceptable implementations. Other than satisfied findings identify one or more anomalies.
The assessment objectives for 3.14.1 contains six parts:
Appendix D maps SP 800-171 requirements to controls from SP 800-53 Rev 4. This mapping relates 3.14.1 to SI-2, SI-3 and SI-5. The mapping also suggests the same relationship exists for 3.14.2 and 3.14.3. Mapping this practice to SP 800-53 is more challenging since NIST derived it from FIPS 200.
We mapped these six objectives to the closest SP 800-53A Rev 5 objectives. NIST IR 8477 guidance helped define the nature and strength of the relationships. The findings indicated that:
The CMMC Assessment Guide includes supplemental guidance from SP 800-53 Rev 4.
The CMMC guide derived the discussion from the supplemental guidance from SI-2.
The CMMC Assessment Guide also provides a further discussion. This narrative provides actionable steps:
All software and firmware have potential flaws. Many vendors work to remedy those flaws by releasing vulnerability information and updates. Contractors must have a process to review relevant vendor notifications about weaknesses. After reviewing the information, the contractor must have a patch management process. The process enables the contractor to fix flaws without affecting the system functionality. Contractors must define the time frames to identify, report, and correct flaws. Consider purchasing support from your vendors to ensure timely access to updates.
The CMMC Assessment Guide also provides an example:
Software vendors release patches, service packs, and hot fixes to make software up to date. You develop a policy requiring checking vendor websites for notifications every week [a]. The policy requires an assessment of flaw severity. It requires patches implemented on computers once each week and servers once each month [c,e]. You configure the system to check for updates depending on the criticality of the software [b,e]. Your team reviews available updates and implements them according to the schedule [f].
The NIST SP 800-171 DoD Assessment Methodology Version 1.2.1 assigns this practice a 5-point value. Failing this practice may lead to data exfiltration or exploitation of the network. CMMC section 170.21(ii) removed this practice's eligibility for a limited deficiency. This practice aligns to the basic cybersecurity safeguards requirements of 52.204-21.
NIST SP 800-53 Rev 5 appendix C discusses three implementation approaches:
NIST defines the SI-2 as implemented through nontechnical means. The crosswalk suggests that 3.14.1 is a nontechnical practice performed by an individual.
It is possible to inherit or share this practice with an external service provider. The Ariento shared responsibility matrix indicates 3.14.1 as an inherited practice:
The PreVeil solution also shows 3.14.1 as an inherited practice. It is important to understand the scope of each shared responsibility matrix. The PreVeil solution does not address any other systems or endpoints.
The shared responsibility for the KTL 360 enclave specifies some customer responsibilities.
Before addressing the six parts within this practice, there are three prerequisite steps. We derived these steps from NIST SP 800-40. First, organizations should consider patching requirements early in the system architecture planning stage. Second, maintaining an inventory of assets enables patching from a per-asset perspective. Third, assign assets to maintenance groups based on technical and business characteristics. This provides the basis for better decision making for risk responses and priorities. These steps establish a better foundation for addressing each part of this practice.
Organizations should strive to decrease the number of vulnerabilities introduced into their environments. This shrinks the attack surface and reduces the burden of patching. Consider software maintenance factors when procuring software. For example, consider how many patches they release each year. Also consider ways to deploy applications that make patching less disruptive. For example, run software within cloud-based containers instead of on-premises server operating systems.
Patching is reliant on knowing which software and software versions are in use. Identifying and classifying assets based on impact levels helps determine patching priorities. Establish and maintain up-to-date software inventories. You may leverage tools to discover assets across the enterprise and the cloud. These tools also help inventory their firmware, operating systems (OS), and applications. Software inventories should include technical characteristics and business characteristics. The following are examples of possible technical characteristics to track:
Business characteristics provide context for the risk responses to vulnerable software. Examples of business characteristics that an organization should track include:
Organizations should assign each asset to a maintenance group. Each maintenance group has similar characteristics and maintenance needs for risk response scenarios. Maintenance needs include patching and other appropriate forms of mitigation and risk response. This includes temporary mitigations used when patches are not yet available. Reassess their definitions on a scheduled frequency and adjust them as needed. Consider including a maintenance group for “exceptions”.
NIST SP 800-40 provides examples of possible maintenance groups:
Establish a frequency and process to identify weaknesses within system components. Policy statements and supporting procedures meet this part of the practice. There are two related controls from NIST SP 800-53 that would identify system flaws:
SI-5: Security alerts, advisories and directives. Applying the FedRAMP moderate baseline organization defined-parameters, the first three parts read:
Establish a frequency and process to document flaws identified. Policy statements and supporting procedures meet this part of the practice. Document flaw identification, analysis, and any planned remediation. Determine whether identified vulnerabilities exist in the system. Assess the criticality of the vulnerability and the affected system. Document the planned risk response.
Establish a frequency and process to correct flaws identified. Policy statements and supporting procedures meet this part of the practice. The related control, vulnerability monitoring and scanning (RA-5), provides more specific guidance. Applying the FedRAMP moderate baseline organization defined-parameters to RA-5, the fourth part reads:
RA-05d. - remediate legitimate vulnerabilities:
Conducting a risk assessment of each new vulnerability is not workable. Organizations do not have the time, resources, expertise, or tools to do so. Planning in advance enables faster decision making when a new vulnerability becomes known. The determination of risk is dependent on two factors. The impact of exploitation and the likelihood of exploitation. Organizations assign impact levels when they define the maintenance groups. There are several methods that focus on the likelihood of vulnerability exploitation:
The Stakeholder-Specific Vulnerability Categorization (SSVC) is an alternative approach. Carnegie Mellon’s SSVC generates decisions through a decision tree using qualitative inputs. Inputs include the following:
place. The number of steps in the attack path is low.
These inputs generate an outcome based on the decision tree. The image below shows part of this decision tree:
Outcomes include the following:
Regardless of the risk assessment method, define times to remediate legitimate vulnerabilities. Organizations should define risk response scenarios for each maintenance group. The maintenance plan defines actions when a scenario occurs for a maintenance group. NIST SP 800-40 includes examples of scenarios:
Include a plan for ongoing tracking and monitoring exceptions to maintenance plans. Move assets with similar long-term exceptions to a separate maintenance group. Define maintenance groups to reduce exceptions.
Know when new software vulnerabilities affect your organization’s assets. This includes applications, operating systems, and firmware. This might include monitoring threat feeds, including but not limited to:
Patch and asset management tools can automate the detection process for most vulnerabilities. Some include “rapid response” capabilities for vulnerabilities already exploited in the wild. In rare cases, such as one-off misconfigurations and zero-days, perform manual scans. The CISA Cybersecurity Incident & Vulnerability Response Playbook suggests best practices to find exploitations:
At the end of the Evaluation step, the goal is to understand the status of each system in the environment as:
Reporting documents the risk of an identified vulnerability and selected risk response. Estimating the relative importance enables remediation or mitigation prioritization. To meet the reporting requirements using SVCC, create a database of vulnerabilities identified.
Organizations should use low-level metrics when developing enterprise-level metrics. These metrics should reflect the relative importance of each vulnerability and patch. NIST SP 800-40 includes a notional example of actionable performance metrics. Each cell provides metrics based on assets and vulnerability importance. The metrics document the percentage of assets patched by each maintenance plan deadline. The metrics also include the average (mean) time and median time for patching.
Organizations can also analyze mitigation times by other characteristics. This includes platform, business units, or maintenance groups. Analyzing data by different characteristics can provide more relevant metrics to particular audiences. This may include organizational executives, technology leadership, IT operations staff, and compliance professionals.
Remediation is the elimination or removal of a vulnerability. Remediation includes applying patches, fixes and upgrades. Automation helps keep up with patching systems with a large number of components. Remediation may also include removing the vulnerable software or system from operation. Mitigation only decreases the impact or likelihood without reducing or eliminating the vulnerability. In most cases, remediation should consist of patching. In other cases, the following mitigations may be appropriate:
Executing the risk response includes the following common phases:
This encompasses any preparatory activities, including:
Risk responses may include:
This step involves ensuring successful completion of the risk response. For patching, this means confirming patch installation and has taken effect. For deploying new security controls, ensure they are functioning as intended. For risk avoidance, verify the decommissioning or replacement of vulnerable assets.
Make sure that the risk response continues to be in place. This includes making sure:
In the last phase of the life cycle, use continuous monitoring to verify the patch is still installed. For example, monitoring could confirm that:
Monitoring also helps determine changes in the patched software’s behavior. This might detect compromised patches.
There are administrative activities occurring throughout the software vulnerability management life cycle. This includes updating:
Once patches are available and applied, you may decide to remove temporary mitigations. Keep track of system status for reporting purposes using one of these categories:
A continuous monitoring task verifies that controls produce their desired outcome(s). The practice 3.14.1 has four desired outcomes:
Update System Component Inventory to identify software versions in use. Organizations should also update business characteristics associated with each asset.
Checking for New Vulnerabilities may entail reviewing security alerts on a weekly basis. This task may also include running schedule vulnerable scans on a monthly basis.
Report New Vulnerabilities on a daily or weekly basis. Organizations should have a documented process to analyze vulnerabilities and categorize their severity.
Perform Regular System Patching at least once per month.
Other tasks might include:
Review and update policies and procedures at least once a year. This should include maintenance group definitions and maintenance plans.
Tracking and monitoring exceptions to maintenance plans. Review exceptions weekly to determine if the maintenance plan can proceed.
Verify the risk response to new vulnerability remediations or mitigations. This includes verifying patch installations and that mitigating controls are functioning as intended.
System Component Inventory
Flaw Identification, Reporting, Mitigation and Remediation
NIST SP 800-171 Rev 3 aligns 03.14.01 with SI-2 from SP 800-53 Rev 5. Revision 3 removes the requirements defining a time to identify and report flaws. Since the identifying and reporting requirements remain, we rolled these parts into A[01] and A[02]. There are two organization defined parameters. These define the time for installing released security updates to software and firmware. Under Rev 2, these requirements both fall under defining the time to correct system flaws. Correcting system flaws remains as not all remediations involve firmware or software updates. Remediations and mitigations may also include configuration changes or network segmentation.
The crosswalk below shows the mapping of these requirements back to related parts of 3.14.1 from Revision 2:
Vulnerability management requires a proactive approach. Disruptions from patching are controllable, while disruptions from incidents are uncontrollable. Address vulnerability management early in system architecture planning. Maintain accurate asset inventories to include software and firmware in use. Assign assets to appropriate maintenance groups tied to impact levels and risk responses. Identify and report on system flaws according to organizational policies. Use vulnerability scoring systems or decision trees to identify high risk vulnerabilities. Remediate legitimate vulnerabilities according to organizational policies. Schedule continuous monitoring activities to ensure that risk responses remain effective.