2

Inventory and Control of Software Assets

Actively manage (inventory, track, and correct) all software (operating systems and applications) on the network so that only authorized software is installed and can execute, and that unauthorized and unmanaged software is found and prevented from installation or execution.

Why Is This Control Critical?

A complete software inventory is a critical foundation for preventing attacks. Attackers continuously scan target enterprises looking for vulnerable versions of software that can be remotely exploited. For example, if a user opens a malicious website or attachment with a vulnerable browser, an attacker can often install backdoor programs and bots that give the attacker long-term control of the system. Attackers can also use this access to move laterally through the network. One of the key defenses against these attacks is updating and patching software. However, without a complete inventory of software assets, an enterprise cannot determine if they have vulnerable software, or if there are potential licensing violations.

Related Policy Templates

Safeguards (7)

ID Title Function IG Checklist Items Evidence
2.1 Establish and Maintain a Software Inventory Identify
IG1 IG2 IG3
7 5
2.2 Ensure Authorized Software is Currently Supported Identify
IG1 IG2 IG3
8 5
2.3 Address Unauthorized Software Respond
IG1 IG2 IG3
6 3
2.4 Utilize Automated Software Inventory Tools Detect
IG2 IG3
8 5
2.5 Allowlist Authorized Software Protect
IG2 IG3
9 5
2.6 Allowlist Authorized Libraries Protect
IG2 IG3
6 3
2.7 Allowlist Authorized Scripts Protect
IG3
5 3

Audit Verification Details

2.1 Establish and Maintain a Software Inventory
IG1 IG2 IG3
7 items

Establish and maintain a detailed inventory of all licensed software installed on enterprise assets. The software inventory must document the title, publisher, initial install/use date, and business purpose for each entry; where appropriate, include the Uniform Resource Locator (URL), app store(s), version(s), deployment mechanism, and decommission date. Review and update the software inventory bi-annually, or more frequently.

Audit Verification Checklist

Governance

A governing policy or procedure exists, is approved by management, and was reviewed within the last 12 months.

Signed/approved policy document with review date

Roles and responsibilities for this safeguard are formally assigned and communicated.

RACI matrix, role assignment records, or job descriptions

Technical

Inventory tool is deployed and all required data fields are populated.

Inventory tool screenshot, exported data with populated fields

Operational

An inventory or catalog is maintained, accurate, and complete.

Inventory export with timestamps showing recent updates

Inventory is reviewed and reconciled on the defined schedule.

Review meeting minutes, sign-off records, or change logs

New assets/items are added to the inventory within the defined onboarding window.

Sample of recently onboarded assets with inventory timestamps

Process exists to identify and remediate unauthorized or unmanaged items.

Exception reports, unauthorized asset remediation records

Type Evidence Item Frequency
Document Current inventory or catalog documentation Maintained continuously, reviewed quarterly
Document Process/procedure documentation for identification activities Reviewed annually
Technical Asset/software inventory export with required fields populated Exported quarterly for review
Record Inventory review meeting minutes or sign-off Per review cycle
Document Governing policy document (current, approved, communicated) Reviewed annually
2.2 Ensure Authorized Software is Currently Supported
IG1 IG2 IG3
8 items

Ensure that only currently supported software is designated as authorized in the software inventory for enterprise assets. If software is unsupported, yet necessary for the fulfillment of the enterprise’s mission, document an exception detailing mitigating controls and residual risk acceptance. For any unsupported software without an exception documentation, designate as unauthorized. Review the software list to verify software support at least monthly, or more frequently.

Audit Verification Checklist

Governance

A governing policy or procedure exists, is approved by management, and was reviewed within the last 12 months.

Signed/approved policy document with review date

Roles and responsibilities for this safeguard are formally assigned and communicated.

RACI matrix, role assignment records, or job descriptions

Technical

Inventory tool is deployed and all required data fields are populated.

Inventory tool screenshot, exported data with populated fields

Only authorized software is permitted to execute, enforced via allowlisting.

Allowlist policy config, unauthorized software detection reports

Operational

An inventory or catalog is maintained, accurate, and complete.

Inventory export with timestamps showing recent updates

Inventory is reviewed and reconciled on the defined schedule.

Review meeting minutes, sign-off records, or change logs

New assets/items are added to the inventory within the defined onboarding window.

Sample of recently onboarded assets with inventory timestamps

Process exists to identify and remediate unauthorized or unmanaged items.

Exception reports, unauthorized asset remediation records

Type Evidence Item Frequency
Document Current inventory or catalog documentation Maintained continuously, reviewed quarterly
Document Process/procedure documentation for identification activities Reviewed annually
Technical Asset/software inventory export with required fields populated Exported quarterly for review
Record Inventory review meeting minutes or sign-off Per review cycle
Document Governing policy document (current, approved, communicated) Reviewed annually
2.3 Address Unauthorized Software
IG1 IG2 IG3
6 items

Ensure that unauthorized software is either removed from use on enterprise assets or receives a documented exception. Review monthly, or more frequently.

Audit Verification Checklist

Governance

A governing policy or procedure exists, is approved by management, and was reviewed within the last 12 months.

Signed/approved policy document with review date

Roles and responsibilities for this safeguard are formally assigned and communicated.

RACI matrix, role assignment records, or job descriptions

Response procedures and playbooks are documented and current.

Response playbooks with review dates

Technical

Only authorized software is permitted to execute, enforced via allowlisting.

Allowlist policy config, unauthorized software detection reports

Operational

Response procedures have been exercised through tabletop or simulation within the past 12 months.

Exercise reports, participant sign-off, lessons learned

Incident response actions are logged and tracked to completion.

Incident tickets, action item tracking, post-incident reviews

Type Evidence Item Frequency
Document Response procedure/playbook documentation Reviewed bi-annually
Record Response action logs showing procedure execution Per incident
Document Governing policy document (current, approved, communicated) Reviewed annually
2.4 Utilize Automated Software Inventory Tools
IG2 IG3
8 items

Utilize software inventory tools, when possible, throughout the enterprise to automate the discovery and documentation of installed software.

Audit Verification Checklist

Governance

A governing policy or procedure exists, is approved by management, and was reviewed within the last 12 months.

Signed/approved policy document with review date

Roles and responsibilities for this safeguard are formally assigned and communicated.

RACI matrix, role assignment records, or job descriptions

Technical

Detection tools are deployed and actively collecting data.

Dashboard screenshots showing agent/sensor status and data flow

Alerting is configured with defined thresholds and notification channels.

Alert rule configuration exports, notification channel setup

Inventory tool is deployed and all required data fields are populated.

Inventory tool screenshot, exported data with populated fields

Operational

Alerts are reviewed and triaged within the defined SLA.

Alert response logs, triage records with timestamps

Detection coverage has been tested with simulated events.

Detection test results, purple team exercise reports

Process exists to identify and remediate unauthorized or unmanaged items.

Exception reports, unauthorized asset remediation records

Type Evidence Item Frequency
Technical Detection tool deployment evidence (dashboard screenshots, agent status) Captured monthly
Technical Sample alert/detection output demonstrating capability Captured quarterly
Technical Asset/software inventory export with required fields populated Exported quarterly for review
Record Inventory review meeting minutes or sign-off Per review cycle
Document Governing policy document (current, approved, communicated) Reviewed annually
2.5 Allowlist Authorized Software
IG2 IG3
9 items

Use technical controls, such as application allowlisting, to ensure that only authorized software can execute or be accessed. Reassess bi-annually, or more frequently.

Audit Verification Checklist

Governance

A governing policy or procedure exists, is approved by management, and was reviewed within the last 12 months.

Signed/approved policy document with review date

Roles and responsibilities for this safeguard are formally assigned and communicated.

RACI matrix, role assignment records, or job descriptions

Technical

Required protection controls are deployed and configured per the approved baseline.

Configuration exports, screenshots, or compliance scan results

Control effectiveness has been validated through testing.

Test results, validation reports, or scan output

Access is granted based on least privilege and role-based access control.

RBAC configuration, access matrix documentation

Only authorized software is permitted to execute, enforced via allowlisting.

Allowlist policy config, unauthorized software detection reports

Operational

Changes to protection controls follow the change management process.

Change tickets, approval records

Access reviews and recertifications are completed on schedule.

Access review records with sign-off and remediation actions

Privileged access is monitored and audited.

Privileged access logs, PAM session recordings or reports

Type Evidence Item Frequency
Technical Configuration screenshots or exports showing protection controls enabled Captured quarterly
Document Procedure documentation for protection measures Reviewed annually
Record Access review/recertification records with sign-off Quarterly
Technical Access control configuration evidence (RBAC settings, group memberships) Reviewed quarterly
Document Governing policy document (current, approved, communicated) Reviewed annually
2.6 Allowlist Authorized Libraries
IG2 IG3
6 items

Use technical controls to ensure that only authorized software libraries, such as specific .dll, .ocx, .so, etc., files, are allowed to load into a system process. Block unauthorized libraries from loading into a system process. Reassess bi-annually, or more frequently.

Audit Verification Checklist

Governance

A governing policy or procedure exists, is approved by management, and was reviewed within the last 12 months.

Signed/approved policy document with review date

Roles and responsibilities for this safeguard are formally assigned and communicated.

RACI matrix, role assignment records, or job descriptions

Technical

Required protection controls are deployed and configured per the approved baseline.

Configuration exports, screenshots, or compliance scan results

Control effectiveness has been validated through testing.

Test results, validation reports, or scan output

Only authorized software is permitted to execute, enforced via allowlisting.

Allowlist policy config, unauthorized software detection reports

Operational

Changes to protection controls follow the change management process.

Change tickets, approval records

Type Evidence Item Frequency
Technical Configuration screenshots or exports showing protection controls enabled Captured quarterly
Document Procedure documentation for protection measures Reviewed annually
Document Governing policy document (current, approved, communicated) Reviewed annually
2.7 Allowlist Authorized Scripts
IG3
5 items

Use technical controls, such as digital signatures and version control, to ensure that only authorized scripts, such as specific .ps1, .py, etc., files, are allowed to execute. Block unauthorized scripts from executing. Reassess bi-annually, or more frequently.

Audit Verification Checklist

Governance

A governing policy or procedure exists, is approved by management, and was reviewed within the last 12 months.

Signed/approved policy document with review date

Roles and responsibilities for this safeguard are formally assigned and communicated.

RACI matrix, role assignment records, or job descriptions

Technical

Required protection controls are deployed and configured per the approved baseline.

Configuration exports, screenshots, or compliance scan results

Control effectiveness has been validated through testing.

Test results, validation reports, or scan output

Operational

Changes to protection controls follow the change management process.

Change tickets, approval records

Type Evidence Item Frequency
Technical Configuration screenshots or exports showing protection controls enabled Captured quarterly
Document Procedure documentation for protection measures Reviewed annually
Document Governing policy document (current, approved, communicated) Reviewed annually