核心概念:系统日志对象连接图
- 定义:系统日志对象连接图是用于表示计算机系统内部逻辑对象及之间关联的数据结构。其数学表达可以写为
G = <V, E>
,其中V
为顶点的集合,E
为边的集合,具体如下:- 顶点(V):逻辑对象包括进程、文件、网络套接字;
- 边(E):上述对象之间的关系;
- 属性函数(Attr(e, f)):用于对图结构中元素
e
(可以是顶点或边)的属性字段f
赋值。
- 举例:本文的实验所使用的事件发生器运行在 Linux 系统上,其支持的事件所导出的顶点和边的类型为:
- Attr(v, ‘type’) 取值于集合 {进程,文件/管道,文件系统,网络套接字,服务,内核模块};
- Attr(e, ‘type’) 取值于集合 {进程派生,进程访问,文件/管道创建,文件读写,文件属性修改,文件软硬链接创建,挂载文件系统,从(向)套接字读取(写入)数据,修改系统服务状态,加载/卸载内核模块}。
- 具体例子:对于事件发生器所生成的日志条目,我们可以将日志中事件的主体和客体转化为顶点,将事件中的行为动作转化为将主、客体顶点连接起来的边。。例如现有这样一个日志条目,“于 t 时刻,进程 p 从文件 m 中读取了一段数据”,我们可以将 p 和 m 分别作为一个顶点,而他们之间的边代表着 读取 这一动作,用 r 来表示,且有
Attr(r, 'type') = t
。