CN113852605A - 一种基于关系推理的协议格式自动化推断方法及系统 - Google Patents
一种基于关系推理的协议格式自动化推断方法及系统 Download PDFInfo
- Publication number
- CN113852605A CN113852605A CN202110999657.3A CN202110999657A CN113852605A CN 113852605 A CN113852605 A CN 113852605A CN 202110999657 A CN202110999657 A CN 202110999657A CN 113852605 A CN113852605 A CN 113852605A
- Authority
- CN
- China
- Prior art keywords
- load
- coarse
- grained structure
- tcp
- udp
- 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
- 238000000034 method Methods 0.000 title claims abstract description 118
- 238000002910 structure generation Methods 0.000 claims abstract description 38
- 238000013507 mapping Methods 0.000 claims abstract description 18
- 238000000605 extraction Methods 0.000 claims abstract description 17
- 238000007781 pre-processing Methods 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 19
- 239000013598 vector Substances 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 10
- 238000013527 convolutional neural network Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 5
- 230000001502 supplementing effect Effects 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims 2
- 238000010606 normalization Methods 0.000 claims 1
- 239000000284 extract Substances 0.000 abstract description 4
- 238000013528 artificial neural network Methods 0.000 description 23
- 238000012545 processing Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 238000002474 experimental method Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 7
- 238000002864 sequence alignment Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000012733 comparative method Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 241000546229 Ips Species 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000010972 statistical evaluation Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于关系推理的协议格式自动化推断方法及系统。该方法包括三个阶段,分别为粗粒度结构生成阶段、关系学习阶段和细粒度结构生成阶段:粗粒度结构生成阶段包括:对原始网络流量进行预处理;对预处理后的有效负载集合生成频率字典;根据频率字典产生粗粒度结构;关系学习阶段包括:对有效负载的特征进行提取;对负载粗粒度结构产生对应的问题集和答案集;利用问题和答案推理有效负载特征中各n‑gram间逻辑关系,构建字段关系模型;细粒度结构生成阶段包括:根据关系学习阶段得到的字段关系模型,将其映射到粗粒度结构中;根据映射关系推断出负载的格式。本发明在TCP/UDP负载中从变长字段间提取精确的协议格式,提取方法效率高、鲁棒性强。
Description
技术领域
本发明涉及根据数据包TCP/UDP有效载荷使用深度学习技术对未知的网络流量格式进行自动提取,具体涉及一种基于关系推理的协议格式自动化推断方法及系统。
背景技术
网络协议格式提取是将流量中TCP/UDP负载部分关键信息提取的过程,是网络安全领域中的一个重要挑战。其在计算机网络与网络安全领域有着广泛的应用。例如,入侵检测和防范系统(IDSes/IPSes),网络监控,网络测量,隧道检测,流量分类等。具体而说,在网络安全领域中,很多安全分析如静态/符号漏洞扫描,漏洞利用,攻击检测和恶意软件行为分析等都需要对网络协议进行精确的建模。例如,恶意软件分析通常需要向命令和控制(C&C)服务器发送正确协议格式的消息,这样可隐藏性地触发服务器的响应行为;静态/符号分析需要精确的协议建模,否则可能会产生很多误报情况。
对于这种强烈的应用安全需求,该领域的研究吸引很多工业界和学术界相关人员的关注。需要说明的是,安全分析人员感兴趣的许多应用程序协议并没有相关文档公布其协议格式,即许多应用程序协议是私有化的。例如,自动驾驶汽车使用的CAN总线和FlexRay,控制系统使用Modbus和DNP3协议,还有一些在线聊天/会议应用程序有自己的定制协议。
在近些年来,各种学术团体在未知协议的自动化格式推断领域研发了很多种解决方法。目前许多前沿水平方法如ProDecoder、Discoverer和Netplier都依赖于序列对齐(Sequence Alignment)技术进行格式推断,序列对齐目前是格式推断领域中几乎说最常用的方法。最近几年,由于深度学习技术在自然语言处理、图像语义分割等领域的快速推进,有一些学者考虑使用深度学习技术来尝试解决协议格式推断问题。然而,设计合适的深度学习模型处理未知的网络流量和处理网络流量中变长字段的问题始终是一个技术挑战。本发明将数据包中TCP/UDP的有效负载作为输入,并尝试使用新设计的深度学习模型对未知网络协议进行更精确的推断。
本发明设计并实现了一个新颖的基于深度学习的网络协议格式推断方法及系统,该方法及系统通过关系推理网络推断TCP/UDP负载中字段关系,更精确地推断出网络协议的格式。
对于协议格式的推理方法,主要分为基于软件代码逆向工程的方法和基于原始流量推断格式的方法。现有的研究提出了几种基于网络原始流量来进行协议格式推断的方法。然而,一些物联网固件由于其保护机制而无法访问;如果二进制文件被打包或混淆,就很难进行动态分析。即使在客户端的应用程序的二进制程序可访问其代码,它在服务器端上的对应的程序也很难进行访问。因此,另一类基于网络流量的格式推断方法研究更为广泛,这些流量数据的获得可以通过网络窃听获得。目前基于网络流量的协议格式推断方法有两种一种是基于序列对齐(Alignment),另一种是基于元组(token)划分序列来处理的。然而,现有的基于上述两种方法的设计分别存在局限性:
(1)基于序列对齐(Alignment)的方法利用各种序列对齐算法来对齐消息对并计算相似度分数。消息基于这样的分数进行聚类。然后通过分析集群内消息的共性来推断出消息格式。然而,由于在一种协议中消息存在多样性,这种内容多样性大大降低了对齐的质量,会导致对齐不准确问题,给后面的分析带来了问题。除此之外,在消息对齐过程中会有很高的时间成本消耗,这种时间消耗随着处理负载长度和负载数量的增加而指数级上涨,会导致大量资源的开销。
(2)基于元组(token)的方法为减少对齐变化,首先将消息进行元组化(比如将消息划分为文本协议字段或二进制协议字段),而后再进行处理。然而,在划分成元组时通常需要分隔符(如‘,’、‘;’、‘:’等)来标识元组(这些分隔符在二进制协议中大多不会存在),并且因为元组化方法是基于确定性启发式的,再划分簇时还会产生过多的簇。即有一些专用规则用于执行元组化操作,但这些规则在许多情况下可能不适用。现有的技术没有对这种不确定性建模,因此经常产生不正确的结果。
本专利拟解决此前方法或系统存在的两点技术缺陷。
发明内容
本发明的目的在于设计并实现一种基于关系推理的协议格式自动化推断方法及系统,使得在协议格式推断过程中,针对TCP/UDP负载中较难处理的变长字段,鲁棒地提取出TCP/UDP负载的协议格式信息,实现协议格式边界更精确的划分,并在协议格式推断过程中具有更高的效率。
为实现上述目的,本发明采用的技术方案如下:
一种基于关系推理的协议格式自动化推断方法及系统。其特征在于,包括粗粒度结构生成阶段、关系学习阶段和细粒度结构生成阶段;
所述粗粒度结构生成阶段包括如下步骤:
1)以同一种应用协议的原始网络流量作为输入,提取出其TCP/UDP有效载荷部分,并过滤掉字节序列相同的负载,形成新的负载集合;
2)以步骤1)得到的TCP/UDP负载集合作为输入,根据负载中n-gram元素频率,建立频率字典。
3)以步骤2)中产生的频率字典,并且以步骤1)得到的TCP/UDP负载作为输入,以产生出负载的粗粒度结构集合。
所述关系学习阶段包括如下步骤:
4)以步骤1)得到的TCP/UDP负载作为输入,使用卷积神经网络提取出一个对象集合。
5)以步骤3)得到的负载粗粒度结构集合作为输入,对集合中的每一个负载粗粒度结构的每一个n-gram元素产生对应问题和答案,形成对负载粗粒度的问题集和答案集。
6)以步骤4)得到对象集合和步骤5)产生的问题集和答案集作为输入,构成训练集,利用有监督训练方式,推理出特征间关系,构建负载字段间关系模型。
所述细粒度结构生成阶段包括如下步骤:
7)根据步骤关系学习阶段中步骤6)构建的字段关系模型,以步骤3)产生的负载粗粒度结构集合作为输入,得到映射关系的粗粒度结构集合。
8)以步骤7)得到的映射关系的粗粒度结构集合作为输入,推断出TCP/UDP有效载荷的格式,输出负载格式推断结果。
一种基于关系推理的协议格式自动化推断系统,包括用于粗粒度结构生成阶段的网络流量预处理模块、频率字典产生模块、粗粒度结构产生模块,还有用于关系学习阶段的负载特征提取模块、特征关系推理模块、问题答案产生模块,以及用于细粒度结构生成阶段的关系映射模块、格式推断模块;其中,
粗粒度结构生成阶段的网络流量预处理模块负责提取并过滤相重的TCP/UDP负载,并截段或补齐负载,使其长度相等。频率字典产生模块负责从TCP/UDP负载中统计固定长度窗口的字节组频率,产生出频率字典。粗粒度结构产生模块负责根据频率字典,产生出每个负载对应的粗粒度结构。
关系学习阶段的负载特征提取模块负责从输入的TCP/UDP负载集合中,使用卷积神经网络提取负载特征。问题答案产生模块负责对负载粗粒度结构的每个元素产生对应问题及答案。特征关系推理模块以负载特征、问题和答案作为输入,对字段关系模型中的网络参数进行调整,使字段关系模型满足训练终止条件,以供细粒度产生阶段使用。
细粒度结构生成阶段的关系映射模块负责以负载粗粒度结构作为输入,根据字段关系模型,对粗粒度结构上的各元素之间关系进行映射。格式推断模块负责利用此粗粒度结构和其元素间的关系得到TCP/UDP负载格式,并输出格式推断结果。
本发明的关键技术点在于:
1.使用2D卷积方式构建了原始流量的TCP/UDP有效载荷部分的特征提取图。
2.设计了问题&答案产生部分,该部分指导基于关系推理的神经网络(RN)构建流量包中n-gram之间的关系。该学习过程可对负载中变长字段部分有更优的理解。
3.设计了细粒度结构关系映射部分,将学习到的关系模型应用到负载的格式推断中。
利用本发明的方法可以实现对网络流量负载部分的精确格式推断,与已公开的相关技术相比,具有如下优点:
1.设计了一种利用关系推理方法对协议格式推断的方法,该方法可以在TCP/UDP有效载荷中从变长字段间提取准确的关键字段,并形成精确的协议格式。与以前的方法不同,本发明在对有效载荷进行处理时并未使用序列比对等常用的协议格式推断技术,故在对以前方法处理不优的较长负载和变长字段方面有较突出的处理能力。从而可以形成更加精确的协议格式推断。
2.本发明采用基于神经网络的方法进行格式推断,并未采用以前方法有的序列对齐、聚类等操作。随着待处理流量的增加,以前方法对于每个数据包处理的时间消耗是指数级增长,而本发明的时间消耗极为稳定。这是汲取了神经网络效率高这一方面的优势,从而有效地减少了再对协议格式推断时的能源消耗。
附图说明
图1是基于关系推理的协议格式推断方法的粗粒度结构生成阶段流程图。
图2是滑动窗口产生图。
图3是粗粒度结构对应图。
图4是基于关系推理的协议格式推断方法的关系学习阶段流程图。
图5是关系学习阶段架构图。
图6是关系学习构建的神经网络结构图。
图7是粗粒度结构偏移量信息图。
图8是基于关系推理的协议格式推断方法的细粒度结构生成阶段流程图。
图9是粗粒度结构3-gram关系概率图。
图10是粗粒度结构3-gram位置关系图。
图11是粗粒度结构3-gram关键字设定图。
图12是基于关系推理的协议格式自动化推断系统架构图。
图13是方法在5种协议对比实验覆盖率结果图。
图14是方法在5种协议对比实验覆盖准确率结果图。
图15是与对比方法时间消耗实验图。
具体实施方式
本方法的工作流程,可分为三个阶段,分别为粗粒度结构生成阶段、关系学习阶段和细粒度结构生成阶段。粗粒度结构生成阶段输入为原始网络流量,该阶段将根据字节流中的定长字节元组n-gram在所有流量中的出现频率,实现针对每条TCP/UDP有效负载粗略的格式推断。关系学习阶段将根据前一阶段中提取出的粗粒度结构,训练神经网络中的可学习参数,学习出粗粒度结构中各n-gram之间的逻辑关系。细粒度结构生成阶段将利用前一阶段产生的关系模型,将其映射到原始的TCP/UDP负载中,已推断出对应消息的协议格式。
粗粒度结构生成阶段中,该阶段以原始的网络流量作为输入,对捕获的网络流量进行粗粒度结构构建,网络流量粗粒度结构生成流程图如图1所示。
本方法的负载部分粗粒度结构生成具体实施步骤如下:
1.网络流量预处理步骤将以同一种应用协议的原始网络流量作为输入,提取出其TCP/UDP有效载荷部分,并过滤掉字节序列相同的负载,所选形成的负载集合为后续步骤使用。具体操作如下:可用数据包分析工具(如tcpdump)捕获流量,得到应用协议的原始数据包流量集合可由(集合包含N条网络流量,其中ti代表第i条网络流量)。捕获流量的数据包遵循网络层模型。本发明重点格式推断位于应用层部分的未知协议格式。基于其他现有协议的知识,本发明在这些协议中提取有用的有效载荷部分,丢弃无关协议中的数据,得到负载集合(集合包含N个TCP/UDP负载,其中pi代表第i个TCP/UDP负载)。而后从得到的有效载荷中,去除相同的负载信息,得到最终的有效载荷集合(集合包含M个不同的TCP/UDP负载,其中pi代表第i个TCP/UDP负载)。有效载荷集合还可以表示成(集合包含M个不同的TCP/UDP负载,其中b(i,j)代表第i个TCP/UDP负载的第j个字节,Li代表第i个TCP/UDP负载的长度(字节长度);b(i,j)的取值范围为[0,255]的整数)。并且,对于每个数据包的应用层部分,本发明为防止过长负载对格式推断的影响,采取限定其最大长度策略,如若第i个TCP/UDP负载长度Li大于预先设定的门限长度Lmax(单位为字节),则超出部分将被丢弃。即第i个TCP/UDP负载由变为
2.在开始粗粒度结构产生前,本发明建立一个频率字典用来指导粗粒度结构产生。本步骤的输入是有一批具有相同应用层协议的TCP/UDP负载集合输出为一个频率字典(字典D包含T个长度为n的n-gram元素,其中b(i,j)代表第i个字典中n-gram的第j个字节)。具体建立操作步骤如下:遍历负载集合P中的每个元素,对于其中第i个TCP/UDP负载(此时假定Li<Lmax,即不需要抛弃负载尾部字节信息),设定有一个长度为n的窗口从负载的头部(字节在负载中偏移量为0)地方以步长为1向远离负载头部的地方滑动。该窗口在每次移步过程中可覆盖n个字节信息,分别为b(i,offset+1),b(i,offset+2),b(i,offset+3),...,b(i,offset+n),其中offset为该窗口首部的偏移量,此产生的n-gram元素又可记为对于窗口扫描到的每一个n-gram进行计数,例如的每个位置的字节值等于对应位置的字节值(offset1和offset2是两个随机的窗口偏移量),则将频率字典中具有相同字节信息的的计数次数加一(在滑动过程中最后一个扫描到的n-gram为(若Li>Lmax则最后扫描到的n-gram为)),这样便可构建庞大的频率字典(字典D包含T个长度为n的n-gram元素)。
对于n的取值问题,本发明根据已有研究文献发现所得。n-gram遵循自然语言处理中的齐夫定律的特征,n=3的拟合优度值更高。而对于n>4的值,分布变得高度稀疏。利用这些结果,本发明选择n=3作为本发明n-gram中n的取值选择。
对于字典D,首先将字典中每个的n-gram根据其对应的计数次数,由高到低进行排序。本发明为选取更精准的频率字典,设定排名门限值T,从字典D中选取排名数小于等于T的n-gram元素,组成新的字典为本步骤的输出。
3.粗粒度结构产生步骤将利用步骤1中产生的频率字典DT,并且以TCP/UDP负载作为输入,以构建出粗略的协议格式结构集合(粗粒度结构集合C包含M个粗粒度结构,其中每个粗粒度结构的长度为CLi,其中c(i,j)代表第i个粗粒度结构中第j个n-gram元素)。
如图2滑动窗口产生图所示,对于每一个输入进粗粒度结构产生部分的TCP/UDP负载使用长度为n的滑动窗口进行逐位扫描,从相对于负载头部偏移量为0的地方开始(图中所示滑动窗口的n为3)。故此处流程为滑动窗口从偏移位置为0处开始,以步长为1进行滑动。若滑动过程中扫描所得的n-gram元素在字典DT的键中可以找到相同字节组成的元素,则将其记录下来,记为粗粒度结构中的一个元素c(i,j),每个TCP/UDP负载可生成一个粗粒度结构
以图2举例,图2为一个DNS协议的片段“0xcb 0xff”是DNS协议中的标识ID部分,其随机性较强,故“0xcb 0xff 0x01”3-gram元素并不在字典的记录中,所以此时“0xcb 0xff0x01”并不需要被记录。而当滑块向右滑动时,滑到“0x01 0x00 0x00”时,这个3-gram元素在字典中,此时要对其进行记录。以此往后,直到滑块滑到流量负载的末端。将在字典中的3-gram元素记录下来,并将记录下的3-gram按记录顺序组成一个粗粒度结构,如图3所示。
图3所示的上部分为一个原始负载信息,下部分为此原始负载信息产生的粗粒度结构。上下两部分图对应可知,上半部分第一个框为滑动窗口第一次扫到流量的部分,于是这个位置对应出的粗粒度结构的第一个元素为下半部分图形的首个元素,即“0x01 0x000x00”,而在此框右侧的框为滑动窗口再次滑动后需要保存的3-gram元素,此时为粗粒度结构的第二个元素,再往右边是“0x00 0x01 0x00”以此类推,图3的下半部分便是形成的粗粒度结构。每个TCP/UDP负载产生的粗粒度结构集合为该阶段的输出
关系学习阶段的工作流程如图4所示,本发明方法的关键技术部分在关系学习中关系推理模型的构建。关系学习阶段的输入有两个,为TCP/UDP负载集合P和第一阶段产生的负载粗粒度结构集合C。关系学习阶段的架构图如图5所示。关系学习阶段的输出为满足细粒度结构生成需求的字段关系模型。
本发明方法的关系学习阶段基于深度神经网络模型的训练方法来构建,关系学习模型构建的神经网络架构如图6所示,关系学习过程的终止条件为L。其具体实施步骤如下:
1.在开始神经网络结构训练前,需要根据超参数设置,对神经网络中的可训练参数进行初始化。神经网络参数初始化可以使用加载现有模型参数、随机初始化、自定义初始化等方法进行,在本方法中,使用随机初始化的方法为神经网络中的可训练参数赋予初始值。
若使用后需要对本方法中神经网络的可学习参数进行微调,也可跳过此步骤,不进行参数初始化,而是直接加载原有参数,在原有参数基础上调整模型效果。
2.负载特征提取步骤使用二维卷积神经网络(2D-CNN)作为特征提取的方式,其在逻辑位置如图5的2D-卷积单元。如图5所示,本步骤为方便叙述,以一个TCP/UDP负载(第i个负载)作为输入。本发明在特征提取部分也将流量输入解析为一组对象对于每个TCP/UDP负载若负载长度Li<Lmax,则要在序列末尾补Lmax-Li个0,将负载长度扩充至Lmax。将1维的变换成二维负载,形式如(k和l为二维负载中的第k行和第l列,范围为)。CNN将大小为的负载信息经过2个卷积层卷积到k个大小为d×d的特征图中,其中k为最终卷积层卷积核的数量。卷积图像后,每个d2k维d×d对象的特征图谱与任意坐标标记表明其相对空间位置。这个特征图中每个k维向量即为一个对象o(i,j),这些对象组成了负载特征提取步骤的输出
3.问题&答案产生步骤以第一阶段的负载粗粒度结构集合C为输入,对于粗粒度结构集合中的每个粗粒度结构的每个n-gram元素生成问题和对应的答案,并对问题和答案输出对应的二进制编码。为方便本步骤描述,此处采用集合C中的第i个粗粒度结构为样例输入。对于一个负载粗粒度结构,问题&答案产生步骤将要对此粗粒度结构产生对应的问题集和答案集(q(i,j)和a(i,j)为针对粗粒度结构中第j个n-gram元素的提问和答案)。对于粗粒度结构中中的第j个n-gram元素c(i,j),针对其的问题为“左起偏移量为j-fuzz至j+fuzz范围n-gram元素c(i,j)的右边紧邻的在粗粒度结构中的n-gram元素是什么”(fuzz为本发明定义的位置混淆度参数,为整数。当j-fuzz<0时,j-fuzz结果取0;当j+fuzz>Lmax时j+fuzz取Lmax),答案显而易见为“c(i,j+1)”(对于询问的右边紧邻元素,本发明给与的答案为“None”)。
为方便理解,在此给出一个示例问题及讲解。如图7所示为带有偏移量的粗粒度结构事例。“左起偏移量为0至4范围内的3-gram元素0x01 0x00 0x00的右边紧邻的在粗粒度结构中的n-gram元素是什么”,而后的回答是“0x00 0x00 0x01”;“左起偏移量为0至5范围内的3-gram元素0x00 0x00 0x01的右边紧邻的在粗粒度结构中的n-gram元素是什么”,而后的回答是“0x00 0x01 0x00”。在提问器中提问的对象为粗粒度结构中的每个元素。所以在图7中提问对象为“0x01 0x00 0x00”、“0x00 0x00 0x01”、“0x00 0x01 0x00”、“0x010x00 0x00”等。而由于每个3-gram元素,一个相同的3-gram元素可能有不同的位置,比如“0x01 0x00 0x00”在该粗粒度结构中出现了两次,一次试偏移量为0时,还一个是在偏移量为3时,在对每个元素进行提问时,也包括偏移量属性。
为供步骤4特征关系推理步骤输入问题集和答案集指导关系推理,本步骤还对问题集和答案集进行编码处理。对于问题集中的一个问题q(i,j),初始化一个长度为Lmax+n×256的全零向量。对于问题“左起偏移量为j-fuzz至j+fuzz范围n-gram元素c(i,j)的右边紧邻的在粗粒度结构中的n-gram元素是什么”,将问题中的j-fuzz至j+fuzz在向量的Lmax进行映射,即将向量的j-fuzz至j+fuzz位置上的0元素置1。而对于问题中c(i,j)n-gram元素(c(i,j)可写成其中g(i,j,k)为组成n-gram的第k个gram),将其映射到向量的后半部分,n个gram每个都可以对应到一个长为256的部分向量,即在这个256的向量范围中的第g(i,j,k)位置1,其余位保持0。这样问题集可编码成一个二进制的问题集对于答案集的编码,初始化一个长度为T+1的全零向量。因为在询问右侧元素时,其答案来源于字典DT中,答案a(i,j)可在字典中找到对应位置,而将全零向量该位置的数值置为1,其余为0(如果是最后一个元素的右侧是什么,则将向量T+1位置处的0变换为1),由此可得到答案集编码
4.特征关系推理步骤的输入是步骤2特征提取输出的对象集合和步骤3输出的问题集编码和答案集编码将这些输入进神经网络结构的关系推理部分中(图6所示),输出一个负载字段间的关系模型。此处神经网络架构利用一个即插即用的关系推理模块关系网络来解决从根本上依赖关系推理的问题。RN是一个神经网络模块,其结构为关系推理准备。
此处关系神经网络利用的一个复合函数是,如下式:
其中输入是步骤2输出的一组对象和步骤3产生的问题集和答案集 和gθ分别为参数和θ的函数。为本发明目的,和gθ是多层感知器(MLPs),并且这两个参数是可学习的神经元权值,使得关系神经网络成为端到端可微的。称gθ的输出为“关系,gθ的作用是推断两个对象之间的联系,或者它们是否有联系。
关系推理整体的公式可如下式,两个不同的对象和一个问题编码作为输入,得出的预测答案为ba。
上式中bq为对于每两个对象的不同问题编码,由问题编码序列中提取一个问题编码而生,而等式左边的为对于这个问题有相对应的答案。这样问题作为指导促成两个对象之间的不同关系的生成。具体操作如下:关系网络首先在集合中选出所有的两对对象和(其中i1,i2的范围为[0,d],j1,j2的范围也为[0,d])。在这个对象集合中可供选择的两两对象配对组合数量为对。如图5所示,为让上一步骤所提问题指导关系的学习,将问题编码bq复制个,与对象组和结合。为便于理解,下面举一具例。如在图5中最终的特征图大小为d×d×k,若此时d为5,则在这个特征图中可供选择的两两配对的对象共有(对),所以此时bq要复制出300个与这300种不同的对象组合一一配对。
当问题编码bq与和结合后,将他们穿过全连接层(gθ-MLP),即此时的操作为(i1=i2和j1=j2不可同时成立)。接着将所有的对象组与问题编码经过gθ-MLP的结果求和,为(其中i1,i2=0,1,2...,d和j1,j2=0,1,2...,d)。再穿过另一层全连接层即最终再通过Softmax层得出的为预测答案再与由上一步骤提供的一个答案ba计算其损失函数值,以评估当前计算结果与实际数据的拟合程度。本方法所使用的损失函数为交叉熵函数(CrossEntropy),指导关系网络对负载内部字段之间关系的学习。
5.完成特征关系推理后,判断神经网络计算结果是否满足结束条件L:(a)若计算结果满足结束条件L,则停止神经网络的训练过程,将包含神经网络参数值的序列特征提取模型和应用协议分类模型作为关系学习阶段的最终结果输出,以供细粒度结构生成阶段进行格式推断;(b)若计算结果不满足结束条件,则根据网络分类结果计算损失函数值,使用反向传播更新神经网络参数,返回步骤(2)负载特征提取,重复(2)和(4)流程。结束条件L的设置,可包括但不局限于下述条件:达到最大迭代周期、达到期望损失函数值、达到期望统计评价指标等。
细粒度结构生成阶段的工作流程如图8所示,该阶段以关系学习阶段所得到的字段关系模型为基础、以负载粗粒度结构集合C为输入,对相对应的TCP/UDP负载进行格式推断。
1.关系映射步骤的输入是阶段1产生的粗粒度结构,借助阶段2产生的字段关系模型,将其映射到粗粒度结构上。具体来说:本步骤利用上阶段产生的字段关系模型,将粗粒度结构集合C作为输入,可得到一个n-gram之间的关系集合(r(i,j)代表n-gram元素c(i,j)和n-gram元素c(i,j+1)之间的关系)。具体来讲这一步骤首先将粗粒度结构输入到训练好的关系模型中,对于针对粗粒度结构的每个问题bq,因为关系网络最后的输出是Softmax层,Softmax层对于每个输出都会有一个概率来表示这个答案作为真实预测输出的可能性。故当问题与负载输入模型后可到一个集合(表示第i个TCP/UDP负载,第j个n-gram元素的对应问题的所有可能答案集合和Softmax对应的输出概率,每个集合中共有K个答案即对应概率,其中p(i,j,k)表示第k个答案和概率)。两个n-gram元素之间关系r(i,j)在本发明中定义为)(选出集合中答案概率最高的答案,及概率作为两个n-gram元素之间的关系)。总体讲字段关系模型输出一个带有不确定性的答案(Softmax结果),这种不确定性以概率作为n-gram之间的关系表示。为便于理解,以下以两个具体相邻的n-gram元素“0x81 0x80 0x00”和“0x80 0x00 0x01”如若询问“0x810x80 0x00”元素的右边是什么元素,Softmax层会对每个答案输出一个概率(在模型训练时是选择最高的概率作为输出),此时假设几个较高概率的输出有如下形式。如图9可看出“0x80 0x00 0x01”的概率最高,且可达到99%,故此时可以认为在“0x81 0x80 0x00”的右侧粗粒度结构元素很有可能是“0x80 0x00 0x01”,即此时这个问题的答案非常确定,所以可认为“0x81 0x80 0x00”右边的元素“0x01”是一个关键字元素,即可以被识别为关键字段。
2.格式推断将对应好关系的粗粒度结构作为输入,考虑粗粒度结构中相邻n-gram元素的偏移量关系,对每个字节赋以关键字段或非关键字段的属性,这样便输出该粗粒度结构对应原始TCP/UDP负载的协议格式。对于粗粒度结构中两个相邻n-gram元素c(i,j)和c(i,j+1)(可表示为和)的位置关系,两个n-gram元素在TCP/UDP负载偏移量相差u(u>0)。设定一个答案门限值pT,若和之间的关系表示r(i,j)概率大于pT,则将的字段置为关键字段;反之若r(i,j)概率小于pT,则将置为非关键字段,这样便可推断出TCP/UDP负载对应的协议格式。
为便于理解,本发明做如图10示实例,可覆盖所有的3-gram元素格式推断情况。如图10所示,图上部分为DNS协议应用层部分,对于提出的粗粒度结构有“0x81 0x80 0x00”,“0x80 0x00 0x01”,“0x00 0x01 0x00”,“0x00 0x03 0x00”等,这些3-gram模型的位置关系可以被总结为如图10中的4种。第一行的“0x81 0x80 0x00”和“0x80 0x00 0x01”有两个字节部分的重复,在图中被标红的部分就是相重的“0x80 0x00”。除了相重两个字节部分外,还有一种情况是两个3-gram相重1个字节,如图10中的第二行,“0x00 0x01 0x00”和“0x000x03 0x00”分别是在偏移量为4和偏移量为6的两个3-gram,两个3-gram元素相重叠一个字节“0x00”。还有两种情况是两个3-gram相邻,如图10中第三行“0x00 0x03 0x00”和“0x040x00 0x02”,两个3-gram在负载上面是相邻的,一个是偏移量为6还另一个偏移量为9。最后一种情况是两个3-gram之间有距离的情况。
对于图11,当询问每一个靠前的3-gram右边是什么元素时,如果右边的3-gram元素作为答案的概率高于某一门限值,则其中一部分将被设为关键字段。如图11所示,如果询问图11左侧字段时,真实答案为右侧的3-gram元素。当这个答案高于门限值,则对于下面四种情况的每种蓝色部分被设定为关键字段,反之低于门限值时设为不确定字段。故这样对于每个数据包便可获得其细粒度结构,即该负载的协议格式。
结合上述基于关系推理的协议格式推断方法,本专利同时公开了一种基于关系推理的协议格式推断系统。本系统主要由三个阶段构成,粗粒度结构生成阶段、关系学习阶段和细粒度结构生成阶段。系统架构图如图12所示。
1.粗粒度结构生成阶段:首先,以原始网络流量为输入,由(1)网络流量预处理模块提取TCP/UDP负载,形成负载集合;(1)网络流量预处理将拥有重复TCP/UDP负载部分的包去重,并截段或补齐负载,使其长度相等。(2)频率字典产生处理(1)处理后的TCP/UDP负载,统计固定长度窗口的字节组频率,产生出频率字典。(3)粗粒度结构产生利用(2)产生的频率字典,产生出每个负载对应的粗粒度结构。
2.关系学习阶段:(4)负载特征提取利用(1)处理的TCP/UDP负载集合,使用卷积神经网络提取负载特征。(5)问题答案产生利用(3)粗粒度结构产生的负载粗粒度结构,对粗粒度结构中的每个元素产生对应问题及答案,指导神经网络对负载内容关系的学习。(6)特征关系推理利用关系神经网络,以(4)负载特征提取产生的负载特征和(5)产生的问题&答案作为输入并推理负载特征对象间的关系,该神经网络需要实现进行训练最终可产生完整的字段关系模型。
3.细粒度结构生成阶段:(7)关系映射以负载粗粒度结构作为输入,使用(6)特征关系推理产生的字段关系模型,对粗粒度结构上的各元素之间关系进行映射。而(8)格式推断利用此粗粒度结构和其元素间的关系得到TCP/UDP负载的格式推断结果。
在验证实验中,本发明对5种网络协议流量,分别为Modbus/TCP,DNP3,DHCP,DNS和NTP协议开展实例验证。为保证DNS流量多样性,其中制作脚本向1500个不同的网站发送DNS数据包,并在网关接口处进行抓包收集,并从中过滤了至少6000条流量进行处理。其他四种流量本发明从公开数据集中获得,每种至少3000条流量。实验中所使用的具体网络流量信息如表1所示。
表格1:实验验证中所使用的应用协议名称及各个类别的网络流量信息
本发明用覆盖率(Coverage,Cov)和覆盖准确率(Accuracy over Coverage,AoC)来衡量协议格式推断的结果。覆盖率是指发现真实关键字节数与真实关键字节之间的比率;而覆盖准确率是正确发现的字节与发现的字节总数之间的比率。给定一个经过预处理的对应应用层协议数据包的TCP/UDP负载部分,本发明首先定义如下几个集合:
真阳率(TP):这个集合是以字节为单位的集合,在一个数据包的应用层部分,被本发明方法识别关键字段,并且真实为关键字段的字节个数。
假阳率(FP):这个集合是以字节为单位的集合,在一个数据包的应用层部分,被本发明方法识别不关键字段,并且真实为关键字段的字节个数。
真阴率(TN):这个集合是以字节为单位的集合,在一个数据包的应用层部分,被本发明方法识别不关键字段,并且真实为不关键字段的字节个数。
假阴率(FN):这个集合是以字节为单位的集合,在一个数据包的应用层部分,被本发明方法识别关键字段,但真实为不关键字段的字节个数。
下面两个公式分别为对准确率和覆盖率的计算公式。
基于关系推理的协议格式推断方法与现有最先进的格式推断方法在5种应用协议下的对比实验结果,如图13和图14所示。
对于协议格式推断的精度测试,本发明利用上述设计好的两个指标在5个不同的数据集上衡量两种方法在精度上的差距。图13显示在覆盖率(Cov)方面的测试本发明方法较对比方法优势明显。图14所示为本发明方法与现有方法在覆盖准确率(AoC)上的比较差距,在处理各种方法时,本发明方法的准确率都在90%以上,而现有方法与本发明方法有显著差距。
为对比本发明方法和现有方法在效能上的差距,有如下验证实验。当两种方法分别对相同数量的数据包进行处理时,记录其处理每个数据包的平均消耗时间。该实验属于离线实验,即该速度不影响在实际应用过程中对数据包的处理时间。为公平比较两种方法的时间消耗,本发明将两种方法都放在同一种处理器上进行处理,且都只使用单核作为唯一处理器。结果如下所示。图15中两种方法为在处理DNS数据包时的情况。
由图13可以看出,纵坐标单位为时间(秒),是每种方法处理一个数据包所消耗的时间;横坐标单位是数据包负载的数量(个数),逐渐递增。图中蓝色的线代表本文方法的时间消耗,而红色的线代表对比方法的消耗时间。从图中可以看出,随着TCP/UDP负载数量的增加,对比方法消耗在处理每个负载上时间增长趋势迅猛,从理论上讲其时间增长近似于指数级增长。在数据包数量在1700到1900个之间时,对比方法对于每个数据包的处理达到13秒到15秒。本文在测试对比文献处理5000个负载信息时,每个数据包的处理时间达到了100秒。而本文方法在处理负载信息时,随着TCP/UDP负载数量的增加,非常稳定,每个包的处理时间控制在1s以下,并且不随着TCP/UDP负载数量的增加而发生显著变化。这个实验显示了对比方法在对大数据量负载时的敏感性,即对比文献无法处理大数据量的负载,只能处理少量的。然而,少量信息的负载信息很有可能不能覆盖完整的关键字,即有些关键字段有可能不会出现在少量的负载中,而大量的负载基本会覆盖到所有的关键字段。故对比方案无法在效率和准确率上做一个不错的折中,然而本方法在对这点的处理有较大的优势。
Claims (10)
1.一种基于关系推理的协议格式自动化推断方法,其特征在于,包括粗粒度结构生成阶段、关系学习阶段和细粒度结构生成阶段;
所述粗粒度结构生成阶段包括如下步骤:
1)以同一种应用协议的原始网络流量作为输入,提取出其TCP/UDP有效载荷部分,并过滤掉字节序列相同的负载,形成新的负载集合;
2)以步骤1)得到的TCP/UDP负载集合作为输入,根据负载中n-gram元素频率,建立频率字典;
3)以步骤2)中产生的频率字典,并且以步骤1)得到的TCP/UDP负载作为输入,根据负载中的n-gram元素是否在频率字典中,用n-gram元素产生出负载的粗粒度结构集合;
所述关系学习阶段包括如下步骤:
4)以步骤1)得到的TCP/UDP负载作为输入,使用卷积神经网络对每个TCP/UDP负载提取出一个特征图(对象集合);
5)以步骤3)得到的负载粗粒度结构集合作为输入,对其中每一个负载粗粒度结构中的每一个n-gram元素产生对应问题和答案,形成对负载粗粒度的问题集和答案集;
6)以步骤4)得到对象集合和步骤5)产生的问题集和答案集作为输入,构成训练集,利用有监督训练方式,构建负载字段关系模型;
所述细粒度结构生成阶段包括如下步骤:
7)根据关系学习阶段中步骤6)构建的字段关系模型,以步骤3)产生的负载粗粒度结构集合作为输入,在粗粒度结构的相邻n-gram元素间建立关系,此关系在该步骤被量化为该位置应选择某一n-gram元素作为答案的置信度,并将其作为该步骤的输出;
8)以步骤7)得到的映射关系的粗粒度结构集合作为输入,对于粗粒度结构集合中的每一个粗粒度结构,对其中每一个字节赋以属性,由此推断出TCP/UDP有效载荷的格式,输出负载格式推断结果。
2.如权利要求1所述的一种基于关系推理的协议格式自动化推断方法,其特征在于,步骤1)进行网络流量预处理的具体操作方法是:
1-1)在所有的网络流量中,对每条流量的TCP/UDP有效载荷部分进行提取;并对相同的有效载荷进行只保留其中一个的操作;
1-2)根据预先设定的负载长度门限,丢弃TCP/UDP负载中超出门限长度的字节;在TCP/UDP负载中,每个字节转换为十进制表示的整数。
3.如权利要求1所述的一种基于关系推理的协议格式自动化推断方法,其特征在于,步骤2)产生频率字典的方法是:
以步骤1)得到的TCP/UDP负载集合作为输入,使用单位为字节并且长度为n的窗口以步长为1在TCP/UDP负载集合上扫描,统计扫描到的n-gram元素的频数;而后将n-gram元素和对应频数由高到低进行排序;根据设定好的排名门限值值,从频数排序中选取排名数小于等于门限值的n-gram元素,产生关于n-gram元素的频率字典。
4.如权利要求1所述的一种基于关系推理的协议格式自动化推断方法,其特征在于,步骤3)所述的产生负载粗粒度结构的具体操作方法是:
以步骤1)得到的TCP/UDP负载集合作为输入,使用长度为n的滑动窗口进行逐位扫描,从相对于负载头部偏移量为0的处起;故此处流程为滑动窗口从偏移位置为0处开始,以步长为1进行滑动;若滑动过程中扫描所得的n-gram元素在步骤2)所得的频率字典的键中可以找到相同字节组成的元素,则将其记录下来;若扫描到的n-gram元素不在频率字典中,则不作任何操作,并直接将窗口滑动至下一个位置;将每个产生的元素按扫描先后顺序排列起来,为该TCP/UDP负载生成的粗粒度结构;每个负载依据上述方法都可生成对应的粗粒度结构,故TCP/UDP负载集合可产生对应的粗粒度结构集合。
5.如权利要求1所述的一种基于关系推理的协议格式自动化推断方法,其特征在于,步骤4)所述的负载特征提取的具体操作方法是:
以步骤1)得到的TCP/UDP负载集合作为输入,若负载长度小于步骤1-2)设定的负载长度门限值,则要在序列末尾补0,使其负载长度扩充到门限值设定;而后,将1维的TCP/UDP负载变换成二维负载;负载特征提取步骤使用两层二维卷积神经网络作为特征提取的方式;
4-1)设第一层2D卷积层的卷积核尺寸为3,通道数为24,则该卷积层进行以9个字节为尺度的n-gram特征信息过滤、提取;
4-2)第二层2D卷积层的卷积核尺寸为仍为3,通道数k,最终得到大小为d×d的对象集合,每个对象向量长度为k;
4-3)在各卷积层后可附加功能性操作,包括但不局限于激活函数(如ReLU)、归一化(BatchNormalization)及其他功能性操作,可根据网络训练和性能的实际需求进行配置。
6.如权利要求1所述的一种基于关系推理的协议格式自动化推断方法,其特征在于,步骤5)所述的问题集&答案集产生的具体操作方法是:
5-1)以步骤3)得到的负载粗粒度结构集合作为输入;对于一个负载粗粒度结构中,设计针对每个n-gram元素的问题,并根据负载实际情况给出每一个问题对应的答案;
5-2)以步骤5-1)得到问题集和答案集为输入,对于问题集中的每一个问题和答案,分别初始化一个全零向量;并对步骤5-1)中设计的问题和答案编码至两个向量中;输出一个二进制的问题集编码和答案集编码。
7.如权利要求1所述的一种基于关系推理的协议格式自动化推断方法,其特征在于,步骤6)所述的特征关系推理的具体操作方法是:
以步骤4)得到的对象集合和步骤5)得到的问题集编码作为输入;从对象集合中任意选取出两个对象,将其加入到一个集合中;再从对象集合中选取两个对象,若集合中存在此对象对,则不将其加入到集合中;反之若集合不存在此对象对,则将其加入到集合中;遍历所有可能的对象对组合后即停止;并复制与集合大小相应数量的问题编码与每组对象对结合,将结合后的组合穿过一个全连接层,每个线性层后附加激活函数ReLU;接着将所有经过全连接层的对象组求和;求和结果再穿过另一个全连接层,最终再通过Softmax层得出的为预测答案,与步骤5)的答案集编码计算损失函数,以此进行训练后输出字段关系模型。
8.如权利要求1所述的一种基于关系推理的协议格式自动化推断方法,其特征在于,步骤7)所述的关系映射的具体操作方法是:
根据步骤6)得到字段关系模型,以步骤3)产生的负载粗粒度集合作为输入;将粗粒度结构输入到训练好的字段关系模型中,对于针对粗粒度结构的每个问题,模型的每个输出都会有一个概率来表示这个答案作为真实预测输出的可能性;两个n-gram元素之间关系定义为输出概率最高的答案和对应概率;总体讲字段关系模型输出一个带有不确定性的答案,这种不确定性以概率作为n-gram之间的关系映射。
9.如权利要求1所述的一种基于关系推理的协议格式自动化推断方法,其特征在于,步骤8)所述的格式推断的具体操作方法是:
以步骤7)得到的映射关系的粗粒度结构集合作为输入,考虑粗粒度结构中相邻n-gram元素的偏移量关系,根据两个n-gram元素在TCP/UDP负载偏移量的差,根据提前设定的答案门限值,对负载中的每个字节赋以关键字段或非关键字段两种属性,最终输出该粗粒度结构对应原始TCP/UDP负载的协议格式。
10.一种基于关系推理的协议格式自动化推断系统,其特征在于,包括用于粗粒度结构生成阶段的网络流量预处理模块、频率字典产生模块、粗粒度结构产生模块,还有用于关系学习阶段的负载特征提取模块、特征关系推理模块、问题答案产生模块,以及用于细粒度结构生成阶段的关系映射模块、格式推断模块;其中,
粗粒度结构生成阶段的网络流量预处理模块负责提取并过滤重复的TCP/UDP负载,并截段或补齐负载,使其长度相等;频率字典产生模块负责从TCP/UDP负载中统计固定长度窗口的字节组频率,产生出频率字典;粗粒度结构产生模块负责根据频率字典,产生出每个负载对应的粗粒度结构;
关系学习阶段的负载特征提取模块负责从输入的TCP/UDP负载集合中,使用卷积神经网络提取负载特征;问题答案产生模块负责对负载粗粒度结构的每个元素产生对应问题及答案;特征关系推理模块以负载特征、问题和答案作为输入,对字段关系模型中的网络参数进行调整,使字段关系模型满足训练终止条件,以供细粒度产生阶段使用;
细粒度结构生成阶段的关系映射模块负责以负载粗粒度结构作为输入,根据字段关系模型,对粗粒度结构上的各元素之间关系进行映射;格式推断模块负责利用此粗粒度结构和其元素间的关系得到TCP/UDP负载格式,并输出格式推断结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110999657.3A CN113852605B (zh) | 2021-08-29 | 2021-08-29 | 一种基于关系推理的协议格式自动化推断方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110999657.3A CN113852605B (zh) | 2021-08-29 | 2021-08-29 | 一种基于关系推理的协议格式自动化推断方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113852605A true CN113852605A (zh) | 2021-12-28 |
CN113852605B CN113852605B (zh) | 2023-09-22 |
Family
ID=78976492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110999657.3A Active CN113852605B (zh) | 2021-08-29 | 2021-08-29 | 一种基于关系推理的协议格式自动化推断方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113852605B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991743A (zh) * | 2023-09-01 | 2023-11-03 | 浙江大学 | 一种基于协议逆向的工控设备黑盒模糊测试方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011050545A1 (zh) * | 2009-10-30 | 2011-05-05 | 中山大学 | 一种未知应用层协议自动分析方法 |
US20120254197A1 (en) * | 2011-03-28 | 2012-10-04 | Yevgeniy Kuzmin | Object access system based upon hierarchical extraction tree and related methods |
CN102891852A (zh) * | 2012-10-11 | 2013-01-23 | 中国人民解放军理工大学 | 基于报文分析的协议格式自动推断方法 |
CN103441990A (zh) * | 2013-08-09 | 2013-12-11 | 中国人民解放军理工大学 | 基于状态融合的协议状态机自动推断方法 |
CN104468262A (zh) * | 2014-11-17 | 2015-03-25 | 中国科学院信息工程研究所 | 一种基于语义敏感的网络协议识别方法及系统 |
CN104935567A (zh) * | 2015-04-20 | 2015-09-23 | 中国电子科技集团公司第二十九研究所 | 一种未知协议报文格式推断方法 |
CN105390132A (zh) * | 2015-10-10 | 2016-03-09 | 中国科学院信息工程研究所 | 一种基于语言模型的应用协议识别方法及系统 |
US20160364608A1 (en) * | 2015-06-10 | 2016-12-15 | Accenture Global Services Limited | System and method for automating information abstraction process for documents |
US20180341980A1 (en) * | 2017-05-23 | 2018-11-29 | GumGum, Inc. | Automated classification of network-accessible content based on events |
CN109946518A (zh) * | 2019-03-27 | 2019-06-28 | 河南天通电力有限公司 | 基于贝叶斯方法的电力谐波信号分析方法与分析设备 |
CN112860860A (zh) * | 2019-11-28 | 2021-05-28 | 北京京东尚科信息技术有限公司 | 一种答复问题的方法和装置 |
US20210256384A1 (en) * | 2020-02-14 | 2021-08-19 | Northeastern University | Computer-implemented methods and systems for achieving real-time dnn execution on mobile devices with pattern-based weight pruning |
-
2021
- 2021-08-29 CN CN202110999657.3A patent/CN113852605B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011050545A1 (zh) * | 2009-10-30 | 2011-05-05 | 中山大学 | 一种未知应用层协议自动分析方法 |
US20120254197A1 (en) * | 2011-03-28 | 2012-10-04 | Yevgeniy Kuzmin | Object access system based upon hierarchical extraction tree and related methods |
CN102891852A (zh) * | 2012-10-11 | 2013-01-23 | 中国人民解放军理工大学 | 基于报文分析的协议格式自动推断方法 |
CN103441990A (zh) * | 2013-08-09 | 2013-12-11 | 中国人民解放军理工大学 | 基于状态融合的协议状态机自动推断方法 |
CN104468262A (zh) * | 2014-11-17 | 2015-03-25 | 中国科学院信息工程研究所 | 一种基于语义敏感的网络协议识别方法及系统 |
CN104935567A (zh) * | 2015-04-20 | 2015-09-23 | 中国电子科技集团公司第二十九研究所 | 一种未知协议报文格式推断方法 |
US20160364608A1 (en) * | 2015-06-10 | 2016-12-15 | Accenture Global Services Limited | System and method for automating information abstraction process for documents |
CN105390132A (zh) * | 2015-10-10 | 2016-03-09 | 中国科学院信息工程研究所 | 一种基于语言模型的应用协议识别方法及系统 |
US20180341980A1 (en) * | 2017-05-23 | 2018-11-29 | GumGum, Inc. | Automated classification of network-accessible content based on events |
CN109946518A (zh) * | 2019-03-27 | 2019-06-28 | 河南天通电力有限公司 | 基于贝叶斯方法的电力谐波信号分析方法与分析设备 |
CN112860860A (zh) * | 2019-11-28 | 2021-05-28 | 北京京东尚科信息技术有限公司 | 一种答复问题的方法和装置 |
US20210256384A1 (en) * | 2020-02-14 | 2021-08-19 | Northeastern University | Computer-implemented methods and systems for achieving real-time dnn execution on mobile devices with pattern-based weight pruning |
Non-Patent Citations (1)
Title |
---|
李毅豪: "基于粗糙集聚类的报文格式推断方法" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991743A (zh) * | 2023-09-01 | 2023-11-03 | 浙江大学 | 一种基于协议逆向的工控设备黑盒模糊测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113852605B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112163594B (zh) | 一种网络加密流量识别方法及装置 | |
CN112839034B (zh) | 一种基于cnn-gru分层神经网络的网络入侵检测方法 | |
CN112804253B (zh) | 一种网络流量分类检测方法、系统及存储介质 | |
CN112468347B (zh) | 一种云平台的安全管理方法、装置、电子设备及存储介质 | |
CN114039901A (zh) | 基于残差网络和循环神经网络混合模型的协议识别方法 | |
Korshunova et al. | Bruno: A deep recurrent model for exchangeable data | |
CN117082118B (zh) | 基于数据推导及端口预测的网络连接方法 | |
CN115277888B (zh) | 一种移动应用加密协议报文类型解析方法及系统 | |
CN116192523A (zh) | 一种基于神经网络的工控异常流量监测方法和系统 | |
CN112491894A (zh) | 一种基于时空特征学习的物联网网络攻击流量监测系统 | |
US11477225B2 (en) | Pre-emptive computer security | |
CN111130942B (zh) | 一种基于消息大小分析的应用流量识别方法 | |
CN116827873A (zh) | 一种基于局部-全局特征注意力的加密应用流量分类方法及系统 | |
CN113852605A (zh) | 一种基于关系推理的协议格式自动化推断方法及系统 | |
CN112383488B (zh) | 一种适用于加密与非加密数据流的内容识别方法 | |
CN116756225B (zh) | 一种基于计算机网络安全的态势数据信息处理方法 | |
CN117527391A (zh) | 基于注意力机制和一维卷积神经网络的加密流量分类方法 | |
CN114358177B (zh) | 一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统 | |
CN114553790A (zh) | 一种基于多模态特征的小样本学习物联网流量分类方法及系统 | |
CN116032515A (zh) | 一种在SDN上基于Transformer的DDoS攻击检测方法 | |
Lu et al. | Lightweight models for traffic classification: A two-step distillation approach | |
Huang et al. | Detection of Network Time Covert Channels Based on Image Processing | |
Ma et al. | Bi-ETC: A Bidirectional Encrypted Traffic Classification Model Based on BERT and BiLSTM | |
Zhu et al. | An encrypted traffic identification method based on multi-scale feature fusion | |
Sandén et al. | Machine learning for automotive cyber-security |
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 |