Control Objectives: Applications

No control objectives match the current filters.
16.1 Establish and Maintain a Secure Application Development Process
SNow
Classification: ProtectState: Published
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 up
16.10 Apply Secure Design Principles in Application Architectures
SNow
Classification: ProtectState: Published
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 check
16.11 Leverage Vetted Modules or Services for Application Security Components
SNow
Classification: ProtectState: Published
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 o
16.12 Implement Code-Level Security Checks
SNow
Classification: ProtectState: Published
Apply static and dynamic analysis tools within the application life cycle to verify that secure coding practices are being followed.
16.13 Conduct Application Penetration Testing
SNow
Classification: ProtectState: Published
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 applicat
16.14 Conduct Threat Modeling
SNow
Classification: ProtectState: Published
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
16.2 Establish and Maintain a Process to Accept and Address Software Vulnerabilities
SNow
Classification: ProtectState: Published
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 vulnerab
16.3 Perform Root Cause Analysis on Security Vulnerabilities
SNow
Classification: ProtectState: Published
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.
16.4 Establish and Manage an Inventory of Third-Party Software Components
SNow
Classification: ProtectState: Published
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 i
16.5 Use Up-to-Date and Trusted Third-Party Software Components
SNow
Classification: ProtectState: Published
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.
16.6 Establish and Maintain a Severity Rating System and Process for Application Vulnerabilities
SNow
Classification: ProtectState: Published
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 rati
16.7 Use Standard Hardening Configuration Templates for Application Infrastructure
SNow
Classification: ProtectState: Published
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
16.8 Separate Production and Non-Production Systems
SNow
Classification: ProtectState: Published
Maintain separate environments for production and non-production systems.
16.9 Train Developers in Application Security Concepts and Secure Coding
SNow
Classification: ProtectState: Published
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
2.1 Establish and Maintain a Software Inventory
SNow
Classification: IdentifyState: Published
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),
2.2 Ensure Authorized Software is Currently Supported
SNow
Classification: IdentifyState: Published
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
2.3 Address Unauthorized Software
SNow
Classification: RespondState: Published
Ensure that unauthorized software is either removed from use on enterprise assets or receives a documented exception. Review monthly, or more frequently.
2.4 Utilize Automated Software Inventory Tools
SNow
Classification: DetectState: Published
Utilize software inventory tools, when possible, throughout the enterprise to automate the discovery and documentation of installed software.
2.5 Allowlist Authorized Software
SNow
Classification: ProtectState: Published
Use technical controls, such as application allowlisting, to ensure that only authorized software can execute or be accessed. Reassess bi-annually, or more frequently.
2.6 Allowlist Authorized Libraries
SNow
Classification: ProtectState: Published
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.
2.7 Allowlist Authorized Scripts
SNow
Classification: ProtectState: Published
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.
4.1 Establish and Maintain a Secure Configuration Process
SNow
Classification: ProtectState: Published
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 oc
7.1 Establish and Maintain a Vulnerability Management Process
SNow
Classification: ProtectState: Published
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.
7.2 Establish and Maintain a Remediation Process
SNow
Classification: RespondState: Published
Establish and maintain a risk-based remediation strategy documented in a remediation process, with monthly, or more frequent, reviews.
7.3 Perform Automated Operating System Patch Management
SNow
Classification: ProtectState: Published
Perform operating system updates on enterprise assets through automated patch management on a monthly, or more frequent, basis.
7.4 Perform Automated Application Patch Management
SNow
Classification: ProtectState: Published
Perform application updates on enterprise assets through automated patch management on a monthly, or more frequent, basis.
7.5 Perform Automated Vulnerability Scans of Internal Enterprise Assets
SNow
Classification: IdentifyState: Published
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.
7.6 Perform Automated Vulnerability Scans of Externally-Exposed Enterprise Assets
SNow
Classification: IdentifyState: Published
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.
7.7 Remediate Detected Vulnerabilities
SNow
Classification: RespondState: Published
Remediate detected vulnerabilities in software through processes and tooling on a monthly, or more frequent, basis, based on the remediation process.
9.1 Ensure Use of Only Fully Supported Browsers and Email Clients
SNow
Classification: ProtectState: Published
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.
9.4 Restrict Unnecessary or Unauthorized Browser and Email Client Extensions
SNow
Classification: ProtectState: Published
Restrict, either through uninstalling or disabling, any unauthorized or unnecessary browser or email client plugins, extensions, and add-on applications.
Address unapproved software
SNow
Classification: RespondState: Published
Ensure that unauthorized software is either removed or the inventory is updated in a timely manner.
Apply Static and Dynamic Code Analysis Tools
SNow
Classification: DetectState: Published
Apply static and dynamic analysis tools to verify that secure coding practices are being adhered to for internally developed software.
Compare Back-to-back Vulnerability Scans
SNow
Classification: RespondState: Published
Regularly compare the results from back-to-back vulnerability scans to verify that vulnerabilities have been remediated in a timely manner.
Continuous Vulnerability Management
SNow
Classification: DetectState: Published
Continuously acquire, assess, and take action on new information in order to identify vulnerabilities, remediate, and minimize the window of opportunity for attackers.
Deploy Automated Operating System Patch Management Tools
SNow
Classification: ProtectState: Published
Deploy automated software update tools in order to ensure that the operating systems are running the most recent security updates provided by the software vendor.
Deploy Automated Software Patch Management Tools
SNow
Classification: ProtectState: Published
Deploy automated software update tools in order to ensure that third-party software on all systems is running the most recent security updates provided by the software vendor.
Deploy System Configuration Management Tools
SNow
Classification: ProtectState: Published
Deploy system configuration management tools that will automatically enforce and redeploy configuration settings to systems at regularly scheduled intervals.
Disable Unnecessary or Unauthorized Browser or Email Client Plugins
SNow
Classification: ProtectState: Published
Uninstall or disable any unauthorized browser or email client plugins or add-on applications.
Ensure Explicit Error Checking is Performed for All In-house Developed Software
SNow
Classification: ProtectState: Published
For in-house developed software, ensure that explicit error checking is performed and documented for all input, including for size, data type, and acceptable ranges or formats.
Ensure Software is Supported by Vendor
SNow
Classification: IdentifyState: Published
Ensure that only software applications or operating systems currently supported by the software's vendor are added to the organization's authorized software inventory. Unsupported software should be tagged as unsupported in the inventory system.
Ensure Use of Only Fully Supported Browsers and Email Clients
SNow
Classification: ProtectState: Published
Ensure that only fully supported web browsers and email clients are allowed to execute in the organization, ideally only using the latest version of the browsers and email clients provided by the vendor.
Establish Secure Coding Practices
SNow
Classification: ProtectState: Published
Establish secure coding practices appropriate to the programming language and development environment being used.
Establish Secure Configurations
SNow
Classification: ProtectState: Published
Maintain documented, standard security configuration standards for all authorized operating systems and software.
Establish a Process to Accept and Address Reports of Software Vulnerabilities
SNow
Classification: ProtectState: Published
Establish a process to accept and address reports of software vulnerabilities, including providing a means for external entities to contact your security group.
Implement Application Whitelisting of Libraries
SNow
Classification: ProtectState: Published
The organization's application whitelisting software must ensure that only authorized software libraries (such as *.dll, *.ocx, *.so, etc) are allowed to load into a system process.
Implement Application Whitelisting of Scripts
SNow
Classification: ProtectState: Published
The organization's application whitelisting software must ensure that only authorized, digitally signed scripts (such as *.ps1, *.py, macros, etc) are allowed to run on a system.
Implement Automated Configuration Monitoring Systems
SNow
Classification: DetectState: Published
Utilize a Security Content Automation Protocol (SCAP) compliant configuration monitoring system to verify all security configuration elements, catalog approved exceptions, and alert when unauthorized changes occur.
Integrate Software and Hardware Asset Inventories
SNow
Classification: IdentifyState: Published
The software inventory system should be tied into the hardware asset inventory so all devices and associated software are tracked from a single location.
Inventory and Control of Software Assets
SNow
Classification: IdentifyState: Published
Actively manage (inventory, track, and correct) all software 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.
Limit Use of Scripting Languages in Web Browsers and Email Clients
SNow
Classification: ProtectState: Published
Ensure that only authorized scripting languages are able to run in all web browsers and email clients.
Maintain Inventory of Authorized Software
SNow
Classification: IdentifyState: Published
Maintain an up-to-date list of all authorized software that is required in the enterprise for any business purpose on any business system.
Maintain Secure Images
SNow
Classification: ProtectState: Published
Maintain secure images or templates for all systems in the enterprise based on the organization's approved configuration standards. Any new system deployment or existing system that becomes compromised should be imaged using one of those images or templates.
Only Use Up-to-date And Trusted Third-Party Components
SNow
Classification: ProtectState: Published
Only use up-to-date and trusted third-party components for the software developed by the organization.
Perform Authenticated Vulnerability Scanning
SNow
Classification: DetectState: Published
Perform authenticated vulnerability scanning with agents running locally on each system or with remote scanners that are configured with elevated rights on the system being tested.
Physically or Logically Segregate High Risk Applications
SNow
Classification: ProtectState: Published
Physically or logically segregated systems should be used to isolate and run software that is required for business operations but incur higher risk for the organization.
Run Automated Vulnerability Scanning Tools
SNow
Classification: DetectState: Published
Utilize an up-to-date SCAP-compliant vulnerability scanning tool to automatically scan all systems on the network on a weekly or more frequent basis to identify all potential vulnerabilities on the organization's systems.
Secure Configuration for Hardware and Software on Mobile Devices, Laptops, Workstations and Servers
SNow
Classification: ProtectState: Published
Establish, implement, and actively manage (track, report on, correct) the security configuration of mobile devices, laptops, servers, and workstations using a rigorous configuration management and change control process in order to prevent attackers from exploiting vulnerable services and settings.
Securely Store Master Images
SNow
Classification: ProtectState: Published
Store the master images and templates on securely configured servers, validated with integrity monitoring tools, to ensure that only authorized changes to the images are possible.
Track Software Inventory Information
SNow
Classification: IdentifyState: Published
The software inventory system should track the name, version, publisher, and install date for all software, including operating systems authorized by the organization.
Use Only Standardized and Extensively Reviewed Encryption Algorithms
SNow
Classification: ProtectState: Published
Use only standardized and extensively reviewed encryption algorithms.
Utilize Application Whitelisting
SNow
Classification: ProtectState: Published
Utilize application whitelisting technology on all assets to ensure that only authorized software executes and all unauthorized software is blocked from executing on assets.
Utilize Software Inventory Tools
SNow
Classification: IdentifyState: Published
Utilize software inventory tools throughout the organization to automate the documentation of all software on business systems.
Utilize a Risk-rating Process
SNow
Classification: RespondState: Published
Utilize a risk-rating process to prioritize the remediation of discovered vulnerabilities.
Verify That Acquired Software is Still Supported
SNow
Classification: ProtectState: Published
Verify that the version of all software acquired from outside your organization is still supported by the developer or appropriately hardened based on developer security recommendations.
Graph Explorer