freebsd-dev/sys/security/audit
Robert Watson 1811d6bf7f Add an experimental DTrace audit provider, which allows users of DTrace to
instrument security event auditing rather than relying on conventional BSM
trail files or audit pipes:

- Add a set of per-event 'commit' probes, which provide access to
  particular auditable events at the time of commit in system-call return.
  These probes gain access to audit data via the in-kernel audit_record
  data structure, providing convenient access to system-call arguments and
  return values in a single probe.

- Add a set of per-event 'bsm' probes, which provide access to particular
  auditable events at the time of BSM record generation in the audit
  worker thread. These probes have access to the in-kernel audit_record
  data structure and BSM representation as would be written to a trail
  file or audit pipe -- i.e., asynchronously in the audit worker thread.

DTrace probe arguments consist of the name of the audit event (to support
future mechanisms of instrumenting multiple events via a single probe --
e.g., using classes), a pointer to the in-kernel audit record, and an
optional pointer to the BSM data and its length. For human convenience,
upper-case audit event names (AUE_...) are converted to lower case in
DTrace.

DTrace scripts can now cause additional audit-based data to be collected
on system calls, and inspect internal and BSM representations of the data.
They do not affect data captured in the audit trail or audit pipes
configured in the system. auditd(8) must be configured and running in
order to provide a database of event information, as well as other audit
configuration parameters (e.g., to capture command-line arguments or
environmental variables) for the provider to operate.

Reviewed by:	gnn, jonathan, markj
Sponsored by:	DARPA, AFRL
MFC after:	3 weeks
Differential Revision:	https://reviews.freebsd.org/D10149
2017-03-29 19:58:00 +00:00
..
audit_arg.c Extend comment describing path canonicalisation in audit. 2017-03-27 08:29:17 +00:00
audit_bsm_klib.c Add an experimental DTrace audit provider, which allows users of DTrace to 2017-03-29 19:58:00 +00:00
audit_bsm.c Introduce an audit event identifier -> audit event name mapping 2017-03-27 10:38:53 +00:00
audit_dtrace.c Add an experimental DTrace audit provider, which allows users of DTrace to 2017-03-29 19:58:00 +00:00
audit_ioctl.h
audit_pipe.c Move the funsetown(9) call from audit_pipe_close() to cdevpriv 2016-01-13 14:02:07 +00:00
audit_private.h Add an experimental DTrace audit provider, which allows users of DTrace to 2017-03-29 19:58:00 +00:00
audit_syscalls.c Introduce an audit event identifier -> audit event name mapping 2017-03-27 10:38:53 +00:00
audit_trigger.c
audit_worker.c Add an experimental DTrace audit provider, which allows users of DTrace to 2017-03-29 19:58:00 +00:00
audit.c Add an experimental DTrace audit provider, which allows users of DTrace to 2017-03-29 19:58:00 +00:00
audit.h Audit the accepted (or rejected) username argument to setlogin(2). 2016-08-20 20:28:08 +00:00
bsm_domain.c Merge from contrib/openbsm to bring the kernel audit bits up to date with OpenBSM 1.2 alpha 4: 2015-12-20 23:22:04 +00:00
bsm_errno.c Remove slightly used const values that can be replaced with nitems(). 2016-04-21 15:38:28 +00:00
bsm_fcntl.c sys: use our nitems() macro when param.h is available. 2016-04-21 19:40:10 +00:00
bsm_socket_type.c sys: use our nitems() macro when param.h is available. 2016-04-21 19:40:10 +00:00
bsm_token.c Merge from contrib/openbsm to bring the kernel audit bits up to date with OpenBSM 1.2 alpha 4: 2015-12-20 23:22:04 +00:00