CN115622926A - 一种基于网络流量的工控协议逆向分析方法 - Google Patents

一种基于网络流量的工控协议逆向分析方法 Download PDF

Info

Publication number
CN115622926A
CN115622926A CN202211275619.4A CN202211275619A CN115622926A CN 115622926 A CN115622926 A CN 115622926A CN 202211275619 A CN202211275619 A CN 202211275619A CN 115622926 A CN115622926 A CN 115622926A
Authority
CN
China
Prior art keywords
field
sequence
length
fields
industrial control
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.)
Pending
Application number
CN202211275619.4A
Other languages
English (en)
Inventor
秦禛
车欣
耿洋洋
王添毅
赵成成
孙铭阳
邓瑞龙
程鹏
陈积明
杨秦敏
陈博
杨海波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Shandong Lingong Construction Machinery Co Ltd
Original Assignee
Zhejiang University ZJU
Shandong Lingong Construction Machinery Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU, Shandong Lingong Construction Machinery Co Ltd filed Critical Zhejiang University ZJU
Priority to CN202211275619.4A priority Critical patent/CN115622926A/zh
Publication of CN115622926A publication Critical patent/CN115622926A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种基于网络流量的工控协议逆向分析方法,包括以下步骤:1)捕获正常通信流量和功能点击流量;2)数据集群,进行控制字段识别,满足阈值条件则按控制字段进行集群,不满足则直接进行字段语义识别;3)字段语义识别,包括增量序列、地址字段、校验字段、长度字段、功能码的语义识别;4)字段边界识别,在语义识别的基础上进行边界划分,最终得到工业通信协议的格式。本发明能够基于流量自动分析出重要字段语义信息以及协议格式信息,对复杂、嵌套工控协议语法语义识别也有较高的准确率,充分证明了本发明对工控协议的逆向能力。

Description

一种基于网络流量的工控协议逆向分析方法
技术领域
本发明涉及协议格式与语义解析技术领域,具体为一种基于网络流量的工控协议逆向分析方法。
背景技术
伴随着网络应用的丰富,网络协议增长迅速,然而多数的协议没有公开的协议规范或者缺乏完整协议描述,特别是专用协议,如工控协议、物联网协议等。与大多数互联网协议不同,工控领域出于经济、安全、隐私等方面的考虑,厂商与制造商一般不会选择公开此类协议制定与使用细节。在工业控制***越发重要的今天,这些复杂度高、私有性强的协议给网络入侵检测、模糊测试、漏洞分析等安全防护措施带来了挑战。
目前基于网络流量的逆向工作主要针对具有文本类型数据的互联网协议,采用分析方法为基于Needleman-Wunsch序列比对算法进行聚类、字段划分以获取协议格式。然而,工控协议相较互联网协议具有以下特点:私有性强,无法拿到通信代码;字段较短,一般以字节甚至比特级数据进行定义;无分隔符,无可打印字符,与互联网协议相比,工控协议无法进行字符串分割,给边界划分带来困难;一般为纯二进制类型的数据,无法直接获取语义层面的信息。工控协议的这些特点使得直接应用序列比对的传统逆向方法准确率较低,因此,设计一种针对工控协议的高效自动化协议逆向方法是目前工控安全领域所需要的。
发明内容
本发明的目的在于针对工控协议的格式特点,提出一种基于网络流量的工控协议逆向分析方法。
本发明的目的是通过以下技术方案实现的:一种基于网络流量的工控协议逆向分析方法,该方法包括以下步骤:
步骤1:捕获实际工业控制***的协议流量或收集开源社区公开的协议流量,同时收集特定规则的功能点击流量;
步骤2:所有消息序列裁剪至最短序列长度进行动静态字段识别,并以动态字段作为控制字段的待选字段对消息序列进行集群操作,若以待选字段进行集群操作的结果满足阈值条件则判定该待选字段为控制字段,为该字段添加控制字段语义信息,对各集群中的消息序列进行语义识别;否则判定该待选字段非控制字段,直接对原始消息序列进行语义识别;
步骤3:对各集群中的消息序列或原始消息序列进行包括增量序列、地址字段、校验字段、长度字段、功能码的语义识别;
步骤4:在语义识别的基础上进行工控协议边界划分,合并相邻静态字段以及同语义字段,输出协议格式。
进一步地,所述步骤1中,为定位工控协议的功能码位置,根据特定规则收集功能点击流量,具体指对PLC进行指定次数的“运行-暂停”或“读取-写入”这类具有成对性质的操作指令后采集到的流量。
进一步地,所述步骤2具体为:
对输入的所有消息序列进行遍历,计算最短序列长度,将所有消息序列长度裁剪到最短序列长度后识别动态字段与静态字段;
将动态字段作为控制字段的待选字段,为每个待选字段引入一个随机变量作为该字段成为控制字段的概率,基于每个待选字段对消息序列进行集群操作,计算各集群的消息相似性约束,选取出概率最高的待选字段;
若以选取出的待选字段进行集群操作的结果满足阈值条件则判定该待选字段为控制字段,否则判定该待选字段非控制字段。
进一步地,所述步骤2中,所述阈值条件为同时满足以下两个条件:①以所推断的控制字段进行集群操作后的集群个数不超过n个,且每个集群中消息序列的长度不完全一致;②所推断的控制字段的偏移位置处于消息序列的前m分之一。
进一步地,所述步骤3中,通过分析将消息序列转化为bit级数据后的汉明距离分布识别增量序列,具体为:以8bit为单位计算每个偏移位置的汉明距离分布,如果偏移位置从一端到另一端至少有4bit的递增汉明距离,则认为该偏移位置对应的字段为严格意义上的增量序列,为该字段添加增量序列语义信息,如果识别出的严格增量序列紧邻字段有符合递增汉明距离分布的特征,则认为该紧邻字段为增量序列的高位并为该紧邻字段添加增量序列语义信息。
进一步地,所述步骤3中,以单个字节为单位,通过判断是否与TCP/IP层的IP地址或端口号有一致性识别地址字段;从消息序列末端提取2-4字节作为校验字段的待选字段,通过计算消息序列除去待选字段后的CRC值是否与待选字段值相等识别校验字段。
进一步地,所述步骤3中,基于随机森林分类器识别长度字段,具体步骤如下:
a.将消息序列以物理长度进行集群,将各集群中的所有消息序列裁剪至最短序列长度后转化为bit级数据,并为各集群添加长度信息标签,划分训练集与测试集;
b.将训练集中的数据输入随机森林分类器中进行训练,利用测试集对训练好的分类器进行测试,测试集分类准确率大于设定阈值则输出随机森林分类的bit位偏移的特征重要性排序;
c.将重要特征的bit位偏移映射为字节并去重,输出待选的长度字段;
d.设定长度字段过滤规则,即该字段对应的十进制值应小于等于整条消息序列的长度,过滤后的字段即为推测的长度字段。
进一步地,所述步骤3中,通过分析根据特定规则收集的功能点击流量定位功能码,具体为:收集功能点击流量后对消息序列进行动静态字段划分,统计除已识别语义信息的剩余每个动态字段的独特值,如果该字段各独特值的个数符合前述的规则制定,则认为该字段为功能码的待选字段,并为其添加功能码的语义信息;若所识别的独特值符合前述的规则制定有多个字段,则重新规定点击次数再次进行功能点击流量获取,进行多次识别。
进一步地,所述步骤3中,将长度字段提取过程中由过滤规则过滤掉的字段作为功能码的待选字段;如果待选字段符合功能码的特性则认为该待选字段也为功能码的一部分并为其添加功能的语义信息;待选字段的功能码计算得分公式如下:
F(wi)=P(wi)*H(wi)
Figure BDA0003896463490000041
Figure BDA0003896463490000042
其中wi为待选字段,P(wi)为功能码独特性约束,H(wi)为功能码熵值约束,wi.num为待选字段wi的独特值个数,m.len为消息序列的总数,p(wi)为待选字段wi出现的概率;选取F(wi)符合阈值条件的待选字段作为功能码,并为该字段添加功能码的语义信息。
进一步地,所述增量序列、地址字段、校验字段、长度字段、功能码的语义识别顺序不限,但须保证功能码的语义识别在长度字段识别之后。
与现有技术相比,本发明具有以下优势:
1.创新性地提出工控协议的功能码定位方式。
2.通过识别特殊字段语义信息对协议格式推断进行改进,实际是对协议解析过程的一种逆向思维。
3.本发明对复杂、嵌套的工控协议语法语义识别也有较高的准确率。
附图说明
图1为本发明方法的整体框图;
图2为本发明示例性实施例提供的工控协议逆向分析流程示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细说明。
如图1所示,本发明提供一种基于网络流量的工控协议逆向分析方法,包括以下步骤:
步骤1:捕获实际工业控制***的协议流量或收集开源社区公开的协议流量,同时收集特定规则的功能点击流量。
为尽可能丰富协议样本,利用流量采集工具收集实际工业控制***的协议流量,或从开源社区收集公开的协议流量。除正常通信流量外,为定位工控协议的功能码位置,本发明要求额外根据特定规则收集部分流量,具体指对PLC进行指定次数的“运行-暂停”或“读取-写入”这类具有成对性质的操作指令后采集到的流量。
步骤2:所有消息序列裁剪至最短序列长度进行动静态字段识别,并以动态字段作为控制字段的待选字段对消息序列进行集群操作,若以待选字段进行集群操作的结果满足阈值条件则判定该待选字段为控制字段,为该字段添加控制字段语义信息,对各集群中的消息序列进行语义识别;若不满足阈值条件则判定该待选字段非控制字段,直接对原始消息序列进行语义识别。
许多工控协议为嵌套协议,存在控制字段,该字段表示协议报文的类型,与后续报文结构相关,具有同一控制字段的报文具有较高的相似性,此控制字段一般出现在报文的头部范围靠前位置。为判断协议是否存在控制字段并定位其位置,对输入的所有消息序列进行遍历,计算最短序列长度lmin,将所有消息序列长度裁剪到lmin后识别动态字段与静态字段,动态字段作为控制字段的待选字段,为每个待选字段引入一个随机变量作为该字段成为控制字段的概率,基于每个待选字段对消息序列进行集群操作,计算各集群的消息相似性约束,消息相似性越高则说明该待选字段成为控制字段的概率越大,选取出概率最高的待选字段。若以选取出的待选字段进行集群操作的结果满足阈值条件则判定该待选字段为控制字段,为该字段添加控制字段语义信息,后续对各集群中的消息序列进行语义识别;若不满足阈值条件则判定该待选字段非控制字段,直接对原始消息序列进行语义识别。其中,阈值条件具体包括:①以所推断的控制字段进行集群操作后的集群个数不超过n个,且每个集群中消息序列的长度不完全一致;②所推断的控制字段的偏移位置处于消息序列的前m分之一。条件①和②必须同时满足。n和m根据实验结果设置,本实施例中取n=4,m=3。
步骤3:对各集群中的消息序列或原始消息序列进行包括增量序列、地址字段、校验字段、长度字段、功能码的语义识别。
增量序列为表征消息序列时序特征的字段类型,是用于流量控制和新鲜度的递增计数器,一般为1-2字节。本发明利用汉明距离的分布进行增量序列的识别,由于增量序列为递增计数器,故其具有递增汉明距离的特点。将所有消息序列裁剪至最短序列长度lmin后转化为bit级数据,以8bit为单位计算每个偏移位置的汉明距离分布,计算公式如式(1)所示,其中i为偏移bit位置,j为消息序列序号,⊕为异或操作,m.len为消息序列的总数,汉明距离di越大说明该偏移位置i比特位反转的频率越大,反之越小。如果偏移位置从一端到另一端至少有4bit的递增汉明距离,则认为该偏移位置对应的字段为严格意义上的增量序列,为该字段添加增量序列语义信息。如果识别出的严格增量序列紧邻字段有符合递增汉明距离分布的特征,则认为该紧邻字段为增量序列的高位并为该紧邻字段添加增量序列语义信息。
Figure BDA0003896463490000061
地址字段为表征协议发送方和接收方地址的字段,包括源设备地址与目的设备地址。对消息序列进行动静态字段划分,统计每个动态字段的独特值个数,如果独特值个数为2则作为地址字段的待选字段。对消息序列以IP地址或端口号进行集群,检验地址字段的待选字段是否变为静态字段,若是则判断该待选字段为地址字段,并为该待选字段添加地址字段的语义信息。
为确保数据传输过程中没有错误,许多工控协议利用CRC校验或哈希校验等校验方式来进行验证。此类校验码具有随机性较强的特点,通常出现在消息序列末尾,一般为2-4字节。从消息序列末端提取2-4字节作为校验字段的待选字段,根据常用的校验参数如CRC16,CRC32计算消息序列除去待选字段后的CRC值,若所计算得出的CRC值与待选字段值相等则判断该待选字段为校验字段并为其添加校验字段的语义信息。
长度字段为表征协议消息序列长度信息的字段,其本身长度固定,取值为所指称字段的长度。然而,长度字段值本身可能是消息序列总长度,可能是从某个位置起始后续消息序列的长度,也可能是多个长度字段中的一个表示后续某块数据区域的长度。目前基于网络流量的长度字段识别方法分为三种,一是计算待选字段值与消息序列物理长度的皮尔逊相关系数,该系数达到一定阈值推测待选字段为长度字段;二是计算消息序列相同偏移位置的待选字段差值是否与两消息序列的物理长度差值相等,若相等则推测待选字段为长度字段;三是根据物理长度进行集群,若集群后原待选字段由动态字段变为静态字段则推测该待选字段为长度字段。然而,上述三种识别方法存在缺陷,基于皮尔逊相关系数的识别方法对阈值参数敏感,后两种识别方法基本只可以定位到长度字段值为报文总长度的长度字段,无法完全识别作用域不同的多个长度字段。为准确识别消息序列中多个长度字段,本发明采用基于机器学习的长度字段识别方法,具体步骤如下:
a.将消息序列messages以物理长度进行集群,将各集群中的所有消息序列裁剪至最短序列长度lmin后转化为bit级数据,并为各集群添加长度信息标签,按照比例划分训练集与测试集;
b.将训练集中的数据输入随机森林分类器中进行训练,利用测试集对训练好的分类器进行测试,测试集分类准确率大于90%则输出随机森林分类的bit位偏移的特征重要性排序;
c.将重要特征的bit位偏移映射为字节并去重,输出待选的长度字段lengthcandidate
d.设定长度字段过滤规则,即该字段对应的十进制值int(lengthcandidate)应小于等于整条消息序列的长度message.size。过滤后的字段即为推测的长度字段,过滤条件如下:
int(lengthcandidate)≤message.size
通过基于机器学习的长度字段识别方法,本发明可以定位消息序列中的多个长度字段,且识别准确率较高。
功能码表征工控协议中一条消息序列所执行的功能,如PLC的启停、读写、上传下载等,是具有重要控制意义的字段,对工控协议控制至关重要。已有方法主要根据字段的偏移、取值多样性、熵值进行功能码的识别定位,对数据集要求较高且准确率较低。本发明通过分析根据特定规则收集的功能点击流量定位功能码。其中根据特定规则收集的流量具体指对PLC进行指定次数的“运行-暂停”或“读取-写入”这类具有成对性质的操作指令后采集到的流量。收集流量后对消息序列进行动静态字段划分,统计除已识别语义信息的剩余每个动态字段的独特值,如果该字段各独特值的个数符合前述的规则制定,则认为该字段为功能码的待选字段,并为其添加功能码的语义信息。若所识别的独特值符合前述的规则制定有多个字段,则重新规定点击次数再次进行功能点击流量获取,进行多次识别。
然而,对于复杂嵌套协议,可能包含不只一个功能码。例如,在CIP PCCC协议中,代表执行启停功能的功能码为子功能码,子功能码之前还有一位是代表改变运行状态的父功能码,故基于上述特定规则的功能点击流量识别方法虽然可以精准定位到子功能码的位置,但不能识别多个功能码。对于工业控制协议,不同特定功能的消息序列通常有不同的物理长度。根据这一观察,我们将长度字段提取过程中由过滤规则过滤掉的字段作为功能码的待选字段。如果待选字段符合功能码的特性则认为该待选字段也为功能码的一部分并为其添加功能的语义信息。待选字段的功能码计算得分如式(2)所示,其中wi为待选字段,P(wi)为功能码独特性约束,H(wi)为功能码熵值约束,具体计算方法如式(3)与式(4)所示。式(3)中,wi.num为待选字段wi的独特值个数,m.len为消息序列的总数,式(4)中,p(wi)为待选字段wi出现的概率。选取F(wi)符合阈值条件的待选字段作为功能码,并为该字段添加功能码的语义信息。阈值根据实验结果设定。
F(wi)=P(wi)*H(wi) (2)
Figure BDA0003896463490000081
Figure BDA0003896463490000082
通过基于特定点击策略与基于长度过滤字段的功能码识别方法,本发明可以精准定位功能码的偏移位置,实现多个功能码的语义信息提取。
增量序列、地址字段、校验字段、长度字段、功能码的语义识别顺序不限,但须保证功能码的语义识别在长度字段识别之后。
在一个实施例中,依次进行增量序列、地址字段、校验字段、长度字段、功能码的语义识别,如图2所示。
步骤4:在语义识别的基础上进行工控协议边界划分,合并相邻静态字段以及同语义字段,输出协议格式。
将相邻的静态字段视为一个协议字段,本发明所识别出的相邻具有相同语义的字段视为一个协议字段,最终输出带有语义信息的工控协议格式。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。

Claims (10)

1.一种基于网络流量的工控协议逆向分析方法,其特征在于,包括:
步骤1:捕获实际工业控制***的协议流量或收集开源社区公开的协议流量,同时收集特定规则的功能点击流量;
步骤2:所有消息序列裁剪至最短序列长度进行动静态字段识别,并以动态字段作为控制字段的待选字段对消息序列进行集群操作,若以待选字段进行集群操作的结果满足阈值条件则判定该待选字段为控制字段,为该字段添加控制字段语义信息,对各集群中的消息序列进行语义识别;否则判定该待选字段非控制字段,直接对原始消息序列进行语义识别;
步骤3:对各集群中的消息序列或原始消息序列进行包括增量序列、地址字段、校验字段、长度字段、功能码的语义识别;
步骤4:在语义识别的基础上进行工控协议边界划分,合并相邻静态字段以及同语义字段,输出协议格式。
2.根据权利要求1所述的基于网络流量的工控协议逆向分析方法,其特征在于,所述步骤1中,为定位工控协议的功能码位置,根据特定规则收集功能点击流量,具体指对PLC进行指定次数的“运行-暂停”或“读取-写入”这类具有成对性质的操作指令后采集到的流量。
3.根据权利要求1所述的基于网络流量的工控协议逆向分析方法,其特征在于,所述步骤2具体为:
对输入的所有消息序列进行遍历,计算最短序列长度,将所有消息序列长度裁剪到最短序列长度后识别动态字段与静态字段;
将动态字段作为控制字段的待选字段,为每个待选字段引入一个随机变量作为该字段成为控制字段的概率,基于每个待选字段对消息序列进行集群操作,计算各集群的消息相似性约束,选取出概率最高的待选字段;
若以选取出的待选字段进行集群操作的结果满足阈值条件则判定该待选字段为控制字段,否则判定该待选字段非控制字段。
4.根据权利要求1所述的基于网络流量的工控协议逆向分析方法,其特征在于,所述步骤2中,所述阈值条件为同时满足以下两个条件:①以所推断的控制字段进行集群操作后的集群个数不超过n个,且每个集群中消息序列的长度不完全一致;②所推断的控制字段的偏移位置处于消息序列的前m分之一。
5.根据权利要求1所述的基于网络流量的工控协议逆向分析方法,其特征在于,所述步骤3中,通过分析将消息序列转化为bit级数据后的汉明距离分布识别增量序列,具体为:以8bit为单位计算每个偏移位置的汉明距离分布,如果偏移位置从一端到另一端至少有4bit的递增汉明距离,则认为该偏移位置对应的字段为严格意义上的增量序列,为该字段添加增量序列语义信息,如果识别出的严格增量序列紧邻字段有符合递增汉明距离分布的特征,则认为该紧邻字段为增量序列的高位并为该紧邻字段添加增量序列语义信息。
6.根据权利要求1所述的基于网络流量的工控协议逆向分析方法,其特征在于,所述步骤3中,以单个字节为单位,通过判断是否与TCP/IP层的IP地址或端口号有一致性识别地址字段;从消息序列末端提取2-4字节作为校验字段的待选字段,通过计算消息序列除去待选字段后的CRC值是否与待选字段值相等识别校验字段。
7.根据权利要求1所述的基于网络流量的工控协议逆向分析方法,其特征在于,所述步骤3中,基于随机森林分类器识别长度字段,具体步骤如下:
a.将消息序列以物理长度进行集群,将各集群中的所有消息序列裁剪至最短序列长度后转化为bit级数据,并为各集群添加长度信息标签,划分训练集与测试集;
b.将训练集中的数据输入随机森林分类器中进行训练,利用测试集对训练好的分类器进行测试,测试集分类准确率大于设定阈值则输出随机森林分类的bit位偏移的特征重要性排序;
c.将重要特征的bit位偏移映射为字节并去重,输出待选的长度字段;
d.设定长度字段过滤规则,即该字段对应的十进制值应小于等于整条消息序列的长度,过滤后的字段即为推测的长度字段。
8.根据权利要求1所述的基于网络流量的工控协议逆向分析方法,其特征在于,所述步骤3中,通过分析根据特定规则收集的功能点击流量定位功能码,具体为:收集功能点击流量后对消息序列进行动静态字段划分,统计除已识别语义信息的剩余每个动态字段的独特值,如果该字段各独特值的个数符合前述的规则制定,则认为该字段为功能码的待选字段,并为其添加功能码的语义信息;若所识别的独特值符合前述的规则制定有多个字段,则重新规定点击次数再次进行功能点击流量获取,进行多次识别。
9.根据权利要求1所述的基于网络流量的工控协议逆向分析方法,其特征在于,所述步骤3中,将长度字段提取过程中由过滤规则过滤掉的字段作为功能码的待选字段;如果待选字段符合功能码的特性则认为该待选字段也为功能码的一部分并为其添加功能码的语义信息;待选字段的功能码计算得分公式如下:
F(wi)=P(wi)*H(wi)
Figure FDA0003896463480000031
Figure FDA0003896463480000032
其中wi为待选字段,P(wi)为功能码独特性约束,H(wi)为功能码熵值约束,wi.num为待选字段wi的独特值个数,m.len为消息序列的总数,p(wi)为待选字段wi出现的概率;选取F(wi)符合阈值条件的待选字段作为功能码,并为该字段添加功能码的语义信息。
10.根据权利要求1所述的基于网络流量的工控协议逆向分析方法,其特征在于,所述增量序列、地址字段、校验字段、长度字段、功能码的语义识别顺序不限,但须保证功能码的语义识别在长度字段识别之后。
CN202211275619.4A 2022-10-18 2022-10-18 一种基于网络流量的工控协议逆向分析方法 Pending CN115622926A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211275619.4A CN115622926A (zh) 2022-10-18 2022-10-18 一种基于网络流量的工控协议逆向分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211275619.4A CN115622926A (zh) 2022-10-18 2022-10-18 一种基于网络流量的工控协议逆向分析方法

Publications (1)

Publication Number Publication Date
CN115622926A true CN115622926A (zh) 2023-01-17

Family

ID=84862146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211275619.4A Pending CN115622926A (zh) 2022-10-18 2022-10-18 一种基于网络流量的工控协议逆向分析方法

Country Status (1)

Country Link
CN (1) CN115622926A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991743A (zh) * 2023-09-01 2023-11-03 浙江大学 一种基于协议逆向的工控设备黑盒模糊测试方法
CN117596193A (zh) * 2023-11-20 2024-02-23 中国三峡建工(集团)有限公司 一种基于神经网络的报文协议识别方法及***

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991743A (zh) * 2023-09-01 2023-11-03 浙江大学 一种基于协议逆向的工控设备黑盒模糊测试方法
CN117596193A (zh) * 2023-11-20 2024-02-23 中国三峡建工(集团)有限公司 一种基于神经网络的报文协议识别方法及***
CN117596193B (zh) * 2023-11-20 2024-05-31 中国三峡建工(集团)有限公司 一种基于神经网络的报文协议识别方法及***

Similar Documents

Publication Publication Date Title
CN110597734B (zh) 一种适用于工控私有协议的模糊测试用例生成方法
CN115622926A (zh) 一种基于网络流量的工控协议逆向分析方法
CN104468262B (zh) 一种基于语义敏感的网络协议识别方法及***
CN111885059B (zh) 一种工业网络流量异常检测定位的方法
CN111314279B (zh) 一种基于网络流量的未知协议逆向方法
CN113645232B (zh) 一种面向工业互联网的智能化流量监测方法、***及存储介质
CN111798312A (zh) 一种基于孤立森林算法的金融交易***异常识别方法
WO2011050545A1 (zh) 一种未知应用层协议自动分析方法
CN110611640A (zh) 一种基于随机森林的dns协议隐蔽通道检测方法
CN113452672B (zh) 基于协议逆向分析的电力物联网终端流量异常分析方法
CN114143037B (zh) 一种基于进程行为分析的恶意加密信道检测方法
CN113645182B (zh) 一种基于二次特征筛选的拒绝服务攻击随机森林检测方法
CN114567487A (zh) 一种多特征融合的dns隐蔽隧道检测方法
CN110868404A (zh) 一种基于tcp/ip指纹的工控设备自动识别方法
CN111585832A (zh) 一种基于语义预挖掘的工控协议逆向分析方法
CN116150688A (zh) 智能家居中轻量级的物联网设备识别方法与装置
CN116033048B (zh) 物联网的多协议解析方法、电子设备和存储介质
CN1612135B (zh) 一种基于训练分类的协议识别方法
CN114666273B (zh) 一种面向应用层未知网络协议的流量分类方法
CN114422515B (zh) 一种适配电力行业的边缘计算架构设计方法及***
CN112929364B (zh) 一种基于icmp隧道分析的数据泄漏检测方法及***
KR101621959B1 (ko) 로그패턴추출장치, 로그패턴분석장치 및 그 방법
CN113449768A (zh) 一种基于短时傅里叶变换的网络流量分类装置及方法
Wang et al. Reverse engineering of industrial control protocol by XGBoost with V-gram
CN115297189B (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