{"text_format":"3","workbook":"xlsx","n_sheets":4,"sheets":["Introduction","License for Use","Important Resources","Controls V8"],"not_rendered":{"images":3,"defined_names":1},"read":"whole","date_system":"1900"}

{"sheet":"Introduction","index":0,"n_rows":78,"n_cols":1,"rows_kept":78}
{"$rows_empty":65}
["Contact Information"]
["CIS"]
["31 Tech Valley Drive"]
["East Greenbush, NY 12061"]
["518.266.3460"]
["controlsinfo@cisecurity.org"]
[]
["Editor"]
["Valecia Stocchetti"]
[]
["Contributors  "]
["Ginger Anderson"]
["Robin Regnier"]

{"sheet":"License for Use","index":1,"n_rows":13,"n_cols":2,"rows_kept":13,"merged":[[8,1,8,17]]}
{"$rows_empty":8}
[null,"License for Use"]
[]
[null,"This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivatives 4.0 International Public License (the link can be found at https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode)"]
[]
[null,"To further clarify the Creative Commons license related to the CIS Controls® content, you are authorized to copy and redistribute the content as a framework for use by you, within your organization and outside of your organization for non-commercial purposes only, provided that (i) appropriate credit is given to CIS, and (ii) a link to the license is provided. Additionally, if you remix, transform or build upon the CIS Controls, you may not distribute the modified materials. Users of the CIS Controls framework are also required to refer to (http://www.cisecurity.org/controls/) when referring to the CIS Controls in order to ensure that users are employing the most up-to-date guidance. Commercial use of the CIS Controls is subject to the prior approval of CIS® (Center for Internet Security, Inc.)."]

{"sheet":"Important Resources","index":2,"n_rows":17,"n_cols":3,"rows_kept":17}
[]
[]
[]
[]
[null,null,"Remember to download the CIS Critical Security Controls® (CIS Controls®) Version 8 Guide where you can learn more about:\n\n- This Version of the CIS Controls\n- The CIS Controls Ecosystem (\"It's not about the list')\n- How to Get Started\n- Using or Transitioning from Prior Versions of the CIS Controls \n- Structure of the CIS Controls\n- Implementation Groups\n- Why is this Controls critical\n- Procedures and tools       "]
[null,null,"https://www.cisecurity.org/controls/v8/"]
[]
[]
[]
["         CIS Controls Navigator",null,"A free tool with a dynamic list of the CIS Safeguards that can be filtered by Implemtation Groups and  mappings to multiple frameworks."]
[null,null,"https://www.cisecurity.org/controls/v8/"]
[]
[]
[]
[]
[null,null,"Join our community where you can discuss the CIS Controls with our global army of experts and voluneers!"]
[null,null,"https://workbench.cisecurity.org/dashboard"]

{"sheet":"Controls V8","index":3,"n_rows":172,"n_cols":9,"rows_kept":172}
["CIS Control","CIS Safeguard","Asset Type","Security Function","Title","Description","IG1","IG2","IG3"]
["1 ",{"$nulls":3},"Inventory and Control of Enterprise Assets","Actively manage (inventory, track, and correct) all enterprise assets (end-user devices, including portable and mobile; network devices; non-computing/Internet of Things (IoT) devices; and servers) connected to the infrastructure physically, virtually, remotely, and those within cloud environments, to accurately know the totality of assets that need to be monitored and protected within the enterprise. This will also support identifying unauthorized and unmanaged assets to remove or remediate."]
[1,1.1,"Devices","Identify","Establish and Maintain Detailed Enterprise Asset Inventory","Establish and maintain an accurate, detailed, and up-to-date inventory of all enterprise assets with the potential to store or process data, to include: end-user devices (including portable and mobile), network devices, non-computing/IoT devices, and servers. Ensure the inventory records the network address (if static), hardware address, machine name, enterprise asset owner, department for each asset, and whether the asset has been approved to connect to the network. For mobile end-user devices, MDM type tools can support this process, where appropriate. This inventory includes assets connected to the infrastructure physically, virtually, remotely, and those within cloud environments. Additionally, it includes assets that are regularly connected to the enterprise’s network infrastructure, even if they are not under control of the enterprise. Review and update the inventory of all enterprise assets bi-annually, or more frequently.","x","x","x"]
[1,1.2,"Devices","Respond","Address Unauthorized Assets","Ensure that a process exists to address unauthorized assets on a weekly basis. The enterprise may choose to remove the asset from the network, deny the asset from connecting remotely to the network, or quarantine the asset.","x","x","x"]
[1,1.3,"Devices","Detect","Utilize an Active Discovery Tool","Utilize an active discovery tool to identify assets connected to the enterprise’s network. Configure the active discovery tool to execute daily, or more frequently.",null,"x","x"]
[" 1",1.4,"Devices","Identify","Use Dynamic Host Configuration Protocol (DHCP) Logging to Update Enterprise Asset Inventory","Use DHCP logging on all DHCP servers or Internet Protocol (IP) address management tools to update the enterprise’s asset inventory. Review and use logs to update the enterprise’s asset inventory weekly, or more frequently.",null,"x","x"]
[" 1",1.5,"Devices","Detect","Use a Passive Asset Discovery Tool","Use a passive discovery tool to identify assets connected to the enterprise’s network. Review and use scans to update the enterprise’s asset inventory at least weekly, or more frequently.",null,null,"x"]
["2 ",{"$nulls":3},"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."]
[2,2.1,"Applications","Identify","Establish and Maintain a Software Inventory","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.","x","x","x"]
[2,2.2,"Applications","Identify","Ensure Authorized Software is Currently Supported ","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.","x","x","x"]
[2,2.3,"Applications","Respond","Address Unauthorized Software","Ensure that unauthorized software is either removed from use on enterprise assets or receives a documented exception. Review monthly, or more frequently.","x","x","x"]
[" 2",2.4,"Applications","Detect","Utilize Automated Software Inventory Tools","Utilize software inventory tools, when possible, throughout the enterprise to automate the discovery and documentation of installed software. ",null,"x","x"]
["2 ",2.5,"Applications","Protect","Allowlist Authorized Software","Use technical controls, such as application allowlisting, to ensure that only authorized software can execute or be accessed. Reassess bi-annually, or more frequently.",null,"x","x"]
["2 ",2.6,"Applications","Protect","Allowlist Authorized Libraries"," 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.",null,"x","x"]
[" 2",2.7,"Applications","Protect","Allowlist Authorized Scripts","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.",null,null,"x"]
[" 3",{"$nulls":3},"Data Protection","Develop processes and technical controls to identify, classify, securely handle, retain, and dispose of data."]
[3,3.1,"Data","Identify","Establish and Maintain a Data Management Process","Establish and maintain a data management process. In the process, address data sensitivity, data owner, handling of data, data retention limits, and disposal requirements, based on sensitivity and retention standards for the enterprise. Review and update documentation annually, or when significant enterprise changes occur that could impact this Safeguard.","x","x","x"]
[3,3.2,"Data","Identify","Establish and Maintain a Data Inventory","Establish and maintain a data inventory, based on the enterprise’s data management process. Inventory sensitive data, at a minimum. Review and update inventory annually, at a minimum, with a priority on sensitive data.","x","x","x"]
[3,3.3,"Data","Protect","Configure Data Access Control Lists","Configure data access control lists based on a user’s need to know. Apply data access control lists, also known as access permissions, to local and remote file systems, databases, and applications.","x","x","x"]
[3,3.4,"Data","Protect","Enforce Data Retention","Retain data according to the enterprise’s data management process. Data retention must include both minimum and maximum timelines.","x","x","x"]
[3,3.5,"Data","Protect","Securely Dispose of Data","Securely dispose of data as outlined in the enterprise’s data management process. Ensure the disposal process and method are commensurate with the data sensitivity.","x","x","x"]
[3,3.6,"Devices","Protect","Encrypt Data on End-User Devices","Encrypt data on end-user devices containing sensitive data. Example implementations can include: Windows BitLocker®, Apple FileVault®, Linux® dm-crypt.","x","x","x"]
[3,3.7,"Data","Identify","Establish and Maintain a Data Classification Scheme","Establish and maintain an overall data classification scheme for the enterprise. Enterprises may use labels, such as “Sensitive,” “Confidential,” and “Public,” and classify their data according to those labels. Review and update the classification scheme annually, or when significant enterprise changes occur that could impact this Safeguard.",null,"x","x"]
[" 3",3.8,"Data","Identify","Document Data Flows","Document data flows. Data flow documentation includes service provider data flows and should be based on the enterprise’s data management process. Review and update documentation annually, or when significant enterprise changes occur that could impact this Safeguard.",null,"x","x"]
[3,3.9,"Data","Protect","Encrypt Data on Removable Media","Encrypt data on removable media.",null,"x","x"]
["3 ",{"v":3.1,"d":"3.10"},"Data","Protect","Encrypt Sensitive Data in Transit","Encrypt sensitive data in transit. Example implementations can include: Transport Layer Security (TLS) and Open Secure Shell (OpenSSH).",null,"x","x"]
[3,3.11,"Data","Protect","Encrypt Sensitive Data at Rest","Encrypt sensitive data at rest on servers, applications, and databases containing sensitive data. Storage-layer encryption, also known as server-side encryption, meets the minimum requirement of this Safeguard. Additional encryption methods may include application-layer encryption, also known as client-side encryption, where access to the data storage device(s) does not permit access to the plain-text data. ",null,"x","x"]
[" 3",3.12,"Network","Protect","Segment Data Processing and Storage Based on Sensitivity","Segment data processing and storage based on the sensitivity of the data. Do not process sensitive data on enterprise assets intended for lower sensitivity data.",null,"x","x"]
[3,3.13,"Data","Protect","Deploy a Data Loss Prevention Solution","Implement an automated tool, such as a host-based Data Loss Prevention (DLP) tool to identify all sensitive data stored, processed, or transmitted through enterprise assets, including those located onsite or at a remote service provider, and update the enterprise's sensitive data inventory.",null,null,"x"]
[" 3",3.14,"Data","Detect","Log Sensitive Data Access","Log sensitive data access, including modification and disposal. ",null,null,"x"]
["4 ",{"$nulls":3},"Secure Configuration of Enterprise Assets and Software","Establish and maintain the secure configuration of enterprise assets (end-user devices, including portable and mobile; network devices; non-computing/IoT devices; and servers) and software (operating systems and applications)."]
[4,4.1,"Applications","Protect","Establish and Maintain a Secure Configuration Process","Establish and maintain a secure configuration process for enterprise assets (end-user devices, including portable and mobile, non-computing/IoT devices, and servers) and software (operating systems and applications). Review and update documentation annually, or when significant enterprise changes occur that could impact this Safeguard.","x","x","x"]
[4,4.2,"Network","Protect","Establish and Maintain a Secure Configuration Process for Network Infrastructure","Establish and maintain a secure configuration process for network devices. Review and update documentation annually, or when significant enterprise changes occur that could impact this Safeguard.","x","x","x"]
[4,4.3,"Users","Protect","Configure Automatic Session Locking on Enterprise Assets","Configure automatic session locking on enterprise assets after a defined period of inactivity. For general purpose operating systems, the period must not exceed 15 minutes. For mobile end-user devices, the period must not exceed 2 minutes.","x","x","x"]
[4,4.4,"Devices","Protect","Implement and Manage a Firewall on Servers","Implement and manage a firewall on servers, where supported. Example implementations include a virtual firewall, operating system firewall, or a third-party firewall agent.","x","x","x"]
[4,4.5,"Devices","Protect","Implement and Manage a Firewall on End-User Devices","Implement and manage a host-based firewall or port-filtering tool on end-user devices, with a default-deny rule that drops all traffic except those services and ports that are explicitly allowed.","x","x","x"]
[4,4.6,"Network","Protect","Securely Manage Enterprise Assets and Software","Securely manage enterprise assets and software. Example implementations include managing configuration through version-controlled-infrastructure-as-code and accessing administrative interfaces over secure network protocols, such as Secure Shell (SSH) and Hypertext Transfer Protocol Secure (HTTPS). Do not use insecure management protocols, such as Telnet (Teletype Network) and HTTP, unless operationally essential.","x","x","x"]
[4,4.7,"Users","Protect","Manage Default Accounts on Enterprise Assets and Software","Manage default accounts on enterprise assets and software, such as root, administrator, and other pre-configured vendor accounts. Example implementations can include: disabling default accounts or making them unusable.","x","x","x"]
["4 ",4.8,"Devices","Protect","Uninstall or Disable Unnecessary Services on Enterprise Assets and Software","Uninstall or disable unnecessary services on enterprise assets and software, such as an unused file sharing service, web application module, or service function.",null,"x","x"]
[4,4.9,"Devices","Protect","Configure Trusted DNS Servers on Enterprise Assets","Configure trusted DNS servers on enterprise assets. Example implementations include: configuring assets to use enterprise-controlled DNS servers and/or reputable externally accessible DNS servers. ",null,"x","x"]
["4 ",{"v":4.1,"d":"4.10"},"Devices","Respond","Enforce Automatic Device Lockout on Portable End-User Devices","Enforce automatic device lockout following a predetermined threshold of local failed authentication attempts on portable end-user devices, where supported. For laptops, do not allow more than 20 failed authentication attempts; for tablets and smartphones, no more than 10 failed authentication attempts. Example implementations include Microsoft® InTune Device Lock and Apple® Configuration Profile maxFailedAttempts.",null,"x","x"]
[4,4.11,"Devices","Protect","Enforce Remote Wipe Capability on Portable End-User Devices","Remotely wipe enterprise data from enterprise-owned portable end-user devices when deemed appropriate such as lost or stolen devices, or when an individual no longer supports the enterprise.",null,"x","x"]
[4,4.12,"Devices","Protect","Separate Enterprise Workspaces on Mobile End-User Devices","Ensure separate enterprise workspaces are used on mobile end-user devices, where supported. Example implementations include using an Apple® Configuration Profile or Android™ Work Profile to separate enterprise applications and data from personal applications and data.",null,null,"x"]
["5 ",{"$nulls":3},"Account Management","Use processes and tools to assign and manage authorization to credentials for user accounts, including administrator accounts, as well as service accounts, to enterprise assets and software."]
[5,5.1,"Users","Identify","Establish and Maintain an Inventory of Accounts","Establish and maintain an inventory of all accounts managed in the enterprise. The inventory must include both user and administrator accounts. The inventory, at a minimum, should contain the person’s name, username, start/stop dates, and department. Validate that all active accounts are authorized, on a recurring schedule at a minimum quarterly, or more frequently.","x","x","x"]
[5,5.2,"Users","Protect","Use Unique Passwords","Use unique passwords for all enterprise assets. Best practice implementation includes, at a minimum, an 8-character password for accounts using MFA and a 14-character password for accounts not using MFA. ","x","x","x"]
[5,5.3,"Users","Respond","Disable Dormant Accounts","Delete or disable any dormant accounts after a period of 45 days of inactivity, where supported.","x","x","x"]
[5,5.4,"Users","Protect","Restrict Administrator Privileges to Dedicated Administrator Accounts","Restrict administrator privileges to dedicated administrator accounts on enterprise assets. Conduct general computing activities, such as internet browsing, email, and productivity suite use, from the user’s primary, non-privileged account.","x","x","x"]
[" 5",5.5,"Users","Identify","Establish and Maintain an Inventory of Service Accounts","Establish and maintain an inventory of service accounts. The inventory, at a minimum, must contain department owner, review date, and purpose. Perform service account reviews to validate that all active accounts are authorized, on a recurring schedule at a minimum quarterly, or more frequently.",null,"x","x"]
[5,5.6,"Users","Protect","Centralize Account Management","Centralize account management through a directory or identity service.",null,"x","x"]
[" 6",{"$nulls":3},"Access Control Management","Use processes and tools to create, assign, manage, and revoke access credentials and privileges for user, administrator, and service accounts for enterprise assets and software."]
[6,6.1,"Users","Protect","Establish an Access Granting Process","Establish and follow a process, preferably automated, for granting access to enterprise assets upon new hire, rights grant, or role change of a user.","x","x","x"]
[6,6.2,"Users","Protect","Establish an Access Revoking Process","Establish and follow a process, preferably automated, for revoking access to enterprise assets, through disabling accounts immediately upon termination, rights revocation, or role change of a user. Disabling accounts, instead of deleting accounts, may be necessary to preserve audit trails.","x","x","x"]
[6,6.3,"Users","Protect","Require MFA for Externally-Exposed Applications","Require all externally-exposed enterprise or third-party applications to enforce MFA, where supported. Enforcing MFA through a directory service or SSO provider is a satisfactory implementation of this Safeguard.","x","x","x"]
[6,6.4,"Users","Protect","Require MFA for Remote Network Access","Require MFA for remote network access.","x","x","x"]
[6,6.5,"Users","Protect","Require MFA for Administrative Access","Require MFA for all administrative access accounts, where supported, on all enterprise assets, whether managed on-site or through a third-party provider.","x","x","x"]
[6,6.6,"Users","Identify","Establish and Maintain an Inventory of Authentication and Authorization Systems","Establish and maintain an inventory of the enterprise’s authentication and authorization systems, including those hosted on-site or at a remote service provider. Review and update the inventory, at a minimum, annually, or more frequently.",null,"x","x"]
[6,6.7,"Users","Protect","Centralize Access Control","Centralize access control for all enterprise assets through a directory service or SSO provider, where supported.",null,"x","x"]
[6,6.8,"Data","Protect","Define and Maintain Role-Based Access Control","Define and maintain role-based access control, through determining and documenting the access rights necessary for each role within the enterprise to successfully carry out its assigned duties. Perform access control reviews of enterprise assets to validate that all privileges are authorized, on a recurring schedule at a minimum annually, or more frequently.",null,null,"x"]
[" 7",{"$nulls":3},"Continuous Vulnerability Management","Develop a plan to continuously assess and track vulnerabilities on all enterprise assets within the enterprise’s infrastructure, in order to remediate, and minimize, the window of opportunity for attackers. Monitor public and private industry sources for new threat and vulnerability information."]
[7,7.1,"Applications","Protect","Establish and Maintain a Vulnerability Management Process","Establish and maintain a documented vulnerability management process for enterprise assets. Review and update documentation annually, or when significant enterprise changes occur that could impact this Safeguard.","x","x","x"]
[7,7.2,"Applications","Respond","Establish and Maintain a Remediation Process","Establish and maintain a risk-based remediation strategy documented in a remediation process, with monthly, or more frequent, reviews.","x","x","x"]
[7,7.3,"Applications","Protect","Perform Automated Operating System Patch Management","Perform operating system updates on enterprise assets through automated patch management on a monthly, or more frequent, basis.","x","x","x"]
[7,7.4,"Applications","Protect","Perform Automated Application Patch Management","Perform application updates on enterprise assets through automated patch management on a monthly, or more frequent, basis.","x","x","x"]
[7,7.5,"Applications","Identify","Perform Automated Vulnerability Scans of Internal Enterprise Assets","Perform automated vulnerability scans of internal enterprise assets on a quarterly, or more frequent, basis. Conduct both authenticated and unauthenticated scans, using a SCAP-compliant vulnerability scanning tool.",null,"x","x"]
[7,7.6,"Applications","Identify","Perform Automated Vulnerability Scans of Externally-Exposed Enterprise Assets","Perform automated vulnerability scans of externally-exposed enterprise assets using a SCAP-compliant vulnerability scanning tool. Perform scans on a monthly, or more frequent, basis. ",null,"x","x"]
[7,7.7,"Applications","Respond","Remediate Detected Vulnerabilities","Remediate detected vulnerabilities in software through processes and tooling on a monthly, or more frequent, basis, based on the remediation process.",null,"x","x"]
["8 ",{"$nulls":3},"Audit Log Management","Collect, alert, review, and retain audit logs of events that could help detect, understand, or recover from an attack."]
[8,8.1,"Network","Protect","Establish and Maintain an Audit Log Management Process","Establish and maintain an audit log management process that defines the enterprise’s logging requirements. At a minimum, address the collection, review, and retention of audit logs for enterprise assets. Review and update documentation annually, or when significant enterprise changes occur that could impact this Safeguard.","x","x","x"]
[8,8.2,"Network","Detect","Collect Audit Logs","Collect audit logs. Ensure that logging, per the enterprise’s audit log management process, has been enabled across enterprise assets.","x","x","x"]
[8,8.3,"Network","Protect","Ensure Adequate Audit Log Storage","Ensure that logging destinations maintain adequate storage to comply with the enterprise’s audit log management process.","x","x","x"]
["8 ",8.4,"Network","Protect","Standardize Time Synchronization","Standardize time synchronization. Configure at least two synchronized time sources across enterprise assets, where supported.",null,"x","x"]
[8,8.5,"Network","Detect","Collect Detailed Audit Logs","Configure detailed audit logging for enterprise assets containing sensitive data. Include event source, date, username, timestamp, source addresses, destination addresses, and other useful elements that could assist in a forensic investigation.",null,"x","x"]
["8 ",8.6,"Network","Detect","Collect DNS Query Audit Logs","Collect DNS query audit logs on enterprise assets, where appropriate and supported.",null,"x","x"]
["8 ",8.7,"Network","Detect","Collect URL Request Audit Logs","Collect URL request audit logs on enterprise assets, where appropriate and supported.",null,"x","x"]
["8 ",8.8,"Devices","Detect","Collect Command-Line Audit Logs","Collect command-line audit logs. Example implementations include collecting audit logs from PowerShell®, BASH™, and remote administrative terminals.",null,"x","x"]
["8 ",8.9,"Network","Detect","Centralize Audit Logs","Centralize, to the extent possible, audit log collection and retention across enterprise assets.",null,"x","x"]
["8 ",{"v":8.1,"d":"8.10"},"Network","Protect","Retain Audit Logs","Retain audit logs across enterprise assets for a minimum of 90 days.",null,"x","x"]
["8 ",8.11,"Network","Detect","Conduct Audit Log Reviews","Conduct reviews of audit logs to detect anomalies or abnormal events that could indicate a potential threat. Conduct reviews on a weekly, or more frequent, basis.",null,"x","x"]
[8,8.12,"Data","Detect","Collect Service Provider Logs","Collect service provider logs, where supported. Example implementations include collecting authentication and authorization events, data creation and disposal events, and user management events.",null,null,"x"]
["9 ",{"$nulls":3},"Email and Web Browser Protections","Improve protections and detections of threats from email and web vectors, as these are opportunities for attackers to manipulate human behavior through direct engagement."]
[9,9.1,"Applications","Protect","Ensure Use of Only Fully Supported Browsers and Email Clients","Ensure only fully supported browsers and email clients are allowed to execute in the enterprise, only using the latest version of browsers and email clients provided through the vendor.","x","x","x"]
[9,9.2,"Network","Protect","Use DNS Filtering Services","Use DNS filtering services on all enterprise assets to block access to known malicious domains.","x","x","x"]
[9,9.3,"Network","Protect","Maintain and Enforce Network-Based URL Filters","Enforce and update network-based URL filters to limit an enterprise asset from connecting to potentially malicious or unapproved websites. Example implementations include category-based filtering, reputation-based filtering, or through the use of block lists. Enforce filters for all enterprise assets.",null,"x","x"]
["9 ",9.4,"Applications","Protect","Restrict Unnecessary or Unauthorized Browser and Email Client Extensions","Restrict, either through uninstalling or disabling, any unauthorized or unnecessary browser or email client plugins, extensions, and add-on applications.",null,"x","x"]
["9 ",9.5,"Network","Protect","Implement DMARC","To lower the chance of spoofed or modified emails from valid domains, implement DMARC policy and verification, starting with implementing the Sender Policy Framework (SPF) and the DomainKeys Identified Mail (DKIM) standards.",null,"x","x"]
["9 ",9.6,"Network","Protect","Block Unnecessary File Types","Block unnecessary file types attempting to enter the enterprise’s email gateway.",null,"x","x"]
["9 ",9.7,"Network","Protect","Deploy and Maintain Email Server Anti-Malware Protections","Deploy and maintain email server anti-malware protections, such as attachment scanning and/or sandboxing.",null,null,"x"]
[" 10",{"$nulls":3},"Malware Defenses","Prevent or control the installation, spread, and execution of malicious applications, code, or scripts on enterprise assets."]
[10,10.1,"Devices","Protect","Deploy and Maintain Anti-Malware Software","Deploy and maintain anti-malware software on all enterprise assets.","x","x","x"]
[10,10.2,"Devices","Protect","Configure Automatic Anti-Malware Signature Updates","Configure automatic updates for anti-malware signature files on all enterprise assets.","x","x","x"]
[10,10.3,"Devices","Protect","Disable Autorun and Autoplay for Removable Media","Disable autorun and autoplay auto-execute functionality for removable media.","x","x","x"]
[10,10.4,"Devices","Detect","Configure Automatic Anti-Malware Scanning of Removable Media","Configure anti-malware software to automatically scan removable media.",null,"x","x"]
[10,10.5,"Devices","Protect","Enable Anti-Exploitation Features","Enable anti-exploitation features on enterprise assets and software, where possible, such as Microsoft® Data Execution Prevention (DEP), Windows® Defender Exploit Guard (WDEG), or Apple® System Integrity Protection (SIP) and Gatekeeper™.",null,"x","x"]
[" 10",10.6,"Devices","Protect","Centrally Manage Anti-Malware Software","Centrally manage anti-malware software.",null,"x","x"]
["10 ",10.7,"Devices","Detect","Use Behavior-Based Anti-Malware Software","Use behavior-based anti-malware software.",null,"x","x"]
[" 11",{"$nulls":3},"Data Recovery","Establish and maintain data recovery practices sufficient to restore in-scope enterprise assets to a pre-incident and trusted state."]
[11,11.1,"Data","Recover","Establish and Maintain a Data Recovery Process ","Establish and maintain a data recovery process. In the process, address the scope of data recovery activities, recovery prioritization, and the security of backup data. Review and update documentation annually, or when significant enterprise changes occur that could impact this Safeguard. ","x","x","x"]
[11,11.2,"Data","Recover","Perform Automated Backups ","Perform automated backups of in-scope enterprise assets. Run backups weekly, or more frequently, based on the sensitivity of the data.","x","x","x"]
[11,11.3,"Data","Protect","Protect Recovery Data","Protect recovery data with equivalent controls to the original data. Reference encryption or data separation, based on requirements.","x","x","x"]
[11,11.4,"Data","Recover","Establish and Maintain an Isolated Instance of Recovery Data ","Establish and maintain an isolated instance of recovery data. Example implementations include, version controlling backup destinations through offline, cloud, or off-site systems or services.","x","x","x"]
[11,11.5,"Data","Recover","Test Data Recovery","Test backup recovery quarterly, or more frequently, for a sampling of in-scope enterprise assets.",null,"x","x"]
[12,{"$nulls":3},"Network Infrastructure Management","Establish, implement, and actively manage (track, report, correct) network devices, in order to prevent attackers from exploiting vulnerable network services and access points."]
[12,12.1,"Network","Protect","Ensure Network Infrastructure is Up-to-Date","Ensure network infrastructure is kept up-to-date. Example implementations include running the latest stable release of software and/or using currently supported network-as-a-service (NaaS) offerings. Review software versions monthly, or more frequently, to verify software support.","x","x","x"]
[12,12.2,"Network","Protect","Establish and Maintain a Secure Network Architecture","Establish and maintain a secure network architecture. A secure network architecture must address segmentation, least privilege, and availability, at a minimum.",null,"x","x"]
[12,12.3,"Network","Protect","Securely Manage Network Infrastructure","Securely manage network infrastructure. Example implementations include version-controlled-infrastructure-as-code, and the use of secure network protocols, such as SSH and HTTPS. ",null,"x","x"]
[12,12.4,"Network","Identify","Establish and Maintain Architecture Diagram(s)","Establish and maintain architecture diagram(s) and/or other network system documentation. Review and update documentation annually, or when significant enterprise changes occur that could impact this Safeguard.",null,"x","x"]
[12,12.5,"Network","Protect","Centralize Network Authentication, Authorization, and Auditing (AAA)","Centralize network AAA.",null,"x","x"]
[12,12.6,"Network","Protect","Use of Secure Network Management and Communication Protocols ","Use secure network management and communication protocols (e.g., 802.1X, Wi-Fi Protected Access 2 (WPA2) Enterprise or greater).",null,"x","x"]
[12,12.7,"Devices","Protect","Ensure Remote Devices Utilize a VPN and are Connecting to an Enterprise’s AAA Infrastructure","Require users to authenticate to enterprise-managed VPN and authentication services prior to accessing enterprise resources on end-user devices.",null,"x","x"]
["12 ",12.8,"Devices","Protect","Establish and Maintain Dedicated Computing Resources for All Administrative Work","Establish and maintain dedicated computing resources, either physically or logically separated, for all administrative tasks or tasks requiring administrative access. The computing resources should be segmented from the enterprise's primary network and not be allowed internet access.",null,null,"x"]
["13 ",{"$nulls":3},"Network Monitoring and Defense","Operate processes and tooling to establish and maintain comprehensive network monitoring and defense against security threats across the enterprise’s network infrastructure and user base."]
["13 ",13.1,"Network","Detect","Centralize Security Event Alerting","Centralize security event alerting across enterprise assets for log correlation and analysis. Best practice implementation requires the use of a SIEM, which includes vendor-defined event correlation alerts. A log analytics platform configured with security-relevant correlation alerts also satisfies this Safeguard.",null,"x","x"]
["13 ",13.2,"Devices","Detect","Deploy a Host-Based Intrusion Detection Solution","Deploy a host-based intrusion detection solution on enterprise assets, where appropriate and/or supported.",null,"x","x"]
["13 ",13.3,"Network","Detect","Deploy a Network Intrusion Detection Solution","Deploy a network intrusion detection solution on enterprise assets, where appropriate. Example implementations include the use of a Network Intrusion Detection System (NIDS) or equivalent cloud service provider (CSP) service.",null,"x","x"]
["13 ",13.4,"Network","Protect","Perform Traffic Filtering Between Network Segments","Perform traffic filtering between network segments, where appropriate.",null,"x","x"]
["13 ",13.5,"Devices","Protect","Manage Access Control for Remote Assets","Manage access control for assets remotely connecting to enterprise resources. Determine amount of access to enterprise resources based on: up-to-date anti-malware software installed, configuration compliance with the enterprise’s secure configuration process, and ensuring the operating system and applications are up-to-date.\t ",null,"x","x"]
["13 ",13.6,"Network","Detect","Collect Network Traffic Flow Logs ","Collect network traffic flow logs and/or network traffic to review and alert upon from network devices.",null,"x","x"]
["13 ",13.7,"Devices","Protect","Deploy a Host-Based Intrusion Prevention Solution"," Deploy a host-based intrusion prevention solution on enterprise assets, where appropriate and/or supported. Example implementations include use of an Endpoint Detection and Response (EDR) client or host-based IPS agent.",null,null,"x"]
["13 ",13.8,"Network","Protect","Deploy a Network Intrusion Prevention Solution","Deploy a network intrusion prevention solution, where appropriate. Example implementations include the use of a Network Intrusion Prevention System (NIPS) or equivalent CSP service.",null,null,"x"]
["13 ",13.9,"Devices","Protect","Deploy Port-Level Access Control","Deploy port-level access control. Port-level access control utilizes 802.1x, or similar network access control protocols, such as certificates, and may incorporate user and/or device authentication.",null,null,"x"]
["13 ",{"v":13.1,"d":"13.10"},"Network","Protect","Perform Application Layer Filtering","Perform application layer filtering. Example implementations include a filtering proxy, application layer firewall, or gateway.",null,null,"x"]
["13 ",13.11,"Network","Detect","Tune Security Event Alerting Thresholds","Tune security event alerting thresholds monthly, or more frequently.",null,null,"x"]
[14,{"$nulls":3},"Security Awareness and Skills Training","Establish and maintain a security awareness program to influence behavior among the workforce to be security conscious and properly skilled to reduce cybersecurity risks to the enterprise."]
[14,14.1,"N/A","Protect","Establish and Maintain a Security Awareness Program","Establish and maintain a security awareness program. The purpose of a security awareness program is to educate the enterprise’s workforce on how to interact with enterprise assets and data in a secure manner. Conduct training at hire and, at a minimum, annually. Review and update content annually, or when significant enterprise changes occur that could impact this Safeguard.","x","x","x"]
[14,14.2,"N/A","Protect","Train Workforce Members to Recognize Social Engineering Attacks","Train workforce members to recognize social engineering attacks, such as phishing, pre-texting, and tailgating. ","x","x","x"]
[14,14.3,"N/A","Protect","Train Workforce Members on Authentication Best Practices","Train workforce members on authentication best practices. Example topics include MFA, password composition, and credential management.","x","x","x"]
[14,14.4,"N/A","Protect","Train Workforce on Data Handling Best Practices","Train workforce members on how to identify and properly store, transfer, archive, and destroy sensitive data. This also includes training workforce members on clear screen and desk best practices, such as locking their screen when they step away from their enterprise asset, erasing physical and virtual whiteboards at the end of meetings, and storing data and assets securely.","x","x","x"]
[14,14.5,"N/A","Protect","Train Workforce Members on Causes of Unintentional Data Exposure","Train workforce members to be aware of causes for unintentional data exposure. Example topics include mis-delivery of sensitive data, losing a portable end-user device, or publishing data to unintended audiences.","x","x","x"]
[14,14.6,"N/A","Protect","Train Workforce Members on Recognizing and Reporting Security Incidents","Train workforce members to be able to recognize a potential incident and be able to report such an incident. ","x","x","x"]
[14,14.7,"N/A","Protect","Train Workforce on How to Identify and Report if Their Enterprise Assets are Missing Security Updates","Train workforce to understand how to verify and report out-of-date software patches or any failures in automated processes and tools. Part of this training should include notifying IT personnel of any failures in automated processes and tools.","x","x","x"]
[14,14.8,"N/A","Protect","Train Workforce on the Dangers of Connecting to and Transmitting Enterprise Data Over Insecure Networks","Train workforce members on the dangers of connecting to, and transmitting data over, insecure networks for enterprise activities. If the enterprise has remote workers, training must include guidance to ensure that all users securely configure their home network infrastructure.","x","x","x"]
[14,14.9,"N/A","Protect","Conduct Role-Specific Security Awareness and Skills Training","Conduct role-specific security awareness and skills training. Example implementations include secure system administration courses for IT professionals, OWASP® Top 10 vulnerability awareness and prevention training for web application developers, and advanced social engineering awareness training for high-profile roles.",null,"x","x"]
[15,{"$nulls":3},"Service Provider Management","Develop a process to evaluate service providers who hold sensitive data, or are responsible for an enterprise’s critical IT platforms or processes, to ensure these providers are protecting those platforms and data appropriately."]
[15,15.1,"N/A","Identify","Establish and Maintain an Inventory of Service Providers","Establish and maintain an inventory of service providers. The inventory is to list all known service providers, include classification(s), and designate an enterprise contact for each service provider. Review and update the inventory annually, or when significant enterprise changes occur that could impact this Safeguard. ","x","x","x"]
[15,15.2,"N/A","Identify","Establish and Maintain a Service Provider Management Policy","Establish and maintain a service provider management policy. Ensure the policy addresses the classification, inventory, assessment, monitoring, and decommissioning of service providers. Review and update the policy annually, or when significant enterprise changes occur that could impact this Safeguard.",null,"x","x"]
[15,15.3,"N/A","Identify","Classify Service Providers","Classify service providers. Classification consideration may include one or more characteristics, such as data sensitivity, data volume, availability requirements, applicable regulations, inherent risk, and mitigated risk. Update and review classifications annually, or when significant enterprise changes occur that could impact this Safeguard.",null,"x","x"]
[15,15.4,"N/A","Protect","Ensure Service Provider Contracts Include Security Requirements","Ensure service provider contracts include security requirements. Example requirements may include minimum security program requirements, security incident and/or data breach notification and response, data encryption requirements, and data disposal commitments. These security requirements must be consistent with the enterprise’s service provider management policy. Review service provider contracts annually to ensure contracts are not missing security requirements.",null,"x","x"]
[15,15.5,"N/A","Identify","Assess Service Providers","Assess service providers consistent with the enterprise’s service provider management policy. Assessment scope may vary based on classification(s), and may include review of standardized assessment reports, such as Service Organization Control 2 (SOC 2) and Payment Card Industry (PCI) Attestation of Compliance (AoC), customized questionnaires, or other appropriately rigorous processes. Reassess service providers annually, at a minimum, or with new and renewed contracts.",null,null,"x"]
[15,15.6,"Data","Detect","Monitor Service Providers","Monitor service providers consistent with the enterprise’s service provider management policy. Monitoring may include periodic reassessment of service provider compliance, monitoring service provider release notes, and dark web monitoring.",null,null,"x"]
[15,15.7,"Data","Protect","Securely Decommission Service Providers","Securely decommission service providers. Example considerations include user and service account deactivation, termination of data flows, and secure disposal of enterprise data within service provider systems. ",null,null,"x"]
["16 ",{"$nulls":3},"Application Software Security","Manage the security life cycle of in-house developed, hosted, or acquired software to prevent, detect, and remediate security weaknesses before they can impact the enterprise."]
[16,16.1,"Applications","Protect","Establish and Maintain a Secure Application Development Process","Establish and maintain a secure application development process. In the process, address such items as: secure application design standards, secure coding practices, developer training, vulnerability management, security of third-party code, and application security testing procedures. Review and update documentation annually, or when significant enterprise changes occur that could impact this Safeguard.",null,"x","x"]
[16,16.2,"Applications","Protect","Establish and Maintain a Process to Accept and Address Software Vulnerabilities","Establish and maintain a process to accept and address reports of software vulnerabilities, including providing a means for external entities to report. The process is to include such items as: a vulnerability handling policy that identifies reporting process, responsible party for handling vulnerability reports, and a process for intake, assignment, remediation, and remediation testing. As part of the process, use a vulnerability tracking system that includes severity ratings, and metrics for measuring timing for identification, analysis, and remediation of vulnerabilities. Review and update documentation annually, or when significant enterprise changes occur that could impact this Safeguard.\n\nThird-party application developers need to consider this an externally-facing policy that helps to set expectations for outside stakeholders. ",null,"x","x"]
[16,16.3,"Applications","Protect","Perform Root Cause Analysis on Security Vulnerabilities","Perform root cause analysis on security vulnerabilities. When reviewing vulnerabilities, root cause analysis is the task of evaluating underlying issues that create vulnerabilities in code, and allows development teams to move beyond just fixing individual vulnerabilities as they arise.",null,"x","x"]
[16,16.4,"Applications","Protect","Establish and Manage an Inventory of Third-Party Software Components","Establish and manage an updated inventory of third-party components used in development, often referred to as a “bill of materials,” as well as components slated for future use. This inventory is to include any risks that each third-party component could pose. Evaluate the list at least monthly to identify any changes or updates to these components, and validate that the component is still supported. ",null,"x","x"]
[16,16.5,"Applications","Protect","Use Up-to-Date and Trusted Third-Party Software Components","Use up-to-date and trusted third-party software components. When possible, choose established and proven frameworks and libraries that provide adequate security. Acquire these components from trusted sources or evaluate the software for vulnerabilities before use.",null,"x","x"]
[16,16.6,"Applications","Protect","Establish and Maintain a Severity Rating System and Process for Application Vulnerabilities","Establish and maintain a severity rating system and process for application vulnerabilities that facilitates prioritizing the order in which discovered vulnerabilities are fixed. This process includes setting a minimum level of security acceptability for releasing code or applications. Severity ratings bring a systematic way of triaging vulnerabilities that improves risk management and helps ensure the most severe bugs are fixed first. Review and update the system and process annually.",null,"x","x"]
[16,16.7,"Applications","Protect","Use Standard Hardening Configuration Templates for Application Infrastructure","Use standard, industry-recommended hardening configuration templates for application infrastructure components. This includes underlying servers, databases, and web servers, and applies to cloud containers, Platform as a Service (PaaS) components, and SaaS components. Do not allow in-house developed software to weaken configuration hardening.",null,"x","x"]
[16,16.8,"Applications","Protect","Separate Production and Non-Production Systems","Maintain separate environments for production and non-production systems.",null,"x","x"]
[16,16.9,"Applications","Protect","Train Developers in Application Security Concepts and Secure Coding","Ensure that all software development personnel receive training in writing secure code for their specific development environment and responsibilities. Training can include general security principles and application security standard practices. Conduct training at least annually and design in a way to promote security within the development team, and build a culture of security among the developers.",null,"x","x"]
[16,{"v":16.1,"d":"16.10"},"Applications","Protect","Apply Secure Design Principles in Application Architectures","Apply secure design principles in application architectures. Secure design principles include the concept of least privilege and enforcing mediation to validate every operation that the user makes, promoting the concept of \"never trust user input.\" Examples include ensuring that explicit error checking is performed and documented for all input, including for size, data type, and acceptable ranges or formats. Secure design also means minimizing the application infrastructure attack surface, such as turning off unprotected ports and services, removing unnecessary programs and files, and renaming or removing default accounts.",null,"x","x"]
[16,16.11,"Applications","Protect","Leverage Vetted Modules or Services for Application Security Components","Leverage vetted modules or services for application security components, such as identity management, encryption, and auditing and logging. Using platform features in critical security functions will reduce developers’ workload and minimize the likelihood of design or implementation errors. Modern operating systems provide effective mechanisms for identification, authentication, and authorization and make those mechanisms available to applications. Use only standardized, currently accepted, and extensively reviewed encryption algorithms. Operating systems also provide mechanisms to create and maintain secure audit logs.",null,"x","x"]
[16,16.12,"Applications","Protect","Implement Code-Level Security Checks","Apply static and dynamic analysis tools within the application life cycle to verify that secure coding practices are being followed.",null,null,"x"]
[16,16.13,"Applications","Protect","Conduct Application Penetration Testing","Conduct application penetration testing. For critical applications, authenticated penetration testing is better suited to finding business logic vulnerabilities than code scanning and automated security testing. Penetration testing relies on the skill of the tester to manually manipulate an application as an authenticated and unauthenticated user. ",null,null,"x"]
[16,16.14,"Applications","Protect","Conduct Threat Modeling","Conduct threat modeling. Threat modeling is the process of identifying and addressing application security design flaws within a design, before code is created. It is conducted through specially trained individuals who evaluate the application design and gauge security risks for each entry point and access level. The goal is to map out the application, architecture, and infrastructure in a structured way to understand its weaknesses.",null,null,"x"]
[17,{"$nulls":3},"Incident Response Management","Establish a program to develop and maintain an incident response capability (e.g., policies, plans, procedures, defined roles, training, and communications) to prepare, detect, and quickly respond to an attack."]
[17,17.1,"N/A","Respond","Designate Personnel to Manage Incident Handling","Designate one key person, and at least one backup, who will manage the enterprise’s incident handling process. Management personnel are responsible for the coordination and documentation of incident response and recovery efforts and can consist of employees internal to the enterprise, third-party vendors, or a hybrid approach. If using a third-party vendor, designate at least one person internal to the enterprise to oversee any third-party work. Review annually, or when significant enterprise changes occur that could impact this Safeguard.","x","x","x"]
[17,17.2,"N/A","Respond","Establish and Maintain Contact Information for Reporting Security Incidents","Establish and maintain contact information for parties that need to be informed of security incidents. Contacts may include internal staff, third-party vendors, law enforcement, cyber insurance providers, relevant government agencies, Information Sharing and Analysis Center (ISAC) partners, or other stakeholders. Verify contacts annually to ensure that information is up-to-date.","x","x","x"]
[17,17.3,"N/A","Respond","Establish and Maintain an Enterprise Process for Reporting Incidents","Establish and maintain an enterprise process for the workforce to report security incidents. The process includes reporting timeframe, personnel to report to, mechanism for reporting, and the minimum information to be reported. Ensure the process is publicly available to all of the workforce. Review annually, or when significant enterprise changes occur that could impact this Safeguard.","x","x","x"]
[17,17.4,"N/A","Respond","Establish and Maintain an Incident Response Process","Establish and maintain an incident response process that addresses roles and responsibilities, compliance requirements, and a communication plan. Review annually, or when significant enterprise changes occur that could impact this Safeguard.",null,"x","x"]
[17,17.5,"N/A","Respond","Assign Key Roles and Responsibilities","Assign key roles and responsibilities for incident response, including staff from legal, IT, information security, facilities, public relations, human resources, incident responders, and analysts, as applicable. Review annually, or when significant enterprise changes occur that could impact this Safeguard.",null,"x","x"]
[17,17.6,"N/A","Respond","Define Mechanisms for Communicating During Incident Response","Determine which primary and secondary mechanisms will be used to communicate and report during a security incident. Mechanisms can include phone calls, emails, or letters. Keep in mind that certain mechanisms, such as emails, can be affected during a security incident. Review annually, or when significant enterprise changes occur that could impact this Safeguard.",null,"x","x"]
[17,17.7,"N/A","Recover","Conduct Routine Incident Response Exercises","Plan and conduct routine incident response exercises and scenarios for key personnel involved in the incident response process to prepare for responding to real-world incidents. Exercises need to test communication channels, decision making, and workflows. Conduct testing on an annual basis, at a minimum.",null,"x","x"]
[17,17.8,"N/A","Recover","Conduct Post-Incident Reviews","Conduct post-incident reviews. Post-incident reviews help prevent incident recurrence through identifying lessons learned and follow-up action.",null,"x","x"]
[17,17.9,"N/A","Recover","Establish and Maintain Security Incident Thresholds","Establish and maintain security incident thresholds, including, at a minimum, differentiating between an incident and an event. Examples can include: abnormal activity, security vulnerability, security weakness, data breach, privacy incident, etc. Review annually, or when significant enterprise changes occur that could impact this Safeguard.",null,null,"x"]
["18 ",{"$nulls":3},"Penetration Testing","Test the effectiveness and resiliency of enterprise assets through identifying and exploiting weaknesses in controls (people, processes, and technology), and simulating the objectives and actions of an attacker."]
[" 18",18.1,"N/A","Identify","Establish and Maintain a Penetration Testing Program","Establish and maintain a penetration testing program appropriate to the size, complexity, and maturity of the enterprise. Penetration testing program characteristics include scope, such as network, web application, Application Programming Interface (API), hosted services, and physical premise controls; frequency; limitations, such as acceptable hours, and excluded attack types; point of contact information; remediation, such as how findings will be routed internally; and retrospective requirements.",null,"x","x"]
["18 ",18.2,"Network","Identify","Perform Periodic External Penetration Tests","Perform periodic external penetration tests based on program requirements, no less than annually. External penetration testing must include enterprise and environmental reconnaissance to detect exploitable information. Penetration testing requires specialized skills and experience and must be conducted through a qualified party. The testing may be clear box or opaque box.",null,"x","x"]
["18 ",18.3,"Network","Protect","Remediate Penetration Test Findings","Remediate penetration test findings based on the enterprise’s policy for remediation scope and prioritization.",null,"x","x"]
[18,18.4,"Network","Protect","Validate Security Measures","Validate security measures after each penetration test. If deemed necessary, modify rulesets and capabilities to detect the techniques used during testing.",null,null,"x"]
["18 ",18.5,"N/A","Identify","Perform Periodic Internal Penetration Tests","Perform periodic internal penetration tests based on program requirements, no less than annually. The testing may be clear box or opaque box.",null,null,"x"]