Page 332 - 《软件学报》2021年第10期
P. 332

3304                                 Journal of Software  软件学报 Vol.32, No.10, October 2021

                 此处仅截取部分进程信息.图 9(a)为某一时刻 TVM 中进程视图,图 9(c)为同一时刻 VMOffset 在 TVM 外部重构
                 所得进程视图,可见两者的结果是一致的.进程视图的重构可用于检测隐藏进程,因此本节在 TVM 中编译安装
                 Adore-ng 工具,隐藏 pid 为 28 的进程.隐藏后,TVM 中进程视图如图 9(b)所示,其中,28 号进程已被隐藏.而
                 VMOffset 重构视图仍与图 9(c)一致,其中显示了被隐藏的进程 crypto.可见:VMOffset 可自动实现 TVM 中进程
                 信息的语义重构,且通过对比重构所得进程视图与 TVM 内部进程视图,可以有效地发现 TVM 中的隐藏进程.























                        (a)  初始 TVM 内部视图             (b)  隐藏进程后 TVM 内部视图       (c)  初始&隐藏进程后 TVM 外部重构视图
                                        Fig.9    Process view introspection results of VMOffset
                                              图 9   VMOffset 进程视图自省结果

                    除了重构 TVM 中的进程视图外,VMOffset 还可重构 TVM 中指定进程的代码段,代码段的获取可用于入侵
                 检测,如通过验证代码段的完整性可判断该进程是否被恶意篡改.本节参考 VMPMS                           [26] 提出的进程代码段分页
                 式度量方法,基于 VMOffset 所得进程偏移量,在 TVM 外部开发用户层工具实现对 TVM 中指定进程的代码段完
                 整性度量.以 Apache 服务进程 httpd 为例,图 10 为其度量结果.图 10(a)为 httpd 进程正常运行状态下的度量结果,
                 基值通过对 SVM 中 httpd 进程代码段各页进行 SHA256 运算得到.图 10(b)为模拟攻击后 httpd 进程度量结果,
                 对比可见:模拟攻击后进程名称和代码页地址等语义信息并无变化,但代码页的度量值发生了改变,如 126~128
                 等页.可见:VMOffset 可有效重构 TVM 中指定进程的代码段,且可实现其代码段的完整性度量,判断该进程是否
                 被恶意篡改.
















                              (a)  正常进程度量结果                                    (b)  模拟攻击后进程度量结果
                                 Fig.10    VMOffset measurement result of process code segment in TVM
                                        图 10  VMOffset 对 TVM 中进程代码段的度量结果
   327   328   329   330   331   332   333   334   335   336   337