On 2023/08/07 7:01, Steve Grubb wrote: > This is where the problem begins. We like to have normalized audit records. > Meaning that a type of event defines the fields it contains. In this case > subject would be a process label. and there is already a precedent for what > fields belong in a syscall record.
What is the definition of "a process label"? SELinux / Smack / AppArmor are using security_secid_to_secctx() hook for providing string data for the subj= field. I don't think that they are restricting characters that can be included. Then, what is wrong with returning subset of ASCII printable characters from tt_secid_to_secctx() ? static int selinux_secid_to_secctx(u32 secid, char **secdata, u32 *seclen) { return security_sid_to_context(secid, secdata, seclen); } static int smack_secid_to_secctx(u32 secid, char **secdata, u32 *seclen) { struct smack_known *skp = smack_from_secid(secid); if (secdata) *secdata = skp->smk_known; *seclen = strlen(skp->smk_known); return 0; } int apparmor_secid_to_secctx(u32 secid, char **secdata, u32 *seclen) { /* TODO: cache secctx and ref count so we don't have to recreate */ struct aa_label *label = aa_secid_to_label(secid); int flags = FLAG_VIEW_SUBNS | FLAG_HIDDEN_UNCONFINED | FLAG_ABS_ROOT; int len; AA_BUG(!seclen); if (!label) return -EINVAL; if (apparmor_display_secid_mode) flags |= FLAG_SHOW_MODE; if (secdata) len = aa_label_asxprint(secdata, root_ns, label, flags, GFP_ATOMIC); else len = aa_label_snxprint(NULL, 0, root_ns, label, flags); if (len < 0) return -ENOMEM; *seclen = len; return 0; } > > What I would suggest is to make a separate record: AUDIT_PROC_TREE that > describes process tree from the one killed up to the last known parent. This > way you can define your own format and SYSCALL can stay as everyone expects > it > to look. In the EXECVE audit record, there is a precedent of using agv[0]=xx > argv[1]=xx argv[2]=yy and so on. If you want to make these generally > parsable without special knowledge of the record format, I'd suggest > something like it. Yes, https://lkml.kernel.org/r/201501202220.djj34834.oljohfmqoft...@i-love.sakura.ne.jp used AUDIT_PROCHISTORY instead of LSM hooks, but that thread died there. -- Linux-audit mailing list Linux-audit@redhat.com https://listman.redhat.com/mailman/listinfo/linux-audit