CN112580052A - 计算机安全防护方法、芯片、设备以及存储介质 - Google Patents

计算机安全防护方法、芯片、设备以及存储介质 Download PDF

Info

Publication number
CN112580052A
CN112580052A CN201910945955.7A CN201910945955A CN112580052A CN 112580052 A CN112580052 A CN 112580052A CN 201910945955 A CN201910945955 A CN 201910945955A CN 112580052 A CN112580052 A CN 112580052A
Authority
CN
China
Prior art keywords
jump
jump instruction
target address
instruction
processor core
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.)
Granted
Application number
CN201910945955.7A
Other languages
English (en)
Other versions
CN112580052B (zh
Inventor
章隆兵
李亚伟
张福新
王剑
肖俊华
汪文祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201910945955.7A priority Critical patent/CN112580052B/zh
Publication of CN112580052A publication Critical patent/CN112580052A/zh
Application granted granted Critical
Publication of CN112580052B publication Critical patent/CN112580052B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种计算机安全防护方法、芯片、设备以及存储介质。该方法应用于芯片,该芯片上设置有处理器核和硬件监督模块,对改变程序控制流的攻击防护中,该方法包括:响应于处理器核运行程序,并执行至程序中的跳转指令时,将跳转指令对应的跳转参数发送给硬件监督模块,硬件监督模块根据PC值、跳转目标地址以及内部记录结构,得到安全检查结果,处理器核根据所述安全检查结果,执行对应的操作,通过软硬件协同,对跳转指令的执行进行实时安全监督,实现了对多种改变程序控制流攻击的有效检测和防护,有效减小了因检测改变程序控制流攻击带来的较大的系统性能开销。

Description

计算机安全防护方法、芯片、设备以及存储介质
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种计算机安全防护方法、芯片、设备以及存储介质。
背景技术
目前,计算机安全问题受到越来越多的关注。由于计算机系统是复杂的软硬件系统,漏洞的存在几乎是不可避免的,攻击者通过各种漏洞对计算机进行攻击;其中,基于内存错误漏洞的攻击是一种软件层面发起的攻击,通过改变程序控制流,执行攻击代码,导致整个计算机系统的最高权限被攻击者获取,带来极大的安全危害。
因此,基于内存错误漏洞的攻击可以看做是属于改变程序控制流的攻击,包括缓冲区溢出攻击、返回共享库攻击(Return-to-libc,Ret2libc)、返回导向编程攻击(ReturnOriented Programming,ROP)。现有技术中,针对改变程序控制流的攻击,主要采用基于控制流保护的方法,例如控制流完整性(Control Flow Integrity,CFI)和控制流防护技术(Control Flow Guard,CFG),通过软件实现对每个跳转目标地址进行检验,确定跳转指令的合法性。
然而,基于控制流保护的方法主要是采用纯软件的方法,在程序执行时检查跳转目标地址的合法性,会造成较大的性能损失。
发明内容
本发明提供一种计算机安全防护方法、芯片、设备以及存储介质,为针对改变程序控制流攻击提供完善的防护,减少了性能损耗。
第一方面,本发明提供一种计算机安全防护方法,应用于芯片对改变程序控制流的攻击防护中,所述芯片上设置有处理器核和硬件监督模块,所述方法包括:
响应于处理器核运行程序,并执行至所述程序中的跳转指令时,将所述跳转指令对应的跳转参数发送给所述硬件监督模块;所述跳转参数包括程序计数器PC值和跳转目标地址;
所述硬件监督模块根据所述PC值、所述跳转目标地址以及内部记录结构,得到安全检查结果;所述内部记录结构用于记录符合安全规则的跳转指令对应的跳转参数;
所述处理器核根据所述安全检查结果,执行对应的操作。
在一种具体的实现方式中,所述安全检查结果包括正常和例外,则所述处理器核根据所述安全检查结果,执行对应的操作,包括:
若所述安全检查结果为正常,则所述处理器核继续运行所述程序;
若所述安全检查结果为例外,则所述处理器核对所述跳转指令进行安全规则检查;所述安全规则检查用于确定所述跳转指令是否为安全跳转指令。
进一步地,所述硬件监督模块根据所述PC值、所述跳转目标地址以及内部记录结构,得到安全检查结果,包括:
根据所述PC值和所述跳转目标地址,生成跳转行为描述标记;
根据所述跳转行为描述标记,在内部记录结构中记录的符合安全规则的跳转指令对应的跳转参数中进行查找;
若所述内部记录结构中存在与所述跳转行为描述标记对应的跳转参数,则所述安全检查结果为正常;
若所述内部记录结构中不存在与所述跳转行为描述标记对应的跳转参数,则所述安全检查结果为例外。
在一种具体的实现方式中,所述处理器核对所述跳转指令进行安全规则检查,包括:
若所述改变程序控制流的攻击为缓冲区溢出攻击,则根据所述跳转指令对应的跳转目标地址与预设置的第一审核表,确定所述跳转目标地址是否处于可执行内存空间;所述第一审核表包含每个可执行内存空间的起始地址和结束地址;
若所述跳转指令对应的跳转目标地址处于可执行内存空间,则确定所述跳转指令为安全跳转指令;否则,确定所述跳转指令为非安全跳转指令。
在一种具体的实现方式中,所述处理器核对所述跳转指令进行安全规则检查,还包括:
若所述改变程序控制流的攻击为返回共享库攻击或者返回导向编程技术攻击,则根据所述跳转指令对应的PC值和预设置的第二审核表,获取所述第二审核表中与所述PC值对应的可能目标地址列表;确定所述跳转指令对应的跳转目标地址是否与所述可能目标地址列表中的任一可能目标地址一致;
若是,则确定所述跳转指令为安全跳转指令;否则,确定所述跳转指令为非安全跳转指令。
进一步地,若所述跳转指令为安全跳转指令,则处理器核生成插入信息,并发送给所述硬件监督模块,所述插入信息包括所述跳转指令对应的PC值和跳转目标地址;所述硬件监督模块根据所述插入信息,将所述跳转指令对应的PC值和跳转目标地址记录于所述内部记录结构;
若所述跳转指令为非安全跳转指令,则生成报警信息。
进一步地,所述根据所述插入信息,将所述PC值和所述跳转目标地址记录于所述内部记录结构,包括:
根据所述PC值和所述跳转目标地址,生成跳转行为描述标记;
根据所述插入信息,将所述跳转行为描述标记记录于所述内部记录结构。
第二方面,本发明提供一种芯片,应用于对改变程序控制流的攻击防护中,包括:处理器核和硬件监督模块;
所述处理器核用于运行程序,并执行至所述程序中的跳转指令时,将所述跳转指令对应的跳转参数发送给硬件监督模块;所述跳转参数包括程序计数器PC值和跳转目标地址;
所述硬件监督模块用于根据所述PC值、所述跳转目标地址以及内部记录结构,得到安全检查结果;所述内部记录结构用于记录符合安全规则的跳转指令对应的跳转参数;
所述处理器核还用于根据所述安全检查结果,执行对应的操作。
在一种具体的实现方式中,所述安全检查结果包括正常和例外,则所述处理器核具体用于:
若所述安全检查结果为正常,则所述处理器核继续运行所述程序;
若所述安全检查结果为例外,则所述处理器核对所述跳转指令进行安全规则检查;所述安全规则检查用于确定所述跳转指令是否为安全跳转指令。
进一步地,所述硬件监督模块具体用于:
根据所述PC值和所述跳转目标地址,生成跳转行为描述标记;
根据所述跳转行为描述标记,在内部记录结构中记录的符合安全规则的跳转指令对应跳转参数中进行查找;
若所述内部记录结构中存在与所述跳转行为描述标记对应的跳转参数,则所述安全检查结果为正常;
若所述内部记录结构中不存在与所述跳转行为描述标记对应的跳转参数,则所述安全检查结果为例外。
在一种具体的实现方式中,所述处理器核具体用于:
若所述改变程序控制流的攻击为缓冲区溢出攻击,则根据所述跳转指令对应的跳转目标地址与预设置的第一审核表,确定所述跳转目标地址是否处于可执行内存空间;所述第一审核表包含每个可执行内存空间的起始地址和结束地址;
若所述跳转指令对应的跳转目标地址处于可执行内存空间,则确定所述跳转指令为安全跳转指令;否则,确定所述跳转指令为非安全跳转指令。
在一种具体的实现方式中,所述处理器核具体用于:
若所述改变程序控制流的攻击为返回共享库攻击或者返回导向编程技术攻击,则根据所述跳转指令对应的PC值和预设置的第二审核表,获取所述第二审核表中与所述PC值对应的可能目标地址列表;确定所述跳转指令对应的跳转目标地址是否与所述可能目标地址列表中的任一可能目标地址一致;
若是,则确定所述跳转指令为安全跳转指令;否则,确定所述跳转指令为非安全跳转指令。
进一步地,所述处理器核还用于若所述跳转指令为安全跳转指令,则生成插入信息,并发送给所述硬件监督模块;
所述硬件监督模块还用于根据所述插入信息,将所述跳转指令对应的PC值和跳转目标地址记录于所述内部记录结构,所述插入信息包括所述跳转指令对应的PC值和跳转目标地址;
所述处理器核还用于若所述跳转指令为非安全跳转指令,则生成报警信息。
进一步地,所述硬件监督模块具体用于:
根据所述PC值和所述跳转目标地址,生成跳转行为描述标记;
根据所述插入信息,将所述跳转行为描述标记记录于所述内部记录结构。
第三方面,本发明提供一种电子设备,包括:用于存储数据的存储器及第二方面所述的芯片。
第四方面,本发明提供一种存储介质,包括:可读存储介质和计算机程序,所述计算机程序用于实现第一方面所述的计算机安全防护方法。
本发明实施例提供的计算机安全防护方法、芯片、设备以及存储介质,芯片中设置有处理器核和硬件监督模块,对改变程序控制流的攻击防护中,该方法响应于处理器核运行程序,当执行至程序中的跳转指令时,将跳转指令对应的跳转参数发送给硬件监督模块,该跳转参数包括程序计数器PC值和跳转目标地址,硬件监督模块根据跳转指令对应的PC值、跳转目标地址以及内部记录结构,得到安全检查结果,并根据所述安全检查结果,执行对应的操作。采用上述技术方案,一方面,在芯片中增加硬件监督模块,使硬件监督模块和处理器核执行程序的操作相结合,以通过软硬件协同,对跳转指令的执行进行实时安全监督,相较于软件方式实现改变控制流攻击的安全防护工作,软硬件相结合方式实现改变控制流攻击的安全防护工作,能够有效减小因检测改变程序控制流攻击带来的较大的系统性能开销;另一方面,由于硬件监督模块为硬件结构,采用在芯片中增加硬件监督模块的硬件方式确定安全检查结果,对硬件的攻击难度相较于软件要大得多,因此,相较于软件方式实现改变控制流攻击的安全防护工作,本发明实施例记载的方案能够有效避免对安全防护软件攻击造成的安全问题,因而更加安全可靠地保护了计算机的安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种芯片实施例一的结构示意图;
图2为本发明实施例提供的一种芯片实施例二的结构示意图;
图3为本发明实施例提供的一种计算机安全防护方法实施例一的流程示意图;
图4为本发明实施例提供的一种计算机安全防护方法实施例二的流程示意图;
图5为本发明实施例提供的一种计算机安全防护方法实施例三的流程示意图;
图6a为本发明实施例提供的一种布隆过滤器的结构示意图一;
图6b为本发明实施例提供的一种布隆过滤器的结构示意图二;
图7为本发明一实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本文中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明的说明书中通篇提到的“一实施例”或“另一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一实施例中”或“本实施例中”未必一定指相同的实施例。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
首先,对于本方案的计算机安全防护方法所要防御的对象进行说明:改变程序控制流攻击为基于内存错误漏洞的攻击,主要包括缓冲区溢出攻击、返回共享库攻击(Return-to-libc,Ret2libc)、返回导向编程攻击(Return Oriented Programming,ROP)等。现有技术中提供的基于控制流保护的方法,例如CFI和CFG,均为通过软件实现对改变程序控制流的攻击防护,但是采用纯软件技术,会造成了较大的性能损失。
针对上述问题,结合基于内存错误漏洞的攻击手段都需要通过构造堆栈结构来实现,最后需要通过跳转指令来跳转到攻击代码上。因此,可以通过监控跳转指令(也可称为分支指令(Branch Instruction))的跳转目标地址来达到安全性检查和防御的目的。本方案提供的一种计算机安全防护方法、芯片以及存储介质,通过软硬件协同,对跳转指令执行行为进行实时监控,来实现对改变程序控制流攻击的识别,从而对系统实现有效防护,避免改变程序控制流的攻击。下面通过几个实施例对本方案的实现过程进行具体说明。
本方案的执行主体为一种芯片,该芯片可以是处理器,或者包括处理器以及外围器件,该芯片可应用于一种电子设备,例如,个人计算机PC、笔记本、平板、可穿戴产品、智能家居家电产品、智能机器人等,也可应用于一种服务器,或者,应用于一种工业设备,例如,数控设备、程控设备等。
图1为本发明实施例提供的一种芯片实施例一的结构示意图。如图1所示,该芯片10,包括:处理器核11和硬件监督模块12。
图2为本发明实施例提供的一种芯片实施例二的结构示意图。如图2所示,该硬件监督模块12,包括:跳转行为处理模块121和跳转行为记录模块122。跳转行为处理模块121中设置有跳转行为描述标记存储器1211,跳转行为记录模块122中设置有内部记录结构1221。应理解,该硬件监督模块12可以通过电路结构实现。
图3为本发明实施例提供的一种计算机安全防护方法实施例一的流程示意图,应用于上述实施例中的芯片,主要用于对改变程序控制流的攻击防护,如图3所示,该方法包括:
S101:响应于处理器核运行程序,并执行至该程序中的跳转指令时,将跳转指令对应的跳转参数发送给硬件监督模块。
在处理器核运行程序的过程中,该程序可以是任意需要被执行的一软件程序,该程序中包含跳转指令;当运行至该程序中的跳转指令时,需要对跳转指令进行安全检查;具体的,结合图1或图2可知,将该跳转指令对应的跳转参数发送给硬件监督模块,以使硬件监督模块对跳转指令进行安全检查。
其中,跳转参数包括程序计数器(Program Counter,PC)值和跳转目标地址;上述程序是指处理器核可以执行的一种语言描述,如应用程序等。
S102:硬件监督模块根据PC值、跳转目标地址以及内部记录结构,得到安全检查结果。
其中,内部记录结构用于记录符合安全规则的跳转指令对应的跳转参数(例如PC值和跳转目标地址);在一些实施例中,确定跳转指令是否符合安全规则可通过处理器核运行安全规则检查程序来进行检查,例如通过运行安全规则检查程序检查跳转指令所要跳转的跳转目标地址是否处于可执行内存空间内,若是,则该跳转指令符合安全规则,或者检查跳转指令的实际跳转地址与允许该跳转指令跳转的可能跳转地址是否一致,若是,则该跳转指令符合安全规则;进一步地,将通过安全规则检查程序检查的符合安全规则的跳转指令对应的跳转参数记录于内部记录结构;应理解,内部记录结构可以是一种通过电路实现的数据结构,例如类似于高速缓存结构和布隆过滤器等。在实际应用,内部记录结构作为一种硬件结构,对攻击者来说是不可见的,其不可见性能够保证所记录的符合安全规则的跳转指令对应的跳转参数不受攻击。
在本步骤中,硬件监督模块根据从处理器核接收的跳转指令(也称作待检查的跳转指令)对应的PC值和跳转目标地址,与内部记录结构中存储的PC值和跳转目标地址进行比较,或者根据(待检查的)跳转指令对应的PC值和跳转目标地址在内部记录结构中进行遍历查找,确定内部记录结构中是否存在与(待检查的)跳转指令相同的PC值和跳转目标地址;若存在,则得到的安全检查结果为该跳转指令是经过安全规则检查、且符合安全规则的跳转指令;若不存在,则得到安全检查结果为该跳转指令为初次出现的跳转指令或者未通过安全规则检查的跳转指令,硬件监督模块将得到的检查结果返回给处理器核。
应理解,内部记录结构初始化后可以不包括任何之前存储的跳转参数的数据,在处理器核运行的过程中,通过对跳转指令是否符合安全规则进行确认后,实现对符合安全规则的跳转指令对应的跳转参数进行动态的存储。
在一种具体的实现方式中,图4为本发明实施例提供的一种计算机安全防护方法实施例二的流程示意图,如图4所示,本步骤可以通过以下可能的方法实现,包括:
S1021:根据PC值和跳转目标地址,生成跳转行为描述标记。
硬件监督模块根据接收到的跳转指令对应的PC值和跳转目标地址,生成跳转行为描述标记(Jump Behavior Description Tag,JBDT),具体的,将PC值和跳转目标地址进行拼接,生成跳转行为描述标记。
S1022:根据跳转行为描述标记,在内部记录结构中记录的符合安全规则的跳转指令对应的跳转参数中进行查找。
S1023:若内部记录结构中存在与跳转行为描述标记对应的跳转参数,则安全检查结果为正常。
S1024:若内部记录结构中不存在与跳转行为描述标记对应的跳转参数,则安全检查结果为例外。
在步骤S1022至步骤S1024中,硬件监督模块根据JBDT,在内部记录结构中记录的符合安全规则的跳转指令对应的跳转参数(包括至少一个预存JBDT),进行比对或者查找,确定内部记录结构中是否存在与(待检查的)跳转指令的JBDT对应的跳转参数;若存在,则表明该跳转指令是经过安全规则检查的,符合安全规则的跳转指令,即安全检查结果为正常,若不存在,则表明该跳转指令为初次出现的跳转指令或者未通过安全规则检查的跳转指令,即安全检查结果为例外,需要进一步确认跳转指令是否符合安全规则,硬件监督模块将得到的安全检查结果返回给处理器核。
S103:处理器核根据安全检查结果,执行对应的操作。
处理器核接收到硬件监督模块发送的安全检查结果,并根据安全检查结果执行对应的操作。
具体的,若安全检查结果为正常,则处理器核继续运行上述程序;若安全检查结果为例外,则处理器核对跳转指令进行安全规则检查。通过安全规则检查可以确定该跳转指令是否符合安全规则,即是否为安全跳转指令。
本实施例提供的一种计算机安全防护方法,在处理器核运行程序的过程中,当执行至跳转指令时,将跳转指令对应的跳转参数发送给硬件监督模块,该跳转参数包括PC值和跳转目标地址,硬件监督模块根据跳转指令对应的PC值、跳转目标地址以及内部记录结构,得到安全检查结果,并根据所述安全检查结果,执行对应的操作;通过软硬件协同,对跳转指令的执行进行实时安全监督,实现了对多种改变程序控制流攻击的有效检测和防护,有效减小了因检测改变程序控制流攻击带来的较大的系统性能开销。
在一种可能的设计中,结合图2可知,硬件监督模块12包括跳转行为处理模块121和跳转行为记录模块122;其中,硬件监督模块12中的跳转行为处理模块121接收处理器核11发送的跳转指令对应的PC值和跳转目标地址,并根据PC值和跳转目标地址生成JBDT;将JBDT存储在JBDT存储器(跳转行为描述标记存储器)1211中,并且将JBDT和生成的查询信号,发送给跳转行为记录模块,其中,查询信号用于指示跳转行为记录模块122对该JBDT进行查询;跳转行为记录模块根据接收到的查询信号和生成的JBDT,在内部记录结构1221中进行查询,内部记录结构1221具体可以是布隆过滤器(Bloom Filter),得到查询结果并将该查询结果发送给跳转行为处理模块;若在内部记录结构中查询到与跳转指令相同的JBDT,则确定查询结果为1,表示该跳转指令的JBDT已经被记录,若查询不到与跳转指令相同的JBDT,则确定查询结果为0;跳转行为处理模块接收到查询结果,并根据查询结果确定安全检查结果,将安全检查结果返回给处理器核11,例如,若查询结果为1,则将安全检查结果置为1返回给处理器核11;若查询结果为0,则将安全检查结果置为0返回给处理器核11。
进一步地,在一种可能的设计中,安全检查结果包括正常和例外;例如,硬件监督模块12返回的安全检查结果为1,表示该跳转指令为内部记录结构中已经记录的符合安全规则跳转指令,则其代表安全检查结果为正常;硬件监督模块12返回的安全检查结果为0,表示该跳转指令不属于内部记录结构中记录的符合安全规则跳转指令,则其代表安全检查结果为例外。
进一步地,若安全检查结果为正常,则处理器核继续运行上述程序;若安全检查结果为例外,则处理器核对该跳转指令进行安全规则检查,该安全规则检查用于确定跳转指令是否为安全跳转指令,即是否为符合安全规则的跳转指令,其具体可以通过处理器核运行安全规则检查程序来进行检查。
下面通过几个实施例对上述实施例中所述的如何对跳转指令进行安全规则检查,进行具体的说明。
在跳转指令对应的跳转参数没有在内部记录结构中查询到时,说明该跳转指令为初次执行的跳转指令,或者未通过安全规则检查的跳转指令,则处理器核对该跳转指令进行安全规则检查。
一、若改变程序控制流攻击为缓冲区溢出攻击,则根据跳转指令对应的跳转目标地址与预设置的第一审核表,确定跳转目标地址是否处于可执行内存空间,如表1所示(表项内容未示出),第一审核表包含每个可执行内存空间的起始地址和结束地址,第一审核表的每一项,用于保存一个可执行内存空间,每个表项包含的配置信息如下所示:
有效位 空间起始地址 空间结束地址
表1
有效位(VALID):1位,为1时表示该配置项有效。
空间块起始地址(STARTADR):每个表项所针对的连续内存空间的起始地址。
空间结束地址(ENDADR):每个表项所针对的连续内存空间的结束地址。
第一审核表的初始化:
第一审核表的初始化信息可以通过编译器在编译程序时获得或者通过分析程序二进制文件获得。
每个表项的判定条件:
有效位为1,(跳转目标地址>=空间起始地址,并且跳转目标地址<=空间结束地址)
如果判定结果为1,表明跳转目标地址处于该表项表示的可执行内存空间中;如果判定结果为0,则表示跳转目标地址不处于该表项表示的可执行内存空间中。
将跳转指令对应的跳转目标地址与第一审核表中的所有表项逐项进行判定。如果第一审核表中存在一个表项,该跳转目标地址处于该表项表示的可执行内存空间中,表明该跳转目标地址处于可执行的内存空间中;如果第一审核表中不存在任何一个表项,使得该跳转目标地址处于该表项中,表明该跳转目标地址不处于可执行的内存空间中;进一步地,若跳转指令对应的跳转目标地址处于可执行内存空间,则确定所述跳转指令为安全跳转指令;否则,确定跳转指令为非安全跳转指令。
二、若改变程序控制流攻击为返回共享库攻击或者返回导向编程技术攻击,则根据跳转指令对应的PC值和预设置的第二审核表,获取第二审核表中与跳转指令对应的PC值对应的可能目标地址列表,并确定跳转指令对应的跳转目标地址是否与可能目标地址列表中的任一可能目标地址一致,PC值对应的可能目标地址可以通过编译器在对程序进行编译时获得。第二审核表的表项如表2所示(表项内容未示出):
跳转指令地址 跳转目标地址数量 跳转目标地址表索引(Index)
表2
跳转指令地址:跳转指令对应的PC值,根据处理器CPU的地址空间来定,一般为32位或者64位,或者其他值;
跳转目标地址数量(6位):用于保存可能目标地址数量;
跳转目标地址表索引:该表项的位数可变,可根据可能目标地址列表的大小来定。该表项的值用于检索可能目标地址列表。
在程序执行前,将跳转指令和该跳转指令可能跳到的可能目标地址记录下来,形成可能目标地址列表;在程序执行时,将跳转指令的实际跳转目标地址与已经记录下来的可能目标地址进行对比,如果实际跳转目标地址不在已经记录下来的可能目标地址列表中,则表明检测到攻击。
另外,可选的,针对每一个跳转目标地址表索引,建立对应的一个可能目标地址列表,见表3(表项内容未示出),也称作跳转目标地址表(Jump Target Address Table),用于存储所有可能目标地址集合。可选的,也可以针对所有跳转目标地址表索引建立一个可能目标地址,在此不再赘述。
可能目标地址
表3
对于一个跳转指令对应的PC值和跳转目标地址的判定:
将跳转指令对应的PC值,与第二审核表中的跳转指令地址进行逐项比较,如果从第二审核表中找到一项跳转指令地址与程序的跳转指令对应的PC值相等,则进行如下操作:
将Index=该表项的跳转目标地址表索引、Num=该表项的跳转目标地址数量;
读出可能目标地址列表(跳转目标地址表)中第Index项开始的Num项;
将该跳转指令对应的跳转目标地址与读出的Num项进行逐项比较,如果有Num项中存在表项与程序中的跳转指令对应的跳转目标地址相等,则将检查结果置为1;否则,将检查结果置为0。进一步地,若检查结果为1,则确定所述跳转指令为安全跳转指令;若检查结果为0,确定所示跳转指令为非安全跳转指令。
可能的,如果将跳转指令对应的PC值与第二审核表进行逐项比较,找不到一项跳转指令地址与跳转指令对应的PC值相等,则表明所建立的审核表可能不全面,将检查结果置为1。另外,这种情况也可以将跳转指令对应的PC值和跳转目标地址记录下来,留待后续分析。
在上述实施例的基础上,进一步地,对跳转指令进行安全规则检查,还包括:若跳转指令为安全跳转指令,则生成插入信息,并发送给硬件监督模块,硬件监督模块根据插入信息,将跳转指令对应的PC值和跳转目标地址记录于内部记录结构;若跳转指令为非安全跳转指令,则生成报警信息,同时停止执行该跳转指令,可通过显示屏显示报警信息,或者通过播放设备播报报警信息。
在上述实施例的基础上,图5为本发明实施例提供的一种计算机安全防护方法实施例三的流程示意图,如图5所示,根据插入信息,将所述PC值和所述跳转目标地址记录于所述内部记录结构,包括:
S201:根据PC值和跳转目标地址,生成跳转行为描述标记。
本步骤中的跳转指令对应的PC值和跳转目标地址可以是插入信息中的PC值和跳转目标地址,也可以是处理器核发送给硬件监督模块的用于确认安全检查的PC值和跳转目标地址,其具体实现过程与步骤S1021类似,此处不再赘述。
S202:根据插入信息,将跳转行为描述标记记录于内部记录结构。
在一种具体的实现方式中,仍以硬件监督模块包括跳转行为处理模块和跳转行为记录模块为例;若跳转指令为安全跳转指令,跳转行为处理模块接收到处理器核发送的插入信息,根据插入信息中的PC值和跳转目标地址,生成JBDT,生成插入信号,将插入信号和该跳转指令对应的JBDT发送给跳转行为记录模块,跳转行为记录模块在接收到插入信号和JBDT后,在内部记录结构中,例如表格、文件或者数据结构、例如类似于高速缓存结构和布隆过滤器等,插入该JBDT。
本实施例中,若经过安全规则检查,确定跳转指令为安全跳转指令,则将安全跳转指令对应的跳转参数信息插入内部记录结构,包括:根据PC值和所述跳转目标地址,生成跳转行为描述标记,并根据所述插入信息,将跳转行为描述标记记录于所述内部记录结构,实现了对内部记录结构的动态更新,以保证内部记录结构存储了最新的符合安全规则的跳转指令对应的跳转参数信息,不需要对跳转指令是否符合安全规则进行重复检测,节省了系统性能,提高了安全防护的效率。
图6a为本发明实施例提供的一种布隆过滤器的结构示意图一,图6b为本发明实施例提供的一种布隆过滤器的结构示意图二。如图6a和图6b所示,布隆过滤器基于哈希(Hash)函数,但与基础Hash函数的主要区别是布隆过滤器采用了多个Hash函数但使用同一个位向量来存储Hash值。采用布隆过滤器,当进行数据插入操作时,对于每一个元素,经过布隆过滤器后得到与Hash(哈希)函数相同个数的Hash值,并将该Hash值存储于同一个位向量中。当进行数据查询操作时,对于每一个元素,经过布隆过滤器后得到的多个Hash值必须都存在于位向量中才认为在集合中;否则该数据可确认不在集合中。
具体的,定义长度为m的位向量M,并设计哈希函数集H={h1,h2,…,hk}。首先将位向量M置为0。
插入操作:对于插入元素A,通过哈希函数集H中的k个独立哈希函数得到k个值域为[0,m-1]的哈希值;将每一个哈希值在位向量M中的对应位置为1;如果已经是1,就不再处理。
查询操作:对元素B进行查询时,对元素B用哈希函数集H中的k个函数得出k个哈希值,检查位向量M中对应k个哈希值是否全为1,若有一位为0,则元素B肯定不属于该集合;若全为1,则判定该元素B属于该集合。
可选的,设置布隆过滤器时,可设置位向量的大小为N(N=32、64、128等);设置K个Hash函数,K为3或者4等,查询、插入元素的大小为JBDT的大小。
结合图1所示,该芯片10包括:处理器核11和硬件监督模块12。
处理器核11用于运行程序,并执行至跳转指令时,将所述跳转指令对应的跳转参数发送给硬件监督模块;所述跳转参数包括程序计数器PC值和跳转目标地址;
硬件监督模块12用于根据所述PC值、所述跳转目标地址以及内部记录结构,得到安全检查结果;所述内部记录结构用于记录符合安全规则的跳转指令对应的跳转参数。
所述处理器核11还用于根据所述安全检查结果,执行对应的操作。
其中,处理器核和硬件监督模块之间设置接口总线,通过接口总线可进行信息交互,例如跳转指令对应的跳转参数、安全检查结果等,接口总线的宽度可变,如8为、16位、32位、64位等,可根据具体的实现条件来进行确定,接口总线可以自定义,也可以采用现有标准的并行或者串行总线,可根据实际情况进行选用,本方案对此不做要求。
在处理器核和硬件监督模块之间设置例外信号线,若硬件监督模块的安全检查结果为例外,则处理器核接收硬件监督模块通过例外信号线发过来的例外信号,只需要1位即可。当置为1时,表示需要执行安全规则检查的例外;置为0时表示不需要执行安全规则检查的例外。
当例外信号线置为1时,处理器核中断当前流水线执行,跳到安全规则检查的例外处理程序执行,即运行安全规则检查程序。
本实施例提供的芯片10可以应用于各种电子设备中,包括处理器核11和硬件监督模块12,在处理器核运行程序的过程中,当执行至跳转指令时,将跳转指令对应的跳转参数发送给硬件监督模块,该跳转参数包括程序计数器PC值和跳转目标地址,硬件监督模块根据跳转指令对应的PC值、跳转目标地址以及内部记录结构,得到安全检查结果,并根据所述安全检查结果,执行对应的操作,通过软硬件协同,对跳转指令的执行进行实时安全监督,实现了对多种改变程序控制流攻击的有效检测和防护,有效减小了因检测改变程序控制流攻击带来的较大的系统性能开销。
在一种具体的实现方式中,述安全检查结果包括正常和例外,则所述处理器核11具体用于:
若所述安全检查结果为正常,则所述处理器核继续运行所述程序;
若所述安全检查结果为例外,则所述处理器核对所述跳转指令进行安全规则检查;所述安全规则检查用于确定所述跳转指令是否为安全跳转指令。
在一种具体的实现方式中,结合图2所示,所述硬件监督模块12具体用于:
根据所述PC值和所述跳转目标地址,生成跳转行为描述标记;
根据所述跳转行为描述标记,在内部记录结构1221中记录的符合安全规则的跳转指令对应跳转参数中进行查找;
若所述内部记录结构1221中存在与所述跳转行为描述标记对应的跳转参数,则所述安全检查结果为正常;
若所述内部记录结构1221中不存在与所述跳转行为描述标记对应的跳转参数,则所述安全检查结果为例外。
在一种具体的实现方式中,所述处理器核11具体用于:
若所述改变程序控制流攻击为缓冲区溢出攻击,则根据所述跳转指令对应的跳转目标地址与预设置的第一审核表,确定所述跳转目标地址是否处于可执行内存空间;所述第一审核表包含每个可执行内存空间的起始地址和结束地址;
若所述跳转指令对应的跳转目标地址处于可执行内存空间,则确定所述跳转指令为安全跳转指令;否则,确定所述跳转指令为非安全跳转指令。
在一种具体的实现方式中,所述处理器核11具体用于:
若所述改变程序控制流攻击为返回共享库攻击或者返回导向编程技术攻击,则根据所述跳转指令对应的PC值和预设置的第二审核表,获取所述第二审核表中与所述PC值对应的可能目标地址列表;确定所述跳转指令对应的跳转目标地址是否与所述可能目标地址列表中的任一可能目标地址一致;
若是,则确定所述跳转指令为安全跳转指令;否则,确定所述跳转指令为非安全跳转指令。
在一种具体的实现方式中,所述处理器核11还用于若所述跳转指令为安全跳转指令,则生成插入信息,并发送给所述硬件监督模块;
所述硬件监督模块12还用于根据所述插入信息,将所述跳转指令对应的PC值和跳转目标地址记录于所述内部记录结构,所述插入信息包括所述跳转指令对应的PC值和跳转目标地址;
所述处理器核11还用于若所述跳转指令为非安全跳转指令,则生成报警信息。
在一种具体的实现方式中,所述硬件监督模块12具体用于:
根据所述PC值和所述跳转目标地址,生成跳转行为描述标记;
根据所述插入信息,将所述跳转行为描述标记记录于所述内部记录结构。
本实施例提供的芯片,可以执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
本发明实施例还提供一种电子设备,参见图7所示,本发明实施例仅以图7为例进行说明,并不表示本发明仅限于此。
图7为本发明一实施例提供的电子设备的硬件结构示意图。本实施例提供的电子设备包括但不限于移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
如图7所示,本实施例提供的电子设备20可以包括:用于存储数据的存储器201、芯片10;可选的还可以包括总线203。其中,总线203用于实现各元件之间的连接。
所述芯片10用于执行前述任一项实施例提供的计算机安全防护方法。
其中,存储器201和芯片10之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可以通过一条或者多条通信总线或信号线实现电性连接,如可以通过总线203连接。
存储器201可以是,但不限于,随机存取存储器(Random Access Memory,简称:RAM),只读存储器(Read Only Memory,简称:ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称:PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称:EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称:EEPROM)等。其中,存储器201还用于存储程序,芯片10在接收到执行指令后,执行程序。进一步地,上述存储器201内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
芯片10具有信号的处理能力。上述的芯片10可以是通用处理器,包括中央处理器(Central Processing Unit,简称:CPU)、网络处理器(Network Processor,简称:NP)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。可以理解,图7的结构仅为示意,还可以包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。图7中所示的各组件可以采用硬件和/或软件实现。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机执行指令,计算机执行指令被处理器执行时可以实现上述任一方法实施例提供的计算机安全防护方法。
本实施例中的计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备,可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如SSD)等。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (14)

1.一种计算机安全防护方法,其特征在于,应用于芯片对改变程序控制流的攻击防护中,所述芯片上设置有处理器核和硬件监督模块,所述方法包括:
响应于处理器核运行程序,并执行至所述程序中的跳转指令时,将所述跳转指令对应的跳转参数发送给所述硬件监督模块;所述跳转参数包括程序计数器PC值和跳转目标地址;
所述硬件监督模块根据所述PC值、所述跳转目标地址以及内部记录结构,得到安全检查结果;所述内部记录结构用于记录符合安全规则的跳转指令对应的跳转参数;
所述处理器核根据所述安全检查结果,执行对应的操作。
2.根据权利要求1所述的方法,其特征在于,所述安全检查结果包括正常和例外,则所述处理器核根据所述安全检查结果,执行对应的操作,包括:
若所述安全检查结果为正常,则所述处理器核继续运行所述程序;
若所述安全检查结果为例外,则所述处理器核对所述跳转指令进行安全规则检查;所述安全规则检查用于确定所述跳转指令是否为安全跳转指令。
3.根据权利要求1所述的方法,其特征在于,所述硬件监督模块根据所述PC值、所述跳转目标地址以及内部记录结构,得到安全检查结果,包括:
根据所述PC值和所述跳转目标地址,生成跳转行为描述标记;
根据所述跳转行为描述标记,在内部记录结构中记录的符合安全规则的跳转指令对应的跳转参数中进行查找;
若所述内部记录结构中存在与所述跳转行为描述标记对应的跳转参数,则所述安全检查结果为正常;
若所述内部记录结构中不存在与所述跳转行为描述标记对应的跳转参数,则所述安全检查结果为例外。
4.根据权利要求2所述的方法,其特征在于,所述处理器核对所述跳转指令进行安全规则检查,包括:
若所述改变程序控制流的攻击为缓冲区溢出攻击,则根据所述跳转指令对应的跳转目标地址与预设置的第一审核表,确定所述跳转目标地址是否处于可执行内存空间;所述第一审核表包含每个可执行内存空间的起始地址和结束地址;
若所述跳转指令对应的跳转目标地址处于可执行内存空间,则确定所述跳转指令为安全跳转指令;否则,确定所述跳转指令为非安全跳转指令。
5.根据权利要求2所述的方法,其特征在于,所述处理器核对所述跳转指令进行安全规则检查,还包括:
若所述改变程序控制流的攻击为返回共享库攻击或者返回导向编程技术攻击,则根据所述跳转指令对应的PC值和预设置的第二审核表,获取所述第二审核表中与所述PC值对应的可能目标地址列表;确定所述跳转指令对应的跳转目标地址是否与所述可能目标地址列表中的任一可能目标地址一致;
若是,则确定所述跳转指令为安全跳转指令;否则,确定所述跳转指令为非安全跳转指令。
6.根据权利要求4或5所述的方法,其特征在于,还包括:
若所述跳转指令为安全跳转指令,则处理器核生成插入信息,并发送给所述硬件监督模块,所述插入信息包括所述跳转指令对应的PC值和跳转目标地址;所述硬件监督模块根据所述插入信息,将所述跳转指令对应的PC值和跳转目标地址记录于所述内部记录结构;
若所述跳转指令为非安全跳转指令,则生成报警信息。
7.一种芯片,应用于对改变程序控制流的攻击防护中,其特征在于,包括:处理器核和硬件监督模块;
所述处理器核用于运行程序,并执行至所述程序中的跳转指令时,将所述跳转指令对应的跳转参数发送给硬件监督模块;所述跳转参数包括程序计数器PC值和跳转目标地址;
所述硬件监督模块用于根据所述PC值、所述跳转目标地址以及内部记录结构,得到安全检查结果;所述内部记录结构用于记录符合安全规则的跳转指令对应的跳转参数;
所述处理器核还用于根据所述安全检查结果,执行对应的操作。
8.根据权利要求7所述的芯片,其特征在于,所述安全检查结果包括正常和例外,则所述处理器核具体用于:
若所述安全检查结果为正常,则所述处理器核继续运行所述程序;
若所述安全检查结果为例外,则所述处理器核对所述跳转指令进行安全规则检查;所述安全规则检查用于确定所述跳转指令是否为安全跳转指令。
9.根据权利要求7所述的芯片,其特征在于,所述硬件监督模块具体用于:
根据所述PC值和所述跳转目标地址,生成跳转行为描述标记;
根据所述跳转行为描述标记,在内部记录结构中记录的符合安全规则的跳转指令对应跳转参数中进行查找;
若所述内部记录结构中存在与所述跳转行为描述标记对应的跳转参数,则所述安全检查结果为正常;
若所述内部记录结构中不存在与所述跳转行为描述标记对应的跳转参数,则所述安全检查结果为例外。
10.根据权利要求8所述的芯片,其特征在于,所述处理器核具体用于:
若所述改变程序控制流的攻击为缓冲区溢出攻击,则根据所述跳转指令对应的跳转目标地址与预设置的第一审核表,确定所述跳转目标地址是否处于可执行内存空间;所述第一审核表包含每个可执行内存空间的起始地址和结束地址;
若所述跳转指令对应的跳转目标地址处于可执行内存空间,则确定所述跳转指令为安全跳转指令;否则,确定所述跳转指令为非安全跳转指令。
11.根据权利要求8所述的芯片,其特征在于,所述处理器核具体用于:
若所述改变程序控制流的攻击为返回共享库攻击或者返回导向编程技术攻击,则根据所述跳转指令对应的PC值和预设置的第二审核表,获取所述第二审核表中与所述PC值对应的可能目标地址列表;确定所述跳转指令对应的跳转目标地址是否与所述可能目标地址列表中的任一可能目标地址一致;
若是,则确定所述跳转指令为安全跳转指令;否则,确定所述跳转指令为非安全跳转指令。
12.根据权利要求10或11所述的芯片,其特征在于,所述处理器核还用于若所述跳转指令为安全跳转指令,则生成插入信息,并发送给所述硬件监督模块;
所述硬件监督模块还用于根据所述插入信息,将所述跳转指令对应的PC值和跳转目标地址记录于所述内部记录结构,所述插入信息包括所述跳转指令对应的PC值和跳转目标地址;
所述处理器核还用于若所述跳转指令为非安全跳转指令,则生成报警信息。
13.一种电子设备,其特征在于,包括:用于存储数据的存储器及权利要求7至12任一项所述的芯片。
14.一种存储介质,其特征在于,包括:可读存储介质和计算机程序,所述计算机程序用于实现权利要求1至6任一项所述的计算机安全防护方法。
CN201910945955.7A 2019-09-30 2019-09-30 计算机安全防护方法、芯片、设备以及存储介质 Active CN112580052B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910945955.7A CN112580052B (zh) 2019-09-30 2019-09-30 计算机安全防护方法、芯片、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910945955.7A CN112580052B (zh) 2019-09-30 2019-09-30 计算机安全防护方法、芯片、设备以及存储介质

Publications (2)

Publication Number Publication Date
CN112580052A true CN112580052A (zh) 2021-03-30
CN112580052B CN112580052B (zh) 2023-05-30

Family

ID=75117107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910945955.7A Active CN112580052B (zh) 2019-09-30 2019-09-30 计算机安全防护方法、芯片、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN112580052B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113312088A (zh) * 2021-06-29 2021-08-27 北京熵核科技有限公司 一种程序指令的执行方法及装置
WO2023193572A1 (zh) * 2022-04-06 2023-10-12 北京有竹居网络技术有限公司 一种数据管理方法、装置、服务器和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090158017A1 (en) * 2007-12-17 2009-06-18 Microsoft Corporation Target-frequency based indirect jump prediction for high-performance processors
CN104866767A (zh) * 2015-05-11 2015-08-26 北京航空航天大学 一种新型安全机制的嵌入式模块
CN106295322A (zh) * 2016-07-26 2017-01-04 北京航空航天大学 一种针对缓冲区溢出攻击的硬件保护模型

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090158017A1 (en) * 2007-12-17 2009-06-18 Microsoft Corporation Target-frequency based indirect jump prediction for high-performance processors
CN104866767A (zh) * 2015-05-11 2015-08-26 北京航空航天大学 一种新型安全机制的嵌入式模块
CN106295322A (zh) * 2016-07-26 2017-01-04 北京航空航天大学 一种针对缓冲区溢出攻击的硬件保护模型

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113312088A (zh) * 2021-06-29 2021-08-27 北京熵核科技有限公司 一种程序指令的执行方法及装置
WO2023193572A1 (zh) * 2022-04-06 2023-10-12 北京有竹居网络技术有限公司 一种数据管理方法、装置、服务器和存储介质

Also Published As

Publication number Publication date
CN112580052B (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
CN102932329B (zh) 一种对程序的行为进行拦截的方法、装置和客户端设备
US9614867B2 (en) System and method for detection of malware on a user device using corrected antivirus records
CN103946855A (zh) 用于检测面向返回编程攻击的方法、装置和系统
CN107943949A (zh) 一种确定网络爬虫的方法及服务器
CN111125688B (zh) 一种进程控制方法、装置及电子设备和存储介质
US20160196427A1 (en) System and Method for Detecting Branch Oriented Programming Anomalies
CN109271789B (zh) 恶意进程检测方法、装置、电子设备及存储介质
CN111177727B (zh) 漏洞检测方法及装置
CN112580052B (zh) 计算机安全防护方法、芯片、设备以及存储介质
EP3251047B1 (en) Protection against database injection attacks
CN110717181B (zh) 基于新型程序依赖图的非控制数据攻击检测方法及装置
KR20160099159A (ko) 악성 코드를 탐지하기 위한 전자 시스템 및 방법
US10885184B1 (en) Rearranging executables in memory to prevent rop attacks
CN113872959A (zh) 一种风险资产等级判定和动态降级方法和装置及设备
EP3535681B1 (en) System and method for detecting and for alerting of exploits in computerized systems
JP7427577B2 (ja) 情報処理装置、情報処理方法およびプログラム
CN111444510A (zh) 基于虚拟机实现的cpu漏洞检测方法及系统
US11461490B1 (en) Systems, methods, and devices for conditionally allowing processes to alter data on a storage device
CN108763053A (zh) 埋点名称的生成方法及终端设备
CN115248908A (zh) 一种保护核心代码的方法、装置、设备和存储介质
CN111950017A (zh) 内存数据保护方法、装置、设备以及存储介质
CN105631317A (zh) 一种系统调用方法及装置
KR102535251B1 (ko) 전자 장치의 사이버 보안 리포트 생성 방법
CN111177805B (zh) 一种提高处理器运行安全性的方法、装置及cpu芯片
CN109190383B (zh) 访问指令的处理方法、装置及设备

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