1 工控系统安全现状
1.1 工控系统现状
目前,各类信息安全均面临着广泛的威胁,而工控系统尤为突出,主要是因为工业控制领域信息安全的先天不足:
(1)工控设备(如PLC、DCS等)以及工控协议本身普遍在设计之初就较少考虑信息安全方面的问题。工控设备主要关注的是功能安全,系统的稳定性及可靠性方面;互联网通常都通过加密、身份认证等方式来保证协议传输的安全性,如SSH、HTTPS协议。而工控协议基本都是采用明文方式传输,并且缺少身份认证的支持,这在传统IT领域是绝对无法接受的。
(2)工控系统在建设之初较少考虑信息安全问题。较早建立的工控系统很少有与外网进行信息交互的需求,因此主要采用物理隔离的方式部署,即使存在一些问题,也没有暴露出来。
(3)随着互联网的发展,“两化融合”、“互联网+”、“工业4.0”等概念的推进,工控系统与互联网的信息交互变得十分必要且频繁,这就把系统中隐藏的风险、漏洞暴露出来,同时也会引入新的风险。
基于上述原因,当前工控系统信息安全形势严峻。根据监测数据显示,我国很多重要控制系统都暴露在互联网上,涉及市政供水供热、能源、水利等关键基础设施领域,一旦被攻击,后果将非常严重。
1.2 工控系统安全防护现状
由于工控领域缺乏信息安全基础,面临诸多风险,为提高工控系统的安全,借助工控系统专业信息安全产品进行加固是主要措施之一。从国家层面也在鼓励适用于工业控制系统的信息安全产品的发展,2012年及2013年国家发改委组织的年度国家信息安全专项中扶持的领域均包括工业控制领域。因此,近年工控信息安全产品得到了快速的发展。
虽然有一定的国家层面的支持,但目前工控信息安全产业链发展还相对迟缓,主要由于用户需求不是很明确,缺少国家政策的强力推动,如工控系统的等级保护。
若要工控系统信息安全有质的发展,需要开发安全型的PLC、DCS及安全的工控协议,并制定工控信息安全产品、工控系统设备安全及工控系统安全的系列标准体系,来引领工控信息安全的健康发展。
2 工控信息安全产品及标准情况
2.1 工控信息安全专用产品
2.1.1 典型工控信息安全产品介绍
近年来公安部计算机信息系统安全产品质量监督检验中心(以下简称“检测中心”)对工控信息安全专用产品的检测情况如表1所示。在2013年之前,工控信息安全专用产品还相当少,从2014年开始有较大发展,并处于快速发展期。
表1 工控信息安全专用产品检测数量情况
从表1中看出,目前工控信息安全产品较多的有两类:
第一类为隔离类产品,主要部署在工控系统中控制网与管理网之间。包括协议隔离产品,采用双机架构,两机之间不使用传统的TCP/IP进行通信,而是对协议进行剥离,仅将原始数据以私有协议(非TCP/IP)格式进行传输。其次还有网闸,除了做协议剥离,两机中间还有一个摆渡模块,使得内外网之间在同一时间是不联通的,比较典型的是OPC网闸,主要还是传输监测数据,传输控制命令的网闸还相当少。另外还有单向导入设备,主要采用单向光纤、VGA视频信号等方式从物理上保证传输的单向性,其缺点是不能保证传输数据的完整性,但对于将控制网中的监测数据传输到企业办公网还是可行的。总体来说,由于隔离类产品采用双机架构,中间私有协议通信,即使外端机被攻击者控制,也无法侵入内端机,其安全性要高于防火墙设备。
第二类为工控防火墙,根据防护的需要,在工控系统中部署的位置存在多种情况,通常用于各层级之间、各区域之间的访问控制,也可能部署在单个或一组控制器前方提供保护。工控防火墙采用单机架构,主要对基于TCP/IP工业控制协议进行防护。通过链路层、网络层、传输层及应用层的过滤规则分别实现对MAC地址、IP地址、传输协议(TCP、UDP)和端口,以及工控协议的控制命令和参数的访问控制。工控防火墙从形态来说主要分两种,一类是在传统IT防火墙的基础上增加工控防护功能模块,对工控协议做深度检查及过滤。还有一类工控防火墙是参考多芬诺工业防火墙的模式来实现的。
其它的工控信息安全产品目前相对较少,主要包括工控审计、工控漏洞扫描、工控主机防护等产品。此外还有2013年发改委专项支持的10款工控网关产品。
2.1.2 工控信息安全产品分类
从产品的保护对象、防护功能来看,工控信息安全产品主要分为以下几类:
(1)边界防护类
这类产品通常以串接方式工作,部署在工控以太网与企业管理网络之间、工厂的不同区域之间,或者控制层与现场设备层之间。通过一定的访问控制策略,对工控系统边界、工控系统内部区域边界进行保护。工控防火墙、工控隔离产品均属于边界防护类。由于这类产品以串接方式部署,同时具有阻断功能,产品的稳定可靠、功能安全要求较高,产品的异常将会对工控系统的正常运行带来直接影响。
(2)审计监控类
这类产品通过镜像接口分析网络流量,或者通过代理及设备的通用接口进行探测等方式工作,及时发现网络流量或设备的异常情况并告警,通常不会主动去阻断通信。主要包括工控审计产品、工控入侵检测产品、工控漏洞扫描及挖掘产品、工控安全管理平台等。这类产品自身的故障不会直接影响工控系统的正常运行,也更容易让用户接受。
(3)主机防护类
工控系统中会部署一定数量的主机设备,如工程师站、操作员站等。这些设备往往是工控系统的风险点,病毒的入侵、人为的误操作等威胁主要都是通过主机设备进入工控系统。因此,这些主机有必要进行一定的防护。目前主要有两种针对主机设备的防护产品:一种为铠甲式防护产品,通过接管主机设备的鼠标/键盘输入、USB等外围接口来保证主机的安全;另一种就是白名单产品,通过在主机上安装代理程序,限制只有可信的程序、进程才允许运行,防止恶意程序的侵入。
2.1.3 工控信息安全产品的发展
IT领域的信息安全产品已经非常丰富,在工控信息安全防护方面是可以借鉴的。很多产品经过适当的改进,增加工控防护的相关功能,提高其稳定性和可靠性,就能够应用于工控系统。目前市面上较多产品均是基于这个思路来实现的。但从用户的角度来看,部署信息安全产品,提高系统安全防护的同时,特别是针对带阻断防护功能的产品,也引入了潜在的风险点。因此,在工控系统内部部署访问控制类产品,对用户来说还需要一定的时间来接受。而审计监控类、主机防护类产品相对潜在风险要小很多,将是工控信息安全产品的一个快速发展方向。
2.2 工控系统信息安全产品技术标准
我国对信息安全产品(当然也包括工控信息安全产品)实现销售许可制度,只有通过检测中心依据相应的国家标准、公共安全行业标准检测合格之后,才允许在国内销售,国家标准和行业标准不能覆盖的时候,检测中心也会制订相应的检验规范、检测条件作为检验依据。因此,对工控信息安全产品来说,制订相应的标准非常重要。由于工控信息安全近年才受到关注,并且标准的制定周期也比较长,目前,有大批标准尚处于编制过程中。
(1)边界防护类产品标准
《信息安全技术 工业控制系统专用防火墙技术要求》,国标在编。
《信息安全技术 工业控制网络安全隔离与信息交换系统安全技术要求》,国标在编。包括逻辑隔离、网闸。
《信息安全技术 工业控制系统边界安全专用网关产品安全技术要求》,行标在编,该标准基于发改委信息安全专项提出。
(2)审计监控类产品标准
《信息安全技术 工业控制系统网络审计产品安全技术要求》,国标在编。
《信息安全技术 工业控制安全管理平台安全技术要求》,行标在编。
《信息安全技术 工业控制系统入侵检测产品安全技术要求》,行标在编。
(3)主机防护类产品检测条件
由于标准的申报与编制需要一定的周期,市场出现了某些安全防护产品,检测中心则针对此类产品编制检测条件,并经专家团评审通过后,检验中心按检测条件来检测这些产品。包括:
ICS主机安全防护与审计监控产品安全检测条件;
文件加载执行控制产品安全检测条件。
(4)其它类产品标准
《信息安全技术 工业控制系统软件脆弱性扫描产品安全技术要求》,行标在编。
《信息安全技术 安全采集远程终端单元(RTU)安全技术要求》,行标在编。
标准的制定,既要具备适应性,能够满足用户的需求,与当前的技术水平相符,又要具备一定的前瞻性,能够指导和引领该类产品的发展。而目前工控信息安全还处于起步发展阶段,这将使得工控信息安全产品标准的制定难度颇大,主要表现在:
(1)工控信息安全标准既涉及工业控制,又涉及信息安全,究竟归口哪个标委会需要考虑?是TC260(全国信息安全标准化技术委员会),还是TC124(全国工业过程测量控制和自动化标准化技术委员会)。如《工业控制系统信息安全》GB/T30976-2014就同时归口两个标委会。就算不管归口问题,标准的评审过程中应该需要有这两方面的专家参与。
(2)不同行业和环境的需求差别大,如电力、石化行业,标准制定的通用性难度非常大,如果全部按最严格标准要求,势必增加企业成本。
(3)工控协议种类繁多,实现架构差异大。这导致很难提出一套各种协议都能支持的技术要求。
(4)当前产品种类与数量有限,用户的需求也不是很明确。而在编制过程中,首先就需要广泛调研用户需求、产品现状。这也会给工控信息安全相关标准的编制带来困难。
3 工控信息安全产品测评及主要问题
信息安全产品的第三方检测是非常有必要的,一是确认产品与相关标准的符合性,二是在检测的过程中能够发现产品的一些潜在缺陷。完善、全面、合理的第三方检测还能增强用户使用该类产品的信心。对于信息安全产品,我国强制的第三方检测主要为检测中心的销售许可检测。
由于目前相应的工控信息安全产品的国家标准、公共安全行业标准均未发布,而这类产品的销售许可检测需要依据一定的标准或者规范。工控系统与传统的IT系统有着较大差别,直接采用IT系统的相关标准肯定是不合适的。因此,目前主要采取的方式是,主要依据相应的IT标准,除去部分明确不适用的条款,并增加部分工控系统的技术要求,以这种方式作为过渡。下面以工控防火墙为例来加以说明。
3.1 工控防火墙测试
3.1.1 测评依据
(1)主要依据传统IT检测标准《信息安全技术 防火墙技术要求和测试评价方法》GB/T 20281-2006来执行,除去明确不适用的条款,包括:
深度包检测:此要求是针对用于互联网的通用协议(HTTP、SMTP等),在工业控制网络一般不会用到,作为不适用项。
NAT(地址转换):传统防火墙必需的功能,通过地址转换隐藏真实的IP,并尽量少占用有限的IP地址资源,在工控系统中为可选要求,部署在控制系统下层时通常以透明模式部署。
动态端口开放:是针对FTP和Oracle数据库常见的互联网协议,要求支持动态端口开放,在工控系统中不会用到。
抗渗透:部分针对HTTP、邮件等协议的要求,作为不适用项。
性能要求:不做强制要求,工控系统中流量通常都比较小,产品的吞吐性能一般不会成为瓶颈,但部分系统中对设备带来的延时要求非常高。
(2)在国标的基础上,增加工业控制系统安全需求的部分要求。
基于白名单的访问控制策略,包括网络层及应用层的白名单。网络层的白名单是,规则允许的MAC、IP、端口才能通过。应用层的白名单是,允许执行的控制命令能通过,其它的默认禁止。
工业控制协议过滤,这是工控防火墙最核心的功能。首先需要对协议格式进行检查,阻止不符合协议规约的访问请求;其次需要对请求的内容进行检查,如读写操作、操作的地址范围,以及操作值。
支持OPC协议的动态端口开放。该协议在工控系统中广泛使用,其特点是不采用固定端口通信,而是在会话建立时协商一对动态端口。
多工作模式。在工控系统中把一个设备加进去,如果误阻断的话,后果非常严重。因此需要具备验证模式,试运行一段时间,只报警不阻断,来检查规则的合理性。
具有高可靠性。
3.1.2 典型的功能要求项测试——工业控制协议过滤
(1)实现技术
分析应用层数据,对协议格式进行检查。阻断不符合协议规约的请求,这种请求可能为攻击行为,并可能对控制器带来不可预见的后果。
获取协议中各所需参数,如功能码、操作对象地址、操作值等,将其与设定的访问控制规则进行比对。放行规则允许的通讯,否则就阻断。
(2)测评方法
协议格式检查,采用专用定制测试工具来检测。正常协议的访问可以通过真实设备或者模拟软件来实现,而不符合协议规约的异常请求(非标准功能码、异常长度、超越限值等)就需要定制开发的工具来实现。
被测设备配置允许某项工控协议。
从客户端发起符合协议规约的所有请求,如最典型的MODBUS TCP/IP协议,通过服务端接收到的数据包进行判断,检测防火墙是否有误阻断。
采用类似模糊测试技术,发起不符合协议规约的混杂请求,把数据长度不对或字段不对的请求混合正常请求,通过服务器接收数据进行判断,检测防火墙能否将符合规约的数据通过,不符合规约的数据阻断,并生成统计报表。
协议参数检查,通过真实工控设备或得到广泛认可的模拟软件,手工检测即可。
(3)预期结果
符合协议规约、规则允许的请求可以通过防火墙,不会被误阻断;
不符合协议规约或没有规则允许的请求将被阻止。
3.1.3 测试的难点
对产品的测试深度往往是无止境的,需要兼顾投入与产出。对工控信息安全产品,部分测试投入是很大的,但又是必须的。如:
对协议格式的检查,部分产品可能仅针对协议的几个重要字段进行检查,而未做到全覆盖。在测试时,需要遍历协议的各种异常,测试用例将非常庞大,且非常耗时。
另外,产品的稳定性、可靠性测试也是测试的难点。不仅包括硬件层面,还包括软件层面。对于厂商来说,还能够通过将大量的设备放置在特定的恶劣环境中长时间运行,来检查设备的故障率。对于第三方测试,就难以操作了。
3.2 检测过程中常见的问题
(1)防护功能不足(工控防火墙)
协议格式检查的不全面,仅针对部分字段进行检查。
部分产品控制的深度不够。控制粒度由浅到深依次是功能码级别、地址级别、控制值范围。产品可能仅控制到功能码级别,不能控制到地址和控制值这个深度。
(2)产品自身安全不足
产品自身存在安全漏洞,包括支撑系统、管理界面。目前很多产品采用B/S方式管理,管理界面存在注入、认证绕过的漏洞。
身份鉴别措施、配置信息保护、安全审计方面不足。
(3)安全保障措施不足
开发安全方面:研发的物理环境没有明确隔离、开发主机及服务器缺乏足够的安全保护措施、研发网络与互联网未采取严格的隔离措施等。
交付方面:主要缺少交付过程的安全措施。如果此过程中被恶意植入后门、感染病毒,威胁也很大。
配置管理方面:配置库权限控制不够严格;配置管理计划与实际管理不符等。
(文章整理自邹春明在“2015第四届工业控制系统信息安全峰会”第二站上的报告)
作者简介
邹春明(1979-),男,湖南衡阳人,高级测评师,硕士,现就职于公安部第三研究所、公安部计算机信息系统安全产品质量监督检验中心,主要研究方向为信息安全。
作者:邹春明
来源:51CTO