Security
Linux 審計標準中定義 execve 系統呼叫參數的正則表達式是否仍在使用?
根據欄位字典[ 1 ],有些欄位的名稱由以下正則表達式定義:
a[[:digit:]+]\[.*\]
我能夠找到像
a4
anda5
(參見2)這樣的欄位範例,但它不適合似乎需要一對方括號的正則表達式(所以a4
應該是a4[]
ora4[foo]
)。我在 Linux 審計原始碼中找不到任何參考。我的問題是
- 這個正則表達式是否有效且是最新的?或者它是一個不再適用的過時規則?
- 您能否建議我在哪裡查看 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 郵件列表上也有人問過這個問題,但我還沒有收到任何回饋。
這是我從 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:]+\]
但目前的正則表達式完成了它的工作,因此無需修復它。 2. 您能否建議我在哪裡查看 execve 系統呼叫的這些參數是如何處理的?有關詳細資訊(連結),請參見kernel/auditsc.c:audit_log_single_execve_arg。 3. 您能否發布一個包含適合正則表達式的欄位的記錄範例(假設正則表達式有效)?
可以使用Linux Audittest 套件(連結)生成一個範例,或者在來自 linux 審計存檔(連結)的舊電子郵件中查看此處。
引用保羅摩爾的話:
核心在其中生成 EXECVE 記錄 ,您可以在審計測試套件(exec_execve)
kernel/auditsc.c:audit_log_execve_info()
中找到針對 EXECVE 記錄的測試。