张菊玲 向思屿 潘文分 张凌浩 唐超
(1.国网四川省电力公司电力科学研究院,四川成都 610000;2.国家电网四川省电力公司凉山供电公司,四川凉山 615000)
在科学技术水平不断提高的时代背景下,信息技术及物联网技术得到了极大的发展,应用于我国各个领域。对于电力企业而言,由于信息技术的脆弱性,极易出现网络安全问题。因此,研究电力物联网终端通信协议检测技术是十分必要的。
在当前时代背景下,落实新型数字基础设施建设、推动传统电网设备业务与信息通信新技术融合发展是电力公司发展的主要趋势。我国大部分电力企业纷纷开展信息化转型发展工作,但在实际过程中,由于互联网技术的脆弱性,使得电力物联网终端设备方面存在一定的安全问题,影响电力相关设备运作的安全性和稳定性,甚至极易造成电力数据的泄露及篡改,不仅影响电力供应质量,对电力企业的发展也具有一定的影响。但是,通过使用相关技术对电力物联网终端通信协议进行检测,能够对边缘侧设备安全接入认证、网络信息数据的传输等提供安全检测保护,并强化边缘代理、接入平台、汇聚节点的安全防护测评能力,以检测技术为基础构建边缘侧整体网络安全防护技术体系,从而加强对电力物联网终端设备的安全保护,提高其运作的安全性和稳定性,促进电力企业健康、可持续发展。由此可见,采取相关技术检测电力物联网重点通信协议具有极强的现实意义,对该技术进行研究是十分必要的。
在开展电力物联网终端通信协议检测工作时,由于互联网技术的脆弱性,应在测试开始前搭建安全的测试环境,为后续工作的开展及电力信息数据的安全提供有效保障。同时,在对安全测试环境进行搭建时,应立足于项目的实际需求,要在满足边缘侧设备安全接入认证、网络传输、协议等方面的安全测试能力建设的要求上,构建安全的固件测试环境。具体搭建内容如下:针对边缘物联代理,应使用传感器或采集装置组网对数据进行接入,开展边缘计算分析;针对汇聚节点,相关工作人员可使用无线或有线的方式对各类传感器或采集装置组网所接入的信息数据进行接收,构建传感网络,并将其接入边缘物联代理的终端;使用五套数据串口转换模式,从而保证各类传感器及采集装置组网能够通过各种通讯方式进行接入,例如LoRa通讯方式或是ZigBee通讯方式等;使用协议一致性测试工具,用于支持各类传感器协议的一致性测试和安全接入认证作业[1];使用协议安全模糊测试工具开展节电设备与传感器设备之间的双向渗透测试;应用传感器固件验证电力物联网终端通信协议检测环境的安全性;应用PC 机以及其他辅助支撑设备,保证各类测试工具的稳定运作,为其提供正常运行的软硬件环境,促进电力物联网终端通信协议检测作业的顺利开展;准备作业指导书,对固件安全测试工作进行指导,确保其正常运行[2]。
在开展固件安全检测作业时,主要是对电力信息数据汇聚层设备进行安全防护检查,也就是节点设备。具体而言,在对固件进行安全检测时,主要分为两个部分,分别是网络通信安全和边缘物联代理及汇聚节点本体安全,该设备作为电力物联网终端体系的第一道安全防线,对其进行安全检测和分析是十分必要的。安全检查对象主要是汇聚节点及边缘物联代理,在对其进行安全检测时,可分为五方面,具体为:首先,对固件的物理安全防护进行检查。第一,对固件设备外壳的安全防护等级检测报告进行详细查看,并对部署装置等级进行核查,判断室外部署和室内部署的其是否满足IP67等级和IP20等级。第二,对固件设备的闲置端口和调试接口情况进行检查,查看其是否关闭,避免逆向工程非法接入情况的发生。第三,对固件的电磁兼容性进行把握,主要是对相关检测报告进行查看,并对安装位置进行检查,使其满足电磁兼容性试验结果要求。其次,对固件的安全加密情况进行检测。第一,查看固件中是否存在软件加密模块和硬件安全加密芯片;第二,对其进行密码算法方面的检查,判断其是否满足SM1、SM3等算法;第三,对固件设备的数字证书和密钥管理方面进行检查。另外,对固件设备安全认证方面进行检测。第一,对设备的指纹认证功能进行检查;第二,对设备固件的安全加密芯片认证功能的有效性进行检查;第三,对设备的软件认证功能进行检查;第四,对固件设备的漏洞补丁程序代码、控制指令等操作的验证能力进行检查。最后,对固件设备的风险上报情况进行检测。第一,对其自身安全监测能力进行检查;第二,对软件定义安全策略进行检查;第三,对风险预警信号的输出进行检查。
在对电力物联网终端通信协议进行安全模糊测试时,主要使用的是自动或半自动的检测技术,该技术能够有效对操作系统、代码以及软件的问题进行检测,尤其是对软件的脆弱性进行检测,帮助相关人员掌握软件中存在的漏洞,提升应用软件的运作的安全性。在开展协议安全模糊测试作业时,其流程主要是进行设备的接入,配置相关文件,运行安全模糊测试工具,对目标系统、软件进行全面识别,确定输入文件,产生模糊数据,再以此为基础执行测试工作,对目标系统和软件的行为进行监控,掌握并记录暴露的缺陷,最后对测试结果进行反馈。一般情况下,在开展协议安全模糊测试工作时,所采用的工具一般是AFL,所谓AFL,其主要是一款基于覆盖引导的模糊测试工具,通过对输入样本代码的覆盖率进行记录,通过对样本进行调节能够有效提升代码的覆盖率,进而及时发现系统漏洞[3]。具体流程为如图1所示。
图1 AFL 工作流程Fig.1 AFL workflow
在使用该模糊检测工具开展电力物联网终端通信协议检测时,应做好准备工作,具体内容为:第一,明确检测目标。对于电力物联网终端通信协议检测项目而言,主要是基于输变电设备物联网传感器数据规范的模糊数据测试,主要对边缘物联代理及传感器等进行模糊测试,根据测试结果对配置文件进行合理修改,并记录边缘物联代理响应,从而掌握边缘物联代理微应用性能。第二,对语料库进行构建。在使用AFL 工具时,需要输入种子文件,在输入时应选择尽量小的体积,这主要是为了有效缩短数据处理时间,进而提高检测效率。另外,虽然种子文件的数据可以是无意义的,但在开展实际的检测作业时,应尽量进行有效输入,这是因为有效输入不仅能够快速找到多条执行路径,还能够避免bug的产生。
由于电力物联网终端通信协议主要是对协议进行安全模糊检测,所以,主要是对测试输出文件进行查看和分析。但是,在实际运行过程中,fuzz的运行是不会自己停止的,所以,相关检测人员应根据自身检测需要及时结束测试。具体而言,在对电力物联网终端通信协议进行安全模糊检测时,可以将状态窗口cycles done的字体颜色作为结束参考,具体颜色变化为黄、蓝、绿。除此之外,可以通过把控错误的报文条数时间间隔进行把控,若是长时间没有出现新问题,则可以结束测验。在结束测试之后,该工具会将存在问题的报文以十六进制的形式记录下来,相关人员在对其进行分析时,可以使用aflfuzz 对bug 的可利用性进行确定,或是使用triage_crashes、crashwalk、alf-collect等进行数据分析。
为有效解决电力物联网终端通信协议一致性方面的问题,需要对其进行协议一致性检测,以往的协议一致性检测需要投入较多的人力资源,但在时代不断发展的背景下,使协议一致性检测工具具有自动化的功能,从而对电力物联网终端通信协议一致性进行自动化、智能化的检测。具体而言,自动化的协议一致性检测工具主要以PC端为基础,后期移植在边缘物联代理中,在对电力物联网终端通信协议进行一致性检测时,应做好检测准备。主要是明确检测设备,委托方提供协议实现文件,并将实现功能进行明确列出,最后提供操作指导手册以及其他帮助文件[3]。具体流程为:第一,对目标设备进行安装,对安装后设备的运行状态进行检测;第二,通过协议一致性检测工具连接目标设备,并对报文数据进行捕捉;第三,通过协议一致性检测工具对报文数据进行一致性检测,并对结果进行分析;第四,相关检测人员根据协议实现文件和分析结果对电力物联网终端通信协议的一致性进行判断,最后编写测试报告。在开展协议一致性检测时,相关检测人员应明确检测要求,对电力企业的业务数据进行全面检测,有传感器监测、告警数据以及控制数据等。而且,若是在协议一致性检测过程中输出的报文字节过多时,检测人员应及时对其进行分片传输,通过“发送—确认—重传”的机制进行性。分片数据协议一致性检测测试用例如表1 所示。
表1 分片数据协议一致性检测测试用例Tab.1 Test case of protocol conformance checking for partitioned data
最后,对协议内容一致性情况判定结束后,若是解析内容与协议实现文件内容一致,则该协议内容满足一致性的要求,进而根据实际内容编制协议一致性检测报告。
综上所述,通过对电力物联网终端通信协议进行检测,能够有效解决电力物联网终端固件的安全性问题、通信可靠性等问题。因此,应利用AFL安全模糊测试等工具开展各项测试作业,从而促进电力企业的安全发展。