工业防火墙的测评标准研究和测试方法实现
2019-12-04刘慧芳
刘慧芳
(上海工业自动化仪表研究院有限公司,上海 200233)
0 引言
在过去的2017年,“WannaCry”勒索病毒席卷全球,我国关键基础设施的多个行业均受到该病毒的影响,工控网络信息安全问题突出。同年6月1日开始实施的网络安全法要求,对包括工控系统在内的“可能严重危害国家安全、国计民生、公共利益的关键信息基础设施[1]”实行网络安全等级保护。2018年11月9日,公安部十一局郭启全总工程师表示:“等级保护2.0标准已在国家信息安全标准化技术委员会最终评审,不日出台[2]。”随着近年爆发的多起严重工控安全事件,工业企业经营者和从业者也开始重视工控信息安全加固工作。面对这个庞大的市场,全球各大安全厂家均陆续加入这个工控安全产品的研发队伍。从2014年第一台国产工业防火墙面世至今,经过四年的技术积累和优胜劣汰,工业防火墙的研发技术和能力也已日趋成熟。目前,很多工控企业客户正在积极地开展工业防火墙的试用和测试工作。其目标是在模拟现场环境中进行充分论证,确保防火墙稳定可靠,从而对生产系统进行稳步安全加固。本文对工业防火墙如何测试的问题展开研究,介绍使用相关测试软件、工业防火墙测试方法。
1 工业防火墙典型测评体系
安全厂商在销售工业防火墙之前,必须在测评机构进行产品测试,并获得机构颁发的销售许可证。
由于工业防火墙是一个新产品,相应的测评标准还未制定。目前,测评机构是依照传统防火墙的测试标准《GB/T 20281-2015信息安全技术 防火墙安全技术要求和测试评价方法》加工业防火墙加测项来开展工作。防火墙分为基本级和增强级,达到基本级要求的产品推荐使用在安全保护等级为第一、第二级的信息系统中;达到增强级要求的产品推荐使用在安全保护等级为第三、第四级的信息系统中[3]。
1.1 工业防火墙测评标准的内容研究
防火墙安全功能要求等级划分[4]如表1所示。
表1 防火墙安全功能要求等级划分表
工业防火墙目前的测试内容包含安全功能要求、安全保证要求、环境适应性要求和性能要求。
安全功能要求指的是网络层安全策略控制、应用层协议控制、安全运维管理的功能项要求。
安全保证要求指的是工业防火墙开发团队的软件开发管理能力,主要包括架构设计、软件测试、用户指南等文档内容是否合理、全面。
环境适应性要求指的是防火墙是否具备模式切换能力以及扩展能力,例如透明模式、路由模式,以及对下一代互联网的支持能力。
性能要求指的是对吞吐量、延迟、最大并发数、最大连接数的要求。其中,安全功能要求为重要的测试项。
1.2 工业防火墙测评方法的研究
1.2.1 测试环境
①安全功能及环境适应性测试环境如图1所示[5]。该环境配置外网区域、内网区域、非军事化区(de-militarized zone,DMZ)(即隔离区)三个区域,模拟现场环境最小单元。
图1 安全功能及环境适应性测试环境图
②性能测试环境如图2所示[6]。该环境采用专用性能测试仪,测试仪接口通过网线连接防火墙业务接口。
图2 性能测试环境图
1.2.2 测试方法
按照标准中描述的测试方法:功能测试由测试人员人工配置安全策略完成,协议、安全防护及性能测试由测试人员使用测试仪工具完成。
测试方法分为以下三类。
①功能测试。
按照功能点进行策略配置,测试不同功能子项是否正确执行。
②性能测试。
使用测试仪测试运行RFC2544测试用例,在运行结果中查看吞吐量、延迟、最大并发数、最大连接数的性能是否满足指标要求。
③安全测试。
使用测试仪测试运行安全测试用例,在运行结果中查看攻击数据包阻断情况,并对比标准要求的所有攻击类型是否均能阻断。
1.3 工业防火墙测评指标的研究
对于功能测试项,测试指标是否正确实现,对实现效果不作评价。
对于性能测试项,测试指标数值是否满足,与实际情况关系不大。
对于安全测试项,测试指标是否能够阻断每一种类型的安全攻击,但不要求每一个攻击包都能阻断。
因此,对于产品认证这一层面来说,功能能正确执行及性能指标、安全指标符合即可满足要求。
然而,作为使用方来测试这些功能项时,正确执行和指标符合只是基本的要求,具备简单易用、技术扎实、减少重复工作和人为失误的工业防火墙才能称为一款好的工业防火墙。
2 工业防火墙测评现状分析
前文已提到,目前工业防火墙的测评是由传统防火墙测评方法加工业防火墙加测项组成的。根据数据统计,传统防火墙主要应用于两类场景:一类是以南北向流量为主的互联网出口;另一类是以东西向流量为主的数据中心,很少在企业内部的其他网络边界处部署防火墙。而工业防火墙的出现恰恰是为了解决办公网到生产网的内部网络边界问题。因此,工业防火墙与传统防火墙的应用场景是完全不同的。测评机构使用的现有测评方法和工控测评项,并不完全适合测试工业防火墙。
从测试项中可以得出工业防火墙测试面广、测试内容全,但是对于工控环境的一些特殊场景,测试指标略显不足。其主要存在以下问题。
①功能测评中的实用性不够,并不具备比如地址池、服务对象池、资产主动发现、自学习增量学习、一键生成策略、工控策略行为归纳等实用功能。
②功能测评中基本级的范围不合理。在基本级标准中的有些功能,如NAT、IPsec VPN,在实际中应用非常少,只符合规模大、集团化管理时的特殊应用。而抗拒绝服务攻击,在企业内网中也较难出现。这些功能都应放入增强级中。另外,会话管理、恶意代码防护、应用攻击防护、双机热备都是用户最基本的需求,应放在基本级中,以降低工业企业用户购买成本。
③恶意代码防范和应用攻击防护的测试指标不足,只明确了支持恶意代码防范和应用攻击防护的种类,但未明确个数和阻断率,导致工业防火墙良莠不齐。
④性能测试项不能满足用户需求。对于工控用户,对通信有时间确定性要求,加入工业防火墙后,延迟不能影响执行机构的及时动作或者参数的下发。因此,对于工业防火墙的测试要求,用户应关心以下三个重要的测试点。一是变量点数支持情况,多少点数内不影响控制参数下发;二是双机热备的切换时间是否及时;三是单个防火墙断电到启动成功之后的空白时间是否会阻断。
针对以上现状,如果仅使用传统防火墙的安全功能等级划分方法和性能测试方法,是无法区别工控安全产品厂商的技术水平的。因此,在工业防火墙测评中,传统测试项需要调整、工控测试项需要加强,供给双方均迫切需要符合工业使用需求的工业防火墙测评国家标准出台。
3 工业防火墙测评现状问题的有效对策
3.1 重视工业防火墙测试工作
作为工业企业最终用户或工控系统集成商,在挑选安全产品供应商时,需要考虑成本、易用、稳定、运维保障等因素。
在前期考察时,看重的是技术水平和易用性;在试运行调试期间,看重的是稳定性;在项目验收后,看重的是运维保障能力。
因此,作为需求方,一定要重视工业防火墙的前期测试工作。
3.2 制定合理的工业防火墙测试用例
测试人员不能简单使用国家标准进行测试用例的设计,而是应当根据自身需求,列举出实际业务中可能需要的功能。本文根据大多数工业应用场景可能需要的功能,总结得到的功能测试项如表2所示。
表2 功能测试项
3.3 测试中的要点
从工业控制系统功能考虑,要保证系统的稳定性和可靠性,首先需保证系统本身的安全[7-9]。在进行工业防火墙的测试时,重要的是测试产品对业务的影响。因此,除了需关注传统防火墙测试的阻断率和转发率,还需关注其是否具备高易用性、高可靠性的功能。
①高易用性。
不同于传统防火墙的使用场景,过滤的IP和协议较少,拓扑配置较简单。工业防火墙放在控制网和办公网边界,往来的数据和协议较杂,信息部门或生产部门的用户不一定能理清所有的业务。因此,工业防火墙必须具备策略自学习和策略增量学习、策略备份和恢复的功能。这将有利于快速、正确地配置安全策略,缩短项目周期。
②高可靠性。
工业防火墙的吞吐量测试不应仅停留在流量大小的测试,而更应考虑细节。例如变量点数非常多的情况,以及数据多次分包的情况。另外,在工控环境中,增加可靠性有两种方法,分别为冗余系统和故障中断程序。为了保障通信可靠性,在进行工业防火墙测试时,需关注是否具备这两种方法。
3.4 准备理想的功能测试环境
不同于传统防火墙,工控防火墙的最大特点就是具备工控协议的过滤功能。在测试标准中,仅针对Modbus协议和OPC协议进行测试显然是不够的。因此,在进行功能测试的协议测试时,为了测试工业防火墙对工业协议的支持种类,可以购买一些模拟工控协议的软件来丰富测试环境,例如IOServer、TCP&UDP Debug 、OPC Client、ModbusSim、ModbusScan、Snap7、PMA等。每个软件可以模拟的协议种类都是不同的。因此,结合使用这些软件,可以满足定制化的工控协议测试需求。
测试环境拓扑如图3所示。
图3 测试环境拓扑图
测试内容及步骤举例如下。
例如针对 Modbus TCP 的各个功能码进行测试。客户端按照各个功能码的数据格式, 利用 TCP&UDP Debug软件,向服务器发送模拟数据包,以进行防护测试。若数据包符合要求,则工控防火墙允许通过;否则,将进行阻塞,并产生审计日志[7]。
这些工具在实际使用时,可以查询、学习并应用相关帮助文件。这不仅可以模拟工控协议的不同功能码的数据读写,部分软件还可以模拟下载上传的通信行为,从而进行工业防火墙协议深度过滤时的功能测试。当这些软件无法满足一些特殊协议时,还可使用客户现场的数据包,通过对工业防火墙进行发包的方式来进行相应测试。常用的测试工具是发包类软件,例如科来数据包播放器。
以上工具固然可以解决大多数问题,但是不能覆盖所有场景。比如这些软件可模拟出几万个变量点,但当变量点数过多时,计算机的运行变得迟缓,计算机本身的性能很难再提高。另外,有限的计算机无法模拟多个服务端、多个客户端的情况。因此,以上的功能测试,仅适用于性能要求较低的场景,无法模拟大流量、多并发的场景。
工业现场网络环境千差万别,不同的行业存在不同的网络架构和应用,网络边界处存在大量的IP地址以及各类协议。因此,在进行性能测试时,需要购买流量测试仪。
4 结束语
经过以上功能测试和性能测试后,可以得出在以下不同场景中测试工业防火墙的工作方法[8-9]。
①工业防火墙的测试不能仅限于国家标准,还应根据企业自身需求,制定合适的测试用例,避免工业防火墙想买不敢买、买了不敢用、用了不满足需求的问题。
②选用测试工具时,应根据自身企业能力。如果在性能要求不高的场景,可以选用使用较为简单的协议模拟器。这是因为,即便是使用真实的PLC和上位机,也不能模拟所有的场景;而且使用人员需具备上位机和PLC的编程能力,门槛较高。
③对工业防火墙性能要求较高的客户,可以花费少量的测试费用,借助第三方测评机构的测试服务,对工业防火墙性能进行测试。
④需要做集团长期集中采购的客户,有必要预留经费,购买测试仪器,自行长期测试。