Este é um resumo das respostas que recebi de Steve Grubb e Paul Moore. A mensagem final no tópico relacionado pode ser vista aqui (link) .
-
Esta regex (
a[[:digit:]+]\[.*\]
) é válida e atualizada? Ou é uma regra desatualizada que não se aplica mais?Este regex não está desatualizado. É usado quando o argumento é muito longo para caber em um único campo como
a4
. Em vez disso, o argumento é dividido em vários campos, então, no final do dia, obtemosa4_len=4 a4[0]=l a4[1]=o a4[2]=n a4[3]=g
em vez de
a4=long
Na verdade, o regex pode ser definido como
a[[:digit:]+]\[[:digit:]+\]
, mas o atual faz o seu trabalho, portanto não há necessidade de corrigi-lo. -
Você poderia me sugerir onde procurar para ver como esses argumentos para o syscall execve são tratados?
Veja kernel / auditsc.c: audit_log_single_execve_arg para detalhes (link) .
-
Você poderia postar um exemplo de um registro com um campo que se encaixa no regex (supondo que o regex seja válido)?
Um exemplo pode ser gerado com o pacote Linux Audittest (link) ou visto aqui em análo antigo do arquivo de auditoria do linux (link) .
Citando Paul Moore:
The kernel generates the EXECVE record in
kernel/auditsc.c:audit_log_execve_info()
and you can find a test for for the EXECVE record in the audit-testsuite (exec_execve).