一种ICMP隧道传输数据的异常检测方法及装置与流程

文档序号:26940003发布日期:2021-10-12 15:22阅读:161来源:国知局
一种ICMP隧道传输数据的异常检测方法及装置与流程
一种icmp隧道传输数据的异常检测方法及装置
技术领域
1.本发明涉及通信技术领域,尤其涉及一种icmp隧道传输数据的异常检测方法及装置。


背景技术:

2.目前,随着通信技术的快速发展,为了确保通信网络的稳定性,需要实时对通信网络的连通状态进行监测,在现网环境部署中,icmp协议(internet control message protocol,网络控制报文协议)是一种面向无连接的协议,用于传输出错报告控制信息,实时地反映着网络连通的状态,是网络部署必不可少的网络通信协议之一。其中,在通常情况下,防火墙都是默认对icmp协议进行放通。也就是说,防火墙通常不会屏蔽ping数据包,具体的,业务请求端的ping工具通常会在icmp请求数据包后面附加上一段随机的数据作为payload;对应的,业务响应端则会拷贝这段payload到icmp响应数据包中返还给业务请求端,用于识别和匹配ping请求。其中,由于网络中的防火墙对icmp协议是开放的,恶意攻击者常会利用icmp协议进行非法网络通信。因此,利用icmp协议来进行数据传输的隧道进行检测的网络安全防护的重要性越来越突出。
3.当前,现有技术中针对使用icmp隧道进行网络安全攻击问题的主要解决方式有:一是,在主机上将icmp禁止,完全杜绝icmp隧道,其中,采用该网络安全防护方式虽然能够确保网络安全,但icmp协议作为支持ip的协议是在实际生产环境中需要获知主机是否存活的一个重要依据;二是,对所使用的icmp隧道工具进行检查,其中,对所使用的icmp隧道工具进行检查是一个有效的办法,但在实际环境中一般都是攻击者自己写代码制作的icmp隧道工具,而这种攻击者自己写代码制作的工具是没有任何特征的,所以对使用icmp隧道的工具进行检查,只能禁止开源的工具,非开源工具无法禁止。由此可知,无论是针对在网络主机上对icmp进行禁止,还是使用icmp隧道的工具筛选,从而导致当前防护网络安全问题的定位监测更多在于面上,无法精准对网络上使用icmp协议进行数据传输的会话进行异常检测。
4.综上可知,现有技术中所采用的禁止利用icmp隧道传输数据的方式,将导致无法有效进行主机存活与否识别,以及所采用的对icmp隧道工具进行异常检测,存在因icmp隧道工具的编写多变性导致异常筛选难度大,因此,无法实现在确保利用icmp隧道来有效进行主机存活与否识别的基础上,快速准确地识别出icmp隧道传输的异常数据包。


技术实现要素:

5.本发明实施例的目的是提供一种icmp隧道传输数据的异常检测方法及装置,以解决因禁止icmp隧道导致无法有效进行主机存活与否识别的问题,以及解决因icmp隧道工具的编写多变性导致icmp隧道工具的异常筛选难度大的问题。
6.为了解决上述技术问题,本发明实施例是这样实现的:
7.第一方面,本发明实施例提供了一种icmp隧道传输数据的异常检测方法,包括:
8.获取当前在icmp隧道中传输的待检测icmp数据包,其中,所述待检测icmp数据包包括:由业务请求端传输至业务响应端的基于icmp协议的第一数据包、以及由业务响应端返回至业务请求端的基于icmp协议的第二数据包;
9.利用预先训练好的第一交互频率识别模型,基于所述待检测icmp数据包,对所述业务请求端进行交互频率异常识别,得到第一异常识别结果;
10.根据所述第一异常识别结果,确定所述待检测icmp数据包是否为异常icmp数据包;
11.若判断结果为是,则对所述业务请求端执行相应的异常控制处理。
12.第二方面,本发明实施例提供了一种icmp隧道传输数据的异常检测装置,包括:
13.数据包获取模块,用于获取当前在icmp隧道中传输的待检测icmp数据包,其中,所述待检测icmp数据包包括:由业务请求端传输至业务响应端的基于icmp协议的第一数据包、以及由业务响应端返回至业务请求端的基于icmp协议的第二数据包;
14.交互频率识别模块,用于利用预先训练好的第一交互频率识别模型,基于所述待检测icmp数据包,对所述业务请求端进行交互频率异常识别,得到第一异常识别结果;
15.数据包异常识别模块,用于根据所述第一异常识别结果,确定所述待检测icmp数据包是否为异常icmp数据包;
16.请求端异常控制模块,用于若判断结果为是,则对所述业务请求端执行相应的异常控制处理。
17.第三方面,本发明实施例提供了一种计算机设备,包括处理器、通信接口、存储器和通信总线;其中,所述处理器、所述通信接口以及所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现如第一方面所述的icmp隧道传输数据的异常检测方法的步骤。
18.第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的icmp隧道传输数据的异常检测方法的步骤。
19.本发明实施例中的icmp隧道传输数据的异常检测方法及装置,获取当前在icmp隧道中传输的待检测icmp数据包;利用第一交互频率识别模型,基于该icmp数据包,对业务请求端进行交互频率异常识别,得到第一异常识别结果;若基于第一异常识别结果确定icmp数据包为异常数据包,则对业务请求端执行相应的异常控制处理,这样能够提高icmp隧道传输数据的异常检测准确度和检测效率,解决了因禁止icmp隧道导致无法有效进行主机存活与否识别的问题,也解决了因icmp隧道工具的编写多变性导致icmp隧道工具的异常筛选难度大的问题,从而实现快速、准确地识别出icmp隧道中所传输的异常icmp数据,进而对相应的业务请求端和业务响应端执行相应的异常管控。
附图说明
20.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
21.图1为本发明实施例提供的icmp隧道传输数据的异常检测方法的第一种流程示意图;
22.图2为本发明实施例提供的icmp隧道传输数据的异常检测方法的第二种流程示意图;
23.图3为本发明实施例提供的icmp隧道传输数据的异常检测方法的第三种流程示意图;
24.图4为本发明实施例提供的icmp隧道传输数据的异常检测方法的第四种流程示意图;
25.图5为本发明实施例提供的icmp隧道传输数据的异常检测装置的模块组成示意图;
26.图6为本发明实施例提供的计算机设备的结构示意图。
具体实施方式
27.为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
28.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
29.本发明实施例提供了一种icmp隧道传输数据的异常检测方法及装置,通过预先训练得到第一交互频率识别模型,再利用该第一交互频率识别模型基于icmp隧道中传输的icmp数据包,对业务请求端的交互频率进行异常识别,这样能够提高icmp隧道传输数据的异常检测准确度和检测效率,解决了因禁止icmp隧道导致无法有效进行主机存活与否识别的问题,也解决了因icmp隧道工具的编写多变性导致icmp隧道工具的异常筛选难度大的问题,从而实现快速、准确地识别出icmp隧道中所传输的异常icmp数据,进而对相应的业务请求端和业务响应端执行相应的异常管控。
30.图1为本发明实施例提供的icmp隧道传输数据的异常检测方法的第一种流程示意图,图1中的方法能够由图1中的icmp隧道异常检测服务器执行,如图1所示,该方法至少包括以下步骤:
31.s101,获取当前在icmp隧道中传输的待检测icmp数据包,其中,该待检测icmp数据包包括:由业务请求端传输至业务响应端的基于icmp协议的第一数据包、以及由业务响应端返回至业务请求端的基于icmp协议的第二数据包;
32.具体的,实时采集利用icmp隧道所传输的icmp数据包,将采集到的icmp数据包输入至预先训练好的第一交互频率识别模型,以使该第一交互频率识别模型基于该icmp数据包对业务请求端进行交互频率异常识别。
33.s102,利用预先训练好的第一交互频率识别模型,基于待检测icmp数据包,对业务请求端进行交互频率异常识别,得到第一异常识别结果;
34.其中,第一交互频率识别模型用于确定业务请求端的实际交互频率,以及确定业
务请求端对应的交互频率正常区间,以及将实际交互频率与该交互频率正常区间进行比对;具体的,利用第一交互频率识别模型,基于待检测icmp数据包,确定业务请求端的实际交互频率,以及确定与该业务请求端的类型信息和数据传输时间信息对应的交互频率正常区间,再将该实际交互频率与该交互频率正常区间进行比对,得到相应的第一异常识别结果。
35.其中,考虑到icmp协议主要用于网络异常探测,利用icmp隧道进行ping操作的频率应符合一定规律,且ping操作所针对的业务响应端应比较分散,因此,正常的业务请求端的实际交互频率应该位于一定交互频率正常区间,若实际交互频率超出该交互频率正常区间,即业务请求端高频地向某一业务响应端发送icmp数据包,则说明业务请求端与业务响应端的数据交互可能存在一定风险,该业务请求端可能被业务响应端感染恶意病毒,从而被业务响应端所恶意控制,基于此,通过预先基于历史icmp数据包,优化学习各种类型的业务请求端在不同数据传输时间节点下的交互频率正常区间,训练得到交互频率识别模型,从而实现线上实时对业务请求端的交互频率进行异常识别。
36.s103,根据上述第一异常识别结果,确定待检测icmp数据包是否为异常icmp数据包;
37.具体的,根据业务请求端的实际交互频率与对应的交互频率正常区间的比对结果,确定待检测icmp数据包是否为异常icmp数据包;具体的,若业务请求端的实际交互频率不属于对应的交互频率正常区间,则可以确定该业务请求端可能被对应的业务响应端感染恶意病毒,即该业务请求端向该业务响应端所传输的icmp数据包可能是异常的icmp数据包。
38.若判断结果为是,则s104,对业务请求端执行相应的异常控制处理;
39.具体的,若确定出待检测icmp数据包为异常的icmp数据包,则需要对业务请求端进行相应的异常管控;例如,对业务请求端进行病毒清除处理。具体的,还可以自动生成数据异常告警信息,并将该数据异常告警信息发送至相应的管控终端。
40.本发明提供的实施例中,通过预先训练得到第一交互频率识别模型,再利用该第一交互频率识别模型基于icmp隧道中传输的icmp数据包,对业务请求端的交互频率进行异常识别,这样能够提高icmp隧道传输数据的异常检测准确度和检测效率,解决了因禁止icmp隧道导致无法有效进行主机存活与否识别的问题,也解决了因icmp隧道工具的编写多变性导致icmp隧道工具的异常筛选难度大的问题,从而实现快速、准确地识别出icmp隧道中所传输的异常icmp数据,进而对相应的业务请求端和业务响应端执行相应的异常管控。
41.其中,为了进一步提高异常icmp数据包的识别准确度,在针对业务端的交互频率进行异常识别后,再对icmp隧道所传输的icmp数据包进行属性特征异常检测,基于此,如图2所示,上述s103,根据上述第一异常识别结果,确定待检测icmp数据包是否为异常icmp数据包,具体包括:
42.s1031,根据上述第一异常识别结果,判断业务请求端的实际交互频率是否满足第一交互频率异常条件;
43.其中,上述第一异常识别结果包括:业务请求端的实际交互频率与对应的交互频率正常区间的比对结果;
44.对应的,上述第一交互频率异常条件包括:业务请求端的实际交互频率属于对应
的交互频率异常区间、或者实际交互频率不属于对应的交互频率正常区间。
45.若判断结果为是,则s1032,利用预先训练好的数据特征识别模型,对待检测icmp数据包进行特征异常识别,得到第二异常识别结果;
46.具体的,若业务请求端的实际交互频率属于对应的交互频率异常区间、或者不属于对应的交互频率正常区间,则可以确定该业务请求端可能被对应的业务响应端感染恶意病毒,为了提高业务请求端的异常识别准确度,可以继续对该业务请求端所传输的icmp数据包进行特征异常识别,再根据特征异常识别结果来确定icmp数据包是否为异常icmp数据包。
47.s1033,根据上述第二异常识别结果,确定待检测icmp数据包是否为异常icmp数据包;
48.其中,上述第二异常识别结果包括:待检测icmp数据包的特征属性信息与预先确定的目标异常特征信息的比对结果;具体的,若待检测icmp数据包的特征属性信息与预先确定的目标异常特征信息中至少一项一致,则确定待检测icmp数据包为异常icmp数据包。
49.本发明提供的实施例中,先按照业务请求端和业务响应端的维度进行交互频率异常识别,确定出可疑的业务请求端和业务响应端,再针对相应的icmp数据包进行特征异常识别,这样能够缩小icmp数据包的识别工作量,降低数据处理所消耗性能,降低对异常检测装置的性能要求,进一步提高icmp数据包的异常识别效率和异常识别准确度。
50.进一步的,考虑到若检测出某一业务请求端的交互频率异常时,与该业务请求端进行交互的业务响应端属于异常响应端的概率比较大,同时,与该业务响应端进行交互的其他请求端也可能是该业务响应端恶意控制的业务请求端,因此,在确定出某一业务请求端的交互频率异常后,还对对应的业务响应端和关联请求端的交互频率进行异常识别,这样不仅能够进一步提高icmp数据异常识别效率,还能够有效防止异常的业务请求端和业务响应端被漏筛的问题,实现快速、全面地对业务请求端和业务响应端进行异常筛查,及时制止黑客通过icmp隧道对业务请求端进行恶意攻击控制,基于此,如图3所示,在上述s104,对业务请求端执行相应的异常控制处理之后,还包括:
51.s105,利用预先训练好的第二交互频率识别模型,基于待检测icmp数据包,对与异常业务请求端对应的目标业务响应端进行交互频率异常识别,得到第三异常识别结果;
52.其中,考虑到业务响应端分布在全国各地,对业务响应端的检测、管控难度比较大,因此,采用先确定异常的业务请求端,再对与异常的业务请求端进行交互的业务响应端进行交互频率异常识别,这样不仅能够提高业务响应端的异常识别准确度,还能够提高业务响应端的异常识别效率。
53.其中,上述第二交互频率识别模型用于确定业务响应端的实际交互频率,以及确定业务响应端对应的交互频率正常区间,以及将实际交互频率与该交互频率正常区间进行比对;具体的,利用第二交互频率识别模型,基于待检测icmp数据包,确定业务响应端的实际交互频率,以及确定与该业务响应端的所属国家信息和数据传输时间信息对应的交互频率正常区间,再将该实际交互频率与该交互频率正常区间进行比对,得到相应的第三异常识别结果。
54.s106,根据上述第三异常识别结果,判断目标业务响应端的实际交互频率是否满足第二交互频率异常条件;
55.其中,上述第三异常识别结果包括:目标业务响应端的实际交互频率与对应的交互频率正常区间的比对结果;
56.对应的,上述第二交互频率异常条件包括:目标业务响应端的实际交互频率属于对应的交互频率异常区间、或者实际交互频率不属于对应的交互频率正常区间。
57.若判断结果为是,则执行s107,确定与目标业务响应端进行icmp数据包交互的至少一个关联请求端,并获取各关联请求端的关联icmp数据包;
58.其中,若业务请求端的实际交互频率属于对应的交互频率异常区间、或者不属于对应的交互频率正常区间,即在识别出目标业务响应端的交互频率存在异常时,可以直接对异常的目标业务响应端进行封堵处理,以及拦截所有与其进行数据交互的业务请求端;为了进一步提高业务响应端和业务请求端的管控准确度,还可以继续对与该目标业务响应端进行数据交互的其他业务请求端的交互频率进行异常识别,在确定多个关联请求端的交互频率均异常后,再对目标业务响应端进行封堵处理。
59.s108,利用预先训练好的第一交互频率识别模型,基于各关联请求端的关联icmp数据包,对关联请求端进行异常识别,得到第四异常识别结果;
60.其中,上述第四异常识别结果包括:关联请求端的实际交互频率与对应的交互频率正常区间的比对结果;具体的,将关联请求端与目标业务响应端之间的数据交互情况与对应的正常数据交互规则进行对比。
61.s109,根据各关联请求端分别对应的第四异常识别结果,确定该关联请求端是否为异常业务请求端;
62.具体的,若关联请求端的实际交互频率不属于对应的交互频率正常区间,则确定该关联请求端是否为异常业务请求端。
63.若判断结果为是,则s110,对交互频率异常的关联请求端执行相应的异常控制处理;同时,还可以对目标业务响应端进行封堵处理。
64.具体的,在确定出业务响应端的交互频率异常后,再按照业务请求端的识别维度,对与该业务响应端进行交互的其他请求端进行交互频率异常识别,若业务响应端与多个关联请求端的交互频率均异常,则说明业务响应端集中与某些业务请求端利用icmp隧道进行数据交互,即该业务响应端为控制业务请求端感染病毒的概率极大,从而进一步提高了业务响应端的异常识别准确度,同时,筛选出更多的异常的关联请求端。
65.具体的,在确定出存在感染病毒的业务请求端后,在全网隧道中,对与该业务请求端进行数据交互的业务响应端的交互频率进行监控,在众多业务响应端中,筛选出控制业务请求端感染病毒的业务响应端,再进一步对与该业务响应端进行数据交互的其他业务请求端进行交互频率异常识别,从而实现全面地筛选出异常的业务请求端和业务响应端,以及精准地对异常的业务请求端和业务响应端进行异常管控。
66.也就是说,利用第一交互频率识别模型,识别出一个异常的业务请求端,可以进一步利用第二交互频率识别模型,对该异常的业务请求端对应的业务响应端进行交互频率异常识别,若该业务响应端存在异常,则继续利用第一交互频率识别模型,对与该业务响应端进行数据交互的其他请求端进行交互频率异常识别,这样能够实现快速、全面的筛选出异常的业务请求端和业务响应端。
67.具体的,为了进一步提高关联请求端的异常控制精准度,还可以在识别出关联请
求端的交互频率异常后,再利用预先训练好的数据特征识别模型,对关联请求端的关联icmp数据包进行特征异常识别,根据特征异常识别结果,确定关联请求端是否为异常业务请求端。
68.其中,针对业务请求端的交互频率异常识别的过程,如图4所示,上述s102,利用预先训练好的第一交互频率识别模型,基于待检测icmp数据包,对业务请求端进行交互频率异常识别,得到第一异常识别结果,具体包括:
69.s1021,利用预先训练好的第一交互频率识别模型,基于待检测icmp数据包,确定业务请求端的类型信息、实际交互频率、数据传输时间信息;以及,
70.具体的,通过对待检测icmp数据包进行解码处理,得到对应的字段属性内容,其中,该字段属性内容包括:业务请求端的源ip地址和数据传输时间信息,再根据字段属性内容中的业务请求端的源ip地址,确定业务请求端的类型信息;以及利用第一交互频率识别模型并基于字段属性内容,确定业务请求端的实际交互频率。
71.s1022,利用上述第一交互频率识别模型,基于确定出的业务请求端的类型信息和icmp数据包的数据传输时间信息,确定与业务请求端对应的交互频率异常区间;以及,
72.具体的,利用上述第一交互频率识别模型,即可确定与类型信息和数据传输时间信息对应的交互频率正常区间,进而确定业务请求端对应的交互频率异常区间。
73.s1023,根据确定出的业务请求端的实际交互频率与上述交互频率异常区间的比对结果,得到第一异常识别结果。
74.其中,考虑到需要预先基于历史icmp数据,训练得到用于对业务请求端和业务响应端的交互频率进行异常识别的模型,具体的,上述第一交互频率识别模型和上述第二交互频率识别模型是通过如下方式训练得到的:
75.步骤一,对预设历史时间段内的历史icmp数据包进行解码处理,得到各历史icmp数据包对应的字段属性内容;
76.具体的,对在预设历史时间段内利用icmp隧道所传输的历史icmp数据包进行采集过滤,并按照预设数据解码方式,解码得到各历史icmp数据包对应的字段属性内容,按照预设数据入库方式,基于各历史icmp数据包对应的字段属性内容,将历史icmp数据包存储至预设数据库中,以便将入库的历史icmp数据包作为模型训练样本集的基础数据;
77.其中,解码得到的字段属性内容可以包括:请求端的源ip地址、源端口号、响应端的目的ip地址、目的端口号、imei、tac、cellid、apn、apptypecode、开始时间、结束时间、上行流量、下行流量、上行ip包数、下行ip包数、icmp回复状态标志、最大包大小、请求响应时延、请求序列号、请求数据包的消息类型、请求数据包的消息码值、回复数据包的消息类型、回复数据包的消息码值、icmp包数据的大小中至少一项,其中,解码得到的字段属性内容包括用于数据特征异常识别的字段属性内容,例如,icmp回复状态标志、icmp包数据的大小等,还包括用于交互频率异常识别的字段属性内容,例如,请求端的源ip地址、源端口号、响应端的目的ip地址、目的端口号等。
78.步骤二,按照业务请求端和业务响应端的分析维度,基于各历史icmp数据包对应的字段属性内容,对历史icmp数据包进行数据分析,得到请求端训练样本集和响应端训练样本集;
79.具体的,结合基于icmp协议的数据包的特征信息,通过对业务请求端向业务响应
端利用icmp隧道传输数据时的流转状态进行数据分析,将历史icmp数据包划分为业务请求端(imei或mac地址)和业务响应端(目的ip地址)的维度进行数据分析,得到请求端训练样本集和响应端训练样本集。
80.步骤三,利用大数据分析方法和机器学习方法,基于上述请求端训练样本集,对初始的第一交互频率识别模型进行模型参数训练,得到训练好的第一交互频率识别模型;以及,
81.其中,初始的第一交互频率识别模型是基于对请求端训练样本集的数据分布特征和交互频率进行分析、建模得到的,该第一交互频率识别模型包含确定业务请求端的交互频率的处理逻辑、以及确定业务请求端对应的告警阈值区间的处理逻辑、以及交互频率与告警阈值区间进行比对的处理逻辑;
82.具体的,考虑到业务请求端对应的交互频率正常区间与业务请求端类型和数据传输时间有关,因此,利用大数据分析方法基于上述请求端训练样本集,分析业务请求端的icmp数据包的交互频率分布特性;具体的,由于在针对业务请求端进行源ip网段分配的过程按照源ip网段的工作用途所分配的,记录有源ip网段与业务请求端的类型信息之间的对应关系,因此,根据请求端训练样本集中的源ip地址,确定各业务请求端的类型信息,该类型信息包括:缓存服务器、开发服务器、第三方服务器等等;再按照类型信息和数据传输时间信息,分析业务请求端的icmp数据包的交互频率分布特性;
83.其中,上述交互频率分布特性可以是业务请求端的类型信息、数据传输时间信息、交互频率告警判断区间之间的第一对应关系,其中,该交互频率告警判断区间可以是交互频率异常区间,对应的,若实际交互频率属于交互频率异常区间,则进行异常告警;也可以是交互频率正常区间,对应的,若实际交互频率不属于交互频率正常区间,则进行异常告警;
84.具体的,在通过建模得到初始的第一交互频率识别模型后,利用机器学习方法,基于大数据分析得到的第一对应关系,对初始的第一交互频率识别模型中的模型参数进行迭代训练,得到练好的第一交互频率识别模型,即优化确定业务请求端的交互频率的处理逻辑的相关参数、以及各业务端的类型信息、时间信息、交互频率告警判断区间之间的第一对应关系,其中,该第一交互频率识别模型用于确定业务请求端的实际交互频率,以及确定业务请求端对应的交互频率正常区间,以及将实际交互频率与该交互频率正常区间进行比对。
85.进一步的,在训练得到第一交互频率识别模型后,即可将该第一交互频率识别模型部署至数据异常识别装置,利用该第一交互频率识别模型确定待检测icmp数据包对应的业务请求端的实际交互频率,并将该实际交互频率与对应的交互频率告警判断空间进行比较,从而实现自动确定业务请求端的交互频率是否异常。
86.步骤四,利用大数据分析方法和机器学习方法,基于上述响应端模型训练样本集,对初始的第二交互频率识别模型进行模型参数训练,得到训练好的第二交互频率识别模型;
87.具体的,第二交互频率识别模型的训练过程与第一交互频率识别模型的训练过程类似,可以参见上述第一交互频率识别模型的训练过程,在此不再赘述。
88.其中,利用大数据分析方法基于上述响应端训练样本集,分析业务响应端的icmp
数据包的交互频率分布特性;其中,该交互频率分布特性可以是业务响应端的所属国家信息、运营商信息、数据传输时间信息、交互频率告警判断区间之间的第二对应关系。
89.其中,针对基于历史icmp数据包确定交互频率告警区间的过程,以业务请求端的交互频率告警区间为例,具体包括:
90.步骤一,利用大数据分析方法,基于上述请求端训练样本集,确定各种类型的业务请求端在每个预设数据传输时间节点下的多个历史交互频率;例如,历史时间段的历史icmp数据包可以是历史采集的30天的icmp数据包,预设数据传输时间节点可以是0:00到1:00、

、11:00到12:00、

、23:00到24:00,对应的,针对预设数据传输时间节点11:00到12:00而言,各种类型的业务请求端在该预设数据传输时间节点下的多个历史交互频率的数量为30个。
91.步骤二,在确定出的多个历史交互频率中,删除最大的历史交互频率和最小的历史交互频率;具体的,针对每个预设数据传输时间节点,对应的30个历史交互频率中,删除最大的历史交互频率和最小的历史交互频率。
92.步骤三,基于删除最大值和最小值后的历史交互频率,确定业务请求端的交互频率正常区间。具体的,将删除最大值和最小值后的历史交互频率中的取值最大的历史交互频率,确定为交互频率正常区间的上限值,将删除最大值和最小值后的历史交互频率中的取值最小的历史交互频率,确定为交互频率正常区间的下限值。
93.进一步的,为了提高交互频率正常区间的确定准确度,可以采用预设聚类算法,例如,利用k-means算法确定交互频率告警区间,具体包括:
94.步骤一,利用大数据分析方法,基于上述请求端训练样本集,确定各种类型的业务请求端在每个预设数据传输时间节点下的多个历史交互频率;例如,历史时间段的历史icmp数据包可以是历史采集的30天的icmp数据包,预设数据传输时间节点可以是0:00到1:00、

、11:00到12:00、

、23:00到24:00,对应的,针对预设数据传输时间节点11:00到12:00而言,各种类型的业务请求端在该预设数据传输时间节点下的多个历史交互频率的数量为30个。
95.步骤二,利用k-means算法,针对每个预设数据传输时间节点,对该预设数据传输时间节点的多个历史交互频率进行聚类处理,得到多个聚类簇。
96.步骤三,基于包含历史交互频率的数量最多的目标聚类簇,确定业务请求端的交互频率正常区间。具体的,将目标聚类簇中的取值最大的历史交互频率,确定为交互频率正常区间的上限值,将目标聚类簇中的取值最小的历史交互频率,确定为交互频率正常区间的下限值。
97.另外,在具体实施时,还可以将当前实时获取的icmp数据包作为模型的训练样本输入,不断对交互频率告警区间进行迭代更新、修正,从而提高交互频率告警区间的精度,进而提高业务请求端或业务响应端的交互频率的异常识别准确度。
98.其中,考虑到还需要基于历史icmp数据,预先训练得到用于对icmp数据包的属性特征进行异常识别的模型,具体的,上述数据特征识别模型是通过如下方式训练得到的:
99.步骤一,基于预设的icmp数据包的已知异常特征信息,在预设历史时间段内的历史icmp数据包中,选取异常icmp数据包作为数据特征训练样本集;
100.其中,上述已知异常特征信息可以包括:icmp数据包类型不一定为0和8、icmp数据
包大小可以任意、icmp的payload无规律、icmp响应数据包中payload跟请求数据包不一致中至少一项;
101.步骤二,利用大数据分析方法和机器学习方法,基于上述数据特征训练样本集,确定用于识别异常icmp数据包的目标异常特征信息;其中,该目标异常特征信息即可作为用于识别icmp数据包是否异常的数据特征异常判断条件;
102.具体的,基于少量已知的数据特征异常判断条件,筛选出更多的异常icmp数据包,再利用机器学习方法并基于筛选出的异常icmp数据包,更新、优化数据特征异常判断条件,得到更多的目标异常特征信息。
103.步骤三,基于确定出的目标异常特征信息,对预设异常数据分类器进行模型参数训练,得到训练好的数据特征识别模型。
104.具体的,基于已知的异常icmp数据包的字段属性内容,初步确定数量有限的已知异常特征信息;再基于该已知异常特征信息选取出数量更多的异常icmp数据包;再基于该数量更多的异常icmp数据包,利用机器学习方法,更新、优化数据特征异常判断条件,得到更多的目标异常特征信息,进而训练得到数据特征识别模型。
105.另外,为了进一步提高数据特征识别模型的特征异常识别准确度,还可以基于实时确定出的异常icmp数据包,优化更新目标异常特征信息,并基于优化更新后的目标异常特征信息,对数据特征识别模型进行模型参数迭代优化,将优化后的数据特征识别模型确定为训练好的数据特征识别模型,以便后续针对新获取的icmp数据包进行异常识别。
106.进一步的,在训练得到数据特征识别模型后,即可将该数据特征识别模型部署至数据异常识别装置,利用该数据特征识别模型对异常的业务请求端或业务响应端的icmp数据包进行特征异常检测。具体的,将待检测icmp数据包的特征信息与目标异常特征信息进行比对,若待检测icmp数据包的特征信息与预设数量的目标异常特征信息一致,则确定待检测icmp数据包为异常icmp数据包,从而实现自动确定业务请求端与业务响应端之间传输的icmp数据包是否异常,一旦识别出icmp隧道中当前传输的icmp数据包为异常icmp数据包,可以自动生成数据异常告警信息,并将该数据异常告警信息发送至相应的管控终端。
107.其中,针对icmp数据包的属性特征的异常识别过程,上述s1032,利用预先训练好的数据特征识别模型,对待检测icmp数据包进行特征异常识别,得到第二异常识别结果,具体包括:
108.步骤一,利用预先训练好的数据特征识别模型,对待检测icmp数据包进行特征提取,得到待检测icmp数据包的至少一个数据特征信息;
109.步骤二,按照确定出的各目标异常特征信息的优先级由高到低的顺序,依次选取一个目标异常特征信息;
110.步骤三,根据至少一个数据特征信息与选取的目标异常特征信息的比对结果,得到第二异常识别结果。
111.具体的,如下表1中,列举出了部分目标异常特征信息的优先级的示意表,具体为:
112.表1
[0113][0114][0115]
具体的,针对每个目标异常特征信息,根据符合该目标异常特征信息的历史icmp数据包的数量的大小,确定各目标异常特征信息的优先级,其中,符合该目标异常特征信息的历史icmp数据包的数量越多,说明该目标异常特征信息的识别准确率越高,异常识别效率越高,则可以将目标异常特征信息的优先级排序靠前;
[0116]
另外,为了提高icmp数据包的数据特征的异常判断效率,可以将多个异常判断条件的组合确定为一个目标异常特征信息,若icmp数据包的数据特征满足任一组合后的目标异常特征信息,则确定icmp数据包为异常数据包。
[0117]
本发明实施例中的icmp隧道传输数据的异常检测方法,获取当前在icmp隧道中传输的待检测icmp数据包;利用第一交互频率识别模型,基于该icmp数据包,对业务请求端进行交互频率异常识别,得到第一异常识别结果;若基于第一异常识别结果确定icmp数据包为异常数据包,则对业务请求端执行相应的异常控制处理,这样能够提高icmp隧道传输数据的异常检测准确度和检测效率,解决了因禁止icmp隧道导致无法有效进行主机存活与否识别的问题,也解决了因icmp隧道工具的编写多变性导致icmp隧道工具的异常筛选难度大的问题,从而实现快速、准确地识别出icmp隧道中所传输的异常icmp数据,进而对相应的业务请求端和业务响应端执行相应的异常管控。
[0118]
对应上述实施例提供的icmp隧道传输数据的异常检测方法,基于相同的技术构思,本发明实施例还提供了一种icmp隧道传输数据的异常检测装置,图5为本发明实施例提供的icmp隧道传输数据的异常检测装置的模块组成示意图,该icmp隧道传输数据的异常检测装置用于执行图1至图4描述的icmp隧道传输数据的异常检测方法,如图5所示,该icmp隧
道传输数据的异常检测装置包括:
[0119]
数据包获取模块501,用于获取当前在icmp隧道中传输的待检测icmp数据包,其中,所述待检测icmp数据包包括:由业务请求端传输至业务响应端的基于icmp协议的第一数据包、以及由业务响应端返回至业务请求端的基于icmp协议的第二数据包;
[0120]
交互频率识别模块502,用于利用预先训练好的第一交互频率识别模型,基于所述待检测icmp数据包,对所述业务请求端进行交互频率异常识别,得到第一异常识别结果;
[0121]
数据包异常识别模块503,用于根据所述第一异常识别结果,确定所述待检测icmp数据包是否为异常icmp数据包;
[0122]
请求端异常控制模块504,用于若判断结果为是,则对所述业务请求端执行相应的异常控制处理。
[0123]
本发明实施例中,通过预先训练得到第一交互频率识别模型,再利用该第一交互频率识别模型基于icmp隧道中传输的icmp数据包,对业务请求端的交互频率进行异常识别,这样能够提高icmp隧道传输数据的异常检测准确度和检测效率,解决了因禁止icmp隧道导致无法有效进行主机存活与否识别的问题,也解决了因icmp隧道工具的编写多变性导致icmp隧道工具的异常筛选难度大的问题,从而实现快速、准确地识别出icmp隧道中所传输的异常icmp数据,进而对相应的业务请求端和业务响应端执行相应的异常管控。
[0124]
可选地,所述数据包异常识别模块503,具体用于:
[0125]
根据所述第一异常识别结果,判断所述业务请求端的实际交互频率是否满足第一交互频率异常条件;
[0126]
若判断结果为是,则利用预先训练好的数据特征识别模型,对所述待检测icmp数据包进行特征异常识别,得到第二异常识别结果;
[0127]
根据所述第二异常识别结果,确定所述待检测icmp数据包是否为异常icmp数据包。
[0128]
可选地,上述装置还包括:响应端异常识别模块,用于:
[0129]
利用预先训练好的第二交互频率识别模型,基于所述待检测icmp数据包,对所述业务响应端进行交互频率异常识别,得到第三异常识别结果;
[0130]
根据所述第三异常识别结果,判断所述业务响应端的实际交互频率是否满足第二交互频率异常条件;
[0131]
以及,上述装置还包括:关联端异常识别模块,用于:
[0132]
若判断结果为是,则确定与所述业务响应端进行icmp数据包交互的至少一个关联请求端,并获取各所述关联请求端的关联icmp数据包;
[0133]
利用预先训练好的所述第一交互频率识别模型,基于所述关联icmp数据包,对所述关联请求端进行异常识别,得到第四异常识别结果;
[0134]
根据所述第四异常识别结果,确定所述关联请求端是否为异常业务请求端;
[0135]
若判断结果为是,则对所述关联请求端执行相应的异常控制处理。
[0136]
可选地,所述交互频率识别模块502,具体用于:
[0137]
利用预先训练好的第一交互频率识别模型,基于所述待检测icmp数据包,确定所述业务请求端的类型信息、实际交互频率、数据传输时间信息;以及,
[0138]
利用所述第一交互频率识别模型,基于所述类型信息和所述数据传输时间信息,
确定所述业务请求端对应的交互频率异常区间;以及,
[0139]
根据所述业务请求端的所述实际交互频率与所述交互频率异常区间的比对结果,得到第一异常识别结果。
[0140]
可选地,所述第一交互频率识别模型和所述第二交互频率识别模型是通过如下方式训练得到的:
[0141]
对预设历史时间段内的历史icmp数据包进行解码处理,得到各所述历史icmp数据包对应的字段属性内容;
[0142]
按照业务请求端和业务响应端的分析维度,基于各所述历史icmp数据包对应的所述字段属性内容,对所述历史icmp数据包进行数据分析,得到请求端训练样本集和响应端训练样本集;
[0143]
利用大数据分析方法和机器学习方法,基于所述请求端训练样本集,对初始的第一交互频率识别模型进行模型参数训练,得到训练好的第一交互频率识别模型;以及,
[0144]
利用大数据分析方法和机器学习方法,基于所述响应端模型训练样本集,对初始的第二交互频率识别模型进行模型参数训练,得到训练好的第二交互频率识别模型。
[0145]
可选地,所述数据特征识别模型是通过如下方式训练得到的:
[0146]
基于预设的icmp数据包的已知异常特征信息,在预设历史时间段内的历史icmp数据包中,选取异常icmp数据包作为数据特征训练样本集;
[0147]
利用大数据分析方法和机器学习方法,基于所述数据特征训练样本集,确定用于识别异常icmp数据包的目标异常特征信息;
[0148]
基于所述目标异常特征信息,对预设异常数据分类器进行模型参数训练,得到训练好的数据特征识别模型。
[0149]
可选地,所述数据包异常识别模块503,进一步具体用于:
[0150]
利用预先训练好的数据特征识别模型,对所述待检测icmp数据包进行特征提取,得到所述待检测icmp数据包的至少一个数据特征信息;
[0151]
按照各所述目标异常特征信息的优先级由高到低的顺序,依次选取一个所述目标异常特征信息;
[0152]
根据所述至少一个数据特征信息与选取的所述目标异常特征信息的比对结果,得到第二异常识别结果。
[0153]
本发明实施例中的icmp隧道传输数据的异常检测装置,获取当前在icmp隧道中传输的待检测icmp数据包;利用第一交互频率识别模型,基于该icmp数据包,对业务请求端进行交互频率异常识别,得到第一异常识别结果;若基于第一异常识别结果确定icmp数据包为异常数据包,则对业务请求端执行相应的异常控制处理,这样能够提高icmp隧道传输数据的异常检测准确度和检测效率,解决了因禁止icmp隧道导致无法有效进行主机存活与否识别的问题,也解决了因icmp隧道工具的编写多变性导致icmp隧道工具的异常筛选难度大的问题,从而实现快速、准确地识别出icmp隧道中所传输的异常icmp数据,进而对相应的业务请求端和业务响应端执行相应的异常管控。
[0154]
本发明实施例提供的icmp隧道传输数据的异常检测装置能够实现上述icmp隧道传输数据的异常检测方法对应的实施例中的各个过程,为避免重复,这里不再赘述。
[0155]
需要说明的是,本发明实施例提供的icmp隧道传输数据的异常检测装置与本发明
实施例提供的icmp隧道传输数据的异常检测方法基于同一发明构思,因此该实施例的具体实施可以参见前述icmp隧道传输数据的异常检测方法的实施,重复之处不再赘述。
[0156]
对应上述实施例提供的icmp隧道传输数据的异常检测方法,基于相同的技术构思,本发明实施例还提供了一种计算机设备,该设备用于执行上述的icmp隧道传输数据的异常检测方法,图6为实现本发明各个实施例的一种计算机设备的结构示意图,如图6所示。计算机设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器601和存储器602,存储器602中可以存储有一个或一个以上存储应用程序或数据。其中,存储器602可以是短暂存储或持久存储。存储在存储器602的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对计算机设备中的一系列计算机可执行指令。更进一步地,处理器601可以设置为与存储器602通信,在计算机设备上执行存储器602中的一系列计算机可执行指令。计算机设备还可以包括一个或一个以上电源603,一个或一个以上有线或无线网络接口604,一个或一个以上输入输出接口605,一个或一个以上键盘606。
[0157]
具体在本实施例中,计算机设备包括有处理器、通信接口、存储器和通信总线;其中,处理器、通信接口以及存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现以下方法步骤:
[0158]
获取当前在icmp隧道中传输的待检测icmp数据包,其中,所述待检测icmp数据包包括:由业务请求端传输至业务响应端的基于icmp协议的第一数据包、以及由业务响应端返回至业务请求端的基于icmp协议的第二数据包;
[0159]
利用预先训练好的第一交互频率识别模型,基于所述待检测icmp数据包,对所述业务请求端进行交互频率异常识别,得到第一异常识别结果;
[0160]
根据所述第一异常识别结果,确定所述待检测icmp数据包是否为异常icmp数据包;
[0161]
若判断结果为是,则对所述业务请求端执行相应的异常控制处理。
[0162]
本发明实施例中的计算机设备,获取当前在icmp隧道中传输的待检测icmp数据包;利用第一交互频率识别模型,基于该icmp数据包,对业务请求端进行交互频率异常识别,得到第一异常识别结果;若基于第一异常识别结果确定icmp数据包为异常数据包,则对业务请求端执行相应的异常控制处理,这样能够提高icmp隧道传输数据的异常检测准确度和检测效率,解决了因禁止icmp隧道导致无法有效进行主机存活与否识别的问题,也解决了因icmp隧道工具的编写多变性导致icmp隧道工具的异常筛选难度大的问题,从而实现快速、准确地识别出icmp隧道中所传输的异常icmp数据,进而对相应的业务请求端和业务响应端执行相应的异常管控。
[0163]
本发明实施例提供的计算机设备能够实现上述icmp隧道传输数据的异常检测方法对应的实施例中的各个过程,为避免重复,这里不再赘述。
[0164]
需要说明的是,本发明实施例提供的计算机设备与本发明实施例提供的icmp隧道传输数据的异常检测方法基于同一发明构思,因此该实施例的具体实施可以参见前述icmp隧道传输数据的异常检测方法的实施,重复之处不再赘述。
[0165]
对应上述实施例提供的icmp隧道传输数据的异常检测方法,基于相同的技术构思,本技术实施例还提供一种计算机可读存储介质,存储介质内存储有计算机程序,计算机程序被处理器执行时实现以下方法步骤:
[0166]
获取当前在icmp隧道中传输的待检测icmp数据包,其中,所述待检测icmp数据包包括:由业务请求端传输至业务响应端的基于icmp协议的第一数据包、以及由业务响应端返回至业务请求端的基于icmp协议的第二数据包;
[0167]
利用预先训练好的第一交互频率识别模型,基于所述待检测icmp数据包,对所述业务请求端进行交互频率异常识别,得到第一异常识别结果;
[0168]
根据所述第一异常识别结果,确定所述待检测icmp数据包是否为异常icmp数据包;
[0169]
若判断结果为是,则对所述业务请求端执行相应的异常控制处理。
[0170]
本发明实施例中的计算机可读存储介质,获取当前在icmp隧道中传输的待检测icmp数据包;利用第一交互频率识别模型,基于该icmp数据包,对业务请求端进行交互频率异常识别,得到第一异常识别结果;若基于第一异常识别结果确定icmp数据包为异常数据包,则对业务请求端执行相应的异常控制处理,这样能够提高icmp隧道传输数据的异常检测准确度和检测效率,解决了因禁止icmp隧道导致无法有效进行主机存活与否识别的问题,也解决了因icmp隧道工具的编写多变性导致icmp隧道工具的异常筛选难度大的问题,从而实现快速、准确地识别出icmp隧道中所传输的异常icmp数据,进而对相应的业务请求端和业务响应端执行相应的异常管控。
[0171]
本发明实施例提供的计算机可读存储介质能够实现上述icmp隧道传输数据的异常检测方法对应的实施例中的各个过程,为避免重复,这里不再赘述。
[0172]
需要说明的是,本发明实施例提供的计算机可读存储介质与本发明实施例提供的icmp隧道传输数据的异常检测方法基于同一发明构思,因此该实施例的具体实施可以参见前述icmp隧道传输数据的异常检测方法的实施,重复之处不再赘述。
[0173]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0174]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0175]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0176]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
[0177]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0178]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0179]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0180]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0181]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0182]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1