CN115955521A - 一种私有报文的识别方法及系统 - Google Patents
一种私有报文的识别方法及系统 Download PDFInfo
- Publication number
- CN115955521A CN115955521A CN202211125133.2A CN202211125133A CN115955521A CN 115955521 A CN115955521 A CN 115955521A CN 202211125133 A CN202211125133 A CN 202211125133A CN 115955521 A CN115955521 A CN 115955521A
- Authority
- CN
- China
- Prior art keywords
- feature
- message
- recessive
- suspected
- hit
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种私有报文的识别方法及系统,涉及报文检测领域。该方法的步骤包括:对未识别数据流进行拆分,得到若干条未识别报文;提取每条未识别报文中具备隐性特征的报文载荷,对每条未识别报文分别进行分割处理和上下行报文载荷提取处理,得到若干唯一疑似隐性特征;分别计算每个疑似隐性特征的特征识别率,根据特征识别率计算疑似隐性特征的特征概率,选取特征概率在80%以上的疑似隐性特征,作为隐性特征。本发明能够通过隐性特征来识别和分析私有协议报文,进而能够有效的分析和防护恶意软件。
Description
技术领域
本发明涉及报文检测领域,具体涉及一种私有报文的识别方法及系统。
背景技术
随着计算机、宽带技术的迅速发展,网络办公日益流行,互联网已经成为人们工作、生活、学习过程中不可或缺、便捷高效的工具。但是,在享受着电脑办公和互联网带来的便捷同时,用户上网隐私和用户上网行为等信息泄漏问题给信息安全时代带来全新的挑战。
比较著名的网络协议有TCP/IP协议栈中的一些协议,比如IP、TCP、UDP、POP3、SMTP、HTTP等。已知协议都是有RFC规范的,具有指定的公知协议端口,按照规范理解就可以对协议报文进行解析。而与之相对的,私有协议是指协议格式不公开的协议,采用私有流量传输报文格式、私有的报文端口。为了防止攻击者拦截客户端与服务端之间传输的数据、对数据进行窃取、篡改行为,客户端和服务器端通信往往采用一种私有协议传输。比如所知道的手机应用软件,商用产品的通信协议,工控类的工控协议,甚至恶意软件所使用的通讯协议,都可以理解为私有协议。
而对于恶意软件而言,传统分析程序难以对恶意软件的私有协议报文进行识别和分析,进而难以做到有效的防护。
发明内容
针对现有技术中存在的缺陷,本发明解决的技术问题为:如何对私有协议报文进行识别。
为达到以上目的,本发明提供的私有报文的识别方法,包括以下步骤:
步骤A:对未识别数据流进行拆分,得到若干条未识别报文;
步骤B:提取每条未识别报文中具备隐性特征的报文载荷,对每条未识别报文分别进行分割处理和上下行报文载荷提取处理,得到若干唯一疑似隐性特征;
步骤C:在指定时长内,统计与未识别报文的目的地址对应的所有会话数量;将上述指定时长分为多个时间段1~n,并为每个时间段设置对应的加权系数,根据所有会话数量flow_num,每个时间段的加权系数x1~xn、以及每个时间段内需要计算的疑似隐性特征的命中次数hit1~hitn,分别计算每个疑似隐性特征的特征识别率hit_ratio(feature),计算公式为:
hit_ratio(feature)=(x1*hit1+x2*hit2+…+xn*hitn)/flow_num;
根据每个疑似隐性特征的特征识别率hit_ratio(feature)和特征命中次数的权重α,计算当前疑似隐性特征的特征概率ratio(feature),计算公式为:ratio(feature)=hit_ratio(feature)*α;其中α的取值为h,h为90%~95%;命中次数为N的疑似隐性特征的权重为h,命中次数为N-1的疑似隐性特征的权重为h-10%;选取特征概率ratio(feature)在80%以上的疑似隐性特征,作为隐性特征。
在上述技术方案的基础上,步骤B中对一条未识别报文进行分割处理的流程包括:对该条报文的每个具备隐性特征的报文载荷进行多次分割,每一次分割都会形成若干矢量特征,将所有矢量特征形成该条报文的矢量特征组;将所有报文的矢量特征组进行比对,得到命中N-1次以上的矢量特征、并将其作为疑似隐性特征,N代表所述具备隐性特征的报文载荷的总数量;
步骤B中对一条未识别报文进行上下行报文载荷提取的流程包括:根据报文上下行方向,对该条报文的每个具备隐性特征的报文载荷进行多次分割,形成若干上行矢量特征组和下行矢量特征组;分别将所有上行矢量特征组和所有下行矢量特征组进行比对,取全部命中的上行矢量特征和下行矢量特征作为疑似隐性特征。
在上述技术方案的基础上,步骤B中所述对该条报文的每个具备隐性特征的报文载荷进行多次分割的分割方式包括:以字节为单位,每次分割的最小长度为3个字节,最大长度为该条报文所有载荷总长度的三分之一;每次分割后的矢量特征长度比上一次分割后的长度多一个字节。
在上述技术方案的基础上,步骤B中得到疑似隐性特征后,还包括以下步骤:为每个疑似隐性特征添加码流长度特征后形成组合特征。
在上述技术方案的基础上,步骤A中采用五元组为最小单位对未识别数据流进行拆分,五元组包括源IP、目的IP、源端口、目的端口和传输层协议类型;步骤B中所述具备隐性特征的报文载荷为前10~20个报文载荷。
本发明提供的私有报文的识别系统,包括未识别报文获取模块、疑似隐性特征提取模块和隐性特征验证模块;
未识别报文获取模块用于:对未识别数据流进行拆分,得到若干条未识别报文;
疑似隐性特征提取模块用于:提取每条未识别报文中具备隐性特征的报文载荷,对每条未识别报文分别进行分割处理和上下行报文载荷提取处理,得到若干唯一疑似隐性特征;
隐性特征验证模块用于:在指定时长内,统计与未识别报文的目的地址对应的所有会话数量;将上述指定时长分为多个时间段1~n,并为每个时间段设置对应的加权系数,根据所有会话数量flow_num,每个时间段的加权系数x1~xn、以及每个时间段内需要计算的疑似隐性特征的命中次数hit1~hitn,分别计算每个疑似隐性特征的特征识别率hit_ratio(feature),计算公式为:
hit_ratio(feature)=(x1*hit1+x2*hit2+…+xn*hitn)/flow_num;
根据每个疑似隐性特征的特征识别率hit_ratio(feature)和特征命中次数的权重α,计算当前疑似隐性特征的特征概率ratio(feature),计算公式为:ratio(feature)=hit_ratio(feature)*α;其中α的取值为h,h为90%~95%;命中次数为N的疑似隐性特征的权重为h,命中次数为N-1的疑似隐性特征的权重为h-10%;选取特征概率ratio(feature)在80%以上的疑似隐性特征,作为隐性特征。
在上述技术方案的基础上,所述疑似隐性特征提取模块中对一条未识别报文进行分割处理的流程包括:对该条报文的每个具备隐性特征的报文载荷进行多次分割,每一次分割都会形成若干矢量特征,将所有矢量特征形成该条报文的矢量特征组;将所有报文的矢量特征组进行比对,得到命中N-1次以上的矢量特征、并将其作为疑似隐性特征,N代表所述具备隐性特征的报文载荷的总数量;
所述疑似隐性特征提取模块中对一条未识别报文进行上下行报文载荷提取的流程包括:根据报文上下行方向,对该条报文的每个具备隐性特征的报文载荷进行多次分割,形成若干上行矢量特征组和下行矢量特征组;分别将所有上行矢量特征组和所有下行矢量特征组进行比对,取全部命中的上行矢量特征和下行矢量特征作为疑似隐性特征。
在上述技术方案的基础上,所述疑似隐性特征提取模块中对该条报文的每个具备隐性特征的报文载荷进行多次分割的分割方式包括:以字节为单位,每次分割的最小长度为3个字节,最大长度为该条报文所有载荷总长度的三分之一;每次分割后的矢量特征长度比上一次分割后的长度多一个字节。
在上述技术方案的基础上,所述疑似隐性特征提取模块中得到疑似隐性特征后,还包括以下步骤:为每个疑似隐性特征添加码流长度特征后形成组合特征。
在上述技术方案的基础上,未识别报文获取模块中采用五元组为最小单位对未识别数据流进行拆分,五元组包括源IP、目的IP、源端口、目的端口和传输层协议类型;疑似隐性特征提取模块中所述具备隐性特征的报文载荷为前10~20个报文载荷。
与现有技术相比,本发明的优点在于:
本发明通过对隐性特征特性的研究,研发出疑似隐性特征的全面获取方式(步骤B中对报文载荷的分割以及对上下行载荷组的分割),并且通过自主研发的验证方式(步骤C)进一步对疑似隐性特征进行筛选,从而识别出隐性特征。因此,与现有技术中难以识别和分析私有协议报文相比,本发明能够通过隐性特征来识别和分析私有协议报文,进而能够有效的分析和防护恶意软件。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中私有报文的识别方法的流程图;
图2为本发明实施例中S2的流程图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请经过大量研究得出,要识别私有协议报文,其实质上需要识别的是报文中的隐性特征,在此基础上,参见图1所示,本发明实施例中的私有报文的识别方法,包括以下步骤:
步骤A:对未识别数据流进行拆分,得到若干条未识别报文,未识别数据流的目的地址需要保存以便后续使用,本实施例中采用五元组为最小单位对未识别数据流进行拆分,五元组包括源IP、目的IP、源端口、目的端口和传输层协议类型。
步骤B:提取每条未识别报文中具备隐性特征的报文载荷(一般为前10~20个报文载荷,20个之后的内容基本为数据内容,通常不具备隐性特征),对每条未识别报文分别进行分割处理和上下行报文载荷提取处理,得到若干唯一疑似隐性特征。
对一条未识别报文进行分割处理的流程包括:对该条报文的每个具备隐性特征的报文载荷进行多次分割,每一次分割都会形成若干矢量特征,将所有矢量特征形成该条报文的矢量特征组。将所有报文的矢量特征组进行比对,得到命中N-1次以上(即重复N-1次以上,N为报文载荷的总数量,即最多命中N次)的矢量特征作为疑似隐性特征。需要说明的是:重复N-1次包括重复N次和重复N-1次,其选取原理为:本申请经过大量的研发得到,重复N-1次和N次的矢量特征为隐性特征的概率较高,但是重复N-2次的适量特征为隐性特征的概率较低。
对一条未识别报文进行上下行报文载荷提取的流程包括:
根据报文上下行方向,将N个报文载荷,拆分成上行报文载荷组和下行报文载荷组;对该条报文的每个具备隐性特征的报文载荷进行多次分割,形成若干上行矢量特征组和下行矢量特征组;分别将所有上行矢量特征组和所有下行矢量特征组进行比对,取全部命中的(上行和下行)矢量特征作为疑似隐性特征;即将所有上行矢量特征组进行比对后,取全部命中(即在每个上行矢量特征组中均出现)的上行矢量特征作为疑似隐性特征,将所有下行矢量特征组进行比对后,取全部命中的下行矢量特征作为疑似隐性特征。
优选的,步骤B中对该条报文的每个具备隐性特征的报文载荷进行多次分割的分割方式包括:以字节为单位,每次分割的最小长度为3个字节,最大长度为该条报文所有载荷总长度的三分之一;每次分割后的矢量特征长度比上一次分割后的长度多一个字节。例如该条报文载荷为15个,总长度为该条报文所有载荷总长度的1/3,则对该套报文载荷的分割次数为该条报文所有载荷总长度的1/3-3,按照从小至大的顺序,每次分割后的矢量特征的长度依次为:3、4、5…该条报文所有载荷总长度的1/3。
优选的,步骤B中得到疑似隐性特征后,还包括以下步骤:为每个疑似隐性特征添加码流长度特征后形成组合特征,添加码流长度后的组合特征信息比较明确,便于更好的识别和分析。码流长度特征的获取流程包括:根据报文载荷大小,将每个报文载荷分别转换成1字节十六进制码流、2字节十六进制码流和4字节十六进制码流,其中2字节和4字节需要包括大小端转换后的码流;分别用每种码流检索当前报文,若出现报文大小特征的码流和报文某处码流完全匹配,则将报文码流的偏移和报文大小的长度作为与当前报文对应的所有疑似隐性特征的码流长度特征。
步骤C:在指定时长内,统计与未识别报文的目的地址对应的所有会话数量;将上述指定时长分为多个时间段1~n,并为每个时间段设置对应的加权系数,根据所有会话数量flow_num,每个时间段的加权系数x1~xn、以及每个时间段内需要计算的疑似隐性特征命中次数(即出现次数)hit1~hitn,分别计算每个疑似隐性特征的特征识别率hit_ratio(feature),计算公式为:hit_ratio(feature)=(x1*hit1+x2*hit2+…+xn*hitn)/flow_num。
根据每个疑似隐性特征的特征识别率hit_ratio(feature)和特征命中次数的权重α,计算当前疑似隐性特征的特征概率ratio(feature),计算公式为:ratio(feature)=hit_ratio(feature)*α;
需要说明的是:α的取值为h,h为90%~95%;命中次数为N的疑似隐性特征的权重为h,命中次数为N-1的疑似隐性特征的权重为h-10%。
选取特征概率ratio(feature)在80%以上的疑似隐性特征(优选为85%以上),作为隐性特征。
步骤D:根据传输层协议、特征方向、码流特征和码流长度等特征,对步骤C中得到的隐性特征进行准确表示,具体语法例如:
TCP;ALL;b(0)=0x12,b(1)=0x34,b(2)=0x45;dlen(n)=0x14;
1、TCP表示传输层协议,可填写TCP或UDP;
2、ALL表示双向匹配,可填写ALL(双向匹配)、UL(仅上行匹配)、DL(仅下行匹配);
3、b(n)=0xff表示某个偏移位置的单字节的确定的值;n表示偏移位置,从偏移位置0开始算起;0xff表示第n个字节的十六进制数;
4、dlen(n)=0x11表示某个偏移位置的1个或多个字节的值等于包的负载数据长度;n表示偏移位置,从偏移位置0开始算起;0x11前4比特,表示字节序,0为主机字节序,1为网络字节序;0x11后4比特,表示字节宽度,通常为1和2,表示字节长度为1字节和2字节。
由此可知,本发明通过对隐性特征特性的研究,研发出疑似隐性特征的全面获取方式(步骤B中对报文载荷的分割以及对上下行载荷组的分割),并且通过自主研发的验证方式(步骤C)进一步对疑似隐性特征进行筛选,从而识别出隐性特征。因此,与现有技术中难以识别和分析私有协议报文相比,本发明能够通过隐性特征来识别和分析私有协议报文,进而能够有效的分析和防护恶意软件。
下面从每个步骤的时间执行先后顺序为主要维度,通过一个实施例来具体说明本发明的方法本发明实施例中的私有报文的识别方法。
本实施例通过DPI采集程序接收GNB(the next Generation Node B,下一代基站,即5G基站)和UPF(User Plane Function,用户界面)之间的N3接口流量,使用5G终端正常使用待分析的应用,其中5G终端的流量会经过N3接口分光给DPI。
本实施例中的私有报文的识别方法,包括以下步骤:
S1:利用DPI的协议识别引擎处理5G终端正常上网流量,过滤已识别的数据流,并将未识别流量保存到undetected目录下。采用五元组对未识别数据流进行拆分,得到若干条未识别报文,转到S2。
S2:加载所有未识别报文,提取每条未识别报文中的前N个(N为15)报文载荷;对每条未识别报文分别进行分割处理和上下行报文载荷提取处理,得到若干唯一疑似隐性特征,转到S3。
参见图2所示,S2提取报文载荷之后的流程包括:
S201:设置每条报文载荷的矢量分割长度,单位为字节,最小为3个字节,最大为该条报文所有载荷总长度的三分之一。
S202:按照每个报文载荷对应的矢量分割长度,对该报文载荷进行多次分割,形成若干矢量特征组。
S203:根据报文上下行方向,将N个报文载荷,拆分成上行报文载荷组和下行报文载荷组;按照每个报文载荷对应的矢量分割长度,对该条报文的报文载荷进行多次分割,形成若干上行矢量特征组和下行矢量特征组。
S204:分别将所有矢量特征组、上行矢量特征组和下行矢量特征组进行比对:
对于所有矢量特征组:将命中N次和N-1次以上的矢量特征作为疑似隐性特征;
对于所有上行矢量特征组,将全部命中(即命中N次)的上行矢量特征作为疑似隐性特征;
对于所有下行矢量特征组,将全部命中(即命中N次)的下行矢量特征作为疑似隐性特征。
将所有疑似隐性特征去重后添加至疑似隐性特征组。
S3:重复执行2次S1至S2后,总共得到3组疑似隐性特征组,将3组疑似隐性特征组进行比对,选取命中3次的所有疑似隐性特征,转到S4。
S4:为S3中选取的每个疑似隐性特征添加码流长度特征后形成组合特征,码流长度特征的获取流程见上文步骤B,将所有组合特征添加至DPI采集程序的临时应用识别特征库tmp_proto中,转到S5。
S5:DPI采集程序加载临时应用识别特征库,在24小时内,统计与S1中数据流的目的地址对应的所有会话数量flow_num;计算每个疑似隐性特征的特征识别率hit_ratio(feature),计算公式为:
hit_ratio(feature)=(x1*hit1+x2*hit2+x3*hit3)/flow_num;
其中x1~x3分别是0点到8点,9点到18点和19点到24点的会话数量的加权系数;x1=20%,x2=50%,x3=30%,实际应用中取值可以自行设置,加起来等于1;hit1~hit3分别是x1~x3时间段内,需要计算的疑似隐性特征出现次数,转到S6。
S6:根据每个疑似隐性特征的特征识别率hit_ratio(feature)和特征命中次数的权重α,计算当前疑似隐性特征的特征概率ratio(feature),计算公式为:ratio(feature)=hit_ratio(feature)*α;命中次数为N的疑似隐性特征的权重α为95%,命中次数为N-1的疑似隐性特征的权重α为85%;选取特征概率ratio(feature)在80%以上的特征,作为隐性特征,转到S7。
S7:输出隐性特征表达式,其中特征feature语法如下:
TCP;ALL;b(0)=0x12,b(1)=0x34,b(2)=0x45;dlen(n)=0x14;
1、TCP表示传输层协议,可填写TCP或UDP;
2、ALL表示双向匹配,可填写ALL(双向匹配)、UL(仅上行匹配)、DL(仅下行匹配);
3、b(n)=0xff表示某个偏移位置的单字节的确定的值;n表示偏移位置,从偏移位置0开始算起;0xff表示第n个字节的十六进制数;
4、dlen(n)=0x11表示某个偏移位置的1个或多个字节的值等于包的负载数据长度;n表示偏移位置,从偏移位置0开始算起;0x11前4比特,表示字节序,0为主机字节序,1为网络字节序;0x11后4比特,表示字节宽度,通常为1和2,表示字节长度为1字节和2字节。
本发明实施例中的私有报文的识别系统,包括未识别报文获取模块、疑似隐性特征提取模块和隐性特征验证模块;
未识别报文获取模块用于:对未识别数据流进行拆分,得到若干条未识别报文;未识别报文获取模块采用五元组为最小单位对未识别数据流进行拆分,五元组包括源IP、目的IP、源端口、目的端口和传输层协议类型;疑似隐性特征提取模块中所述具备隐性特征的报文载荷为前10~20个报文载荷。
疑似隐性特征提取模块用于:提取每条未识别报文中具备隐性特征的报文载荷,对每条未识别报文分别进行分割处理和上下行报文载荷提取处理,得到若干唯一疑似隐性特征;
疑似隐性特征提取模块中对一条未识别报文进行分割处理的流程包括:对该条报文的每个具备隐性特征的报文载荷进行多次分割,每一次分割都会形成若干矢量特征,将所有矢量特征形成该条报文的矢量特征组;将所有报文的矢量特征组进行比对,得到命中N-1次以上的矢量特征、并将其作为疑似隐性特征,N代表所述具备隐性特征的报文载荷的总数量;
疑似隐性特征提取模块中对一条未识别报文进行上下行报文载荷提取的流程包括:根据报文上下行方向,对该条报文的每个具备隐性特征的报文载荷进行多次分割,形成若干上行矢量特征组和下行矢量特征组;分别将所有上行矢量特征组和所有下行矢量特征组进行比对,取全部命中的上行矢量特征和下行矢量特征作为疑似隐性特征。
疑似隐性特征提取模块中对该条报文的每个具备隐性特征的报文载荷进行多次分割的分割方式包括:以字节为单位,每次分割的最小长度为3个字节,最大长度为该条报文所有载荷总长度的三分之一;每次分割后的矢量特征长度比上一次分割后的长度多一个字节。
疑似隐性特征提取模块中得到疑似隐性特征后,还包括以下步骤:为每个疑似隐性特征添加码流长度特征后形成组合特征。
隐性特征验证模块用于:在指定时长内,统计与未识别报文的目的地址对应的所有会话数量;将上述指定时长分为多个时间段1~n,并为每个时间段设置对应的加权系数,根据所有会话数量flow_num,每个时间段的加权系数x1~xn、以及每个时间段内需要计算的疑似隐性特征的命中次数hit1~hitn,分别计算每个疑似隐性特征的特征识别率hit_ratio(feature),计算公式为:
hit_ratio(feature)=(x1*hit1+x2*hit2+…+xn*hitn)/flow_num;
根据每个疑似隐性特征的特征识别率hit_ratio(feature)和特征命中次数的权重α,计算当前疑似隐性特征的特征概率ratio(feature),计算公式为:ratio(feature)=hit_ratio(feature)*α;其中α的取值为h,h为90%~95%;命中次数为N的疑似隐性特征的权重为h,命中次数为N-1的疑似隐性特征的权重为h-10%;选取特征概率ratio(feature)在80%以上的疑似隐性特征,作为隐性特征。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机可读存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
如本领域普通技术人员公知的,术语计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
示例性的,计算机可读存储介质可以是前述实施例的电子设备的内部存储单元,例如电子设备的硬盘或内存。计算机可读存储介质也可以是电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。
以上仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种私有报文的识别方法,其特征在于,该方法包括以下步骤:
步骤A:对未识别数据流进行拆分,得到若干条未识别报文;
步骤B:提取每条未识别报文中具备隐性特征的报文载荷,对每条未识别报文分别进行分割处理和上下行报文载荷提取处理,得到若干唯一疑似隐性特征;
步骤C:在指定时长内,统计与未识别报文的目的地址对应的所有会话数量;将上述指定时长分为多个时间段1~n,并为每个时间段设置对应的加权系数,根据所有会话数量flow_num,每个时间段的加权系数x1~xn、以及每个时间段内需要计算的疑似隐性特征的命中次数hit1~hitn,分别计算每个疑似隐性特征的特征识别率hit_ratio(feature),计算公式为:
hit_ratio(feature)=(x1*hit1+x2*hit2+…+xn*hitn)/flow_num;
根据每个疑似隐性特征的特征识别率hit_ratio(feature)和特征命中次数的权重α,计算当前疑似隐性特征的特征概率ratio(feature),计算公式为:ratio(feature)=hit_ratio(feature)*α;其中α的取值为h,h为90%~95%;命中次数为N的疑似隐性特征的权重为h,命中次数为N-1的疑似隐性特征的权重为h-10%;选取特征概率ratio(feature)在80%以上的疑似隐性特征,作为隐性特征。
2.如权利要求1所述的私有报文的识别方法,其特征在于:步骤B中对一条未识别报文进行分割处理的流程包括:对该条报文的每个具备隐性特征的报文载荷进行多次分割,每一次分割都会形成若干矢量特征,将所有矢量特征形成该条报文的矢量特征组;将所有报文的矢量特征组进行比对,得到命中N-1次以上的矢量特征、并将其作为疑似隐性特征,N代表所述具备隐性特征的报文载荷的总数量;
步骤B中对一条未识别报文进行上下行报文载荷提取的流程包括:根据报文上下行方向,对该条报文的每个具备隐性特征的报文载荷进行多次分割,形成若干上行矢量特征组和下行矢量特征组;分别将所有上行矢量特征组和所有下行矢量特征组进行比对,取全部命中的上行矢量特征和下行矢量特征作为疑似隐性特征。
3.如权利要求2所述的私有报文的识别方法,其特征在于:步骤B中所述对该条报文的每个具备隐性特征的报文载荷进行多次分割的分割方式包括:以字节为单位,每次分割的最小长度为3个字节,最大长度为该条报文所有载荷总长度的三分之一;每次分割后的矢量特征长度比上一次分割后的长度多一个字节。
4.如权利要求2所述的私有报文的识别方法,其特征在于:步骤B中得到疑似隐性特征后,还包括以下步骤:为每个疑似隐性特征添加码流长度特征后形成组合特征。
5.如权利要求1至4任一项所述的私有报文的识别方法,其特征在于:步骤A中采用五元组为最小单位对未识别数据流进行拆分,五元组包括源IP、目的IP、源端口、目的端口和传输层协议类型;步骤B中所述具备隐性特征的报文载荷为前10~20个报文载荷。
6.一种私有报文的识别系统,其特征在于:该系统包括未识别报文获取模块、疑似隐性特征提取模块和隐性特征验证模块;
未识别报文获取模块用于:对未识别数据流进行拆分,得到若干条未识别报文;
疑似隐性特征提取模块用于:提取每条未识别报文中具备隐性特征的报文载荷,对每条未识别报文分别进行分割处理和上下行报文载荷提取处理,得到若干唯一疑似隐性特征;
隐性特征验证模块用于:在指定时长内,统计与未识别报文的目的地址对应的所有会话数量;将上述指定时长分为多个时间段1~n,并为每个时间段设置对应的加权系数,根据所有会话数量flow_num,每个时间段的加权系数x1~xn、以及每个时间段内需要计算的疑似隐性特征的命中次数hit1~hitn,分别计算每个疑似隐性特征的特征识别率hit_ratio(feature),计算公式为:
hit_ratio(feature)=(x1*hit1+x2*hit2+…+xn*hitn)/flow_num;
根据每个疑似隐性特征的特征识别率hit_ratio(feature)和特征命中次数的权重α,计算当前疑似隐性特征的特征概率ratio(feature),计算公式为:ratio(feature)=hit_ratio(feature)*α;其中α的取值为h,h为90%~95%;命中次数为N的疑似隐性特征的权重为h,命中次数为N-1的疑似隐性特征的权重为h-10%;选取特征概率ratio(feature)在80%以上的疑似隐性特征,作为隐性特征。
7.如权利要求6所述的私有报文的识别系统,其特征在于:所述疑似隐性特征提取模块中对一条未识别报文进行分割处理的流程包括:对该条报文的每个具备隐性特征的报文载荷进行多次分割,每一次分割都会形成若干矢量特征,将所有矢量特征形成该条报文的矢量特征组;将所有报文的矢量特征组进行比对,得到命中N-1次以上的矢量特征、并将其作为疑似隐性特征,N代表所述具备隐性特征的报文载荷的总数量;
所述疑似隐性特征提取模块中对一条未识别报文进行上下行报文载荷提取的流程包括:根据报文上下行方向,对该条报文的每个具备隐性特征的报文载荷进行多次分割,形成若干上行矢量特征组和下行矢量特征组;分别将所有上行矢量特征组和所有下行矢量特征组进行比对,取全部命中的上行矢量特征和下行矢量特征作为疑似隐性特征。
8.如权利要求7所述的私有报文的识别系统,其特征在于:所述疑似隐性特征提取模块中对该条报文的每个具备隐性特征的报文载荷进行多次分割的分割方式包括:以字节为单位,每次分割的最小长度为3个字节,最大长度为该条报文所有载荷总长度的三分之一;每次分割后的矢量特征长度比上一次分割后的长度多一个字节。
9.如权利要求7所述的私有报文的识别系统,其特征在于:所述疑似隐性特征提取模块中得到疑似隐性特征后,还包括以下步骤:为每个疑似隐性特征添加码流长度特征后形成组合特征。
10.如权利要求6至9任一项所述的私有报文的识别系统,其特征在于:所述未识别报文获取模块采用五元组为最小单位对未识别数据流进行拆分,五元组包括源IP、目的IP、源端口、目的端口和传输层协议类型;疑似隐性特征提取模块中所述具备隐性特征的报文载荷为前10~20个报文载荷。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211125133.2A CN115955521B (zh) | 2022-09-13 | 2022-09-13 | 一种私有报文的识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211125133.2A CN115955521B (zh) | 2022-09-13 | 2022-09-13 | 一种私有报文的识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115955521A true CN115955521A (zh) | 2023-04-11 |
CN115955521B CN115955521B (zh) | 2023-08-11 |
Family
ID=87288315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211125133.2A Active CN115955521B (zh) | 2022-09-13 | 2022-09-13 | 一种私有报文的识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115955521B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025636A (zh) * | 2010-12-09 | 2011-04-20 | 北京星网锐捷网络技术有限公司 | 报文特征处理方法、装置及网络设备 |
CN108173854A (zh) * | 2017-12-28 | 2018-06-15 | 广东电网有限责任公司东莞供电局 | 一种电力私有协议的安全监测方法 |
US20180375781A1 (en) * | 2016-03-11 | 2018-12-27 | Huawei Technologies Co.,Ltd. | Coflow identification method and system, and server using method |
CN109672687A (zh) * | 2018-12-31 | 2019-04-23 | 南京理工大学 | 基于可疑度评估的http混淆流量检测方法 |
CN111178043A (zh) * | 2019-12-31 | 2020-05-19 | 武汉优聘科技有限公司 | 一种识别学术观点句的方法及系统 |
CN112671727A (zh) * | 2020-12-11 | 2021-04-16 | 深信服科技股份有限公司 | 一种信息泄露检测方法及装置、设备、存储介质 |
CN113438633A (zh) * | 2021-06-18 | 2021-09-24 | 深圳松诺技术有限公司 | 通信数据处理方法、终端和计算机可读存储介质 |
-
2022
- 2022-09-13 CN CN202211125133.2A patent/CN115955521B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025636A (zh) * | 2010-12-09 | 2011-04-20 | 北京星网锐捷网络技术有限公司 | 报文特征处理方法、装置及网络设备 |
US20180375781A1 (en) * | 2016-03-11 | 2018-12-27 | Huawei Technologies Co.,Ltd. | Coflow identification method and system, and server using method |
CN108173854A (zh) * | 2017-12-28 | 2018-06-15 | 广东电网有限责任公司东莞供电局 | 一种电力私有协议的安全监测方法 |
CN109672687A (zh) * | 2018-12-31 | 2019-04-23 | 南京理工大学 | 基于可疑度评估的http混淆流量检测方法 |
CN111178043A (zh) * | 2019-12-31 | 2020-05-19 | 武汉优聘科技有限公司 | 一种识别学术观点句的方法及系统 |
CN112671727A (zh) * | 2020-12-11 | 2021-04-16 | 深信服科技股份有限公司 | 一种信息泄露检测方法及装置、设备、存储介质 |
CN113438633A (zh) * | 2021-06-18 | 2021-09-24 | 深圳松诺技术有限公司 | 通信数据处理方法、终端和计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
叶水勇等: "基于私有云服务的电气设备故障智能诊断分析系统研究", 电力与能源, vol. 40, no. 5, pages 496 - 499 * |
Also Published As
Publication number | Publication date |
---|---|
CN115955521B (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8681819B2 (en) | Programmable multifield parser packet | |
CN109818970B (zh) | 一种数据处理方法及装置 | |
CN114157502B (zh) | 一种终端识别方法、装置、电子设备及存储介质 | |
US10097510B2 (en) | Identifying network flows under network address translation | |
CN113835902B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN110677718B (zh) | 一种视频识别方法和装置 | |
CN111181923A (zh) | 流量检测方法、装置、电子设备及存储介质 | |
CN104333483A (zh) | 互联网应用流量识别方法、系统及识别装置 | |
CN111786953B (zh) | 一种安全防护方法、装置和安全管理设备 | |
CN114760131B (zh) | 一种面向返回式编程流量的特征提取方法、装置及设备 | |
CN112787875B (zh) | 设备识别方法、装置及设备、存储介质 | |
CN112769738B (zh) | DetNet数据包处理方法及装置 | |
CN110225061B (zh) | 基于流表驱动的异构协议转换方法和装置 | |
CN114338510B (zh) | 控制和转发分离的数据转发方法和系统 | |
KR101880705B1 (ko) | 인터넷을 이용하여 장치정보를 수집하는 시스템 및 그 방법 | |
CN111800518B (zh) | 客户端ip地址插入方法及装置 | |
CN111343206B (zh) | 一种针对数据流攻击的主动防御方法及装置 | |
CN111405007B (zh) | Tcp会话管理方法、装置、存储介质及电子设备 | |
CN115955521B (zh) | 一种私有报文的识别方法及系统 | |
CN112688924A (zh) | 网络协议分析系统 | |
CN115190056B (zh) | 一种可编排的流量协议识别与解析方法、装置及设备 | |
US20110019581A1 (en) | Method for identifying packets and apparatus using the same | |
CN113438506B (zh) | 视频文件的还原方法、装置、计算机设备和存储介质 | |
CN114205095B (zh) | 一种加密恶意流量的检测方法和装置 | |
CN113765877B (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 |