freebsd-skq/sys/modules/dtrace
rwatson 67c4e33a20 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
..
dtaudit Add an experimental DTrace audit provider, which allows users of DTrace to 2017-03-29 19:58:00 +00:00
dtmalloc sys/modules: normalize .CURDIR-relative paths to SRCTOP 2017-03-04 10:10:17 +00:00
dtnfscl sys/modules: normalize .CURDIR-relative paths to SRCTOP 2017-03-04 10:10:17 +00:00
dtrace sys/modules: normalize .CURDIR-relative paths to SRCTOP 2017-03-04 10:10:17 +00:00
dtrace_test sys/modules: normalize .CURDIR-relative paths to SRCTOP 2017-03-04 10:10:17 +00:00
dtraceall sys/modules: normalize .CURDIR-relative paths to SRCTOP 2017-03-04 10:10:17 +00:00
fasttrap sys/modules: normalize .CURDIR-relative paths to SRCTOP 2017-03-04 10:10:17 +00:00
fbt sys/modules: normalize .CURDIR-relative paths to SRCTOP 2017-03-04 10:10:17 +00:00
profile sys/modules: normalize .CURDIR-relative paths to SRCTOP 2017-03-04 10:10:17 +00:00
prototype sys/modules: normalize .CURDIR-relative paths to SRCTOP 2017-03-04 10:10:17 +00:00
sdt sys/modules: normalize .CURDIR-relative paths to SRCTOP 2017-03-04 10:10:17 +00:00
systrace sys/modules: normalize .CURDIR-relative paths to SRCTOP 2017-03-04 10:10:17 +00:00
systrace_freebsd32 sys/modules: normalize .CURDIR-relative paths to SRCTOP 2017-03-04 10:10:17 +00:00
systrace_linux sys/modules: normalize .CURDIR-relative paths to SRCTOP 2017-03-04 10:10:17 +00:00
systrace_linux32 sys/modules: normalize .CURDIR-relative paths to SRCTOP 2017-03-04 10:10:17 +00:00
Makefile Add an experimental DTrace audit provider, which allows users of DTrace to 2017-03-29 19:58:00 +00:00
Makefile.inc Implement the lockstat provider using SDT(9) instead of the custom provider 2015-07-19 22:14:09 +00:00