[发明专利]处理器和空指针攻击检测方法有效
申请号: | 201710781077.0 | 申请日: | 2017-09-01 |
公开(公告)号: | CN109426739B | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 章隆兵;肖俊华;吴瑞阳;王剑 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F21/76 | 分类号: | G06F21/76 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 杨泽;刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器 指针 攻击 检测 方法 | ||
本发明提供一种处理器和空指针攻击检测方法,其中,该处理器包括:侦听逻辑,用于侦听处理器的访存逻辑,获取访存逻辑发出的访存虚拟地址;判断逻辑,用于根据侦听逻辑获取的虚拟地址确定处理器是否受到空指针攻击。本发明提供的技术方案可以避免基于零页内存分配的空指针攻击,同时提高空指针攻击检测效率,并提高防御可靠度。
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种处理器和空指针攻击检测方法。
背景技术
目前,计算机安全越来越受到关注。由于计算机系统是复杂的软硬件系统,漏洞的存在几乎是不可避免的,攻击者往往会找到各种漏洞来进行攻击,造成计算机系统的脆弱性。对于计算机系统的攻击可以分为两种:一种从硬件层面发动的攻击;另一种是利用各种漏洞对计算机系统的攻击,一般是从软件层面发起的攻击,最终的目标是获取系统的最高权限,这也是目前最为主流的攻击类型。
内存漏洞是软件系统层面的漏洞,它会导致整个计算机系统被攻击者控制,危害很大。攻击者利用内存错误漏洞对计算机系统的攻击称为内存错误攻击,空指针攻击即为一种常见的内存错误攻击方法,它是指采用空指针解引用漏洞(null pointerdereference)进行攻击,其主要包含两种方式:(1)利用NULL指针;(2)利用零页内存分配。利用第一种方式攻击通常会引起系统崩溃,造成拒绝服务攻击;第二种方式即为基于零页内存分配的空指针攻击,主要用来实现提升权限,例如,攻击者先将零地址映射到用户空间攻击代码;攻击程序欺骗操作系统内核(kernel)获得一个NULL指针,对该指针的访问使得攻击者可以在内核态执行任意攻击代码,很多病毒都是利用基于零页内存分配的空指针漏洞来实现攻击的。
目前,针对基于零页内存分配的空指针攻击采取的防御方法,一种现有技术是进行程序静态分析,采用代码审计的方式来发现引用了空指针。但是,因为空指针的引用一般不会发生在出现空指针然后直接使用空指针情况,往往是由于代码逻辑比较复杂,空指针解引用的位置会比较远,不容易发现;并且在正常情况下不会触发,只有在特定输入条件下才会引发空指针解引用,因此,这种程序静态分析方法效率低,比较难发现空指针引用。
另外一种现有技术是在操作系统中禁止对零虚拟地址分配物理页,例如微软的Win7、Win8系统中支持了该技术。但该项技术的前提是操作系统自身是可信的,然而实际上,操作系统本身也不完全是可信的;而且在操作系统中禁止对零虚拟地址分配物理页是一种纯软件的技术,缺少必要处理器硬件的支持,比较容易绕过,因此防御可靠度不高。
还有一种现有技术是英特尔Intel管态模式访问保护机制(Supervisor modeaccess prevention,SMAP)。该技术使得处于管态(内核态)的代码不能够访问或者执行用户空间的数据或者代码,可以用来防御基于零页内存分配的空指针攻击。Intel同时定义了AC标志来实现用户态空间的访问控制,当AC标志被置位的时候,SMAP有效;否则内核态可以访问用户态空间,Intel通过两条新指令STAC和CLAC来控制该标志位。SMAP技术是一种软硬件配合的技术,需要软件用指令STAC和CLAC来设置CR4控制寄存器的SMAP标志位,这就使得攻击软件可能绕过这种设置,如果不设置AC标志,SMAP技术就不会起作用,这样不能实现对基于零页内存分配的空指针攻击的防御,因此防御可靠度也不高。
综上,上述三种常用的空指针攻击防御技术,主要基于纯软件或者软硬结合的方式实现,存在检测效率低、防御可靠度不高的技术问题。
发明内容
有鉴于此,本发明提供一种处理器和空指针攻击检测方法,用于提高空指针攻击检测效率,并提高防御可靠度。
为了实现上述目的,第一方面,本发明提供一种处理器,包括:
侦听逻辑,用于侦听处理器的访存逻辑,获取访存逻辑发出的访存虚拟地址;
判断逻辑,用于根据侦听逻辑获取的虚拟地址确定处理器是否受到空指针攻击。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710781077.0/2.html,转载请声明来源钻瓜专利网。