网络化测试技术综述
模糊测试技术研究综述
模糊测试技术研究综述模糊测试技术研究综述一、引言随着软件领域的快速发展,软件测试已经成为软件开发过程中不可或缺的一部分。
模糊测试作为软件测试中的一种重要技术手段,越来越受到研究者和工程师的关注。
本文将对模糊测试技术进行综述,对其基本概念、原理和应用进行探讨,以及目前存在的问题和未来发展方向进行分析。
二、模糊测试的基本概念模糊测试(Fuzz Testing),也称为随机测试(Random Testing),是指以随机性为基础,对软件系统的输入进行测试的一种方法。
其基本思想是将随机生成的测试输入输入到被测软件系统中,然后观察是否能触发系统的错误行为。
模糊测试通常以一种黑盒测试的方式进行,即对软件内部的具体实现细节一无所知,仅关注其对输入的反应。
三、模糊测试的原理模糊测试的原理可以归纳为以下几点:1. 输入生成:模糊测试通过随机生成测试输入数据,其中包括对输入长度、格式、类型等进行随机性变异,以提高测试用例的覆盖率。
2. 输入注入:将生成的测试输入注入到被测软件系统中,模拟真实用户的输入动作。
3. 错误检测:通过监控被测软件系统的行为,识别是否发生异常或错误行为。
如果发现异常或错误,模糊测试算法将会记录测试输入,以便进行后续的深入分析和修复。
4. 演化策略:模糊测试通常采用一种演化策略,即根据之前的成功测试用例对新的测试输入进行变异和演化,以找到更多可能的错误和漏洞。
四、模糊测试的应用领域模糊测试广泛应用于软件安全领域,其中最为重要的应用领域包括以下几个方面:1. 操作系统和驱动程序:模糊测试能够发现潜在的漏洞和系统错误,提高系统的稳定性和安全性。
2. 网络协议和通信软件:模糊测试可以揭示网络协议和通信软件中存在的漏洞,帮助开发者及时修复。
3. 数据库管理系统:模糊测试可以测试数据库管理系统的各种操作,从而发现潜在的性能问题和安全隐患。
4. Web应用程序:模糊测试可以对Web应用程序进行安全测试,发现可能存在的漏洞,如跨站脚本攻击、SQL注入等。
工控网络协议Fuzzing测试技术研究综述_熊琦
小型微型计算机系统Journal of Chinese Computer Systems 2015年3月第3期Vol.36No.32015收稿日期:2013-11-25收修改稿日期:2014-06-01基金项目:国家自然科学基金项目(90818021,61472448)资助.熊琦,男,1983年生,博士,副研究员,研究方向为工控信息安全;彭勇,男,1974年生,博士研究生,副研究员,研究方向为隐患分析;伊胜伟,男,1977年生,博士,助理研究员,研究方向为工控风险评估;戴忠华,男,1979年生,博士研究生,助理研究员,研究方向为网络与信息安全;王婷,女,1986年生,硕士,实习研究员,研究方向为信息安全.工控网络协议Fuzzing 测试技术研究综述熊琦,彭勇,伊胜伟,戴忠华,王婷(中国信息安全测评中心,北京100085)E-mail :xiongq@itsec.gov.cn摘要:随着信息化和工业化的深度融合,控制系统在工业生产过程中得到了越来越广泛的应用,很多研究者开始针对工控系统,特别是具有控制功能的工控网络协议的安全性展开研究,漏洞分析则是其中较为活跃的领域之一.由于工控网络协议具有专用性和面向控制的特点,通常在封闭环境下运行,无法直接应用传统Fuzzing 测试技术进行网络协议的漏洞挖掘.本文阐述了工控网络协议的特点以及Fuzzing 测试的困难,讨论并比较了现有各种Fuzzing 测试技术应用于工控网络协议的优缺点,提出工控网络协议的专用Fuzzing 测试工具的设计准则,最后展望了工控网络协议Fuzzing 测试技术的未来研究方向.关键词:工业控制系统;工控网络协议;漏洞挖掘;模糊测试中图分类号:TP393文献标识码:A文章编号:1000-1220(2015)03-0497-06Survey on the Fuzzing Technology in Industrial Network ProtocolsXIONG Qi ,PENG Yong ,YI Sheng-wei ,DAI Zhong-hua ,WANG Ting(China Information Technology Security Evaluation Center ,Beijing 100085,China )Abstract :with the deep integration of informatization and industrialization ,the Industrial Control system (ICS )becomes more and more popular in the industrial production ,a great amount of researchers start to focus their research interest on the security of industrial network protocols and vulnerability detecting becomes one of the hot points in this field.Due to the specific features of ICS ,like process control o-riented and proprietary ,traditional Fuzzing technology cannot be directly applied to vulnerability detecting for industrial network proto-cols ,which runs in the closed envirnment.This paper described the features of industrial network protocols first ,then investigated the fea-tures of industrial control protocols and the difficulties of Fuzzing test on them ,discussed the current research achievements presented in this field ,introduced the design guidelines of general Fuzzing tools for industrial control protocols.Finally ,the further research direction of this field is discussed in detail.Key words :industrial control system ;industrial network protocol ;vulnerability detecting ;fuzzing test1引言自从2010年伊朗核电站“震网”病毒事件[1,2]爆发以来,作为国家关键基础设施的重要组成部分,工业控制系统(In-dustrial Control System ,ICS )安全逐渐成为网络安全领域的研究热点.ICS 主要包括数据采集与监控(Supervisory Control and Data Acquisition ,SCADA )系统、分布式控制系统(Distribu-ted Control System ,DCS )、可编程逻辑控制器(Programmable Logical Controller ,PLC )、远程终端单元(Remote Terminal Unit ,RTU )等,其通信方式主要包括工程师站、操作员站等上位机与PLC 等工控设备之间的通信、工控设备与生产装置之间的通信以及上位机与OPC 、数据库等服务器之间的通信,所采用的协议包括以太网和总线通信方式,总线协议主要使用RS232和RS485接口,采用硬接线作为通信介质,基于串行协议,适合于低速率、间歇性数据通信;工业以太网采用RJ45接口,使用双绞线作为传输介质,基于TCP /IP 协议栈,适合于进行生产过程数据传输,具有速率快、兼容性好的特点.ICS 目前已广泛应用于石油石化、交通控制、电力设施、制造业以及核工业等各工业领域,用于数据采集、远程控制、生产过程控制,对提升企业的生产和管理水平,实现工业生产自动化、绿色化,实现节能降耗、减排、增产增效和可持续发展发挥了重要的作用.传统ICS 由于相对封闭和专用,在设计上较少考虑安全问题,防护能力薄弱.随着工业化和信息化的深度融合,越来越多的工控设备集成以太网通信功能与ERP 甚至互联网连接,在提高数据共享效率,改进企业管理水平的同时也引入了黑客、病毒、木马等安全风险,一旦受攻击容易导致产品质量下降、生产过程破坏、环境污染等严重后果,对社会稳定造成重大威胁.与传统面向数据传输的网络协议相比,工控网络协议具有更强的控制功能[3],通过发送特殊功能码的指令,能够控制PLC 等物理设备的启停,甚至上传恶意程序,或者影响控制中心的生产过程监测视图.因此,研究工控网络特别是工业以太网协议的脆弱性成为工控系统信息安全的首要内容.工业以太网与总线协议的部署方式、应用场合和传输速率具有较大的差异,为了明确研究范围,根据美国仪器仪表协会提出的ISA99参考模型[4,5],可将ICS整理为如图1所示的5个层次:1)第4层—企业系统层.企业系统层包括组织机构管理工业生产所需业务相关活动的功能,使用的都是传统的IT技术.2)第3层—运行管理层.运行管理层负责管理生产所需的工作流,它包括运行/系统管理、具体生产调度管理、可靠性保障等.3)第2层—监测控制层.监测控制层包括监测和控制物理过程的功能,它包括操作员人机接口、监测控制功能、过程历史数据收集和存储等功能.4)第1层—本地或基本控制层.本地或基本控制层主要包括传感和操作物理过程的功能,典型设备包括DCS、PLC、RTU等.5)第0层—过程层.过程层是实际的物理过程.在这一层中包括各种不同类型的生产设施,典型设备包括直接连接到过程和过程设备的传感器和执行器等.在工业控制系统参考模型中,过程层属于物理空间,它同各工业控制行业直接相关.图1工业控制系统分层参考模型Fig.1Hieratical model of industrial control system本文所讨论的工控网络协议,限定于图1第1层中的PLC、DCS等控制设备与2、3、4层次组件之间通信所使用的通信协议,通常基于TCP/IP协议封装,与交换机、路由器等通用网络设备兼容,其中最具代表性的包括:用于电力行业配电网主-从站通信的IEC60870-101/104协议、IEC61850[6]、主-从设备通信协议DNP3和主站间通信协议ICCP;用于石油石化行业参数采集的Modbus TCP、Profinet协议族;用于管道数据传输的Ethernet/IP;用于轨道交通的MMS协议;用于协议转换和数据共享的OPC协议等.工控系统的协议种类繁多,不同厂商对协议有不同的扩展和实现方式,而很多设备由组态软件进行控制,组态软件都是由厂商定制,自成体系,比如:西门子全系列工业控制产品就使用Profinet协议族,罗克韦尔专注于EIP,三菱则使用私有协议,相互之间不兼容.鉴于工控以太网协议的特殊性,传统基于Fuzzing的设备测试方法无法直接应用,需要进行针对性的修改.本文在介绍工控网络协议特点的基础上,综述了基于Fuzzing的工控网络协议的测试方法.论文其余部分组织安排如下:第2部分介绍了工控网络协议特点,引出了第3部将传统Fuzzing技术应用到工控网络协议存在的困难;第4部分介绍了工控网络协议Fuzzing在测试框架、协议解析方式、测试用例生成、异常检测和定位、测试性能评估等方面研究的国内外相关工作;第5部分总结现有的研究工作,提出了工控网络协议专用测试框架设计方面应该遵循的一些准则,对工控网络协议Fuzzing测试的研究方向进行了展望.2传统Fuzzing测试技术介绍Fuzzing是一种通过构造能够使得软件崩溃的畸形输入来发现系统中存在缺陷的安全测试方法,通常被用来检测网络协议、文件、Active控件中存在于输入验证和应用逻辑中的缺陷,其自动化程度高、适应性广的特点使其成为漏洞挖掘领域较为有效的方法之一.1989年,美国威斯康辛大学的Barton Miller教授正式提出Fuzzing技术[7],通过随机地生成非结构化的输入来挖掘UNIX程序中的漏洞.此后,Fuzzing成为了信息安全中较为活跃的研究领域之一,研究者们通过构造更具结构性的输入来改进Fuzzing测试的效率.1999年,芬兰Oulu大学的研究团队开发了PROTOS测试套件[8],通过对网络协议的解析,创建模型并生成相应的Fuzzing测试;此后,出现了第一个基于块的Fuzzing测试器SPIKE[9],协议的描述被表示为一列数据块,使用SPIKE的Fuzz[10]函数库生成随机数据对块进行填充,生成测试数据.此外,中科大的张美超等人对测试用例生成方式进行优化,提出了基于漏洞库的Fuzzing测试框架[38];中科院的张玉清教授等人对FTP等协议客户端[39]进行了模糊测试.一般来说,除测试用例执行外,Fuzzing测试包括协议解析、测试用例生成、异常捕获和定位三个步骤;协议解析是通过公开资料或者对网络数据流量的分析,理解待测协议的层次、包字段结构、会话过程等信息,为后续测试用例的生成打下基础;测试用例生成依据上阶段整理出来的字段结构,采用变异的方式生成畸形测试用例,发送给待测对象;异常捕获和定位的目的是通过多种探测手段发现由测试用例触发的异常,保存异常相关数据信息,为后续异常的定位和重现提供依据,其流程如图2所示.图2Fuzzing通用测试流程Fig.2General workflow of fuzzing test按照测试用例的生成方式,Fuzzing可以分为两类:1)基于生成的Fuzzing.这种方法基于与有效输入结构和协议状态相关的生成规则进行建模,构造模糊输入.最简单的基于生成的模糊测试器使用随机的方式构造长度字符串(包含随机字节)的模糊输入[7].有些基于生成的模糊测试工具,例如Sulley[11]和Peach[12]也集成了基于块的特性.最新的基于生成的模糊测试器,例如EXE[13],通过编码的方式来产生成功概率高的测试用例.基于生成的Fuzzing需要用户对协议格式有非常深的了解,并需要大量的人工参与.2)基于突变的Fuzzing.这种方法通过在已有数据样本中插入畸形字节以及(或者)变换字节来修改正常输入,制造模糊输入.一些现代的突变Fuzzing测试器基于输入层的描述构894小型微型计算机系统2015年造其模糊决策(例如:Peach的突变[12]).其他突变测试器,例如通用目标模糊测试器(GPF)[14]不需要任何先验知识,仅仅使用简单的启发式来猜测域边界,并进行对输入进行突变.CFG模糊测试器[15]对其进行了折衷,通过使用推论算法从足够规模的网络流量中推导协议的近似生成模型,然后使用变异算法来生成突变的输入.该方法对变异的初始值有着很强的依赖性,不同的初始值会造成代码覆盖率差异很大,从而会产生截然不同的测试效果.此外,根据Fuzzing测试器的部署方式,可以分为内联和普通方式.目前绝大多数现有的Fuzzing测试器均属于普通范畴,将自身作为客户端,测试作为服务器端的对象;内联,如QueMod[16],则采用中间人的方式,将自身部署在服务器和客户端之间,对截获的包进行分析,估计协议帧的有效区域,并分别进行变异,实时生成畸形报文,发送给测试对象,同时接受返回结果,判断对象的状态,决定下一步变异策略.两者之间的区别在于,内联Fuzzing测试器能够实现对Server和Cli-ent端的双向测试,普通Fuzzing测试器只能对Server端进行测试.3使用传统Fuzzing测试工控协议的困难由于工控网络协议的特殊性,直接使用传统Fuzzing测试器在协议解析、异常捕获以及部署方式上存在以下几方面困难:3.1工控协议解析根据信息公开的程度,工控网络协议大致可以分为两种:(1)私有协议,例如Harris-5000以及Conitel-2020设备的协议,这些协议资料不公开或者只在有限范围内半公开,数据包和字段的含义未知,协议会话过程功能不清晰;(2)公有协议,例如:Modbus TCP、DNP3[17]等,协议资料公开,标准化程度较高.对于公有的控制协议,虽然可以使用现有Fuzzing技术进行测试,但由于工控协议面向控制,高度结构化,控制字段数量较多,使得需要构造大量的变异器,测试效率不高.对于私有的控制协议,需要先弄清楚协议的结构才能进行模糊测试.一般来说,有两种思路:(1)对协议栈的代码进行逆向分析,整理出重要的数据结构和工作流程;(2)抓取协议会话数据包,根据历史流量来推测协议语义.对于运行环境较为封闭的工控设备来说,内嵌协议栈组件无法导出,很难对其进行逆向分析.相比之下,采用基于数据流量的协议解析方法更实际.然而,工控设备具有时间敏感、面向会话的特点,使得部署需要大规模网络流量输入的Fuzzing测试工具不现实.3.2工控协议异常捕获和定位目前在网络协议Fuzzing测试中常用的异常检测手段主要有返回信息分析、调试器及日志跟踪3种方法:1)对于返回信息分析,主要通过分析请求发送后得到的返回信息判断目标是否出错,其优点是处理简单,但由于某些工控协议栈进程具有自修复和守护能力,在发生异常后网络进程会自动重启,如果请求收发频率不够高,将无法捕获发生的异常;2)对于调试器跟踪,主要通过监视服务器进程,在进程出错时抓取进程异常信息,但由于工控设备难以安装第三方监测软件,因而该方法只适用于上位机协议测试,无法应用在工控设备上;3)对于日志跟踪,主要通过解析日志记录,判断测试对象是否发生异常,但由于工控设备属嵌入式系统,计算、存储和网络访问均受到严格的制约,在工控设备上难以实现对异常事件的日志记录和审计,因而该方法也只适用于上位机程序协议栈.3.3Fuzzing测试工具的部署方式目前,对于传统IT系统,C/S模式中Client端漏洞利用较困难[18],价值不高,因而传统网络协议Fuzzing测试技术主要针对Server端软件,较少涉及Client端.但对于工控系统来说,上位机通常作为Client端,对作为Server端的物理设备进行数据采集同时对操作员提供监视控制功能,其网络协议栈存在的漏洞可能导致重要数据传输实时性和可用性丧失,产生上位机视图显示错误等故障,导致丧失视图(LoV,Lost of View),影响操作员的正常决策,甚至破坏生产控制过程运行,根据国际著名工控漏洞库Delphi的统计结果[41],主要位于上位机协议栈的LOV型工控漏洞占比高达68%,因此只能测试Server端的协议Fuzzing测试工具不能满足工控协议安全性测试的需求.4现有工控网络协议Fuzzing测试的相关工作虽然专门针对工控协议设计的Fuzzing工具尚未出现,随着网络攻防的阵地逐渐从网络空间朝着网络物理空间扩展,包括工控系统在内的国家关键基础设施信息安全受到越来越多的关注,一些Fuzzing工具也开始支持工控网络协议,最具代表性的有以下两类:4.1开源Fuzzing项目2007年黑帽大会上,专门为Sulley设计的ICCP(包括TP-KT和COTP)、Modbus和DNP3模糊测试模块(例程)被美国TippingPoint公司的信息安全研究员Devarajan发布出来[19],可用来检测上述工控网络协议在非授权命令执行、非授权数据传输、可能的拒绝服务等方面存在的安全漏洞.美国Digitalbond公司[20]的研究员McCorkle和BillyRios 以Modbus TCP为例,使用工具Scapy截获完整通信会话(包括所有请求和有效的返回信息),开启上位机软件的日志记录功能,并对请求的返回信息进行随机变异,使用伪造CRC 校验码和计数值的方式保持协议状态,通过日志分析发现上位机在处理畸形返回数据时发生的错误.德国奥格斯堡应用技术大学的Roland Koch等人推出了ProFuzz[21],一种在Python版本Scapy fuzzer[22]基础上开发的Fuzzing工具,兼容Sulley的fuzz模块,专门针对Profinet协议族进行模糊测试,目前支持包括告警帧随机afr(Alarm Frame Random)、告警帧排序afo(Alarm Frames Ordered)在内的五种协议类型.同时,该成果的部分内容也被集成到开源入侵检测软件Snort[23]中,用于对Profinet系列协议进行预处理.Wurldtech公司的Eric J.Byres研究员提出了BlackPeer 测试框架[24],该框架由代码生成器、测试用例生成器和执行9943期熊琦等:工控网络协议Fuzzing测试技术研究综述器三部分组成,输入由扩展BNF 逻辑定义的测试用例期望,能够更好地描述测试用例的上下文依赖关系,在给定变量初始化文件的前提下,会生成递归定义的测试用例语法描述,根据交互语义对协议PDU 进行变异,生成有序的测试用例序列PTS ,然后在配置文件约束下执行测试用例序列,捕获异常并记录结果,流程如图3所示,Wurldtech 公司利用该框架对两款PLC 设备的Modbus TCP 协议栈进行了5000次测试,发现了六十多类错误.图3BlackPeer 测试用例的生成和执行Fig.3BlackPeer test cases generation and execution 4.2商业Fuzzing 项目SecuriTeam 在其beSTORM 模糊测试工具中整合了DNP3协议[15],成功发现了Wireshark[25]DNP3模块的拒绝服务攻击漏洞,验证了工具的有效性;2007年,美国能源部下属的Digital Bond 公司则开发了ICCPSic [26],一种商业的ICCP 协议测试套件;Mu Dynamic 公司提供了Mu 测试套件[27],使用结构化语法分析的方法来生成畸形测试数据,目前支持包括IEC61850、Modbus TCP 和DNP3在内的工控网络协议,并可通过其附带的Studio Fuzz 功能分析PCAP 包,重构会话流程,实现对未知协议的扩展;Wurldtech 公司推出了Achilles 模糊测试平台[28],基于专家经验生成最可能造成对象协议栈崩溃的畸形测试数据,已经实现对包括MODBUS 、DNP3、ICCP 、MMS 和Ethernet /IP 在内的多种工控协议的支持;Codenomicon 公司在PROTOS 项目[8]的基础上推出了Defensics 模糊测试套件[29],兼容ModbusTCP 协议.这些研究成果大都基于原有Fuzzing 框架进行扩展,缺乏针对性的功能设计,仅仅覆盖结构公开的工控网络协议,或者仅仅支持以手工标注的方式支持私有协议,对测试人员的要求较高.在同等情况下,对ICCP 、Ethernet /IP 等结构及会话较为复杂协议进行Fuzzing 测试比Modbus TCP 、DNP3等简单协议耗时高一个数量级以上[30].此外,工控协议种类多的特点,现有Fuzzing 测试工具支持的数量极为有限,且在框架上基本沿用原有的方式,几乎不对Client 端进行测试,适用范围受到制约,因此急需面向工控协议特点设计专用Fuzzing 测试框架.5工控专用Fuzzing 测试框架的设计准则基于工控网络协议的特点,结合已有工控协议Fuzzing 测试的研究成果,从模糊测试的步骤和部署方式来看,工控网络协议专用Fuzzing 测试框架应该遵循以下几点准则:5.1支持对私有工控协议的测试由于大量工控协议结构不公开,对私有工控协议[31]的支持成为工控协议Fuzzing 测试框架的首要需求,由于PLC 等核心工控设备的可执行代码难以导出,基于二进制逆向分析的“Tainted Data ”方法难以部署,主要采用基于网络流量的“Network Trace ”方法.根据分析技术的差异,基于“Network Trace ”的私有工控协议的模糊测试思路可以分为以下两种[32]方式:5.1.1离线分析首先梳理协议的结构和内容,生成协议模型,即先将私有协议变成公有协议,这种方法主要适用于使用容易理解的ASCII 语言,对协议数据包头进行区域描述的工控网络协议,如Modbus 等.首先采用类型匹配,将不同的网络流量数据文件(PCAP )中同类型的报文序列提取出来,作为一个报文组,然后对该报文组合进行多序列比对,将不变域和可变域分离出来,生成初步的报文域划分,再对报文区域进行识别,进一步得到的ANSI 字符串域,生成较为准确的报文格式,再使用基于生成的方法产生测试数据,具体过程如图4所示.图4基于离线分析的模糊测试Fig.4Fuzzing test based on offline analysis5.1.2在线分析不进行离线分析,只是通过智能算法[33]对工控网络协议的结构进行在线学习[34-36],具体流程如图5所示.其中具有代表性的有Marshall A.Beddoe 等人设计的PI 协议解析器,通过引入生物信息学的思想,在线提取包结构中的常量,生成协议结构描述;此外,Dartmouth 学院的Sergey Bratus 设计了Lz-fuz 协议分析器,使用Lempel-Ziv 算法维护令牌表,对于每个数据包,提取并记录其中的最长不变子串,周期性地更新表记录,实时标注包的数据区域,生成并逐步完善协议的语义结构.图5基于在线分析的模糊测试Fig.5Fuzzing test based on online analysis方法(1)虽然生成的测试用例质量较高,但需要积累相当数量的历史网络数据流量作为原始样本,且初始阶段需要耗费大量的人力,对协议分析经验要求较高且实时性差.相比之下,方法(2)虽然在测试初期生成的模型较为粗糙,需要耗005小型微型计算机系统2015年费大量计算资源,但随着学习过程的不断深入,模型也会逐步成熟,测试用例的质量也会不断提升.5.2不依赖本地调试进行异常捕获和定位作为工控系统的核心组件,PLC 等物理设备运行环境封闭且存储计算资源受限,无法通过附加调试组件的方式记录异常事件并保存日志,只能依赖其他方式进行检测,较为可行的方法包括:(1)基于网络流量的异常检测.使用心跳机制,以间歇性“发包—响应”的形式探测目标是否出错,同时结合异常隔离机制,在每传输一组测试用例后通过发送心跳包的方式检测对象是否发生异常,如果超过一定的时间阈值未收到回复包,则认为测试对象发生了异常,需采取逐步隔离[27]的方式,如图6所示,从该组用例中找出触发异常的单个测试用例,并保存异常产生的流量数据,以便进一步分析.此外,对于构建于TCP 之上的工控网络协议,捕获用于重建连接的TCP RST 和非正常重复出现的SYN 请求也可以用来发现测试对象的网络异常.图6基于心跳检测的故障隔离技术Fig.6Fault isolating technology basedon heart-beat detecting(2)使用基于I /O 的异常检测.PLC 设备在正常运行时会不断与下层生产过程进行数据I /O 交互,如果工艺处理机制受到协议栈影响发生异常,会波及到下层I /O 信号.该方法需要使用具有D /A 或者A /D 转换功能的接口卡,将工控设备的I /O 输出线外接到工控机上,同时在平台上运行流程仿真程序,部署监测程序不断轮询I /O 口的信号交互情况,当发生异常时一方面发送消息给Fuzzing 测试端以便保存场景信息,另一方面本地保存I /O 异常情况和流程断点以便进一步分析,如图7所示.图7基于I /O 的异常检测技术Fig.7Anomaly detecting technologybased on I /O of PLC5.3具有对网络协议进行双向测试的能力由于工控系统要支持双向网络协议测试,且对工控私有网络协议客户端而言,由于其会话时间较短、时间敏感性强,对要求大量历史数据流量的传统Fuzzing 测试工具基本免疫,可行的方法之一是采取内联的部署方式,通过ARP 欺骗[40],将Fuzzing 测试工具插入到服务器和客户端之间,使用重放的方式对截获的网络数据包进行突变,产生畸形数据,如图8所示.图8工控网络协议的双向模糊测试Fig.8Fuzzing test for industrial network protocol in bidirectional5.4具备实时异常重启能力对于OPC 等[37]多层次、结构复杂的工控网络协议来说,执行一次Fuzzing 测试往往耗时较长,一旦发现异常导致测试对象崩溃,无法继续测试过程,需要重启测试对象,重新开始,如果测试用例的选择机制不支持断点续传,则容易陷入死循环,导致测试覆盖率差.为了避免这一问题,通常有两种方法.1)对于上位机软件,可采用监测环境启动,一旦发生故障则自动保存断点,重新启动测试对象进程,同时通知Fuzz-ing 测试端恢复断点,继续原来的测试过程,如使用Xen 等带监测功能的虚拟化环境;2)对于物理设备,由于运行环境封闭,无法在监测环境中直接部署,则可采用电源控制的方式,在设备发生崩溃的时,保存测试进度,通过硬件控制将测试对象断电并再加电,重启对象,完成剩余的测试用例,而不需要重新开始,提高测试效率.6总结及展望Fuzzing 测试技术经过多年的发展,为网络协议安全性分析提供了有效的工具.随着网络技术在工控领域得到了广泛的应用,传统Fuzzing 测试技术由于在设计上面向传统网络协议,在异常捕获、定位和分析上存在一定的局限性,无法满足具有典型行业和专用特点的工控网络设备的测试要求.本文深入分析了工控网络协议的特点,分析使用现有fuzzing 测试器进行工控网络协议测试存在的困难,对现有工控网络协议Fuzzing 测试领域的成果进行了综述,总结其优缺点,基于分析结果提出了工控协议专用Fuzzing 测试器应该遵循的设计准则.在未来的研究中,将结合本文提出的观点,对现有的开源Fuzzing 测试器进行扩展,实现专用的工控系统模糊测试框架.References :[1]The repository of security incidents [EB /OL ].June 2012.http ://www.securityincidents.net /index.php /products /indepth /risi annu-alreport /,Accessed ,2013:31.[2]Farwell J P ,Rohozinski R.Stuxnet and the future of cyber war [J ].Survival ,2011,53(1):23-40.[3]Edmonds J.Security analysis of multilayer protocols in SCADA net-works [D ].Department of Computer Science ,University of Tulsa ,Tulsa ,Oklahoma ,2006.[4]Peng Yong ,Jiang Chang-qing ,Xie Feng.Research progress of the se-1053期熊琦等:工控网络协议Fuzzing 测试技术研究综述。
软件测试文献综述
中文摘要:随着网络技术的日益成熟,网络已经深入到生活的每一个角落,包括教育、购物、咨询、办公等等许多领域。
在网络迅速发展的今天,网页技术的应用也越来越广泛。
网页技术的应用对于教育行业来说优势更加的明显。
教育行业可以通过网络进行学生和教职工的管理、组织学生在线考试、在网站上发布学校相关信息等活动。
这样不仅能增加学校管理的透明度,还提高了学校的管理水平。
在线考试还能充分的利用学校的现有资源,大大减轻教师的工作量,把老师从出卷、阅卷等一些繁重中做中解脱出来。
本文重点论述了由于网络的存在扩大了学校的服务范围,为学校的管理提供了更多的条件。
对此做出了详细的调查,可行性研究和分析。
系统采用了B/S结构,在网络上建立学校自己的教育网站。
系统开发经历了系统分析、系统设计和系统实施三个阶段。
从设计方案的提出,经过详细的调查,分析了方案的可行性和必要性,通过详细的系统设计,力图提高系统的集成性和快捷性;并在系统实施阶段收集了大量的实验数据,以便测试阶段系统的准确性和稳定性。
系统整体是基于浏览器/服务器,前台应用JSP技术,后台采用SQL Server2000作为数据库与前台连接。
关键词:网络教育在线考试 B/S结构 JSP技术一、前言在CMM/CMMI定义的软件开发的生命周期中,软件测试是一个至关重要的环节。
从保证软件质量的角度来说,软件测试是软件质量保证工程的一个重要组成部分,也是最重要的质量保证手段。
为了保证所提交的软件产品能够满足客户的需求,以及在使用中的可靠性,就必须对所开发的软件产品进行系统而全面的测试。
测试管理系统(TMS)有助于对制定测试计划、编写测试方案、测试用例、缺陷(BUG)跟踪处理、测试报告、数据统计等各个阶段进行有效的控制和管理,以提高软件开发,尤其是软件测试管理的水平,保证软件产品质量。
4G电信网络协议Fuzzing测试技术研究综述
4G电信网络协议Fuzzing测试技术研究综述熊琦;许源;张宝峰;刘晖;郭颖;张骁;王峰【期刊名称】《通信技术》【年(卷),期】2016(049)002【摘要】随着4G-LTE网络和移动互联网技术的兴起,网络IP化已经成为未来电信网络的演进趋势.全IP化的电信网络一旦与互联网连接,不可避免会遭受来自外界的网络攻击.很多研究者开始对4G-LTE网络,特别是协议的安全性展开研究,脆弱性分析是其中较为活跃的领域之一.由于电信网络,特别是信令协议具有面向控制的特点,且上层协议与传统IT网络存在较大的差异,直接使用现有的Fuzzing测试技术存在一定的困难.讨论了现有的各种Fuzzing测试技术用于4G-LTE 电信网络协议测试的优缺点,提出了4G-LTE 电信网Fuzzing测试技术的设计准则,最后展望了未来的发展方向.【总页数】7页(P123-129)【作者】熊琦;许源;张宝峰;刘晖;郭颖;张骁;王峰【作者单位】中国信息安全测评中心,北京 100085;移动互联网安全技术国家工程实验室,北京 100876;中国信息安全测评中心,北京 100085;移动互联网安全技术国家工程实验室,北京 100876;中国信息安全测评中心,北京 100085;移动互联网安全技术国家工程实验室,北京 100876;中国信息安全测评中心,北京 100085;移动互联网安全技术国家工程实验室,北京 100876;中国信息安全测评中心,北京 100085;移动互联网安全技术国家工程实验室,北京 100876;中国信息安全测评中心,北京100085;移动互联网安全技术国家工程实验室,北京 100876;中国信息安全测评中心,北京 100085;移动互联网安全技术国家工程实验室,北京 100876【正文语种】中文【中图分类】TP393【相关文献】1.基于fuzzing测试的网络协议安全评估方法研究 [J], 齐健;陈小明;游伟青2.基于状态的工控协议Fuzzing测试技术 [J], 张亚丰;洪征;吴礼发;周振吉;孙贺3.基于范式语法的工控协议 Fuzzing 测试技术 [J], 张亚丰;洪征;吴礼发;康红凯;孙贺4.基于Fuzzing测试的工控网络协议漏洞挖掘技术 [J], 黄影;邹颀伟;范科峰5.基于Fuzzing的网络协议漏洞挖掘技术研究 [J], 尹誉衡因版权原因,仅展示原文概要,查看原文内容请购买。
面向对象的软件测试技术综述
面向对象的软件测试技术综述随着软件应用范围的不断扩大,软件测试的技术手段也不断进步。
面向对象的软件开发思想逐渐被广泛采用,因此,面向对象的软件测试技术也应运而生。
本文将综述面向对象的软件测试技术。
一、面向对象软件测试的概念面向对象的软件测试是针对采用面向对象开发思想的软件进行的测试。
与传统的结构化软件测试相比,面向对象软件测试更加注重对软件内部各个部分之间的关系的测试,并且更加关注软件的继承、重载、多态等特性的测试。
二、面向对象软件测试的方法1. 黑盒测试方法对于面向对象的软件测试中的黑盒测试方法,测试人员仅考虑输入与输出,而不关心系统内部的具体实现。
黑盒测试方法可以通过参照生成测试用例的过程,来完成对程序的测试覆盖。
2. 白盒测试方法白盒测试方法则针对系统内部的具体实现进行测试。
它主要通过静态和动态两种方式进行测试,其中静态分析主要是通过代码分析或模型检查等方式,而动态分析则通过运行测试用例,观察程序执行流程和变量变化等方式进行测试。
3. 增量式测试方法对于大型的面向对象软件开发,其测试过程可能需要相当长的时间,增量式测试方法就可以有效缩短测试时间。
增量式测试方法是指将整个系统分成几个部分,然后逐渐增加到完整的系统环境。
这不仅能够逐步发现bug,还能够及时修复,并能逐步提高测试用例的质量。
三、面向对象软件测试的技术手段1. 测试驱动开发(TDD)测试驱动开发是一种基于测试驱动的软件开发方法,它强调在实现代码之前,先编写测试程序,以确保所编写的代码能够满足测试需要。
TDD可以提高测试的自动化程度,逐步提高测试用例的品质,并减少未发现的bug出现次数。
2. 自动化测试自动化测试是一种通过编写脚本和使用自动化测试工具来执行测试用例和比较结果的测试方法。
自动化测试可以将部分测试自动化,减轻测试压力,消除人为测试误差,并且提高测试的效率和准确度。
3. 模拟测试人工模拟测试是一种指人员通过编制人工操作流程,在应用程序的界面进行手动测试的方法,而计算机模拟测试是一种通过编写程序模拟系统功能和用户操作的测试方法,在这种测试方法中,测试人员可以对系统进行多次重复测试,大大提高了测试的效率。
网络化测控文献综述
网络化测控技术测121 马妍 120690安幼林、杨锁昌[1]讨论了网络化测控实现技术: DataSocket, Remote Device Access, Symantec pcAnywhere,网络化仪器和网络化虚拟仪器技术,分析了基于这些实现技术的各自特点。
提出了网络化测控实现技术存在的问题和未来发展方向。
随着分布式自动测控技术的不断发展,网络化测控系统的研究和应用也受到关注。
网络化测控系统实现将计算机网络通信技术、虚拟仪器技术和自动测试技术融为一体,实现了网络化测控。
李凤保、杨光志、龙剑[2]介绍了网络化测控是自动侧控领域的发展趋势.本文主要研究网络时间延迟的关键要素和采样时间间隔的最佳范围为改普网络化测控系统的性能提供理论指导。
改善网络化测控系统的性能可以主要从两个方面人手:一是使设备处理时间最小化,改善网络协议,以更好地保证传输时间的确定性和减小端与端延迟,二是选择最佳的采样时间间隔,以保证系统的稳定性和控制性能。
郭莹晖[3]叙述了网络化测控系统技术实现平台的基本知识,并结合称重领域的衡器产品,重点以电子吊秤和电子汽车衡产品为例,详细介绍了电子吊秤、电子汽车衡网络化测控系统的实现方法及特点,并简单列举了网络化测控技术在其他衡器产品上的应用展望,测控计算机作为前端一个测控设备,可以独立实现其所连接设备的测量和控制任务,又可以把测控数据上传到网络服务器,为网络测控打下基础,从而可以执行远程测控指令。
季宝杰、姚传安、姬少龙[4]分析了以太网技术对企业信息集成化,尤其是现场设备的实时通信带来的影响。
对比分析了以太网中TCP协议和UDP协议的特点以及现场实时通信过程待传输数据的特性。
介绍了UDP协议在网络化测控系统通信中的数据格式和实现。
提出了一种用于矿井下设备监测的远程数据采集和控制系统,旨在为相关设备提供安全、高效和连续的在线监控。
罗媛[5]根据网络化测试系统的体系结构和特点,系统分析了三种常用的网络同步技术的机制和特点,分析对比了IEEE 1588、NTP 和GPS各自的优缺点,从而可以根据网络化测试系统的特点选取不同的同步技术。
《2024年面向深度学习系统的模糊测试技术研究进展》范文
《面向深度学习系统的模糊测试技术研究进展》篇一一、引言深度学习是现代人工智能的重要基石,被广泛应用于计算机视觉、语音识别、自然语言处理等领域。
然而,随着深度学习系统的日益普及,其安全问题也逐渐浮现。
由于深度学习系统的复杂性和独特性,传统的软件测试方法往往难以对其进行全面有效的测试。
因此,面向深度学习系统的模糊测试技术成为了研究的热点。
本文将就面向深度学习系统的模糊测试技术的相关研究进展进行综述。
二、模糊测试技术概述模糊测试(Fuzz Testing)是一种通过输入随机或伪随机数据来检测程序错误和安全漏洞的测试方法。
在深度学习系统中,模糊测试技术主要通过对模型进行输入数据的扰动,观察模型的输出和行为,从而发现模型可能存在的漏洞和错误。
三、面向深度学习系统的模糊测试技术研究进展1. 输入数据的生成与优化在模糊测试中,输入数据的生成与优化是关键。
针对深度学习系统,研究者们提出了多种生成输入数据的方法,如基于遗传算法的输入生成、基于粒子群优化的输入优化等。
这些方法能够生成更加复杂、多样化的输入数据,从而更好地检测出深度学习系统的潜在问题。
2. 模糊测试技术的改进传统的模糊测试技术主要针对的是二进制程序,对于深度学习系统而言,其模型结构和数据特性都与传统程序有所不同。
因此,研究者们对模糊测试技术进行了改进,如基于梯度的模糊测试、基于模型覆盖率的模糊测试等。
这些改进的模糊测试技术能够更好地适应深度学习系统的特性,提高测试的效率和准确性。
3. 针对特定模型的模糊测试针对不同类型的深度学习模型,如卷积神经网络、循环神经网络、生成对抗网络等,研究者们也开展了相应的模糊测试研究。
这些研究主要针对模型的特定结构和行为进行测试,以期发现更加深入的潜在问题。
四、研究挑战与未来方向虽然面向深度学习系统的模糊测试技术取得了一定的研究成果,但仍面临诸多挑战。
首先,如何生成更加复杂、多样化的输入数据仍是研究的难点。
其次,如何将传统的模糊测试技术与深度学习系统的特性相结合,提高测试的效率和准确性也是一个重要的问题。
网络测量及流量采集技术综述
行为参 数 。例如 , 网络诊断 工具 Pn 通过发 送 IMP 型 常用 i g C 类
用带宽 等参数 。主动测 量的代价 主要包括 部署 代价和 测量代 台系统之 间交换 网络监控 数据 。R N首先实 现了对异 构的 MO 价两 个部分 。为 了检 测不 在路 由树上 的链路 , 测量站可 利用 I 进 行一致的远程管理 , P 它为通过 端 口远程监视 网段提供 了解 决 源路 由选项来指定探 测包 的路 由路径 。但是基 于安全考虑 , 路 方 案( 主要实现 对一个 网段乃至整个 网络的数据流量 的监视 功 由器一般禁止 I源路 由选项 , 以单点测量并非是普遍适 用的 能 ) MO P 所 。R N监视器 可用两种 方法收集 数据 : 一种是 通过专 用 测量方案 。另外从收集代价来 考虑 , 点测量可能会 引起测 量 的R N 测器 , 单 MO 探 网管工作站直接从探测器获取管理信息并控 站节点或相邻链路的过载 。 制 网络资源 ( 种方式可 以获取 R N MI 这 MO B的全部信息 )另 ;
业务性能测量是为了了解 IP S 为用户提供的业务质量情
ቤተ መጻሕፍቲ ባይዱ
其功能 是依据 相应 的指 标体 系和测量 方法 , 测量 反应 网络 行 为 , 作 为优化 和重 新规 划 网络结 构 以及 改善 网络 Q S 并 o 的 况 ; o 的参数 , 并进行 Q S o 评估和控制 。 重要手段 , 到 了越 来越多 的研究人 员和 运行人 员的重视 , 受 从 业 务Q S 网络流 量测量是为了了解 网络 中业务流量 的分 布情况 ; 其 而使 网络 测量技 术成 为当前计 算机 网络 领域重 要的研 究热 点
0 引言
深入研 究 的重要手段 , 是实施 流量工程 、 行 网络 管理和优 也 进
IPv6测试综述
摘要:随着Internet 的迅速增长以及IPv4地址空间的逐渐耗尽,对新型因特网协议的需要已成为网络业界所充分认识并普遍接受。
更多的地址空间、IP 层上更简单的地址设计与处理、更好的QoS 支持、更强的安全性、更多的媒体类型与使用因特网的设备,种种需要均推动着因特网协议第6版(IPv6)的发展。
文章指出IPv6测试的关键范围,并以Ixia 的测试为例介绍了每种测试的适当测试方法。
关键词:IPv6;一致性;扩展性IPv6测试综述钟兴(中国铁通总部设备维护中心)收稿日期:2009-10-30IPv4是全球通用因特网协议的当前版本。
事实证明,该版本稳固耐用、便于实施、且能够与多种协议及应用设备良好协同。
IPv4自20世纪80年代初首次确立以来几乎未曾改动,但其始终支持因特网的升迁,一直发展到目前的全球规模。
然而随着因特网与因特网服务不断发展,IPv4在因特网的目前规模与复杂性面前已暴露其不足。
IPv6是专为弥补这些不足而开发的,以便让因特网能够进一步发展壮大。
可以预见,IPv6充裕的(128位)地址空间为支持因特网的预期增长与发展提供了足够数量的全球唯一地址。
1为什么要测试IPv6技术?通过测试确保协同能力:IPv6初期部署的诸多障碍不仅包括IPv6与IPv4系统之间的协同能力,而且还包括在不同厂商设备之间的协同能力。
在部署IPv6之前查找和排除问题的测试工具是运营商们不容忽视的关键需要。
对NEM 而言,提供可协同的产品是引进任何新技术获得成功的关键要素。
要解决对原有IPv4基础设施与众多厂商的IPv6系统之间存在的协同问题上的担忧,就只有通过全面测试方法来确保其协同能力。
IPv6是由超过60个IETF RFC 定义的技术。
实施甚为庞大与复杂的RFC 极易发生误会与曲解。
采取全面、严格的测试方法进行一致性测试有助于提高产品质量、加强客户信心。
一致性测试还使厂商能够在整个产品寿命周期中对产品设计进行验证,从而节省了时间与财力。
软件测试技术现状与发展趋势研究
软件测试技术现状与发展趋势研究一、概览随着信息技术的迅猛发展,软件测试作为确保软件质量的关键环节,在软件开发过程中发挥着越来越重要的作用。
软件测试技术不断创新,逐渐从传统的测试方法向自动化、智能化方向发展。
本文将对当前软件测试技术的现状进行综述,并探讨其未来的发展趋势。
随着人工智能和机器学习技术的普及,自动化测试在软件测试中的应用越来越广泛。
自动化测试可以提高测试效率,降低测试成本,并能够在短时间内完成大量重复性测试任务。
性能测试是软件测试的重要领域之一,旨在评估软件在不同负载和压力条件下的性能表现。
常用的性能测试工具有LoadRunner、JMeter等,这些工具可以帮助开发人员发现系统的瓶颈并进行优化。
随着网络安全问题的日益严重,软件安全越来越受到关注。
安全测试旨在检查软件中可能存在的安全漏洞,并评估系统的安全性。
常见的安全测试方法包括渗透测试、漏洞扫描等。
随着移动互联网的快速发展,移动应用测试成为软件测试的一个重要分支。
移动应用测试需要考虑设备兼容性、网络环境等多种因素,以确保应用的稳定性和安全性。
未来软件测试将更加智能化,通过引入人工智能、机器学习等技术,实现测试过程的自动化、智能化和精细化。
智能测试机器人可以根据预设的条件自动生成测试用例,智能分析工具可以自动检测并定位缺陷等。
云计算技术的发展为软件测试带来了新的机遇和挑战。
云测试利用云计算平台提供的计算、存储和网络资源进行软件测试,可以实现测试资源的动态分配和优化利用,降低测试成本和提高测试效率。
集成测试是软件测试的重要组成部分,旨在检查多个模块或组件之间的接口和交互是否正常。
未来集成测试将更加注重跨系统、跨平台的集成测试,以应对复杂系统的开发和维护需求。
随着用户体验成为软件质量的日益重要的衡量指标,体验测试也将受到越来越多的重视。
体验测试旨在评估用户在使用软件过程中的体验满意度,并发现可能存在的问题和改进空间。
1. 软件测试的重要性在软件开发过程中,软件测试占据了举足轻重的地位。
网络性能测量技术及其软件的设计与实现
过在网络中的一个或多个网段上借助包捕获器捕获 数 据 的方 式记 录 网络流量 , 对 流量 进 行分 析 , 动 并 被
地 获知 网络行 为状 况 。被动 测 量不 必 主动 发送 测 量
软件 界面 : eet Nts t  ̄采用 Mi oo i a c +6 c sf Vs l + . r t u 0
握 和分 析 网络 的运 行情 况提 供参考 数据 。 eet ‘ N t s ̄够 t l, …
图2 软 件 的 主 界 面
较为准确的测量 出不 同时刻局域网上任意两个端点
的 网络 性 能 , 括带 宽 、 包 时延 和 丢包 率 。整 个 系统 划 点 击 主 界 面 中 相 应 按 钮 即 可 进 入 相 应 二 级 界
据包后 ,计算出传输丢失的数据包 占总发包数 的百 分 比, 就是丢 包率 。
N t s软 件 的 测 试 : e et 一 款 测 量 局 域 网 et t e Nts t 是
网络性 能 的软件 。我 们 在某 高校 校 园 网的待 测 局域
网的两台计算机上安装N ts eet , t 软件 两台计算机协同 操作可以完成单 向或者双向网络性能测试。在单向
关键词 :网络性能测量; 性能指标 ; 主动测量 ; 被动测量
网络测 量 是指 遵照 一定 的方法 和技 术 ,利 用 软 1 网络性能测量技术 与方法 件 和 硬件 工具 来测试 或 验证 表征 网络性 能 的指 标 的 11 常用 的网络 性能指 标 .
一
网络性 能是 指从 网络运 营 的角度 定 义 的衡 量 网 的踪 迹来 显示 和分 析在 不 同 网络应 用 下 ,网络 中分 络 实 际运行 状况 的参 数 指标 体 系 ,常用 的网络 性 能
虚拟仪器-文献综述
《现代测试技术》课程考核论文虚拟仪器摘要:本文从虚拟仪器的起源、发展入手,简单介绍虚拟仪器的组成功能,比较虚拟仪器与传统仪器的不同,通过了解虚拟仪器系统四大优势和特点,展望虚拟与仪器在未来的发展.虚拟仪器是以一种全新的理念来设计和发展的仪器,他是90年代发展起来的一项新技术,主要用于自动测试、过程控制、仪器设计和数据分析等领域,其基本思想是在仪器设计或测试系统中尽可能用软件代替硬件,即“软件就是仪器”,他是在通用计算机平台上,根据用户需求来定义和设计仪器的测试功能,其实质是充分利用计算机的最新技术来实现和扩展传统仪器的功能。
关键词:虚拟仪器程序发展前景示波器1.电子测量仪器的发展电子测量仪器发展至今,大体可分为四代:模拟仪器、数字化仪器、智能仪器和虚拟仪器。
第一代模拟仪器如指针式万用表、晶体管电压表等。
第二代数字化仪器,如数字电压表、数字频率计等,这类仪器目前相当普及.这类仪器将模拟信号的测量转化为数字号测量,并以数字方式输出最终结果,适用于快速响应的较高准确率的测量。
第三代智能仪器,这类仪器内置微处理器,既能进行自动测试又具有一定的数据处理能力,可取代部分脑力劳动,习惯上称为智能仪器。
它的功能模块全部都是以硬件(或固化的软件)的形式存在,相对虚拟仪器而言,无论是开发还是应用,都缺乏灵活性.第四代虚拟仪器,它是现代计算机技术、通信技术和测量技术相结合的产物,是传统仪器观念的一次巨大变革,是将来仪器产业发展一个重要方向[1].2.传统仪器的缺陷传统的测量仪器是一个自封闭的系统,它作为独立的设备拥有自己的机箱包括各种开关旋钮的操作面板,信号输入输出端,指针式或LED显示表,CRT或LCD波形显示窗口,打印输出端口。
仪器内部包括有传感器、信号处理器、A/D转换器、微处理器、存储器和内部总线等专门化的电路。
通过这些电路来转换、测量、分析实际信号,并将结果以各种方式显示。
但是由于仪器所包含的功能均由仪器厂家定义,所有的功能块全部都是以硬件(或固化了的软件)的形式存在于测量仪器中,单台仪器的功能单一、固定,用户无法根据实际需要改变或扩展仪器功能[2].而在实际应用中,电子工程师往往需要用到多种不同的测量功能,在进行野外实地测量的情况下,在测量的信号种类较多的情况下,在需要对被测信号进行存储、离线分析的情况下,传统测量仪器就体现出了诸多的不便和功能上的局限。
网络安全漏洞检测技术综述
网络安全漏洞检测技术综述网络安全是当今网络时代中不可或缺的一环。
越来越多的数据和信息通过网站、软件和设备等多种形式进行传输和处理,然而这也给黑客们提供了可乘之机。
网络安全漏洞就是黑客能够利用的隐患,导致信息泄露,系统崩溃以及资产损失等一系列问题。
因此,网络安全漏洞检测技术的研究已成为安全领域内的重要研究方向。
一、网络安全漏洞检测技术概述网络安全漏洞检测技术是指一种主动发现网络安全漏洞的技术手段。
它不但能够发现漏洞,而且能够提供漏洞信息和漏洞修复意见。
攻击者利用漏洞进行攻击通常会影响系统的可用性和安全性。
网络安全漏洞检测技术可以发现这样的问题,给予针对性工具,以便让管理员能够采取必要的措施来保障系统的稳定和安全。
二、网络安全漏洞检测技术分类网络安全漏洞检测一般可分为被动扫描和主动扫描两种类型。
被动扫描是通过网络监测器实现的,它可以对网络中数据包进行持续监控,依次比对数据包中的相关信息从而判断是否存在安全漏洞,发现后即时进行告警。
然而,这种方式不仅不够有效,而且会引入一定的延迟。
主动扫描是指通过特定的安全工具进行漏洞检测,主动扫描可以采用线下或者线上的方式,发现漏洞更为准确和及时,一般来说更能够满足实际需求。
主动检测又可分为黑盒测试、白盒测试。
黑盒测试又称为基于动态分析的测试,其主要通过模拟外来攻击,同时以安全测试工具作为代理来确认是否存在任何安全漏洞,但是这种方式容易被攻击者绕过,因为黑盒测试只知道系统的输入和输出以及其他基础信息,而不能确定系统的具体实现和内部结构。
白盒测试又称为基于静态分析的测试,其主要通过运行内部的应用程序或者源码来确认是否存在任何安全漏洞,另外还可对系统运行环境和安全配置进行全面分析,但是白盒测试也容易存在误报、漏报的情况。
三、网络安全漏洞检测技术应用场景网络安全漏洞检测技术的应用场景非常广泛,主要包括以下几个方面:1. 企业网络安全企业是经济活动的主体,其灵敏度、可靠性和信息安全性都是非常高的。
软件精确性测试方法综述
软件精确性测试方法综述软件的精确性是保证软件功能准确无误的重要指标之一。
在软件开发过程中,精确性测试是为了确保软件的功能和数据处理得到正确的结果。
本文将对软件精确性测试方法进行综述,包括常见的测试技术和策略。
一、静态测试静态测试是通过检查源代码、设计文档和其他开发文档来评估软件的准确性,以找出潜在的错误和问题。
静态测试可以分为以下几个方面:1. 代码审查:通过检查源代码的结构、命名规范、注释和逻辑错误等来发现潜在的问题。
常用的代码审查方法有代码走查、代码阅读和代码对比等。
2. 设计文档审查:通过检查软件设计文档的完整性、正确性和一致性来发现设计上的问题。
设计文档审查可以有效地发现潜在的逻辑错误和数据处理错误。
3. 需求文档审查:通过检查需求文档的准确性、一致性和完整性来发现需求上的问题。
需求文档审查可以确保软件的需求与用户的期望保持一致。
二、功能测试功能测试是对软件的功能进行测试,以验证软件是否按照需求规格说明书的要求进行功能的实现。
在功能测试中,精确性是其中一个重要的方面。
常见的功能测试方法有:1. 黑盒测试:通过输入已知的数据和参数,验证软件是否按照预期产生正确的输出。
黑盒测试主要关注软件功能的正确性,而不考虑软件内部的实现细节。
2. 白盒测试:通过检查软件内部的结构和代码来验证软件的功能和逻辑是否正确。
白盒测试通常需要了解软件内部的实现细节,可以通过代码覆盖率来评估测试的质量。
3. 边界值测试:通过在边界值附近和边界值上测试软件的功能和数据处理,来验证软件在边界条件下的准确性。
边界值测试可以有效地发现潜在的错误和数据溢出等问题。
三、数据测试数据测试是为了验证软件在不同输入数据下的准确性和稳定性。
数据测试可以分为以下几个方面:1. 输入测试:通过输入不同类型和不同数值范围的数据来测试软件的准确性。
输入测试可以包括正常数据、边界数据和异常数据等,以覆盖所有可能的输入情况。
2. 数据回归测试:在软件进行版本升级或功能修改后,使用之前的测试数据来验证软件的准确性。
模糊测试技术综述
模糊测试技术综述
模糊测试技术是一种用于发现软件系统中未知漏洞和错误的测
试方法,也称为“暴力破解”或“随机测试”。
该方法通过向系统输
入各种无效、非法、异常和随机的数据,以触发潜在的漏洞和错误,并对系统的反应进行分析和评估。
模糊测试技术可以应用于各种软件系统,包括操作系统、网络协议、嵌入式系统、浏览器和应用程序等。
它可以帮助软件开发人员在软件发布之前发现潜在的安全漏洞和错误,提高软件的安全性和稳定性。
模糊测试技术的主要优点是可以自动化执行和应用于大规模的
软件系统。
它可以在短时间内发现大量的漏洞和错误,比传统的手动测试方法更有效和高效。
然而,模糊测试技术也存在一些缺点。
例如,它可能会产生大量的误报,需要专业的测试人员对测试结果进行筛选和分析。
此外,模糊测试技术也无法覆盖所有的测试场景和用例,需要与其他测试方法结合使用。
总之,模糊测试技术是一种有效的测试方法,可以帮助软件开发人员发现潜在的漏洞和错误。
它需要结合其他测试方法进行综合应用,以提高软件的安全性和稳定性。
- 1 -。
工控系统网络协议安全测试方法研究综述
18M i c r o c o n t r o l l e r s &E m b e d d e d S ys t e m s 2019年第9期w w w .m e s n e t .c o m .c n工控系统网络协议安全测试方法研究综述李文轩(沈阳理工大学自动化与电气工程学院,沈阳110159)摘要:伴随着工控网络与互联网的深入融合,工业控制系统安全问题不断增加,大多数安全研究人员着重于工控网络协议脆弱性分析的研究,由于传统f u z z i n g 测试无法直接应用于封闭的工控网络,本文针对工控网络协议的特点及自身脆弱性进行分析,对工控协议f u z z i n g 测试的重点及难点进行深入阐述,并讨论目前工控协议f u z z i n g 测试方案的相关进展,最后展望了f u z z i n g 测试理论方法的研究方向㊂关键词:工业控制系统;工控协议;脆弱性分析;f u z z i n g 测试中图分类号:T P 393 文献标识码:AS u r v e y o f R e s e a r c h o n N e t w o r k P r o t o c o l S e c u r i t y T e s t M e t h o d s f o r I n d u s t r i a l C o n t r o l S ys t e m s L i W e n x u a n(S c h o o l o f A u t o m a t i o n a n d E l e c t r i c a l E n g i n e e r i n g ,S h e n y a n g L i g o n g U n i v e r s i t y ,S h e n y a n g 110159,C h i n a )A b s t r a c t :W i t h t h e d e e p i n t e g r a t i o n o f i n d u s t r i a l c o n t r o l n e t w o r k a n d t h e I n t e r n e t ,t h e s a f e t y o f i n d u s t r i a l c o n t r o l s y s t e m s i s i n c r e a s i n g.M o s t s e c u r i t y r e s e a r c h e r s f o c u s o n t h e r e s e a r c h o f v u l n e r a b i l i t y a n a l y s i s o f i n d u s t r i a l c o n t r o l n e t w o r k p r o t o c o l s .S i n c e t r a d i t i o n a l f u z z i n gt e s t s c a n n o t b e d i r e c t l y a p pl i e d t o c l o s e d i n d u s t r i a l c o n t r o l n e t w o r k s ,t h e c h a r a c t e r i s t i c s o f t h e i n d u s t r i a l c o n t r o l n e t w o r k p r o t o c o l a n d i t s o w n v u l n e r a b i l i t y a r e a n a l y z e d ,t h e k e y p o i n t s a n d d i f f i c u l t i e s o f t h e i n d u s t r i a l c o n t r o l p r o t o c o l f u z z i n gt e s t a r e e l a b o r a t e d ,a n d t h e c u r r e n t p r o g r e s s o f t h e i n d u s t r i a l c o n t r o l p r o t o c o l f u z z i n g t e s t p r o g r a m i s d i s c u s s e d .F i n a l l y ,t h e r e s e a r c h d i r e c t i o n o f t h e i n d u s t r i a l c o n t r o l p r o t o c o l f u z z i n g t e s t t h e o r y m e t h o d i s p r o s pe c t e d .K e y wo r d s :i n d u s t r i a l c o n t r o l s y s t e m ;i n d u s t r i a l c o n t r o l p r o t o c o l ;v u l n e r a b i l i t y a n a l y s i s ;f u z z i n g t e s t 引 言伴随着互联网技术的高速发展,在工业化与信息化融合和智能制造的趋势下,原本封闭隔离的工业控制系统(I n d u s t r i a l C o n t r o l S ys t e m ,I C S )为了满足系统间的协同和信息共享,逐渐将工控网络与互联网开放式连接,一方面扩大了工业控制的发展空间,但另一方面难免会面临一些传统信息安全的威胁[1]㊂由于I C S 的用途广泛,无论是在电力设施还是制造业等各个工业领域都扮演着重要的角色,一旦出现安全方面的问题,其严重性便直接上升至国家战略安全层面㊂自从2010年以来,由于I C S 安全问题频频出现,对工控系统造成极其严重的影响,其攻击普遍借助伪造通信手段为出发点,如震网病毒[2]通过伪造签名并突破工业局域网的限制,通过更改变频器参数使得离心机无法正常工作;D u q u 病毒[3]借助通信机制传播恶意代码,并控制其大面积隐蔽感染其他计算机;H a v e x 病毒[4]利用O P C D A 协议来收集网络和联网设备的信息并将其反馈到C &C 服务器的手段,通过植入木马等方式感染S C A D A 系统及使用的工业控制软件等,其攻击过程反映出工控设备之间的通信存在着弊端,包括上位机与O P C 服务器以及工控设备与生产装置之间的通信问题㊂但溯其根本在于所制定的I C S 通信协议忽视了其安全性㊂I C S 中主要采用两种通信协议方式,即以太网及总线通信,其全部针对于工控现场所需实时性㊁可用性进行协议定制,从未考虑协议存在脆弱性时造成的安全问题,并且以太网是基于T C P /I P 协议层实现的,不可避免地将传统信息安全问题引渡至工控领域,同时由于工控协议与以数据交互为主的传统网络协议存在着巨大差异,针对传统网络协议可利用补丁及时进行漏洞修复,而工控协议则主要侧重对工控设备的控制功能[5],一旦在生产期间协议指令被篡改,导致生产设备的大面积骤停,必将造成不可估量的损失㊂因此,I C S 网络通信协议脆弱性研究在工控系统网络安全中占据着首要位置㊂正是由于厂商自身需求敬请登录网站在线投稿2019年第9期19的不同,因此工控协议的制定有着一定的扩展,以及实现方式的差异造成了工控协议的多样性㊂如较为熟知的M o d b u s协议族㊁基于数据共享及协议转换的O P C协议㊁电力系统中的MM S协议等,显然这些属于公开协议,即协议规约开放共享,但现如今仍然存在许多未公开的私有协议,因此协议的未知性也是影响协议安全测试的一个重要因素㊂本文基于工业以太网应用层协议特点进行分析,综述目前工控协议安全测试领域中的测试方法㊂1工控网络协议特点及其脆弱性分析1.1工控网络协议的特点工控协议的一般定义为工控系统网络中大量嵌入式设备㊁工程师与操作员站以及通信服务器之间的数据通信规则,其制定方案与控制系统所需功能及网络协议架构紧密相连,对工控基础设施间的数据交互发挥着通信桥梁的作用㊂随着工控领域接入互联网,其通信方式也有所偏重,大多数基于以太网应用层协议实现工业运作,其具体特点如表1所列㊂表1工控协议部分功能特点协议功能举例说明数据传输大多数为二进制形式的模拟量㊁数字量,文本信息较少实时传输性严格规定时效性,超时则失效加密通信按照理想通信环境为参考,绝大多数的数据传输无加密信息交互请求响应,周期性主动传输可靠性与安全性设定通信数据包的检错㊁容错㊁纠错协议控制及数据结构发送接收标识㊁功能码㊁报文长度等1.2工控协议脆弱性分析工控协议的脆弱性主要体现在协议设计和协议实现两个方面,这显然是人为因素导致的㊂一方面由于工控系统自身长期处于封闭状态,基本上忽略外界安全因素的干扰,因此在工控协议设计之初,绝大部分将重心致力于系统功能的实用性和时效性,从未或很少考虑到信息安全因素的影响,以及一旦遭受网络攻击时缺少具体的安全防范措施;另一方面由于协议开发人员编写代码过程中存在着逻辑错误,或者使用一些容易引发漏洞的底层函数等,从而导致内部系统的异常㊂由国家信息安全漏洞共享平台(C h i n a N a t i o n a l V u l n e r a b i l i t y D a t a b a s e,C V N D)[6]和信息安全漏洞门户(I n f o r m a t i o n S e c u r i t y V u l n e r a b i l i t y P o r t a l, I S V P)[7]中的工控网络协议漏洞可知,主要存在的漏洞类型如表2所列㊂表2基于协议设计与实现的漏洞类型分布情况分类依据协议设计协议实现漏洞类型数据传输过程中进行恶意篡改缓冲区域㊁数据边界值以及特殊字符串缺失校验伪造控制系统的核心指令报文正常或错误请求的限制缺失重放型拒绝服务攻击数据传输过程中的恶意篡改针对协议规约构造非法报文恶意提升操作员及主站的控制权限资源耗尽型拒绝服务攻击2工控协议安全测试的重点与难点工控网络协议存在特殊性,很难直接使用传统模糊测试方法开展测试工作,部分原因在于较为封闭的工控环境中内嵌协议栈无法导出㊁时效性敏感以及依靠会话连接等一系列因素,对工控协议测试来说,是不可避免的阻碍条件㊂但就协议本身而言,测试的重点以及难点主要在于对工控协议解析㊁制定变异策略㊁构造测试用例以及异常捕获4个方面,其具体测试流程如图1所示㊂图1工控协议测试流程图首先,就工控协议解析而言,由于协议信息公开度的差异,主要分为公有协议和私有协议㊂公有协议是指协议资料公有化㊁标准化程度高,如M o d b u s协议族㊁MM S㊁D N P3等;而私有协议如O m r o n的F I N S协议㊁三菱的m e l s e c t协议等,其协议资料公开度较低,只在限定范围内公开使用甚至不公开协议规范,而且对于具体的协议字段含义处于未知状态,面向会话过程中相应功能并不明确,因此私有协议的模糊测试存在着一定的难度㊂实际上,无论是公有还是私有协议,均能够利用模糊测试进行不同程度的脆弱性分析,其效果好坏则不言而喻㊂然而,由于协议自身高度结构化,且控制指令字段数量较多的协议特点,在制定变异策略时难免会存在大量的开销,公有协议需要结合规约㊁分析抓取的数据包对协议字段的含义进行深度解析,明确其控制功能㊁属性含义以及数值范围等,而对于私有协议来说,有必要通过数据包截获以及相关协议20M i c r o c o n t r o l l e r s &E m b e d d e d S y s t e m s 2019年第9期w w w .m e s n e t .c o m .c n分析方法进行未知协议解析,从而获取协议字段含义及字段间的内在联系㊂其次,变异策略的选取可看作协议解析与构造测试用例之间的桥梁,三者的紧密联系是显而易见的㊂一般采取随机变异㊁逐字段变异等方式针对某一字段细粒度作用,从而提高测试用例生成的覆盖度,但该方式极易引发用例空间爆炸的问题,此时便需要根据具体情况选取适合的变异因子,并对无效冗余的状态进行剪枝处理,从而优化变异策略并为构造高质量测试用例奠定基础㊂工控协议测试用例生成是测试过程中的核心环节,因为测试结果的好坏完全取决于如何构造测试用例[8],按照用例的生成方式一般可分为基于生成和基于变异两类,其中基于生成是指通过提取有效的协议输入结构和状态规则对其进行建模,构造模糊输入数据集,即基于生成的测试用例,如随机构造超长字符串(A A A A 或B B B B 等)填充协议数据段作为模糊输入[9];而基于变异方式则需要测试人员对协议格式进行更深层次的了解,并通过更改编码方式生成高质量测试用例,该方式需要大量的人工分析,耗时较长但测试成功率较高㊂最后,测试过程中发现的异常需要及时进行定位捕获,检测方案主要分为基于请求-响应的返回报文分析即通过返回信息对被测目标进行判断,方式简单但不易捕获具有自修复的工控协议栈,需要高频度发送报文请求才能触发栈内异常;反汇编调试跟踪即通过监视进程错误并捕获异常数据,但该方式只适用于离线协议数据分析,由于工控设备现场很大程度上无法安装进程监控软件工具,难以进行实时监测,因此该方案无法用于现场设备;采用跟踪日志信息的手段,该方式为传统信息安全体系中监测系统异常的必要手段,但是工控环境设备中的数据存储㊁网络访问等均被严重限制,因此通过工控设备上的日志记录进行异常判定显然存在局限性㊂3 工控协议安全测试的相关进展基于上述重点及难点,安全研究人员针对工控协议模糊测试设计专门的f u z z i n g 工具㊁测试框架以及测试方法等,从协议安全测试角度对工控环境中存在的脆弱性进行分析并有效地剔除㊂随着工控系统信息安全受到越来越多的关注,其工控f u z z i n g 方法也逐渐发展并不断从协议模型优化和测试用例质量等角度进行优化,但基本上都是借助一些开源模糊测试框架进行扩展㊂3.1 国外工控协议f u z z i n g 测试进展最初将f u z z i n g 测试引入到工控领域的代表事件发生在2007年的黑帽大会,美国T i p p i n g Po i n t 研究员D e v a r a -ja n [10]基于S u l l e y 开源框架发布了专门针对Mo d b u s ㊁I C -C P 和D N P 3的模糊测试模块,能够发掘工控网络协议在非法执行命令㊁非法数据传输等方面的脆弱性;紧接着大量的测试方案迅速展开,如D i gi t a l B o n d 公司[11]开发一种商业性质的专门针对I C C P 协议的I C C P S i c 测试套件,并且该公司研究员[12]利用S c a p y 抓包工具捕获Mo d b u s T C P 基于请求-响应的完整通信报文,利用随机变异策略伪造数据包中的C R C 校验和计数值,通过日志分析检测异常值;德国奥格斯堡大学的K o c h [13]基于S c a p y Fu z -z e r 框架针对P r o f i n e t 协议族开发f u z z i n g 测试工具,该工具支持S u l l e y 的f u z z i n g 模块并对协议中告警帧检测取得一定的效果;W u r l d t e c h 公司的B yr e s 等[14]研发了B l a c k P e e r 的测试框架,利用M o d b u s T C P 协议进行5000次测试验证框架并发现60多类错误;M u D yn a m i c 公司[15]设计实现了基于I E C 618950㊁M o d b u s T C P 和D N P 3协议的商业性测试模块,并且该模块支持未知协议扩展;W u r l d t -e c h 公司的A c h i l l e s 模糊测试器[16]核心是利用专家经验生成测试用例,并支持多种工控协议的测试,如M o d b u s ㊁D N P 3㊁I C C P 和MM S 等;B r a t u s 等[17]基于G P F 模糊器[18]设计实现了一个兼容公私有协议的L Z F u z z 模糊测试器,通过保留字符串表和利用相关令牌字符串的源信息提高f u z z i ng 测试准确度㊂3.2 国内工控协议f u z z i n g 测试进展尽管国内协议安全研究起步较晚,但研究者们从不同的角度提出了一些测试用例生成优化方法,从而提高f u z z i ng 测试率以及测试结果,如S u n J i n K i m 等[19]提出一种基于协议字段分类的f u z z i n g 测试用例生成方法,能够降低测试人员的经验依赖度并适用于多种工控协议,通过常用协议库验证成功发现三个未知异常;张亚丰等[20]利用改进巴科斯范式对M o d b u s T C P 工控协议进行描述,将报文解析成语法变异树,并提出基于变异树的测试用例生成算法,把分隔符作为组合字段变异触发了堆异常,发现了潜在的未知漏洞并提高了测试效率;在此基础上张亚丰等[21]利用中间人在线截获协议报文样的方式,构建工控协议状态机模型对S C A D A 和P L C 进行双向测试,提出基于状态机的测试用例生成算法,从而对被测对象加以状态引导以达到更高的测试覆盖率,并在48次拒绝服务异常中验证了西门子S 71200的5个拒绝服务的已知漏洞,提高了触发漏洞的概率;S u n J i n K i m 等[22]提出一种基于工控协议字段分类的测试用例生成新方法,在注重交叉字段的基础上,更加考虑到工控网络的特点以及其协议层之间的漏洞存在依赖性和继承性,降低相同测试结果下的完全枚举时间;G u o f a n g D o n g 等[23]针对工控系统提出一种基于变异树的估值剪枝优化模糊测试模型及相应算法,在刘海龙等[24]所提出F T S G 变异树模型的基础上,给出每个节点的初始估值准则,并提出了中间节点及叶子节点准则,结果表明该方案比F T S G 模型效率更高,测试数据敬请登录网站在线投稿 2019年第9期21量为F T S G 的50倍;D i a n b o Z h a n g 等[25]基于Pe a c h 框架开发支持P r of i n e t D C P 协议的测试模块,测试结果表明,改进的P e a c h 模糊器完全能够满足P r o f i n e t D C P 的漏洞检测需求;赖英旭等[26]提出一种基于模糊测试的工控网络协议漏洞挖掘方法,通过工控网络协议测试用例变异因子生成协议特征值,将每个变异因子表征为一类工控系统漏洞的特征,能够兼容公私有协议测试,利用响应对比特征和旁路监听检测到S 7协议的安全漏洞㊂结 语随着f u z z i n g 测试在工控网络领域的广泛应用,传统f u z z i n g 测试并不适用于工控网络协议,在模糊器的基础上开发待测工控协议的支持模块才能满足其测试需求,并且在异常监测与分析上存在一定的局限性,传统f u z z i n g 的监测手段并不适合工控网络专用性的特点,其中部分测试方案只能用于一种工控协议,仅有一小部分兼容公私有协议测试,但协议普适性并不高,因此工控网络的f u z z i n g 测试亟需进一步改进㊂本文首先对工控网络协议的特点及脆弱性进行深入分析,然后详细阐述了目前工控网络协议f u z z i n g 测试存在的重点及难点,最后综述了工控网络协议f u z z i n g 测试的相关进展,并对各种测试方案的优势进行总结评价㊂在未来协议测试的安全研究中,应对目前测试框架进一步扩展,以支持多种工控协议的安全测试,参考文献中大部分的协议都是针对于公有协议进行测试,虽然私有协议的测试难度不同于公有协议,但从工控网络安全环境的角度,通过机器学习㊁逆向协议等技术手段降低私有协议的测试难度具有重要意义㊂参考文献[1]陶耀东,李宁,曾广圣.工业控制系统安全综述[J ].计算机工程与应用,2016,52(13):818.[2]蒲石,陈周国,祝世雄.震网病毒分析与防范[J ].信息网络安全,2012(2):4043.[3]S o u m e k o v I .T h e M y s t e r y o f D u qu F r a m e w o r k S o l v e d [E B /O L ].[201903].h t t p ://s e c u r e l i s t .c o m /b l o g /r e s e a r c h /32354/t h e m y s t e r y o f d u q u f r a m w o r k s o l v e d 7/.[4]姚羽,祝烈煌,武传坤.工业控制网络安全技术与实践[M ].北京:机械工业出版社,2017:52.[5]E d m o n d s J .S e c u r i t y a n a l y s i s o f m u l t i l a ye r p r o t o c o l s i n S C A -D A n e t w o r k s [D ].T u l s a :U n i v e r s i t y of T u l s a ,2006.[6]N a t i o n a l I n t e r n e t E m e rg e n c y Ce n t e r .C h i n a N a t i o n a l V u l n e r -a b i l i t y D a t a b a s e [E B /O L ].[201903].h t t p ://i c s .c n v d .o r g.c n /.[7]C o mm o n V u l n e r a b i l i t i e s a n d E x p o s u r e s .I n f o r m a t i o n S e c u r i t yV u l n e r a b i l i t y Po r t a l [E B /O L ].[201903].h t t p://c v e .s c a p .o r g.c n /v i e w /i c s .[8]戴超,张鹿.黑客大曝光:工业控制系统安全[M ].北京:机械工业出版社,2017.[9]熊琦,彭勇,伊胜伟,等.工控网络协议F u z z i n g 测试技术研究综述[J ].小型微型计算机系统,2015,36(3):497502.[10]D e v a r a j a n G.U n r a v e l i n g S C A D A p r o t o c o l s :u s i n g S u l l e y-F u z z e r ,p r e s e n t e d a t t h e D e f C o n 15H a c k i n g Co n f e r e n c e [E B /O L ].[201903].h t t p ://w w w.d e f c o n .o r g/h t m l /d e f c o n 15/d c 15s pe a k e r s .h t m l .[11]D i gi t a l B o n d .I C C P S i c a s s e s s m e n t t o o l s e t r e l e a s e d ,s u n r i s e [E B /O L ].[201903].h t t p ://w w w.d i gi t a l b o n d .c o m /2007/08/28/i c c ps i c a s s e s s m e n t t o o l s e t r e l e a s e d .[12]M i c h a e l T o e c k e r :R e s p o n s e f u z z i n g[E B /O L ].[201903].h t -t p ://w w w .d i g i t a l b o n d .c o m /b l o g /2013/05/08/r e s po n s e f u z z i n g/.[13]K o c h R.P r o f u z z [E B /O L ].[201903].h t t p ://gi t h u b .c o m /H S A S e c /P r o F u z z .[14]B y r e s E J ,H o f f m a n D ,K u b e N .O n s h a k y g r o u n d :a s t u d y of s e c u r i t y vu l n e r a b i l i t e s i n c o n t r o l p r o t o c o l s [C ]//5t h A m e r i c a n N u c l e a r S o c i e t y I n t e r n a t i o n a l T o p i c a l M e e t i n g on N u c l e a r P l a n t I n s t r u m e n t a t i o n ,C o n t r o l s a n d H u m a n M a c h i n e I n t e r f a c e T e c h -n o l o g y ,A m e r i c a n N u c l e a r S o c i e t y ,A l b u q u e r qu e ,2006.[15]D y n a m i c s M.M u t e s t s u i t e [E B /O L ].[201903].h t t p://w w w.m u d y n a m i c s .c o m /pr o d u c t s /m u t e s t s u i t e .h t m l .[16]W u r l d t e c h .A c h i l l e s t e s t p l a t f o r m [E B /O L ].[201903].h t t p ://w w w.w u r l d t e c h .c o m.[17]B r a t u s S ,H a n s e n A ,S h u b i n a A .L Z F u z z :a f a s t c o m pr e s s i o n b a s e d f u z z e r f o r p o o r l y do c u m e n t e d p r o t o c o l s .D a r t m o u t h C o m -p u t e r S c i e n c e T e c h n i c a l R e po r t T R 2008634[R ].2008.[18]G e n e r a l p u r po s e f u z z e r [E B /O L ].[201903].h t t p://w w w.v d a l a b s .c o m /t o o l s /e f s _g pf .h t m l .[19]K i m S J ,J o W Y ,S h o n T .A n o v e l v u l n e r a b i l i t y a n a l y s i s a p -p r o a c h t og e n e r a t e f u z z i n g t e s t c a s e i n i n d u s t r i a l c o n t r o l s ys -t e m s [C ]//I n f o r m a t i o n T e c h n o l o g y ,N e t w o r k i n g,E l e c t r o n i c &A u t o m a t i o n C o n t r o l C o n f e r e n c e ,2016.[20]张亚丰,洪征,吴礼发,等.基于范式语法的工控协议F u z z i n g测试技术[J ].计算机应用研究,2016,33(8):24332439.[21]张亚丰,洪征,吴礼发,等.基于状态的工控协议F u z z i n g 测试技术[J ].计算机科学,2017,44(5):132140.[22]K i m S J ,S h o n T.F i e l d c l a s s i f i c a t i o n b a s e d n o v e l f u z z i n gc a s e g e n e r a t i o n f o r I C S p r o t o c o l s [J ].T h e J o u r n a l o f S u pe r -C o m p u t i n g,2018,74(9):44344450.[23]D o n g G ,S u n P ,S h i W ,e t a l .A n o v e l v a l u a t i o n p r u n i n g o pt i -m i z a t i o n f u z z i n g te s t m o d e l b a s e d o n m u t a t i o n t r e ef o r i n -d u s t r i a l c o n t r o l s y s t e m s [J ].A p p l i e d S o f t C o m p u t i n g,2018:S 1568494618300954.[24]刘海龙,汪永益,潘祖烈.基于变异树的F u z z i n g 技术研究[J ].计算机工程与设计,2011,32(11):36183621,3632.[25]Z h a n g D ,W a n g J ,Z h a n g H.P e a c h I m pr o v e m e n t o n P r o f i n e t D C P f o r I n d u s t r i a l C o n t r o l S y s t e m V u l n e r a b i l i t y De t e c t i o n [C ]//I n t e r n a t i o n a l C o nf e r e n c e o n E l e c t r i c a l ,C o m pu t e r E n -g i n e e r i n g an d E l e c t r o n i c s ,2015.[26]赖英旭,杨凯翔,刘静,等.基于模糊测试的工控网络协议漏洞挖掘方法[J ].计算机集成制造系统,2019(3).(责任编辑:薛士然 收稿日期:2019-03-19)。
无线通信最新技术测试要求综述
• Conducted Receiver Sensitivity • Data Rates • On each frequency channel, receive sensitivity shall be measured at the
•测试根据EUT的情况分为AP/STA两种方案
Page15 | 10/25/2013
TA Technology (ShangHai) Co.,Ltd.
标准要求测试的频段
Wi-Fi制式:IEEE 802.11a, 802.11b, or 802.11g •Wi-Fi频段: ISM-band: 2400 – 2497 MHz
Page10 | 10/25/2013
TA Technology (ShangHai) Co.,Ltd.
运营商标准汇总
•Vodafone OTA RF Performance Requirements for LTE • Version: 2.0 February 2013
Page11 | 10/25/2013
通过测量多模终端的某一模组/在有无其它模组工作时的/灵敏 度变化量/来评定其受干扰的程度
本标准涉及的多模终端包括多模单待机终端和多模多待机终端
多模单待机的终端在存在多个模组时不能对其任何一个模组造 成干扰并引起灵敏度下降 多模多待机终端其模组间需进行电磁干扰测试。
Page9 | 10/25/2013
个固定的信道上链接。
2,如果可以,关闭节电功能。 3,由于信号过低,被测物与AP失去连接时,被测物必须积极
模糊测试技术综述
(4)分析结果:对目标程序的输出和行为进行分析,发现异常情况,如崩 溃、死循环、错误输出等。
3、模糊测试技术的分类和应用 场景
模糊测试技术可以根据不同的分类标准分为不同的类型,如根据输入数据的 生成方式可以分为随机测试和伪随机测试,根据目标程序的类型可以分为Web应 用测试、操作系统测试、数据库测试等。在实际应用中,模糊测试技术主要应用 于以下几个场景:
模糊测试技术综述
01 摘要
03 主体部分 05 参考内容
目录
02 引言 04 结论
摘要
模糊测试技术是一种通过生成随机或伪随机数据来检测程序错误和安全漏洞 的测试方法。本次演示将介绍模糊测试技术的概念、研究现状、实现方法、分类、 应用场景、优缺点及改进方向等方面。关键词:模糊测试,程序错误,安全漏洞, 随机数据,伪随机数据。
引言
在软件和系统开发过程中,测试是保障其质量和安全的关键环节。模糊测试 作为一种自动或半自动的测试方法,旨在发现程序中的错误和安全漏洞。模糊测 试技术通过生成随机或伪随机数据作为输入,检测程序在异常输入下的行为和反 应,从而发现可能被正常测试所忽略的问题。本次演示将详细介绍模糊测试技术 的相关内容,帮助读者更好地理解和应用这一技术。
主体部分
1、模糊测试技术的历史和发展 过程
模糊测试技术最早可以追溯到1970年代,当时主要是用于发现操作系统中的 漏洞。随着计算机技术的发展,模糊测试技术在各个领域得到了广泛应用。目前, 模糊测试技术已经成为软件和系统安全测试的重要手段之一,并且不断有新的技 术和工具涌现。
2、模糊测试技术的原理和实现 方法
2、模糊测试的鲁棒性和适应性研究:现有的模糊测试方法仍然存在一些局 限性,需要进一步提高其鲁棒性和适应性。
在线测试技术的现状和发展
第 6卷, 6 第 期
V ]6 o
.
电
子
与
封
装
,
No 6
总 第 3 期 8
20 06年 6月
EL CTR E ONI CS & P ACKAGI NG
综 述
在 线测试技术 的现状和发展
鲜 飞
( 烽火通信科技股份有限公司,湖北 武汉 4 0 7 ) 30 4
1 引言
在线测试曾作为组 装后 P B l 的主导技术而 占 C  ̄J 试 据市场绝对优 势 , 随着电子组装技术的发展 , C 但 P B的 密度越来越高 ,测试点间距越来越小 ,测试点数 量越 来越多 ,这一切都给传统的测试技 术带来挑战 ,加之
各 种新兴测试技术的不断出现 ,在线测试技术何 去何
摘 要 :以 电气接 触为手段 ,在 线测试设 备除 了能够测试制造过 程的缺 陷和 故障 以外 ,还能够 测试 P B的某些 电气性能 , 因而得 到 了广泛应 用。但 是 ,在 线测试仪将面 临高密度 P B测试 的挑战 。文 C C 章扼要地介绍在 线测试技 术的原理及 未来发展 趋势。 o mu iainT c n lge o,Ld Fb r o ee m nc t eh oo isC . t,W h n 3 0 4,C ia c o u a 4 0 7 hn
Absr c :By c n a tn t ta t o t ci g wihPCB , i - ic i t se , n n y c n ts o t fm a u a t rn e e t n n cr u t e tr ot l a tm s n f cu ig d f csa d o e o f ut b t lo c nt s CB se lr ’ee tia e o m a c I -ic i tse sa ewi eyus d, bu h y a ls u s a e tP a a s mb e s l crc lp r r n e n cr u t e tr r d l e f tt e
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
・ !"# ・
计算机测量与控制
第 $$ 卷
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
・ ’(% ・ ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
文章编号: ("##$) %(+% ) ,’*& #& ) #’(% ) #$ 中图分类号: -."+, 文献标识码: /
>
"X%网络化Fra bibliotek试技术以太网技术 分布式实时控制及其确定性实现是网络化测试任务 的重要指标,也是一种网络技术。以太网在工控和仪表 领域的应用给网络化测试带来了新的希望,它传输信息 的性能、速度、质量是其它现场总线系统、 G1A 系统无 法比拟的。 -1. Y 3. 协议通用性好,1A:/ Y 1G(兼听多 路访问 Y 冲突检查)机制有效地减少了网络拥塞和传输 冲突,网桥、集线器的应用使网络结构可以任意拓展, 同时把网络分割成独立的冲突域,改进了网络的质量, 进一步提高了性能,近年来出现的千兆以太网、光纤以
=
引言
把测试触角伸入现场节点,进行分布式测试,充分 掌握现场信息,让异地或远程客户共享信息是测试发展 的方向,也是测试网络化进程的原始推动力。以以太网 技术、网络化仪器和传感器技术、 0.1 技术、分布式计 算技术、网络数据库技术为代表的各种新技术在测试领 域得到了广泛的应用,加速了网络化测试的发展。文章 以当前测试网络化进程为依托,对这一领域应用的新技 术进行了论述,对未来网络化测试发展具有指导意义。
/%##*(0 "1 2’&3"(4’5 6’+& 6’78,"."90
234 5678767 9% , :;<= 1>?7% , @/<= ABC8D>E7 9% , 1F;< G?8H6E7 9"
(% ! 0IJ7E7D? ;7967??I679 1CKK?9?, A>6L6EM>BE79 #’###$, 1>67E; " ! :6NN6K? AOEO6C7 CP <E7L679 :6K6OEIQ /I?E, <E7L679 "%##"&, 1>67E) :;+&(*7&: ->? 7?ORCIS?J O?NO O?D>7CKC9Q 6N NOBJ6?J! ->? DBII?7O N?T?IEK T6OEK O?D>7CKC96?N EUUK6?J 67 O>? P6?KJ CP 7?ORCIS?J O?NO EI? E7EKQN?J,E7J O>?6I D>EIEDO?I E7J I?EK6M679 REQ E7J N?OOK679 UICVK?WN EI? J6NDBNN?J! 07 O>? CO>?I >E7J,NCW? I?NCKT679 REQ BN679 NCW? O?D>7CKC9Q EI? UI?N?7O?J,E7J N>CRN O>? J?T?KCU679 J6I?DO6C7 CP 7?ORCIS?J O?NO 67 O>? PBOBI?! <’0 3"(5+: 7?ORCIS?J; O?NO;?O>?I7?O;67NOIBW?7O; J6NOI6VBO679 DEKDBKEO6C7; 0.1; JEOEVEN?
综
述
计算 机 测 量 与 控 制 ! " # # $ ! % % (&) !"#$%&’( )’*+%(’#’,& - !",&(".
网络化测试技术综述
刘金宁% ,孟
(% ! 军械工程学院,河北 石家庄
晨% ,杨锁昌% ,陈德祥"
#’###$;" ! 南京军区导弹站,江苏 南京 "%##"&)
摘要:对网络化测试进行了研究,分析了当前应用于网络化测试领域的几项关键技术,论述了各项技术的特点、实 现方法和要解决的问题,列举了应用部分技术提出的解决方案,对未来网络化测试的发展具有指导意义。 关键词:网络化;测试;以太网;仪器;分布式计算; 0.1;数据库
收稿日期: "##$ ) %% ) %"。 作者简介: 刘金宁 (%*+* ) ) , 男, 河北省衡水县人, 硕士, 主 要从事装备自动检测与故障诊断方面的研究。 孟晨 (%*($ ) ) , 男, 河南省郑州市人, 教授, 主要从事装备 自动检测与故障诊断方面的研究。
太网采用全双工通信、优先级控制等机制有效地缓解了 1A:/ Y 1G(兼听多路访问 Y 冲突检查)带来的碰撞以至 出现的通信不确定性问题,最大限度地利用网络带宽, 满足了实时性要求。 随着 ;O>?I7?O 的发展完善,为构建网络化测试系统 框架提供了完美的解决方案。 " X " 网络化仪器和传感器技术 仪器的发展遵循跟着通用计算机,跟着通用软件, 跟着标准化网络走的指导思想,开发 在网络 上即插 即 用,具有一定独立处理能力的智能化单元是当前各大仪 器生产厂家努力的方向。这些独立单元具有自学习、自 适应、自联想、自寻优的智能化特点,可以对测试数据 进行理解、判断、推理和分析得出初步的诊断性结果。 通过把这些分布在不同地点的功能单元进行不同的组态 来满足不同的测试需求,于是出现了“网络化仪器”的 概念,它被定义成服务于客户的在任意时间、任意地点 获得测试数据,实现设备资源和数据资源共享的一系列 软、硬件集合。 嵌入式微处理器技术早在 &# 年代就在仪器领域得 到了推广,二者结合使计算机与仪器的界限逐渐模糊, 当前测试网络化的进程又迫使国内外仪器厂商争相研制 网络化智能芯片,产品开始提供网络化接口,仪器的网 络化、智能化程度不断提高。它把某一类型的仪器封装 成独立的功能模块,通过 .13 ) =.3Z 卡、 .13 ) %$*, 卡 等连接主控计算机,再经网卡与 上层通 信服务 网络 相 连,组成网络化虚拟仪器测试系统,底层仪器模块的功 能通过编程实现,对外利用网络发布数据,使测试系统
彻底突破了时空的限制,完全实现了分散控制,充分保 证了信息的异地共享。如最近 %& 公司推出的 ’()*+,-(./ 模块化分布式 & 0 1 中的最新产品—工业 ’, 2 34 2 $56 应变模块,用户可以利用 789:&;<、7--=1>/、 789?(.@ +-?A0 B:& 或任何其它用于 过程控制 的 17; (如 1,B) 客户端软件对 ’, 2 34 2 $56 进行接口编程,在很短的 时间内,迅速定义并建立起适合自己的灵活的网络化测 控应用方案。 测试网络底层数据的提取是传感器完成的不可替代 的任务。传统传感器是一种数值测量传感器,它以数值 形式描述被测对象的状态,功能简单。网络化传感器是 一种智能化传感器,具有 自检测、自修 正、自 保 护 功 能,它带有模糊处理单元,具有人的某些功能,可以仿 照人的行为对测试对象进行自学习和自处理,对测试结 果进行判断和制定决策,通过软件控制做出多种决定。 网络化传感器为网络仪器提供底层预处理信号,通过嵌 入 CB, 0 &, 协议到程序 D1E 中,使处在测试节点上的 它们可以把测试参数信息发布到网络上,为网络仪器提 供底层数据支持。 仪器和传感器是实现网络节点功能的主体,它们的 发展完善为建立功能强大的网络节点提供了技术支持。 # F G 1,B 技术 基于微软组件对象模型( B1E )的 1,B 技术是测 试仪器之间通信、交换数据、进行互操作和客户实现远 程操作仪器的新一代技术规范。传统的现场总线技术模 型不统一,通信协议互不兼容,仪器之间、网段之间的 互操作性很差。当前测试网络不断向大型化、复杂化发 展,开发者不可避免地 要连结不同网 络 拓 扑结 构 的 网 段、采用不同厂家遵循不同协议的设备,这样就形成了 大大小小的“信息孤岛” ,限制了系统的无缝集成,另 外当设备故障需更换或更新换代需升级时,由于前后仪 器的驱动程序不统一,又不得不大面积更改或更换系统 软件,系统的维护工作非常艰巨,软件的重用性、可移 植性很差。 1,B 技术的出现有效缓解了这一现状, 1,B 服务 器对外提供的接口有定制接口和自动化接口两种,其中 定制接口是必须的,定制接口为用 B 0 B H H 语言编写的 客户程序提供灵活高效的调用手段,自动化接口为 :I 等组件化高级语言客户程序提供方便。为了最大限度地 实现互用, 1,B 基金 会制订 了一系 列规 范,为了 实 现 这些规范, 1,B 服务器提供商基于 B1E 开发了一系列 对象和接口,如 1,B 服务器对象及接口、 1,B 组对象 及接口、 1,B 项对象及接口共同实现 1,B 服务器对现 场设备的数据存取规范。 当前很多仪器生产厂家开始针对自己的产 品 提 供 1,B 服务器,如 %& 公司在发布自己的 ’()*+,-(./ 模块 化分布式 & 0 1 时就提供了 1,B 服务器驱动,使这些模 块可方便地挂接 在现 有网络 化测试 系统 上,通过 操纵 1,B 服务器就实现对仪器实现灵活多样的控制,而不 用考虑网络连接和网络兼容问题。 1,B 技术大大增强了不同厂家、不同类型仪 器之 间的互换性和互操作性,测试软件可以高效、稳定地对 硬件设备进行数据存取操作,应用软件之间也可以实现 便捷的信息共享,彻底消除了“信息孤岛”问题。 # F 5 分布式计算技术 网络化测试的本质是把测试任务分散化,测试功能 本地化,从另一种意义上讲是一种分布式计算模型。随 着技术的进步和实际需求的增长,测试规模越来越大, 测试项目和测试节点非常分散,空间跨度很大,有些甚 至是移动的,这给分布式计算在网络化测试领域找到了 用武之地, E(JK-A-L/ 的 MB1E 和 1E4 的 B1DIN 是当前 应用最广泛、最重要、也是最健壮的两种分布式计算平 台,它们都支持面向对象模型,都具有分布式对象计算 系统的优点;都支持多平台无关, B1DIN 和 MB1E 在 网络化测试领域的应用给测试带来了崭新的发展空间。 功能本地化是网络化测试的客观要求,但本地化有 一个很必要的前提是功能模块之间的通信和互操作性。 E(JK-A-L/ 的 MB1E 是在 B1E 的基础上增强网络支持功 能而发展起来的,它是一种标准的二进制规范,对软件 实体的功能实现进行了彻底的隐藏,对外提供语言无关、 进程无关、机器边界无关的功能调用接口,使软件模块 之间的互操作性和重用性大大增强,这给测试数据共享 和系统拓展带来了几乎完美的解决方案,工程开发人员 只要按照 MB1E 标准开发系统的不同功能模块,发布到 网络上就能实现方便集成,大大简化了系统开发。 组播和移动代理技术代表着分布式计算的一个发展 方向,移动代理是自治的软件体,能在网上传播,代表 用户执行任务,它代表一种极具希望的软件概念:通过 让发送器先移动到接收器的地址空间,在那里作本地请 求、计算,然后带着结果返回源地址空间,从而实现了 &./)K.)/ 通信,并使通信量最小。移动计算允许数据和 代码在网上移动,能让客户配置好的方法移动到远程主 机上,并在上面执行操作。它自身作为一种测试方法模 拟设计者的行为在目的地操作现场仪器设备进行测试。 组播网络能力为移动计算提供服务,普通地址空间和组 地址空间被定义成可提供远程测试数据的测试站点或远 程控制节点,监控节点只要加入到组播地址空间就可以 实现监控功能。组播和移动代理技术在宏观上表现为测 试方法的构建,在微观上表现为基于 O8P8 编程的实现, 客户的配 置和 执 行 单 元 为 O8P8 NQQ*)/ 片,这 些 NQQ*)/ 片通过网络在服务器和客户机之间流动完成客户设定的 任务。组 播 和 移 动 代 理 技 术 基 于 O8P8 开 发,是 平 台、 语言、系统无关的。该技术促进了模块化、开放性、互 操作、可动态重构的网络化测试技术的实现。