3 Inter-Process Authorization Test Suite
4 Robert Watson, TrustedBSD Project
6 This test suite attempts to determine the behavior of inter-process
7 authorization policy present in the kernel. It analyzes a series of
8 important scenarios using specifically crafted process credentials
9 and a set of operations. It then reports on any divergence from the
14 ptrace cred1 attempts ptrace attach to cred2
15 sighup cred1 attempts SIGHUP of cred2
16 sigsegv cred1 attempts SIGSEGV of cred2
17 see cred1 attempts getpriority() on cred2
18 sched cred1 attempts setpriority() on cred2
22 priv on priv root process on another root process
23 priv on unpriv1 root process on a non-root process
24 unpriv1 on priv non-root process on a root process
25 unpriv1 on unpriv1 non-root process on a similar non-root process
26 unpriv1 on unpriv2 non-root process on a different non-root process
27 unpriv1 on daemon1 non-root process on a root daemon process acting with
28 same non-root effective credentials
29 unpriv1 on daemon2 non-root process on a root daemon process acting with
30 different non-root effective credentials
31 unpriv1 on setuid1 non-root process on a setuid-root process with same
32 non-root real credentials
33 unpriv1 on setuid2 non-root process on a setuid-root process with
34 different non-root real credentials
36 The credential elements supported by the test suite are:
43 Other untested aspects of interest include groups, as well as session
44 relationship. Other test operations that might be of interest are SIGCONT,
47 The current set of tests includes some tests where normally the P_SUGID
48 flag is set, but isn't in the test. The result is that some tests fail
49 that may not reflect real-world software configurations. However, they
50 do point to possible changes that could be made in the authorization system
51 to improve resilience to failure or violation of invariants.
53 These tests rely on __setugid(), a system call enabled using options