[发明专利]一种基于硬件机制的内核控制流异常检测方法有效
申请号: | 201710674436.2 | 申请日: | 2017-08-09 |
公开(公告)号: | CN107506638B | 公开(公告)日: | 2020-10-16 |
发明(设计)人: | 曾庆凯;焦贺贺 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F11/36 |
代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 戴朝荣 |
地址: | 210000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 硬件 机制 内核 控制 异常 检测 方法 | ||
一种基于硬件机制的内核控制流异常检测方法,包括以下步骤:进入VMM环境;生成合法跳转目的地址集合;配置VMCS区域;配置LBR;配置PMU;进入VM环境;分支记录验证。通过LBR机制能够在内核运行期间自动记录分支跳转的源地址和目标地址,使检测系统的开销显著降低;通过PMU机制能够在LBR记录写满时产生NMI中断,使检测系统不会出现遗漏分支跳转的情况;通过硬件虚拟化机制捕捉NMI中断,并对记录进行验证,提高系统的安全性。相比于传统的检测系统,本发明能显著提高内核异常控制流检测的安全性和完整性。
技术领域
本发明属于操作系统内核完整性保护领域,具体涉及一种基于硬件机制的内核控制流异常检测方法。
背景技术
操作系统是计算机系统运行的基础,是计算机系统安全运行的根本,如果操作系统的安全得不到保障,那么整个计算机系统都将处于危险之中。当前,典型的计算机操作系统普遍采用不安全的程序语言编写,内核代码量庞大、数据结构复杂,并且包含有大量第三方内核模块,造成现代操作系统普遍存在大量的漏洞和错误,使攻击者有了可乘之机。在针对操作系统内核的攻击方式中,控制流劫持攻击是最为常见的一种形式。控制流劫持攻击利用内核漏洞劫持内核的控制流,使内核控制流转到恶意代码处执行。针对控制流劫持攻击,可以通过检测内核运行是否存在异常控制流来防御。然而,目前的内核异常控制流检测方法在检测过程中普遍存在着系统不安全、检测不完整和性能开销大等问题,影响着检测方法的适用性。
发明内容
本发明的针对现有技术中的不足,提供一种基于硬件机制的内核控制流异常检测方法。
为实现上述目的,本发明采用以下技术方案:
一种基于硬件机制的内核控制流异常检测方法,其特征在于,包括以下步骤:
进入VMM环境:在Intel处理器启动后进行配置,使系统进入VMM环境执行;
生成合法跳转目的地址集合:通过对目标操作系统内核进行解析,并运行预先准备的测试程序,分别产生三种指令的合法跳转目的地址集合,三种指令的合法跳转目的地址集合分别为call指令合法跳转目的地址集合、jump指令合法跳转目的地址集合和ret指令合法跳转目的地址集合;
配置VMCS区域:配置目标操作系统运行的VMCS区域,使其能够捕捉记录写满时产生的不可屏蔽中断,设置此不可屏蔽中断的中断处理程序地址;
配置LBR:配置控制着LBR机制行为方式的IA32_DEBUGCTL寄存器和IA32_LASTBRANCH_TOS寄存器,使LBR在系统运行期间记录所需的分支跳转的源地址和目的地址;
配置PMU:配置控制着PMU机制行为方式的IA32_PMCI寄存器和IA32_PERFEVTSEL1寄存器,使其在LBR写满时产生一个不可屏蔽中断;
进入VM环境:使系统进入VM环境,目标操作系统开始执行,硬件机制自动记录分支跳转;
分支记录验证:根据跳转指令类型的不同,比较跳转目的地址是否在相应的合法跳转目的地址集合中,如果在,则为合法跳转,否则,为异常控制流,系统发出警报。
为优化上述技术方案,采取的具体措施还包括:
所述进入VMM环境的过程包括:检测处理器是否支持VMX架构;开启VMX进入允许;分配VMXON区域地址空间;初始化VMXON区域;进入VMX模式,检查执行是否成功。
所述生成合法跳转目的地址集合的过程包括:收集内核函数入口地址;运行预先准备的测试程序;根据测试程序的执行情况设置白名单;生成call指令合法跳转目的地址集合;生成jump指令合法跳转目的地址集合;生成ret指令合法跳转目的地址集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710674436.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:信息展示方法和装置、终端及可读存储介质
- 下一篇:一种应用管控方法和装置