工业互联网信息安全技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 工业互联网的脆弱性和安全威胁

2.1 工业互联网的脆弱性

工业互联网将互联网设备引入工业自动控制系统,并在能源、交通、医疗保健、公用事业、城市、农业和其他关键基础设施部门开展业务,将以前存在一定应用障碍的信息技术(IT)和操作技术(OT)网络之间建立更为紧密的联系。虽然这些互联网设备的引入创造了新的效率,提高了性能,提高了生产力,增加了盈利能力,但也给工业互联网引入了新的安全脆弱性和安全威胁。工业互联网是一个系统体系,单个工业互联网系统的体系结构由不同的层组成,每层都执行不同的功能,具有独特的操作特性,并且依赖系统其他层的不同设备和通信协议。由于这些不同层次和功能的独特性,与它们相关的脆弱性和威胁也不同。大型制造企业或组织内部的多方面相关人员都会参与工业互联网的组织、规划和实施,其中一些可能是经验丰富、知识渊博的技术专家,但有相当一部分人却不是。先不考虑技术知识背景如何,要充分认识如果恶意攻击者利用这些漏洞可能造成的灾难性后果,至少需要对工业互联网各层和各子系统相关的安全漏洞和威胁有一定的了解。

数十年来,传统工业过程及其运行的工业控制系统在很大程度上得到了保护,事实上,这些系统通常是专属自动控制系统,其大部分或全部硬件和软件组件,都由同一个制造商设计、生产和集成;并在与其他网络物理隔离的封闭操作网络环境中运行;而且这些专门的自动化控制系统的设计初衷,并不支持云通信,甚至支持双向通信的开放网络连接并暴露在互联网上。然而,上述三个特征都是工业互联网的核心。

在分析工业互联网安全威胁之前,先讨论一下工业控制系统的安全威胁。工业控制系统是从电力和供应水系统到制造业和运输业等关键基础设施网络的中枢神经系统,传统观念认为工业控制系统不太容易遭受网络入侵(但并非免疫),因为它们在以往相当长一段时间内是封闭的,是基于专有控制协议和专用硬件及软件的独立系统,并且不连接互联网。传统工业控制系统的信息安全问题不突出,较为明显的原因是其模糊性。但一旦工业过程中增加了具备互联网功能的设备,这种情形将迅速发生变化,无论是工业控制系统设备制造商还是系统操作员,都不能再将模糊性作为工业控制系统安全的“挡箭牌”。工业操作高度复杂的性质,加上控制过程的高容量输出,使其成为整合新兴工业互联网技术的最合适的环境,原因在于这些技术在降低成本的同时,提高了生产效率和生产力。然而,随着用于工业控制过程的、低成本的、基于互联网协议(IP)的工业互联网设备激增,并引入以往独立的工业控制系统,这些工业控制系统遭受网络攻击的脆弱性也显著增加。工业互联网的一个核心信息安全挑战是长期分离的IT和OT网络通过互联网连接起来,常见的OT网络包括专有工业控制系统、监视控制与数据采集(SCADA)系统、分布式控制系统(DCS)、远程终端单元(RTU)、可编程逻辑控制器(PLC)、制造执行系统(MES)、生产线机器人、设施管理和楼宇自动化系统。传统工业控制系统的脆弱性主要体现在以下几方面[9]

• 体系架构脆弱性:操作网络与现场网络之间的弱隔离,SCADA系统的活动组件之间缺乏认证,缺乏网络负载均衡和冗余备份。

• 安全策略脆弱性:补丁、防病毒和访问控制策略定义不完善。

• 软件脆弱性:各类控制软件、应用软件中存在的漏洞。

• 通信协议脆弱性:协议设计初期未考虑保密和验证机制。

• 策略和流程的脆弱性:不适当的信息安全策略和信息安全架构,信息安全审计机制缺乏。

• 平台脆弱性:工业操作系统、工业软件和微型控制装置的固件等错误配置或操作引起的脆弱性。

• 工业控制系统网络脆弱性:现场总线网络或各种专用通信网络缺陷、错误配置和不完善的网络管理过程导致的脆弱性。

当一套独立的工业控制系统由一个制造商完全生产时(如ABB、Honeywell、Yokogawa、Siemens等),其通信协议将是该特定设备制造商的专有、专用协议,因此,对这样的系统实施网络攻击,攻击者不仅需要获得专有的工业控制系统软件的副本,还要学习掌握其特定的工业控制及工艺流程知识,才能开发出对该系统有效的恶意软件,但同时也需要发现并利用一个访问机会来传播恶意软件。工业互联网的出现从根本上改变了这种状况,与专有或单一来源的工业控制系统设备相比,工业互联网设备和系统已经由越来越多的制造商协同提供,为了使这些不同厂商的工业互联网组件和设备在同一工业企业中发挥作用,不同制造商生产的硬件和软件组件必须能够成功地相互集成和通信。因此,在工业互联网的技术供给侧,基于标准的互联互通技术发展动力强劲。然而,随着工业协议的标准化程度越来越高,工业网络越来越容易受到网络攻击的影响,而且这些攻击行动可以使用更通用的、极少或不用修改的、可以针对许多不同的工业过程进行攻击的恶意软件实施,互联互通性的增加意味着脆弱性的增加。

网络安全和数据隐私问题是发展工业互联网技术面临的主要问题,这一点在全球工业界已经形成共识,相关的研究和分析报道材料很多。虽然将具有互联网连接能力的设备引入工业控制过程是工业互联网的一个较为明确的特征,但工业互联网的一些特殊之处,使得对工业互联网系统安全性的思考不同于传统互联网的安全性。这些特殊性来源于工业互联网系统的体系结构,和与设备相关的漏洞,以及各种设备之间在不同工业互联网层次的通信。大规模工业生产控制操作非常复杂,依赖多个系统近乎恒定的可用性和可靠性,每个系统都由多个制造商生产的无数组件和模块组成。除此之外,在工业互联网系统不同层次中执行的不同角色和功能,意味着不可能有一劳永逸的安全解决方案。相反,适应特定工业领域或场景的网络安全防护方法变得十分必要。关于工业互联网的架构,目前存在不同的观点,且构建于特定的应用场景中(如定制化设备制造、可复用的生产机器研制、小批量加工工具研发、智能汽车产线生产、智能建筑施工等),如第1章所述,工业互联网联盟在其最新发布的工业互联网参考体系结构中,描述了一个由边缘层、平台层、企业层组成的三层工业互联网体系结构。不同工业互联网体系结构虽然存在一定差异,但其功能层次的安全漏洞具有共性特征,可以从功能视角研究工业互联网的脆弱性,即识别由于工业互联网系统中某些功能的特殊性质和特定条件,而存在的安全威胁和漏洞。工业互联网的脆弱性存在于边缘层、无线传感器网络、网关、中间件、SCADA和PLC、分布式存储系统、云计算技术和互操作性中。

1)边缘层脆弱性

工业互联网的边缘层区域某种意义上等同于工业现场控制域,如果将工业互联网系统比作高速公路大道,边缘层就是高速公路中的橡胶与道路的交汇处。在边缘设备中,传感器进行测量,执行器是电子自动控制的部件,传感器和执行器的非常规变化,将会导致设备中发生某些意外动作,如打开或关闭阀门。边缘层由机器、物理传感器、执行器、控制器、智能和连接的边缘节点组成,可以通过有线或无线连接,无线连接通常为蓝牙、WiFi、NRF(2.4~2.5GHz单片射频收发通信)或LiFi(可见光通信),收发器可以转换数据协议或在不同类型的通信数据之间转换,边缘层级的通信控制网络又被称为机器和机器(M2M)的通信,并且与互联网连接极少。机器和机器的通信或设备之间的直接通信,无须人工干预,可以通过越来越多的通信协议进行有线或无线传输。许多工业互联网边缘设备部署在所谓的低功耗和有损网络(Low Power and Lossy Network,LLN)上,LLN的计算能力、内存和能量都非常有限。由于其在工业过程中的作用,边缘设备可能是无人值守的,并且可以远程部署在工业操作的边远地理范围内,典型例子是在天然气远程输送管道上安装的流量监测装置。在工业互联网的边缘区域,对传感器、执行器、控制器和其他边缘设备的最大安全威胁不完全是网络,而更可能是电子的或动能干扰,这些干扰是损坏、瘫痪、破坏或摧毁设备的物理攻击。虽然很多关于工业互联网安全的研究都关注网络攻击的风险,但对电子攻击和动能攻击的威胁重视不够,尽管工业互联网物理边缘的设备由于其远程部署和相对不可访问性而极易受到物理攻击。

2)无线传感器网络脆弱性

无线传感器网络(WSN)代表工业互联网系统中边缘层的一个定义特性,在工业互联网系统的最底层本质上是一个集成了无线传感器的网络,该网络提供了工业生产控制的全环节透明性和对地理分散区域的复杂工业操作状态的掌控能力,如在石油、天然气管道的场景中,生产控制流程可能涉及数百千米的地理分布。在一个特定的工业互联网系统中,可能有数百个,甚至数千个小型的、分散的、低功耗的传感器,用于工业质量、状态控制、交通监控、野生动物监测、灾害应对、军事勘察、智能建筑、战场审查、森林火灾探测、湿度记录、洪水探测、温度记录、压力监测和配电区域内光照监测等多种用途。诸如ZigBee、蓝牙低能量(BLE)和基于低功耗无线个人区域网的IPv6等通信技术的进步,是使无线传感器网络能够作为工业互联网系统的一部分发挥作用的关键因素。造成WSN脆弱性的因素包括:许多无线传感器网络设备使用开放的无线信道,加上传感器节点的功率、计算和内存限制,使得RSA等公钥密码算法不适合在无线传感器网络环境中使用。典型的IP互联网安全措施,如加密和数字签名,并不适用于低功率/低带宽的工业互联网边缘层设备。虽然工业无线传感器网络中的传感器、执行器和控制器等,通常不如工业互联网系统中的其他装置和设备复杂,但这并不意味着它们不重要。例如,如果一个炼油厂中控制多个阀门的智能传感器发生故障,可能导致涉及其他设备的连锁反应,从而导致整个系统故障。

无线传感器网络可以成为被动或主动网络攻击的目标,被动攻击包括监视和窃听、假冒、节点捕获和欺骗。针对无线传感器网络的主动攻击类型包sinkhole攻击、感应数据攻击、黑洞攻击、灰洞攻击、伪造路由、干扰、选择性转发攻击、虫洞攻击、“Hello flood”信息泛洪攻击,针对无线传感器网络的被动攻击和主动攻击通常都需要近距离访问目标设备。例如,执行“Hello flood”信息泛洪攻击的恶意行为攻击者,将在目标网络的通信范围内使用更强大的无线收发器,并产生大量“Hello”包。被动攻击与主动攻击一样令人担忧,部分原因是成功的被动攻击可以引发后续的主动攻击,例如,节点捕获不仅使攻击者能够捕获加密密钥和协议状态,而且还可以恶意复制其捕获的数据,进而模仿控制网络中的合法设备进行欺骗和其他恶意攻击。

3)网关脆弱性

无线传感器网络设备之间使用非IP通信协议进行通信,来自边缘的原始数据通常不会被聚合,而是会未经处理地被传递到工业互联网系统的更高层次网络中。这些边缘数据的传递过程将通过网关实现。工业互联网的网关包含基于现场总线的接口、协议和数据采集及处理功能,最重要的是网关提供协议数据转换能力,可以对各种工业控制协议进行适配。而工业互联网生产控制现场的通信过程非常强调实时性、低时延,因此这种协议转化过程几乎不设任何安全防护手段,已有的加密、访问控制手段很难应用于工业控制现场共存的多样化控制协议网络环境中。因此,从网关一侧的恶意报文、嗅探报文、重放报文甚至攻击包等非常容易映射到网关另一侧,成功实现跨网、跨域的嗅探和攻击,也就是“穿透”攻击,并且很难被检测和发现。

4)中间件脆弱性

在工业互联网系统中,中间件是连接操作系统或数据库及其应用程序的软件,工业互联网系统中使用的中间件有时也被称为“雾计算”,因为其存在于系统操作员和云端之下,但位于边缘层设备之上。工业互联网的网关存在于雾计算层中,参与雾计算层的上下两层之间的互通。工业互联网系统中所有设备生成的数据量非常惊人,将所有这些数据信息聚合到云端,将在存储、计算和电力方面产生非常昂贵的开支,这就是雾计算产生的基本需求。与云计算一样,雾计算也用于在工业互联网系统中存储和共享数据,但其位置更靠近工业互联网系统中的数据源,并具有足够的延迟,使得针对更接近工业边缘的时间敏感数据进行高效处理成为可能。工业互联网中的雾计算的六个主要功能是:①高性能实时工业大数据挖掘;②从多种类型的工业现场传感器、机器人和机器进行并行数据采集;③快速处理感测数据,在可接受的延迟内为执行器和机器人生成指令;④通过必要的协议转换和映射连接不兼容的传感器和机器;⑤解决系统电源管理问题;⑥数据结构化和过滤等预处理,以避免向控制核心和云端发送不必要的数据。

但工业互联网中的雾计算,必须面对的脆弱性主要来自软件、数据和元数据,以及计算、网络和存储资源与服务。工业互联网中的雾计算节点存在物理暴露和安全边界的开放性,因而威胁将产生于物理安全、通信安全、计算安全等方面。此外,在工业互联网发展过程中,从节约成本开销考虑,原有的老旧遗留应用将会对现有的计算和存储设备进行复用,然而遗留设备在设计时没有考虑开放雾计算相关的安全防护机制,难以简单地用叠加防护设备的方式确保安全性;异构协议和操作流程之间一般不会考虑安全通信加固机制,容易遭受欺骗和重放攻击,需要重新设计。

5)SCADA和PLC的脆弱性

工业SCADA系统是生产制造控制系统的中枢神经系统,操作人员坐在控制中心机房的控制台前,以图形化的系统动态运行表征过程为基础,使用SCADA硬件和软件监视、管理和控制工业生产过程。传统的工业SCADA网络依赖其专有协议的使用和与其他协议的分离,提供安全的网络。制造业企业面临针对工业SCADA系统中常见的Modbus、DNP3和IEC-60870-5-014协议的攻击,在工业互联网时代,由于支持互联网的工业控制设备被整合到工业过程中,随着制造业越来越多的基于IP的信息物理系统的发展趋势,漏洞将随之增加。轨道交通控制系统、智能配电管理系统等工业互联网系统中包含的SCADA系统,由可编程逻辑控制器(PLC)的下位机控制器、PLC与远程终端单元(RTU)、人机界面(HMI)和现场总线系统集成,并构成SCADA系统的主体。最早于1968年出现的PLC系统彻底改变了工业控制过程,在此之前的自动化工厂依靠专用控制器、继电器和固定电路来实现生产过程的自动化控制,定期更新这些装置将耗费大量的人力、物力和财力,PLC负责工业过程中的命令分解。例如,如果一个局部电网需要在整个电网中减少100MW的负荷,PLC会将这个原始命令分解成整个电力控制网络的一系列子控制命令,而针对PLC的攻击可以通过多种方式进行。网络入侵可以针对UDP、TCP、SIP、DNS和FTP等通信控制协议实施,与PLC相关的一个已知安全脆弱性是命令分解攻击,一种方法是攻击者通过恶意篡改已分解的命令,从而以攻击者恶意期望的、非正常的方式操纵控制过程;另一种方法是在设备被引入目标系统之前将恶意代码植入,许多研究分析认为,这种方法就是2010年震网病毒(Stuxnet)攻击伊朗铀浓缩设施中,针对控制离心机的西门子PLC的攻击手段,而那个设施本身并没有连接互联网。

6)分布式存储系统的脆弱性

工业互联网时代,大型制造企业更趋向于从传统的现场数据存储模式迁移到在线存储解决方案。分布式和网络化存储技术的发展促使工业互联网系统可以处理非常庞大的数据集,同时实现系统的可扩展性。工业互联网系统生成并采集、分析、处理和存储大量生产制造数据,分布式存储使应用程序能够在云端运行,大量的数据上传和存储在云端。促进分布式存储系统[如Hadoop分布式文件系统(HDFS)]产生的原因包括存储成本的降低与带宽容量、计算能力和存储容量的增加。分布式存储系统的一个明显缺点是,为潜在攻击者提供了多个攻击对象。对几起网络攻击事件的研究分析表明,分布式和网络存储系统已成为恶意行为者非常有价值的攻击目标,因为有价值的数据往往就在其中。通过主动攻击、被动攻击、拒绝服务、伪造、重放和流量分析等技术,恶意入侵者可以攻击分布式存储设备、系统、相关应用程序和网络。

7)云计算技术的脆弱性

在工业互联网技术出现之前,云存储作为本地存储的一种经济高效的替代方案,且无须自己执行硬件升级、软件更新、专用数据库管理员等,吸引了许多公司的关注。虽然云在工业互联网中扮演着中心角色,但其主要的安全脆弱性是工业互联网系统运营商将保护数据安全的责任转移给云服务提供商(CSP)。如表2-1所示,世界范围内的云服务提供商在数据安全方面已发生多起安全事件。

表2-1 云服务提供商导致的安全事件

云计算不仅用于数据存储,而且越来越多地被用于软件应用程序、平台和虚拟基础设施。在工业互联网时代,SCADA系统也可以基于云计算实现,与基于云的SCADA系统相关的一个重大风险,涉及与远程受控设备的通信,因为这些通信可能是通过不安全的卫星或无线信道进行的。

8)伴随互操作性产生的脆弱性

与传统工业控制系统的大多数组件通常由同一制造商生产不同,工业互联网不仅代表融合,同时也包括由越来越多的大小制造商生产的网络物理系统、硬件和软件的同步。传统工业控制设备和工业互联网设备的另一个区别是通信协议不再是专有的,类似Raspberry Pi和Arduino这样的开放平台,以及Modbus、MQTT、REST、WebSocket等标准化协议,使得工业互联网设备制造商能够高效、便捷地构建可以集成到工业互联网系统中并在其内部运行的设备。开放平台和标准化协议有助于集成和操作不同厂商的工业互联网组件,大量使用开源的第三方功能组件、模块快速开发迭代新产品已经成为工业互联网产品开发的主流模式。而这种开放性和互操作性,产生了大量同源、异构和跨平台的软件套装或开发模块并应用于工业互联网中,同时也使恶意攻击者的攻击行动变得相对容易,原因在于开放组件、开放平台或开放协议中存在的漏洞,同样会在使用这种组件、平台或协议的多个系统中存在。并且,第三方开源模块中被恶意植入的恶意代码,经过数次调用或跨平台编译后有可能始终存在,于是极大地扩展了攻击面和影响产品范围。