本发明专利技术提供了一种面向Modbus协议的模糊测试方法,能够发现工业控制系统的现场设备对Modbus协议数据的处理缺陷。该方法先通过专家知识划分Modbus协议域为静态与动态部分,动态部分通过异常变异树方法构造测试数据集合,大幅度过滤不易引发故障的模糊测试用例;之后整合已公开的漏洞信息构造测试用例,融合到模糊测试用例;再之后基于公开漏洞信息的相似特征通过遗传算法变异出一个或多个测试用例,融合到模糊测试用例,最终生成面向Modbus协议的模糊测试用例,最后设计模糊测试用例的响应信息识别方法,判断缺陷是否存在。该方法实现的装置工作于Modbus TCP/IP层,只需简单点对点的网络配置,即能有效地发现现场设备对Modbus协议数据的处理缺陷。
【技术实现步骤摘要】
一种面向Modbus协议的模糊测试方法
本文专利技术属于工业控制系统的安全
,具体的说是一种面向Modbus协议的模糊测方法。
技术介绍
工业控制系统(IndustryControlSystem,ICS)进入电力行业较早,发展时间最长,采用的协议也最多,主要包括:Modbus、DNP3.0、IEC60870-5-101/104、ICCP(即IEC60870-6或者TASE.2)和IEC61850等;其它行业的ICS发展相对滞后,使用情况比较类似,主要包括Modbus、OPC等,所以Modbus协议是目前国内工业控制系统采用最多的协议之一,目前Modbus协议已经在石油、电力、能源、冶金等行业的工业控制系统或SCADA系统中进行了广泛应用。工业控制系统的系统正面临新的安全威胁,针对工控系统的传统简单攻击手段已经演变为高级可持续性威胁(AdvancedPersistentThreat,APT)。APT攻击范围广、针对性强,对能源、军工、金融、制造等国家重大基础设施将造成灾难性破坏,已经关系到国家的战略安全。由于目前APT攻击采用了“0-day”漏洞,所以针对APT攻击,没有有效的防御手段,唯一的方式就是在攻击者掌握“0-day”漏洞之前,发现“0-day”漏洞,对现场设备漏洞进行补丁升级。正由于国内工业控制系统中Modbus协议应用广,且高级可持续性威胁的出现,已经关系到国家的战略安全,目前需要针对Modbus协议进行有效的模糊测试,发现现场设备中关于处理Modbus协议的缺陷,测试设备中关于Modbus的“0-day”漏洞,给出详细出错信息,有利于设备开发人员进行修复或补丁升级。由于工业现场设备的安全测试与IT系统的安全测试在工业通信协议、工业控制系统漏洞库、测试反馈结果要支持嵌入式电子设备的特殊输出方式等方面存在着不同之处,需要对传统IT系统的模糊测试在以上三方面进行改进,并且要提出更有效的、符合工业专有协议的模糊测试方法。综上,为了解决面向Modbus协议的模糊测试技术,本文提出了三方面构造模糊测试用例,并通过异常变异树减小冗余测试用例的情况,能智能、高效的发现现场设备中存在的Modbus协议处理缺陷。
技术实现思路
有鉴于此,本专利技术的目的是提供一种面向Modbus协议的模糊测试方法,基于人工分析与异常变异树技术,生成模糊测试用例,并设计响应识别模型,发现工业控制系统的现场设备对Modbus协议数据的处理缺陷。本专利技术提供了一种面向Modbus协议的模糊测试方法,包括以下步骤:1)生成三种测试用例:由异常变异树生成的模糊测试用例、基于公开漏洞信息生成的测试用例、基于公开漏洞信息的相似特征生成的测试用例;2)将三种测试用例进行冗余整合处理,最终生成面向Modbus协议的模糊测试用例;3)对发送的模糊测试用例,针对响应信息进行判断是否存在缺陷。所述异常变异树生成的模糊测试用例的生成方法为:Modbus协议域分析:将Modbus请求与响应报文划分为26类模糊测试用例;专家知识划分静态与动态协议域:将Modbus协议域分析结果划分为动态与静态部分,所述静态部分不需要组合变异,通过每个类型的模板库生成固定常亮的测试用例;所述动态部分需要组合变异,根据异常变异树的每个属性的变异规定进行每个部分的变异;协议域通过异常变异树生成模糊测试用例:针对每类功能码确定一个模板报文,静态与动态部分基于模板报文进行模糊测试用例生成。所述动态部分协议域采用异常变异树方式产生模糊测试用例,其中变异技术产生模糊测试用例中域变化的情况,基于污点数据区域进行裁剪,大大缩减测试用例规模;树形方式对协议域变化情况与协议域格式进行管理,组合生成模糊测试用例。所述基于公开漏洞信息生成的测试用例给出的具体协议域异常变异特征的描述,生成测试用例,融合到模糊测试用例中,并设置最高优先级。所述公开漏洞构造测试用例包括:通过NVD、CVE、中国国家信息安全漏洞库的公开内容,构造Modbus相关的已知漏洞库;构造已知漏洞特征码为核心的一组交互数据流.所述基于公开漏洞信息的相似特征生成的测试用例的生成方法为:相似特征提取:基于协议域分析公开漏洞信息引起故障的特征,提取多个公开漏洞具有相似特征的部分;在初始特征上变异构造测试用例:规定生成的测试用例的上限,基于遗传算法或第三方工具生成符合上限数量的测试用例。所述冗余整合处理包括:将模糊测试用例、基于公开漏洞信息的相似特征生成的测试用例、基于公开漏洞信息生成的测试用例进行冗余处理,并设置有效的优先级。所述响应识别包括:针对以太网信号、工业电平信号,判断响应信号属于哪个测试用例,进而判断漏洞是否存在。所述判断漏洞存在的方法基于校正模型,实现精确的漏洞识别。本专利技术在深入理解Modbus协议及模糊测试技术的基础上设计,有很好的全面性与实用性,能有效降低变异空间,使之能高效的发现现场设备中存在的Modbus缺陷。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,均应落入本专利技术的保护范围。图1为本专利技术中模糊测方法整体流程图;图2为本专利技术中模糊测试方法的详细结构示意图;图3为本专利技术中异常变异树组织示意图;图4为本专利技术中基于Modbus协议的数据包格式域图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。考虑到工业现场设备的安全测试与IT系统的安全测试在工业通信协议、工业控制系统漏洞库、测试反馈结果要支持嵌入式电子设备的特殊输出方式等方面存在着缺陷,本专利技术提供了针对这些问题的解决方案,同时引入了异常变异树对协议域中动态与静态部分的不同处理方式,可以在保证测试报文能有效测试目标故障的同时,使模糊测试用例组合空间减少,加快测试效率。图1是本专利技术方法的整体测试流程,图2为方法的详细模块结构示意图,以下根据图1的具体实现及图2的具体模块功能,实现待测目标中Modbus协议缺陷的发现,其中待测目标将包含所有支持Modbus协议的嵌入式电子设备,如可编程逻辑控制器(PLC)、分布式控制系统(DCS)、智能嵌入式设备(IED)等。基于图1,本专利技术测试用例包含异常变异树生成的模糊测试用例、基于公开漏洞信息生成的测试用例、基于公开漏洞信息的相似特征生成的测试用例三个部分,之后将三个部分进行冗余处理,发送最终的模糊测试用例,对测试数据的响应信息进行漏洞识别处理。第一部分测试用例,具体地,异常变异树生成的模糊测试用例部分:如图3所示,首先Modbus协议域规定了请求与响应报文均封装为IP头、TCP头、MBAP头(包括事务处理标识符、协议标识符、长度、单元标识符)、功能码、数据;分类Modbus协议为标准协议规定的21类功能码(1~21)、保留扩展功能码(22~64)、保留以备用户所用功能码(65~72)、非法功本文档来自技高网...
【技术保护点】
一种面向Modbus协议的模糊测试方法,其特征在于,包括以下步骤: 1)生成三种测试用例:由异常变异树生成的模糊测试用例、基于公开漏洞信息生成的测试用例、基于公开漏洞信息的相似特征生成的测试用例; 2)将三种测试用例进行冗余整合处理,最终生成面向Modbus协议的模糊测试用例; 3)对发送的模糊测试用例,针对响应信息进行判断是否存在缺陷。
【技术特征摘要】
1.一种面向Modbus协议的模糊测试方法,其特征在于,包括以下步骤:1)生成三种测试用例:由异常变异树生成的模糊测试用例、基于公开漏洞信息生成的测试用例、基于公开漏洞信息的相似特征生成的测试用例;2)将三种测试用例进行冗余整合处理,最终生成面向Modbus协议的模糊测试用例;3)对发送的模糊测试用例,针对响应信息进行判断是否存在缺陷;所述异常变异树生成的模糊测试用例的生成方法为:Modbus协议域分析:将Modbus请求与响应报文划分为26类模糊测试用例;专家知识划分静态与动态协议域:将Modbus协议域分析结果划分为动态与静态部分,所述静态部分不需要组合变异,通过每个类型的模板库生成固定常亮的测试用例;所述动态部分需要组合变异,根据异常变异树的每个属性的变异规定进行每个部分的变异;协议域通过异常变异树生成模糊测试用例:针对每类功能码确定一个模板报文,静态与动态部分基于模板报文进行模糊测试用例生成。2.根据权利要求1所述的一种面向Modbus协议的模糊测试方法,其特征在于,所述动态部分协议域采用异常变异树方式产生模糊测试用例,其中变异技术产生模糊测试用例中域变化的情况,基于污点数据区域进行裁剪,大大缩减测试用例规模;树形方式对协议域变化情况与协议域格式进行管理,组合生成模糊测试用例。3.根据权利要求1所述的一种面向Modbus协议的模糊测试方法,其特征在于,所述基于公开漏洞信息生成的测试用例...
【专利技术属性】
技术研发人员:于海斌,曾鹏,尚文利,万明,赵剑明,
申请(专利权)人:中国科学院沈阳自动化研究所,
类型:发明
国别省市:辽宁;21
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。