一种基于霍克斯多元过程建模的物联网攻击模式识别方法

文档序号:26853849发布日期:2021-10-09 02:51阅读:187来源:国知局
一种基于霍克斯多元过程建模的物联网攻击模式识别方法

1.本发明涉及物联网攻击模式识别技术领域,具体涉及一种基于霍克斯多元过程建模的物联网攻击模式识别方法。


背景技术:

2.世界范围的网络攻击行动越发频繁,因为创建大型物联网僵尸网络并造成严重破坏并不需要花费大量精力。未来人们会继续看到使用基于物联网设备漏洞发动的网络攻击的增多,这是因为利用物联网设备攻击者能够以最少的时间和资源创建更大的僵尸网络。这些僵尸网络发动的网络攻击往往产生庞大而复杂的网络事件日志,由于日志数量大、日志种类多,网络安全研究员在很多情况下无法有效溯源这些攻击或者快速响应。
3.一个物联网僵尸网络的生存周期包括形成、c&c(command and control)、攻击、后攻击四个阶段。形成阶段由攻击者入侵有漏洞的主机,并在其上执行恶意程序,使之成为僵尸主机;一旦某个网络设备成为僵尸主机之后,僵尸网络控制者会通过主控端与之构建c&c信道,通过各种方式与之通信;之后僵尸主机根据主控端发出的指令执行攻击行为;后攻击阶段是指主控端利用被控制的僵尸主机进行进一步的破坏操作,如入侵内网、窃取信息、发动ddos攻击等。
4.传统的检测僵尸网络的方法一般在僵尸网络攻击和通信阶段进行检测。例如,基于签名的方法依赖于僵尸网络的先验信息,无法应对快速变化的僵尸网络特征且无法检测未知的新攻击样本的攻击;基于特征的方法的有效性对特征质量高度敏感,永远无法证明所选特征是否足以进行训练,导致该类方法不够稳定,无法将特定僵尸网络与正常主机区分开来。特别是针对iot(物联网)设备组建的僵尸网络流量混迹于海量的互联网流量中,使得传统僵尸网络识别方法难以直接应用来识别iot僵尸网络。利用蜜罐技术可以简化iot僵尸网络的检测难度,通过使用伪装成物联网设备的蜜罐来吸引iot僵尸网络的攻击,就可以捕获到iot僵尸网络的行为,从而识别他们。为了从蜜罐捕获的大量攻击数据中识别僵尸网络,需要使用可靠且精简的特征以在保证检测效果的同时减小计算负载。文献[1]中通过利用攻击事件的时序特征来识别僵尸网络,首先基于直观的观察建立了基于攻击时间的概率模型:同一僵尸网络中的主机有发起时间接近的攻击的趋势。但是,上述研究没有考虑到:僵尸网络对不同的受感染主机有不同的控制期,即易受攻击的物联网设备往往不会只被一个攻击团伙用于网络攻击,而是在不同的时间段被不同的攻击团伙控制,被用于发动不同的网络攻击。因此,同一僵尸网络中的某些主机实际上仅具有部分时间相似性,如果忽略这个事实,对僵尸网络主机在整个观察时间窗口内的时间序列进行建模,会影响其攻击模型分析结果的准确性。


技术实现要素:

[0005]
鉴于以上问题,本发明提出一种基于霍克斯多元过程建模的物联网攻击模式识别方法,用以解决现有的物联网攻击模式识别方法不能准确有效地识别僵尸网络中同一个受
控僵尸主机行为模式不一致的问题。
[0006]
一种基于霍克斯多元过程建模的物联网攻击模式识别方法,包括下述步骤:
[0007]
步骤一、利用蜜罐检测系统采集数据,获取多个僵尸主机的攻击日志数据集;
[0008]
步骤二、对所述攻击日志数据集进行预处理,获取包含多个僵尸主机攻击时间序列的精简数据集;
[0009]
步骤三、搭建时序特征模型并将精简数据集输入时序特征模型运行,获得不同僵尸网络对各个僵尸主机的控制期识别结果;所述控制期是指同一个僵尸主机被不同僵尸网络控制的时间段。
[0010]
进一步地,步骤二中所述预处理包括数据整合、格式同步、数据清洗去噪。
[0011]
进一步地,步骤二中采用改进的dbscan算法进行数据清洗去噪,具体步骤包括:
[0012]
步骤二一、将每个僵尸主机对单个蜜罐发起两次相邻攻击的间隔时间的平均值设置为dbscan算法中的eps参数值,eps参数值是扩展集群的局部半径;
[0013]
步骤二二、对每个僵尸主机动态计算其对应的eps参数值并进行dbscan密度聚类。
[0014]
进一步地,步骤三的具体步骤包括:
[0015]
步骤三一、首先从精简数据集中提取各个僵尸主机的攻击时间序列;
[0016]
步骤三二、然后将这些攻击时间序列组成矩阵,输入到多变量霍克斯模型中进行基于多变量霍克斯过程的初步聚类,获得初步聚类结果;
[0017]
步骤三三、最后将初步聚类结果输入到基于控制期检测的僵尸网络聚类算法中进行聚类,获得标注不同僵尸网络控制期的攻击时间序列集合即为不同僵尸网络对各个僵尸主机的控制期识别结果。
[0018]
进一步地,步骤三三中利用基于控制期检测的僵尸网络聚类算法进行聚类获得标注不同僵尸网络控制期的攻击时间序列集合的具体步骤包括:
[0019]
首先,基于多变量霍克斯方法根据攻击事件的时间相似性进行推断,从而构建攻击推断模型;利用吉布斯采样方法训练贝叶斯概率网络模型,获得各个僵尸主机之间的连接权重;使用步骤三二中基于多变量霍克斯过程的初步聚类过程中得到的强度函数作为聚类的权重,根据上述连接权重和强度函数获得初始僵尸网络集群;
[0020]
然后,为每个初始僵尸网络集群选择具有代表性的代表僵尸主机;
[0021]
然后,成对比较选定的代表僵尸主机,并计算每两个代表僵尸主机之间攻击时间序列的最长相似周期;
[0022]
然后,根据最长相似周期划分僵尸主机所在僵尸网络集群中每个僵尸主机的攻击事件序列;
[0023]
然后,重复上述步骤直至不存在可被划分的攻击事件序列;
[0024]
最后,重新组织获得的攻击时间片段以获取连续时间序列,从而获得完整的控制期识别结果。
[0025]
进一步地,基于控制期检测的僵尸网络聚类算法中代表僵尸主机的选择方法为:计算初始僵尸网络集群中每两个僵尸主机之间的权重,并计算这些权重之间的平均权重,选择平均权重最大的僵尸主机作为代表僵尸主机。
[0026]
进一步地,基于控制期检测的僵尸网络聚类算法中计算每两个代表僵尸主机之间攻击时间序列的最长相似周期的具体过程为:引入动态滑动窗口机制,窗口大小初始化为x
天,每次记录窗口中子串的强度函数,以每次y天的速率向后扩展窗口,直到遍历整个观察窗口;然后初始化窗口大小,将整体沿时间轴移动y天,重复上述步骤;最后,得到所有代表僵尸网络之间的最长相似周期,将其视为不同僵尸网络的控制期。
[0027]
进一步地,基于控制期检测的僵尸网络聚类算法中重新组织获得的攻击时间片段以获取连续时间序列的前提条件是:攻击时间片段同属于一个ip地址且访问同一个蜜罐;在时间线中,两个攻击时间片段之间不存在其他僵尸网络的ip时间段。
[0028]
进一步地,基于控制期检测的僵尸网络聚类算法中所述强度函数公式为:
[0029][0030]
其中,h
t
表示时刻t之前的历史攻击事件;表示强度初始值;k表示僵尸主机总数;a
m,n
表示僵尸主机之间的邻接矩阵;w
m,n
表示僵尸主机之间的连接权重,即相互之间的影响力大小;h
m,n
(t

s
m
)表示僵尸主机之间的时间衰减影响,也称为脉冲响应;m、n表示僵尸主机的编号。
[0031]
本发明的有益技术效果是:
[0032]
本发明首先通过一组蜜罐来捕获足够多的真实攻击者活动,然后提出一种基于密度的聚类算法即改进的dbscan算法来精简海量数据规模;然后提出一种基于控制周期检测的僵尸网络聚类算法来推断僵尸网络控制不同僵尸主机的时间片段,并根据加权的潜在影响以细粒度的方式将攻击者活动聚集到僵尸网络中。本发明以控制期的粒度对僵尸网络进行进一步识别,解决了由于不同僵尸网络占有时间段不同而导致的同一个受控主机的行为模式不一致的问题。
附图说明
[0033]
本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。
[0034]
图1是本发明中攻击时序特征提取过程示意图;
[0035]
图2是本发明方法的工作流程图;
[0036]
图3是本发明中时序特征模型运行的流程图;
[0037]
图4是本发明中利用改进的dbscan算法去除噪声数据的效果示意图;
[0038]
图5是本发明中五个示例累积计数的比较图;其中,图(a)表示多变量霍克斯过程初步聚类结果;图(b)表示控制期粒度识别效果;
[0039]
图6是本发明中时间片段聚类结果图;
[0040]
图7是本发明中实验模拟案例的生成攻击序列的示例图;
[0041]
图8是本发明中实验结果示例图。
具体实施方式
[0042]
为了使本技术领域的人员更好地理解本发明方案,在下文中将结合附图对本发明
的示范性实施方式或实施例进行描述。显然,所描述的实施方式或实施例仅是本发明一部分的实施方式或实施例,而不是全部的。基于本发明中的实施方式或实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式或实施例,都应当属于本发明保护的范围。
[0043]
iot(物联网)僵尸网络是远程攻击者(也称为“botmaster”)控制下的受感染iot设备(称为“僵尸主机”)的网络。iot攻击分为三个阶段,第一阶段是扫描,黑客试图通过大范围的端口扫描将有可利用的安全漏洞的iot设备记录到一个列表中;第二阶段是入侵,攻击者通过第一阶段收集到的信息确定可用于提权和远程登录的漏洞,这些漏洞一般来自近期公布的iot相关的cve(common vulnerabilities&exposures),多数iot设备由于缺乏漏洞自动修复机制,很长时间都不会去修复这些公开的漏洞,这就给攻击者可乘之机。第三阶段,攻击者尝试发送一系列即时请求确认连接畅通后,就会根据目标主机的cpu架构下载远程控制软件(也就是c&c客户端)。远程控制软件被下载并成功执行,回连c&c服务器之后,目标主机就正式被劫持为僵尸主机。最终,僵尸主机成为用于执行挖掘、ddos攻击、恶意传播和隐私入侵的僵尸网络的一部分。
[0044]
蜜罐是一种网络欺骗技术,旨在伪装或提供某种服务或环境吸引黑客进行攻击,以便得到恶意代码和样本,进行安全分析。iot僵尸网络组建过程一般采取大规模扫描来发现目标主机的策略,因此其行为很容易被蜜罐捕获,从而识别为攻击行为或未经授权的扫描行为。
[0045]
霍克斯过程是一种点过程(point process),在这个点过程中,历史事件的发生会影响未来事件发生的概率。多变量霍克斯过程中的随机变量由若干个霍克斯过程随机变量组成,其特点是能够描述霍克斯过程之间互相“激励”的情况,即一个霍克斯过程中事件的发生,对其他霍克斯过程中后续事件发生的影响大小。如图1所示,在世界范围内部署几个蜜罐,以收集来自僵尸网络的攻击。每个攻击者被假设为属于一个发起“协同攻击”的僵尸网络。假设同一僵尸网络中的攻击者之间存在着攻击时间分布上的潜伏影响,则可以通过识别是否存在足够多的攻击者b的攻击事件紧跟攻击者a的相应事件来检测攻击者a和b(图1中的节点a和b)之间的潜在影响,然后将所有相互之间有较强潜在影响的攻击者分组,来识别攻击者的集群结构。可以把识别过程想象成把攻击者的活动分割成若干个互不重叠的时间片段,然后在每个时间片段上进行两个攻击者活动序列的比较。由于攻击者活动的持续时间和时间区间分布差异很大,设定一个通用的时间单位来分割时间轴是不合理的。因此研究者们采用了一种概率方法,即多变量霍克斯过程来推断攻击者之间的潜在影响。直观地讲,该方法假设了一个概率分布,并为每个攻击者分配了隐含参数,那么这个攻击者的活动可以通过这些隐含参数来描述。因此,可以通过机器学习领域的大量推理算法来推断攻击者之间的潜在影响。文献[1]展示的时序特征聚类的聚类结果中,聚类得到的4个攻击者ip簇中,属于同一个簇的攻击者,在发动攻击的时间模式上具有明显相似的模式,可以得出:被聚为一类的攻击者,大概率属于同一个僵尸网络。这一点用一个简单的反证即可说明:如果聚类结果中的攻击者属于不同的僵尸网络,随着搜集数据时间的增长,属于不同僵尸网络的攻击者发起的攻击在时间上都具有明显的关联性,这显然是小概率事件。因此对于基于时序特征聚类得到的簇中的攻击者,可以认为他们大概率是属于同一个僵尸网络的。
[0046]
由此,本发明提出一种基于霍克斯多元过程建模的物联网攻击模式识别方法,其中,攻击模式是指同一组织或个人在控制期内的攻击活动的时间相似性;僵尸主机在不同组织或个人控制的时期内会表现出不同的攻击模式,因此将同个僵尸主机被不同的组织和个人控制的时间段称为不同的“控制期”。本发明在时序特征聚类中使用的模型为多变量霍克斯模型,该模型使得在足够长的一段时间内,可以找到在发动攻击的时间上始终有联动关系的攻击者,并将它们聚为一个ip簇。具体来说,本发明方法先将每个攻击者ip发动网络攻击看作是时间轴上的随机点过程,再使用多变量hawkes(霍克斯)模型对多个攻击者ip对应的随机点过程进行建模和聚类,这样在一段足够长的时间t内,将在发动攻击的时间点上都相似的攻击者ip归为一类。从理论上讲,以这种方式被聚为一类的攻击者ip,很大概率是协同攻击的,因此可以将这些攻击者ip视为同类。
[0047]
图2展示了本发明方法的工作流程,如图2所示,该方法主要分为三个步骤。首先,采用通用或自行设计的蜜罐系统进行数据收集;其次,进行数据预处理,为了提供无噪音且格式良好的数据集,在进一步分析之前清洗捕获的数据;第三,时序特征模型搭建部分,通过匹配时间影响的部分相似性来划分每个僵尸主机的攻击序列,然后将基于控制周期的攻击模式聚类为僵尸网络。下面对各个步骤进行详细的说明。
[0048]
1.数据采集部分,实施例中使用自行设计的蜜罐,针对各种协议的物联网设备进行模拟。正如蜜罐是对抗垃圾邮件发送者的武器一样,蜜罐检测系统是垃圾邮件发送者使用的反武器。由于检测系统可能会使用特定蜜罐的独特特征来识别它们,例如默认蜜罐配置的属性

值对,许多正在使用的蜜罐利用了一组独特的特征,这些特征对于寻求检测的人来说更大、更令人生畏,从而识别它们,这在软件中是一种不寻常的情况,可能是有益的。部署一些易于检测的蜜罐还有一个优势,deception toolkit的发明者fred cohen认为,每个运行其蜜罐的系统都应该有一个欺骗端口,攻击者可以使用它来检测蜜罐。因此,本发明在设计和实现层面最大限度地隐藏了可能被攻击者识别的蜜罐特征,比如使用沙箱隐藏实际后台监控的进程、对常用的系统监控命令设置别名来绕过僵尸脚本的检测等。采集的数据包含攻击时间、攻击的命令序列、恶意样本等,本发明中只用到攻击时间。
[0049]
2.数据预处理部分,主要解决两个问题:对数据集中的无关数据进行清理;对真实僵尸网络攻击中,大量重复访问的噪音进行处理。
[0050]
僵尸网络的攻击流量是惊人的,原始数据一个月便可达到惊人的千万级别。这对分析工作带来巨大影响。此外,这其中有相当一部分数据是不具备研究价值的。而且绝大多数攻击者为了保证命中,会在短时间内多次重复攻击。在这种情况下,研究所有攻击事件将导致大量冗余的计算量并影响训练的攻击模型的准确性。因此,首先利用根据蜜罐采集到的数据的特点进行初步筛选。拿cowrie举例,cowrie是一款交互型ssh(secure shell protocol)蜜罐,用于获取攻击者用于对ssh进行暴力破解的字典,输入命令以及上传或下载恶意文件。这些信息都会被记载到日志当中并存入分布式数据库方便查询。cowrie蜜罐可以根据ssh连接的情况,将记录的过程标记为多种标签。其中以connected作尾缀的标签表示ssh创建连接的起始事件,以closed作尾缀的是ssh连接结束的标志。利用这一点,将所有不以connected开头的或不以closed结尾的事件识别为不完整的攻击。其中不完整的原因可能是连接意外断开或者是攻击被终止。这种不完整的攻击对研究是没有价值的,因此将其删除。
[0051]
然后,整合所有捕获的数据并标准化攻击时间信息,将少于100次攻击的攻击者过滤掉。对于过滤之后的数据,由于本发明方法仅涉及攻击时间信息,因此将整个数据集映射在观察期的时间轴上。最后,为了解决短时间内重复攻击造成的大量噪声数据问题,提出一种改进的dbscan算法来简化满足条件的攻击事件,最终达到在保持真实数据模式的前提下,大量去除无用数据的目的。
[0052]
为了解决短时间内重复攻击,采用改进的dbscan算法的原因有两个:首先,集群内的所有攻击活动都是相互密度连接的;其次,如果某个活动可以从某些集群活动中密度可达,那么它也是集群的一部分。eps是dbscan算法中扩展集群的局部半径,dbscan算法将其视为步长,在每次迭代中不会计算以eps为半径范围外的点,但是通过执行多个迭代步骤,dbscan聚类出的结果集半径可以变得比eps大得多。eps过大,则更多的点会落在核心对象每次迭代的邻域内,此时类别数可能会减少,本来不应该是一类的样本也会被划为一类,反之则类别数可能会增大,本来是一类的样本却被划分开。由于每个僵尸主机发起攻击的频率不同,因此每次dbscan的eps选取也应该随之变化,因此,本发明中一种改进的dbscan算法的具体步骤为:首先,将每个僵尸主机对某个蜜罐发起两次相邻攻击的间隔时间的平均值设置为dbscan的eps(epsilon)参数值;然后,对每个僵尸主机动态计算对应的eps值进行dbscan。注意,由于数据是一维的,所以在聚类算法中使用拟合得到的平均值作为搜索半径。整体实现细节如算法1所示。
[0053][0054][0055]
本发明采用基于密度的dbscan算法,将十亿级数据分批读入内存进行聚类处理,输出用聚类中心(密度中心)点代替每个簇中的其余点的精简数据集合。该数据清洗算法的时间和空间复杂度均为o(n),并且可以并行处理,因此可以清洗大规模攻击日志数据。
[0056]
3.时序特征模型搭建部分,图3展示了时序特征模型运行的流程图。模型的输入是清洗后的攻击日志数据集,首先从这个攻击日志数据集中提取各个僵尸主机的攻击序列seqb
i
,i∈[1,2,....n],其中,n表示日志中涉及的僵尸主机数量(ip相同且访问的蜜罐编号相同的主机视为一个僵尸主机);然后将这些攻击序列组成矩阵seqmat={seqb
i
,i∈[1,2,....n]},输入到多变量霍克斯模型中进行基于多变量霍克斯过程的初步聚类,得到聚类结果initc;然后将聚类结果输入基于控制周期检测的僵尸网络聚类算法中,得到表示在
interval时间区间内被botnet
j
控制的僵尸主机b
i
的fragment(b
i
,botnet
j
,interval)集合fragments。整个时序特征模型将输入的清洗后的数据集b
s
经过一系列聚类和识别,输出每个僵尸主机的被标记的攻击时间序列,标记的内容是在不同的时间区间内,僵尸主机被不同的僵尸网络控制的情况。下面对上述时序特征模型运行的过程进行详细说明。
[0057]
3.1基于多变量霍克斯过程的初步聚类
[0058]
多变量霍克斯模型过程能够针对多个随机变量产生的随机事件的时间间隔进行建模。给定一个由k个点过程(本发明中为k个僵尸主机)、n个攻击事件组成的多变量霍克斯过程。s
n
,c
n
,n∈[1

n],其中,c
n
∈[1

k]表示第n个攻击事件所属的僵尸主机;攻击事件被标记为s
n
∈[0,t]。k个僵尸主机的攻击过程被假定为条件泊松过程,强度函数用于刻画每个攻击时间n的霍克斯过程。强度函数公式如下:
[0059][0060]
上式表达霍克斯模型的强度公式中,h
t
表示时刻t之前的历史事件;表示强度初始值;h
m,n
(t

s
m
)是僵尸主机m和n之间的时间衰减影响,也称为脉冲响应;a
m,n
是僵尸主机m和n的邻接矩阵;w
m,n
用来表示僵尸主机之间的连接权重,即相互之间的影响力大小。
[0061]
通过这一步得到的w
m,n
矩阵将被用于聚类算法中,由于w
m,n
矩阵中每一项表示不同僵尸主机之间相互影响的程度,因此相互影响程度高的僵尸主机就符合发起“协同攻击”的攻击者,理论上可以被归为同一个僵尸网络。使用基于影响力矩阵w
m,n
的聚类算法进行聚类,具有以下优点:首先,在执行算法之前既不需要簇的目标个数,也不需要簇的大小;其次,所有簇都由阈值q控制,因此将具有预期的质量水平;最后,算法的时间和空间复杂度均为o(n),因此可以较快的速度得出结果。整体实现细节如算法2所示。
[0062][0063]
3.2基于控制周期检测的僵尸网络聚类算法
[0064]
iot僵尸网络和传统僵尸网络相比,具有安全配置脆弱,容易被不同的攻击者交替控制的特点。而传统的僵尸网络识别算法都是基于如下假设:在观测周期内,僵尸主机始终
在同一个僵尸网络控制之下,不论观测周期有多长。而这个假设在iot僵尸网络中不成立,因为通过对捕获的在野攻击数据的分析,多个iot僵尸网络存在抢占iot僵尸主机的行为,且这一行为十分常见,因此,希望通过用一种方式来识别每个iot僵尸主机被不同iot僵尸网络的控制周期。
[0065]
在同一僵尸网络控制期间,僵尸程序往往会表现出暂时接近的攻击活动,因此提出一种基于控制周期检测的僵尸网络聚类算法。在僵尸网络的直观观察的基础上,以控制期为基本单位:相同的僵尸网络控制期往往会执行时序相近的攻击活动。值得注意的是,控制期指的是在观察周期内,某主机由于被不同攻击者在不同时间段控制,而被切割开的不同时间片段。这样,在僵尸网络聚类过程之后,每个集群代表一个具有特定攻击模式的僵尸网络,由控制周期分隔的僵尸序列片段组成。
[0066]
该算法包括四个步骤:
[0067]
步骤1、按照上文描述的多变量霍克斯方法根据攻击事件的时间相似性进行推断,构建攻击推断模型;利用吉布斯采样方法训练贝叶斯概率网络模型,获得僵尸主机时间行为之间的潜在影响;使用基于多变量霍克斯过程的初步聚类过程中得到的强度函数作为聚类的权重,从而得到初始僵尸网络集群;
[0068]
步骤2、为每个初始僵尸网络集群选择一个有代表性的僵尸主机。此步骤的目标是简化数据分析的负担。因为算法的时间复杂度为o(n3),空间复杂度为o(n),如果输入的seqmat过大,会导致计算时间过长,因此,需要合理减小seqmat的大小。在步骤1的聚类过程中能够确保每个类中的僵尸主机攻击模式基本一致,因此计算每个类中僵尸主机两两之间的相似度,选择和同类中其他僵尸主机平均相似度最大的僵尸主机作为代表来进行计算,以达到合理减少计算时间的效果;即计算集群中每两个僵尸主机之间的权重,并计算给定节点和其他节点(即这些权重之间)的平均权重,选择平均权重最大的僵尸主机作为代表。
[0069]
步骤3、成对比较选定的代表,并计算两两之间攻击时间序列的最长相似期。为此,先把这个问题映射到最长公共连续子串问题。引入动态滑动窗口机制,窗口大小初始化为x天,每次记录窗口中子串的强度函数,以每次y天的速率向后扩展窗口,直到遍历整个观察窗口;然后初始化窗口大小,将整体沿时间轴移动y天,重复上述步骤;最后,得到所有代表性僵尸网络之间最长的相似周期,将其视为不同僵尸网络的控制周期。根据最长相似期划分僵尸主机所在集群中每个僵尸主机的攻击事件序列。注意,当一个序列片段的长度小于z分钟时,认为长度不足以表达长期攻击模式,因此不再进行划分。
[0070]
重复步骤1

3,直到没有序列可以划分。x、y和z分别初始化为30、10和50(或用户定义的其他值)。
[0071]
步骤4、重新组织获得的片段。由于上述3个步骤会重复多次,所以连续时间序列将被划分。这一步的目的是重新组合本来应该是连续的序列以获得完整的控制期识别结果。判断一个集群中的两个僵尸主机分片是否可以重组主要基于以下三个基础:1)这两个分片是否属于同一个ip;2)这两个片段访问同一个蜜罐;3)在时间线中,它们之间没有其他集群成员(即不存在其他僵尸网络的ip时间段)。请注意,第四段代码中的botclusters包含在观察窗口上具有同步模式的僵尸主机,w是每个僵尸主机在观察窗口上的相似度矩阵,mulhawkes函数用来计算w和botclusters。
[0072][0073][0074]
对本发明的技术效果进行验证。
[0075]
蜜罐分布比较集中,主要关注的是多僵尸网络控制期。直观上,被多个蜜罐捕获的ip更有可能被多个僵尸网络控制。另外,攻击越频繁,就越方便挖掘攻击模式,缓解服务器的性能压力。此外,分析大规模数据给服务器带来了巨大的计算负担。因此,过滤掉仅被一个蜜罐捕获且累积攻击次数小于5,000的ip。这样,就获得了满足上述条件的200,094,875攻击活动,以供进一步分析。
[0076]
接下来,使用算法1进一步去除短时间内多次重复攻击。随机选取了4个ip的攻击
序列(部分),实验结果如图4。实验结果表明,该算法在不破坏原有攻击模式的情况下,减少了攻击事件的数量。
[0077]
在分析的最后一步,在组织良好的数据集上执行提出的算法3。受计算能力的限制,通过从蜜罐中随机选择数据来验证算法3的有效性。每个僵尸网络中的元素是一个分段的僵尸攻击序列。
[0078]
在算法3的第一步中,最初通过hawkes模型将来自随机选择的蜜罐的128,737的攻击活动划分为47个集群。图5显示了五个示例累积计数的比较。如图5(a)所示,hawks模型可以从时间特征上有效区分不同的攻击模式。但是,如图5(b)所示,从控制周期的角度来看,可以获得对攻击模式的更细粒度的描述。由于所选择的代表性僵尸主机可以代表其集群的攻击模式,因此代表性僵尸主机控制周期的划分可以为集群中的其他僵尸主机提供重要的指导。在基于控制周期的分割之后,成功地将一些具有相同时间特征的片段聚类在一起,直观地如图6。
[0079]
为了进一步验证本发明方法的有效性,分别从5个不同的类中选择了500个不同的片段。然后将它们随机分成五个一组,并将起始时间戳初始化为unix时间。图7显示了模拟案例的五个示例。然后,将序列作为输入来执行本发明方法,以检测识别不同僵尸网络控制周期的能力。在这个实验中,由于时间序列是手动组合的,每个僵尸网络的控制周期是已知的。基于这些先验知识,最终的聚类准确率可以达到96%。实验结果如图8所示。图8表明本发明方法可以区分大部分控制期,并且在两个控制期的边缘有一个错误点。
[0080]
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
[0081]
本发明所援引的文献如下:
[0082]
[1]p.sun,j.li,m.z.a.bhuiyan,l.wang,and b.li,modeling and clustering attacker activities in iot through machine learning techniques,information sciences,vol.479,pp.456

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