Level 5 CMMC - CMMC Practices

CM.3.069  

Reference: CMMC 1.02

Family: CM

Level Introduced: 3

Practice:
Apply deny-by-exception (blacklisting) policy to prevent the use of unauthorized software or deny- all, permit-by-exception (whitelisting) policy to allow the execution of authorized software.

CMMC Clarification:
Organizations should determine their blacklisting or whitelisting policy and configure the system to manage software that is allowed to run. Blacklisting or deny-by-exception allows all software to run except if on an unauthorized software list. Whitelisting or permit-by- exception does not allow any software to run except if on an authorized software list. The
stronger policy of the two is whitelisting.

Example
You are in charge of managing the IT infrastructure within your organization. To provide better protection for your company you have decided to take a whitelist approach. With additional research you identify a capability within the latest operating system that can control executables, scripts, libraries, or application installers run in your environment. To ensure success you begin by authorizing digitally signed executables. Once deployed you then plan to evaluate and deploy whitelisting for software libraries and scripts.

3.4.8

Apply deny-by-exception (blacklisting) policy to prevent the use of unauthorized software or deny-all, permit-by-exception (whitelisting) policy to allow the execution of authorized software.

Discussion:
The process used to identify software programs that are not authorized to execute on systems is commonly referred to as blacklisting. The process used to identify software programs that are authorized to execute on systems is commonly referred to as whitelisting. Whitelisting is the stronger of the two policies for restricting software program execution. In addition to whitelisting, organizations consider verifying the integrity of whitelisted software programs using, for example, cryptographic checksums, digital signatures, or hash functions. Verification of whitelisted software can occur either prior to execution or at system startup.

[SP 800-167] provides guidance on application whitelisting.

Source: NIST Special Publication 800-171 Rev. 2

CM-7 (4)

LEAST FUNCTIONALITY | UNAUTHORIZED SOFTWARE / BLACKLISTING

Description:
The organization:
    (a) Identifies [Assignment: organization-defined software programs not authorized to execute on the information system];
    (b) Employs an allow-all, deny-by-exception policy to prohibit the execution of unauthorized software programs on the information system; and
    (c) Reviews and updates the list of unauthorized software programs [Assignment: organization-defined frequency].

Supplemental Guidance:
The process used to identify software programs that are not authorized to execute on organizational information systems is commonly referred to as blacklisting. Organizations can implement CM-7 (5) instead of this control enhancement if whitelisting (the stronger of the two policies) is the preferred approach for restricting software program execution. Related controls: CM-6, CM-8, PM-5.

CM-7 (5)

LEAST FUNCTIONALITY | AUTHORIZED SOFTWARE / WHITELISTING

Description:
The organization:
    (a) Identifies [Assignment: organization-defined software programs authorized to execute on the information system];
    (b) Employs a deny-all, permit-by-exception policy to allow the execution of authorized software programs on the information system; and
    (c) Reviews and updates the list of authorized software programs [Assignment: organization-defined frequency].

Supplemental Guidance:
The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as whitelisting. In addition to whitelisting, organizations consider verifying the integrity of white-listed software programs using, for example, cryptographic checksums, digital signatures, or hash functions. Verification of white-listed software can occur either prior to execution or at system startup. Related controls: CM-2, CM-6, CM-8, PM-5, SA-10, SC-34, SI-7.

Source: NIST Special Publication 800-53 Rev. 4

Source: CMMC v1.02