CN110336827B - 一种基于异常字段定位的Modbus TCP协议模糊测试方法 - Google Patents

一种基于异常字段定位的Modbus TCP协议模糊测试方法 Download PDF

Info

Publication number
CN110336827B
CN110336827B CN201910633252.0A CN201910633252A CN110336827B CN 110336827 B CN110336827 B CN 110336827B CN 201910633252 A CN201910633252 A CN 201910633252A CN 110336827 B CN110336827 B CN 110336827B
Authority
CN
China
Prior art keywords
field
protocol
abnormal
vulnerability
message
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
Application number
CN201910633252.0A
Other languages
English (en)
Other versions
CN110336827A (zh
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.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
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 Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201910633252.0A priority Critical patent/CN110336827B/zh
Publication of CN110336827A publication Critical patent/CN110336827A/zh
Application granted granted Critical
Publication of CN110336827B publication Critical patent/CN110336827B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于异常字段定位的Modbus TCP协议模糊测试方法,用例生成模块依据国家信息安全漏洞共享平台(CNVD)公布的已知漏洞特征,构造畸形数据集对协议中不同字段进行变异,生成测试用例。异常监测模块用于判断被测设备运行是否正常。字段定位模块对触发被测设备漏洞的异常测试用例,采用粗糙集中基于可辨识矩阵的属性约简算法,定位触发漏洞的关键字段。最后将触发漏洞的关键字段通过变异概率函数反馈给测试用例生成阶段,动态指导后续测试用例的生成。该方法能够避免模糊测试的盲目性,提高测试效率。

Description

一种基于异常字段定位的Modbus TCP协议模糊测试方法
技术领域
本发明属于工业控制系统的安全领域,具体涉及一种面向Modbus TCP协议的模糊测试方法。
背景技术
工业控制系统是工业生产上涉及的过程控制系统和计算机系统的总称,可自动操作或监控现场设备。随着计算机和网络技术的发展,特别是信息化与工业化深度融合以及物联网的快速发展,越来越多的工控设备与互联网等公共网络连接。一方面提高了数据共享的效率,另一方面也给工控设备带来了安全威胁。由于历史原因,一些工控协议在设计和实现时没有充分考虑安全因素,甚至存在严重漏洞,导致设备联接互联网过程中存在很大安全隐患。
由于工控系统与工业领域息息相关,一旦受到入侵,工控系统将无法正常工作运转,生产运作业务将受到破坏,甚至会对人民、社会和国家的安全造成巨大的威胁。2014年,黑客集团Dragonfly制造了“超级电厂”病毒,该病毒可以收集,发送和监控计算机的配置信息,入侵了全球上千座发电站系统。2018年,全球最大的代工芯片制造商台积电遭受勒索病毒入侵,引发产线停摆,仅三天损失高达11.5亿元人民币。现阶段,全球工控行业发生的工控系统攻击事件数量逐年递增,事件规模越来越大,事件造成的影响也越来越严重。根据近几年来在工控领域的安全事件的发展趋势,目前的工业控制系统还比较脆弱,频频遭受网络攻击,这是世界各国正在面临的一个严重挑战,并且已经引起了各国政府的重点关注。因此,面对存在漏洞的工控设备,先于攻击者采取加固或补救措施,对保障工控领域的信息安全具有重大意义。
漏洞挖掘是检测Modbus协议漏洞的关键技术。它能在问题出现之前发现安全隐患。许多研究人员利用模糊技术(Fuzzing)进行漏洞挖掘。其基本思想是向目标设备发送大量非法数据包,从而引发设备异常。Fuzzing采用了黑盒测试方法,无需了解被测设备内部构造,具有自动化程度高、适应性广的优点;同时也存在测试用例生成方法过于随机、无法定位触发漏洞的具体协议字段等问题。
发明内容
为解决上述问题,本发明提供了一种基于异常字段定位的Modbus TCP协议模糊测试方法,能够定位异常测试用例中触发漏洞的关键字段,并将其反馈给测试用例生成阶段,使后续生成的测试用例更具针对性,从而提高漏洞挖掘效率。
实现本方法的测试结构包含三个模块:用例生成模块、异常监测模块和字段定位模块。用例生成模块与异常监测模块相交互,异常监测模块和字段定位模块相交互。
用例生成模块,通过研究国家信息安全漏洞共享平台(CNVD)公布的已知漏洞信息,根据漏洞产生的原因和重现的方法对漏洞进行整理,总结出一个针对不同字段类型的畸形数据集。这些畸形数据集中的数据以一定的概率作用于正常协议报文的每个字段,构成模糊测试的测试用例,这样生成的测试用例集直接从漏洞库得来,具有更高的有效性。
异常监测模块,对被测对象进行模糊测试的过程中,需要实时监控被测对象的状态,如果被测对象发生异常,则对异常情况进行实时捕获,记录被测对象出现的错误问题。由于工控系统内部无法本地部署监控程序,只能通过远程监控的方法监测被测对象的运行状态是否正常,而远程监控的方法无法获得被测对象程序的详细数据信息,因此,需要充分利用工控网络协议的协议特征,依据响应报文中携带的数据信息判断被测对象的状态。通过两种方法监测被测对象的异常情况:第一是发送心跳包;第二是对比接收报文与发送报文的协议特征,由此判断是否符合Modbus协议规约。
字段定位模块,对于触发被测设备漏洞的异常测试用例,采用粗糙集中基于可辨识矩阵的属性约简算法,对异常测试用例的具体协议字段进行定位,即确定协议中具体哪一个或哪几个字段导致被测设备的漏洞。字段定位模块有两个作用:更精确地发现协议设计中不合理的字段,为安全人员修复漏洞提供参考;将字段定位结果反馈到测试用例生成阶段,更有针对性的指导测试用例生成,避免模糊测试的盲目性。传统网络中的模糊测试以被测设备代码覆盖率为指导,但工控设备环境封闭,无法部署调试程序以查看内部代码运行情况。使用字段定位结果来代替代码覆盖率,对易触发漏洞字段的高危字段,提高其变异概率,对不易触发漏洞的字段,降低其变异概率,从而最大限度的提高测试用例的有效性、降低测试时间。对协议字段进行属性约简前,首先需要构造决策表。决策表的论域由人工随机报文和相似流量聚类报文组成。人工随机报文是依次随机改变每个协议特征值得到的随机序列。对于有N个字段的协议,共生成
Figure BDA0002129354540000031
个随机序列报文发送给被测设备,
Figure BDA0002129354540000032
表示随机选择x个字段进行变异的报文数量,同时记录被测设备的响应数据是否正常。相似流量聚类报文是由Wireshark捕获的正常网络流量报文进行聚类,利用Smith-Waterman动态规划算法选取出与漏洞用例最相似的聚类的所有报文,这些报文都是与漏洞用例相似度非常大但又没有触发漏洞的报文。由于工控协议的协议特征值之间具有依赖关系,所以选择粗糙集理论中的基于分辨矩阵的属性约简算法,利用协议特征之间存在的依赖关系,对协议字段进行属性约简,定位触发漏洞的具体字段。Modbus TCP协议中,一个测试用例由6个协议特征值组成,包括Transaction ID,Protocol ID,Length,Unit ID,Fuction和Data,理解为一条数据信息由6个属性描述,并且该条数据信息确定了一个结果属性,该结果属性是被测对象的正常或异常情况。需要确定该数据信息中哪一个或几个特定的属性值是导致该结果属性的关键属性值。
一种基于异常字段定位的Modbus TCP协议模糊测试方法,包括以下步骤:
S1,基于工控权威漏洞库构造畸形数据,生成测试用例;
S2,发送测试用例,检测是否触发被测设备漏洞;
S3,对触发漏洞的异常测试用例,定位其触发漏洞的关键字段;
S4,将触发漏洞的关键字段反馈给测试用例生成阶段,指导后续测试用例生成。
步骤S3中,通过以下方法定位触发漏洞的关键字段:
依据异常测试用例构造字段属性决策表,使用粗糙集中基于可辨识矩阵的属性约简方法,定位触发漏洞的关键字段。
所述决策表的条件属性是测试用例中不同字段的值,决策属性是该测试用例是否触发漏洞的结果。
所述决策表的论域由两部分构成:人工随机报文和相似流量聚类报文。
所述人工随机报文,是对触发漏洞的异常测试用例,依次随机改变每个协议字段的值得到的随机序列;对于有N个字段的协议,共生成
Figure BDA0002129354540000041
个随机序列报文发送给被测设备,同时记录改变后的报文能否触发被测设备的漏洞。
所述相似流量聚类报文指在格式和内容上与触发漏洞的测试用例非常相似,但却没有触发漏洞的正常通信流量报文。
通过以下方法获取相似流量聚类报文:
对正常工控流量集按照报文相似度进行k-means聚类,计算所有聚类与触发漏洞的异常测试用例的平均相似度,其中平均相似度最大的聚类为相似流量聚类报文。
所述报文相似度,采用Smith-Waterman动态规划算法来计算。
S4中,通过以下方法指导后续测试用例生成:
计算协议中每个字段的变异概率,在测试用例生成过程中提高易触发漏洞的字段的变异概率,降低不易触发漏洞的字段的变异概率。
所述字段变异概率的计算方法为:
Figure BDA0002129354540000042
其中,P(i)表示第i个字段的变异概率,N表示漏洞的次数,Qi表示由第i个字段触发漏洞的次数,变量C1和C2分别为1和2。
附图说明
图1是本发明的结构示意图。
图2是Modbus TCP协议字段结构图。
图3是字段定位结构示意图。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述。
图1是本发明基于异常字段定位的Modbus TCP协议模糊测试结构示意图,包括以下步骤:
S1,基于工控权威漏洞库——国家信息安全漏洞共享平台(CNVD)构造畸形数据集,生成测试用例。
图2是Modbus TCP协议字段结构图,Modbus TCP协议字段结构包括TransactionID字段、Length字段、Unit ID字段、Fuction字段和Data字段,为每个字段构造选择畸形数据集的方法为:
S11,针对Transaction ID字段,畸形数据选择特殊字符、特殊ASCII码;
S12,针对Length字段,畸形数据选择与真实长度不同的过大数据值、过小数据值等非法数据值;或Modbus协议的边界长度,如0xfe,0x00,0x03,0xff,0x7d,0x7f,0x80等等;
S13,针对Unit ID字段,畸形数据选择非法ID值、未定义ID值或边界ID值;
S14,针对Fuction Code字段,畸形数据选择非法功能码、未定义功能码、自定义功能码或随机字符;
S15,针对Data字段,畸形数据选择单字符数值、空值、非法数据值、随机字符、分隔符、格式化字符串、超长字符串、特殊ASCII码或目录遍历符号。
S2,发送测试用例,实时监控被测设备的状态,判断是否触发漏洞。
使用一下两种方法判断被测设备是否发生异常:
S21Modbus协议中请求和响应报文的Transaction ID相等且具有唯一性,根据Transaction ID对请求和响应数据进行配对,使用请求与响应协议特征对应关系实时对每一对请求与响应数据进行比对检测,从而判断被测设备运行是否正常。
S22在发送正常测试用例的过程中,以固定频率穿插发送国际控制报文协议(Internet Control Message Protocol,ICMP)的请求报文,地址解析协议(AddressResolution Protocol,ARP)的请求报文作为心跳包,对被测对象进行异常监控。未接收到响应报文时,需要确认发送报文是否引发被测对象异常,确认操作为:再次发送无响应的测试用例和两个正常的测试用例,如果无响应的测试用例仍无响应,而两个正常测试用例的响应数据均正常,则证明无响应的测试用例已被被测对象丢弃,未影响被测对象的正常运行,否则该无响应的测试用例引发了被测对象异常。
图3是字段定位结构示意图。
S3对触发漏洞的异常测试用例,采用粗糙集中基于可辨识矩阵的属性约简算法定位其触发漏洞的关键字段,即确定协议中哪一个或哪几个字段引发被测设备异常。
利用粗糙集对协议字段约简的步骤为:
S31,构造决策表,决策表由人工随机报文和相似流量聚类报文组成。
S32,人工随机报文是对触发漏洞的异常测试用例,依次随机改变每个字段值,得到的随机报文集合。对于一个有N个字段的协议,生成一组随机报文发送给设备,并记录数据包是否能够触发设备的漏洞。例如,一个面向Modbus TCP服务的测试用例由六个协议字段组成,包括Transaction ID、Protocol ID、Length、Unit ID、Fuction Code和Data。可理解为一条数据信息由6个属性描述,并且该数据信息确定了一个结果属性,该结果属性是被测对象的正常或异常情况。则需要确定该数据信息中哪一个或几个特定的属性值是导致该结果属性的关键属性值。
由于Protocol ID是Modbus TCP协议的协议标识,为保证服务能够将测试用例视为Modbus TCP报文进行处理,测试用例中,Protocol ID的协议特征值均为0x0000,则一个测试用例的数据信息中仅具有5个可变的协议特征。在获取了异常测试用例后,需要通过发送确认报文寻找异常测试用例中的关键属性值,在生成确认报文的过程中,将每个协议特征的取值设置为两种特征值,分别是该异常测试用例的值和对其随机变异的值。
表1是决策表的人工随机报文部分。其中“1”表示触发漏洞的异常测试用例的协议字段值,“random”表示在该字段上进行随机变异后的值。每一行数据构成一个新的测试用例,将其发送给被测设备,记录是否触发设备异常。
表1
Figure BDA0002129354540000061
仅依据人工随机报文无法准确定位触发漏洞的具体字段,因此引入相似流量聚类报文作为辅助。
S33,相似流量聚类报文是指在格式和内容上与触发漏洞的报文非常相似,但没有触发漏洞的正常通信报文。使用Wireshark捕获工控网络中的正常通信流,利用k-means算法对这些数据包进行聚类,选择与异常测试用例平均相似度最大的聚类,即为相似流量聚类报文。
原k-means聚类算法采用欧几里得距离作为聚类划分的评价指标。该方法计算简单,能有效地将具有相似特征的数据对象聚类成簇。然而,这种基于距离的聚类算法在处理网络数据包时存在一定的局限性。因为网络数据包的相似性不能直接用数值形式表示。
为解决该问题,本发明使用Smith-Waterman算法来计算不同数据包之间的相似性。Smith-Waterman是一种局部序列比对算法,其原理是利用矩阵的迭代计算来计算序列之间的相似性。
对于长度为m的序列S和长度为n的序列T,构造一个大小为(m+1)×(n+1)的矩阵H。矩阵元素Hij的计算方法为:
Figure BDA0002129354540000071
Figure BDA0002129354540000072
依次比较序列S和序列T每个字符的特征,若相同,Di,j=2;若不相同,Di,j=-1。Di,j是用于计算H的中间变量。
矩阵的最后一列和最后一行的最大值是两个序列的相似度。
在k-means算法中,使用报文相似度代替欧几里得距离将原始流量集划分为k个簇。通过以下公式找到与异常测试用例相似度最大的聚类:
Figure BDA0002129354540000073
其中t表示触发漏洞的异常测试用例,tki表示第k个聚类中的第i条报文,S(Tki,t)表示使用Smith-Waterman算法计算出的tki与t的相似度,mk表示第k个聚类包含报文的数量,Q(k,t)表示第k个聚类与异常测试用例的相似度。
相似流量聚类报文与人工随机报文结合,构成用于进行属性约简的决策表。
粗糙集是一种属性约简的数学工具,与其他方法相比,该理论最大的优点是不需要提供任何先验知识,所以能够客观地描述问题的实质。本发明使用粗糙集理论中基于可辨识矩阵的属性约简算法来约简协议字段。
可辨识矩阵的第一行和第一列对应决策表中所有的数据报文,矩阵中的值是任意两条报文之间属性值不同的属性的组合。如以下公式所示,CD(i,j)表示矩阵中第i行第j列元素的值,Mi(xj)表示报文序列xj在字段Mi上的值,P表示所有决策属性,d(xj)代表报文序列xj的决策属性值:
Figure BDA0002129354540000081
即如果两个样本的决策属性值不相等,则把两个样本之间条件属性值互不相等的属性集合作为矩阵的元素值;如果两个样本的决策属性值相等,则相应的矩阵元素值为0。
如果可辨识矩阵中存在只具有单个属性的矩阵元素,则这个属性是区分两个样本个体的重要属性,被称为核属性,两个样本只能够依赖此属性进行区分。
依次对可辨识矩阵的上三角矩阵中所有元素进行析取、合取运算,对其求取最小析取范式,结合核属性,即可求得该决策表的最小约简属性。
对可辨识矩阵的每一个化简结果都代表着一个属性约简结果,将这种方法应用到异常字段定位中,即可求解出触发漏洞的关键字段。
在Modbus TCP协议中,如果因某个字段发生变异导致被测设备出现异常,则表明被测设备对该字段的处理逻辑存在缺陷。在测试过程中增加该字段的变异概率能够检测到更多的漏洞。
利用变异概率函数确定测试过程中每个字段的变异概率。P(i)代表第i个字段的变异概,N代表检测到的漏洞的数量,Q(i)代表由第i个字段触发的漏洞数量:
Figure BDA0002129354540000091
将每个字段的变异概率反馈到用例生成模块,动态指导测试用例生成。增加易触发漏洞的字段的变异概率,降低不相关字段的变异概率。该方法能够减少测试用例冗余,提高漏洞挖掘效率。
应当理解,虽然本说明书根据实施方式加以描述,但是并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为了清楚起见,本领域的技术人员应当将说明书作为一个整体,各个实施方式中的技术方案也可以适当组合,按照本领域技术人员的理解来实施。
上文所列出的一系列详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用于限制本发明的保护范围,凡是未脱离发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于异常字段定位的Modbus TCP协议模糊测试方法,实现本方法的测试结构包含三个模块:用例生成模块、异常监测模块和字段定位模块;用例生成模块与异常监测模块相交互,异常监测模块和字段定位模块相交互;
用例生成模块,通过研究国家信息安全漏洞共享平台CNVD公布的已知漏洞信息,根据漏洞产生的原因和重现的方法对漏洞进行整理,总结出一个针对不同字段类型的畸形数据集;这些畸形数据集中的数据以一定的概率作用于正常协议报文的每个字段,构成模糊测试的测试用例,这样生成的测试用例集直接从漏洞库得来,具有更高的有效性;
异常监测模块,对被测对象进行模糊测试的过程中,需要实时监控被测对象的状态,如果被测对象发生异常,则对异常情况进行实时捕获,记录被测对象出现的错误问题;由于工控系统内部无法本地部署监控程序,只能通过远程监控的方法监测被测对象的运行状态是否正常,而远程监控的方法无法获得被测对象程序的详细数据信息,因此,需要充分利用工控网络协议的协议特征,依据响应报文中携带的数据信息判断被测对象的状态;通过两种方法监测被测对象的异常情况:第一是发送心跳包;第二是对比接收报文与发送报文的协议特征,由此判断是否符合Modbus协议规约;
字段定位模块,对于触发被测设备漏洞的异常测试用例,采用粗糙集中基于可辨识矩阵的属性约简算法,对异常测试用例的具体协议字段进行定位,即确定协议中具体哪一个或哪几个字段导致被测设备的漏洞;对协议字段进行属性约简前,首先需要构造决策表;决策表的论域由人工随机报文和相似流量聚类报文组成;人工随机报文是依次随机改变每个协议特征值得到的随机序列;对于有N个字段的协议,共生成
Figure FDA0003050994210000011
个随机序列报文发送给被测设备,
Figure FDA0003050994210000012
表示随机选择x个字段进行变异的报文数量,同时记录被测设备的响应数据是否正常;相似流量聚类报文是由Wireshark捕获的正常网络流量报文进行聚类,利用Smith-Waterman动态规划算法选取出与漏洞用例最相似的聚类的所有报文,这些报文都是与漏洞用例相似度大但又没有触发漏洞的报文;由于工控协议的协议特征值之间具有依赖关系,所以选择粗糙集理论中的基于分辨矩阵的属性约简算法,利用协议特征之间存在的依赖关系,对协议字段进行属性约简,定位触发漏洞的具体字段;Modbus TCP协议中,一个测试用例由6个协议特征值组成,包括Transaction ID,Protocol ID,Length,UnitID,Fuction和Data,理解为一条数据信息由6个属性描述,并且该条数据信息确定了一个结果属性,该结果属性是被测对象的正常或异常情况;需要确定该数据信息中哪一个或几个特定的属性值是导致该结果属性的关键属性值;
其特征在于,包括以下步骤:
S1,基于工控权威漏洞库构造畸形数据,生成测试用例;
S2,发送测试用例,检测是否触发被测设备漏洞;
S3,对触发漏洞的异常测试用例,定位其触发漏洞的关键字段;
S4,将触发漏洞的关键字段反馈给测试用例生成阶段,指导后续测试用例生成。
2.根据权利要求1所述的一种基于异常字段定位的Modbus TCP协议模糊测试方法,其特征在于,步骤S3中,通过以下方法定位触发漏洞的关键字段:
依据异常测试用例构造字段属性决策表,使用粗糙集中基于可辨识矩阵的属性约简方法,定位触发漏洞的关键字段。
3.根据权利要求2所述的一种基于异常字段定位的Modbus TCP协议模糊测试方法,其特征在于,所述决策表的条件属性是测试用例中不同字段的值,决策属性是该测试用例是否触发漏洞的结果。
4.根据权利要求2所述的一种基于异常字段定位的Modbus TCP协议模糊测试方法,其特征在于,所述决策表的论域由两部分构成:人工随机报文和相似流量聚类报文。
5.根据权利要求4所述的一种基于异常字段定位的Modbus TCP协议模糊测试方法,其特征在于,所述人工随机报文,是对触发漏洞的异常测试用例,依次随机改变每个协议字段的值得到的随机序列;对于有N个字段的协议,共生成
Figure FDA0003050994210000021
个随机序列报文发送给被测设备,同时记录改变后的报文能否触发被测设备的漏洞。
6.根据权利要求3所述的一种基于异常字段定位的Modbus TCP协议模糊测试方法,其特征在于,所述相似流量聚类报文指在格式和内容上与触发漏洞的测试用例相似,但没有触发漏洞的正常通信流量报文。
7.根据权利要求4或6所述的一种基于异常字段定位的Modbus TCP协议模糊测试方法,其特征在于,通过以下方法获取相似流量聚类报文:
对正常工控流量集按照报文相似度进行k-means聚类,计算所有聚类与触发漏洞的异常测试用例的平均相似度,其中平均相似度最大的聚类为相似流量聚类报文。
8.根据权利要求7所述的一种基于异常字段定位的Modbus TCP协议模糊测试方法,其特征在于,所述报文相似度,采用Smith-Waterman动态规划算法来计算。
9.根据权利要求1所述的一种基于异常字段定位的Modbus TCP协议模糊测试方法,其特征在于,步骤S4中,通过以下方法指导后续测试用例生成:
计算协议中每个字段的变异概率,在测试用例生成过程中提高易触发漏洞的字段的变异概率,降低不易触发漏洞的字段的变异概率。
10.根据权利要求9所述的一种基于异常字段定位的Modbus TCP协议模糊测试方法,其特征在于,所述字段变异概率的计算方法为:
Figure FDA0003050994210000031
其中,P(i)表示第i个字段的变异概率,N1表示漏洞的次数,Qi表示由第i个字段触发漏洞的次数,变量C1和C2分别为1和2。
CN201910633252.0A 2019-07-15 2019-07-15 一种基于异常字段定位的Modbus TCP协议模糊测试方法 Active CN110336827B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910633252.0A CN110336827B (zh) 2019-07-15 2019-07-15 一种基于异常字段定位的Modbus TCP协议模糊测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910633252.0A CN110336827B (zh) 2019-07-15 2019-07-15 一种基于异常字段定位的Modbus TCP协议模糊测试方法

Publications (2)

Publication Number Publication Date
CN110336827A CN110336827A (zh) 2019-10-15
CN110336827B true CN110336827B (zh) 2021-06-18

Family

ID=68144961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910633252.0A Active CN110336827B (zh) 2019-07-15 2019-07-15 一种基于异常字段定位的Modbus TCP协议模糊测试方法

Country Status (1)

Country Link
CN (1) CN110336827B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586057B (zh) * 2020-05-09 2022-08-16 杭州安恒信息技术股份有限公司 transaction级别的Modbus协议工控异常行为检测方法、系统
CN112380081B (zh) * 2020-12-04 2023-03-21 哈尔滨工业大学 一种基于字段权重的商用车载can总线模糊测试方法
CN112463638B (zh) * 2020-12-11 2022-09-20 清华大学深圳国际研究生院 基于神经网络的模糊测试方法及计算机可读存储介质
CN112632557A (zh) * 2020-12-22 2021-04-09 厦门大学 基于模糊测试的内核漏洞挖掘方法、介质、设备及装置
CN112867024B (zh) * 2020-12-31 2023-08-18 京信网络系统股份有限公司 测试方法、系统、及通信设备
CN115733635A (zh) * 2021-08-27 2023-03-03 海信集团控股股份有限公司 一种漏洞定位方法、装置、设备及介质
CN113986712A (zh) * 2021-09-10 2022-01-28 深圳开源互联网安全技术有限公司 一种基于http/2的模糊测试方法和装置
CN114205340B (zh) * 2021-12-23 2024-04-02 绿盟科技集团股份有限公司 一种基于智能电力设备的模糊测试方法及装置
CN114978592B (zh) * 2022-04-15 2024-02-23 广西电网有限责任公司电力科学研究院 基于优化的多元组分包机制Modbus漏洞挖掘方法
CN115396347B (zh) * 2022-08-15 2024-02-06 中国人民解放军国防科技大学 一种基于中间人的路由协议模糊测试方法及系统
CN116094972B (zh) * 2023-01-18 2024-05-07 重庆邮电大学 基于QRNN神经网络的Modbus TCP协议模糊测试方法
CN117216772B (zh) * 2023-11-09 2024-03-08 中兴通讯股份有限公司 模糊测试用例优化方法、装置、设备及可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102243608A (zh) * 2010-05-13 2011-11-16 方兴 基于全局数据结构描述的软件安全测试方法
CN105404207A (zh) * 2015-12-14 2016-03-16 中国电子信息产业集团有限公司第六研究所 一种工业环境漏洞挖掘设备与方法
CN105763392A (zh) * 2016-02-19 2016-07-13 中国人民解放军理工大学 一种基于协议状态的工控协议模糊测试方法
CN109614806A (zh) * 2018-12-03 2019-04-12 北京工业大学 基于区块链的日志管理系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805596B2 (en) * 2010-12-28 2014-08-12 Inventus Holdings, Llc Remote wind turbine reset system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102243608A (zh) * 2010-05-13 2011-11-16 方兴 基于全局数据结构描述的软件安全测试方法
CN105404207A (zh) * 2015-12-14 2016-03-16 中国电子信息产业集团有限公司第六研究所 一种工业环境漏洞挖掘设备与方法
CN105763392A (zh) * 2016-02-19 2016-07-13 中国人民解放军理工大学 一种基于协议状态的工控协议模糊测试方法
CN109614806A (zh) * 2018-12-03 2019-04-12 北京工业大学 基于区块链的日志管理系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Intrusion Detection of Industrial Control System based on Modbus TCP Protocol》;wang yusheng等;《2017 IEEE 13th International Symposium on Autonomous Decentralized Systems》;20170608;第156-162页 *
《工业控制系统入侵检测研究综述》;赖英旭等;《通信学报》;20170228;第38卷(第2期);第143-156页 *

Also Published As

Publication number Publication date
CN110336827A (zh) 2019-10-15

Similar Documents

Publication Publication Date Title
CN110336827B (zh) 一种基于异常字段定位的Modbus TCP协议模糊测试方法
US11336669B2 (en) Artificial intelligence cyber security analyst
Vaarandi et al. Logcluster-a data clustering and pattern mining algorithm for event logs
EP2040435B1 (en) Intrusion detection method and system
Gadal et al. Anomaly detection approach using hybrid algorithm of data mining technique
CN106357618A (zh) 一种Web异常检测方法和装置
WO2010114363A1 (en) Method and system for alert classification in a computer network
Zhang et al. Intrusion detection in SCADA systems by traffic periodicity and telemetry analysis
CN113420802B (zh) 基于改进谱聚类的报警数据融合方法
CN107209834B (zh) 恶意通信模式提取装置及其系统和方法、记录介质
Koshal et al. Cascading of C4. 5 decision tree and support vector machine for rule based intrusion detection system
CN113542275A (zh) 一种发电厂工业控制系统的漏洞发现方法
Musa et al. Analysis of complex networks for security issues using attack graph
CN1223941C (zh) 一种基于相关特征聚类的层次入侵检测系统
Giacinto et al. Alarm clustering for intrusion detection systems in computer networks
Tian et al. A transductive scheme based inference techniques for network forensic analysis
Schuster et al. Attack and fault detection in process control communication using unsupervised machine learning
CN114006719B (zh) 基于态势感知的ai验证方法、装置及系统
CN113660223B (zh) 基于告警信息的网络安全数据处理方法、装置及系统
Ahmed et al. Enhancing intrusion detection using statistical functions
Sulaiman et al. Big data analytic of intrusion detection system
TW202008758A (zh) 分散式網路流分析惡意行為偵測系統與其方法
Enigo et al. Hybrid intrusion detection system for detecting new attacks using machine learning
Yu et al. Mining anomaly communication patterns for industrial control systems
Pramudya et al. Implementation of signature-based intrusion detection system using SNORT to prevent threats in network servers

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