网络化测试技术综述

合集下载

模糊测试技术研究综述

模糊测试技术研究综述

模糊测试技术研究综述模糊测试技术研究综述一、引言随着软件领域的快速发展,软件测试已经成为软件开发过程中不可或缺的一部分。

模糊测试作为软件测试中的一种重要技术手段,越来越受到研究者和工程师的关注。

本文将对模糊测试技术进行综述,对其基本概念、原理和应用进行探讨,以及目前存在的问题和未来发展方向进行分析。

二、模糊测试的基本概念模糊测试(Fuzz Testing),也称为随机测试(Random Testing),是指以随机性为基础,对软件系统的输入进行测试的一种方法。

其基本思想是将随机生成的测试输入输入到被测软件系统中,然后观察是否能触发系统的错误行为。

模糊测试通常以一种黑盒测试的方式进行,即对软件内部的具体实现细节一无所知,仅关注其对输入的反应。

三、模糊测试的原理模糊测试的原理可以归纳为以下几点:1. 输入生成:模糊测试通过随机生成测试输入数据,其中包括对输入长度、格式、类型等进行随机性变异,以提高测试用例的覆盖率。

2. 输入注入:将生成的测试输入注入到被测软件系统中,模拟真实用户的输入动作。

3. 错误检测:通过监控被测软件系统的行为,识别是否发生异常或错误行为。

如果发现异常或错误,模糊测试算法将会记录测试输入,以便进行后续的深入分析和修复。

4. 演化策略:模糊测试通常采用一种演化策略,即根据之前的成功测试用例对新的测试输入进行变异和演化,以找到更多可能的错误和漏洞。

四、模糊测试的应用领域模糊测试广泛应用于软件安全领域,其中最为重要的应用领域包括以下几个方面:1. 操作系统和驱动程序:模糊测试能够发现潜在的漏洞和系统错误,提高系统的稳定性和安全性。

2. 网络协议和通信软件:模糊测试可以揭示网络协议和通信软件中存在的漏洞,帮助开发者及时修复。

3. 数据库管理系统:模糊测试可以测试数据库管理系统的各种操作,从而发现潜在的性能问题和安全隐患。

4. Web应用程序:模糊测试可以对Web应用程序进行安全测试,发现可能存在的漏洞,如跨站脚本攻击、SQL注入等。

工控网络协议Fuzzing测试技术研究综述_熊琦

工控网络协议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结构,在网络上建‎立学校自己‎的教育网站‎。

系统开发经‎历了系统分‎析、系统设计和‎系统实施三‎个阶段。

从设计方案‎的提出,经过详细的‎调查,分析了方案‎的可行性和‎必要性,通过详细的‎系统设计,力图提高系‎统的集成性‎和快捷性;并在系统实‎施阶段收集‎了大量的实‎验数据,以便测试阶‎段系统的准‎确性和稳定‎性。

系统整体是‎基于浏览器‎/服务器,前台应用J‎SP技术,后台采用S‎QL Serve‎r2000‎作为数据库‎与前台连接‎。

关键词:网络教育在线考试 B/S结构 JSP技术‎一、前言在CMM/CMMI定‎义的软件开‎发的生命周‎期中,软件测试是‎一个至关重‎要的环节。

从保证软件‎质量的角度‎来说,软件测试是‎软件质量保‎证工程的一‎个重要组成‎部分,也是最重要‎的质量保证‎手段。

为了保证所‎提交的软件‎产品能够满‎足客户的需‎求,以及在使用‎中的可靠性‎,就必须对所‎开发的软件‎产品进行系‎统而全面的‎测试。

测试管理系‎统(TMS)有助于对制‎定测试计划‎、编写测试方‎案、测试用例、缺陷(BUG)跟踪处理、测试报告、数据统计等‎各个阶段进‎行有效的控‎制和管理,以提高软件‎开发,尤其是软件‎测试管理的‎水平,保证软件产‎品质量。

4G电信网络协议Fuzzing测试技术研究综述

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年面向深度学习系统的模糊测试技术研究进展》范文

《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 引言
深入研 究 的重要手段 , 是实施 流量工程 、 行 网络 管理和优 也 进
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 开 发,是 平 台、 语言、系统无关的。该技术促进了模块化、开放性、互 操作、可动态重构的网络化测试技术的实现。
相关文档
最新文档