CN109426739B - 处理器和空指针攻击检测方法 - Google Patents
处理器和空指针攻击检测方法 Download PDFInfo
- Publication number
- CN109426739B CN109426739B CN201710781077.0A CN201710781077A CN109426739B CN 109426739 B CN109426739 B CN 109426739B CN 201710781077 A CN201710781077 A CN 201710781077A CN 109426739 B CN109426739 B CN 109426739B
- Authority
- CN
- China
- Prior art keywords
- processor
- null pointer
- logic
- attacked
- virtual address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 24
- 238000012544 monitoring process Methods 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 27
- 230000007123 defense Effects 0.000 abstract description 15
- 101000794020 Homo sapiens Bromodomain-containing protein 8 Proteins 0.000 description 5
- 101001006782 Homo sapiens Kinesin-associated protein 3 Proteins 0.000 description 5
- 101000615355 Homo sapiens Small acidic protein Proteins 0.000 description 5
- WGKGADVPRVLHHZ-ZHRMCQFGSA-N N-[(1R,2R,3S)-2-hydroxy-3-phenoxazin-10-ylcyclohexyl]-4-(trifluoromethoxy)benzenesulfonamide Chemical compound O[C@H]1[C@@H](CCC[C@@H]1N1C2=CC=CC=C2OC2=C1C=CC=C2)NS(=O)(=O)C1=CC=C(OC(F)(F)F)C=C1 WGKGADVPRVLHHZ-ZHRMCQFGSA-N 0.000 description 5
- 102100021255 Small acidic protein Human genes 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 102400000303 Collagen-like Alzheimer amyloid plaque component Human genes 0.000 description 2
- 101800001122 Collagen-like Alzheimer amyloid plaque component Proteins 0.000 description 2
- 101000880310 Homo sapiens SH3 and cysteine-rich domain-containing protein Proteins 0.000 description 2
- 102100037646 SH3 and cysteine-rich domain-containing protein Human genes 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241000209202 Bromus secalinus Species 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种处理器和空指针攻击检测方法,其中,该处理器包括:侦听逻辑,用于侦听处理器的访存逻辑,获取访存逻辑发出的访存虚拟地址;判断逻辑,用于根据侦听逻辑获取的虚拟地址确定处理器是否受到空指针攻击。本发明提供的技术方案可以避免基于零页内存分配的空指针攻击,同时提高空指针攻击检测效率,并提高防御可靠度。
Description
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种处理器和空指针攻击检测方法。
背景技术
目前,计算机安全越来越受到关注。由于计算机系统是复杂的软硬件系统,漏洞的存在几乎是不可避免的,攻击者往往会找到各种漏洞来进行攻击,造成计算机系统的脆弱性。对于计算机系统的攻击可以分为两种:一种从硬件层面发动的攻击;另一种是利用各种漏洞对计算机系统的攻击,一般是从软件层面发起的攻击,最终的目标是获取系统的最高权限,这也是目前最为主流的攻击类型。
内存漏洞是软件系统层面的漏洞,它会导致整个计算机系统被攻击者控制,危害很大。攻击者利用内存错误漏洞对计算机系统的攻击称为内存错误攻击,空指针攻击即为一种常见的内存错误攻击方法,它是指采用空指针解引用漏洞(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技术就不会起作用,这样不能实现对基于零页内存分配的空指针攻击的防御,因此防御可靠度也不高。
综上,上述三种常用的空指针攻击防御技术,主要基于纯软件或者软硬结合的方式实现,存在检测效率低、防御可靠度不高的技术问题。
发明内容
有鉴于此,本发明提供一种处理器和空指针攻击检测方法,用于提高空指针攻击检测效率,并提高防御可靠度。
为了实现上述目的,第一方面,本发明提供一种处理器,包括:
侦听逻辑,用于侦听处理器的访存逻辑,获取访存逻辑发出的访存虚拟地址;
判断逻辑,用于根据侦听逻辑获取的虚拟地址确定处理器是否受到空指针攻击。
通过处理器中的侦听逻辑直接对处理器的访存逻辑发出的虚拟地址进行侦听获取,然后由判断逻辑根据该虚拟地址直接确定处理器是否受到空指针攻击,从而可以避免基于零页内存分配的空指针攻击;空指针攻击检测过程采用纯硬件实现,无需执行软件部分,因而攻击者难于绕开,有效的提高了防御可靠度;而且该检测过程简单,检测效率高;此外,硬件设计简单,开销较低。
作为本发明实施例一种可选的实施方式,判断逻辑具体用于:
判断侦听逻辑获取的虚拟地址是否处于零地址空间范围;
若是,则确定处理器受到空指针攻击;
若否,则确定处理器未受到空指针攻击。
作为本发明实施例一种可选的实施方式,处理器还包括:
通知逻辑,用于当判断逻辑确定处理器受到空指针攻击时,向处理器的控制逻辑发送指示处理器受到攻击的报告信息。
通过通知逻辑向处理器的控制逻辑发送指示处理器受到攻击的报告信息,控制逻辑收到该报告消息后,就可以控制处理器中的执行单元不执行访存该虚拟地址的程序,避免处理器受到空指针攻击。
作为本发明实施例一种可选的实施方式,通知逻辑还用于:
当判断逻辑确定处理器未受到空指针攻击时,向控制逻辑发送指示处理器未受到攻击的报告信息。
通过通知逻辑向处理器的控制逻辑发送指示处理器未受到攻击的报告信息,控制逻辑就可以更清楚的获知处理器的安全度。
作为本发明实施例一种可选的实施方式,零地址空间范围为0-64KB。
第二方面,本发明实施例提供一种空指针攻击检测方法,该方法包括:
获取处理器发出的虚拟地址;
根据虚拟地址确定处理器是否受到空指针攻击。
作为本发明实施例一种可选的实施方式,根据虚拟地址确定处理器是否受到空指针攻击,具体包括:
判断虚拟地址是否处于零地址空间范围;
若是,则确定处理器受到空指针攻击;
若否,则确定处理器未受到空指针攻击。
作为本发明实施例一种可选的实施方式,该方法还包括:
当确定处理器受到空指针攻击时,向处理器发送指示处理器受到攻击的报告信息。
作为本发明实施例一种可选的实施方式,该方法还包括:
当确定处理器未受到空指针攻击时,向处理器发送指示处理器未受到攻击的报告信息。
作为本发明实施例一种可选的实施方式,零地址空间范围为0-64KB。
上述第二方面以及上述第二方面的各可能的实施方式所提供的空指针攻击检测方法,其有益效果可以参见上述第一方面和第一方面的各可能的实施方式所带来的有益效果,在此不再赘述。
附图说明
图1为本发明实施例提供的一种处理器的结构示意图;
图2为本发明实施例提供的另一种处理器的结构示意图;
图3为本发明实施例提供的空指针攻击检测方法的流程示意图;
图4为本发明实施例提供的根据虚拟地址确定处理器是否受到空指针攻击的方法流程示意图。
附图标记说明:
10-访存逻辑;
20-侦听逻辑;
30-判断逻辑;
40-通知逻辑;
50-控制逻辑。
具体实施方式
针对现有技术中针对基于零页内存分配的空指针攻击采取的防御方法,主要基于纯软件或者软硬结合的方式实现,存在检测效率低、防御可靠度不高的技术问题,本发明提供一种处理器和空指针攻击检测方法,主要通过处理器中的侦听逻辑直接对处理器发出的虚拟地址进行检测,然后通过判断逻辑根据该虚拟地址直接确定处理器是否受到空指针攻击,来避免基于零页内存分配的空指针攻击,同时提高空指针攻击检测效率,并提高防御可靠度。
下面结合附图,对本发明的实施例进行描述。
图1为本发明实施例提供的一种处理器的结构示意图,如图1所示,本实施例提供的处理器包括:访存逻辑、侦听逻辑和判断逻辑,其中:
侦听逻辑,用于侦听处理器的访存逻辑,获取访存逻辑发出的访存虚拟地址;
判断逻辑,用于根据侦听逻辑获取的虚拟地址确定处理器是否受到空指针攻击。
具体的,处理器执行指令的过程中,访存逻辑会产生访存的虚拟地址,其中该访存逻辑具体可以是处理器中的数据存储器。本实施例中,处理器中集成侦听逻辑,通过侦听逻辑对处理器的访存逻辑进行侦听,获取访存逻辑发出的每个虚拟地址,以对指针引用的虚拟地址进行检测。
空指针指向零地址,即空指针的内部用全0来表示。在内存结构中,操作系统的地址空间具有一定的分配粒度,例如:windows X86的默认分配粒度是64KB,为了达到对齐,空间地址需要从0x00010000开始分配,因此空指针的分配地址为一个区间(零地址空间范围),即空指针指向的虚拟地址处于零地址空间范围。对于每个系统来说,零地址空间范围固定,因此通过检测虚拟地址即可确定是否存在空指针引用,进而确定处理器是否受到空指针攻击。判断逻辑在确定处理器是否收到攻击时可以采用如下实现方式:
判断侦听逻辑获取的虚拟地址是否处于零地址空间范围;
若是,则确定处理器受到空指针攻击;
若否,则确定处理器未受到空指针攻击。
具体的,零地址空间范围属于空闲空间,对于空闲空间而言,没有相应的物理存储器与之相对应,所以对于这段空间来说,任何读写操作都是会引起异常的。空指针指向该零地址空间范围,对空指针进行引用时,即对处于零地址空间范围的虚拟地址进行访问时,则会引起异常,攻击者通过空指针引用可以对处理器进行攻击。因此,如上所述,本实施例中,判断逻辑通过判断虚拟地址是否处于零地址空间范围来确定是否存在空指针引用,进而确定处理器是否受到空指针攻击。
其中,处理器的访存逻辑发出的虚拟地址的长度大小可变,例如:在32位处理器中,虚拟地址的长度一般为32位;在64位处理器中,虚拟地址的长度一般为64位。
零地址空间范围一般为0-64KB,以32位处理器为例,零地址空间范围即为0x00000000-0x0000FFFF。当然,零地址空间范围也可以为其他范围,其根据操作系统地址空间的分配粒度确定。
以处理器为32位,虚拟地址的长度为32位,零地址空间范围为0-64KB为例,判断逻辑在进行判断时,可以具体判断虚拟地址高过16位的部分是否全为零来判断虚拟地址是否处于零地址空间范围。
如果访存逻辑发出的虚拟地址处于零地址空间范围,说明此时存在空指针引用,判断逻辑直接确定处理器受到空指针攻击,避免攻击者利用空指针引用对处理器进行攻击,即避免基于零页内存分配的空指针攻击。在具体实现时,可以采用硬件方式直接将处理器的某个硬件(如状态寄存器)的1位置1或置0,不执行软件部分,以避免攻击者绕开该防御方法。
以上述举例为例,若虚拟地址高过16位的部分全为零,则表示处理器发出的虚拟地址处于零地址空间范围。
如果访存逻辑发出的虚拟地址未处于零地址空间范围,说明此时没有空指针引用,判断逻辑可以直接确定处理器未受到空指针攻击。
继续以上述举例为例,若虚拟地址高过16位的部分不全为零,则表示处理器发出的虚拟地址未处于零地址空间范围。
另外,处理器中的各逻辑结构在具体实现是可以采用各种电路结构,只要可以实现相关逻辑功能即可,本实施例对此不做特别限定。
本实施例提供的处理器,通过处理器中的侦听逻辑直接对处理器的访存逻辑发出的虚拟地址进行侦听获取,然后由判断逻辑根据该虚拟地址直接确定处理器是否受到空指针攻击,从而可以避免基于零页内存分配的空指针攻击;空指针攻击检测过程采用纯硬件实现,无需执行软件部分,因而攻击者难于绕开,有效的提高了防御可靠度;而且该检测过程简单,检测效率高;此外,硬件设计简单,开销较低。
图2为本发明实施例提供的另一种处理器的结构示意图,本实施例是对上述图1所述实施例的进一步优化补充。如图2所示,在上述图1所示实施例的基础上,本实施例中,处理器还可以包括:通知逻辑,通知逻辑用于当判断逻辑确定处理器受到空指针攻击时,向处理器的控制逻辑发送指示处理器受到攻击的报告信息。
其中,该报告消息具体可以通过上述状态寄存器的1个标志位来表示,当该标志位为1时,表示处理器受到攻击。
控制逻辑收到该报告消息后,就可以控制处理器中的执行单元不执行访存该虚拟地址的程序,例如采用中断方式中断当前程序的执行,以避免处理器受到空指针攻击。
当然,通知逻辑在判断逻辑确定处理器未受到空指针攻击时,则可以向控制逻辑发送指示处理器未受到攻击的报告信息。与上述方法类似,该报告消息具体可以通过上述标志位来表示,当该标志位为0时,表示处理器未受到攻击。
需要说明的是,通知逻辑可以只有在判断逻辑确定处理器受到空指针攻击时,才向控制逻辑发送报告消息;也可以在每检测一次虚拟地址,都向控制逻辑发送报告消息,具体可根据需要选择,本实施例不作特别限定。
本实施例提供的处理器,通过通知逻辑向处理器的控制逻辑发送指示处理器受到攻击的报告信息,控制逻辑收到该报告消息后,就可以控制处理器中的执行单元不执行访存该虚拟地址的程序,避免处理器受到空指针攻击。
图3为本发明实施例提供的空指针攻击检测方法的流程示意图,该方法应用于处理器,如图3所示,本实施例提供的方法可以包括如下步骤:
S101、获取处理器发出的虚拟地址。
具体的,处理器执行指令的过程中,访存逻辑会产生访存的虚拟地址。本实施例中,处理器中集成侦听逻辑,通过侦听逻辑对处理器的访存逻辑进行侦听,获取访存逻辑发出的每个虚拟地址,以对指针引用的虚拟地址进行检测。
S102、根据虚拟地址确定处理器是否受到空指针攻击。
具体的,空指针指向零地址,即空指针的内部用全0来表示。在内存结构中,操作系统的地址空间具有一定的分配粒度,例如:windows X86的默认分配粒度是64KB,为了达到对齐,空间地址需要从0x00010000开始分配,因此空指针的分配地址为一个区间(零地址空间范围),即空指针指向的虚拟地址处于零地址空间范围。对于每个系统来说,零地址空间范围固定,因此通过处理器中的判断逻辑检测虚拟地址即可确定是否存在空指针引用,进而确定处理器是否受到空指针攻击。其具体的确定过程可以通过如下方式实现:
图4为本发明实施例提供的根据虚拟地址确定处理器是否受到空指针攻击的方法流程示意图,如图4所示,该方法包括如下步骤:
S201、判断虚拟地址是否处于零地址空间范围。
具体的,零地址空间范围属于空闲空间,对于空闲空间而言,没有相应的物理存储器与之相对应,所以对于这段空间来说,任何读写操作都是会引起异常的。空指针指向该零地址空间范围,对空指针进行引用时,即对处于零地址空间范围的虚拟地址进行访问时,则会引起异常,攻击者通过空指针引用可以对处理器进行攻击。因此,如上所述,本实施例中,判断逻辑通过判断虚拟地址是否处于零地址空间范围来确定是否存在空指针引用,进而确定处理器是否受到空指针攻击。
其中,处理器的访存逻辑发出的虚拟地址的长度大小可变,例如:在32位处理器中,虚拟地址的长度一般为32位;在64位处理器中,虚拟地址的长度一般为64位。
零地址空间范围一般为0-64KB,以32位处理器为例,零地址空间范围即为0x00000000-0x0000FFFF。当然,零地址空间范围也可以为其他范围,其根据操作系统地址空间的分配粒度确定。
以处理器为32位,虚拟地址的长度为32位,零地址空间范围为0-64KB为例,判断逻辑在进行判断时,可以具体判断虚拟地址高过16位的部分是否全为零来判断虚拟地址是否处于零地址空间范围。
S202、若是,则确定处理器受到空指针攻击。
如果访存逻辑发出的虚拟地址处于零地址空间范围,说明此时存在空指针引用,判断逻辑直接确定处理器受到空指针攻击,避免攻击者利用空指针引用对处理器进行攻击,即避免基于零页内存分配的空指针攻击。在具体实现时,可以采用硬件方式直接将处理器的某个硬件(如状态寄存器)的1位置1或置0,不执行软件部分,以避免攻击者绕开该防御方法。
继续以上述举例为例,若虚拟地址高过16位的部分全为零,则表示处理器发出的虚拟地址处于零地址空间范围。
S203、若否,则确定处理器未受到空指针攻击。
如果访存逻辑发出的虚拟地址未处于零地址空间范围,说明此时没有空指针引用,判断逻辑可以直接确定处理器未受到空指针攻击。
继续以上述举例为例,若虚拟地址高过16位的部分不全为零,则表示处理器发出的虚拟地址未处于零地址空间范围。
本实施例中,当判断逻辑确定处理器受到空指针攻击时,可以向处理器的控制逻辑发送指示处理器受到攻击的报告信息。控制逻辑收到该报告消息后,就可以不执行访存该虚拟地址的程序,例如采用中断方式中断当前程序的执行,以避免受到空指针攻击。
其中,该报告消息具体可以通过步骤S202中所述的处理器中的状态寄存器的1个标志位来表示,当该标志位为1时,表示处理器受到攻击。
当然,当判断逻辑确定处理器未受到空指针攻击时,则可以向控制逻辑发送指示处理器未受到攻击的报告信息。与上述方法类似,该报告消息具体可以通过上述标志位来表示,当该标志位为0时,表示处理器未受到攻击。
需要说明的是,判断逻辑可以只有在确定处理器受到空指针攻击时,才向控制逻辑发送报告消息;也可以在每检测一次虚拟地址,都向控制逻辑发送报告消息,具体可根据需要选择,本实施例不作特别限定。
本实施例提供的空指针攻击检测方法,通过直接对处理器发出的虚拟地址进行检测,根据该虚拟地址直接确定处理器是否受到空指针攻击,从而可以避免基于零页内存分配的空指针攻击;执行结构可以采用纯硬件实现,无需执行软件部分,因而攻击者难于绕开,有效的提高了防御可靠度;而且该检测方法简单,检测效率高;此外,该方法的执行结构硬件设计简单,开销较低。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种处理器,其特征在于,包括:
侦听逻辑,用于侦听处理器的访存逻辑,获取所述访存逻辑发出的访存虚拟地址;
判断逻辑,用于根据所述侦听逻辑获取的虚拟地址确定所述处理器是否受到空指针攻击;
所述判断逻辑具体用于:
判断所述侦听逻辑获取的虚拟地址是否处于零地址空间范围;
若是,则确定所述处理器受到空指针攻击;
若否,则确定所述处理器未受到空指针攻击。
2.根据权利要求1所述的处理器,其特征在于,所述处理器还包括:
通知逻辑,用于当所述判断逻辑确定所述处理器受到空指针攻击时,向所述处理器的控制逻辑发送指示所述处理器受到攻击的报告信息。
3.根据权利要求2所述的处理器,其特征在于,所述通知逻辑还用于:
当所述判断逻辑确定所述处理器未受到空指针攻击时,向所述控制逻辑发送指示所述处理器未受到攻击的报告信息。
4.根据权利要求1所述的处理器,其特征在于,所述零地址空间范围为0-64KB。
5.一种空指针攻击检测方法,其特征在于,包括:
获取处理器发出的虚拟地址;
根据所述虚拟地址确定所述处理器是否受到空指针攻击;
所述根据所述虚拟地址确定所述处理器是否受到空指针攻击,具体包括:
判断所述虚拟地址是否处于零地址空间范围;
若是,则确定所述处理器受到空指针攻击;
若否,则确定所述处理器未受到空指针攻击。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当确定所述处理器受到空指针攻击时,向所述处理器发送指示所述处理器受到攻击的报告信息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当确定所述处理器未受到空指针攻击时,向所述处理器发送指示所述处理器未受到攻击的报告信息。
8.根据权利要求5所述的方法,其特征在于,所述零地址空间范围为0-64KB。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710781077.0A CN109426739B (zh) | 2017-09-01 | 2017-09-01 | 处理器和空指针攻击检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710781077.0A CN109426739B (zh) | 2017-09-01 | 2017-09-01 | 处理器和空指针攻击检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109426739A CN109426739A (zh) | 2019-03-05 |
CN109426739B true CN109426739B (zh) | 2020-10-30 |
Family
ID=65513094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710781077.0A Active CN109426739B (zh) | 2017-09-01 | 2017-09-01 | 处理器和空指针攻击检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109426739B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1035475A1 (en) * | 1999-03-05 | 2000-09-13 | Sun Microsystems Inc. | Simple high-performance memory management unit |
CN1811714A (zh) * | 2005-01-14 | 2006-08-02 | 英特尔公司 | 虚拟化虚拟机系统中的物理存储器 |
CN102609254A (zh) * | 2012-01-19 | 2012-07-25 | 中国科学院计算技术研究所 | 获取对象级访存行为的方法及装置 |
CN103577335A (zh) * | 2013-10-23 | 2014-02-12 | 中国科学院计算技术研究所 | 一种内存垃圾回收系统及方法 |
-
2017
- 2017-09-01 CN CN201710781077.0A patent/CN109426739B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1035475A1 (en) * | 1999-03-05 | 2000-09-13 | Sun Microsystems Inc. | Simple high-performance memory management unit |
CN1811714A (zh) * | 2005-01-14 | 2006-08-02 | 英特尔公司 | 虚拟化虚拟机系统中的物理存储器 |
CN102609254A (zh) * | 2012-01-19 | 2012-07-25 | 中国科学院计算技术研究所 | 获取对象级访存行为的方法及装置 |
CN103577335A (zh) * | 2013-10-23 | 2014-02-12 | 中国科学院计算技术研究所 | 一种内存垃圾回收系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109426739A (zh) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lipp et al. | Nethammer: Inducing rowhammer faults through network requests | |
US7673345B2 (en) | Providing extended memory protection | |
JP5763278B2 (ja) | ハイパーバイザ環境におけるクリティカル・アドレス空間保護のためのシステム及び方法 | |
CN105512055B (zh) | 用于减少存储器信息泄漏的系统和方法 | |
CN110383256B (zh) | 一种内核完整性保护方法及装置 | |
US7698507B2 (en) | Protecting system management mode (SMM) spaces against cache attacks | |
US20080201540A1 (en) | Preservation of integrity of data across a storage hierarchy | |
US10810304B2 (en) | Injecting trap code in an execution path of a process executing a program to generate a trap address range to detect potential malicious code | |
US8185952B2 (en) | Static and dynamic firewalls | |
US12248560B2 (en) | Hypervisor-based redirection of system calls and interrupt-based task offloading | |
US9904782B2 (en) | Synchronous execution of designated computing events using hardware-assisted virtualization | |
US10061918B2 (en) | System, apparatus and method for filtering memory access logging in a processor | |
US9804975B2 (en) | Hardware-enforced prevention of buffer overflow | |
US20220180009A1 (en) | Peripheral component interconnect express protection controller | |
CN109446755B (zh) | 内核钩子函数保护方法、装置、设备以及存储介质 | |
US8621238B1 (en) | Using software-based decision procedures to control instruction-level execution | |
KR20060006791A (ko) | Nodma 캐시 | |
CN109426739B (zh) | 处理器和空指针攻击检测方法 | |
US20230418768A1 (en) | Sensitive data reading method and apparatus, electronic device, and storage medium | |
EP3550463B1 (en) | Trusted out-of-band memory acquisition for iommu-based computer systems | |
EP2720170B1 (en) | Automated protection against computer exploits | |
Schwarz et al. | Dma security in the presence of iommus | |
KR102698638B1 (ko) | 하드웨어 기반 격리 실행을 제공하는 마이크로 아키텍쳐 | |
US20230418937A1 (en) | Privileged Firmware Mode Protection | |
KR102183648B1 (ko) | 중첩 페이징 없이 커널을 보호하는 방법 및 그 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd. |