一种模糊测试效果的多维度异常监测方法与流程

文档序号:15700532发布日期:2018-10-19 19:45阅读:193来源:国知局

本发明涉及异常监测方法技术领域,尤其涉及一种模糊测试效果的多维度异常监测方法。



背景技术:

工业自动化控制系统以及物联网系统在享受开放、互联技术带来的进步、效率与利益的同时,也面临着日益严重的安全威胁。针对这些安全威胁,大量的模糊测试工具应运而生。这些工具验证已知漏洞,并尽可能地挖掘出设备的未知漏洞。在模糊测试过程中,判断漏洞的依据主要是目标设备的状态。

工控和物联网设备正常工况下提供的网络服务响应延迟应该控制在一定的范围内,否则就会引发客户端重连,甚至造成服务停止的假象。同样,作为工控和物联网设备输出结果的I/O负载模块的输出信号,也应该具备一定的规律,如果出现和正常规律差异较大的“抖动”,那么整个系统的工作极有可能进入了异常状态。

目前市场上的模糊测试产品都会有各自的目标设备状态检测模块,通常的检测方法有以下两种:

(1)基础协议测试,如TCP、UDP、APR、ICMP等,通过发送协议数据包,观察回复内容来判断目标设备状态;

(2)外部工具测试,如ping、nmap、特定协议客户端等,调用外部工具发送特定数据包,根据工具返回结果判断目标设备状态。

目前这些检测方法的优点是实现起来比较简单,且检测运行稳定,缺点有以下几点:

1、无法满足复杂协议的自身检测,如果出现被测设备的复杂协议不响应但基础协议仍正常时,方法1就无法满足,方法2必须对每一个复杂协议提供一个协议客户端,实现起来比较麻烦;

2、无法监测工控和物联网设备的硬件状态;

3、无法满足自定义协议的检测要求。



技术实现要素:

本发明提供一种模糊测试效果的多维度异常监测方法,目的在于解决上述问题。

本发明通过以下技术方案来实现上述目的:

本发明包括

网络监测器:采用xml格式的描述方式,使用不同方法向目标设备发送测试数据包,监测网络服务,测试数据包的格式由xml脚本内容决定,同时也支持调用外部程序发送测试数据包;

信号监测器:通过被测设备的模拟信号或数字信号输出波形判断DUT在测试期间是否正常工作;

所述网络监测器和所述信号监测器的信号输出端与网络发包器通讯连接,所述信号监测器通过USB与采集卡通讯连接,所述采集卡与所述整形器通讯连接,所述网络发包器采集目标设备的数据包,所述目标设备传输I/O信号至所述整形器;

所述网络监测器监测目标设备的被测服务,以一定的时间间隔或发包间隔发送探测包,当在规定的响应时间内没有收到回复,则认为探测失败,并返回错误状态;

所述信号监测器通过分析被测设备的输出抖动来判断被测设备是否可以在测试期间能够保持必要的控制功能,抖动是预期的状态切换时间和实际的状态切换时间之间的差值,所述抖动的计算公式为:

抖动值(Jitter) = |time_real – time_expect|,

其中time_expect是预期状态切换时间,time_expect是实际状态切换时间,单位为ms。

本发明优选的,所述网络监测器的监测方式包括常用协议监测器、外部监测器、自定义监测器和测试协议监测器。

本发明优选的,所述常用协议监测器是固化在系统中的,支持ARP、ICMP、UDP、TCP、SNMP和PROFINET-DCP多种协议,监测器以脚本方式保存在数据库中,以xml格式存储,格式如下:

<script version="2.0.0" name="DNP3.Monitor">

<send channel="DEFAULT">

<PDU name="dnp3_request" protocol="DNP3">

<field name="start_bytes" type="Unsigned16">05 64</field>

<field name="length" type="Unsigned8">05</field>

</PDU>

</send>

<recv channel="DEFAULT">

<PDU name="dnp3_response" protocol="DNP3">

<field name="start_bytes" type="Unsigned16">05 64</field>

<field name="length" type="Unsigned8">05</field>

<field name="control" type="Unsigned8">0b</field>

</PDU>

</recv>

</script>。

本发明优选的,所述外部监测器以xml格式存储,内容中指定调用的外部程序名称以及参数,格式如下:

<script name="TCP.monitor" version="2.0.0">

<call name="TCP_monitor">

<parameter name="plugin_name">tcp_scan</parameter>

</call>

</script>。

本发明优选的,所述自定义监测器,对于系统提供的监测器仍然不满足需求时,系统支持自定义导入,允许用户提供按系统规范编写的xml格式的监测器,并导入系统,主要用于某些自定义协议的测试。

本发明优选的,所述测试协议监测器,直接使用测试数据包内容改造后进行监测,将测试数据包中的变异内容去掉,只使用正确的字段值,准确的测试目标设备的服务。

本发明的有益效果在于:

本发明提供一种模糊测试效果的多维度异常监测方法,使用信号监测器实时监测目标设备的信号输出状态,避免由于信号不稳定造成的控制错误,信号抖动计算的算法保证监测结果的精度可以控制在毫秒级,有效消除误报;采用XML格式定义的网络监测器,支持自定义监测器,系统扩展性好,监测更加准确;采用网络监测与信号监测结合使用的方法,能够更全面,多维度的监测目标设备的实时状态;网络监测器可以采用实际测试协议的测试包进行监测,保证测试准确性。

附图说明

图1是本发明所述网络监测器的结构示意图;

图2是本发明所述信号监测器的结构示意图;

图3是本发明所述抖动值的计算图;

图4是本发明所述信号采集默认配置的电流波形图;

图5是本发明所述信号采集默认配置的电压波形;

图6是本发明所述信号采集默认的数字波形图。

具体实施方式

下面结合附图对本发明作进一步说明:

如图1所示:本发明包括

网络监测器:网络服务的监测采用xml格式的描述方式,使用不同方法向目标设备发送测试数据包,测试数据包的格式由xml脚本内容决定,同时也支持调用外部程序发送测试数据包;

信号监测器:信号输出的监测通过被测设备的模拟信号或数字信号输出波形判断DUT在测试期间是否正常工作;

所述网络监测器和所述信号监测器的信号输出端与网络发包器通讯连接,所述信号监测器通过USB与采集卡通讯连接,所述采集卡与所述整形器通讯连接,所述网络发包器采集目标设备的数据包,所述目标设备传输IO信号至所述整形器;

所述网络监测器监测目标设备的被测服务,以一定的时间间隔或发包间隔发送探测包,当在规定的响应时间内没有收到回复,则认为探测失败,并返回错误状态;

如图3所示,所述信号监测器通过分析被测设备的输出抖动来判断被测设备是否可以在测试期间能够保持必要的控制功能,抖动是预期的状态切换时间和实际的状态切换时间之间的差值,被测设备的最小值和最大值电压为0V和5V,监测器通过分析被测设备的输出抖动来判断被测设备是否可以在测试期间能够保持必要的控制功能。抖动是预期的状态切换时间和实际的状态切换时间之间的差值。以输出电压为例,当实际电压大于电压上升期望值的高阈值的90%时,或当实际电压低于电压下降期望值的低阈值的90%时,状态会确定发生一个转换。抖动的计算过程如下所述抖动的计算公式为:

抖动值(Jitter) = |time_real – time_expect|,

其中time_expect是预期状态切换时间,time_expect是实际状态切换时间,单位为ms。

抖动值是由上述方程计算的,它是在毫秒内实际转换时间与预期时间的偏差。被测设备的指标由抖动容忍值和置信比数值决定,二者可以根据设备自身情况进行配置。置信比是一个百分比,表明抖动值在设置的抖动容忍值之内的百分比。例如,如果抖动容忍值为50ms,置信比是95%,这意味着95%的抖动测量值预期将小于60ms(10ms+50ms,10ms为系统测量误差)。此外,单个监测点的最大抖动测量值应小于85ms(10ms + 1.5 *抖动容忍值)。否则,监测器将报告失败。

如图1所示,所述网络监测器的监测监测方式包括常用协议监测器、外部监测器、自定义监测器和测试协议监测器。

所述常用协议监测器是固化在系统中的,支持ARP、ICMP、UDP、TCP、SNMP和PROFINET-DCP多种协议,监测器以脚本方式保存在数据库中,以xml格式存储,xml脚本如下:

<script version="2.0.0" name="DNP3.Monitor">

<send channel="DEFAULT">

<PDU name="dnp3_request" protocol="DNP3">

<field name="start_bytes" type="Unsigned16">05 64</field>

<field name="length" type="Unsigned8">05</field>

</PDU>

</send>

<recv channel="DEFAULT">

<PDU name="dnp3_response" protocol="DNP3">

<field name="start_bytes" type="Unsigned16">05 64</field>

<field name="length" type="Unsigned8">05</field>

<field name="control" type="Unsigned8">0b</field>

</PDU>

</recv>

</script>。

所述外部监测器以xml格式存储,内容中指定调用的外部程序名称以及参数,格式如下:

<script name="TCP.monitor" version="2.0.0">

<call name="TCP_monitor">

<parameter name="plugin_name">tcp_scan</parameter>

</call>

</script>。

所述自定义监测器,对于系统提供的监测器仍然不满足需求时,系统支持自定义导入,允许用户提供按系统规范编写的xml格式的监测器,并导入系统,主要用于某些自定义协议的测试。

所述测试协议监测器,直接使用测试数据包内容改造后进行监测,将测试数据包中的变异内容去掉,只使用正确的字段值,准确的测试目标设备的服务。

如图2所示,信号监测由信号采集和监测模块组成,信号采集用一块外部采集卡完成,为了使信号采集功能化,被测设备的输出电流和电压被整形器整形为指定的控制波,做等比的降压或降流处理,保证输出处于指定的范围,同时又不更改原有的波形。信号采集同时支持模拟信号和数字信号。

如图4和图5所示,目标设备的模拟输出波形整形后具有以下特性:

1)它是由10个相同步骤的递增值和20个相同步骤的递减值组成;

2)每个步骤都有一个由参数定义的周期,该参数的默认值为1000毫秒;

3)每个循环都有一个周期参数定义的周期,它的默认值为30000毫秒;

4)由监视器的最小值和最大值参数指定的值之间的状态转换。

如图6所示,被测设备的电压输出范围为1 - 5V,电流的输出范围为4 - 20mA,输出电流还是电压由被测设备决定。

目标设备的数字输出波形整形后具有以下特性:

包含一个1/3占空比的方波,以3s为一个周期,有1s保持“1”,2s保持“0”。

1)每个循环都有一个周期参数定义的周期,它的默认值为3000毫秒;

2)由监视器的最小值和最大值参数指定的值之间的状态转换;

3)循环重复下去。

综上所述,本发明提供一种模糊测试效果的多维度异常监测方法,使用信号监测器实时监测目标设备的信号输出状态,避免由于信号不稳定造成的控制错误,信号抖动计算的算法保证监测结果的精度可以控制在毫秒级,有效消除误报;采用XML格式定义的网络监测器,支持自定义监测器,系统扩展性好,监测更加准确;采用网络监测与信号监测结合使用的方法,能够更全面,多维度的监测目标设备的实时状态;网络监测器可以采用实际测试协议的测试包进行监测,保证测试准确性。

本领域技术人员不脱离本发明的实质和精神,可以有多种变形方案实现本发明,以上所述仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效结构变化,均包含于本发明的权利范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1