[发明专利]计算机安全防护方法、芯片、设备以及存储介质有效
申请号: | 201910945955.7 | 申请日: | 2019-09-30 |
公开(公告)号: | CN112580052B | 公开(公告)日: | 2023-05-30 |
发明(设计)人: | 章隆兵;李亚伟;张福新;王剑;肖俊华;汪文祥 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 杨俊辉;刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算机 安全 防护 方法 芯片 设备 以及 存储 介质 | ||
本发明提供一种计算机安全防护方法、芯片、设备以及存储介质。该方法应用于芯片,该芯片上设置有处理器核和硬件监督模块,对改变程序控制流的攻击防护中,该方法包括:响应于处理器核运行程序,并执行至程序中的跳转指令时,将跳转指令对应的跳转参数发送给硬件监督模块,硬件监督模块根据PC值、跳转目标地址以及内部记录结构,得到安全检查结果,处理器核根据所述安全检查结果,执行对应的操作,通过软硬件协同,对跳转指令的执行进行实时安全监督,实现了对多种改变程序控制流攻击的有效检测和防护,有效减小了因检测改变程序控制流攻击带来的较大的系统性能开销。
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种计算机安全防护方法、芯片、设备以及存储介质。
背景技术
目前,计算机安全问题受到越来越多的关注。由于计算机系统是复杂的软硬件系统,漏洞的存在几乎是不可避免的,攻击者通过各种漏洞对计算机进行攻击;其中,基于内存错误漏洞的攻击是一种软件层面发起的攻击,通过改变程序控制流,执行攻击代码,导致整个计算机系统的最高权限被攻击者获取,带来极大的安全危害。
因此,基于内存错误漏洞的攻击可以看做是属于改变程序控制流的攻击,包括缓冲区溢出攻击、返回共享库攻击(Return-to-libc,Ret2libc)、返回导向编程攻击(ReturnOriented Programming,ROP)。现有技术中,针对改变程序控制流的攻击,主要采用基于控制流保护的方法,例如控制流完整性(Control Flow Integrity,CFI)和控制流防护技术(Control Flow Guard,CFG),通过软件实现对每个跳转目标地址进行检验,确定跳转指令的合法性。
然而,基于控制流保护的方法主要是采用纯软件的方法,在程序执行时检查跳转目标地址的合法性,会造成较大的性能损失。
发明内容
本发明提供一种计算机安全防护方法、芯片、设备以及存储介质,为针对改变程序控制流攻击提供完善的防护,减少了性能损耗。
第一方面,本发明提供一种计算机安全防护方法,应用于芯片对改变程序控制流的攻击防护中,所述芯片上设置有处理器核和硬件监督模块,所述方法包括:
响应于处理器核运行程序,并执行至所述程序中的跳转指令时,将所述跳转指令对应的跳转参数发送给所述硬件监督模块;所述跳转参数包括程序计数器PC值和跳转目标地址;
所述硬件监督模块根据所述PC值、所述跳转目标地址以及内部记录结构,得到安全检查结果;所述内部记录结构用于记录符合安全规则的跳转指令对应的跳转参数;
所述处理器核根据所述安全检查结果,执行对应的操作。
在一种具体的实现方式中,所述安全检查结果包括正常和例外,则所述处理器核根据所述安全检查结果,执行对应的操作,包括:
若所述安全检查结果为正常,则所述处理器核继续运行所述程序;
若所述安全检查结果为例外,则所述处理器核对所述跳转指令进行安全规则检查;所述安全规则检查用于确定所述跳转指令是否为安全跳转指令。
进一步地,所述硬件监督模块根据所述PC值、所述跳转目标地址以及内部记录结构,得到安全检查结果,包括:
根据所述PC值和所述跳转目标地址,生成跳转行为描述标记;
根据所述跳转行为描述标记,在内部记录结构中记录的符合安全规则的跳转指令对应的跳转参数中进行查找;
若所述内部记录结构中存在与所述跳转行为描述标记对应的跳转参数,则所述安全检查结果为正常;
若所述内部记录结构中不存在与所述跳转行为描述标记对应的跳转参数,则所述安全检查结果为例外。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910945955.7/2.html,转载请声明来源钻瓜专利网。