Provided by: freebsd-manpages_12.2-1_all 

NAME
dtrace_audit — A DTrace provider for tracing audit(4) events
SYNOPSIS
audit:event:aue_*:commit(char *eventname, struct audit_record *ar);
audit:event:aue_*:bsm(char *eventname, struct audit_record *ar, const void *, size_t);
To compile this module into the kernel, place the following in your kernel configuration file:
options DTAUDIT
Alternatively, to load the module at boot time, place the following line in loader.conf(5):
dtaudit_load="YES"
DESCRIPTION
The DTrace dtaudit provider allows users to trace events in the kernel security auditing subsystem,
audit(4). audit(4) provides detailed logging of a configurable set of security-relevant system calls,
including key arguments (such as file paths) and return values that are copied race-free as the system
call proceeds. The dtaudit provider allows DTrace scripts to selectively enable in-kernel audit-record
capture for system calls, and then access those records in either the in-kernel format or BSM format
(audit.log(5)) when the system call completes. While the in-kernel audit record data structure is
subject to change as the kernel changes over time, it is a much more friendly interface for use in D
scripts than either those available via the DTrace system-call provider or the BSM trail itself.
Configuration
The dtaudit provider relies on audit(4) being compiled into the kernel. dtaudit probes become available
only once there is an event-to-name mapping installed in the kernel, normally done by auditd(8) during
the boot process, if audit is enabled in rc.conf(5):
auditd_enable="YES"
If dtaudit probes are required earlier in boot -- for example, in single-user mode -- or without enabling
audit(4), they can be preloaded in the boot loader by adding this line to loader.conf(5).
audit_event_load="YES"
Probes
The audit:event:aue_*:commit() probes fire synchronously during system-call return, giving access to two
arguments: a char * audit event name, and the struct audit_record * in-kernel audit record. Because the
probe fires in system-call return, the user thread has not yet regained control, and additional
information from the thread and process remains available for capture by the script.
The audit:event:aue_*:bsm() probes fire asynchonously from system-call return, following BSM conversion
and just prior to being written to disk, giving access to four arguments: a char * audit event name, the
struct audit_record * in-kernel audit record, a const void * pointer to the converted BSM record, and a
size_t for the length of the BSM record.
IMPLEMENTATION NOTES
When a set of dtaudit probes are registered, corresponding in-kernel audit records will be captured and
their probes will fire regardless of whether the audit(4) subsystem itself would have captured the record
for the purposes of writing it to the audit trail, or for delivery to a auditpipe(4). In-kernel audit
records allocated only because of enabled dtaudit(4) probes will not be unnecessarily written to the
audit trail or enabled pipes.
SEE ALSO
dtrace(1), audit(4), audit.log(5), loader.conf(5), rc.conf(5), auditd(8)
HISTORY
The dtaudit provider first appeared in FreeBSD 12.0.
AUTHORS
This software and this manual page were developed by BAE Systems, the University of Cambridge Computer
Laboratory, and Memorial University under DARPA/AFRL contract (FA8650-15-C-7558) (“CADETS”), as part of
the DARPA Transparent Computing (TC) research program. The dtaudit provider and this manual page were
written by Robert Watson <rwatson@FreeBSD.org>.
BUGS
Because audit(4) maintains its primary event-to-name mapping database in userspace, that database must be
loaded into the kernel before dtaudit probes become available.
dtaudit is only able to provide access to system-call audit events, not the full scope of userspace
events, such as those relating to login, password change, and so on.
Debian April 28, 2019 DTRACE_AUDIT(4)