a[[:digit:]+]\[.*\]
我能够找到像a4
and这样的字段的例子a5
(参见2)但它不适合正则表达式,它似乎需要一对方括号(所以a4
应该是a4[]
or a4[foo]
)。我在 Linux Audit 源代码中找不到任何参考。
我的问题是
- 这个正则表达式有效并且是最新的吗?或者这是一条不再适用的过时规则?
- 您能否建议我在哪里查看 execve 系统调用的这些参数是如何处理的?
- 您能否发布一个包含适合正则表达式的字段的记录示例(假设正则表达式有效)?
链接
- https://github.com/linux-audit/audit-documentation/blob/master/specs/fields/field-dictionary.csv#L3
- https://www.redhat.com/archives/linux-audit/2012-October/msg00090.html
注意:这个问题也在 Linux Audit 邮件列表上被问到,但我还没有收到任何反馈。
答案1
这是我从 Steve Grubb 和 Paul Moore 收到的答案的摘要。最终消息可以在相关线程中查看这里(链接)。
此正则表达式 (
a[[:digit:]+]\[.*\]
) 是否有效且是最新的?或者这是一条不再适用的过时规则?这个正则表达式并没有过时。当参数太长而无法放入单个字段(如 )时使用它
a4
。相反,参数被分成多个字段,因此最终我们得到a4_len=4 a4[0]=l a4[1]=o a4[2]=n a4[3]=g
代替
a4=long
事实上,正则表达式可以定义为,
a[[:digit:]+]\[[:digit:]+\]
但当前的正则表达式已完成其工作,因此无需修复它。您能否建议我在哪里查看 execve 系统调用的这些参数是如何处理的?
您能否发布一个包含适合正则表达式的字段的记录示例(假设正则表达式有效)?
可以使用以下命令生成一个示例Linux Audittest 套件(链接)或在这里看到来自 linux 审计档案的旧电子邮件(链接)。
引用保罗·摩尔的话:
内核生成 EXECVE 记录
kernel/auditsc.c:audit_log_execve_info()
,您可以在以下位置找到 EXECVE 记录的测试:审计测试套件(exec_execve)。