Disable or Remove Feature or Program
Remove or deny access to unnecessary and potentially vulnerable software to prevent abuse by adversaries.
Pre-compromise
This category is used for any applicable mitigation activities that apply to techniques occurring before an adversary gains Initial Access, such as Reconnaissance and Resource Development techniques.
User Account Management
Manage the creation, modification, use, and permissions associated to user accounts.
Restrict Web-Based Content
Restrict use of certain websites, block downloads/attachments, block Javascript, restrict browser extensions, etc.
Software Configuration
Implement configuration changes to software (other than the operating system) to mitigate security risks associated to how the software operates.
User Training
Train users to be aware of access or manipulation attempts by an adversary to reduce the risk of successful spearphishing, social engineering, and other techniques that involve user interaction.
Audit
Perform audits or scans of systems, permissions, insecure software, insecure configurations, etc. to identify potential weaknesses.
Operating System Configuration
Make configuration changes related to the operating system or a common feature of the operating system that result in system hardening against techniques.
Limit Software Installation
Block users or groups from installing unapproved software.
Execution Prevention
Block execution of code on a system through application control, and/or script blocking.
Antivirus/Antimalware
Use signatures or heuristics to detect malicious software.
Privileged Account Management
Manage the creation, modification, use, and permissions associated to privileged accounts, including SYSTEM and root.
Exploit Protection
Use capabilities to detect and block conditions that may lead to or be indicative of a software exploit occurring.
Application Isolation and Sandboxing
Restrict execution of code to a virtual environment on or in transit to an endpoint system.
Network Segmentation
Architect sections of the network to isolate critical systems, functions, or resources. Use physical and logical segmentation to prevent access to potentially sensitive systems and information. Use a DMZ to contain any internet-facing services...
Threat Intelligence Program
A threat intelligence program helps an organization generate their own threat intelligence information and track trends to inform defensive priorities to mitigate risk.
Vulnerability Scanning
Vulnerability scanning is used to find potentially exploitable software vulnerabilities to remediate them.
Update Software
Perform regular software updates to mitigate exploitation risk.
Password Policies
Set and enforce secure password policies for accounts.
Behavior Prevention on Endpoint
Use capabilities to prevent suspicious behavior patterns from occurring on endpoint systems. This could include suspicious process, file, API call, etc. behavior.
Credential Access Protection
Use capabilities to prevent successful credential access by adversaries; including blocking forms of credential dumping.
Privileged Process Integrity
Protect processes with high privileges that can be used to interact with critical system components through use of protected process light, anti-process injection defenses, or other process integrity enforcement measures.
Application Developer Guidance
This mitigation describes any guidance or training given to developers of applications to avoid introducing security weaknesses that an adversary may be able to take advantage of.
Restrict File and Directory Permissions
Restrict access by setting directory and file permissions that are not specific to users or privileged accounts.
Account Use Policies
Configure features related to account use like login attempt lockouts, specific login times, etc.
Multi-factor Authentication
Use two or more pieces of evidence to authenticate to a system; such as username and password in addition to a token from a physical smart card or token generator.
Code Signing
Enforce binary and application integrity with digital signature verification to prevent untrusted code from executing.
Restrict Registry Permissions
Restrict the ability to modify certain hives or keys in the Windows Registry.
Filter Network Traffic
Use network appliances to filter ingress or egress traffic and perform protocol-based filtering. Configure software on endpoints to filter network traffic.
Active Directory Configuration
Configure Active Directory to prevent use of certain techniques; use SID Filtering, etc.
Limit Access to Resource Over Network
Prevent access to file shares, remote access to systems, unnecessary services. Mechanisms to limit access may include use of network concentrators, RDP gateways, etc.
Encrypt Sensitive Information
Protect sensitive information with strong encryption.
Network Intrusion Prevention
Use intrusion detection signatures to block traffic at network boundaries.
SSL/TLS Inspection
Break and inspect SSL/TLS sessions to look at encrypted web traffic for adversary activity.
Remote Data Storage
Use remote security log and sensitive file storage where access can be controlled better to prevent exposure of intrusion detection log data or sensitive information.