一种攻击行为分析方法及装置与流程

文档序号:24938212发布日期:2021-05-04 11:30阅读:92来源:国知局
一种攻击行为分析方法及装置与流程

本申请涉及网络安全技术领域,尤其涉及一种攻击行为分析方法及装置。



背景技术:

目前,随着物联网技术的快速发展,大量物联网上暴露的智能设备和服务,已成为网络攻击者发动大规模攻击的首选,因此,对这些攻击行为进行分析是非常有必要的。

现有技术中,在对攻击者的攻击行为进行分析时,通常是基于流量异常波动的检测技术实现的,但是,由于现有技术中的这种方式中,流量峰值的阈值是人为选取的,而实际上,真正的攻击行为是不存在一个固定阈值的,通过现有技术中的方式无法检测到一些慢速攻击类型的攻击行为,例如,分布式拒绝服务攻击(distributeddenialofserviceattack,ddos),因此,现有技术中的这种攻击行为检测方式的准确度较低。



技术实现要素:

本申请实施例提供一种攻击行为分析方法及装置,以提高攻击行为分析的准确度。

本申请实施例提供的具体技术方案如下:

一种攻击行为分析方法,包括:

获取网络安全设备采集到的各网络会话数据;

分别针对所述各网络会话数据,根据预设的频繁事件序列挖掘算法,从任意一会话数据所包含的各事件组成的事件序列中,确定出各频繁事件序列模式,其中,每一个频繁事件序列模式包括至少一个事件且所述至少一个事件按照在该网络会话数据中出现的先后顺序进行排列;

根据确定出的所述各网络会话数据的各频繁事件序列模式,对所述各网络会话数据进行聚类,获得各类网络会话数据;

分别针对各类网络会话数据,识别任意一类网络会话数据中包含的各命令的命令状态类别,并基于识别后的各命令,以及所述识别后的各命令之间的调用顺序,分析该类网络会话数据的攻击行为。

可选的,获取网络安全设备采集到的各网络会话数据之后,进一步包括:

分别针对所述各网络会话数据,若确定任意一网络会话数据的各事件中包含有起始事件和关闭事件,则确定该网络会话数据的数据类型为完整,并保留所述数据类型为完整的网络会话数据,若确定该网络会话数据的各事件中不包含有起始事件和/或关闭事件,则删除该网络会话数据。

可选的,根据预设的频繁事件序列挖掘算法,从任意一会话数据所包含的各事件组成的事件序列中,确定出各频繁事件序列,具体包括:

将任意一网络会话数据中包含的各事件作为各一项序列模式,并生成包含有各一项序列模式的初始种子集;

将所述初始种子集中的各一项序列模式进行连接运算,获得支持度大于预设支持度阈值的各二项序列模式,其中,所述支持度表征包含有任意一个二项序列模式的所有事件序列在该网络会话数据中所占的比例;

将所述各二项序列模式进行连接运算和修切运算,获得各三项序列模式,并重复执行上述步骤,直至无法产生新的i项序列模式为止,并将支持度大于所述支持度阈值的i项序列模式,作为该网络会话数据的各频繁事件序列模式,其中,i为正整数,且大于等于3。

可选的,将所述各二项序列模式进行连接运算和修切运算,获得各三项序列模式,具体包括:

将各二项序列模式进行连接运算,获得各候选的三项序列模式;

分别针对所述各候选的三项序列模式,若确定任意一个候选的三项序列模式的其中一个子序列不为二项序列模式,则将该候选的三项序列模式删除,若确定该候选的三项序列模式的各子序列均为二项序列模式,则保留该候选的三项序列模式;

将保留的各候选的三项序列模式,作为各三项序列模式。

可选的,根据确定出的所述各网络会话数据的各频繁事件序列模式,对所述各网络会话数据进行聚类,获得各类网络会话数据,具体包括:

分别根据各网络会话数据所包含的频繁序列模式,对所述各网络会话数据进行特征提取,确定所述各网络会话数据的特征向量;

分别针对所述各网络会话数据,确定任意一网络会话数据的特征向量与其余的各网络会话数据的特征向量之间的欧式距离;

根据计算获得的各欧式距离,对所述各网络会话数据进行聚类,并获得聚类后的各网络会话数据。

一种攻击行为分析装置,包括:

获取模块,用于获取网络安全设备采集到的各网络会话数据;

第一处理模块,用于分别针对所述各网络会话数据,根据预设的频繁事件序列挖掘算法,从任意一会话数据所包含的各事件组成的事件序列中,确定出各频繁事件序列模式,其中,每一个频繁事件序列模式包括至少一个事件且所述至少一个事件按照在该网络会话数据中出现的先后顺序进行排列;

聚类模块,用于根据确定出的所述各网络会话数据的各频繁事件序列模式,对所述各网络会话数据进行聚类,获得各类网络会话数据;

分析模块,用于分别针对各类网络会话数据,识别任意一类网络会话数据中包含的各命令的命令状态类别,并基于识别后的各命令,以及所述识别后的各命令之间的调用顺序,分析该类网络会话数据的攻击行为。

可选的,获取网络安全设备采集到的各网络会话数据之后,进一步包括:

第二处理模块,用于分别针对所述各网络会话数据,若确定任意一网络会话数据的各事件中包含有起始事件和关闭事件,则确定该网络会话数据的数据类型为完整,并保留所述数据类型为完整的网络会话数据,若确定该网络会话数据的各事件中不包含有起始事件和/或关闭事件,则删除该网络会话数据。

可选的,根据预设的频繁事件序列挖掘算法,从任意一会话数据所包含的各事件组成的事件序列中,确定出各频繁事件序列时,第一处理模块具体用于:

将任意一网络会话数据中包含的各事件作为各一项序列模式,并生成包含有各一项序列模式的初始种子集;

将所述初始种子集中的各一项序列模式进行连接运算,获得支持度大于预设支持度阈值的各二项序列模式,其中,所述支持度表征包含有任意一个二项序列模式的所有事件序列在该网络会话数据中所占的比例;

将所述各二项序列模式进行连接运算和修切运算,获得各三项序列模式,并重复执行上述步骤,直至无法产生新的i项序列模式为止,并将支持度大于所述支持度阈值的i项序列模式,作为该网络会话数据的各频繁事件序列模式,其中,i为正整数,且大于等于3。

可选的,将所述各二项序列模式进行连接运算和修切运算,获得各三项序列模式时,第一处理模块具体用于:

将各二项序列模式进行连接运算,获得各候选的三项序列模式;

分别针对所述各候选的三项序列模式,若确定任意一个候选的三项序列模式的其中一个子序列不为二项序列模式,则将该候选的三项序列模式删除,若确定该候选的三项序列模式的各子序列均为二项序列模式,则保留该候选的三项序列模式;

将保留的各候选的三项序列模式,作为各三项序列模式。

可选的,聚类模块具体用于:

分别根据各网络会话数据所包含的频繁序列模式,对所述各网络会话数据进行特征提取,确定所述各网络会话数据的特征向量;

分别针对所述各网络会话数据,确定任意一网络会话数据的特征向量与其余的各网络会话数据的特征向量之间的欧式距离;

根据计算获得的各欧式距离,对所述各网络会话数据进行聚类,并获得聚类后的各网络会话数据。

一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述攻击行为分析方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述攻击行为分析方法的步骤。

本申请实施例中,获取网络安全设备采集到的各网络会话数据,分别针对各网络会话数据,根据预设的频繁事件序列挖掘算法,从任意一会话数据所包含的各事件组成的事件序列中,确定出各频繁事件序列模式,根据确定出的各网络会话数据的各频繁事件序列模式,对各网络会话数据进行聚类,获得各类网络会话数据,分别针对各类网络会话数据,识别任意一类网络会话数据中包含的各命令的命令状态类别,并基于识别后的各命令,以及识别后的各命令之间的调用顺序,分析该类网络会话数据的攻击行为,这样,在对网络安全设备获取到的各网络会话数据进行聚类之后,再根据各类网络会话数据所包含的命令对该类的攻击行为进行分类识别,不仅能够识别出快速攻击类型的攻击行为,而且能够识别出慢速攻击类型的攻击行为,从而可以提高攻击行为识别的准确度,并且,针对信息量丰富的网络会话数据,采用聚类的方式能够将同一个团伙分为一类,能够有效识别出团伙攻击行为。

附图说明

图1为本申请实施例中一种攻击行为分析方法的流程图;

图2为本申请实施例中蜜罐系统采集网络会话数据的流程示意图;

图3为本申请实施例中聚类效果示意图;

图4为本申请实施例中一种攻击行为分析方法的另一流程图;

图5为本申请实施例中攻击行为分析装置的结构示意图;

图6为本申请实施例中电子设备的结构示意图。

具体实施方式

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

目前,随着物联网技术的快速发展,大量物联网上暴露的智能设备和服务,已成为网络攻击者发动大规模分布式拒绝服务攻击(distributeddenialofserviceattack,ddos)攻击的首选,因此,在物联网相关的安全问题越来越引起关注的背景下,对这些各种形式的攻击行为进行分析是有必要的。

细粒度的识别物联网中的流量从而进一步行为的属性以及潜在的威胁分析提供数据支撑,针对不同类别、环境等因素寻找物联网设备的安全漏洞,从各个方面和角度进一步采取有效的安全措施,加强物联网设备的安全防护和修补。在威胁狩猎方面,如果捕获了可疑的恶意流量,并已经对这些流量的特性做到精准识别,那就可以将这个流量相关的实体列入重点观测对象,通过预提前的防策略来减低未来攻击带来的影响。网络安全风险评估从资产识别开始,所以能否对物联网资产进行精准的识别对物联网安全研究有着重要意义。

现有技术中,在对攻击者的攻击行为进行分析时,可以通过基于特征值的流量监测技术来进行攻击行为的分析,这种技术会通过已公开的漏洞验证性测试(proofofconcept,poc)形成的指纹库,对捕获到的流量进行匹配,从而识别到相应的攻击行为,这种技术的缺陷是比较依赖已有的积累,对于变种以及未知攻击的防御能力很弱。

或者,还可以通过基于流量异常波动的检测技术:这种技术被广泛用于企业的网络异常检测。原理是持续监控网络中流量、访问次数、访问ip的变化,寻找短时间内的峰值,超过预定义阈值的会发出警报。这种方法的缺点就是阈值的选取是人为的,事实上,真实的攻击是不存在一个固定的阈值的,尤其是对于一些慢速ddos攻击,就缺乏一些可靠性了。

因此,现有技术中的攻击行为检测方式的准确度较低。

为了解决上述问题,本申请实施例中提供了一种攻击行为分析方法,获取网络安全设备采集到的各网络会话数据,分别针对各网络会话数据,根据预设的频繁事件序列挖掘算法,从任意一会话数据所包含的各事件组成的事件序列中,确定出各频繁事件序列模式,根据确定出的各网络会话数据的各频繁事件序列模式,对各网络会话数据进行聚类,获得各类网络会话数据,分别针对各类网络会话数据,识别任意一类网络会话数据中包含的各命令的命令状态类别,并基于识别后的各命令,以及识别后的各命令之间的调用顺序,分析该类网络会话数据的攻击行为,这样,通过对模式挖掘算法提取网络会话数据固有的特征模式,并根据提取出的聚类算法对网络会话数据进行聚类,并对聚类后的各类网络会话数据构造其状态转移图,从而对不同的攻击风格进行刻画,能够实现对不同种类或未知种类的攻击行为的识别,并提高攻击行为识别的准确度,并且,采用聚类的方式能够识别团伙攻击行为,对于团伙的识别具有指导意义。

首先对本申请实施例中的几个技术名词进行详细介绍:

1、物联网(theinternetofthings,iot):iot是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理,物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。

2、蜜罐技术:蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。

基于上述实施例,参阅图1所示,为本申请实施例中一种攻击行为分析方法的流程图,具体包括:

步骤100:获取网络安全设备采集到的各网络会话数据。

本申请实施例中,为了采集真实的网络流量,设计并搭建了网络安全设备,即,蜜罐系统,对日志进行采集,对物联网设备进行模拟,在网络会话数据采集过程中,对蜜罐的系统状态持续监听,持续监听是否异常,当发现网络安全设备的蜜罐异常时,采集到各网络会话数据,并将采集到的各网络会话数据发送给服务器,进而服务器获取网络安全设备采集到的各网络会话数据。

需要说明的是,当发现蜜罐异常时,则强制备份,并重启,以实现自我保护。

下面对本申请实施例中的蜜罐系统进行详细阐述,参阅图2所示,为本申请实施例中蜜罐系统采集网络会话数据的流程示意图,具体包括:

1、攻击者。

攻击者向蜜罐系统发送攻击指令。

其中,攻击指令例如可以为扫描指令、信息获取指令、远程登录指令、下载指令等。

扫描指令用于获取设备的类型信息。

2、日志模块。

当蜜罐系统获取到攻击者发送的攻击指令之后,日志模块用于记录攻击者发送的攻击指令,日志模块还用于与模拟模块进行交互。

3、模拟模块。

模拟模块用于对物联网设备进行模拟。

4、核心模块。

核心模块用于对模拟模块和日志服务器进行控制。

5、日志服务器。

日志服务器由核心服务器进行控制,用于当发现蜜罐异常时,强制备份。

6、沙箱。

沙箱用于执行下载样本。

进一步地,由于采集到的原始的各网络会话数据中,包含大量的无害的扫描以及不完整的流量,因此,在获取到网络安全设备采集到的各网络会话数据之后,需要对获取到的原始的各网络会话数据进行数据清洗,以免后续的聚类造成干扰,则获取到网络安全设备采集到的各网络会话数据之后,进一步包括:

分别针对各网络会话数据,若确定任意一网络会话数据的各事件中包含有起始事件和关闭事件,则确定该网络会话数据的数据类型为完整,并保留数据类型为完整的网络会话数据,若确定该网络会话数据的各事件中不包含有起始事件和/或关闭事件,则删除该网络会话数据。

本申请实施例中,将源ip相同的网络会话数据根据数据标识划分在一起,作为数据集中的一条数据,然后根据网络安全设备在捕获过程中记录的事件,判断采集到的网络会话数据是否完整,则当网络安全设备采集到各网络会话数据之后,分别针对采集到的各网络会话数据,执行以下操作步骤:

q1:判断任意一个网络会话数据中所包含的各事件中,是否包含有起始事件和关闭事件。

本申请实施例中,当获取到网络安全设备采集的网络会话数据之后,对网络会话数据进行事件扫描,获得该网络会话数据中所包含的各个事件,并且,每一个事件对应一个事件类型标识,根据各事件对应的事件类型标识判断各个事件中是否包含起始事件和关闭事件。

根据蜜罐捕获的行为分为不同阶段,将捕获到的行为分为不同的事件,并对事件进行编码,因此,对于每一个网络会话数据都能够提取出由字母a-n编码描述的事件序列,记为每个网络会话数据的事件序列,参阅表1所示,为本申请实施例中网络会话数据所包含的事件示意表。

表1.

其中,connet事件代表网络会话数据的创建,为起始事件,close事件代表网络会话数据的关闭,为关闭事件,如果不以这两个时间作为起始的网络会话数据,则视为破损的网络会话数据,不作为考虑范畴。

q2:若确定任意一网络会话数据的各事件中包含有起始事件和关闭事件,则确定该网络会话数据的数据类型为完整。

本申请实施例中,若确定该网络会话数据所包含的各事件中,包含有事件类型为起始的事件,并且包含有事件类型为关闭的事件,则确定该网络会话数据是完整的,即,该网络会话数据的数据类型为完整。

q3:若确定任意一网络会话数据的各事件中不包含有起始事件或关闭事件,则确定该网络会话数据的数据类型为完整。

本申请实施例中,若确定任意一网络会话数据所包含的各事件中,不包含有事件类型为起始的事件,或者不包含有事件类型为关闭的事件,则确定该网络会话数据不完整,即,该网络会话数据的数据类型为破损。

在获得每一个网络会话数据对应的数据类型之后,根据各原始的网络会话数据的数据类型,将数据类型为破损的网络会话数据删除,仅保留数据类型为完整的网络会话数据,并根据数据类型为完整的网络会话数据执行下面所述的操作。

步骤110:分别针对各网络会话数据,根据预设的频繁事件序列挖掘算法,从任意一会话数据所包含的各事件组成的事件序列中,确定出各频繁事件序列模式。

其中,每一个频繁事件序列模式包括至少一个事件且至少一个事件按照在该网络会话数据中出现的先后顺序进行排列。

本申请实施例中,分别针对各网络会话数据,获取预设的频繁事件序列挖掘算法,并根据预设的频繁事件序列挖掘算法,从任意一网络会话数据中所包含的各事件组成的事件序列中,确定出各频繁事件序列模式。

具体地,执行步骤110时,具体包括:

s1:将任意一网络会话数据中包含的各事件作为各一项序列模式,并生成包含有各一项序列模式的初始种子集。

本申请实施例中,由于事件序列是攻击行为的描述,其中必然存在很多频繁事件序列模式,因此,使用频繁事件序列挖掘算法能够挖掘出这些频繁事件序列模式,本申实施例中,使用的是广义序贯模式(generalizedsequentialpattern,gsp)挖掘算法,挖掘出了236个频繁事件序列模式,首先,分别将任意一网络会话数据中包含的每一个事件作为一个一项序列模式,每一个一项序列模式的长度均为1,并生成包含有各一项序列模式的初始种子集。

例如,扫描网络会话数据,得到长度为1的一项序列模式l1,作为初始的种子集。

s2:将初始种子集中的各一项序列模式进行连接运算,获得支持度大于预设支持阈值的各二项序列模式。

其中,支持度表征包含有任意一个二项序列模式的所有事件序列在该网络会话数据中所占的比例。

本申请实施例中,分别针对初始种子集中的各一项序列模式,将任意一个一项序列模式分别与初始种子集中的其余的各每一个一项序列模式进行连接运算,获得各候选的二项序列模式,并分别判断各候选的二项序列模式的支持度是否大于预设支持度阈值,并将各大于预设支持度阈值的各候选的二项序列模式作为该网络会话数据的二项序列模式。

其中,连接运算表征将任意一个序列模式的第一个项目与去掉任意另一个序列模式的最后一个项目所得到的序列相同,则将该任意两个序列模式进行连接,即,将任意另一个序列模式的最后一个项目添加到任意一个序列模式中。

例如,如果去掉序列模式s1的第一个项目与去掉序列模式s2的最后一个项目所得到的序列相同,则可以将s1与s2进行连接,即将s2的最后一个项目添加到s1中。

例如,序列模式<(1,2)3>和序列模式<2(3,4)>进行连接运算,可产生候选的序列模式<(1,2)(3,4)>。

又例如,序列模式<(1,2)3>和序列模式<235>进行连接运算,可产生候选的序列模式<(1,2)35>。

需要说明的是,在连接之前,首先需要判断两个序列模式是否满足连接条件,连接条件为判断去掉序列模式s1的第一个项目与去掉序列模式s2的最后一个项目所得到的序列是否相同,若相同,则可以将s1与s2进行连接。

s3:将各二项序列模式进行连接运算和修切运算,获得各三项序列模式,并重复执行上述步骤,直至无法产生新的i项序列模式为止,并将支持度大于支持度阈值的i项序列模式,作为该网络会话数据的各频繁事件序列模式。

其中,i为正整数,且大于等于3。

本申请实施例中,在获得各二项序列模式之后,将各二项序列模式进行连接运算和修切运算,获得各三项序列模式,以此类推,在获得各i-1项序列模式之后,将各i-1项序列模式进行连接运算和修切运算,获得各i项序列模式,直至没有产生新的序列模式或新的候选的序列模式为止。

例如,根据长度为i-1的种子集li-1,通过连接运算和修切运算生成长度为i的候选序列模式ci,然后扫描序列数据库,计算每个候选的i项序列模式的支持度,产生长度为i的序列模式li,并将li作为新的种子集。

下面对本申请实施例中,将各二项序列模式进行连接运算和修切运算,获得各三项序列模式的步骤进行详细阐述,具体包括:

a1:将各二项序列模式进行连接运算,获得各候选的三项序列模式。

本申请实施例中,将各二项序列模式进行连接运算,获得各候选的三项序列模式,获得各候选的三项序列模式,连接运算的步骤与一项序列模式的连接运算的过程相同,在此不过多赘述。

a2:分别针对各候选的三项序列模式,若确定任意一个候选的三项序列模式的其中一个子序列不为二项序列模式,则将该候选的三项序列模式删除,若确定该候选的三项序列模式的各子序列均为二项序列模式,则保留该候选的三项序列模式。

本申请实施例中,分别针对各候选的三项序列模式,判断任意一个候选的三项序列模式所包含的各个子序列是否均为序列模式,若确定任意一个候选的三项序列模式的各个子序列均为序列模式,则确定该候选的三项序列模式为序列模式,并保留该候选的三项序列模式,若确定任意一个候选的三项序列模式的其中一个子序列不是序列模式,则确定该候选的三项序列模式不是序列模式,并将该候选的序列模式删除。

例如,候选的序列模式为<(1,2)35>,该候选的序列模式的子序列为<(1,2),3>,<235>,<1,3,5>,但是,由于子序列<1,3,5>不包含在候选的序列集合中,因此,该候选的序列模式不是序列模式。

进一步地,还需要对每一个候选的序列模式进行支持度计算,将小于支持度阈值的候选的序列模式删除。

例如,对于给定的候选序列模式集合c,扫描序列数据库,对于其中的每一条序列s,找出集合c中被s所包含的所有候选序列模式,并增加其支持度计数。

a3:将保留的各候选的三项序列模式,作为各三项序列模式。

本申请实施例中,将经过连接和修切之后获得的各候选的三项序列模式,作为该网络会话数据的三项序列模式。

步骤120:根据确定出的各网络会话数据的各频繁事件序列模式,对各网络会话数据进行聚类,获得各类网络会话数据。

本申请实施例中,在确定出各网络会话数据所包含的各个频繁事件序列模式之后,就能够根据确定出的各网络会话数据的各频繁事件序列模式,对各网络会话数据进行聚类,从而获得各类的网络会话数据。

具体地,执行步骤120时,具体包括:

s1:分别根据各网络会话数据所包含的频繁事件序列模式,对各网络会话数据进行特征提取,确定各网络会话数据的特征向量。

本申请实施例中,由于每个网络会话数据都可以被频繁序列模式中的一个或多个的组合所描述,因此,可以通过各网络会话数据所包含的频繁序列模式,给每一个网络会话数据都进行特征提取,将每一个网络会话数据都通过特征向量的形式展示,从而确定各网络会话数据的特征向量。

例如,假设共有236个频繁事件序列模式,因此,网络会话数据的特征向量是一个236维的(0,1)组成的向量,0代表该网络会话数据中不包含某个频繁事件序列模式,1代表该网络会话中包含某个频繁事件序列模式。

s2:分别针对各网络会话数据,确定任意一网络会话数据的特征向量与其余的各网络会话数据的特征向量之间的欧式距离。

本申请实施例中,分别针对各网络会话数据,确定任意一网络会话数据的特征向量与其它各个网络会话数据的特征向量之间的欧式距离,具体包括:

a1:选取k个点做为初始聚集的簇心。

其中,采用肘部法确定k的值,例如,k值为20。

a2:分别计算每个样本点到k个簇核心的欧式距离,找到离该点最近的簇核心,将它归属到对应的簇。

a3:所有点都归属到簇之后,m个点就分为了k个簇,然后重新计算每个簇的重心(平均距离中心),将其定为新的“簇核心”。

a4:反复迭代a2-a3步骤,直到达到某个中止条件。

其中,常用的中止条件有迭代次数、最小平方误差(mse)、簇中心点变化率。

s3:根据计算获得的各欧式距离,对各网络会话数据进行聚类,并获得聚类后的各网络会话数据。

本申请实施例中,当计算获得各欧式距离之后,就能够根据各欧式距离,对网络会话数据进行聚类,并获得聚类后的各网络会话数据。

其中,例如可以将网络会话数据分为20类,参阅图3所示,为本申请实施例中聚类效果示意图。

步骤130:分别针对各类网络会话数据,识别任意一类网络会话数据中包含的各命令的命令状态类别,并基于识别后的各命令,以及识别后的各命令之间的调用顺序,分析该类网络会话数据的攻击行为。

本申请实施例中,分别针对各类网络会话数据,首先将任意一类网络会话数据中的各网络会话数据所包含的相邻的重复命令删除,并将剩余的命令的参数删除,仅对不同命令之间的使用顺序进行分析,对于每一个网络会话数据中所包含的各命令,都能够通过以下12种命令状态进行定义,因此,将每一个网络会话数据中所包含的各命令通过这12种命令状态进行定义,并基于定义后的命令,构造状态转移图,从而分析该类网络会话数据的攻击行为。

其中,12种命令状态具体包括:

(1)checksw:检查软件配置

(2)redirect:重定向到其他地址的行为

(3)installrun:安装运行状态

(4)download:下载状态

(5)password:密码查询操作状态

(6)checkhw:检查硬件配置

(7)changeconf:修改配置状态

(8)inpact:破坏状态

(9)persistence:保持持续性状态

(10)clean:消除证据的状态

(11)lateralmovement:横向移动状态

(12)check:检查蜜罐状态

本申请实施例中,获取网络安全设备采集到的各网络会话数据,分别针对各网络会话数据,根据预设的频繁事件序列挖掘算法,从任意一网络会话数据所包含的各事件组成的事件序列中,确定出各频繁事件序列模式,根据确定出的各网络会话数据的各频繁事件序列模式,对各网络会话数据进行聚类,获得各类网络会话数据,分别针对各类网络会话数据,识别任意一类网络会话数据中包含的各命令的命令状态类别,并基于识别后的各命令,以及识别后的各命令之间的调用顺序,分析该类网络会话数据的攻击行为,这样,通过部署各地的蜜罐捕获到大量的攻击流量,在进行流量清洗之后,去除了破损记录、无关纪录、无害记录之后,将剩下的数据根据源ip以及网络会话数据进行划分,得到一个以网络会话数据为单元的数据集。然后提取其中的时空特征、访问特征,挖掘出数据中的固定的频繁事件序列模式,然后针对信息量丰富的网络会话数据,采用聚类的方式将各网络会话数据分为不同的攻击风格,对团伙的识别具有指导意义,并且针对未知类型的恶意流量,能够进行攻击行为的分析,并能够将复杂的网络流量情况转化为相应的模式,方便相应策略的部署,减少人力成本。

基于上述实施例,参阅图4所示,为本申请实施例中一种攻击行为分析方法的另一流程图,具体包括:

1、网络安全设备。

网络安全设备采集各网络会话数据,并将网络安全设备发送给服务器进行数据清洗。

2、网络会话数据。

3、网络会话数据的特征向量。

本申请实施例中,分别针对各网络会话数据,从任意一网络会话数据所包含的各事件组成的事件序列中,确定出各频繁事件序列模式,根据确定出的各网络会话数据的各频繁事件序列模式,并根据各频繁事件序列模式,确定网络会话数据的特征向量。

具体地,在确定频繁事件序列模式时,gsp需要多次扫描序列数据库,在第一次扫描中,对所有的单个项目(1—序列模式)进行计数。利用频繁1—序列模式生成候选频繁2—序列模式,进行第二次扫描并求候选频繁2—序列模式的支持数。使用频繁2—序列模式生成候选频繁3—序列模式,重复以上过程,直到找出所有的频繁序列模式。

4、聚类模型。

本申请实施例中,对各网络会话数据进行分类,具体可以分为分布式拒绝服务攻击、无害行为、恶意软件攻击、命令攻击。

5、命令语句。

本申请实施例中,读取各类网络会话数据中包含的命令语句,并获得各类网络会话数据的质心。

6、质心。

本申请实施例中,构造状态转移图,并刻画不同风格的攻击行为。

本申请实施例中,首先采集网络空间内恶意流量,通过使用物联网设备特征建立机器学习聚类模型,使用模式挖掘算法提取恶意行为固有的特征模式,然后将蕴含攻击者指令的高信息度模式进行进一步的聚类算法,对物联网流量进行分类识别,最后将攻击过程提炼成13个相对独立的状态,对聚类后的质心构造状态转移图,从而对不同的攻击风格刻画,意在减少人工投入,通过系统的持续运营,提高网络空间威胁事件的识别精度和广度。

基于同一发明构思,本申请实施例中还提供了一种攻击行为分析装置,该攻击行为分析装置可以是硬件结构、软件模块、或硬件结构加软件模块。基于上述实施例,参阅图5所示为本申请实施例中攻击行为分析装置的结构示意图,具体包括:

获取模块500,用于获取网络安全设备采集到的各网络会话数据;

第一处理模块510,用于分别针对所述各网络会话数据,根据预设的频繁事件序列挖掘算法,从任意一会话数据所包含的各事件组成的事件序列中,确定出各频繁事件序列模式,其中,每一个频繁事件序列模式包括至少一个事件且所述至少一个事件按照在该网络会话数据中出现的先后顺序进行排列;

聚类模块520,用于根据确定出的所述各网络会话数据的各频繁事件序列模式,对所述各网络会话数据进行聚类,获得各类网络会话数据;

分析模块530,用于分别针对各类网络会话数据,识别任意一类网络会话数据中包含的各命令的命令状态类别,并基于识别后的各命令,以及所述识别后的各命令之间的调用顺序,分析该类网络会话数据的攻击行为。

可选的,获取网络安全设备采集到的各网络会话数据之后,进一步包括:

第二处理模块540,用于分别针对所述各网络会话数据,若确定任意一网络会话数据的各事件中包含有起始事件和关闭事件,则确定该网络会话数据的数据类型为完整,并保留所述数据类型为完整的网络会话数据,若确定该网络会话数据的各事件中不包含有起始事件和/或关闭事件,则删除该网络会话数据。

可选的,根据预设的频繁事件序列挖掘算法,从任意一会话数据所包含的各事件组成的事件序列中,确定出各频繁事件序列时,第一处理模块510具体用于:

将任意一网络会话数据中包含的各事件作为各一项序列模式,并生成包含有各一项序列模式的初始种子集;

将所述初始种子集中的各一项序列模式进行连接运算,获得支持度大于预设支持度阈值的各二项序列模式,其中,所述支持度表征包含有任意一个二项序列模式的所有事件序列在该网络会话数据中所占的比例;

将所述各二项序列模式进行连接运算和修切运算,获得各三项序列模式,并重复执行上述步骤,直至无法产生新的i项序列模式为止,并将支持度大于所述支持度阈值的i项序列模式,作为该网络会话数据的各频繁事件序列模式,其中,i为正整数,且大于等于3。

可选的,将所述各二项序列模式进行连接运算和修切运算,获得各三项序列模式时,第一处理模块510具体用于:

将各二项序列模式进行连接运算,获得各候选的三项序列模式;

分别针对所述各候选的三项序列模式,若确定任意一个候选的三项序列模式的其中一个子序列不为二项序列模式,则将该候选的三项序列模式删除,若确定该候选的三项序列模式的各子序列均为二项序列模式,则保留该候选的三项序列模式;

将保留的各候选的三项序列模式,作为各三项序列模式。

可选的,聚类模块520具体用于:

分别根据各网络会话数据所包含的频繁序列模式,对所述各网络会话数据进行特征提取,确定所述各网络会话数据的特征向量;

分别针对所述各网络会话数据,确定任意一网络会话数据的特征向量与其余的各网络会话数据的特征向量之间的欧式距离;

根据计算获得的各欧式距离,对所述各网络会话数据进行聚类,并获得聚类后的各网络会话数据。

基于上述实施例,参阅图6所示为本申请实施例中电子设备的结构示意图。

本申请实施例提供了一种电子设备,该电子设备可以包括处理器610(centerprocessingunit,cpu)、存储器620、输入设备630和输出设备640等,输入设备630可以包括键盘、鼠标、触摸屏等,输出设备640可以包括显示设备,如液晶显示器(liquidcrystaldisplay,lcd)、阴极射线管(cathoderaytube,crt)等。

存储器620可以包括只读存储器(rom)和随机存取存储器(ram),并向处理器610提供存储器620中存储的程序指令和数据。在本申请实施例中,存储器620可以用于存储本申请实施例中任一种攻击行为分析方法的程序。

处理器610通过调用存储器620存储的程序指令,处理器610用于按照获得的程序指令执行本申请实施例中任一种攻击行为分析方法。

基于上述实施例,本申请实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的攻击行为分析方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1