linux系统调用getpid()产生的Auditd日志中,主体和客体分别是什么,如何将getpid()的日志记录转换为节点和边之间的关系,getpid()日志记录中会生成几个节点,几条边。日志记录中的哪些信息可以表述主体,哪些信息能够表示客体。日志中怎么提取内核信息。
时间: 2024-02-15 22:03:43 浏览: 82
在Auditd日志中,getpid()系统调用产生的日志记录如下:
```
type=SYSCALL msg=audit(1617681373.853:8695): arch=c000003e syscall=39 success=yes exit=111 a0=0 a1=0x7ffe9e3f9d70 a2=0 a3=0x7f1e6c000ad0 items=0 ppid=15216 pid=17940 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=4 comm="python3" exe="/usr/bin/python3.8" key=(null)
```
在这个日志记录中,主体是执行系统调用的进程,客体是系统调用本身。具体来说:
- 主体:调用该系统调用的进程,即exe字段指定的程序,以及该进程的相关信息,如ppid、pid、auid、uid、gid等。
- 客体:系统调用getpid()。
将getpid()系统调用的日志记录转换为节点和边之间的关系,可以将进程作为一个节点,系统调用作为另一个节点,二者之间可以用"执行"等关系连边。例如,可以表示为"进程-执行->系统调用"。
在getpid()系统调用的日志记录中,会生成两个节点(进程节点和系统调用节点),以及一条边(进程-执行->系统调用)。因此,getpid()系统调用的日志记录可以表示为一个二元组 (进程节点,执行,系统调用节点)。
在该日志记录中,可以通过以下字段提取内核信息:
- arch:系统架构
- syscall:系统调用号
- success:系统调用是否成功
- exit:系统调用返回值
- a0, a1, a2, a3:系统调用参数
这些信息可以帮助我们分析系统调用的行为和影响。
阅读全文