买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种不触发系统保护的内核挂钩方法_云袭网络技术河北有限公司_202010620502.X 

申请/专利权人:云袭网络技术河北有限公司

申请日:2020-06-30

公开(公告)日:2023-05-23

公开(公告)号:CN111767119B

主分类号:G06F9/455

分类号:G06F9/455

优先权:

专利状态码:有效-授权

法律状态:2023.05.23#授权;2020.10.30#实质审查的生效;2020.10.13#公开

摘要:本发明公开了一种不触发系统保护的内核挂钩方法,包括读取并保存MSR中原始MSR_LSTAR函数地址,并将MSR_LSTAR地址写入到驱动程序的全局变量中;组织挂钩数据并调用VMCALL指令传入虚拟机管理器中;虚拟机管理器保存挂钩数据以及虚拟机管理器中原始MSR_LSTAR函数地址,并修改原始MSR_LSTAR函数地址为挂钩地址;SYSCALL指令切入到挂钩地址,判断参数和系统服务描述表索引是否为挂钩的系统服务描述表函数,不是则返回至全局变量中,否则执行挂钩函数。本发明能够对所有系统函数做挂钩操作,使系统内核防护监测不到内核挂钩,能够兼容所有具有vt‑x特性的intelCPU的系统,不限于32位还是64位操作系统。

主权项:1.一种不触发系统保护的内核挂钩方法,其特征在于,包括:步骤一:读取并保存MSR中原始MSR_LSTAR函数地址,并将MSR_LSTAR函数地址写入到驱动程序的全局变量KiSystemCall64Ptr中;步骤二:组织挂钩数据并调用VMCALL指令传入虚拟机管理器中,调用VMCALL指令传递挂钩数据到VMM中,把HOST中的数据先传入VMM,VMM记录到内部维护的全局变量里,当GUEST被触发时可以通过VMM的变量直接写入到GUEST中;步骤三:虚拟机管理器保存挂钩数据以及虚拟机管理器中原始MSR_LSTAR函数地址,利用挂钩数据修改虚拟机管理器中原始MSR_LSTAR函数地址为挂钩地址;调用VMCALL指令时会触发VMM的VmExitVmCall退出动作,由VMCALL指令导致的虚拟机退出事件,就是在这里记录下由步骤二传入的挂钩数据;步骤四:SYSCALL指令切入到挂钩地址,判断传入的参数和系统服务描述表索引是否为挂钩的系统服务描述表函数,如果不是,则返回至全局变量KiSystemCall64Ptr中,否则执行挂钩函数;在SyscallEntryPoint中判断SSDTIndex是否在MAX_SYSCALL_INDEX的SSDT下标中,如果不是的话,返回步骤一中记录下的原始的KiSystemCall64Ptr函数不做任何处理,是则调入处理函数中,在处理函数中完成对参数的判断,所需要数据的获取如果判断失败还是执行KiSystemCall64Ptr,如果成功则执行注册到全局变量HookTable中对应SSDTIndex的HookFuncAddr,HookFuncAddr为挂钩函数;VT框架包括VmExitMSRRead和VmExitMSRWrite退出动作,当HOST访问MSR_LSTAR时,其中就包括PG的检测访问,就会触发到VmExitMSRRead和VmExitMSRWrite的读和写中,当读MSR_LSTAR时,返回步骤三中VMM中的原始MSR_LSTAR地址,当写时把传过来地址更新到VMM记录原始MSR_LSTAR的变量中,恢复时直接恢复此地址,从而达到了避免被PG检测的目的。

全文数据:

权利要求:

百度查询: 云袭网络技术河北有限公司 一种不触发系统保护的内核挂钩方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。