Scopes

In addition to rules, Santa can allow or block based on scopes. Currently, only a few scopes are implemented. Scopes are evaluated after rules, with block evaluation preceding allow.

Scopes are a broader way of allowing or blocking execve()s.

For configuration of scopes see configuration.md.

Block Scopes
Scope Configurable
Blocked Path Regex Yes
Missing __PAGEZERO Yes
Allow Scopes
Scope Configurable
Allowed Path Regex Yes
Not a Mach-O No

As seen above, Santa will allow any non Mach-O binary under an allow scope. However, a blocked path regex or binary SHA-256 rule can be used to block non Mach-O execve()s since they are evaluated before the allow scope.

Regex Caveats

The paths covered by the allowed path and blocked path regex patterns are not tracked. If an execve() is allowed initially, then moved into a blocked directory, Santa has no knowledge of that move. Since santa-driver caches decisions, the recently moved file will continue to be allowed to execve() even though it is now within a blocked path. The cache holds "allow" decisions until invalidated and block decisions for 500 milliseconds. Going from a blocked path to an allowed path is not largely affected.