2.2 subject group

  • Group: subject
  • Defined in: kernel.evman

The security context an operation ran under, carried by every KACS event that has a causing principal. Three components: the effective token, the process it ran in, and the PIP state in force.

The process is the emitter's, under emitter.process, because a kernel access check runs in the caller's own context: the process that acted is the process that wrote the record.

The token and the process are different principals when impersonating. The token is the client's and the process is the server's, so reading the pair as one identity will attribute a client's work to a server or the reverse. subject.token.type is what tells you they have diverged.

The durable GUIDs are not repeated here. emitter.token.guid, emitter.true-token.guid and emitter.process.guid ride in the event header, so they are present on every event whether or not this group is.

Privileges, claims, the restricted-SID list, confinement state and the default DACL are all deliberately absent. Each is unbounded and an event embedding them could grow without limit. Code needing full token state queries the token directly while it still exists; this group is for correlation, not reconstruction.

2.2.1 Fields #

FieldTypeMeaning
subject.token.sidbin.sidThe user SID of the effective token the operation ran under.
subject.token.groupsbin.sid[]The group SIDs carried by the effective token.
subject.token.group-attributesuint.flags[]Per-group attribute bitmasks, positionally parallel to subject.token.groups.
subject.token.integrityuint.integrityThe integrity RID of the effective token.
subject.token.iduint.luidThe token's own LUID, identifying this specific token rather than the logon session it belongs to.
subject.token.auth-iduint.luidThe LUID of the logon session the effective token belongs to.
subject.token.typestr.enumWhether the effective token is a primary token or an impersonation token.
subject.token.impersonationuint.enumThe impersonation level of the effective token.
subject.token.uiduintThe Linux UID this token projects onto, for correlating a Peios event with Linux-side audit data.
emitter.process.piduintThe process ID the record was written from.
emitter.process.namestrThe kernel's name for the emitting process, typically the executable's basename.
emitter.process.executablestr.pathThe path the emitting process was executed from, resolved at exec with symbolic links already followed.
subject.pip.typeuint.enumThe Protected Isolated Process type in force for the access check.
subject.pip.trustuintThe PIP trust level in force for the access check.

2.2.2 Carried by #

Generated from kernel.evman by pkm/tools/gen-events-book.py. Edit the fragment, not this page.

Edit this page