auditdを使用してプロセスとすべての子孫で実行されたすべてのシステムコールを記録する方法

auditdを使用してプロセスとすべての子孫で実行されたすべてのシステムコールを記録する方法

私はできます。

auditctl -a always,exit -S all -F pid=1234

pid 1234 によって完了したすべてのシステムコールを記録します。

auditctl -a always,exit -S all -F ppid=1234

子供の場合、孫とその子供(現在と未来)をどのように保護しますか?

私は(e)uid /(e)gidの変更に頼ることはできません。

strace(使用もオプションではありませんのでご注意ください)

答え1

いくつかの提案をしただけで、今すぐ試してみる方法はありません...ただ投稿自体から推測するだけです。

解決策の提案は次のとおりです。

最上位のプロセスIDが$ pidにあり、ps -TプロセスツリーもLinuxに提供されているとします(今はLinuxにアクセスできません)。

for eachpid in $(ps -T "$pid" | awk '{print $1}' | grep -v 'PID')
do
   auditctl -a always,exit -S all -F pid=$eachpid  >somelog_${eachpid}.log 2>&1
done

もちろんps -T "$pid"、Linuxで動作しない場合は、Linuxに対応するものに置き換えてください(または、「pstree -p」出力をawk-ingして見つけた場合、pidは角かっこの間に表示されます)。

関連情報