CN114205340B - 一种基于智能电力设备的模糊测试方法及装置 - Google Patents

一种基于智能电力设备的模糊测试方法及装置 Download PDF

Info

Publication number
CN114205340B
CN114205340B CN202111591437.3A CN202111591437A CN114205340B CN 114205340 B CN114205340 B CN 114205340B CN 202111591437 A CN202111591437 A CN 202111591437A CN 114205340 B CN114205340 B CN 114205340B
Authority
CN
China
Prior art keywords
protocol
target
intelligent power
power equipment
power
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111591437.3A
Other languages
English (en)
Other versions
CN114205340A (zh
Inventor
汪渊博
吴俊�
李子奇
严晗
王梓豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nsfocus Technologies Inc
Nsfocus Technologies Group Co Ltd
Original Assignee
Nsfocus Technologies Inc
Nsfocus Technologies Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nsfocus Technologies Inc, Nsfocus Technologies Group Co Ltd filed Critical Nsfocus Technologies Inc
Priority to CN202111591437.3A priority Critical patent/CN114205340B/zh
Publication of CN114205340A publication Critical patent/CN114205340A/zh
Application granted granted Critical
Publication of CN114205340B publication Critical patent/CN114205340B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/02Protocol performance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

本申请实施例提供了一种基于智能电力设备的模糊测试方法及装置,用于提升对智能电力设备进行模糊测试的测试效率。所述方法包括:确定目标智能电力设备对应的目标电力协议;根据预设变异策略对所述目标电力协议的可变异字段进行变异,生成测试用例;其中,所述目标电力协议的可变异字段为根据所述目标电力协议的协议特性确定的;将所述测试用例发送给所述目标智能电力设备,以使所述目标智能电力设备执行所述测试用例。

Description

一种基于智能电力设备的模糊测试方法及装置
技术领域
本发明涉及工控技术领域,尤其涉及一种基于智能电力设备的模糊测试方法及装置。
背景技术
随着物联网技术与通信技术的不断发展,基于工业控制***的电力物联网也在不断的完善和发展,而在电力物联网发展的同时,面临的安全漏洞不断增多、安全威胁加速渗透且攻击手段也越来越复杂多样。因此,主要通过模糊测试的方式对智能电力设备的安全性进行研究,而在模糊测试的过程中,由于智能电力设备不支持常规的通讯协议,而是使用电力协议标准等通讯规约,使得电力协议的规约格式不正确时,智能电力设备不能对该电力协议进行协议解析,模糊测试的测试用例无法正确执行,从而导致测试不全面、测试效率低等问题,安全研究人员无法深入的挖掘智能电力设备的安全性问题。
发明内容
本申请实施例提供了一种基于智能电力设备的模糊测试方法及装置,用于解决测试不全面的问题以及提升对智能电力设备进行模糊测试的测试效率。
第一方面,提供一种基于智能电力设备的模糊测试方法,所述方法包括:
确定目标智能电力设备对应的目标电力协议;
根据预设变异策略对所述目标电力协议的可变异字段进行变异,生成测试用例;其中,所述目标电力协议的可变异字段为根据所述目标电力协议的协议特性确定的;
将所述测试用例发送给所述目标智能电力设备,以使所述目标智能电力设备执行所述测试用例。
可选的,所述将所述测试用例发送给所述目标智能电力设备之后,还包括:
确定所述目标智能电力设备的设备状态是否异常;
若所述目标智能电力设备的设备状态异常,则获取所述目标智能电力设备针对所述测试用例的执行结果;
根据所述执行结果生成测试报告。
可选的,所述确定目标智能电力设备对应的目标电力协议之前,还包括:
确定所述目标智能电力设备的连接参数;其中,所述连接参数包括互联网协议IP地址、端口号和网卡名;
根据所述连接参数与所述目标智能电力设备建立连接。
可选的,所述根据预设变异策略对所述目标电力协议的可变异字段进行变异,生成测试用例,包括:
获取所述目标智能电力设备的网络通信数据;
根据所述目标电力协议和网络通信数据构造电力网络协议数据;
对所述电力网络协议数据进行解析,获取所述可变异字段;
根据预设变异策略对所述可变异字段进行变异,生成所述测试用例。
可选的,若所述目标电力协议为面向通用事件的变电站事件GOOSE协议或采样值SV协议,所述根据预设变异策略对所述目标电力协议的可变异字段进行变异之前,还包括:
绑定网卡,并基于所述网卡与所述目标智能电力设备进行通信。
可选的,若所述目标电力协议为制造报文规范MMS协议,所述根据预设变异策略对所述目标电力协议的可变异字段进行变异之前,还包括:
封装所述MMS协议对应的底层协议;其中,所述底层协议包括应用层数据传输协议TPKT和面向连接的传输协议COTP。
可选的,若所述目标电力协议为IEC-104协议,所述根据预设变异策略对所述目标电力协议的可变异字段进行变异之前,还包括:
根据所述IEC-104协议对应的协议规则构造起始字节。
第二方面,提供一种基于智能电力设备的模糊测试装置,所述装置包括:
处理模块,用于确定目标智能电力设备对应的目标电力协议;
所述处理模块,还用于根据预设变异策略对所述目标电力协议的可变异字段进行变异,生成测试用例;其中,所述目标电力协议的可变异字段为根据所述目标电力协议的协议特性确定的;
通信模块,用于将所述测试用例发送给所述目标智能电力设备,以使所述目标智能电力设备执行所述测试用例。
可选的,所述处理模块,还用于:
确定所述目标智能电力设备的设备状态是否异常;
若所述目标智能电力设备的设备状态异常,则获取所述目标智能电力设备针对所述测试用例的执行结果;
根据所述执行结果生成测试报告。
可选的,所述处理模块,还用于:
确定所述目标智能电力设备的连接参数;其中,所述连接参数包括互联网协议IP地址、端口号和网卡名;
根据所述连接参数与所述目标智能电力设备建立连接。
可选的,所述处理模块,具体用于:
获取所述目标智能电力设备的网络通信数据;
根据所述目标电力协议和网络通信数据构造电力网络协议数据;
对所述电力网络协议数据进行解析,获取所述可变异字段;
根据预设变异策略对所述可变异字段进行变异,生成所述测试用例。
可选的,所述处理模块,还用于:
在所述目标电力协议为面向通用事件的变电站事件GOOSE协议或采样值SV协议时,绑定网卡;
所述通信模块,还用于基于所述网卡与所述目标智能电力设备进行通信。
可选的,所述处理模块,还用于:
在所述目标电力协议为制造报文规范MMS协议时,封装所述MMS协议对应的底层协议;其中,所述底层协议包括应用层数据传输协议TPKT和面向连接的传输协议COTP。
可选的,所述处理模块,还用于:
在所述目标电力协议为IEC-104协议时,根据所述IEC-104协议对应的协议规则构造起始字节。
第三方面,提供一种电子设备,所述电子设备包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行第一方面中任一所述的方法包括的步骤。
第四方面,提供一种计算可读存储介质,所述计算可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行第一方面中任一所述的方法包括的步骤。
第五方面,提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的基于智能电力设备的模糊测试方法。
在本申请实施例中,确定目标智能电力设备对应的目标电力协议,根据预设变异策略对目标电力协议的可变异字段进行变异,生成测试用例,其中,目标电力协议的可变异字段为根据目标电力协议的协议特性确定的,然后将生成的测试用例发送给目标智能电力设备,以使目标智能电力设备执行该测试用例,从而实现对目标智能电力设备的模糊测试。其中,由于本申请的可变异字段是根据不同的电力协议的协议特性确定的,使得进行变异的字段不会影响智能电力设备对电力协议的解析,智能电力设备能够正确执行进行字段变异后生成的测试用例,使得测试更全面,且可以有效提升模糊测试的测试效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1为本申请实施例提供的一种基于智能电力设备的模糊测试方法的流程图;
图2为本申请实施例提供的一种GOOSE协议的通信原理图;
图3为本申请实施例提供的另一种基于智能电力设备的模糊测试方法的流程图;
图4为本申请实施例提供的一种基于智能电力设备的模糊测试装置的结构框图;
图5为本发明实施例中的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
在介绍本申请实施例之前,首先对本申请中的部分技术特征进行介绍,以便于本领域技术人员理解。
(1)模糊测试(Fuzzing),是一种通过向目标***提供非预期的输入并监视异常结果来发现软件漏洞的方法。
(2)智能电力设备(Intelligent Electronic Device,IED),由一个或多个处理器组成,具有从外部源接收和传送数据或控制外部源的任何设备,即电子多功能仪表、微机保护、控制器,在特定的环境下在接口所限定范围内能够执行一个或多个逻辑接点任务的实体。
(3)黑盒测试,黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对产品界面、功能进行测试。
下面先对本发明实施例的技术背景进行介绍。
目前,对IED设备进行模糊测试的方法主要是黑盒测试,在黑盒测试的过程中,主要存在以下问题:(1)不分析协议本身的机制,对无用字段进行遍历,使得IED设备无法正常解析协议;(2)无限制发送测试用例进行模糊测试,而长时间运行模糊测试很有可能导致设备暂时不响应,而导致误判,无法触发风险点;(3)由于没有对协议本身的机制进行分析,使得对协议的某些字段进行变异之后生成的测试用例不符合协议规则,导致通信错误,测试用例失效。
鉴于此,本申请实施例提供了一种基于智能电力设备的模糊测试方法,通过确定目标智能电力设备对应的目标电力协议,根据预设变异策略对目标电力协议的可变异字段进行变异生成测试用例,其中,目标电力协议的可变异字段为根据目标电力协议的协议特性确定的,并将测试用例发送给目标智能电力设备,以使智能电力设备执行该测试用例,从而对智能电力设备进行模糊测试。其中,由于目标电力协议的可变异字段是根据目标电力协议的协议特性确定的,使得对可变异字段进行变异生成的测试用例符合协议规则,目标智能电力设备可以对协议进行解析,从而有效提升模糊测试的测试效率。
下面结合说明书附图对本申请实施例提供的基于智能电力设备的模糊测试方法进行介绍。请参见图1所示,本申请实施例中的基于智能电力设备的模糊测试方法的流程描述如下:
步骤101:确定目标智能电力设备对应的目标电力协议;
本申请实施例提供的基于智能电力设备的模糊测试方法可以应用于模糊测试设备,例如是电脑、服务器等可以运行程序的终端设备,因此在确定目标智能电力设备对应的目标电力协议之前,还需要确定目标智能电力设备的连接参数,即目标智能电力设备的网际互联协议(Internet Protocol,IP)地址、端口号和网卡名,模糊测试设备根据目标智能电力设备的连接参数与目标智能电力设备建立连接。在本申请实施例中,确定目标智能电力设备对应的目标电力协议可以通过获取目标智能电力设备的网络通信数据,对该通信数据进行解析,确定目标智能电力设备对应的目标电力协议。
步骤102:根据预设变异策略对目标电力协议的可变异字段进行变异,生成测试用例;
其中,目标电力协议的可变异字段为根据目标电力协议的协议特性确定的。目前智能电力设备支持的电力协议主要包括:IEC-104、制造报文规范(Manufaeturing MessageSpecification,MMS)协议、面向通用事件的变电站事件GOOSE协议、采样值(SampledValues,SV)协议和Modbus协议等。下面对不同的电力协议进行介绍:
(1)GOOSE协议
GOOSE协议主要用于智能变电站中,传输变电站中IED中的实时性信号,如保护跳闸,是一种基于事件的协议。其通信原理是,公告式发布模块(publisher)定期发送消息,且当发生例如跳闸、接触器闭合等事件时,publisher会发送一系列包含新数据的消息,接收缓冲区在接收到新数据的消息(即新的GOOSE报文)时,检查GOOSE报文的相关参数,并将当前帧和上一帧的GOOSE报文中进行比较,确定当前帧和上一帧的GOOSE报文的状态号(StNum)参数是否相等。若当前帧和上一帧的GOOSE报文的StNum相等,则继续将当前帧和上一帧的GOOSE报文的顺序号(SqNum)进行大小比较,若当前帧的GOOSE报文的SqNum大于上一帧的GOOSE报文的SqNum,则丢弃当前帧的GOOSE报文,否则更新接收方的数据。若两帧GOOSE报文的StNum不相等,则更新接收方的数据,具体流程可以参考图2所示。因此,在进行字段变异时需要符合GOOSE安全机制,保持stNum和sqNum字段不变,即不能对stNum和sqNum字段进行变异,而对于ndsCom、numDatSetEntries、allData等字段在进行变异之后将不会影响智能电力设备正常解析电力协议,即可确定ndsCom、numDatSetEntries、allData等字段为GOOSE协议的可变异字段。
(2)SV协议
SV协议一般以发布/订阅模式进行通信,与GOOSE协议类似,采用的通信技术都是组播通信,SV协议反映了智能变电站***设备运行的真实情况,是数据采集与监控***(Supervisory Control And Data Acquisition,SCADA)与能源管理***(EnergyManagement System,EMS)状态估计的主要依据。其中,应用协议数据单元(ApplicationProtocol Data Unit,APDU)字段包含SV消息的有效载荷,每个APDU包含最多8个应用特定数据单元(Application Service Data Unit,ASDU),每个APDU包含的ASDU的数量由noASDU(number of ASDU)字段进行指定,其中每个ASDU具有独特的SV标识值。
且IEC 61850-9-2LE协议定义了每个ASDU必须包含sv标识符(svID)、sv消息计数器(smpCnt)、配置版本号(confRev)、定义用于发送SV消息的时钟的同步机制(smpSynch)字段,而由于工作在智能变电站上的IEC 61850标准本身并没有指定安全策略,也没有强制使用任何身份认证或加密技术,因而无法抵抗各种网络攻击。因此,在进行字段变异时需要保持符合SV定义的ASDU结构,保持svID和smpCnt字段不变,而对于confRef、smpSynch、seqData等字段在进行变异之后将不会影响智能电力设备正常解析电力协议,即可确定confRef、smpSynch、seqData等字段为SV协议的可变异字段。
(3)MMS协议
MMS是ISO TC184提出在异构网络环境下,智能电力设备之间实现实时数据交换与监控的一套国际报文规范,MMS所提供的服务有很强的通用性,已经广泛运用于汽车制造,航空,化工、电力等工业自动化领域。MMS通过传输控制下协议(Transmission ControlProtocol,TCP)封装,端口号为102。从上至下的每层协议如表1所示:
表1
在TCP的基础上,MMS协议还封装了应用层数据传输协议(Transport Serviceontop of the TCP,TPKT)和面向连接的传输协议(Connection-Oriented TransportProtocol,COTP),TPKT协议使用一个简单的分组方案来划分传送协议数据单元(TransportProtocol Data Unit,TPDU),每个包被看作是一个由整数个可变长度的字节组成的对象,TPKT的报头格式包含版本号、第一个单字节保留字段和两个字节长度,其中,两个字节长度是包含头部的TPKT协议数据单元(PDU)的总长度,TPKT PDU通过TCP传输,目的端口为102;COTP协议定义了几种消息,MMS主要使用了连接请求(Connect Request,CR)(即字段TPDUcode 0xd0)、连接确认(Connect Confirm,CC)(即字段TPDU code0xe0)和数据(Data,DT)(即字段TPDU code 0xf0)消息,连接建立时使用CR和CC报文,正常运行阶段使用DT报文传输用户数据;第一个单字节表示头长,不包含数据部分的长度;当使用COTP建立TCP会话时,首先通过发送方发送它的SrcRef,此时DstRef没有初始化,然后通过CC消息确认后,SrcRef和DstRef均建立,会话一旦建立,COTP就使用DT来传输数据,COTP DT具有固定长度大小(2字节),TPDU代码0xf0。由上述分析可知,MMS协议交互过程全是明文传输,且协议建立连接时没有校验认证机制,使得基于MMS协议通信的变电站在大部分网络攻击下是十分脆弱的。因此,在进行字段变异时需要符合MMS定义的ASDU结构,且由于大多数MMS通信是通过确认请求和确认响应消息获得的,确认请求PDU中包含一个请求明确的标识符InvokeID和ConfirmedServiceRequest的类型,可确定status,getNameList,read,write等字段为MMS协议的可变异字段。
(4)IEC-104协议
IEC-104是一种基于TCP/IP的电力协议,主要用于数据远程监控等,IEC-104的通信一般主要由发送数据、接收命令的从站服务端和接收数据、发送命令的主站客户端构成,采用应答式数据传输,一般上行数据为遥信、遥测,下行数据为遥控、遥调。其选择应用功能和用户进程的过程方式表2所示:
表2
其中,APCI为控制信息部分,ASDU为存储数据单元,APDU为长度等于APCI+ASDU-2,即减去起始字节和APDU长度字节。每个APCI以一个值为0x68的起始字节开始,后跟APDU的8位长度和四个8位控制字段(CF)。APDU包含一个APCI或一个带有ASDU的APCI,一般APCI的长度为6个字节。APDU包括固定长度和可变长度的数据包,帧格式由第一个控制字段(CF1)的最后两位决定,该标准定义了三种帧格式,分别为U帧(即控制报文帧)、S帧(即监视帧)和I帧(即信息传输帧),其中,I帧的CF1的最后一位为0,用于在主控站和被控站之间进行编号信息传递,具有可变长度,I帧的APDU总是包含一个ASDU,I帧的控制字段指示消息方向,包含两个15位的序列号,对于每个APDU和每个方向依次递增1;S帧,CF1的最后一位是01,用于执行编号的监督功能,具有固定的长度,S帧的APDU总是仅包含一个APCI,在任何情况下,数据仅在单个方向上传输,S帧APDU在超时、缓冲区溢出或超过允许的I帧APDU的最大数量而无需确认时以其他方向发送;U帧,CF1的最后一位为11,用于执行未编号的控制功能,具有固定的长度。因此,在进行字段变异时需要满足APDU的长度报文检测、控制字段帧格式,即可确定ASDU中各类字段(例如是COT和IOA等字段)为可变异字段。
在本申请实施例中,可以获取目标智能电力设备的网络通信数据之后,还可以根据目标电力协议和该网络通信数据构造电力网络协议数据,对电力网络协议数据进行解析,获取可变异字段,按照预设策略对可变异字段进行变异,生成测试用例。例如,目标智能电力设备对应的目标电力协议为GOOSE协议,则可以对基于GOOSE协议和目标智能电力设备的通信数据构造的电力网络协议数据进行解析,获取ndsCom、numDatSetEntries、allData等字段,生成这些字段对应的预设范围之外的相关参数,实现对这些字段的变异(例如,某个字段对应的预设范围为10-20之间的数字,进行变异时生成0-10或20-100的数字)。
在一种可能的实施方式中,若目标电力协议为GOOSE协议或SV协议,此时由于GOOSE协议和SV协议属于底层协议(即不通过TCP/IP进行通信的协议),因此在对GOOSE协议或SV协议的可变异字段进行变异之前还需要绑定网卡,并基于绑定的网卡与目标智能电力设备进行通信,具体的,可以使用python socket机制绑定网卡,生成二层网络数据包;若目标电力协议为MMS协议,此时由于MMS协议底层必须要有TPKT和COTP协议才能正常构造MMS报文,因此在对MMS协议的可变异字段进行变异之前还需要对TPKT和COTP协议进行封装;若目标电力协议为IEC-104协议,此时由于IEC-104协议对应的协议规则中APCI要求以0x68为起始字节,因此在对IEC-104协议的可变异字段进行变异之前还需要构造起始字节0x68。
步骤103:将测试用例发送给目标智能电力设备。
在本申请实施例中,模糊测试设备将对目标电力协议的可变异字段进行变异,生成测试用例之后,将该测试用例发送给目标智能电力设备,目标电力设备在接收到测试用例之后,执行该测试用例,此时,模糊测试设备通过监视器对目标智能电力设备的状态进行监视,确定目标智能电力设备的设备状态是否异常,若目标智能电力设备的设备状态异常,则可以获取目标智能电力设备针对该测试用例的执行结果,并进行记录,生成测试报告,测试人员可以基于该测试报告确定是由哪个字段引发的漏洞,以及引发漏洞的时间信息等。
在具体的实施过程中,通过指出在生成测试用例时需要注意的点和可变异的字段,对构造的电力网络协议数据进行解析时,可以仅解析可变异字段,相对于黑盒测试中对每个字段进行遍历相比,有效减少了模糊测试过程中需要的解析时间,且在一定程度上减少了风险误报的机率,提高了识别风险点的准确率,从而有效提升了模糊测试的测试效率。
为了更好的理解本申请的技术方案,下面将结合具体的实施例对本申请提供的基于智能电力设备的模糊测试方法进行解释说明。
实施例
请参见图3所示,对目标智能电力设备进行模糊测试时,首先需要基于目标智能电力设备所使用的目标电力协议(即电力***通信规约)和获取的目标智能电力设备的网络通信数据构造正常的电力网络协议数据,然后对该电力网络协议数据进行解析,获取可变异字段,根据预设变异策略对可变异字段进行变异,生成测试用例(即畸形数据包),通过网络发包工具将畸形数据包发送给目标智能电力设备(即被测工控目标),以使被测工控目标执行该畸形数据包,并通过监视器对被测工控目标的状态进行监测,确定目标智能电力设备是否发生异常,若发生异常,则生产测试报告,若为发生异常,则更改可变异字段的内容,继续对智能电力设备进行模糊测试。
基于同一发明构思,本申请实施例提供了一种基于智能电力设备的模糊测试装置,该基于智能电力设备的模糊测试装置能够实现前述的基于智能电力设备的模糊测试方法对应的功能。该基于智能电力设备的模糊测试装置可以是硬件结构、软件模块、或硬件结构加软件模块。该基于智能电力设备的模糊测试装置可以由芯片***实现,芯片***可以由芯片构成,也可以包含芯片和其他分立器件。请参见图4所示,该基于智能电力设备的模糊测试装置包括处理模块401和通信模块402。其中:
处理模块401,用于确定目标智能电力设备对应的目标电力协议;
所述处理模块401,还用于根据预设变异策略对所述目标电力协议的可变异字段进行变异,生成测试用例;其中,所述目标电力协议的可变异字段为根据所述目标电力协议的协议特性确定的;
通信模块402,用于将所述测试用例发送给所述目标智能电力设备,以使所述目标智能电力设备执行所述测试用例。
可选的,所述处理模块401,还用于:
确定所述目标智能电力设备的设备状态是否异常;
若所述目标智能电力设备的设备状态异常,则获取所述目标智能电力设备针对所述测试用例的执行结果;
根据所述执行结果生成测试报告。
可选的,所述处理模块401,还用于:
确定所述目标智能电力设备的连接参数;其中,所述连接参数包括互联网协议IP地址、端口号和网卡名;
根据所述连接参数与所述目标智能电力设备建立连接。
可选的,所述处理模块401,具体用于:
获取所述目标智能电力设备的网络通信数据;
根据所述目标电力协议和网络通信数据构造电力网络协议数据;
对所述电力网络协议数据进行解析,获取所述可变异字段;
根据预设变异策略对所述可变异字段进行变异,生成所述测试用例。
可选的,所述处理模块401,还用于:
在所述目标电力协议为面向通用事件的变电站事件GOOSE协议或采样值SV协议时,绑定网卡;
所述通信模块402,还用于基于所述网卡与所述目标智能电力设备进行通信。
可选的,所述处理模块401,还用于:
在所述目标电力协议为制造报文规范MMS协议时,封装所述MMS协议对应的底层协议;其中,所述底层协议包括应用层数据传输协议TPKT和面向连接的传输协议COTP。
可选的,所述处理模块401,还用于:
在所述目标电力协议为IEC-104协议时,根据所述IEC-104协议对应的协议规则构造起始字节。
前述的基于智能电力设备的模糊测试方法的实施例涉及的各步骤的所有相关内容均可援引到本申请施例中的基于智能电力设备的模糊测试装置所对应的功能模块的功能描述,在此不再赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
基于同一发明构思,本申请实施例提供一种电子设备。请参见图5所示,该电子设备包括至少一个处理器501,以及与至少一个处理器连接的存储器502,本申请实施例中不限定处理器501与存储器502之间的具体连接介质,图5中是以处理器501和存储器502之间通过总线500连接为例,总线500在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线500可以分为地址总线、数据总线、控制总线等,为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行前述的基于智能电力设备的模糊测试方法中所包括的步骤。
其中,处理器501是电子设备的控制中心,可以利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的基于智能电力设备的模糊测试方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器501进行设计编程,可以将前述实施例中介绍的基于智能电力设备的模糊测试方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的基于智能电力设备的模糊测试方法的步骤,如何对处理器501进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种计算可读存储介质,该计算可读存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如前述的基于智能电力设备的模糊测试方法的步骤。
在一些可能的实施方式中,本申请提供的基于智能电力设备的模糊测试方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使该检测设备执行本说明书上述描述的根据本申请各种示例性实施方式的基于智能电力设备的模糊测试方法中的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种基于智能电力设备的模糊测试方法,其特征在于,所述方法包括:
确定目标智能电力设备对应的目标电力协议;
根据预设变异策略对所述目标电力协议的可变异字段进行变异,生成测试用例;其中,所述目标电力协议的可变异字段为根据所述目标电力协议的协议特性确定的,变异后的目标电力协议中其他字段保持不变,所述其他字段为所述目标电力协议中除去所述可变异字段之外的其他字段;
将所述测试用例发送给所述目标智能电力设备,以使所述目标智能电力设备执行所述测试用例。
2.如权利要求1所述的方法,其特征在于,所述将所述测试用例发送给所述目标智能电力设备之后,还包括:
确定所述目标智能电力设备的设备状态是否异常;
若所述目标智能电力设备的设备状态异常,则获取所述目标智能电力设备针对所述测试用例的执行结果;
根据所述执行结果生成测试报告。
3.如权利要求1所述的方法,其特征在于,所述确定目标智能电力设备对应的目标电力协议之前,还包括:
确定所述目标智能电力设备的连接参数;其中,所述连接参数包括互联网协议IP地址、端口号和网卡名;
根据所述连接参数与所述目标智能电力设备建立连接。
4.如权利要求1所述的方法,其特征在于,所述根据预设变异策略对所述目标电力协议的可变异字段进行变异,生成测试用例,包括:
获取所述目标智能电力设备的网络通信数据;
根据所述目标电力协议和网络通信数据构造电力网络协议数据;
对所述电力网络协议数据进行解析,获取所述可变异字段;
根据预设变异策略对所述可变异字段进行变异,生成所述测试用例。
5.如权利要求1所述的方法,其特征在于,若所述目标电力协议为面向通用事件的变电站事件GOOSE协议或采样值SV协议,所述根据预设变异策略对所述目标电力协议的可变异字段进行变异之前,还包括:
绑定网卡,并基于所述网卡与所述目标智能电力设备进行通信。
6.如权利要求1所述的方法,其特征在于,若所述目标电力协议为制造报文规范MMS协议,所述根据预设变异策略对所述目标电力协议的可变异字段进行变异之前,还包括:
封装所述MMS协议对应的底层协议;其中,所述底层协议包括应用层数据传输协议TPKT和面向连接的传输协议COTP。
7.如权利要求1所述的方法,其特征在于,若所述目标电力协议为IEC-104协议,所述根据预设变异策略对所述目标电力协议的可变异字段进行变异之前,还包括:
根据所述IEC-104协议对应的协议规则构造起始字节。
8.一种基于智能电力设备的模糊测试装置,其特征在于,所述装置包括:
处理模块,用于确定目标智能电力设备对应的目标电力协议;
所述处理模块,还用于根据预设变异策略对所述目标电力协议的可变异字段进行变异,生成测试用例;其中,所述目标电力协议的可变异字段为根据所述目标电力协议的协议特性确定的,变异后的目标电力协议中其他字段保持不变,所述其他字段为所述目标电力协议中除去所述可变异字段之外的其他字段;
通信模块,用于将所述测试用例发送给所述目标智能电力设备,以使所述目标智能电力设备执行所述测试用例。
9.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行权利要求1-7任一项所述的方法包括的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行如权利要求1-7任一项所述的方法。
CN202111591437.3A 2021-12-23 2021-12-23 一种基于智能电力设备的模糊测试方法及装置 Active CN114205340B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111591437.3A CN114205340B (zh) 2021-12-23 2021-12-23 一种基于智能电力设备的模糊测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111591437.3A CN114205340B (zh) 2021-12-23 2021-12-23 一种基于智能电力设备的模糊测试方法及装置

Publications (2)

Publication Number Publication Date
CN114205340A CN114205340A (zh) 2022-03-18
CN114205340B true CN114205340B (zh) 2024-04-02

Family

ID=80656267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111591437.3A Active CN114205340B (zh) 2021-12-23 2021-12-23 一种基于智能电力设备的模糊测试方法及装置

Country Status (1)

Country Link
CN (1) CN114205340B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117156022A (zh) * 2023-11-01 2023-12-01 中国电子科技集团公司第三十研究所 一种用于模糊测试的变异数据生成方法
CN117170350B (zh) * 2023-11-02 2024-03-22 国汽(北京)智能网联汽车研究院有限公司 服务的测试方法、装置、电子设备和存储介质

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102087631A (zh) * 2011-03-09 2011-06-08 中国人民解放军国发科学技术大学 一种面向状态协议实现软件的模糊测试方法
JP2014179705A (ja) * 2013-03-13 2014-09-25 Hitachi Ltd プロトコル試験方法及びシステム
CN106506280A (zh) * 2016-11-24 2017-03-15 工业和信息化部电信研究院 智能家居设备的通信协议测试方法及***
EP3370372A1 (en) * 2017-03-01 2018-09-05 Wipro Limited System and method for testing a device using a light weight device validation protocol
CN109922063A (zh) * 2019-03-05 2019-06-21 南方电网科学研究院有限责任公司 多功能电表通信协议模糊测试的污数据生成方法
CN110336827A (zh) * 2019-07-15 2019-10-15 北京工业大学 一种基于异常字段定位的Modbus TCP协议模糊测试方法
CN110505111A (zh) * 2019-07-09 2019-11-26 杭州电子科技大学 基于流量重放的工控协议模糊测试方法
CN110677273A (zh) * 2019-08-19 2020-01-10 浙江大学 一种针对智能变电站goose协议的模糊测试方法
CN110752966A (zh) * 2019-10-08 2020-02-04 南京南瑞继保电气有限公司 网络协议安全测试方法及装置、电子设备及存储介质
CN111123888A (zh) * 2019-12-19 2020-05-08 江苏中天科技软件技术有限公司 一种工控协议测试方法、***及电子设备和存储介质
CN111628900A (zh) * 2019-02-28 2020-09-04 西门子股份公司 基于网络协议的模糊测试方法、装置和计算机可读介质
CN112055003A (zh) * 2020-08-26 2020-12-08 上海电力大学 一种基于字节长度分类的私有协议模糊测试用例生成方法
CN112187585A (zh) * 2020-09-30 2021-01-05 腾讯科技(深圳)有限公司 网络协议测试方法及装置
CN112395209A (zh) * 2021-01-21 2021-02-23 博智安全科技股份有限公司 工控协议模糊测试用例生成方法、装置、设备及存储介质
CN113326181A (zh) * 2020-02-29 2021-08-31 华为技术有限公司 有状态网络协议的模糊测试方法、装置及存储介质
CN113392402A (zh) * 2021-05-24 2021-09-14 国网湖北省电力有限公司电力科学研究院 一种基于模糊测试的电力物联网协议漏洞检测***及方法
CN113507436A (zh) * 2021-06-02 2021-10-15 中国人民解放军63880部队 一种针对goose协议的电网嵌入式终端模糊测试方法
CN113542299A (zh) * 2021-07-29 2021-10-22 国家工业信息安全发展研究中心 一种基于模糊测试的工业互联网漏洞挖掘方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070006153A1 (en) * 2005-05-25 2007-01-04 Microsoft Corporation Extensible testing framework

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102087631A (zh) * 2011-03-09 2011-06-08 中国人民解放军国发科学技术大学 一种面向状态协议实现软件的模糊测试方法
JP2014179705A (ja) * 2013-03-13 2014-09-25 Hitachi Ltd プロトコル試験方法及びシステム
CN106506280A (zh) * 2016-11-24 2017-03-15 工业和信息化部电信研究院 智能家居设备的通信协议测试方法及***
EP3370372A1 (en) * 2017-03-01 2018-09-05 Wipro Limited System and method for testing a device using a light weight device validation protocol
CN111628900A (zh) * 2019-02-28 2020-09-04 西门子股份公司 基于网络协议的模糊测试方法、装置和计算机可读介质
CN109922063A (zh) * 2019-03-05 2019-06-21 南方电网科学研究院有限责任公司 多功能电表通信协议模糊测试的污数据生成方法
CN110505111A (zh) * 2019-07-09 2019-11-26 杭州电子科技大学 基于流量重放的工控协议模糊测试方法
CN110336827A (zh) * 2019-07-15 2019-10-15 北京工业大学 一种基于异常字段定位的Modbus TCP协议模糊测试方法
CN110677273A (zh) * 2019-08-19 2020-01-10 浙江大学 一种针对智能变电站goose协议的模糊测试方法
CN110752966A (zh) * 2019-10-08 2020-02-04 南京南瑞继保电气有限公司 网络协议安全测试方法及装置、电子设备及存储介质
CN111123888A (zh) * 2019-12-19 2020-05-08 江苏中天科技软件技术有限公司 一种工控协议测试方法、***及电子设备和存储介质
CN113326181A (zh) * 2020-02-29 2021-08-31 华为技术有限公司 有状态网络协议的模糊测试方法、装置及存储介质
CN112055003A (zh) * 2020-08-26 2020-12-08 上海电力大学 一种基于字节长度分类的私有协议模糊测试用例生成方法
CN112187585A (zh) * 2020-09-30 2021-01-05 腾讯科技(深圳)有限公司 网络协议测试方法及装置
CN112395209A (zh) * 2021-01-21 2021-02-23 博智安全科技股份有限公司 工控协议模糊测试用例生成方法、装置、设备及存储介质
CN113392402A (zh) * 2021-05-24 2021-09-14 国网湖北省电力有限公司电力科学研究院 一种基于模糊测试的电力物联网协议漏洞检测***及方法
CN113507436A (zh) * 2021-06-02 2021-10-15 中国人民解放军63880部队 一种针对goose协议的电网嵌入式终端模糊测试方法
CN113542299A (zh) * 2021-07-29 2021-10-22 国家工业信息安全发展研究中心 一种基于模糊测试的工业互联网漏洞挖掘方法及***

Also Published As

Publication number Publication date
CN114205340A (zh) 2022-03-18

Similar Documents

Publication Publication Date Title
CN114205340B (zh) 一种基于智能电力设备的模糊测试方法及装置
CN112714193B (zh) 基于物联网平台的社区数据处理***、方法、装置和设备
CN101728869B (zh) 电站自动化***数据网络安全监控方法
Sousa et al. Elegant: Security of critical infrastructures with digital twins
CN110636075A (zh) 一种运维管控、运维分析方法及装置
CN112822276B (zh) 一种变电站站控层通信方法、***、电子设备及存储介质
Vollmer et al. Autonomic intelligent cyber-sensor to support industrial control network awareness
EP2860924A1 (en) Communication apparatus, communication system, communication method, and program
CN115988038B (zh) 一种基于物联网平台的数据管理方法及***
Franco et al. A review on current and old SCADA networks applied to water distribution systems
Mai et al. Uncharted networks: A first measurement study of the bulk power system
US11736504B2 (en) Method and system to detect abnormal message transactions on a network
Sun et al. Research on distributed feeder automation communication based on XMPP and GOOSE
US11606366B2 (en) Using CRC for sender authentication in a serial network
EP3078167B1 (en) Method, secure element and system for monitoring controller area network devices
Kerkers Assessing the security of IEC 60870-5-104 implementations using automata learning
US20210136102A1 (en) Singularisation of frames to be transmitted by a connected object and blocking of frames retransmitted over a low-power wireless communication network
Murvay et al. A brief look at the security of DeviceNet communication in industrial control systems
CN111314131A (zh) 任务下发方法和装置、存储介质和电子装置
US11303468B2 (en) Equipment adapted for being connected to an AMM system
Quincozes et al. Feature extraction for intrusion detection in IEC-61850 communication networks
CN111314278A (zh) 一种基于Ethernet IP工控协议的安全检测方法
CN114884730B (zh) 一种请求检测方法、装置、设备及可读存储介质
CN112600789B (zh) 信息传输方法、装置、电力计量设备和存储介质
CN115941271A (zh) 一种适用于远方电能量数据终端的网络安全解决方法和***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant