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

基于大数据的网络安全防护方法和网络安全防护平台

文献发布时间:2023-06-19 09:47:53


基于大数据的网络安全防护方法和网络安全防护平台

技术领域

本申请涉及网络安全技术领域,具体而言,涉及一种基于大数据的网络安全防护方法和网络安全防护平台。

背景技术

随着对信息安全的需求越来越高,网络安全技术的发展得到了广泛的关注。为了防止攻击者或者黑客的攻击,现有技术中采用了蜜罐技术。其中,蜜罐技术是一种对攻击者进行欺骗的技术,例如,通过布置一些作为诱饵的网络服务或信息,诱使攻击者对它们实施攻击,从而对攻击行为进行捕获和分析,以便于对攻击者进行追踪和标记等。

经发明人研究发现,在基于蜜罐技术的现有网络安全技术中,依旧存在着网络安全的防护效果较差的问题。

发明内容

有鉴于此,本申请的目的在于提供一种基于大数据的网络安全防护方法和网络安全防护平台,以改善现有的网络安全技术中存在的防护效果较差的问题。

为实现上述目的,本申请实施例采用如下技术方案:

一种基于大数据的网络安全防护方法,应用于网络安全防护平台,该网络安全防护平台部属有目标第一虚拟计算机和目标第二虚拟计算机,该目标第一虚拟计算机用于运行目标虚拟应用程序,该目标第二虚拟计算机用于在检测到目标攻击设备对该目标虚拟应用程序进行攻击时对该目标攻击设备进行信息采集,所述方法包括:

在所述目标攻击设备对所述目标虚拟应用程序进行攻击的过程中,检测该目标攻击设备是否识别出该目标虚拟应用程序运行于虚拟计算机,其中,该目标虚拟应用程序基于模拟目标应用程序生成;

若检测到所述目标攻击设备识别出所述目标虚拟应用程序运行于虚拟计算机,则从第一目标数据库中获取目标历史数据,其中,该目标历史数据在每一次判定该目标虚拟应用程序被识别出运行于虚拟计算机时生成;

基于所述目标历史数据,确定所述目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机;

若确定所述目标虚拟应用程序会被识别出运行于虚拟计算机,则通过目标物理计算机运行该目标虚拟应用程序,其中,该目标物理计算机为所述网络安全防护平台或与该网络安全防护平台关联的其它网络设备。

在上述基础上,本申请实施例还提供了一种网络安全防护平台,包括:

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

与所述存储器连接的处理器,用于执行该存储器存储的计算机程序,以实现上述的基于大数据的网络安全防护方法。

本申请提供的基于大数据的网络安全防护方法和网络安全防护平台,通过在检测到目标攻击设备识别出目标虚拟应用程序运行于虚拟计算机时,基于获取的目标历史数据确定目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机,以在确定目标虚拟应用程序会被识别出运行于虚拟计算机时,通过目标物理计算机运行目标虚拟应用程序。如此,由于在确定目标虚拟应用程序会被识别出运行于虚拟计算机时,可以通过目标物理计算机运行目标虚拟应用程序,提高了目标虚拟应用程序被识别出的难度,可以改善由于将目标虚拟应用程序一直通过虚拟计算机运行而导致容易被识别出的问题,从而改善现有的网络安全技术中存在的防护效果较差的问题,并且,还可以避免直接通过目标物理计算机运行目标虚拟应用程序而存在成本较高的问题,具有较高的实用价值。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

图1为本申请实施例提供的网络安全防护平台的结构框图。

图2为本申请实施例提供的基于大数据的网络安全防护方法包括的各步骤的流程示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本申请的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如图1所示,本申请实施例提供了一种网络安全防护平台。其中,所述网络安全防护平台可以包括存储器和处理器。

详细地,所述存储器和处理器之间直接或间接地电性连接,以实现数据的传输或交互。例如,相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述存储器中可以存储有至少一个可以以软件或固件(firmware)的形式,存在的软件功能模块。所述处理器可以用于执行所述存储器中存储的可执行的计算机程序,如所述软件功能模块,从而实现本申请实施例(如后文所述)提供的基于大数据的网络安全防护方法。

可选地,所述存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。

并且,所述处理器可以是一种通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)、片上系统(System on Chip,SoC)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

所述网络安全防护平台可以是一种具有数据处理能力的服务器。

并且,图1所示的结构仅为示意,所述网络安全防护平台还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置,例如,还可以包括用于与其它设备进行信息交互的通信单元。

结合图2,本申请实施例还提供一种基于大数据的网络安全防护方法,可应用于上述网络安全防护平台。其中,该基于大数据的网络安全防护方法有关的流程所定义的方法步骤,可以由所述网络安全防护平台实现。

并且,基于蜜罐技术,所述网络安全防护平台部属有目标第一虚拟计算机和目标第二虚拟计算机,该目标第一虚拟计算机用于运行目标虚拟应用程序,该目标第二虚拟计算机用于在检测到目标攻击设备对该目标虚拟应用程序进行攻击时对该目标攻击设备进行信息采集。

下面将对图2所示的具体流程,进行详细阐述。

步骤S110,在目标攻击设备对目标虚拟应用程序进行攻击的过程中,检测该目标攻击设备是否识别出该目标虚拟应用程序运行于虚拟计算机。

在本实施例中,在所述目标攻击设备对所述目标虚拟应用程序进行攻击的过程中,所述网络安全防护平台可以检测该目标攻击设备是否识别出该目标虚拟应用程序运行于虚拟计算机。

其中,所述目标虚拟应用程序基于模拟目标应用程序(的业务逻辑)生成。也就是说,若所述目标攻击设备识别出该目标虚拟应用程序运行于虚拟计算机,可以表明该目标攻击设备识别出该目标虚拟应用程序为部署的虚拟应用程序,并不是真实的应用程序,如此,便不会进行继续攻击。

并且,若检测到所述目标攻击设备识别出所述目标虚拟应用程序运行于虚拟计算机,表明基于该目标虚拟应用程序的网络攻击防护效果已经在降低,因而,可以执行步骤S120,以进行进一步的处理。

步骤S120,从第一目标数据库中获取目标历史数据。

在本实施例中,在步骤S110检测到所述目标攻击设备识别出所述目标虚拟应用程序运行于虚拟计算机时,所述网络安全防护平台可以从预先建立的第一目标数据库中,获取目标历史数据。

其中,所述目标历史数据可以在每一次判定所述目标虚拟应用程序被识别出运行于虚拟计算机时生成,并存储于所述第一目标数据库(该第一目标数据库既可以是所述网络安全防护平台的本地数据库,也可以是该网络安全防护平台的远端数据库,基于实际需求进行配置即可)。

步骤S130,基于所述目标历史数据,确定所述目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机。

在本实施例中,在基于步骤S120获取到所述目标历史数据之后,由于该目标历史数据在每一次判定所述目标虚拟应用程序被识别出运行于虚拟计算机时生成,因而,所述网络安全防护平台可以基于该目标历史数据,确定所述目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机,即确定该目标虚拟应用程序在下一次被攻击时是否会被识别出属于虚拟应用程序,而不是真实应用程序。

其中,若确定所述目标虚拟应用程序在下一次被攻击时会被识别出运行于虚拟计算机,可以执行步骤S140。

步骤S140,通过目标物理计算机运行该目标虚拟应用程序。

在本实施例中,在基于步骤S130确定所述目标虚拟应用程序在下一次被攻击时会被识别出运行于虚拟计算机,所述网络安全防护平台可以通过目标物理计算机运行该目标虚拟应用程序,以提高该目标虚拟应用程序被识别出属于虚拟应用程序的难度。

其中,所述目标物理计算机可以为所述网络安全防护平台或与该网络安全防护平台关联(相互信任且建立有有效连接)的其它网络设备。

基于上述方法,由于在确定目标虚拟应用程序会被识别出运行于虚拟计算机时,可以通过目标物理计算机运行目标虚拟应用程序,提高了目标虚拟应用程序被识别出的难度,可以改善由于将目标虚拟应用程序一直通过虚拟计算机运行而导致容易被识别出的问题,从而改善现有的网络安全技术中存在的防护效果较差的问题。并且,还可以避免直接通过目标物理计算机运行目标虚拟应用程序而存在成本较高的问题。

第一方面,对于步骤S110需要说明的是,检测所述目标攻击设备是否识别出所述目标虚拟应用程序运行于虚拟计算机的具体方式不受限制,可以根据实际应用需求进行选择。

例如,在一种可以替代的示例中,可以通过所述目标第二虚拟计算机在对所述目标攻击设备进行信息采集时,对该目标攻击设备进行监控,以基于监控得到的信息判断该目标攻击设备是否识别出所述目标虚拟应用程序运行于虚拟计算机。

又例如,在另一种可以替代的示例中,经过本申请的发明人的研究发现,在目标攻击设备识别出目标虚拟应用程序运行于虚拟计算机时,一般都会停止进行攻击,基于此,步骤S110可以包括子步骤10-子步骤19。

子步骤10,检测所述目标攻击设备是否停止对所述目标虚拟应用程序进行攻击(其中,若检测到所述目标攻击设备已经停止对所述目标虚拟应用程序进行攻击,说明该目标攻击设备有可能已经识别出目标虚拟应用程序运行于虚拟计算机,因而,可以执行子步骤11)。

子步骤11,获取所述目标攻击设备的目标攻击行为数据,其中,该目标攻击行为数据基于该目标设备对该目标虚拟应用程序的全部网络攻击行为产生(其中,若当前所述目标攻击设备仅进行了一次网络攻击行为就停止了攻击,则获取的目标攻击行为数据为一次网络攻击行为产生的数据;若当前所述目标攻击设备进行了多次网络攻击行为才停止了攻击,则获取的目标攻击行为数据为多次网络攻击行为产生的数据)。

子步骤12,通过第一目标线程对所述目标攻击行为数据进行解析处理,得到第一解析结果,其中,该第一解析结果包括所述目标攻击设备对所述目标虚拟应用程序进行的网络攻击行为的至少一个目标攻击行为类型信息(其中,若当前所述目标攻击设备仅进行了一次网络攻击行为就停止了攻击,则所述第一解析结果包括一个目标攻击行为类型信息;若当前所述目标攻击设备进行了多次网络攻击行为才停止了攻击,则所述第一解析结果包括多个目标攻击行为类型信息)。

子步骤13,通过第二目标线程基于第一个所述目标攻击行为类型信息(即所述目标攻击设备进行的第一个网络攻击行为对应的攻击行为类型信息)生成攻击事件请求信息,并基于该攻击事件请求信息在第二目标数据库中查找到至少一个目标攻击事件信息,其中,每一个所述目标攻击事件信息对应的攻击事件至少基于该第一个目标攻击行为类型信息对应的网络攻击行为构成(即每一个所述目标攻击时间信息至少包括所述第一个目标攻击行为类型信息),且该第二目标数据库中包括多个攻击事件信息,每一个所述攻击事件信息对应的攻击事件至少基于一个网络攻击行为构成(也就是说,一般一个攻击事件至少会基于至少一个网络攻击行为构成,即攻击事件是指在时间上具有先后关系且具有紧密关系的一系列网络攻击行为,示例性的,一种攻击事件可以为“基于外部远程服务(ExternalRemote Services)的网络攻击行为、基于访问令牌操作(Access Token Manipulation)的网络攻击行为、基于强制认证(Forced Authentication)的网络攻击行为、基于采集系统本地数据(Data from Local System)的网络攻击行为”,例外的是,有一些攻击事件也可以仅包括一个网络攻击行为)。

子步骤14,针对每一个所述目标攻击事件信息,获取构成该目标攻击事件信息对应的攻击事件的全部网络攻击行为对应的全部攻击行为类型信息,形成该目标攻击事件信息对应的攻击行为类型信息集合。

子步骤15,确定每一个所述攻击行为类型信息集合包括的全部攻击行为类型信息与所述目标攻击行为类型信息之间的关系。

子步骤16,若每一个所述攻击行为类型信息集合包括的全部攻击行为类型信息与所述目标攻击行为类型信息之间都属于第一目标关系,则在所述网络安全防护平台的目标缓存中查找历史攻击数据,其中,该第一目标关系为所述攻击行为类型信息集合包括的全部攻击行为类型信息属于多个所述目标攻击行为类型信息中的部分(例如,一个所述攻击行为类型信息集合对应的目标攻击事件为“基于外部远程服务的网络攻击行为、基于访问令牌操作的网络攻击行为、基于强制认证的网络攻击行为、基于采集系统本地数据的网络攻击行为”,但是,多个所述目标攻击行为类型信息对应的多个网络攻击行为包括,基于外部远程服务的网络攻击行为、基于访问令牌操作的网络攻击行为、基于强制认证的网络攻击行为、基于采集系统本地数据的网络攻击行为、基于其它方式的网络攻击行为),且该历史攻击数据基于历史上所述目标设备或其它设备对所述目标虚拟应用程序进行的网络攻击行为产生。

子步骤17,通过所述第一目标线程对所述历史攻击数据得到第二解析结果,其中,该第二解析结果包括历史上所述目标设备或其它设备至少一次对所述目标虚拟应用程序进行的网络攻击行为的历史攻击行为类型信息(即每一次对目标虚拟应用程序进行攻击,会有至少一个网络攻击行为,并基于该至少一个网络攻击行为形成历史攻击行为类型信息)。

子步骤18,确定每一次对所述目标虚拟应用程序进行的网络攻击行为的所述历史攻击行为类型信息与所述目标攻击行为类型信息之间的关系。

子步骤19,若多个所述目标攻击行为类型信息属于一次对所述目标虚拟应用程序进行的网络攻击行为的所述历史攻击行为类型信息的部分(例如,多个所述目标攻击行为类型信息对应的多个网络攻击行为分别为,网络攻击行为A、网络攻击行为B、网络攻击行为C、网络攻击行为D,但是有一个历史攻击行为类型信息对应的多个网络攻击行为分别为网络攻击行为A、网络攻击行为B、网络攻击行为C、网络攻击行为D、网络攻击E,如此,可以认为多个所述目标攻击行为类型信息为该历史攻击行为类型信息的部分,说明所述目标攻击设备本次的攻击不能形成一个完成的攻击事件,表明可能是由于已经识别出目标虚拟应用程序运行于虚拟计算机,因而,主动停止了后续的网络攻击行为),则确定所述目标攻击设备已经识别出该目标虚拟应用程序运行于虚拟计算机。

可选地,在上述示例的基础上,若基于子步骤15,确定至少存在一个所述攻击行为类型信息集合包括的全部攻击行为类型信息与所述目标攻击行为类型信息之间不属于所述第一目标关系,为了能够进一步确定所述目标攻击设备是否识别出所述目标虚拟应用程序运行于虚拟计算机,在本实施例中,步骤S110还可以包括以下子步骤:

首先,若至少存在一个所述攻击行为类型信息集合包括的全部攻击行为类型信息与所述目标攻击行为类型信息之间不属于所述第一目标关系,则确定存在的一个所述攻击行为类型信息集合包括的全部攻击行为类型信息与所述目标攻击行为类型信息之间是否属于第二目标关系,其中,该第二目标关系为所述攻击行为类型信息集合包括的全部攻击行为类型信息与所述目标攻击行为类型信息相同;

其次,若存在的一个所述攻击行为类型信息集合包括的全部攻击行为类型信息与所述目标攻击行为类型信息之间属于所述第二目标关系(例如,一个所述攻击行为类型信息集合包括的全部攻击行为类型信息对应的多个网络攻击行为分别为,网络攻击行为A、网络攻击行为B、网络攻击行为C、网络攻击行为D,所述目标攻击行为类型信息对应的多个网络攻击行为分别为,网络攻击行为A、网络攻击行为B、网络攻击行为C、网络攻击行为D,说明所述目标攻击行为类型信息对应的多个网络攻击行为属于一个完成的攻击事件,表明所述目标攻击设备是因为攻击完成之后才停止),则确定所述目标攻击设备未识别出所述目标虚拟应用程序运行于虚拟计算机;

然后,若存在的一个所述攻击行为类型信息集合包括的全部攻击行为类型信息与所述目标攻击行为类型信息之间不属于所述第二目标关系(例如,一个所述攻击行为类型信息集合包括的全部攻击行为类型信息对应的多个网络攻击行为分别为,网络攻击行为A、网络攻击行为B、网络攻击行为C、网络攻击行为D,所述目标攻击行为类型信息对应的多个网络攻击行为分别为,网络攻击行为A、网络攻击行为B,说明所述目标攻击行为类型信息对应的多个网络攻击行为不属于一个完成的攻击事件,表明所述目标攻击设备不是因为攻击完成之后才停止),则确定所述目标攻击设备已经识别出所述目标虚拟应用程序运行于虚拟计算机。

可选地,在上述示例的基础上,若基于子步骤18,确定多个所述目标攻击行为类型信息不属于任一次对所述目标虚拟应用程序进行的网络攻击行为的所述历史攻击行为类型信息的部分,为了能够进一步确定所述目标攻击设备是否识别出所述目标虚拟应用程序运行于虚拟计算机,在本实施例中,步骤S110还可以包括以下子步骤:

若多个所述目标攻击行为类型信息不属于任一次对所述目标虚拟应用程序进行的网络攻击行为的所述历史攻击行为类型信息的部分(例如,多个所述目标攻击行为类型信息对应的多个网络攻击行为分别为,网络攻击行为A、网络攻击行为B、网络攻击行为C、网络攻击行为D,但是,每一次对所述目标虚拟应用程序进行的网络攻击行为,即所述历史攻击行为类型信息包括的多个网络攻击行为,不包括网络攻击行为A、网络攻击行为B、网络攻击行为C或网络攻击行为D),则确定所述目标攻击设备未识别出所述目标虚拟应用程序运行于虚拟计算机。

可选地,在上述示例的基础上,若基于子步骤18,确定多个所述目标攻击行为类型信息不属于任一次对所述目标虚拟应用程序进行的网络攻击行为的所述历史攻击行为类型信息的部分,还可以认为所述目标攻击设备的网络攻击行为属于新的攻击事件,因而,在本实施例中,步骤S110还可以包括以下子步骤:

首先,若多个所述目标攻击行为类型信息不属于任一次对所述目标虚拟应用程序进行的网络攻击行为的所述历史攻击行为类型信息的部分,则基于多个所述目标攻击行为类型信息生成新的攻击事件信息;

其次,将所述新的攻击事件信息存储至所述第二目标数据库(如此,可以便于对后续的攻击进行有效地识别)。

第二方面,对于步骤S120需要说明的是,获取所述目标历史数据的具体方式不受限制,可以根据实际应用需求进行选择。

例如,在一种可以替代的示例中,可以从所述第一目标数据库中,获取所述目标虚拟应用程序被识别出运行于虚拟计算机时生成的全部历史数据,得到目标历史数据。

例如,在一种可以替代的示例中,可以从所述第一目标数据库中,获取所述目标虚拟应用程序被识别出运行于虚拟计算机时生成的全部历史数据,得到目标历史数据。

又例如,在另一种可以替代的示例中,可以从所述第一目标数据库中,获取一定时间长度内所述目标虚拟应用程序被识别出运行于虚拟计算机时生成的全部历史数据,得到目标历史数据。

第三方面,对于步骤S130需要说明的是,确定所述目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机的具体方式不受限制,可以根据实际应用需求进行选择。

例如,在第一种可以替代的示例中,为了能够保证确定所述目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机的准确度,步骤S130可以包括子步骤30-子步骤41。

子步骤30,针对所述目标历史数据中的每一个历史数据片段,将该历史数据片段和该历史数据片段的后一个历史数据片段,作为相邻的两个历史数据片段(如此,基于N个历史数据片段,可以得到N-1组相邻的两个历史数据片段),其中,一个所述历史数据片段基于一次判定所述目标虚拟应用程序被识别出运行于虚拟计算机时生成(可以理解的是,在一些示例中,所述目标历史数据可以包括基于所述目标攻击设备本次识别出所述目标虚拟应用程序运行于虚拟计算机时生成的数据,即所述目标历史数据中的最后一个历史数据片段为该数据)。

子步骤31,针对每两个相邻的所述历史数据片段,计算该两个相邻的所述历史数据片段之间在多个不同维度上的多个数据差值(该维度的具体内容不受限制,可以根据实际应用需求进行配置,例如,在一种可以替代的示例中,该维度可以包括,但不限于,一次判定所述目标虚拟应用程序被识别出运行于虚拟计算机时,本次对该目标虚拟应用程序进行攻击的持续时长(即从攻击开始到攻击停止的时长)、本次对该目标虚拟应用程序进行攻击的网络攻击行为的行为数量等)。

子步骤32,针对每两个相邻的所述历史数据片段,将该两个相邻的所述历史数据片段之间的多个数据差值进行归一化处理之后,进行累加计算(由于不同维度的数据差值表征的内容不同,因而,需要先进行归一化处理,然后,再将多个数据差值进行累加,例如,不能将上述的持续时长的差值与上述的行为数量的差值直接进行相加,如将持续时长的差值除以根据经验设置的一个最大时长(如历史上最长的一次攻击的持续时长),将行为数量的差值除以根据经验设置的一个最大数量(如历史上包括最多网络攻击行为的攻击事件的网络攻击行为的数量)),得到该两个相邻的所述历史数据片段中后一个所述历史数据片段的目标差异值。

子步骤33,根据每一个所述历史数据片段的目标差异值,在所述目标历史数据包括的多个历史数据片段中,确定出多个目标历史数据片段(例如,将目标差异值大于差异阈值的全部历史数据片段,都作为目标历史数据片段,或者,将目标差异值最大的预定数量个历史数据片段,都作为目标历史数据片段)。

子步骤34,基于所述多个目标历史数据片段,形成所述目标历史数据的一个目标数据片段集合。

子步骤35,针对所述目标数据片段集合包括的每一个所述目标历史数据片段,将该目标历史数据片段和该目标历史数据片段的后一个目标历史数据片段,作为相邻的两个目标历史数据片段。

子步骤36,针对每两个相邻的所述目标历史数据片段,根据该两个相邻的所述目标历史数据片段基于在多个不同维度上的综合相似度(例如,可以先计算每一个维度上的差值或比例值,然后,再计算每一个维度上的差值(可以先进行归一化处理)或比例值的加权平均值,其中,持续时长维度对应的权重系数可以大于行为数量对应的权重系数),得到该两个相邻的所述目标历史数据片段之间的相似性关系。

子步骤37,基于每一个所述相似性关系,确定该相似性关系对应的两个相邻的所述目标历史数据片段是否属于重复数据片段(例如,可以将综合相似度大于或等于相似度阈值的两个相邻的所述目标历史数据片段认为是相似数据片段,从而认为该两个相邻的所述目标历史数据片段属于重复数据片段;可以将综合相似度小于相似度阈值的两个相邻的所述目标历史数据片段认为是非相似数据片段,从而认为该两个相邻的所述目标历史数据片段不属于重复数据片段)。

子步骤38,将所述目标数据片段集合划分为多个目标数据片段子集合,其中,属于同一个所述目标数据片段子集合的不同目标历史数据片段属于所述重复数据片段,属于不同所述目标数据片段子集合的不同目标历史数据片段属不于所述重复数据片段(例如,所述目标数据片段集合包括目标历史数据片段A、目标历史数据片段B、目标历史数据片段C、目标历史数据片段D、目标历史数据片段E,其中,目标历史数据片段A和目标历史数据片段B属于重复数据片段,目标历史数据片段B和目标历史数据片段C属于重复数据片段,目标历史数据片段C和目标历史数据片段D不属于重复数据片段,目标历史数据片段D和目标历史数据片段E不属于重复数据片段,可以形成第一个目标数据片段子集合“目标历史数据片段A、目标历史数据片段B、目标历史数据片段C”,第二个目标数据片段子集合“目标历史数据片段D”,第三个目标数据片段子集合“目标历史数据片段E”)。

子步骤39,基于所述多个目标数据片段子集合中每一个目标数据片段子集合的第一个目标历史数据片段和最后一个目标历史数据片段,将所述目标历史数据分割为多个目标历史子数据,其中,每一个所述目标历史子数据包括至少一个所述历史数据片段(例如,所述目标历史数据包括历史数据片段1、历史数据片段2、目标历史数据片段A、历史数据片段3、目标历史数据片段B、历史数据片段4、目标历史数据片段C、历史数据片段5、历史数据片段6、目标历史数据片段D、历史数据片段7、目标历史数据片段E、历史数据片段8,形成的多个目标历史子数据包括“历史数据片段1、历史数据片段2”、“目标历史数据片段A、历史数据片段3、目标历史数据片段B、历史数据片段4”、“目标历史数据片段C、历史数据片段5、历史数据片段6”、“目标历史数据片段D、历史数据片段7”、“目标历史数据片段E、历史数据片段8”)。

子步骤40,针对每一个所述目标历史子数据,计算该目标历史子数据包括的至少一个历史数据片段在多个维度上的数据的归一化后的平均值(例如,先将一个目标历史子数据包括的每一个历史数据片段在每一个维度上的数据进行归一化处理,然后,计算每一个历史数据片段的多个维度上的归一化数据的平均值,然后,将该目标历史子数据包括的至少一个历史数据片段的平均值进行均值计算,得到最后的平均值)。

子步骤41,基于每一个所述目标历史子数据的平均值在时间上的变化趋势信息,确定所述目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机。

可以理解的是,在上述示例中,基于子步骤41,以基于变化趋势信息确定所述目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机的具体方式不受限制,可以根据实际应用需求进行选择。

例如,在一种可以替代的示例中,若所述变化趋势信息表明所述平均值会继续下降或者在最近的一段较长的时间内在一直下降,可以确定所述目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机。

又例如,在另一种可以替代的示例中,子步骤41可以包括以下子步骤:

首先,基于每一个所述目标历史子数据的平均值在时间上变化趋势,得到对应的变化趋势信息(如进行曲线拟合处理等);

其次,基于所述变化趋势信息,得到所述目标虚拟应用程序在下一次被攻击时形成的目标预测数据;

然后,基于预设的目标阈值数据和所述目标预测数据,确定所述目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机;其中,在所述目标预测数据大于所述目标阈值数据时,确定所述目标虚拟应用程序在下一次被攻击时不会被识别出运行于虚拟计算机,在所述目标预测数据小于或等于所述目标阈值数据时,确定所述目标虚拟应用程序在下一次被攻击时会被识别出运行于虚拟计算机。

又例如,在第二种可以替代的示例中,为了能够在保证确定所述目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机的准确度的基础上,还能兼顾效率,步骤S130可以包括子步骤42-子步骤55。

子步骤42,针对所述目标历史数据包括的多个维度中的每一个维度,在该维度上计算前预设数量个历史数据片段的第一维度均值、后预设数量个历史数据片段的第二维度均值(例如,所述目标历史数据包括100个历史数据片段,所述预设数量为40,可以计算前40个历史数据片段在每一个维度的均值,如此,多个维度,可以得到多个第一维度均值;可以计算后40个历史数据片段在每一个维度的均值,如此,多个维度,可以得到多个第二维度均值;可以理解的是,在一些示例中,基于所述目标历史数据包括的历史数据片段的数量和所述预设数量的不同配置,前预设数量个历史数据片段与后预设数量个历史数据片段可以存在交集,只要不是全部相同即可,即所述目标历史数据包括的历史数据片段的数量大于所述预设数量),其中,一个所述历史数据片段基于一次判定所述目标虚拟应用程序被识别出运行于虚拟计算机时生成。

子步骤43,针对每一个维度,计算该维度对应的第一维度均值和第二维度均值的均值差值(即计算该第一维度均值和该第二维度均值的差值),得到多个均值差值(即一个维度,对应一个均值差值)。

子步骤44,在所述多个均值差值中,确定目标均值差值,其中,该目标均值差值对应的第一维度均值大于对应的第二维度均值,且在对应的第一维度均值大于对应的第二维度均值的所有均值差值中,该目标均值差值的数据最大(也就是说,首先,需要在多个均值差值中,查找出对应的第一维度均值大于对应的第二维度均值的所有均值差值,然后,在该所有均值差值中确定数据最大的均值差值,作为目标均值差值)。

子步骤45,针对所述目标历史数据中最后一个历史数据片段以外的其它的每一个历史数据片段,将该历史数据片段和该历史数据片段的后一个历史数据片段,作为相邻的两个历史数据片段。

子步骤46,针对每相邻的两个所述历史数据片段,计算该相邻的两个所述历史数据片段之间在所述目标均值差值对应的维度上的数据差值。

子步骤47,根据每一个所述历史数据片段的数据差值,在所述目标历史数据包括的多个历史数据片段中,确定出多个目标历史数据片段。

子步骤48,基于所述多个目标历史数据片段,形成所述目标历史数据的一个目标数据片段集合。

子步骤49,针对所述目标数据片段集合包括的每一个所述目标历史数据片段,将该目标历史数据片段和该目标历史数据片段的后一个目标历史数据片段,作为相邻的两个目标历史数据片段。

子步骤50,针对每相邻的两个所述目标历史数据片段,根据该相邻的两个所述目标历史数据片段基于在多个不同维度上的综合相似度,得到该相邻的两个所述目标历史数据片段之间的相似性关系。

子步骤51,基于每一个所述相似性关系,确定该相似性关系对应的相邻的两个所述目标历史数据片段是否属于重复数据片段。

子步骤52,将所述目标数据片段集合划分为多个目标数据片段子集合,其中,属于同一个所述目标数据片段子集合的不同目标历史数据片段属于所述重复数据片段,属于不同所述目标数据片段子集合的不同目标历史数据片段属不于所述重复数据片段。

子步骤53,基于所述多个目标数据片段子集合中每一个目标数据片段子集合的第一个目标历史数据片段和最后一个目标历史数据片段,将所述目标历史数据分割为多个目标历史子数据,其中,每一个所述目标历史子数据包括至少一个所述历史数据片段。

子步骤54,针对每一个所述目标历史子数据,计算该目标历史子数据包括的至少一个历史数据片段在多个维度上的数据的归一化后的平均值。

子步骤55,基于每一个所述目标历史子数据的平均值在时间上的变化趋势信息,确定所述目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机。

又例如,在第三种可以替代的示例中,为了减少异常数据的干扰,以保证确定所述目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机的准确度,步骤S130可以包括子步骤56-子步骤63。

子步骤56,基于生成时间的先后顺序(可以是从时间最早到时间最晚的顺序)将所述目标历史数据中包括的多个历史数据片段进行排序处理,得到历史数据序列。

子步骤57,基于所述多个历史数据片段的片段数量,在所述历史数据序列中选择最后的预设数量个历史数据片段,作为目标历史数据序列(例如,若所述多个历史数据片段的片段数量大于所述预设数量,可以在所述历史数据序列中选择最后的预设数量个历史数据片段)。

子步骤58,对所述目标历史数据序列中第一个历史数据片段和最后一个历史数据片段以外的其它每一个历史数据片段进行解析处理,并将解析结果满足预设条件的历史数据片段,作为候选历史数据片段,其中,所述解析结果满足所述预设条件的所述历史数据片段,在每一个维度上的数据大于前一个历史数据片段的数据,且大于后一个历史数据片段的数据。

子步骤59,在所述候选历史数据片段的数量大于预设阈值时,针对每一个所述候选历史数据片段,计算该候选历史数据片段在多个维度上的数据归一化后的第一维度平均值(即对该候选历史数据片段在每一个维度上的数据进行归一化处理,然后,计算多个维度的归一化值的平均值),得到每一个所述候选历史数据片段的第一维度平均值。

子步骤60,在多个所述候选历史数据片段中,选取第一维度平均值最大的所述预设数量个候选历史数据片段,作为目标历史数据片段。

子步骤61,基于所述目标历史数据片段在所述目标历史数据序列中的位置,将该目标历史数据序列分割为多个目标历史数据子序列(例如,所述目标历史数据序列包括片段1、片段2、目标历史数据片段1、片段3、目标历史数据片段2、片段4、片段5,如此,形成的目标历史数据子序列包括,“片段1、片段2、目标历史数据片段1”、“片段3、目标历史数据片段2”、“片段4、片段5”)。

子步骤62,针对每一个所述目标历史数据子序列,计算该目标历史数据子序列包括的至少一个历史数据片段在多个维度上的数据的归一化后的第二维度平均值(也就是说,将一个目标历史数据子序列中的每一个历史数据片段在每一个维度上的数据都进行归一化处理,然后,对该目标历史数据子序列包括的全部归一化值进行平均值计算),得到每一个所述目标历史数据子序列的第二维度平均值。

子步骤63,基于每一个所述目标历史数据子序列的第二维度平均值在时间上的变化趋势信息,确定所述目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机(例如,在一种可以替代的示例中,若所述变化趋势信息表明所述第二维度平均值会继续下降或者在最近的一段较长的时间内在一直下降,可以确定所述目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机)。

第四方面,对于步骤S140需要说明的是,通过目标物理计算机运行目标虚拟应用程序的具体方式不受限制,可以根据实际应用需求进行选择。

例如,在一种可以替代的示例中,为了降低运行目标虚拟应用程序成本,步骤S140可以包括以下步骤:

首先,若确定所述目标虚拟应用程序在下一次被攻击时会被识别出运行于虚拟计算机,则停止所述目标第一虚拟计算机运行该目标虚拟应用程序(也就是说,由于已经确定所述目标虚拟应用程序在下一次被攻击时会被识别出运行于虚拟计算机,因而,已经没有必要继续运行,通过停止运行,可以在一定程度上降低所述网络安全防护平台的资源消耗);

其次,将所述目标虚拟应用程序部署于目标物理计算机(如此,可以提高该目标虚拟应用程序被识别出属于虚拟应用程序的难度),其中,该目标物理计算机为所述网络安全防护平台;

然后,在所述目标物理计算机上运行所述目标虚拟应用程序。

又例如,在另一种可以替代的示例中,为了提高目标虚拟应用程序被识别出属于虚拟应用程序的难度,步骤S140可以包括以下步骤:

首先,若确定所述目标虚拟应用程序在下一次被攻击时会被识别出运行于虚拟计算机,则停止所述目标第一虚拟计算机运行该目标虚拟应用程序,并对该目标虚拟应用程序进行销毁处理(如此,通过停止运行和销毁处理,可以在一定程度上降低所述网络安全防护平台的计算资源消耗和存储资源消耗,充分改善资源浪费的问题);

其次,生成激活通知信息,并将该激活通知信息发送给其它部署有所述目标虚拟应用程序的目标物理计算机,其中,该目标物理计算机为与所述网络安全防护平台关联的其它网络设备,且该目标物理计算机用于基于该激活通知信息运行部署的目标虚拟应用程序(也就是说,可以预先在其它网络设备部署所述目标虚拟应用程序,但并不运行,只有在确定所述目标虚拟应用程序在下一次被攻击时会被识别出运行于虚拟计算机时,才会通知该其它网络设备,运行该目标虚拟应用程序);

然后,在接收到攻击通知信息时,基于该攻击通知信息运行所述目标第二虚拟计算机,以基于该目标第二虚拟计算机与其它攻击设备建立连接,并基于该连接对该其它设备进行信息采集(也就是说,通过其它网络设备运行所述目标虚拟应用程序,但是,仍然基于所述网络防护设备上的目标第二虚拟计算机对攻击设备进行信息采集,在一种实现方式中,所述其它网络设备可以通过所述目标虚拟应用程序将一脚本程序运行于攻击设备,以获取该攻击设备的端口信息,然后,将该端口信息发送给所述网络安全防护平台,使得该网络安全防护平台可以基于运行的目标第二虚拟计算机,通过该端口信息与该攻击设备建立连接,从而进行信息采集),其中,该攻击通知信息基于所述目标物理计算机在检测到该其它攻击设备对部属的目标虚拟应用程序进行攻击时生成,并发送给所述网络安全防护平台。

综上所述,本申请提供的基于大数据的网络安全防护方法和网络安全防护平台,通过在检测到目标攻击设备识别出目标虚拟应用程序运行于虚拟计算机时,基于获取的目标历史数据确定目标虚拟应用程序在下一次被攻击时是否会被识别出运行于虚拟计算机,以在确定目标虚拟应用程序会被识别出运行于虚拟计算机时,通过目标物理计算机运行目标虚拟应用程序。如此,由于在确定目标虚拟应用程序会被识别出运行于虚拟计算机时,可以通过目标物理计算机运行目标虚拟应用程序,提高了目标虚拟应用程序被识别出的难度,可以改善由于将目标虚拟应用程序一直通过虚拟计算机运行而导致容易被识别出的问题,从而改善现有的网络安全技术中存在的防护效果较差的问题,并且,还可以避免直接通过目标物理计算机运行目标虚拟应用程序而存在成本较高的问题,具有较高的实用价值。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 基于大数据的网络安全防护方法和网络安全防护平台
  • 一种基于大数据平台的网络安全防护方法及系统
技术分类

06120112308525