APP下载

工业控制系统信息安全测试平台研究

2018-04-19朱广宇王绍杰刘智国

网络安全与数据管理 2018年3期
关键词:工控漏洞信息安全

卢 凯,朱广宇,王绍杰,刘智国

(中国电子信息产业集团有限公司第六研究所,北京 102209)

0 引言

工业控制系统(ICS)是几种不同类型的控制系统的总称,包括监控和数据采集系统(SCADA)、分布式控制系统(DCS)和其他控制系统(如可编程逻辑控制器(PLC))[1]。工业控制系统广泛应用于电力电网、石油石化、冶金建材、食品医药、市政水利、核能设施、先进制造等国家关键基础设施的运行控制过程中,是国家关键基础设施的“中枢神经”。一旦工业控制系统信息安全出现漏洞,将对工业生产运行和国家经济安全造成重大威胁。而随着云计算技术、物联网技术的快速发展以及“两化融合”工作的不断深化,工业控制系统面临的内外部安全威胁日益严重,保障工业控制系统信息安全已经上升到了国家安全战略的高度。

工业控制系统信息安全测试平台为工业控制系统的设计开发、测试验证、故障定位、缺陷分析以及运行维护提供完善、高效的测试验证环境,可以对重点行业领域的工控系统进行覆盖控制器级、网络级和系统级的信息安全测试验证及风险评估,整体提升工业控制系统的信息安全监测和防护能力。开展工业控制系统信息安全测试平台的研究是保障工业控制系统信息安全的重要途径。

国外很早就开始了相关方面的研究和应用[2-4]。美国爱达荷国家实验室(INL)自2003年起就开始实施由美国政府支持的建设关键基础设施测试靶场计划,包括SCADA控制系统测试床和电力电网测试床等,提供真实的测试环境,对工业控制系统的脆弱性和软硬件安全性进行测试评估;欧洲也搭建了SCADA安全测试平台,构建分布式测试环境,测试、评估、验证、保护SCADA系统的安全性;Wurldtech等国际知名工业安全测试公司也推出了相关的测试平台,如Achilles测试工具、ICS Sandbox测试平台等。

国内近几年在工业控制系统信息安全测试平台方面开展相关的研究工作,也取得了一定的成果,如电子六所在2015年发布的工控健壮性测试平台、各信息安全厂商推出的信息安全防护平台以及一些专业机构推出的行业仿真测试平台等。但是现在的这些测试平台存在着行业应用局限性、功能单一性、控制系统适应性等问题[5-7],基于此,本文提出了一种弱化控制系统型号和应用行业(只针对工业控制系统架构本身),集检测、攻防、仿真、评估于一体的信息安全测试平台设计架构,并论述了开展相关应用研究的进展情况。

1 测试平台架构设计

1.1 工业控制系统信息安全测试平台需求分析

工业控制系统的信息安全威胁有多个方面[8],比如:工控协议本身未采取安全措施,明文传输或存在漏洞;工控系统长时间不间断运行导致操作系统版本、漏洞库等无法及时更新,易受病毒攻击感染;系统网络设计不完善,存在外部攻击通道;对外接口开放,存在安全隐患;外部信息破坏手段不断提高,各种攻击手段层出不穷等。为应对以上安全威胁,工业控制系统信息安全测试平台应该具有如下的功能:

(1)针对工业控制系统通信协议的特殊性,构建工控系统漏洞库;

(2)能对被测工业控制系统进行漏洞扫描及漏洞挖掘;

(3)能对工业控制系统的外部接口进行管理,测试外部威胁引入系统的可能性;

(4)能够模拟攻击场景、攻击行为,测试和验证系统的防护能力;

(5)能够对搭建的最小化系统进行模拟或仿真扩充,打造接近真实的网络测试环境;

(6)建立风险分析方法,能够对被测工业控制系统进行风险评估。

1.2 工控系统信息安全测试平台总体架构

工业控制系统信息安全测试平台的设计思路是提供一个统一的平台,在平台上集成系统安全测试和隐患分析服务、风险评估服务、安全事件场景复现服务以及提供自动化测试工具、网络与工艺仿真、攻防试验等工具和软件。平台总体架构如图1所示。

图1 工业控制系统信息安全测试平台总计架构图

1.3 测试平台组成及功能

工业控制系统信息安全测试平台由测试配置子平台、测试监控子平台、安全测试工具集、威胁接入子平台、安全信息库、仿真运行环境、仿真接入子平台、运行场景库等部分组成,各部分的功能如下。

(1)测试配置子平台

测试配置子平台主要功能:配置仿真运行环境,包括虚拟设备、虚拟子系统、虚拟MES系统,以及仿真系统与被测工业控制系统和监控子平台的通信接口协议和链路参数;配置安全测试工具集,包括各工具参数以及各工具与被测工业控制系统和监控子平台的通信接口协议和链路参数;配置测试监控子平台参数,包括设备、通信、信息、画面、逻辑等。

(2)测试监控子平台

测试监控子平台主要功能:提供安全测试集中操作控制台,包括一套主操作控制台和若干套协操作控制台,共同完成对仿真环境和测试工具运行控制;通过大屏幕显示器,提供对测试环境、被测对象、威胁行为的综合可视化输出;提供对测试数据的记录、分析,识别被测对象薄弱环节,对被测工业控制系统信息安全风险作出量化评估。

(3)安全测试工具集

安全测试工具集主要功能:监测工业控制系统的状态,包括资产的运行状态安全监测、资产配置监测等;检测工业控制系统的异常行为并进行实时分析,包括异常通信检测、非法接入检测、恶意进攻行为报警等;向工业控制系统注入威胁性检测信号并进行实时检测和分析,包括端口扫描/操作系统探测、Fuzzing测试、认证攻击、逻辑攻击、命令执行、授权攻击、客户端攻击等。

(4)威胁接入子平台

威胁接入子平台主要功能:提供工业控制系统在配置、运行期间可能受到的外部威胁源入口,如工业控制系统边界的企业管理信息区接口、子系统互联接口、远程维护接口,及工业控制系统内部的交换机多余接口,主机、控制器或工程师站的多余通信接口等。

(5)安全信息库

安全信息库主要包括:典型工业控制系统的缺陷信息库;操作系统、数据库、工业控制系统的漏洞库;工业控制网络通信协议特征库;典型工业控制系统的测试案例库。

(6)仿真运行环境

仿真运行环境主要功能:通过仿真手段,搭建起工业控制系统完整运行环境,包括模仿底层工艺系统的虚拟设备、模仿与工业控制系统互联的虚拟子系统、模仿与LEVEL 3层制造执行系统(MES)交互的虚拟MES。其中虚拟设备提供高精度I/O能力,可与工业控制系统的I/O单元直连,并通过通用可组态测试工具进行驱动和管理。虚拟子系统和虚拟MES由纯软件模拟。

(7)仿真接入子平台

仿真接入子平台主要功能:提供可直接连接工业控制系统的硬接线端口及控制系统上下层通信接口。

(8)运行场景库

运行场景库主要功能:虚拟设备、虚拟子系统、虚拟MES采用ISO 20242(测试应用服务接口)规定的软件结构和接口形式,保持高度灵活性、扩展性,为安全测试构造足够真实、复杂、多样的行业应用环境。

2 测试平台的实现探索

2.1 测试平台相关技术研究进展

为实现测试平台的搭建,将上述测试平台设计架构的研究内容进行分解,已经实现的关键技术或已经产品化的研究内容如下。

(1)安全信息库及漏洞扫描系统[9]

基于安全信息库的漏洞扫描系统由信息安全库、资产发现模块、协议识别模块、已知漏洞扫描模块以及风险评估分析模块组成,可对工业控制系统进行漏洞发现和分析。工控漏洞库从中国国家漏洞库、国家信息安全漏洞共享平台、国家安全漏洞库以及CVE(Common Vulnerabilities and Exposures)漏洞库中搜集整理工业控制系统相关漏洞信息,加入自行挖掘出的工控漏洞信息,不断丰富,目前已经达到了近千条的规模。资产发现模块用来对被测系统的资产清单进行管理,协议识别模块与信息安全库结合用来确保生成测试用例的全面性,通过测试用例对被测系统的检测和比对,来确定被测系统是否存在已知的漏洞。

(2)工控漏洞挖掘系统[10-11]

基于模糊测试技术的工控漏洞挖掘系统由控制模块、端口扫描模块、测试数据配置与生成模块、测试用例执行模块和网络/逻辑监控模块组成,可对常用网络协议以及工控协议进行漏洞挖掘。已经采用本漏洞挖掘系统进行漏洞挖掘试验的工控协议包括ModbusTCP/IP、DNP3.0、EtherNet/IP-CIP、Foudation Fieldbus、IEC104、IEC61850、MMS和PROFINET,挖掘出的漏洞如某国产PLC产品经过IP分片语法测试可导致底层TCP/IP协议栈出现异常。

(3)网络仿真与攻防试验系统

网络仿真与攻防试验系统采用虚拟化技术、VM快速部署技术、虚实互联技术等主要技术进行应用及研发,开发平台使用Eclipse、PyCharm、WebStorm,系统运行环境使用Linux操作系统,开发环境包括Tomcat、MySQL、Nginx等,开发语言使用Java、Python、JS、C。目前系统已经处于测试阶段。

网络仿真软件基于容器虚拟化技术,通过在容器中运行高逼真路由程序,达到与实际网络一致的效果。网络仿真软件由网络拓扑编辑器、仿真网络管理模块、流量仿真模块、路由仿真模块、流量采集与展示模块和系统维护管理模块组成,用于仿真不同规模的网络,能够支持网络规模的扩展。网络拓扑编辑界面如图2所示。

图2 网络仿真软件拓扑编辑界面

网络仿真与攻防试验系统通过网络拓扑设计以及虚拟节点的部署来搭建出测试环境,根据虚拟节点的功能划分,在虚拟机中安装被测工业控制系统的组态及运行软件或者安装拟对被测系统进行测试的攻击工具。这样,网络仿真与攻防试验系统一方面可以对被测工业控制系统进行网络环境仿真和扩充,另一方面也可以构建攻击网络对被测系统进行攻击和渗透测试。

(4)虚实互联技术

虚实互联技术是网络仿真与攻防试验系统采用的主要技术之一,实现虚拟网络与实物网络设备之间的通信,将虚拟网络与实物网络有机结合成一个具备统一网络拓扑结构和逻辑视图的目标网络[12]。虚拟互联的核心是虚拟网络通过虚实互联服务器与实物网络之间建立一个中间映射层以实现虚实网络互联,系统通过解析虚实网络配置获得虚实网络边界信息,根据转发关系对相关实物网络接口进行配置,使实物网络设备与虚实互联服务器能够正常通信。图3所示为某实物主机的端口设置窗口,图4所示为实物交换机与虚拟网络及实物主机的关联设置窗口。

图3 实物主机端口设置窗口

图4 实物交换机关联设置窗口

2.2 下一步工作

围绕本文提出的工业控制系统信息安全测试平台设计架构,主要的功能开发工作已经基本完成,下一步要开展的工作主要包括:

(1)系统接口及配置平台开发。工业控制系统信息安全测试平台作为一个产品形态,应该具有统一的操作入口,需要开发一套平台配置与操作系统,并整合漏洞扫描系统、漏洞挖掘系统以及网络仿真与攻防测试系统的通信接口和通信内容,形成统一的呈现界面。

(2)评估功能整合。结合等级保护的要求和工业控制系统的特点,设计一套测评的模型,并将漏洞扫描、漏洞挖掘以及攻防测试的结果整合进评估模型中,实现评估结果自动生成与导出功能。

(3)资源库丰富。安全信息库与运行场景库都需要针对不同的测试场景不断地进行丰富,协议指纹库和测试案例库至少要覆盖国内主流的工业控制系统。

3 结论

国内现有的一些工业控制系统信息安全测试平台存在一定的局限性,比如电力电网仿真测试床具有鲜明的行业特征、漏洞扫描工具功能单一、某些测试平台基于特定的控制系统型号开发而不具有普适性等,针对这些问题,本文提出了一种弱化控制系统型号和应用行业,集检测、攻防、仿真、评估于一体的信息安全测试平台设计架构,并论述了相关技术的开发进展情况。目前测试平台的主要功能已经能够实现,下一步主要进行人机界面开发、评估功能整合以及测试平台的应用推广工作,通过测试平台的应用来发现工业控制系统的漏洞和缺陷,提出整改意见,保障工业控制系统信息安全。

[1] NIST.SP800-82, guide to industrial control systems(ICS) security[M].Gaithersburg:NIST,2011.

[2] 卢坦,林涛,梁颂.美国工控安全保障体系研究及启示[J].保密科学技术,2014(4):24-33.

[3] 黄慧萍,肖世德,孟祥印.SCADA系统信息安全测试床研究进展[J].计算机应用研究,2012,32(7):1926-1930.

[4] 万明.工业控制系统信息安全测试与防护技术趋势[J].自动化博览,2014(9):68-71.

[5] 李航.从“0”到“1”:我国自主研发工控协议通讯健壮性测试平台[J].自动化博览,2015(9):70-73.

[6] 周侃恒,吴清,谢新勤,等.便携式化工生产流程控制信息安全测试平台[J].工业控制计算机,2015,28(10):1-3.

[7] 陈云辉,刘东,凌万水,等.主动配电网协调控制仿真测试平台[J].电力系统自动化,2015,39(9):54-60.

[8] 王志强,王红凯,张旭东,等.工业控制系统安全隐患及应对措施研究[J].信息网络安全,2014(9):203-206.

[9] 秦媛媛,朱广宇,田晓娜,等.基于CVE漏洞库的工控漏洞发现和分析系统研究[J].信息通信技术,2017(3):54-59.

[10] 朱广宇,秦媛媛,陈波,等.面向工业互联网环境的模糊测试系统设计研究与实现[J].信息通信技术,2017(3):72-76.

[11] 李航,董伟,朱广宇.基于Fuzzing测试的工业控制协议漏洞挖掘技术研究[J].信息网络安全,2014(9):203-206.

[12]方滨兴,贾焰,李爱平,等.网络空间靶场技术研究[J].信息安全学报,2016,1(3):1-9.

猜你喜欢

工控漏洞信息安全
漏洞
信息安全专业人才培养探索与实践
保护信息安全要滴水不漏
高校信息安全防护
工控速派 一个工控技术服务的江湖
工控速浱 一个工控技术服务的江湖
三明:“两票制”堵住加价漏洞
漏洞在哪儿
热点追踪 工控安全低调而不失重要
基于攻击图的工控系统脆弱性量化方法