发明名称 一种主机内核数据还原保护方法
摘要 本发明公开了一种主机内核数据还原保护方法,分为两个部分,分别为:建立内核数据还原方法系统和设计内核数据主动保护原型系统,在实现内核数据还原之前,首先需要获取内核数据,并对其进行相应的处理,包括分析及重组排序,并基于内核数据的保护原理,设计一个采用硬件虚拟化的内核数据主动保护原型系统:HV_KDAP,HV_KDAP旨在保护内核数据、代码和相关寄存器,防止恶意代码对其进行窜改,并兼容操作系统其他功能的正常运行,采用基于内存预先分配的主动内存管理方法,并提供一组用户接口API函数库,供用户在源程序中调用,以满足高可靠系统对软件容错的要求,直接利用硬件虚拟化技术实现内核的完整性保护,以扩大该技术的应用范围。
申请公布号 CN106096455A 申请公布日期 2016.11.09
申请号 CN201610637293.3 申请日期 2016.08.08
申请人 王波 发明人 王波
分类号 G06F21/62(2013.01)I;G06F21/52(2013.01)I;G06F21/56(2013.01)I 主分类号 G06F21/62(2013.01)I
代理机构 代理人
主权项 一种主机内核数据还原保护方法,其特征在于,分为两个部分,分别为:建立内核数据还原方法系统和设计内核数据主动保护原型系统,A、建立内核数据还原方法系统如下:步骤A1、内核数据包的捕获:内核利用通用块层启动I/O操作来请求所请求的数据,每次I/O操作是由一个“块I/O”(简称bio)结构描述,它收集底层组件需要的所有信息以满足所发出的请求,在数据捕获模块中我们正是对系统提交的bio数据进行拷贝从而实现对数据的捕获;步骤A2、数据包分析:通过RTP传输多种不同编码标准的数据,数据包分析的任务就是提取出RTP协议的载荷类型字段并进行分析,从而获得数据包中所含数据的编码标准;步骤A3、数据重排序:RTP首部含有两个可用于数据包重排序的字段,序列号字段和时间戳字段,这里用二元组(S,T)表示,通过比较二元组(S,T),即可对所捕获到的一组数据包实现RTP重排序;步骤A4、内核数据保存及还原:采用基于内存预先分配的主动内存管理方法,并提供一组用户接口API函数库,供用户在源程序中调用,以满足高可靠系统对软件容错的要求,称之为用户层任务恢复中间件,在内核映像bss段开辟一块较大的内存,将任务恢复过程中内存地址可能变化的对象统一进行分配和释放,在设置检查点时,将主动内存管理中使用的数据空间复制到持久存储器,在任务恢复时再原样装载到系统内存,实现内核数据的还原;B、设计内核数据主动保护原型系统:步骤B1、基于内核数据的保护原理,设计一个采用硬件虚拟化的内核数据主动保护原型系统:HV_KDAP;HV_KDAP旨在保护内核数据、代码和相关寄存器,防止恶意代码对其进行窜改,并兼容操作系统其他功能的正常运行,HV_KDAP包括4个模块: AddrFounder组件用于初始化地址表AddrTable;Configurer组件用于初始化内存对象的PTE属性及VMCS设置;VMCheck组件用于决定如何处理,包括转发正常操作及调用;VMProtect组件执行保护;步骤B2、在系统初始化阶段,由AddrFounder组件获得内存对象的地址段,并保存入地址表AddrTable;而后Configurer组件设置VMCS以配置IntelVT监控框架,同时设置内存对象的PTE属性;步骤B3、系统运行过程中,VMCheck组件和VMProtect组件对保护对象协同提供保护,VMCheck组件处理VM Exit事件,转发正常操作,对恶意操作调用VMProtect组件,VMProtect组件检查操作所属模块以及所改写的内核对象,向用户报告窜改操作并将恶意模块卸载恢复系统运行。
地址 610039 四川省成都市郫县红光镇广场路西华苑9-2