[发明专利]内核钩子函数保护方法、装置、设备以及存储介质有效
申请号: | 201811163052.5 | 申请日: | 2018-09-30 |
公开(公告)号: | CN109446755B | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 章隆兵;王剑;肖俊华 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F21/56 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 张子青;刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内核 钩子 函数 保护 方法 装置 设备 以及 存储 介质 | ||
本发明提供的一种内核钩子函数保护方法、装置、设备以及存储介质,该方法包括:根据针对钩子函数的访存指令中包含的访存信息,对访存指令进行检测,确定访存指令为非正常访问指令或者正常访问指令,若访存指令是非正常访问指令,则对访存指令进行报警。本方案减少了内核钩子函数保护的系统开销,且具有保护全面和难以绕开的特点。
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种内核钩子函数保护方法、装置、设备以及存储介质。
背景技术
目前,计算机安全受到越来越多的关注。由于计算机系统是复杂的软硬件系统,漏洞的存在几乎是不可避免的,针对各种漏洞的攻击行为为计算机系统带来很大的安全隐患。
其中,内核钩子函数攻击就是攻击者利用Size漏洞覆盖内核中钩子函数结构中的钩子函数指针,从而导致恶意代码被执行引发提权。全反夹式(full-nelson)攻击就是一种典型内核钩子函数攻击,通过改变堆上的内核控制依赖数据(函数钩子),劫持了内核控制流,进而调用敏感函数完成提权攻击。目前,已有的内核钩子函数保护方法大致有3种,包括:基于纯软件的HookScout、基于虚拟机技术的HookSafe和利用英特尔(Intel)管态模式访问保护机制SMAP(Supervisor mode access prevention)的基于硬件的内核钩子函数保护方法。
但是,现有技术针对内核钩子函数的保护方法存在保护方法系统开销大、保护不完备和易于被绕开的缺点。
发明内容
本发明提供一种内核钩子函数保护方法、装置、设备以及存储介质,拟克服现有技术中保护方法系统开销大、保护不完备和易于被绕开的缺点。
第一方面,本发明提供一种内核钩子函数的保护方法,包括:
接收访存指令;其中,所述访存指令用于对钩子函数执行访存操作,且所述访存指令中包含访存信息;
根据所述访存信息和内存访问控制区域,对所述访存指令进行检测,判断所述访存指令为非正常访问指令或者正常访问指令;所述内存访问控制区域为预先配置的存储区域,且所述内存访问控制区域用于存储所述钩子函数的指针;
若所述访存指令是非正常访问指令,则对所述访存指令进行报警。
进一步的,所述方法还包括:
若所述访存指令是正常访问指令,则获取所述内存访问控制区域中存储的所述钩子函数的指针;
根据获取的所述钩子函数的指针,对所述钩子函数进行访问。
在一种具体的实现方式中,所述访存指令的信息包括:所述访存指令的操作码和要访存的地址,则根据所述访存信息和内存访问控制区域,对所述访存指令进行检测,判断所述访存指令为非正常访问指令或者正常访问指令,包括:
若所述地址在所述内存访问控制区域内,且根据所述访存指令的操作码确定所述访存指令是预设指令,则所述访存指令为正常访问指令;
若所述地址不在所述内存访问控制区域内,且根据所述访存指令的操作码确定所述访存指令是预设指令,则所述访存指令为非正常访问指令;
若所述地址在所述内存访问控制区域内,且根据所述访存指令的操作码确定所述访存指令不是预设指令,则所述访存指令为非正常访问指令。
具体的,所述预设指令包括特定读指令和特定写指令。
具体的,接收访存指令之前,所述方法还包括:
配置所述内存访问控制区域;
在所述内存访问控制区域内分配预设大小的空间,并将钩子函数的指针存储在所述内存访问控制区域内分配的空间中,生成空间指针;其中,所述空间指针为指向所述内存访问控制区域内为所述钩子函数分配的空间的指针;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811163052.5/2.html,转载请声明来源钻瓜专利网。