本文来源于ECCWS 2016 – 第15届欧洲网络战争和安全会议,本文为非官方中文译文,由灯塔实验室翻译,作者联系邮箱:{tjcruz, rqueiroz, psimoes, edmundo}@dei.uc.pt,作者信息:
T. Cruz, R. Queiroz, P. Simões, E. Monteiro
University of Coimbra, Portugal
ICS/SCADA虚拟化的安全性影响:调查和未来趋势
摘要:近年来,由于安全性和可管理性问题,工业控制系统(ICS,Industrial Control System)的监控和数据采集系统(SCADA, Supervisory Control and Data Acquisition)–一种用于控制工业过程、电厂或组装线的系统,因其重要地位业已成为这方面严重关注的焦点。工业控制系统(ICS)在之前曾多年进行物理隔离部署,造成工业控制系统(ICS)的发展相对停滞。近些年来工业控制系统(ICS)和信息通信技术(ICT)系统逐渐增加其耦合度,拓展了工业控制系统的发展空间,带来了新的发展机遇。但是在其发展过程中缺乏适当的管理和安全策略,为现有的工业控制系统(ICS)带来了新的信息安全和管理性问题。这样的现实迫使ICS行业需要采用和开发特定技术,以及建立安全管理框架和采用安全策略来解决工业控制系统(ICS)所面临的上述问题。虚拟化就是这样的新技术之一,其影响辐射到很多领域,从网络技术、通信技术到存储技术、计算技术等。
对于ICT领域,虚拟化的兴起构成了范式转变(Paradigm Shift),在资源整合、可管理性甚至安全性方面都取得了显著的进步。但是这些好处尚未完全惠及到与ICT融合的ICS领域,尽管在最近的发展中ICS系统已经引入了虚拟化管理程序(Hypervisor)和软件定义网络(SDN)技术。本文提供了关于此类技术的使用概述,以及如何利用此类技术改善ICS/SCADA的安全性和可靠性,并提出了高级用例。
关键词:虚拟化,关键基础设施保护,工业控制系统
一、简介
近年来,由于安全性和可管理性问题,ICS/SCADA系统—一种用于控制工业过程、电厂和装配线过程(通常是关键基础设施或战略基础设施的一部分)的一种系统已经成为这方面严重关注的焦点。在经过多年的物理隔离部署之后,现在的ICS在逐渐的增加和ICT系统的耦合,但是在其耦合过程中缺乏适当的管理框架和安全策略,作者Ron Krutz于2006年出版的一本书籍《Securing SCADA Systems》首次向公众揭示了ICS/SCADA的几个脆弱性,如果这些脆弱性被暴露并且基于这些脆弱性进行攻击,则将会引发灾难性的后果。然而,在ICT领域,ICS所面临的这些问题早就没有任何新颖性,基于ICT系统的脆弱性或漏洞已经处理了几十年,并早已制定了具体防御工具和安全协议,以及建立起了完善的安全管理框架,如信息技术基础设施库(ITIL)、变更管理框架或安全策略等等。
然而,ICT领域的具体做法不能轻易地移植到ICS领域。对于ICS运营商、设备制造商和软件开发商来说,ICS的可靠性是首要任务。因此,那些针对ICT领域的安全战略和工具难以部署到ICS领域中,因为这可能对ICS资源形成潜在影响。为了保证ICS的持续运营和运营安全,ICS行业,研究人员和标准化组织积极推动了研究ICS特定的安全和管理解决方案、框架,并不断测试和发布最佳实践指南,同时还积极引入ICS领域新的安全和管理产品线,并在新的工控设备中增加了安全功能和管理功能,以此引导和推动ICS领域的安全和可管理性不断向前发展。
但是,ICS核心系统本身是保持相对不变的,因为上述所提出的解决方案只是试图解决现有ICS领域的安全问题和管理问题,而不试图对现有ICS引入架构性或颠覆性的变化。所以这种解决方案远远不是最优的,因为典型的生命周期管理操作,例如将安全补丁部署到现有ICS/SCADA中仍然是一个问题。对于ICS/SCADA的变更管理也是如此。相比之下,通过不断开发旨在满足这些需求的技术、工具和框架,ICT领域已经解决这些问题很多年了。虚拟化技术是这些发展中最为显著的一个,并且全面影响着ICT领域计算和通信等基础设施。诸如虚拟机管理程序(Hypervisor)、软件定义网络(SDN)或网络功能虚拟化(NFV)之类的开发正在重塑ICT领域的生态系统,其提供高效使用计算和通信资源的手段,也有助于优化或改进诸如生命周期管理,能源效率,可靠性或安全性等问题。
从ICS的安全性和可靠性角度来看,设备和基础设施虚拟化(Device And Infrastructure Virtualization)可能会如同ICT领域一样产生类似的影响,因为ICS行业现在也正在慢慢开始吸收一些ICT领域的虚拟化技术,比如针对关键基础设施环境进行定制和微调。当然,这是一个正在进行中的,处于早期阶段的一个过程,不仅是因为类似ICT领域的几种虚拟化技术在特定ICS环境中的使用案例尚未开发,而且因为在此类环境中需要大量测试才能获得认证并准予上线。在这个范围内,本文分析了ICS上下文中虚拟化技术在通信和计算资源方面的应用,从安全和可靠性的角度,重点介绍了最近的发展、所需的挑战及其巨大的优势。
本文的其余部分结构如下。第2节讨论ICS/SCADA中的安全问题,也解释了在这种环境中引入域感知型虚拟化技术(Domain-aware Virtualization Technologies)的潜在好处。第3节讨论ICS/SCADA中网络虚拟化技术的引入及其安全优势。第4节论述了在ICS中引入分区管理程序(Partitioning Hypervisor)的优点,并描述了虚拟化可编程逻辑控制器(PLC,Programmable Logic Controllers)用例。最后,第5节提出了关于未来发展的结论见解。
二、ICS/SCADA安全和虚拟化
工业控制系统(ICS)的范围最初仅限于隔离环境,因此ICS/SCADA系统于外部入侵来说被人们认为是相对安全的。随着ICT与ICS的不断融合,使得两者不断在产品、技术以及组织管理上形成各种新形态。这些新形态是在开始吸收ICT世界中的技术(如TCP/IP协议和以太网)下产生的。这种趋势加上之前工业控制系统(ICS)缺少对安全的考虑设计使得越来越多的ICS/SCADA系统暴露出结构脆弱性的严重缺点,这种情况诸如使用不安全协议(例如不加密的Modbus协议)或不适当的产品生命周期管理程序,后者负责超出其寿命支持状态的设备和组件的继续进行运转。除此之外,ICS网络还积极与ICT网络进行互联,甚至与外部系统(例如,用于远程管理)进行互连,这些和外部的互联为ICS带来了一一波安全事件,因为相比较之前相对隔离的内部环境就内部发起的攻击而言,外部发起的针对ICS系统的攻击显着增加。所以总的来说,这种情况已经成为许多著名的ICS安全事件的根本原因,如Stuxnet木马事件(即伊朗核电站“震网”事件)。
事实上,ICS安全不能以与其ICT对应的相同方式来处理,因为两个领域在其基本设计原则上显著不同。 由于ICS领域的关键性质,ICS领域操作和设计实践需要的要求是可用性和可靠性比保密性和数据完整性更加重要,这与ICT领域理念完全相反,后者遵循相反的优先顺序(ISA-99.00.01)。
ICT领域和ICS领域之间的差异也意味着,当选择和实施安全机制时,没有“一刀切”的解决方案。当面临诸如阻碍生产的高成本的情况时(例如延迟增大、SCADA重启等),甚至是由系统制造商明确禁止(因为任何软件版本必须在发布前进行测试和认证),信息通信技术(ICT)中安全工具和常见的生命周期管理程序(如修补和更新系统)的基本前提在ICS中可能会变得比较麻烦。此外,针对一些其他的安全机制,比如防病毒软件这种安全软件系统,ICS/SCADA软件提供商通常不会修改软件的代码以适应防病毒软件的扫描和运行,因为他们认为防病毒软件可能会干扰主机的响应延迟,从而造成生产风险。相同的这种认知适用于部署在关键通信路径中间的任何事物(例如,在线网络入侵检测系统(NIDS,Network Intrusion Detection System)),因为在ICS的关键通信路径中间部署这些设备可能会引起等待时间或一些其它类型的可靠性问题。
具有讽刺意味的是,ICS领域面临的许多问题并不是全新的,甚至大部分在ICT领域是众所周知的问题,这些问题已经在ICT领域经历了好几个范式转换并且已经有了很成熟的处理这些问题的主要技术步骤。最近,虚拟化范式的兴起在改变ICT计算环境方面发挥了重要作用,其通过利用虚拟化整合计算和通信资源,为其高效管理提供了便捷的手段。诸如虚拟化管理程序(Hypervisors),软件定义网络(SDN)或网络功能虚拟化(NFV)等技术有助于理顺、简化和重塑基础设施和设备,直到改变终端用户使用通信和计算资源的方式。
在安全性和可靠性方面,影响是多方面的。例如,通过创建虚拟机(VM)快照,可以在有故障的OS补丁或恶意篡改导致的故障、损坏的情况下回滚之前更改;同时VM可以在部署到生产环境之前克隆一台相同环境配置的VM用于沙箱测试;虚拟化管理程序(Hypervisors)可以出于安全目的执行VM的就地行为监视。类似地,诸如SDN之类的技术(其构成用于网络的面向流的虚拟化机制)允许在现有物理基础设施之上灵活地创建和管理网络覆盖,同时还实现显著的安全性和可靠性益处。 NFV可以与SDN一起工作,以虚拟化网络设备功能,以有效和合理的方式将其传播到通信和计算基础设施,还能够创建创新的安全解决方案,以便更好地配合日益分散的现代ICS和相关威胁。
但是在ICS中引入类似ICT的虚拟化技术并不是一个简单的过程。由于对ICS的潜在影响,ICT的多种IT特定的虚拟化策略和工具难以直接部署到ICS中,对于ICS运营商、设备制造商和软件开发商来说,可靠性、运营安全性和持续运营是其首要任务,因此,在这些潜在影响消除之前,我们无法看到这些ICT的虚拟化优势可以立即应用于ICS领域。这些潜在影响举例来说,例如,某些机制的等待时间开销可能不与实时操作的要求兼容;虚拟化管理程序(Hypervisors)必须处理ICS应用程序的(软)实时性要求;任何引入SDN或NFV的尝试都必须考虑到ICS可靠性或延迟等等。
尽管有这样或者那样的限制,在ICS中利用虚拟化的潜在效率、安全性和可靠性好处足以证明逐步开发和引入域感知型虚拟化技术(Domain-aware Virtualization Technologies)的优越性。例如,实时虚拟化管理程序(Real-Time Hypervisors)可以提供安全的分区和隔离,使得能够通过连续评估分区行为为实时工作负载创建管理执行环境,还为潜在受损系统提供快照回滚功能。同时,使用SDN技术可以为ICS运营商提供监控ICS通信基础设施行为的手段,同时减轻对安全策略的实施和安全机制的部署。随着ICS变得越来越分散,NFV可以提供在ICS通信和计算基础设施上有效地传播功能安全组件的手段,以便更好地与被保护系统的分散性质耦合。下两个章节将讨论域感知虚拟化技术(Domain-aware Virtualization Technologies)如何为ICS提供有效的安全优势,重点放在两个主要范围:通信和计算。
三、ICS/SCADA通信基础设施的虚拟化
本章特别关注在ICS/SCADA范围内引入SDN和NFV等虚拟化技术。为此,本节将从比较广义的角度:物理ICS维度及其分散范围,从工厂级到分布式工业自动化和控制系统(IACS)的使用,来分析所讨论的技术的安全优势和用例。上述这些部分中,将首先从简要介绍其各自的基础概念开始,即SDN和NFV技术,以便于在ICS/SCADA安全的背景下引入。
3.1、SDN和ICS/SCADA
SDN是一种解耦转发功能(数据平面)和网络控制(控制平面)的架构,旨在将直接可编程性引入网络、应用和策略引擎。使用SDN技术,其分组转发是面向流的,这种流和传统网络的区别是:SDN下的数据包需要同时考虑源地址和目的地址,而传统网络只考虑数据包的目的地址。基于这种流需要由流策略来控制,流策略由SDN控制器授予。SDN控制器是用于管理给定网络中的一系列转发元件(数据平面)的策略并可移动和管理网络设备的控制平面功能的一种网络控制服务器。由此,可以根据网络服务和应用的需要,通过网络动态地重新配置支持SDN的元件。基于这个原因,SDN控制器将具有更宽广的域视图,与单个转发元件在传统IP网络中具有的窄视图形成鲜明对比。采用这种架构,企业和运营商拥有前所未有的可编程能力、自动化和网络控制能力,从而可以构建一个高可扩展性且足够灵活的网络,以适应自身不断变化的商业需求。这种架构将控制平面和数据平面分离开,逻辑上集中管理网络状态信息,底层网络硬件设施由上层应用来抽象和定义,在这其中,定义了SDN网络设备控制平面和数据平面交互方式的有好几种SDN协议,其中OpenFlow(ONF)是其中最受欢迎的协议之一。
SDN技术增加了网络的灵活性和可编程性,特别是对于复杂的网络环境,其直接受益于自动化的管理操作(例如基于覆盖网络(Overlay Networks)实现网络拓扑变更)。除了这些好处,SDN技术还可以为应用提供有效的安全机制。这是由于SDN具有的特性所决定的:所有网络实体(例如设备,流和网络元件)全部都集中到SDN控制器的全局视图中,利用集中式的网络状态信息,能够提供更有效的信息收集和安全反应机制,使得网络行为紧贴用户需求,从而提供更加良好地网络用户体验;特别是和由传统IP网络中的每个转发元件单独提供的窄局部视图相较,基于SDN的全局视图通过自动化的集中式网络设备管理,统一的部署策略和更少的配置错误,可提升网络的可靠性和安全性。此外,基于流的分组转发可以用于提高网络反应的效率,其特性“用于隔离网络或随时将流进行转移到另外一个执行元件中”对于改进现有的安全技术非常有用。例如,允许在检测到攻击者或者攻击数据包后立即将其转移到蜜罐系统,而不是简单地阻止攻击。除此之外,SDN技术还可以通过改进检测和反应机制来帮助处理拒绝服务(DoS)和分布式DoS(DDoS)攻击。
除了通用安全应用场景,现有的ICS引入SDN技术前沿研究中已经有几个基于SDN的安全机制的解决方案。例如,论文《Software-Defined Networking for Smart Grid Resilience: Opportunities and Challenges》提出使用基于三个元素(SCADA主机,SDN控制器,入侵检测系统IDS)的解决方案来增强用于智能电网应用的SCADA网络的快速恢复能力,这些网络通过统一策略来进行配置,当检测到攻击时,立即重新配置网络以便减轻和克服攻击所带来危害。论文建议的使用案例包括动态建立路由以仅在必要时发送控制命令(以缩短篡改尝试的时间窗口);自动重新路由或丢弃可疑分组以避免来自受破坏的SCADA元件的欺骗或洪泛攻击;或执行网络监视器来处理延迟攻击等等。
论文(A Novel Secure SDN/LTE based Architecture for Smart Grid Security. In proc of IEEE International Conference on Computer and Information Technology)建议使用SDN动态创建虚拟网络,以隔离不同的流量和主机,实现流量优先级和安全分区。该概念通过使用SDN控制器代理来创建三个隔离网络,它们共享相同的物理基础设施,但具有自己的SDN控制器。作者讨论了如何使用此架构来改进诸如身份验证、机密性、完整性、不可抵赖性和可用性等方面的应用。论文《Dynamic Zoning Based on Situational Activate for ICS Security》也提出了一种类似的方法,通过使用SDN来动态分离ICS中的固定功能组来最小化攻击面。还提出了基于动态区域的方法,利用从现场设备获得的信息来预估ICS的操作阶段(因为每个阶段,例如启动,正常操作或负载变化都将会展示不同的行为和通信配置文件)并计算出最佳区域拓扑,然后在运行时部署所需的SDN配置。这种策略减少了因时间和空间的暴露受到攻击的风险,也提供了隔离受损设备或受控设备的方法。
论文《Network Randomization and Dynamic Defense for Critical Infrastructure Systems. California, USA: Sandia National Laboratories》提出了利用动态配置技术相关,辅以具有接近实时反应能力的IDS,推出了一种基于网络随机化的安全解决方案。该网络随机化方法周期性地或通过请求向网络设备分配新的地址,以便保护它们免受依赖于关于ICS拓扑的知识(例如静态设备地址)的攻击。由控制器负责应用、保持所有网络规范(大多是设备和真实地址)的更新数据库,为相同设备和每个流生成覆盖IP地址,用于在流表上定义OpenFlow规则。这样,在网络上流动的所有流量都使用周期性随机化的“伪造”覆盖地址,从而减少其使用寿命,以达到减少任何攻击者利用该ICS拓扑知识的时间窗口。该论文所提出的IDS利用ICS网络的可预测的、类似的业务模式来识别攻击和触发防御反应(网络随机化请求,其将使使用旧IP地址的任何正在进行的攻击无效)。而针对攻击检测则利用机器学习算法和数学方法,使用OpenFlow的统计计数器进行馈送和训练。
论文《Capitalizing on SDN-Based SCADA Systems:An Anti-Eavesdropping Case-Study》还描述了一种动态技术,其利用SDN技术来防止针对SCADA网络的窃听。预期目标是阻止攻击者收集序列数据,这对于打破加密、识别模式以及从有效载荷(数据包)中检索有用信息至关重要。通过利用冗余网络连接,多路径路由机制使流能够通过求助于计算两个设备之间的最短路径的算法而通过不同的路径(参见图1)被传送和拆分,动态地为每个设备分配成本并使用OpenFlow定时器(硬超时)定期重新安装新的流规则。
图1:多流,冗余路由的分流
《Securing Cyber-Physical Systems》第12章提出了两种不同的基于SDN的技术来缓解和阻止ICS网络攻击。第一种技术(见图2)是为单域网络(Single-Domain Network)设计的,其尝试通过使用SDN控制器的防御策略而重新路由流量来减轻DoS攻击。SDN控制器首先会连续监视网络链路的状态,一旦检测到Dos攻击(关于此技术的细节请查看该论文),其相应的数据流就立马被重新路由,以便保护ICS。
图2:基于单域SDN的安全解决方案
第二种技术(参见图3)针对多域网络,目标是尽可能将攻击阻止在网络中的入口点。
图3:基于多域SDN的安全解决方案
对于这样的多域网络,每个域都有自己的OpenFlow控制器(SDN控制器),然后所有的OpenFlow控制器都连接到集中式安全应用程序中。该应用程序从SDN控制器接收信息,并且可以访问关于网络的全局视图,一旦检测到攻击,它将回溯到其源点,通过递归发出相关的查询流,以识别先前配对的节点,直到最原始的网络入口点被找回。
3.2、网络功能虚拟化和分布式ICS
NFV是电信通信基础设施和基础设施虚拟化之间融合的结果,也是通信技术(CT)到信息技术(IT)改造的结果。随着网络应用和服务的扩展和演进(不仅仅是在容量需求方面,也有复杂性方面),它们对承载其自身运行的电信提供商的基础设施造成了额外的负担,电信提供商需要使用特定的网络管理和流量策略,来提升网络的承载容量需求以及复杂性需求。从这个角度来看,NFV(网络功能虚拟化《NFV,Network Functions Virtualization – An Introduction, Benefits, Enablers, Challenges & Call for Action. Issue 1. ETSI White Paper》)是一个重要的发展,因为它通过基于服务链的组合机制创建灵活的按需网络服务,使用在VNF(虚拟化网络功能)组件中实现的网络功能,包括功能如NAT、IDS、防火墙或其他服务模块,其VNF组件的具体实现表现为一个或多个VM设备。可以根据用户对网络功能的各种需求去定制VNF(虚拟网络功能设备),提供包含不同功能类型(FW或者LB等)、不同性能指标(吞吐量或连接数等)、不同稳定级别(单机或HA等)的模板供选择。这样的VNF服务,可以是一个路由器虚拟机,也可以是多个虚拟机堆叠,还可以将一个VNF切片分给不同的租户共享。
NFV的愿景试图将端到端服务网络实体(也称为服务链)构想为通过涉及VNF和各个连接终端互连来建模和描述,从而将网络功能解耦。如下NFV转发图所示,通过VNF实现传统环境中的路由、负载均衡、防火墙以及IPS等,并相互之间进行流量转发以实现各个终端之间的互联,完整的模拟和实现了传统网络环境下各个终端连接所需的网络实体。
图4:NFV转发图例子
由此,NFV基础设施资源之上运行VNF,在管理与编排功能下实现不同的VNF通过逻辑链接互连并按照VNF转发图(VNF FG——VNF-Forwarding Graph)组网形成端到端的网络服务。其中转发图对服务流进行建模(参见图5),VNF转发图作为服务,通过管理或者编排系统提供了流映射(也称为服务栈或者服务链),VNF FG基于一个向服务提供商的管理和(或)编排系统的信息模型,描述了VNFs和物理实体。该信息模型描述了实体的特性,包括每个NFV基础设施对IaaS服务中每个VNF、VNF接入需求、VNF和物理网络之间的连接的需求。为了保证端到端服务的性能和弹性,信息模型需要在图中详细说明每个VNF的容量,性能和弹性需求。为了满足SLAs,管理和编排系统必须监控图中所有的节点和链路。此外,VNF FG可以嵌套以定义更复杂的函数。VNF在软件中实现,通过管理和编排系统实现其业务流,其中,管理和编排系统可以通过SDN控制器实现,其VNF作为虚拟化网络覆盖的一部分在逻辑链路互连,以实现SDN和NFV的集成和协作。
图5:使用VNF的NFV端到端服务
最后,即使是物理网络功能(具有执行网络功能的耦合软件和常规的硬件网络设备)也可以涉及网络转发图服务链(服务链的概念不是NFV独有)。虚拟化层对物理资源(计算,存储和网络)进行抽象,并其上部署和实现了VNF,并可以对其平滑迁移和动态部署,其支持NFV基础设施(NFVI)分布在不同的物理位置,称为存在点(NFVI PoP)如图5所示。在这种模式下,网络服务提供商提供的基于基础设施的云服务(例如IaaS)需要编排和管理虚拟化服务平台(例如VNFs)和物理设备之间的业务流,从而为终端用户提供完整的服务。
NFV作为新一代分布式IACS(工业自动化控制系统)的推动者。
诸如物联网(IoT),水发电,微型发电,智能电表或智能水资源管理的使用案例构成了新一代的分布式IACS,其只能借助于复杂的分布式软件栈来支持,潜在地还需要第三方,如电信和云运营商基础设施的参与。为此,引入网络功能虚拟化组件设备,分布在地理上分散的基础设施PoP中,是完全有道理的。
随着IACS进入客户生产现场,NFV服务提取模型(作为VNF的组成的服务)提供了沿着服务路径引入支持组件的有效方式。例如,可以将数据收集和分析VNF添加到客户服务链(最终在虚拟业务网关服务抽象中实现)为智能电表场景提供数据收集。相同的理由适用于安全目的,例如网络物理保护(实施凸点在线加密)或将安全异常检测VNF集成在服务链中,也可以集成使用SDN创建灵活的安全监控和反应能力。此外,分布式IDS(DIDS)组件可以以最佳部署的VNF的形式合并,以便减少服务开销并高效利用资源。例如,论文《Cooperative security management for broadband network environments》描述了DIDS组件可以以VNF的形式部署,在多个业务网关FG之间共享或由服务实例专门使用。一些制造商(LightSEC和RAD)开始为实现这一理念的ICS应用提出NFV产品,用于光传输或分组交换网络的接入节点中的NFV功能,这些NFV功能主要是托管防火墙、加密或流量监控。
NFV还是雾计算[Fog Computing ](或“边缘计算”)场景的推动者。雾计算是允许使用位于最终用户设备和云数据中心之间的网络边缘,并将部分虚拟化平台基础设施部署在该网络边缘。在该模式中数据、(数据)处理和应用程序集中在网络边缘的设备中,而不是几乎全部保存在云中,是云计算(Cloud Computing)的延伸概念,由思科(Cisco)首创。该方法通过将一些事务和资源放置在云的边缘(靠近最终用户的位置)来解决在带宽有限的情况下,实时处理大数据流需要的工作,其将处理任务传递到云数据中心之前卸载处理任务从而提高任务效率。由于这些原因,雾计算正成为分布式IACS体系结构的基石概念,分布式IACS利用这种概念和架构提供了一种行之有效的方式来处理由大量分布地域广泛的传感器流产生的信息量。
NFV范例自然是兼容实现雾计算的分布式拓扑的基本前提。因此,可以预见,对于分布式网络安全检测能力的认知和理解将利用NFV范例来支持其潜在的底层部署模型,从传统的独立部署模式走向一个地理位置分散的能够跟上物联网IACS分散性质的架构模式。此外,VNF部署标准可以考虑特定NFVI POP中的特定能力(诸如原始处理能力)的可用性。例如,每个用户的安全事件处理组件可以被托管在来自一个或多个NFVI POP的不同托管DIDS服务的其他VNF主机中。
四、Real-time Hypervisors + SDN =PLC虚拟化的实现
出现在大型机时代,虚拟机监视器(Hypervisors,也称为虚拟机管理程序)最终发展为在开放的商用现成品或技术(COTS)硬件平台中得到支持。具体来说,1型(裸机或裸金属架构)管理程序(Type-1 Hypervisors)已经在诸如数据中心的大规模虚拟化场景中应用,从而在资源整合、业务连续性、可扩展性、管理和安全性方面带来了巨大优势。
但大多数1型管理程序(Type-1 Hypervisors)针对ICT负载进行了专门的优化,并不适合现有的ICS应用程序使用。主要是由于虚拟机监视器这个中间层需要从主机硬件中抽取出硬件资源提供和转换给VM,这些抽象和转换机制会造成一定的开销。这些开销会造成一定的延迟, ICS对实时性等特性的要求使得大多数1型管理程序(Type-1 Hypervisors)并不具备实时运行ICS应用程序的能力。但是这种情况逐渐开始改变,因为随着硬件辅助内存管理和I/O机制的发展,实现了强大的资源相关性和预留(如VT-d和PCI SR-IOV支持),提供性能保证,同时避免了的资源过度配置等问题。一些运营商开始使用1型管理程序(Type-1 Hypervisors)的服务器虚拟化来创建虚拟机实例,并在其上部署通用操作系统,安装ICS应用程序,例如SCADA主站(MS),人机界面(HMI)或历史数据库服务器(HDB)。
其他ICS元件(例如过程控制设备)也可能受益于虚拟化技术。 例如,《Software-Defined Networking for Smart Grid Resilience: Opportunities and Challenges》提出了用于从传感器和电力设备收集信息的智能电子设备(IED)的虚拟化,目的是优化设备维护和成本开销,同时提高可靠性。相同的理由可以应用于可编程逻辑控制器(PLC)器件,这是本节的重点。
PLC是ICS/SCADA中的比较普遍的设备,被设计用于自动化控制工业过程。当代PLC是从第一代基于继电器的设备开始并逐步结合诸如微处理器,微控制器和通信能力的技术(从串行点对点或总线拓扑到以太网和TCP/IP)发展而来。尽管现代PLC经常是具有商用指令集架构(ISA)的系统级芯片或CPU(PowerPC,x86或ARM)上运行实时操作系统(RTOS)的嵌入式设备,但是对其的虚拟化缺乏具体的硬件、软件和基础设施支持,直到最近才被ICS行业、研究人员和设备厂商认为是可行的。
4.1、迈向PLC虚拟化
PLC用于自动化控制的数字逻辑控制器,在严格的实时性约束下运行、操作,因此对于诸如互连总线上的组件之间的端到端和事件响应等待时间或者信号和消息传播延迟等要求很高。由于开销问题和缺乏对实时有效载荷的支持,这些要求与诸如常规1型管理程序(Type-1 Hypervisors)的若干虚拟化技术的使用不兼容,导致PLC的虚拟化被认为是不可行的。
然而,最近虚拟化技术的发展,例如实现用于聚合以太网的低延迟确定性网络连接和实时管理程序的可用性使得可以虚拟化PLC架构组件。因此提出的vPLC架构(图6)将PLC执行环境与I/O模块解耦来利用这些功能模块,同时使用支持SDN的以太网架构提供与分离的I/O子系统的互联。这种架构背离SoftPLC的概念,由诸如(Codesys)或(ISaGRAF)之类的产品提出,采用符合(http://intervalzero.com/assets/wp_softControl.pdf)该文章的方法,将SDN功能融合到该结构场景以利用更多网络的优势。
图6:vPLC架构
在vPLC中,PLC I/O总线被高速网络功能所取代,SDN允许在I/O结构上创建灵活的虚拟通道,以适应vPLC实例和I/O模块之间的连接流,例如传感器接口或运行控制器,并且基于SDN的控制可以提供灵活的业务隔离。此外,由于近年来在现场可编程门阵列(FPGA)和专用集成电路(ASIC)技术方面的进展,这种I/O模块可以使用FPGA或ASIC模块以更低的复杂度来构建。在这种架构中,SDN重新配置是通过SDN控制器经由与其北向接口交互的高可用性(HA)服务器(图中未示出)来管理的。HA服务器连续监视SDN交换机统计信息和路径可达性,在性能下降或故障的情况下触发重新配置过程。
这种分散式模型与远程或分布式I/O PLC拓扑具有相似之处,其中网络I/O模块充当PLC机架的扩展。这符合融合工业以太网(CWpE)【Converged Plantwide Ethernet (CPwE) Design and Implementation Guide】架构,甚至在关键的航空电子系统,它已经利用基于以太网的技术(如航空电子全双工交换以太网(AFDX)《The Evolution of Avionics Networks From ARINC 429 to AFDX》)取代了传统互连。
在直通交换中的进步以及远程直接存储器访问技术(RDMA)中,特别是在融合以太网情形中,已经允许在10G以太网交换结构中端口到端口的延迟缩小到百分之几纳秒以及应用延迟缩小到微秒级。论文《Performance evaluation of the RDMA over ethernet (RoCE) standard in enterprise data centers infrastructure》描述了这样的技术。此外,诸如英特尔的数据平面开发工具包(DPDK)《SmartSwitch: Blurring the Line Between Network Infrastructure & Cloud Applications》等资源允许实现绕过内核的低延迟、高吞吐量数据包处理机制,将网络堆栈带入用户空间,并使适配器能够执行直接内存访问操作到应用程序内存。这使得满足在以数微秒的单位时间内,传输的抖动和闪断的要求成为可能,从而允许在商用服务器硬件上实现裸机性能。此外,诸如802.1Qbv时间敏感网络(IEEE)标准的提议符合常规以太网上微秒范围内的实时要求。
至于计算资源,有两个因素必须考虑。首先,由于采用了硬件辅助虚拟化等技术使得服务器近乎利用原始性能,低延迟I/O机制或适用于数字信号处理任务的ISA扩展的可用性的提高,现代x86或ARM处理器已经能够替代独立PLC应用中的微控制器《Microcontroller to Intel Architecture Conversion:PLC Using Intel Atom Processor》。 其次,诸如Jailhouse(西门子),Xtratum《Partitioned Embedded Architecture Based on Hypervisor: The XtratuM Approach》,X-Hyp【http://x-hyp.org/】或PikeOS《Proving Memory Separation in a Microkernel by Code Level Verification》等实时静态分区管理程序的可用性支持为实时工作负载托管RTOS客户VM。 一些管理程序(如Xtratum和PikeOS)甚至使用多个独立级别的安全性/安全(MILS)《The MILS architecture for high-assurance embedded systems》架构来复制ARINC 653(上述ARINC ARINC 429 to AFDX文档查看)分区模型,用于安全关键型航电设备RTOS。
这种方法的好处是多方面的。入门级PLC的价格标签与可托管多个vPLC实例的COTS服务器相当,并且这些实例被置于工厂环境或工业环境之外,服务器的使用寿命可以大大增强。在融合以太网上的分布式I/O也提供了具有成本效益的性能和可靠性优点,因为不同vPLC实例之间的通信可以跨融合结构发生,或者甚至在本地(如果位于同一主机上)发生,其中SDN允许灵活创建虚拟通道进行通信,并用于差异化要求。此外,在出现故障时,可以轻松快速地更换I/O模块(PLC中故障率最高的组件)。
特别是vPLC在可靠性、安全和安全性方面的潜在优势是相当大的,因为它可以利用类似数据中心的冗余电源,计算和通信资源。除此之外还有如下的好处,即:
- 虚拟化管理程序(Hypervisors)允许虚拟化ICS组件的迁移,以及在正式部署前克隆一台相同的虚拟机用于测试;
- PLC的安全防护和系统级调试、跟踪机制可以在虚拟机管理程序(Hypervisors)级别实现,该级别可以监视和控制vPLC分区行为;
- vPLC受益于分区隔离,在进行篡改或其他恶意活动的情况下,虚拟机很容易根据快照恢复到新的状态;
- SDN管理的隔离I/O路径简化了在I/O级实现灵活、按需、保护机制(如第3节所示),也为在ICS级别引入NFV组件铺平了道路。
总的来说,这些好处表明,即使对于在每个设备上运行单个实例,使用工业级单板计算机而不是COTS服务器,虚拟化PLC也是可行的。
五、结论
本文讨论了逐步引入虚拟化技术在ICS中的影响,特别侧重于安全性和可管理性方面。从ICS为中心的角度分析网络和计算虚拟化,涵盖最近的发展以及提出新的用例和方法,以提高网络和系统安全性。
从对SDN和NFV等网络虚拟化技术及其在ICS和分布式IACS中的应用的概述开始,本文接下来讨论了将虚拟机管理程序(Hypervisors)技术用于实时工作负载的问题。在后一种观点中,讨论了虚拟PLC(vPLC)架构,其超越了PLC设备的简单虚拟化,构成了设备以无缝方式与基础设施合并的集成方法。vPLC利用网络和计算虚拟化技术,提出了一种用于ICS基础设施的计划范围内整合的融合方法,以及性能、成本和安全优势。该提案目前正由包括本文作者的团队开发。
致谢
这项工作由ATENA H2020项目(H2020-DS-2015-1项目700581)部分资助。
参考文档
Alves-Foss, J., Harrison, W., Oman, P., & Taylor, C. (2006). The MILS Architecture for High Assurance
Embedded Systems. International Journal of Embedded Systems, 2(3-4), 239–247.
Baumann, C., Bormer, T., Blasum, H., and Tverdyshev, S. (2011). Proving Memory Separation in a Microkernel by Code Level Verification. In proc of the 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing (pp. 25–32).
Beck, M., and Kagan, M. (2011). Performance evaluation of the RDMA over Ethernet standard in enterprise datacenter infrastructure. In proc of 3rd Workshop on Data Center – Convergent and Virtual Ethernet Switching.
Cahn, A., Hoyos, J., Hulse, M. and Keller, E. (2013) Software-Defined Energy Communication Networks: From Substation Automation to Future Smart Grids. In proc of IEEE SmartGridComm 2013 Symposium – Smart Grid Services and Management Models.
Chavez, A.R., Hamlet, J., Lee, E., Martin, M. and Stout, W. (2015) Network Randomization and Dynamic Defense for Critical Infrastructure Systems. California, USA: Sandia National Laboratories.
Chiosi, M., et al. (2012). Network Functions Virtualization – An Introduction, Benefits, Enablers, Challenges &Call for Action. Issue 1. ETSI White Paper. October 2012. Retrieved February 2016 from http://portal.etsi.org/NFV/NFV_White_Paper.pdf.
Codesys GmbH. CODESYS Control RT: Real-time SoftPLC under Windows. Retrieved March 2016 from https://www.codesys.com/products/codesys-runtime/control-rte.html.
Crespo, A., Ripoll, I., and Masmano, M. (2010). Partitioned Embedded Architecture Based on Hypervisor: The XtratuM Approach. In Proc. of European Dependable Computing Conference (EDCC).
Cruz, T., Simões, P., Monteiro, E., Bastos, F., and Laranjeira, A. (2015). Cooperative security management for broadband network environments. Security and Communication Networks, 8(18), 3953-3977.
Didier, P., and et al., F. M. (2011). Converged Plantwide Ethernet (CPwE) Design and Implementation Guide.
Dong X., Lin H., Tan R., Iyer R. and Kalbarczyk Z. (2015), Software-Defined Networking for Smart Grid Resilience: Opportunities and Challenges, Proc. of 1st ACM Cyber-Physical System Security Workshop (CPSS’15), Singapore, 2015.
ECI Telecom (2015) LightSEC NFV-based Cyber Security Solution for Utilities, Retrieved February 2016 from:http://www.ecitele.com/media/1225/eci_lightsec_nfv_brochure-utilities.pdf
Ersue, M. (2013). ETSI NFV Management and Orchestration – An Overview”, Presentation at the IETF #88
Meeting, Vancouver, Canada, November 3-8, 2013. Retrieved February 2016 from: http://www.ietf.org/proceedings/88/slides/slides-88-opsawg-6.pdf.
Fuchs, C. (2012). The Evolution of Avionics Networks From ARINC 429 to AFDX. In Proc. of Innovative Internet Technologies and Mobile Communications and Aerospace Networks (Vol. 65, pp. 65–76).
Galup S. et al. (2009) ’An overview of IT service management, Communications of the ACM, 52(5), pp. 124-127,
2009, doi: 10.1145/1506409.1506439.
García-Valls, M., Cucinotta, T., and Lu, C. (2014). Challenges in real-time virtualization and predictable cloud computing. Journal of Systems Architecture, 60(9), 726–740.
Genge, B., Haller, P., Beres, A., Sándor, H. and Kiss, I. (2016) Securing Cyber-Physical Systems. In Using Software-Defined Networking to Mitigate Cyberattacks, pp. 305-329, 2016, Taylor & Francis Group.
IEEE, Time-Sensitive Networking Task Group. Retrieved February 2016 from: http://www.ieee802.org/1/pages/tsn.html.
Igure, V.M.; Laughter, S.A. and Williams R.D. (2006) Security issues in SCADA networks, Computers; Security,Volume 25, Issue 7, Pages 498-506, 2006.
Intel Corporation. (2013). Reducing Cost and Complexity with Industrial System Consolidation. Retrieved March 2016 from: http://www.intel.com/content/www/us/en/industrial-automation/reducing-cost-complexity-industrial
IntervalZero. (2010). A Soft-Control Architecture: Breakthrough in Hard Real-Time Design for complex Systems.Retrieved from http://intervalzero.com/assets/wp_softControl.pdf
Irfan, N. and Mahmud, A. (2015) A Novel Secure SDN/LTE based Architecture for Smart Grid Security. In proc of IEEE International Conference on Computer and Information Technology.
ISA-99.00.01 (2007) Security for Industrial Automation and Control Systems – Part 1: Terminology, Concepts,and Models, American National Standard. ISaGRAF. ISaGRAF Overview. Retrieved February 2016 from: http://www.isagraf.com.
Kang, D. et al., (2011) Proposal strategies of key management for data encryption in SCADA network of electric power systems, Int. Journal of Electrical Power & Energy Sys., Vol. 33, Iss. 9, Nov. 2011.
Kean, L. (2010). Microcontroller to Intel Architecture Conversion: PLC Using Intel Atom Processor.
Kreutz, D., Ramos, F., Verissimo, P., Rothenberg, C., Azodolmolky, S. and Uhlig, S. (2014). Software Defined Networking: A Comprehensive Survey. Proc. IEEE, 103(1), pp.14-76.
Krutz, R. L. (2006) Securing Scada Systems, USA: Wiley Publishing, Inc., 2006.
- O’Murchu, N. Falliere (2011) W32.Stuxnet dossier, Symantec White Paper, February 2011.
Machii, W., Kato, I., Koike, M., Matta, M., Aoyama, T., Naruoka, H., Koshima I. and Hashimoto, Y. (2015)
Dynamic Zoning Based on Situational Activitie for ICS Security. In IEEE 978-1-4799-7862-5/15.
ONF (2012). OpenFlow Switch Specification, version 1.3.0 (Wire Protocol 0x04), Open Networking Foundation,
Proença, J., Cruz, T., Monteiro, E., and Simões, P. (2015). How to use Software-Defined Networking to Improve
Security–a Survey. In proc of the 14th European Conference on Cyber Warfare and Security 2015 (pp. 220).
RAD Data Communications Ltd. (2015) Megaplex-4 D-NFV Virtualization Module, Retrieved February 2016 from:http://www.rad.com/Media/34173_D-NFV.pdf.
Siemens AG. Jailhouse Partitioning Hypervisor. Retrieved March 2016 from: https://github.com/siemens/jailhouse
Silva, E.G., Knob, L., Wickboldt, J., Gaspary, L., Granville, L. and Schaeffer-Filho, A. (2015) Capitalizing on SDNbased SCADA systems: an anti-eavesdropping case-study. In IFIP 978-3-901882-76-0.
Triangle MicroWorks, Inc (2002) DNP3 Overview, Raleigh, North Carolina, Retrieved February 2016 from:http://www.trianglemicroworks.com/