Starting with Connector version 1.11.0, AMP for Endpoints is adding support for Process Exclusions on macOS and Linux. In the past, configuring AMP to ignore activities of a macOS or Linux application required a combination of Path, File Extension and/or Wildcard exclusion rules. Since these rules target files and directories and cannot be associated with a program or process, multiple rules were often needed for each program and each rule may unnecessarily exclude activities from more than one program. Process Exclusions provide a more direct and precise way to exclude an application's activities. When used appropriately, Process Exclusions can significantly improve AMP performance with minimal adverse effects on system security.
Process Exclusion rules are managed in the AMP for Endpoints web console. Each rule consists of:
The full (absolute) path to the program executable,
The user name of the process (optional), and
Whether child processes should also be excluded (default: no)
When a Process Exclusion rule matches a running process, all activities performed by that process, and optionally its child processes, are excluded from scan.
With the addition of Process Exclusion in Mac and Linux Connectors 1.11.0, the interpretation of existing Path, File Extension and Wildcard rules is also changing. There is no change in behavior for 1.10.x and older Connectors. However, the same rules in 1.11.0 will not apply as broadly. Refer to section Changes to Path, File Extension and Wildcard Exclusion Rules for details.
Preparing for Process Exclusions
There are three important considerations before upgrading your macOS and Linux endpoints:
1.10.x and older Connectors ignore Process Exclusion rules.
1.11.0 and newer Connectors honor Process Exclusion rules but interpret Path, File Extension and Wildcard rules differently than older Connectors. This may adversely affect system performance.
Mac Connector 1.10.0 and Linux Connector 1.11.0 introduced generic on-execute scan optimizations that mitigate the performance loss of the new interpretation described in (2).
Changes to Path, File Extension and Wildcard Exclusion Rules
In 1.10.x and older Connector versions: File, Path and Wildcard rules exclude the target file or directory from scan for these file operations:
In 1.11.0 and newer Connector versions: The interpretation of Path, File Extension and Wildcard rules has changed such that on a match, file execute will trigger a scan instead of being excluded. File create, modify, and rename continue to be excluded. The motivations for this change are:
It avoids unwanted exclusion of execute activity when excluding data file directories.
It better complements Process Exclusion rules by making it possible to independently exclude execute and non-execute operations on the same path.
It aligns the macOS and Linux interpretation of these rules with AMP on Windows.
In most cases, AMP's CPU usage increase is estimated to be less than 20%. In some cases, AMP's CPU usage may decrease. This is possible if the new Connector version's generic on-execute scan optimizations are more effective than the exclusion rules in use.
Connector Upgrade Guidance
For systems previously tuned using exclusions, attention is needed after upgrading to 1.11.0 (or newer) to ensure system performance is still satisfactory. The recommended upgrade steps are:
Without making any exclusion changes, upgrade the Connector.
Evaluate system performance after upgrade.
If system performance after upgrade is satisfactory, remove Path, File Extension and Wildcard Exclusion rules which target program executables instead of data files. Those rules are no longer needed. New Process Exclusion rules can then be added to further improve performance at convenience.
If system performance after upgrade is not satisfactory, replace Path, File Extension and Wildcard Exclusion rules that target program executables with corresponding Process Exclusion rules. System performance should improve to a level that is the same or better than before the upgrade.
In larger deployments where Connectors are upgraded in phases, it is recommended to defer modifying or removing Path, File Extension and Wildcard exclusion rules until after all Connectors have been upgraded to 1.11.0 or newer. This ensures older Connectors that rely on existing exclusion rules are not adversely affected before the endpoint is upgraded.
Adding Process Exclusion Rules
Process Exclusion rules can be created using the AMP for Endpoints web portal. The procedure is:
Find the Exclusion Set you wish to modify. Click `Add Exclusion` and select `Process: File Scan`.
Enter the full (absolute) path for the program to exclude, the User account that will run the program (optional), and whether the exclusion should apply to all child processes created by the program.
Click `Add Exclusion` to add more rules (repeating steps 1-2), or click `Save` to save the exclusion set.
Process Exclusions Best Practices
Never exclude the startup process: The startup process (i.e., `launchd` on macOS, `init` or `systemd` on Linux) is responsible for creating all other processes on the system and is at the top of the process hierarchy. Excluding the startup process, and all its children processes, would effectively disable AMP monitoring.
Specify User when possible: If the User field is left blank, the exclusion applies to any process running the specified program. While a rule that applies to any user may be more flexible, this broad scope could unintentionally exclude activity that should be monitored. Specifying the User is especially important for rules which apply to shared programs such as runtime engines (e.g., `java`) and script interpreters (e.g., `bash`, `python`). Specifying the User limits scope and directs AMP to ignore specific instances while monitoring other instances.
Avoid overlap between Process Exclusion and Path/File Extension/Wildcard rules: When excluding the execution of a program from scan, a good safeguard to maintain is to detect modifications of that trusted program and trigger file scans. Ensuring the path specified in a Process Exclusion rule is not covered by a Path/File Extension/Wildcard rule ensures file modification would not be unintentionally excluded from scan.
Differences from Windows Implementation
Adding Process Exclusion support and reducing the scope of Path, File Extension and Wildcard rules brings macOS and Linux exclusions in closer alignment with Windows. However, there are still important implementation differences:
macOS and Linux Process Exclusion rules accept an optional user name to accompany the process executable full path whereas Windows accepts an optional SHA-256 hash value. Excluding a process by its SHA-256 hash value is not currently supported on macOS and Linux.
The Malicious Activity and System Process engines are exclusive to Windows and so those exclusion types are not available on macOS and Linux.