CN112565229B - 隐蔽通道检测方法及装置 - Google Patents
隐蔽通道检测方法及装置 Download PDFInfo
- Publication number
- CN112565229B CN112565229B CN202011367429.6A CN202011367429A CN112565229B CN 112565229 B CN112565229 B CN 112565229B CN 202011367429 A CN202011367429 A CN 202011367429A CN 112565229 B CN112565229 B CN 112565229B
- Authority
- CN
- China
- Prior art keywords
- icmp
- counting
- flow
- message
- pair
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种隐蔽通道检测方法及装置,该隐蔽通道检测方法包括:获取ICMP数据包;从所述ICMP数据包中提取多个IP流对;获取所述多个IP流对中ICMP报文的统计特征;将所述统计特征输入检测模型检测是否存在ICMP隐蔽通道。本申请不仅考虑了ICMP报文的整体数据统计特征,还充分考虑了ICMP报文中相邻ICMP请求报文有效负载数据之间的关系、相邻ICMP响应报文有效负载数据之间的关系、以及ICMP请求报文和与其对应的ICMP响应报文之间有效负载数据之间的关系,实现隐蔽通道的准确检测。
Description
技术领域
本申请涉及网络安全技术领域,具体涉及一种隐蔽通道检测方法及装置。
背景技术
与TCP或UDP相比,使用ICMP协议作为隐蔽通道具有一大优势,即ICMP数据包使用的参数少于TCP或UDP。特别是许多网络设备将ICMP流量视为良性,对其负载部分不做检测,因此,ICMP协议容易被用作隐蔽通道,攻击者可以将生成的任意信息隐藏在ICMP数据包负载中,检测ICMP隐蔽通道对于确保网络安全具有重要意义。
现有ICMP隐蔽通道检测没有考虑相邻ICMP请求报文有效负载数据之间的关系,没有考虑相邻ICMP响应报文有效负载数据之间的关系,也没有考虑ICMP请求报文与其对应的响应报文之间有效负载数据之间的关系,导致预测ICMP隐蔽通道准确率不高。
发明内容
鉴于现有技术存在的上述问题,本申请的目的在于提供一种隐蔽通道检测方法及装置,其能够准确检测ICMP协议中的隐蔽通道,提高网络安全性。
为了实现上述目的,本申请实施例提供一种隐蔽通道检测方法,包括:
获取ICMP数据包;
从所述ICMP数据包中提取多个IP流对;
获取所述多个IP流对中ICMP报文的统计特征;
将所述统计特征输入检测模型检测是否存在ICMP隐蔽通道。
在一些实施例中,获取所述多个IP流对中ICMP报文的统计特征,包括:分别获取每个IP流对中ICMP报文的统计特征。
在一些实施例中,获取每个IP流对中ICMP报文的统计特征,包括:
统计每个IP流对中,ICMP请求报文和ICMP应答报文分别所占ICMP报文流量的百分比,得到第一类型统计特征;
统计每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载长度的统计特征,得到第二类统计特征;
统计每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载的编辑距离的统计特征,得到第三类统计特征。
在一些实施例中,所述方法还包括:
统计每个IP流对中目标不可到达报文所占ICMP报文流量的百分比,得到第一类型统计特征。
在一些实施例中,统计每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载长度的统计特征,包括:
统计每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载长度的百分位数和/或平均值。
在一些实施例中,统计每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载的编辑距离的统计特征,得到第三类统计特征,包括:
统计每个IP流对中,相邻ICMP请求报文的有效负载的编辑距离的百分位数和/或平均值;
统计每个IP流对中,相邻ICMP应答报文的有效负载的编辑距离的百分位数和/或平均值;
统计每个IP流对中,ICMP请求报文和与之对应的ICMP应答报文的有效负载的编辑距离的百分位数和/或平均值。
在一些实施例中,所述百分位数包括最小值、下四分位数、中位数、上四分位数、最大值中的至少一种。
在一些实施例中,所述检测模型基于训练获得,训练方法包括:
获取ICMP数据包;
对所述ICMP数据包进行标记,构建训练集;
将所述训练集输入深度学习网络中进行训练,得到检测模型。
本申请实施例还提供一种隐蔽通道检测装置,包括:
获取模块,其配置为获取ICMP数据包;
提取模块,其配置为从所述ICMP数据包中提取多个IP流对;
统计模块,其配置为获取所述多个IP流对中ICMP报文的统计特征;
检测模块,其配置为将所述统计特征输入检测模型检测是否存在ICMP隐蔽通道。
本申请实施例还提供一种终端设备,包括存储器和处理器,所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行上述的方法。
本申请实施例还提供一种计算机可读存储介质,该存储介质用于存储计算机程序,所述计算机程序被处理器执行时实现上述的方法。
与现有技术相比较,本申请实施例提供的隐蔽通道检测方法及装置,在获取ICMP数据包后,提取其中的IP流对,并获取各IP流对中ICMP报文的多个类型的统计特征,将上述统计特征作为输入量输入检测模型中检测是否存在隐蔽通道,不仅考虑了ICMP报文的整体数据统计特征,还充分考虑了ICMP报文中相邻ICMP请求报文有效负载数据之间的关系、相邻ICMP响应报文有效负载数据之间的关系、以及ICMP请求报文和与其对应的ICMP响应报文之间有效负载数据之间的关系,实现隐蔽通道的准确检测。
附图说明
在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。具有字母后缀或不同字母后缀的相同附图标记可以表示相似部件的不同实例。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书以及权利要求书一起用于对所申请的实施例进行说明。在适当的时候,在所有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证性的,而并非旨在作为本装置或方法的穷尽或排他实施例。
图1为本申请实施例的隐蔽通道检测方法的流程图;
图2为本申请实施例的获取IP流对中ICMP报文的统计特征的流程图;
图3为本申请实施例的检测模型的训练方法的流程图;
图4为本申请实施例的隐蔽通道检测装置的结构示意图。
具体实施方式
下面,结合附图对本申请的具体实施例进行详细的描述,但不作为本申请的限定。
应理解的是,可以对此处公开的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特征将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所公开的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
下面先对基于ICMP协议的网络通信进行简要说明。
ICMP(Internet Control Message Protocol)网际控制报文协议,它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。
Ping命令是Windows、Unix和Linux系统下的命令,其主要功能是在发送端设备与目的端设备基于ICMP协议进行网络通信时,检测网络是否能够连通,从而可以用于帮助用户分析判断网络故障。
发送端设备与目的端设备基于ICMP协议进行网络通信时,发送端设备构造ICMP请求报文(type8),并发送给目的端设备;
目的端设备接收到ICMP请求报文时,向发送端设备回复ICMP应答报文(type0)。
发送端设备可以通过中间节点向目的端设备发送ICMP请求报文,相应地,目的端设备可以通过相应的中间节点向发送端设备发送ICMP响应报文。
若发送端设备在预设时间内接收到目的端设备发送的ICMP应答报文,则确定网络能够连通(即目的端设备可达);否则,确定网络不能够连通(即目的端不可达),此时,路由器等中间节点返回目标不可到达报文(type3)给发送端设备。
本实施例中,发送端设备可以为用户主机,目的端设备可以为网络服务器;发送端设备和目的端设备也可以均为用户主机或均为网络服务器,只要能够通过ICMP协议进行网络通信即可。发送端设备和目的端设备之间可以具有多个中间节点,中间节点可以为网关(Gateway,GW)设备,还可以是任何具有报文转发功能的设备,例如可以是交换机、路由器、及代理服务器和会话边界控制器(Session Border Controller,SBC)等设备。
图1为本申请实施例的隐蔽通道检测方法的流程图。如图1所示,本申请实施例提供了一种隐蔽通道检测方法,包括:
步骤S101:获取ICMP数据包。
其中,ICMP数据包为发送端设备与目的端设备之间基于ICMP协议生成的待检测数据包。本步骤中,可以使用wireshark实时抓取ICMP数据包。
步骤S102:从所述ICMP数据包中提取多个IP流对。
具体地,可以将预定时间段内发送端设备与目的端设备之间的ICMP报文流量定义为一个IP流对,基于数据传输顺序依次从ICMP数据包中提取多个IP流对。
其中,ICMP报文包括发送端设备发送的ICMP请求报文(type8)和目的端设备发送的ICMP应答报文(type0)。
进一步地,考虑到发送端设备和目的端设备之间可能通过目标不可到达报文(type3)传输数据,因此,ICMP报文还可以包括目标不可到达报文。
步骤S103:获取所述多个IP流对中ICMP报文的统计特征。
具体地,分别获取每个IP流对中ICMP报文的统计特征,如图2所示,包括如下步骤:
步骤S1031:统计每个IP流对中,ICMP请求报文和ICMP应答报文分别所占ICMP报文流量的百分比,得到第一类型统计特征。
具体地,发送端设备与目的端设备基于ICMP协议正常通信的情况下,每个IP流对中,每个ICMP请求报文(type8)均有一个ICMP应答报文(type0)与之相对应,因此,每个IP流对中,ICMP请求报文与ICMP应答报文占ICMP报文流量的百分比应当相同,但是,当隐蔽通道存在时,二者所占ICMP报文流量的百分比存在差异。因此,可以通过统计每个IP流对中,ICMP请求报文(type8)和ICMP应答报文(type0)分别所占ICMP报文流量的百分比,来对隐蔽通道进行检测。
在一些实施例中,步骤S1031还包括:统计每个IP流对中目标不可到达报文(type3)所占ICMP报文流量的百分比,得到第一类型统计特征。
在一些IP流对中,发送端设备和目的端设备之间可能通过目标不可到达报文(type3)传输数据因此,可以通过统计每个IP流对中,目标不可到达报文(type3)所占ICMP报文流量的百分比,得到更加全面的第一类型统计特征,从而提高隐蔽通道检测的准确性。
步骤S1032:统计每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载长度的统计特征,得到第二类统计特征。
具体地,发送端设备与目的端设备基于ICMP协议正常通信的情况下,ICMP报文的有效负载的大小(有效负载长度)是固定的,例如,Windows系统下有效负载的大小为32bytes,Linux系统下有效负载的大小为56bytes。而当隐蔽通道存在时,有效负载的大小是随机的,因此,可以通过判断ICMP报文有效负载的大小是否随机,来判断隐蔽通道是否存在。
进一步地,由于每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载长度随着数据的传输不断变化,因此,可以通过统计每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载长度的变化来对每个IP流对中的有效负载长度进行评估。有效负载长度的统计特征即为第二类型统计特征。
进一步地,有效负载长度的统计特征包括有效负载长度的百分位数和/或平均值。
百分位数可以包括最小值、下四分位数、中位数、上四分位数、最大值五个统计值,用于表示ICMP报文中偏态数据的离散程度。
平均值可以用于表示ICMP报文的有效负载长度的平均程度,平均值可以为算术平均值、几何平均值、平方平均值、调和平均值、加权平均值等。
本实施例中,在统计ICMP请求报文和ICMP应答报文的有效负载长度的百分位数时,统计上述五个统计量中的至少一个。正常通信情况下,上述五个统计量的统计值在Windows系统下均为32,在Linux系统下均为56,而当隐蔽通道存在时,上述五个统计量的统计值随ICMP请求报文和ICMP应答报文的有效负载长度的随机变化而变化。具体实施中,为保证隐蔽通道检测的准确性,在计算百分位数时,计算上述五个统计量的统计值,与有效负载长度的平均值一起,作为隐蔽通道检测的第二类型统计特征。
步骤S1033:统计每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载的编辑距离的统计特征,得到第三类统计特征。
编辑距离是一种衡量两个序列(例如字符序列)相似度的算法,通过计算将一个序列通过替换、添加、删除这三种操作变成另一个序列所需要的最少操作数来确定两个序列的相似度。编辑距离越小,两个序列越相似。
本申请实施例中,通过统计相邻ICMP报文的有效负载的编辑距离可以量化相邻ICMP报文有效负载之间的相似度。
步骤S1033具体包括:
(1)统计每个IP流对中,相邻ICMP请求报文的有效负载的编辑距离的百分位数和/或平均值。
具体地,将每个IP流对中ICMP标识符(ICMP Identifier)相同的报文作为一组,记为一个ICMP会话(ICMP session)。
统计每个IP流对中,相邻ICMP请求报文的有效负载的编辑距离的百分位数和/或平均值,包括:
步骤一、计算每个ICMP会话中,相邻ICMP请求报文有效负载的编辑距离;
步骤二、统计所有ICMP会话中,所述编辑距离的百分位数和/或平均值。
(2)统计每个IP流对中,相邻ICMP应答报文的有效负载的编辑距离的百分位数和/或平均值。
相邻ICMP应答报文的有效负载的编辑距离的百分位数和/或平均值的统计方法与相邻ICMP请求报文的有效负载的编辑距离的百分位数和/或平均值的统计方法相同,包括:
步骤三、计算每个ICMP会话中,相邻ICMP应答报文有效负载的编辑距离;
步骤四、统计所有ICMP会话中,所述编辑距离的百分位数和/或平均值。
与步骤S1032中类似,百分位数可以为最小值、下四分位数、中位数、上四分位数、最大值五个统计值中的至少一个。平均值可以为算术平均值、几何平均值、平方平均值、调和平均值、加权平均值等。
通过上述步骤统计出相邻ICMP请求报文和相邻ICMP响应报文的有效负载的编辑距离的统计值后,可以分别基于相邻ICMP请求报文和相邻ICMP请求报文的上述统计值来检测隐蔽通道。正常通信情况下,同一个ping进程发出的相邻ICMP请求报文(或者相邻ICMP应答报文)在时间上相近,相邻ICMP请求报文(或者相邻ICMP应答报文)的有效负载相同。因此,正常通信情况下,相邻ICMP请求报文的有效负载的编辑距离为0;而当存在隐蔽通道时,ICMP报文的负载增加,使得IP流对中,相邻ICMP请求报文的有效负载之间存在差异,因此,相邻ICMP请求报文的有效负载的编辑距离不为0,且该编辑距离随机变化。类似地,正常通信情况下,相邻ICMP应答报文的有效负载的编辑距离也为0,而当存在隐蔽通道时,相邻ICMP应答报文的有效负载的编辑距离不为0,且该编辑距离随机变化。
需要说明的是,通过将每个IP流对中ICMP标识符(ICMP Identifier)相同的报文作为一组,记为一个ICMP时域会话,可以兼顾不同的系统,满足不同系统下的隐蔽通道检测需求。具体地,Linux系统中不同ping进程的ICMP报文的标识符不同,即ICMP报文的标识符对应于相应的ping进程号。因此,Linux系统下,将ICMP标识符相同的报文作为一个ICMP会话(ICMP session),统计所有ICMP会话中,相邻ICMP请求报文以及相邻ICMP应答报文的有效负载的编辑距离的百分位数和/或平均值。而Windows系统下,ICMP报文的标识符与操作系统的版本有关,对于同一版本的Windows系统,不同ping进程的标识符相同。例如,Microsoft Windows NT的标识符为256,Microsoft Windows 98/98SE的标识符为512,即Windows系统下,所有的ping进程发出的ICMP报文的标识符均相同,可以认为属于同一个ICMP会话。
可以理解的是,正常通信情况下,Linux系统发出的ICMP报文的负载前16bytes与时间戳有关,因此,前16bytes的内容是不断变化的,即前16bytes的内容存在一定的差别因此,同一个ping进程,相邻ICMP请求报文(或者相邻ICMP应答报文)有效负载的编辑距离不完全为0,为一个较小值。表1示出了一个IP流对中不存在隐蔽通道以及存在隐蔽通道时,相邻ICMP请求报文和相邻ICMP应答报文的有效负载的编辑距离的百分位数和平均值两组统计值。如表1所示,正常通信情况下,同一ping进程中,相邻ICMP请求报文(或者相邻ICMP应答报文)有效负载的编辑距离的百分位数和平均值为一个较小值。而Windows系统中同一个ping进程下,相邻ICMP请求报文(或者相邻ICMP应答报文)有效负载的编辑距离的百分位数和平均值均为0。
进一步地,可以将将步骤(1)和(2)得到的统计特征作为第一组第三类统计特征,以基于ICMP报文中相邻ICMP请求报文有效负载数据之间的关系、相邻ICMP响应报文有效负载数据之间的关系检测隐蔽通道。如表1所示,一个IP流对中,在Linux系统和Windows系统下,隐蔽通道不存在时,相邻ICMP请求报文和相邻ICMP应答报文的有效负载的编辑距离的统计值基本对应相同或相近。而当隐蔽通道存在时,相邻ICMP请求报文的有效负载的编辑距离的统计值和相邻ICMP应答报文的有效负载的编辑距离的统计值随机,且相邻ICMP请求报文的有效负载的编辑距离的统计值和相邻ICMP应答报文的有效负载的编辑距离的统计值之间存在显著差异。
表1
(3)统计每个IP流对中,ICMP请求报文和与之对应的ICMP应答报文的有效负载的编辑距离的百分位数和/或平均值。
具体包括如下步骤:
步骤一、对每个IP流对中ICMP请求报文和与之对应的ICMP响应报文进行配对,得到若干个ICMP流对。
步骤二、计算每个ICMP流对中ICMP请求报文和ICMP响应报文的有效负载的编辑距离,作为ICMP流对的编辑距离。
如果一个ICMP流对中ICMP请求报文有多个ICMP响应报文作为响应,计算ICMP请求报文与每一个ICMP响应报文的有效负载的编辑距离并求和,作为该ICMP流对的有效负载的编辑距离。
步骤三、统计每个IP流对中,所有ICMP流对编辑距离的百分位数和/或平均值。
正常通信情况下,每一个ICMP请求报文有且仅有一个ICMP响应报文,ICMP请求报文和与之对应的ICMP响应报文的有效负载的内容相同,即ICMP请求报文和与之对应的ICMP应答报文的有效负载的编辑距离为0。
本申请实施例中,为了检测ICMP隐蔽通道,计算每个ICMP流对中ICMP请求报文和与之对应的ICMP响应报文的有效负载的编辑距离,作为该ICMP流对的编辑距离。
如果一个ICMP流对中ICMP请求报文有多个ICMP应答报文作为响应,计算ICMP请求报文与每一个ICMP应答报文的有效负载的编辑距离并求和,将求和后的编辑距离的作为该ICMP流对的编辑距离。
需要说明的是,将求和后的编辑距离的作为该ICMP流对的编辑距离是因为如果一个ICMP请求报文的响应报文越多,ICMP流对的编辑距离则越大,越能证明隐蔽通道的存在;而正常通信情况下该编辑距离为0。
得到每个ICMP流对的编辑距离后,统计每个IP流对中,所有ICMP流对编辑距离的百分位数和/或平均值;正常通信情况下,该组统计值均为0。而隐蔽通道存在时,这组统计值是随机的。
通过步骤(3)得到ICMP请求报文和与之对应的ICMP应答报文的有效负载的编辑距离的统计特征后,可以将该统计特征作为第二组第三类统计特征,基于ICMP请求报文和与其对应的ICMP响应报文之间有效负载数据之间的关系检测隐蔽通道。
具体实施中,上述步骤(1)至(3)的执行顺序,本申请不具体限定,可以仅执行其中的一个步骤,也可以执行任意组合的至少两个步骤。例如,可以将步骤(1)和(2)作为一组进行执行,在得到相邻ICMP请求报文有效负载数据之间的关系、相邻ICMP响应报文有效负载数据之间的关系后,将二者进行比较,以更准确的检测隐蔽通道;还可以将步骤(1)和(2)作为一组,将步骤(3)作为另一组进行执行,以更加全面的考虑ICMP请求报文和的ICMP响应报文有效负载数据之间的关系。
需要说明的是,上述步骤S1031至步骤S1033的执行顺序,本申请不具体限定,可以仅执行其中的一个步骤,也可以执行任意组合的至少两个步骤。
步骤S104:将所述统计特征输入检测模型检测是否存在ICMP隐蔽通道。
通过步骤S103获得每个IP流对中的ICMP报文的统计特征后,可以将该统计特征作为每个IP流对的输入量输入检测模型中,检测每个IP流对中是否存在ICMP隐蔽通道。
进一步地,也可以将获取的多个IP流对中的ICMP报文的统计特征作为输入量一起输入检测模型中,检测整个ICMP数据包中是否存在ICMP隐蔽通道以及所述ICMP隐蔽通道所处的位置。ICMP隐蔽通道所处的位置包括ICMP隐蔽通道所在的IP流对、ICMP隐蔽通道所属的ICMP报文类型等。
其中,检测模型可以是经过训练得到的分类模型,例如决策树、随机森林、支持向量机、神经网络等机器学习分类模型。通过检测模型能够直接对待检测的ICMP数据包是否存在ICMP隐蔽通道进行判定,得到分类识别结果。
图3为本申请实施例的检测模型的训练方法的流程图。如图3所示,检测模型的训练方法包括如下步骤:
步骤S201:获取ICMP数据包。
与上述步骤S101中获取ICMP数据包的方法类似,可以使用wireshark抓取ICMP数据包。
步骤S202:对所述ICMP数据包进行标记,构建训练集。
具体地,可以将具有ICMP隐蔽通道的数据包作为正样本,没有ICMP隐蔽通道的数据包作为负样本。
在另一些实施例中,使用wireshark抓取ICMP数据包后,可以将使用ICMP隐蔽通道传输文件的数据包作为正样本,使用ICMP隐蔽通道传输控制命令的数据包作为负样本,对ICMP数据包进行标记。
根据不同的传输数据,标记不同的正样本和负样本,可以提高检测模型的检测精度。
正样本和负样本标记完成后,对ICMP数据包正样本进行统计得到正样本统计特征,并对ICMP数据包负样本进行统计得到负样本统计特征,构建包含正样本和负样本的统计特征的训练集。
本步骤中,通过标记ICMP数据包得到正样本和负样本,并得到正样本统计特征和负样本统计特征将其作为训练样本,以便于后续步骤中检测模型的检测参数的确定。
步骤S203:将所述训练集输入深度学习网络中进行训练,得到检测模型。
具体地,可以直接将步骤S203中得到的统计特征输入深度学习网络(例如卷积神经网络)进行训练,得到检测模型以及相应的检测参数。
本申请实施例通过预先训练得到检测模型,可以确保基于ICMP协议进行隐蔽通道检测的准确性,并确保网络通信的安全性。
在一些实施例中,检测模型的训练方法还包括步骤S204:更新所述检测模型。
具体地,通过步骤S104检测识别出ICMP隐蔽通道,可将识别出的ICMP隐蔽通道的统计特征作为训练样本输入检测模型中,对检测参数进行优化、更新,以得到更加精准的检测模型,保证ICMP隐蔽通道检测结果的精准性。
本申请实施例提供的隐蔽通道检测方法,在获取ICMP数据包后,提取其中的IP流对,并获取各IP流对中ICMP报文的多个类型的统计特征,将上述统计特征作为输入量输入检测模型中检测是否存在隐蔽通道,不仅考虑了ICMP报文的整体数据统计特征,还充分考虑了ICMP报文中相邻ICMP请求报文有效负载数据之间的关系、相邻ICMP响应报文有效负载数据之间的关系、以及ICMP请求报文和与其对应的ICMP响应报文之间有效负载数据之间的关系,实现ICMP隐蔽通道的准确检测。同时,将多个类型的数据统计特征作为输入量,可以更加全面、准确的检测ICMP隐蔽通道。
另外,本申请实施例仅需获得ICMP报文的统计特征,无需对ICMP报文的内容仅需具体检测,大大提高了隐蔽通道的检测效率。
图4为本申请实施例的隐蔽通道检测装置的结构示意图。如图4所示,基于同一申请构思,本申请实施例提供一种隐蔽通道检测装置,该隐蔽通道检测装置包括:
获取模块301,其配置为获取ICMP数据包;
提取模块302,其配置为从所述ICMP数据包中提取多个IP流对;
统计模块303,其配置为获取所述多个IP流对中ICMP报文的统计特征;
检测模块304,其配置为将所述统计特征输入检测模型检测是否存在ICMP隐蔽通道。
该隐蔽通道检测装置对应于上述实施例的隐蔽通道检测方法,隐蔽通道检测方法实施例中的任何可选项也适用于本实施例,这里不再详述。
本申请实施例还提供一种终端设备,包括存储器和处理器,存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行上述的隐蔽通道检测方法和上述的检测模型的训练方法。
本申请实施例还提供一种计算机可读存储介质,该存储介质用于存储计算机程序,所述计算机程序被处理器执行时实现上述的隐蔽通道检测方法和上述的检测模型的训练方法。
在一些实施例中,处理器可以是包括一个以上通用处理设备的处理设备,诸如微处理器、中央处理单元(CPU)、图形处理单元(GPU)等。更具体地,该处理器可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、运行其他指令集的处理器或运行指令集的组合的处理器。该处理器还可以是一个以上专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、片上系统(SoC)等。
在一些实施例中,计算机可读存储介质可以为存储器,诸如只读存储器(ROM)、随机存取存储器(RAM)、相变随机存取存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、电可擦除可编程只读存储器(EEPROM)、其他类型的随机存取存储器(RAM)、闪存盘或其他形式的闪存、缓存、寄存器、静态存储器、光盘只读存储器(CD-ROM)、数字通用光盘(DVD)或其他光学存储器、盒式磁带或其他磁存储设备,或被用于储存能够被计算机设备访问的信息或指令的任何其他可能的非暂时性的介质等。
本申请描述了各种操作或功能,其可以实现为软件代码或指令或者定义为软件代码或指令。这样的内容可以是可以直接执行(“对象”或“可执行”形式)的源代码或差分代码(“delta”或“patch”代码)。软件代码或指令可以存储在计算机可读存储介质中,并且当被执行时,可以使机器执行所描述的功能或操作,并且包括用于以机器(例如,计算装置,电子系统等)可访问的形式存储信息的任何机构,例如可记录或不可记录介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存装置等)。
本申请的实施例的计算机程序可以组织成一个或多个计算机可执行组件或模块。可以用这类组件或模块的任何数量和组合来实现本申请的各方面。例如,本申请的各方面不限于附图中示出的和本文描述的特定的计算机程序或特定组件或模块。其他实施例可以包括具有比本文所示出和描述的更多或更少功能的不同的计算机可执行指令或组件。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。
Claims (7)
1.一种隐蔽通道检测方法,其特征在于,包括:
获取ICMP数据包;
从所述ICMP数据包中提取多个IP流对;
获取所述多个IP流对中ICMP报文的统计特征,包括:分别获取每个IP流对中ICMP报文的统计特征;具体包括:
统计每个IP流对中,ICMP请求报文和ICMP应答报文分别所占ICMP报文流量的百分比,得到第一类型统计特征;
统计每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载长度的统计特征,得到第二类统计特征;
统计每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载的编辑距离的统计特征,得到第三类统计特征;具体包括:
统计每个IP流对中,相邻ICMP请求报文的有效负载的编辑距离的百分位数和/或平均值;具体包括:步骤一、计算每个ICMP会话中,相邻ICMP请求报文有效负载的编辑距离;
步骤二、统计所有ICMP会话中,所述编辑距离的百分位数和/或平均值;
统计每个IP流对中,相邻ICMP应答报文的有效负载的编辑距离的百分位数和/或平均值;具体包括:步骤一、计算每个ICMP会话中,相邻ICMP应答报文有效负载的编辑距离;
步骤二、统计所有ICMP会话中,所述编辑距离的百分位数和/或平均值;
统计每个IP流对中,ICMP请求报文和与之对应的ICMP应答报文的有效负载的编辑距离的百分位数和/或平均值;具体包括:步骤一、对每个IP流对中ICMP请求报文和与之对应的ICMP响应报文进行配对,得到若干个ICMP流对;步骤二、计算每个ICMP流对中ICMP请求报文和ICMP响应报文的有效负载的编辑距离,作为ICMP流对的编辑距离;步骤三、统计每个IP流对中,所有ICMP流对编辑距离的百分位数和/或平均值;
将所述统计特征输入检测模型检测是否存在ICMP隐蔽通道。
2.根据权利要求1所述的隐蔽通道检测方法,其特征在于,所述方法还包括:
统计每个IP流对中目标不可到达报文所占ICMP报文流量的百分比,得到第一类型统计特征。
3.根据权利要求1所述的隐蔽通道检测方法,其特征在于,统计每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载长度的统计特征,包括:
统计每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载长度的百分位数和/或平均值。
4.根据权利要求3中所述的隐蔽通道检测方法,其特征在于,所述百分位数包括最小值、下四分位数、中位数、上四分位数、最大值中的至少一种。
5.根据权利要求1所述的隐蔽通道检测方法,其特征在于,所述检测模型基于训练获得,训练方法包括:
获取ICMP数据包;
对所述ICMP数据包进行标记,构建训练集;
将所述训练集输入深度学习网络中进行训练,得到检测模型。
6.一种隐蔽通道检测装置,其特征在于,包括:
获取模块,其配置为获取ICMP数据包;
提取模块,其配置为从所述ICMP数据包中提取多个IP流对;
统计模块,其配置为获取所述多个IP流对中ICMP报文的统计特征;具体配置为:分别获取每个IP流对中ICMP报文的统计特征;具体包括:
统计每个IP流对中,ICMP请求报文和ICMP应答报文分别所占ICMP报文流量的百分比,得到第一类型统计特征;
统计每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载长度的统计特征,得到第二类统计特征;
统计每个IP流对中,ICMP请求报文和ICMP应答报文的有效负载的编辑距离的统计特征,得到第三类统计特征;具体包括:
统计每个IP流对中,相邻ICMP请求报文的有效负载的编辑距离的百分位数和/或平均值;具体包括:步骤一、计算每个ICMP会话中,相邻ICMP请求报文有效负载的编辑距离;
步骤二、统计所有ICMP会话中,所述编辑距离的百分位数和/或平均值;
统计每个IP流对中,相邻ICMP应答报文的有效负载的编辑距离的百分位数和/或平均值;具体包括:步骤一、计算每个ICMP会话中,相邻ICMP应答报文有效负载的编辑距离;
步骤二、统计所有ICMP会话中,所述编辑距离的百分位数和/或平均值;
统计每个IP流对中,ICMP请求报文和与之对应的ICMP应答报文的有效负载的编辑距离的百分位数和/或平均值;具体包括:步骤一、对每个IP流对中ICMP请求报文和与之对应的ICMP响应报文进行配对,得到若干个ICMP流对;步骤二、计算每个ICMP流对中ICMP请求报文和ICMP响应报文的有效负载的编辑距离,作为ICMP流对的编辑距离;
步骤三、统计每个IP流对中,所有ICMP流对编辑距离的百分位数和/或平均值;
检测模块,其配置为将所述统计特征输入检测模型检测是否存在ICMP隐蔽通道。
7.一种终端设备,其特征在于,包括存储器和处理器,所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行根据权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011367429.6A CN112565229B (zh) | 2020-11-27 | 2020-11-27 | 隐蔽通道检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011367429.6A CN112565229B (zh) | 2020-11-27 | 2020-11-27 | 隐蔽通道检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112565229A CN112565229A (zh) | 2021-03-26 |
CN112565229B true CN112565229B (zh) | 2023-05-05 |
Family
ID=75046597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011367429.6A Active CN112565229B (zh) | 2020-11-27 | 2020-11-27 | 隐蔽通道检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112565229B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124834B (zh) * | 2021-10-20 | 2024-06-28 | 南京中新赛克科技有限责任公司 | 一种工业控制网络内icmp隐蔽隧道检测的集成学习装置及方法 |
CN113923047B (zh) * | 2021-11-04 | 2024-07-16 | 杭州安恒信息安全技术有限公司 | 一种隐蔽通信方法、装置、系统、计算机和可读存储介质 |
CN114095265B (zh) * | 2021-11-24 | 2024-04-05 | 中国南方电网有限责任公司超高压输电公司昆明局 | Icmp隐蔽隧道检测方法、装置及计算机设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7986689B2 (en) * | 2006-11-08 | 2011-07-26 | Cisco Technology, Inc. | ICMP with IP routing instance information |
CN110324210B (zh) * | 2019-08-06 | 2020-12-25 | 杭州安恒信息技术股份有限公司 | 基于icmp协议进行隐蔽信道通信的检测方法及装置 |
CN111478922B (zh) * | 2020-04-27 | 2023-02-03 | 深信服科技股份有限公司 | 一种隐蔽信道通信检测方法、装置及设备 |
CN111478920A (zh) * | 2020-04-27 | 2020-07-31 | 深信服科技股份有限公司 | 一种隐蔽信道通信检测方法、装置及设备 |
-
2020
- 2020-11-27 CN CN202011367429.6A patent/CN112565229B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112565229A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112565229B (zh) | 隐蔽通道检测方法及装置 | |
CN109960729B (zh) | Http恶意流量的检测方法及系统 | |
Coulter et al. | Data-driven cyber security in perspective—Intelligent traffic analysis | |
CN111935170B (zh) | 一种网络异常流量检测方法、装置及设备 | |
Aiello et al. | DNS tunneling detection through statistical fingerprints of protocol messages and machine learning | |
CN109117634B (zh) | 基于网络流量多视图融合的恶意软件检测方法及系统 | |
US8010685B2 (en) | Method and apparatus for content classification | |
US20150033343A1 (en) | Method, Apparatus, and Device for Detecting E-Mail Attack | |
CN111191767B (zh) | 一种基于向量化的恶意流量攻击类型的判断方法 | |
CN106936791B (zh) | 拦截恶意网址访问的方法和装置 | |
CN111835777B (zh) | 一种异常流量检测方法、装置、设备及介质 | |
CN111478920A (zh) | 一种隐蔽信道通信检测方法、装置及设备 | |
CN107979581B (zh) | 僵尸特征的检测方法和装置 | |
CN113378899B (zh) | 非正常账号识别方法、装置、设备和存储介质 | |
CN113765846B (zh) | 一种网络异常行为智能检测与响应方法、装置及电子设备 | |
CN111835681A (zh) | 一种大规模流量异常主机检测方法和装置 | |
JPWO2019043804A1 (ja) | ログ分析装置、ログ分析方法及びプログラム | |
CN110472410B (zh) | 识别数据的方法、设备和数据处理方法 | |
CN111291078B (zh) | 一种域名匹配检测方法及装置 | |
CN114760216B (zh) | 一种扫描探测事件确定方法、装置及电子设备 | |
CN108650274B (zh) | 一种网络入侵检测方法及系统 | |
CN116170227A (zh) | 一种流量异常的检测方法、装置、电子设备及存储介质 | |
CN106961393B (zh) | 网络会话中udp报文的检测方法及装置 | |
CN114362972B (zh) | 一种基于流量摘要和图采样的僵尸网络混合检测方法及系统 | |
CN114095235A (zh) | 系统识别方法、装置、计算机设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |