Represents a set of processes.
These are XML attributes of the tag itself, as opposed to the attributes of the Entity monitored by Integrity Monitoring Rules.
| Attribute | Description | Required | Default Value | Allowed Values |
| onChange | Will be monitored in real time | No | false | true, false |
These are the attributes of the Entity that can be monitored by Integrity Monitoring Rules.
The key is a combination of the "Process" attribute (the short name of the executable) and the PID. The PID is appended to the name with a path separator in between, ex. notepad.exe\1234 on Windows and httpd/1234 on Unix. The use of the path separator is to allow include/exclude matching of key="abc/*" to work as expected.
See the general description of include for their allowed attributes and sub elements. Only information specific to include/excludes relating to this EntitySet class are included here.
The following example would monitor the set of running processes for notepad.exe regardless of the PID.:
<ProcessSet>
<include key="notepad.exe\*" />
</ProcessSet>
Various other attributes of a process can be used in include/exclude feature tests. The feature tests support Unix glob-style wildcarding with * and ?, and there is no normalization of path separators or other characters - it is a simple glob-style match against the value of the attribute.
CommandLine
Checks for a wildcard match against the commandLine attribute of the process. The following example would monitor any process whose command-line matches "*httpd *":
<ProcessSet>
<include commandLine="*httpd *" />
</ProcessSet>
Group
Checks for a wildcard match against the group attribute of the process. The text version of the group name is used rather than the numeric form: use "daemon" rather than "2" to test for the daemon group on Linux. The following example would monitor any process running as one of the groups root, daemon, or lp:
<ProcessSet>
<include group="root" />
<include group="daemon" />
<include group="lp" />
</ProcessSet>
Path
Checks for a wildcard match against the path attribute of the process. The path attribute is not available on some platforms. The following example would monitor any process whose binary resides under System32:
<ProcessSet>
<include path="*\System32\*" />
</ProcessSet>
User
Checks for a wildcard match against the user attribute of the process. The text version of the user name is used rather than the numeric form: use "root" rather than "0" (zero) to test for the superuser on Unix. The following example would monitor any process running as one of the built in system users (ex. NT AUTHORITY\SYSTEM, NT AUTHORITY\LOCAL SERVICE, NT AUTHORITY\NETWORK SERVICE):
<ProcessSet>
<include user="NT AUTHORITY\*" />
</ProcessSet>