当前位置: 首页 > 专利查询>上海大学专利>正文

一种Modbus TCP协议模糊测试中畸形数据过滤方法技术

技术编号:20875321 阅读:46 留言:0更新日期:2019-04-17 11:20
本发明专利技术涉及一种Modbus TCP协议模糊测试畸形数据过滤方法。本方法操作步骤如下:(1)用户导入抓包文件;(2)从的抓包文件中得到通信报文;(3)校验通信报文的特定字段信息,并将该字段信息加入到报文之中;(4)对报文归一化处理得到改进的应用数据单元(IADU);(5)将多个IADU构造训练矩阵;(6)对训练矩阵进行降维得到训练数据;(7)使用训练数据构建判定机制;(8)判定机制判定待输入数据,对之进行舍弃和保留。本发明专利技术实现了对待输入畸形数据的过滤,减少了无效测试数据的输入带来的额外通信负载,在待测目标数据吞吐受限的情况下,提升了模糊测试的速率和效率。

【技术实现步骤摘要】
一种ModbusTCP协议模糊测试中畸形数据过滤方法
本专利技术涉及了工业网络安全领域,尤其涉及一种ModbusTCP协议模糊测试中畸形数据过滤方法。
技术介绍
工业网络控制系统安全问题受到广泛重视,Modbus协议是Modicon公司1979年提出的一种工业控制协议,具有协议标准开放、支持范围广和实时性好等特点,在工业控制系统中应用十分广泛。ModbusTCP协议是运行在TCP/IP协议上的Modbus协议,Modbus协议数据单元作为传输层负载进行传播,因此ModbusTCP协议也继承了TCP/IP协议的漏洞,此外,Modbus协议本身存在如明文传输、缺乏认证机制等问题,以及实现过程中程序存在的不足也会产生一系列安全漏洞。工业控制网络所使用的通信协议由于在其设计之初未充分考虑外来攻击和入侵等情况,其在安全性上有许多不足。Modbus协议存在缺乏加密,缺乏认证和缺乏授权等问题。又由于ModbusTCP是运行于TCP/IP协议之上的Modbus协议,TCP/IP协议中的存在的安全性问题也会影响到工业控制网络安全。如在ModbusTCP协议中,由于Modbus协议数据单元以传输层负载的形式进行传播,通信双方可能受到中间人、拒绝服务、IP欺骗等互联网中常用攻击手段的攻击。同时由于工程师在实现工业控制网络通信协议的过程中可能存在经验不足等问题,最后实现的通信协议中也有可能存在漏洞。针对工业控制网络攻击的种类和数量不断增多,在卡巴斯基实验室解决方案保护的能源组织工业控制系统中,有近40%在2017年下半年遭受过一次恶意攻击。恶意攻击者利用工业控制网络协议中的不足和漏洞可以对攻击对象造成严重的危害。在攻击者进行攻击之前发现不足和漏洞,以便于提前进行防范和修补具有重大意义。模糊测试通过向待测目标输入大量的畸形数据来发现待测目标中存在的缺陷和漏洞。模糊测试常用来检测网络协议中存在的缺陷,输入文件是否合法,其测试的自动化程度较高,适用范围较广。模糊测试方法的一个评价指标是使用单位测试用例寻找到的待测目标的缺陷和漏洞的个数,个数越多则模糊测试的命中率越高。模糊测试可以被用于发现ModbusTCP协议中的漏洞。由于运行ModbusTCP协议的工业设备通信能力不如商业IT设备,因此对此类设备进行模糊测试时会因其可承受负载低而无法拥有可观的数据吞吐速率,进而降低了测试的速度。通过建立判定机制实现对畸形数据的实时过滤,在输入序列中保留发现待测目标漏洞可能性较高的畸形数据,舍弃可能性较低的畸形数据,一种在数据吞吐速率受限的情况下提高模糊测试的效率和速率的方法。在处理训练判定机制的样本数据中,由于数据写入过长导致的缓冲区溢出是70%的漏洞的起因,因此样本数据的原始长度信息必须保留,且不能在后续处理中丢失,以使最终的判定机制获得对缓冲区溢出的判断能力,增加判定畸形数据能否发现漏洞的准确率。通过将在原始的样本数据格式中增加新的字段,其值为样本数据的实际长度,构造出一个改进的应用数据单元(IADU),从而防止在后续处理中因样本数据长度发生变化导致长度信息丢失。训练数据中字段和字段之间的重复信息会给判定机制的训练和工作带来额外的计算量,从而影响判定的实时性。因此在保留样本数据原始长度信息的前提下,通过对样本数据的降维,舍弃冗余的字段,实现保证判定的准确性的同时降低计算量,从而保证了判定实时性。判定机制必须具有在保证实时判定的前提下,根据新的漏洞信息,迅速地更新判定规则的能力。概率神经网络由于准确率高,训练迅速的特点,可以用于构建判定机制。
技术实现思路
本专利技术的目的在于,针对已有技术中待测ModbusTCP设备数据吞吐速率受限导致的模糊测试测试效率低的问题,提出一种ModbusTCP协议模糊测试中畸形数据过滤方法,通过保留待输入畸形数据队列中发现待测设备漏洞可能性较高的数据,舍弃可能性较低的畸形数据,实现了对待输入畸形数据的过滤,减少了无效测试数据的输入带来的额外通信负载,在待测目标数据吞吐速率受限的情况下,提升了模糊测试的速度和效率。为达到上述目的,在本专利技术的一种ModbusTCP协议模糊测试中畸形数据过滤方法采用技术方案如下:(1)用户导入抓包文件:用户使用数据输入部分中的训练数据导入模块导入抓包文件。(2)获取通信报文:数据处理部分中的报文预处理模块从抓包文件中获得通信报文。(3)检验通信报文的特定字段信息,并将该字段信息加入保温之中:为防止训练数据的长度信息在后续处理中因数据长度发生变化发生丢失,对通信报文的特定字段如长度字段进行重新校验,并将重新得到的字段信息添加入报文中,得到新的训练数据。(4)对报文进行归一化处理得到IADU。各个字段归一化的基准是各自能取到的最大值。(5)使用i个IADU构成训练数据矩阵Si。(6)对训练矩阵进行降维操作得到训练数据:为减小计算复杂度和降低最终的判定机制的结构复杂度,提取训练数据矩阵Si的前j列得到矩阵Sij。并对Sij进行PCA处理。将PCA处理中的协方差矩阵C的所有特征值进行降序,取前m个特征值λ1,λ2,…,λm,使用其对应的特征向量p1,p2,…,pm构成矩阵T=(p1,p2,…,pm)。将Sij投影到特征向量构成的矩阵上即可得到PNN构造样本的数据集(7)使用训练数据构建判定机制:根据是否引发测试目标异常和异常的类型,可以将样本中的报文分为Y-1种异常类型报文和1种正常类型的报文,将正常报文类型记为第1种类型。此处将第t类报文包含的报文总数记为Nt。记rtw为中第t类中第w个报文对应的维数为m的行向量。构造PNN,求和层中的神经元是训练数据集中各个行向量。求和层中各神经元表示rtw向量所属的类别。输出层输出输入向量X相似程度最大的类别号。(8)判定机制判定输入数据,对之进行舍弃和保留:使用PNN判定待输入畸形数据的IADU。若判定结果为1,则舍弃该数据,若不为1,则将数据发送到待测设备。本专利技术与现有技术相比较,具有显而易见的突出实质性特点和显著技术进步:(1)保留了训练数据的长度信息,使最终得到的判定机制能准确判定待输入数据的实际长度过长能否发现待测目标漏洞。(2)对训练数据矩阵Si进行截取并进行PCA能有效降低得到的PNN的结构复杂度,降低判定的计算量,保证判定的实时性。(3)随着测试过程的进行,由于PNN具有重训练迅速的特点,判定机制能实时地进行更新,从而增强判定能力。附图说明图1为本专利技术的具体操作程序框图。图2是本专利技术的一种ModbusTCP协议模糊测试中畸形数据过滤方法被运用在对ModbusTCP协议进行模糊测试中的原理示意图。图3是实施例中经过改进的ModbusTCP应用数据单元的格式。图4是实施中所建立的PNN示意图。图5是实施例中所使用的PNN工作流程图。具体实施方式为使本专利技术的技术方案和优点更加清晰明确,下面将结合本专利技术中优选实施例中的附图,对本专利技术实施例中的技术方案进行详细阐述,显然,所阐述的实例仅仅是本专利技术的一部分实例,并不是全部实例。基于本专利技术中的实施例,本领域的普通技术人员在没有做出创造性工作前提下所获得的所有其他实例,都属于本专利技术保护的范围。参看图2,所有实施例基于本专利技术提出了一种ModbusTCP协议模糊测试中畸形数据过滤方法。实施例一:参见图1,本文档来自技高网
...

【技术保护点】
1.一种Modbus TCP协议模糊测试中畸形数据过滤方法,其特征在于操作步骤如下:(1) 用户导入抓包文件;(2) 从抓包文件中得到通信报文;(3) 校验通信报文的特定字段信息,并将该字段信息加入到报文之中;(4) 对报文归一化处理得到IADU;(5) 将

【技术特征摘要】
1.一种ModbusTCP协议模糊测试中畸形数据过滤方法,其特征在于操作步骤如下:(1)用户导入抓包文件;(2)从抓包文件中得到通信报文;(3)校验通信报文的特定字段信息,并将该字段信息加入到报文之中;(4)对报文归一化处理得到IADU;(5)将i个IADU构造训练矩阵,i为除0和1以外的自然数;(6)对训练矩阵进行降维得到训练数据;(7)使用训练数据构建判定机制;(8)判定机制判定待输入数据,对之进行舍弃和保留。2.权利要求1所述的一种ModbusTCP协议模糊测试中畸形数据过滤方法,其特征在于:所述步骤(3)中涉及的特定字段是用来反映报文长度信息的字段。3.权利要求1所述的一种ModbusTCP协议模糊测试中畸形数据过滤方法,其特征在于:所述步骤(4)中...

【专利技术属性】
技术研发人员:任蒲军付敬奇易慕白周鹏王海宽姚骏
申请(专利权)人:上海大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1