一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

攻击检测方法、装置、计算机设备、存储介质和程序产品与流程

2022-06-30 01:02:42 来源:中国专利 TAG:
1.本技术涉及信息安全
技术领域
:,特别是涉及一种攻击检测方法、装置、计算机设备、存储介质和程序产品。
背景技术
::2.随着业务上云进程速度的加快,云上敏感数据的占比和数量也在逐年上升。3.云上业务大多运行在虚拟机中,攻击者可利用虚拟机侧的漏洞攻击虚拟机,这将对云上业务产生难以估量的影响。进一步地,攻击者可在虚拟机中执行恶意代码或造成程序崩溃,从而威胁到整个云平台乃至宿主机的安全。4.因此,亟需对虚拟机的攻击进行有效检测,以保证云上业务的安全。技术实现要素:5.基于此,有必要针对上述技术问题,提供一种能够保证云上业务的安全的攻击检测方法、装置、计算机设备、存储介质和程序产品。6.第一方面,本技术提供了一种攻击检测方法,该方法包括:7.目标主机获取目标主机中运行的虚拟机的进程信息;目标主机中包括控制流安全防护机制;控制流安全防护机制用于对虚拟机中的进程进行安全防护;8.目标主机根据进程信息,确定虚拟机是否存在恶意攻击;9.若确定虚拟机遭受到了恶意攻击,则目标主机停止控制流安全防护机制的运行,并检测虚拟机遭受的攻击类型。10.在其中一个实施例中,目标主机获取目标主机中运行的虚拟机的进程信息,包括:11.目标主机对虚拟机中的白名单进程进行过滤,得到非白名单进程;12.目标主机对非白名单进程进行检测,将非白名单进程的检测信息确定为虚拟机的进程信息。13.在其中一个实施例中,目标主机根据进程信息,确定虚拟机中是否存在恶意攻击,包括:14.目标主机根据进程信息,检测虚拟机中是否存在异常操作;异常操作包括页表异常操作或进程异常操作;15.若虚拟机中存在异常操作,目标主机确定虚拟机中存在恶意攻击。16.在其中一个实施例中,检测虚拟机中恶意攻击的攻击类型,包括:17.目标主机根据异常操作,通过预设的异常操作与攻击类型的映射关系确定虚拟机中恶意攻击的攻击类型;攻击类型至少包括返回攻击、跳转攻击、调用攻击。18.在其中一个实施例中,根据异常操作,通过预设的异常操作与攻击类型的映射关系确定虚拟机中恶意攻击的攻击类型,包括:19.若异常类型为页表异常操作时,目标主机确定恶意攻击的攻击类型为返回攻击;20.若异常类型为进程异常操作时,目标主机根据预设的攻击类型识别策略确定恶意攻击的攻击类型。21.在其中一个实施例中,进程信息包括进程地址信息;则目标主机根据预设的攻击类型识别策略确定恶意攻击的攻击类型,包括:22.目标主机获取进程信息中的第一进程地址信息和第二进程地址信息;第一地址信息的获取时刻在第二地址信息的获取时刻之前;23.若第一地址信息与第二地址信息未匹配成功,目标主机确定恶意攻击的攻击类型为返回攻击。24.在其中一个实施例中,根据预设的攻击类型识别策略确定恶意攻击的攻击类型,包括:25.若进程信息中存在寄存器非法访问标识信息,则目标主机确定恶意攻击的攻击类型为返回攻击。26.在其中一个实施例中,进程信息包括目标基本块;则根据预设的攻击类型识别策略确定恶意攻击的攻击类型,包括:27.目标主机获取进程信息中的目标基本块的调用信息;28.若进程信息中的目标基本块的调用信息满足预设条件,且虚拟机中的进行的调用指令与跳转攻击指令相匹配,则目标主机确定恶意攻击的攻击类型为跳转攻击;29.若进程信息中的目标基本块的调用信息满足预设条件,且虚拟机中的进行的调用指令与调用攻击指令相匹配,则目标主机确定恶意攻击的攻击类型为调用攻击。30.在其中一个实施例中,调用信息包括调用次数和标记指令,则调用信息满足预设条件为:调用次数大于预设阈值,或者,缺失标记指令。31.在其中一个实施例中,该方法还包括:32.目标主机根据虚拟机遭受的攻击类型,输出告警信息。33.第二方面,本技术还提供了一种攻击检测装置,该装置包括:34.获取模块,用于目标主机获取目标主机中运行的虚拟机的进程信息;目标主机中包括控制流安全防护机制;控制流安全防护机制用于对虚拟机中的进程进行安全防护;35.确定模块,用于目标主机根据进程信息,确定虚拟机是否存在恶意攻击;36.检测模块,用于在确定虚拟机遭受到了恶意攻击的情况下,则目标主机停止控制流安全防护机制的运行,并检测虚拟机遭受的攻击类型。37.第三方面,本技术还提供了一种目标主机,该目标主机包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述方法实施例中的所有内容。38.第四方面,本技术还提供了一种计算机可读存储介质,计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中的所有内容。39.第五方面,本技术还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的所有内容。40.上述攻击检测方法、装置、计算机设备、存储介质和程序产品,目标主机通过获取目标主机中运行的虚拟机的进程信息,根据进程信息,确定虚拟机是否存在恶意攻击,若确定虚拟机遭受到了恶意攻击,则目标主机停止控制流安全防护机制的运行,并检测虚拟机遭受的攻击类型。该方法中的控制流安全防护机制设置在目标主机中,相比于设置在虚拟机内部来说,控制流安全防护机制本身不易收到攻击,控制流安全防护机制能够对虚拟机的进程进行有效的检测,同时也能避免控制流安全防护机制本身收到攻击,能够保证云上业务的安全性。附图说明41.图1为一个实施例中攻击检测方法的应用环境图;42.图2为一个实施例中攻击检测方法的流程示意图;43.图3为一个实施例中攻击检测方法的流程示意图;44.图4为一个实施例中攻击检测方法的流程示意图;45.图5为一个实施例中攻击检测方法的流程示意图;46.图6为一个实施例中攻击检测方法的流程示意图;47.图7为一个实施例中攻击检测方法的流程示意图;48.图8为一个实施例中攻击检测方法的流程示意图;49.图9为一个实施例中攻击检测方法的流程示意图;50.图10为一个实施例中攻击检测装置的结构示意图;51.图11为一个实施例中计算机设备的内部结构图。具体实施方式52.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。53.需要说明的是,本公开的攻击检测方法、装置、计算机设备、存储介质和程序产品可以应用在信息安全
技术领域
:,也可用于除信息安全技术外的其他
技术领域
:,本公开对攻击检测方法、装置、计算机设备、存储介质和程序产品的应用领域不做限定。54.首先,在具体介绍本技术实施例的技术方案之前,先对本技术实施例基于的技术背景进行介绍。55.随着信息技术的不断发展,全球云计算经历了快速发展扩张阶段,国内目前云计算中的基础设施服务(infrastructureasaservice,iaas)和平台服务(platformasaservice,paas)都处于迅速增长阶段,而云计算中的软件服务(softwareasaservice,saas)还具有较大的发展空间。随着“新基建”概念的提出,国内云计算技术将持续创新,云计算技术将在社会生活各领域中得到应用和发展。56.云平台中存放着云租户的大量敏感数据。随着业务上云的进程加快,云上敏感数据的占比和数量也在逐年上升。促进安全与云的深度融合、确保云租户的业务平稳运行和数据安全性成为云计算追求的目标。目前,云上业务目前大多运行在虚拟机中,但攻击者可利用虚拟机的漏洞对虚拟机进行攻击,会对宿主机造成影响,这将导致云上租户的业务和数据遭到威胁。攻击者可利用缓冲区溢出漏洞在虚拟机中执行恶意代码或造成程序崩溃,进一步威胁到宿主机乃至整个云平台的安全。57.本技术实施例提供的攻击检测方法,可以应用于如图1所示的应用环境中。虚拟机运行在目标主机上,目标主机中包括控制流安全防护机制,控制流安全防护机制用于对虚拟机的进程进行安全防护。其中,目标主机可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。58.在一个实施例中,如图2所示,提供了一种攻击检测方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:59.s201,目标主机获取目标主机中运行的虚拟机的进程信息;目标主机中包括控制流安全防护机制;控制流安全防护机制用于对虚拟机中的进程进行安全防护。60.其中,控制流强制实施技术(control-flowenforcementtechnology,cet)可以通过通过添加影子堆栈虚拟寄存器(shadowstackpointer,ssp)以及添加影子堆栈内存页的访问属性来开启虚拟机中的进程防护。在目标主机上设置控制流安全防护机制之前,需要扩展目标主机中运行的虚拟机的虚拟处理器(videocompressionprocessorunit,vcpu)以及内存虚拟化的相关控制结构,以达到对控制流安全防护机制的维护。通过在虚拟机控制结构(virtual-machinecontrolstructure,vmcs)中加入指向影子堆栈的虚拟寄存器(shadowstackpointer,ssp),当虚拟机陷入到目标主机时,将虚拟机的状态保存到vmcs中,由此来维护虚拟机关于控制流安全防护机制防护的上下文环境。同时,在目标主机的虚拟化层添加针对虚拟机中进程的跟踪,用来控制控制流安全防护机制对虚拟机防护的开启与停止。上述虚拟机的进程信息包括进程当前状态、程序运行地址、进程名称和进程标识等信息。61.具体的,目标主机中的控制流安全防护机制对目标主机中运行的虚拟机的进程进行实时防护,控制流安全防护机制可以实时的获取目标主机中运行的虚拟机的进程信息,或者,控制流安全防护机制可以按照预设的时间间隔周期性的获取目标主机中运行的虚拟机的进程信息,控制流安全防护机制可以将获取到的虚拟机的进程信息发送给目标主机,目标主机可以获取到虚拟机的进程信息。62.s202,目标主机根据进程信息,确定虚拟机是否存在恶意攻击。63.其中,恶意攻击可以是包括恶意勒索病毒、木马行为、暴力破解及横向扩展等。64.可选的,目标主机可以根据历史进程中出现的恶意攻击建立恶意攻击库,对进程信息判断的过程中,目标主机可以将进程信息与预设的恶意攻击库中的恶意攻击进行匹配,当进程信息与恶意攻击库中的任意一个恶意攻击匹配成功时,确定虚拟机不存在恶意攻击;当进程信息与恶意攻击库中的所有恶意攻击都匹配不成功时,确定虚拟机不存在恶意攻击。可选的,目标主机可以将历史进程中出现的恶意攻击作为训练样本,利用该样本训练神经网络模型,得到恶意攻击判断模型,当目标主机获取到虚拟机的进程信息后,将该进程信息输入至恶意攻击判断模型中,通过恶意攻击判断模型的计算,输出判断结果。例如,若输出结果为1时,确定虚拟机存在恶意攻击;若输出结果为0时,确定虚拟机不存在恶意攻击。本技术对于根据进程信息判断虚拟机是否存在恶意攻击的方式不做限定。65.s203,若确定虚拟机遭受到了恶意攻击,则目标主机停止控制流安全防护机制的运行,并检测虚拟机遭受的攻击类型。66.其中,虚拟机遭受的攻击类型可以是返回攻击(return-orientedprogramming,rop)、跳转攻击(jump-orientedprogramming,jop)、调用攻击(call-orientedprogramming,cop)、分布式拒绝服务(distributeddenialofservice,ddos)攻击、跨站点脚本(crosssitescripting,xss)等攻击类型。67.具体的,当确定虚拟机遭受到恶意攻击之后,目标主机获取虚拟机的控制权,使得虚拟机的运行过程终断,同时目标主机向控制流安全防护机制发送停止运行指令,控制流安全防护机制接收到目标主机发送的运行指令后,停止对虚拟机的防护检测。进一步的,目标主机可以将获取到的进程信息与恶意攻击库中的各恶意攻击类型进行匹配,当进程信息与恶意攻击库中的任意一个恶意攻击匹配成功时,将该恶意特征对应的攻击类型确定为虚拟机遭受到的攻击类型。68.上述攻击检测方法,目标主机通过获取目标主机中运行的虚拟机的进程信息,根据进程信息,确定虚拟机是否存在恶意攻击,若确定虚拟机遭受到了恶意攻击,则目标主机停止控制流安全防护机制的运行,并检测虚拟机遭受的攻击类型。该方法中的控制流安全防护机制设置在目标主机中,相比于设置在虚拟机内部来说,控制流安全防护机制本身不易收到攻击,控制流安全防护机制能够对虚拟机的进程进行有效的检测,同时也能避免控制流安全防护机制本身收到攻击,能够保证云上业务的安全性。69.图3为本技术实施例提供的攻击检测方法的流程示意图。本技术实施例涉及目标主机获取目标主机中运行的虚拟机的进程信息的一种可选的实现方式。70.在图2所示实施例的基础上,如图3所示,上述s201可以包括如下步骤:71.s301,目标主机对虚拟机中的白名单进程进行过滤,得到非白名单进程。72.其中,虚拟机中的白名单进程是指无需防护的进程,白名单进程在所有进程中重要性占比较低,对整个进程的影像较小,攻击者一般不会对虚拟机中的白名单进程进行攻击,因此,无需对白名单进程进行防护。73.可选的,目标主机可以获取虚拟机中的白名单进程的关键词信息,通过关键词过滤算法对虚拟机中所有名单进程的关键词信息进行分析,过滤掉虚拟机中的白名单进程对应的关键词信息,将剩余的关键词信息对应的进程确定为非白名单进程。可选的,目标主机可以对虚拟机中的白名单进程进行标记,将虚拟机中的所有进程中不带标记的进程确定为非白名单进程。可选的,虚拟机控制结构属于控制流安全防护机制中的一个结构,虚拟机控制结构用于记录虚拟机的进程信息,控制寄存器(controlregister-3,cr3)用于保存页目录表页面的物理地址,当cr3寄存器的值更新时,虚拟机中的进程发生了切换,当目标主机将白名单进程的cr3值写入vmcs结构的cr3-targetcontrols字段,使得虚拟机运行白名单进程时控制流安全防护机制停止防护。本实施例对此不做限定。74.s302,目标主机对非白名单进程进行检测,将非白名单进程的检测信息确定为虚拟机的进程信息。75.可选的,目标主机可以对虚拟机中的非白名单进程进行实时检测,或者,目标主机可以按照预设的时间间隔对非白名单进程进行周期性的检测,将非白名单进程的检测信息确定为虚拟机的进程信息。本实施例对于确定虚拟机的进程信息的方式不做限定。76.上述攻击检测方法,目标主机对虚拟机中的白名单进程进行过滤,得到非白名单进程,对非白名单进程进行检测,将非白名单进程的检测信息确定为虚拟机的进程信息。该方法通过对白名单进程进行过滤,使得目标主机的检测对象数量减少,对非白名单进程进程检测,使得目标主机的检测过程更有针对性,提高了虚拟机的进程信息的获取效率。77.图4为本技术实施例提供的攻击检测方法的流程示意图。本技术实施例涉及目标主机根据进程信息,确定虚拟机中是否存在恶意攻击的一种可选的实现方式。在图2所示实施例的基础上,如图4所示,上述s202可以包括如下步骤:78.s401,目标主机根据进程信息,检测虚拟机中是否存在异常操作;异常操作包括页表异常操作或进程异常操作。79.其中,页表异常操作是指虚拟机的扩展页表(extendedpagetables,ept)异常,目标主机通过扩展ept页表,添加影子堆栈对应的访问属性,控制影子页表的访问权限,防止出现返回攻击。根据虚拟机返回的错误代码可以将异常操作分类为返回地址不匹配、ssp寄存器非法访问、间接调用或跳转指令的目标基本块丢失endbranch指令。80.具体的,目标主机获取页表异常操作和进程异常操作分别对应的历史进程信息,将获取到的进程信息与页表异常操作和进程异常操作分别对应的历史进程信息进行匹配,若获取到的进程信息历史进程信息中的任意一个进程信息可以匹配成功,确定虚拟机中存在异常操作;若获取到的进程信息历史进程信息中的任意一个进程信息都未匹配成功,确定虚拟机中未存在异常操作。81.s402,若虚拟机中存在异常操作,目标主机确定虚拟机中存在恶意攻击。82.具体的,页表异常操作和进程异常操作分别对应不同的恶意攻击,当目标主机确定虚拟机的进程信息中存在页表异常操作或进程异常操作时,即可确定虚拟机中存在恶意攻击;当目标主机确定虚拟机的进程信息中存在除页表异常操作和进程异常操作外的其他异常操作,或者,当目标主机确定虚拟机的进程信息中不存在异常操作时,确定虚拟机中不存在恶意攻击。83.上述攻击检测方法,目标主机根据进程信息,检测虚拟机中是否存在异常操作,若虚拟机中存在异常操作,目标主机确定虚拟机中存在恶意攻击。该方法通过判断进程信息中是否存在页表异常操作或进程异常操作两种异常操作来确定虚拟机中是否存在恶意攻击,可以准确的确定虚拟机中是否存在恶意攻击,提高了攻击检测的准确性。84.在另一个实施例中,本技术实施例涉及检测虚拟机中恶意攻击的攻击类型的一种可选的实现方式。在图2所示实施例的基础上,上述s203可以包括:目标主机根据异常操作,通过预设的异常操作与攻击类型的映射关系确定虚拟机中恶意攻击的攻击类型;攻击类型至少包括返回攻击、跳转攻击、调用攻击。85.其中,返回攻击、跳转攻击、调用攻击都是虚拟机的缓冲区的溢出攻击,返回攻击通过修改ret指令的返回地址,使其跳转至可利用的指令片段(gadget),从而控制虚拟机的进程。跳转攻击和调用攻击则分别是控制间接jmp指令、call指令的目标地址。86.具体的,预设的异常操作与攻击类型的映射关系可以根据历史异常操作与攻击类型来确定,目标主机可以将异常操作与历史异常操作进行匹配,当异常操作与历史异常操作中的任意一个匹配成功时,将历史异常操作对应的攻击类型确定为异常操作对应的攻击类型,即可确定虚拟机中恶意攻击的攻击类型。87.上述攻击检测方法,目标主机根据异常操作,通过预设的异常操作与攻击类型的映射关系确定虚拟机中恶意攻击的攻击类型。该方法中攻击类型至少包括返回攻击、跳转攻击、调用攻击,通过预设的异常操作与攻击类型的映射关系可以准确的确定具体的攻击类型,方便技术人员对于不同的攻击类型提供不同的解决方法。88.图5为本技术实施例提供的攻击检测方法的流程示意图。本技术实施例涉及根据异常操作,通过预设的异常操作与攻击类型的映射关系确定虚拟机中恶意攻击的攻击类型的一种可选的实现方式。在上述实施例的基础上,如图5所示,上述实施例可以包括如下步骤:89.s501,若异常类型为页表异常操作时,目标主机确定恶意攻击的攻击类型为返回攻击。90.具体的,目标主机可以对页表异常操作和进行异常操作进行不同的标记,当目标主机获取到的标记为页表异常操作对应的标记时,确定虚拟机的出现异常,通过进程信息确定是否为控制流安全防护机制中的影子堆栈的非法访问导致的ept页表异常,当为影子堆栈的非法访问导致的ept页表异常时,确定虚拟机的进程中存在返回攻击。91.s502,若异常类型为进程异常操作时,目标主机根据预设的攻击类型识别策略确定恶意攻击的攻击类型。92.具体的,预设的攻击类型识别策略中包括各攻击类型与进程异常操作时的进程信息的映射关系,目标主机可以将进程信息与进程异常操作时的进程信息进行匹配,当进程信息与进程异常操作时的进程信息匹配成功时,将进程异常操作时的进程信息对应的攻击类型确定为该进程信息对应的攻击类型。例如,当进程信息中包括“返回地址不匹配”时,对应的攻击类型为返回攻击;当进程信息中包括“ssp寄存器非法访问”时,对应的攻击类型为返回攻击。93.上述攻击检测方法,若异常类型为页表异常操作时,目标主机确定恶意攻击的攻击类型为返回攻击,若异常类型为进程异常操作时,目标主机根据预设的攻击类型识别策略确定恶意攻击的攻击类型。该方法中将页表异常操作确定为返回攻击,再根据预设的攻击类型识别策略可以准确的确定进程异常操作对应的具体的攻击类型,可以提高控制流安全防护机制对虚拟机检测的准确性。94.图6为本技术实施例提供的攻击检测方法的流程示意图。本技术实施例涉及进程信息包括进程地址信息;则目标主机根据预设的攻击类型识别策略确定恶意攻击的攻击类型的一种可选的实现方式。在图5实施例的基础上,如图6所示,上述s502可以包括如下步骤:95.s601,目标主机获取进程信息中的第一进程地址信息和第二进程地址信息;第一地址信息的获取时刻在第二地址信息的获取时刻之前。96.其中,第一进程地址信息和第二进程地址信息可以是互联网协议(interworkingprotocol,ip)地址,也可以是媒体存取控制位址(mediaaccesscontroladdress,mac)。第一进程地址信息是指虚拟机中进程的起始时刻的地址,第二地址信息是指虚拟机发生陷入时刻的地址。97.具体的,目标主机可以通过调用相应的地址函数在虚拟机进程的起始时刻获取第一进程地址信息,并将第一进程地址信息存储至控制流安全防护机制中的影子堆栈中,控制流安全防护机制对虚拟机的进程信息进行防护,当存在恶意攻击时,虚拟机发生陷入,目标主机获取虚拟机的控制权,目标主机再通过调用相应的地址函数在虚拟机进程的陷入时刻获取第二进程地址信息,并将第二进程地址信息存储至控制流安全防护机制中的影子堆栈中。98.s602,若第一地址信息与第二地址信息未匹配成功,目标主机确定恶意攻击的攻击类型为返回攻击。99.具体的,目标主机获取控制流安全防护机制中的影子堆栈中的第一地址信息与第二地址信息,将第一地址信息与第二地址信息进行匹配,当两个地址信息未匹配成功时,说明在虚拟机运行过程中,攻击者通过返回攻击对虚拟机的进程地址进行了篡改,此时,确定虚拟机进程的恶意攻击的攻击类型为返回攻击。100.上述攻击检测方法,目标主机获取进程信息中的第一进程地址信息和第二进程地址信息;第一地址信息的获取时刻在第二地址信息的获取时刻之前,若第一地址信息与第二地址信息未匹配成功,目标主机确定恶意攻击的攻击类型为返回攻击。该方法通过将虚拟机运行过程的进程前后的地址信息进行匹配,能够根据地址信息的匹配情况,准确的确定对虚拟机恶意攻击的具体攻击类型,提高虚拟机检测的准确性。101.在其中一个实施例中,本技术实施例涉及根据预设的攻击类型识别策略确定恶意攻击的攻击类型的一种可选的实现方式。在图5实施例的基础上,上述s502可以包括如下步骤:若进程信息中存在寄存器非法访问标识信息,则确定恶意攻击的攻击类型为返回攻击。102.具体的,寄存器非法访问是指控制流安全防护机制中的ssp寄存器遭到攻击,也控制流安全防护机制中的影子堆栈遭到攻击,攻击者想要通过修改影子堆栈内的返回地址,控制虚拟机的进程跳转至gadget程序,以此来控制虚拟机的进程。当目标主机在进程信息中查询是否存在寄存器非法访问标识信息,当存在寄存器非法访问标识信息时,控制流安全防护机制中的ssp寄存器遭到攻击,确定恶意攻击的攻击类型为返回攻击。103.上述攻击检测方法,若进程信息中存在寄存器非法访问标识信息,则确定恶意攻击的攻击类型为返回攻击。该方法中通过进程信息的具体内容,可以快速的确定恶意攻击的攻击类型为返回攻击,提高了恶意攻击检测的效率。104.图7为本技术实施例提供的攻击检测方法的流程示意图。本技术实施例涉及进程信息包括目标基本块;则根据预设的攻击类型识别策略确定恶意攻击的攻击类型的一种可选的实现方式。在图5实施例的基础上,如图7所示,上述s502可以包括如下步骤:105.s701,目标主机获取进程信息中的目标基本块的调用信息。106.具体的,调用信息包括调用次数和标记指令,虚拟机的进程执行间接jmp指令和间接call指令时,对应的状态从idle状态转换为wait_for_endbranch状态,只有下一条指令为endbranch指令时再正常转换为idle状态,否则虚拟机将出现异常操作。目标主机获取到虚拟机的进程信息后,在虚拟机的进程信息中查询目标基本块的调用次数,根据指令状态确定目标基本块的标记指令。107.s702,若进程信息中的目标基本块的调用信息满足预设条件,且虚拟机中的进行的调用指令与跳转攻击指令相匹配,则目标主机确定恶意攻击的攻击类型为跳转攻击。108.其中,跳转攻击指令是指跳转攻击对应的jmp指令。调用信息满足预设条件为:调用次数大于预设阈值,或者,缺失标记指令,预设阈值是虚拟机正常进程下的目标基本块的调用次数,缺失标记指令是指调用或者跳转时,目标基本块上没有endbranch指令。109.具体的,目标主机将目标基本块的调用次数与预设阈值比较,当目标基本块的调用次数大于预设阈值时,或者,当目标基本块的调用信息缺失标记指令时,确定目标主机存在跳转攻击或调用攻击。进一步的,将虚拟机中的进行的调用指令与jmp指令和call指令相匹配,当虚拟机中的进行的调用指令与jmp攻击指令匹配成功时,确定恶意攻击的攻击类型为跳转攻击。110.s703,若进程信息中的目标基本块的调用信息满足预设条件,且虚拟机中的进行的调用指令与调用攻击指令相匹配,则目标主机确定恶意攻击的攻击类型为调用攻击。111.其中,调用攻击指令是指调用攻击对应的call指令。112.具体的,将虚拟机中的进行的调用指令与jmp指令和call指令相匹配,当虚拟机中的进行的调用指令与call指令匹配成功时,确定恶意攻击的攻击类型为跳转攻击。113.上述攻击检测方法,目标主机获取进程信息中的目标基本块的调用信息,若进程信息中的目标基本块的调用信息满足预设条件,且虚拟机中的进行的调用指令与跳转攻击指令相匹配,则目标主机确定恶意攻击的攻击类型为跳转攻击,若进程信息中的目标基本块的调用信息满足预设条件,且虚拟机中的进行的调用指令与调用攻击指令相匹配,则目标主机确定恶意攻击的攻击类型为调用攻击。该方法通过目标基本块的调用信息可以确定攻击类型为跳转攻击或调用攻击,通过跳转攻击指令和调用攻击指令进一步的确定攻击类型为跳转攻击还是调用攻击,提高了恶意攻击检测的准确性。114.在另一个实施例中,本技术实施例涉及告警的一种可选的实现方式。在图2实施例的基础上,上述过程还可以包括如下步骤:目标主机根据虚拟机遭受的攻击类型,输出告警信息。115.具体的,目标主机可以通过语音或者文字的形式输出虚拟机遭受的攻击类型的告警信息,例如,告警信息可以为“虚拟机遭受到返回攻击,请及时处理”,也可以为“虚拟机遭受到跳转攻击,请及时处理”。116.上述攻击检测方法,目标主机根据虚拟机遭受的攻击类型,输出告警信息。该方法通过将虚拟机遭受的攻击类型进行告警,能够及时的通知到技术人员对恶意攻击进行处理,从而保护了虚拟机进程的安全,进而保证了云上业务的安全。117.在一个实施例中,为了便于本领域技术人员的理解,以下对攻击检测方法进行详细介绍,如图8所示,该方法可以包括:118.s801,目标主机对虚拟机中的白名单进程进行过滤,得到非白名单进程;119.s802,目标主机对非白名单进程进行检测,将非白名单进程的检测信息确定为虚拟机的进程信息。120.s803,目标主机根据进程信息,检测虚拟机中是否存在异常操作;121.s804,若虚拟机中存在异常操作,且异常类型为页表异常操作时,目标主机确定恶意攻击的攻击类型为返回攻击;122.s805,若虚拟机中存在异常操作,且异常类型为进程异常操作时,目标主机根据预设的攻击类型识别策略确定恶意攻击的攻击类型;123.s806,目标主机获取进程信息中的第一进程地址信息和第二进程地址信息;第一地址信息的获取时刻在第二地址信息的获取时刻之前;124.s807,若第一地址信息与第二地址信息未匹配成功,目标主机确定恶意攻击的攻击类型为返回攻击;125.s808,若进程信息中存在寄存器非法访问标识信息,则目标主机确定恶意攻击的攻击类型为返回攻击;126.s809,目标主机获取进程信息中的目标基本块的调用信息;127.s810,若进程信息中的目标基本块的调用信息满足预设条件,且虚拟机中的进行的调用指令与跳转攻击指令相匹配,则目标主机确定恶意攻击的攻击类型为跳转攻击;128.s811,若进程信息中的目标基本块的调用信息满足预设条件,且虚拟机中的进行的调用指令与调用攻击指令相匹配,则目标主机确定恶意攻击的攻击类型为调用攻击;129.s812,目标主机根据虚拟机遭受的攻击类型,输出告警信息。130.需要说明的是,针对上述s801-s812中的描述可以参见上述实施例中相关的描述,且其效果类似,本实施例在此不再赘述。131.进一步的,可以理解的是,图9为攻击检测方法的流程示意图,在目标主机开启cet防护之前,先通过在未遭到攻击的虚拟机进程中的间接分支跳转的目标基本块和目标基本块的对应的跳转到达次数,再对虚拟机进程中的白名单进程进行过滤,剩下非白名单进程,通过目标主机的cr3将cet防护切换至开启状态,获取虚拟机运行过程中的进程信息,根据进程信息判断虚拟机进程中是否异常操作,若虚拟机存在异常操作,虚拟机发生陷入,目标主机获取虚拟机的控制权,根据进程信息确定恶意攻击的攻击类型,将恶意攻击的攻击类型对应的信息进行告警处理,完成虚拟机进程的攻击检测过程;若虚拟机未存在异常操作,将cet中的影子堆栈信息和间接分支状态信息添加到虚拟机上下文环境中,然后继续对虚拟机的进程进行防护,保证虚拟机的正常运行。132.上述攻击检测方法中,目标主机对虚拟机中的白名单进程进行过滤,得到非白名单进程,对非白名单进程进行检测,将非白名单进程的检测信息确定为虚拟机的进程信息,根据进程信息,检测虚拟机中是否存在异常操作,若虚拟机中存在异常操作,且异常类型为页表异常操作时,确定恶意攻击的攻击类型为返回攻击,若虚拟机中存在异常操作,且异常类型为进程异常操作时,根据预设的攻击类型识别策略确定恶意攻击的攻击类型,获取进程信息中的第一进程地址信息和第二进程地址信息;第一地址信息的获取时刻在第二地址信息的获取时刻之前,若第一地址信息与第二地址信息未匹配成功,确定恶意攻击的攻击类型为返回攻击,若进程信息中存在寄存器非法访问标识信息,则确定恶意攻击的攻击类型为返回攻击,获取进程信息中的目标基本块的调用信息,若进程信息中的目标基本块的调用信息满足预设条件,且虚拟机中的进行的调用指令与跳转攻击指令相匹配,则确定恶意攻击的攻击类型为跳转攻击,若进程信息中的目标基本块的调用信息满足预设条件,且虚拟机中的进行的调用指令与调用攻击指令相匹配,则确定恶意攻击的攻击类型为调用攻击,根据虚拟机遭受的攻击类型,输出告警信息。该方法中的控制流安全防护机制设置在目标主机中,相比于设置在虚拟机内部来说,控制流安全防护机制本身不易收到攻击,控制流安全防护机制能够对虚拟机的进程进行有效的检测,同时也能避免控制流安全防护机制本身收到攻击,能够保证云上业务的安全性。133.应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。134.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的攻击检测方法的攻击检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个攻击检测装置实施例中的具体限定可以参见上文中对于攻击检测方法的限定,在此不再赘述。135.在一个实施例中,如图10所示,提供了一种攻击检测装置,包括:获取模块11、确定模块12和检测模块13,其中:136.获取模块11,用于获取中运行的虚拟机的进程信息;中包括控制流安全防护机制;控制流安全防护机制用于对虚拟机中的进程进行安全防护;137.确定模块12,用于根据进程信息,确定虚拟机是否存在恶意攻击;138.检测模块13,用于在确定虚拟机遭受到了恶意攻击的情况下,则停止控制流安全防护机制的运行,并检测虚拟机遭受的攻击类型。139.本实施例提供的攻击检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。140.在一个实施例中,上述获取模块包括:过滤单元和第一确定单元,其中:141.过滤单元,用于对虚拟机中的白名单进程进行过滤,得到非白名单进程;142.第一确定单元,用于对非白名单进程进行检测,将非白名单进程的检测信息确定为虚拟机的进程信息。143.本实施例提供的攻击检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。144.在一个实施例中,上述确定模块包括:检测单元和第二确定单元,其中:145.检测单元,用于根据进程信息,检测虚拟机中是否存在异常操作;异常操作包括页表异常操作或进程异常操作;146.第二确定单元,用于在虚拟机中存在异常操作的情况下,确定虚拟机中存在恶意攻击。147.本实施例提供的攻击检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。148.可选的,上述检测单元具体用于根据异常操作,通过预设的异常操作与攻击类型的映射关系确定虚拟机中恶意攻击的攻击类型;攻击类型至少包括返回攻击、跳转攻击、调用攻击。149.本实施例提供的攻击检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。150.可选的,上述检测单元具体用于在异常类型为页表异常操作的情况下,确定恶意攻击的攻击类型为返回攻击;在异常类型为进程异常操作的情况下,根据预设的攻击类型识别策略确定恶意攻击的攻击类型。151.本实施例提供的攻击检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。152.可选的,上述检测单元具体用于获取进程信息中的第一进程地址信息和第二进程地址信息;第一地址信息的获取时刻在第二地址信息的获取时刻之前;在第一地址信息与第二地址信息未匹配成功的情况下,确定恶意攻击的攻击类型为返回攻击。153.本实施例提供的攻击检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。154.可选的,上述检测单元具体用于在进程信息中存在寄存器非法访问标识信息的情况下,则确定恶意攻击的攻击类型为返回攻击。155.本实施例提供的攻击检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。156.可选的,上述检测单元具体用于获取进程信息中的目标基本块的调用信息;在进程信息中的目标基本块的调用信息满足预设条件的情况下,且虚拟机中的进行的调用指令与跳转攻击指令相匹配,则确定恶意攻击的攻击类型为跳转攻击;在进程信息中的目标基本块的调用信息满足预设条件的情况下,且虚拟机中的进行的调用指令与调用攻击指令相匹配,则确定恶意攻击的攻击类型为调用攻击。157.可选的,调用信息包括调用次数和标记指令,则调用信息满足预设条件为:调用次数大于预设阈值,或者,缺失标记指令。158.本实施例提供的攻击检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。159.在另一个实施例中,上述攻击检测模块还包括:告警模块,其中:160.告警模块,用于根据虚拟机遭受的攻击类型,输出告警信息。161.上述攻击检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。162.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储攻击检测数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种攻击检测方法。163.本领域技术人员可以理解,图11中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。164.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述方法实施例中的所有内容。165.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中的所有内容。166.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的所有内容。167.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。168.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistiverandomaccessmemory,mram)、铁电存储器(ferroelectricrandomaccessmemory,fram)、相变存储器(phasechangememory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。169.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。170.以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献