工业控制系统安全(txt+pdf+epub+mobi电子书下载)


发布时间:2020-10-06 15:33:19

点击下载

作者:(美)帕斯卡·阿克曼(Pascal Ackerman)

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

工业控制系统安全

工业控制系统安全试读:

前言

随着网络攻击技术的不断变化和提升,企业要想确保自身安全就必须时刻保持警惕。本书将帮助你理解网络安全的基础知识和构建安全工业控制系统所需的工业协议。通过真实的案例,你将更好地理解安全漏洞以及如何利用各种技术来抵御所有类型的网络威胁。本书主要内容

第1章从概览工业控制系统(Industrial Control System,ICS)的组成部分开篇,介绍其类型、典型技术和设备。随后引入Purdue模型,介绍了ICS系统的哪些部分属于该模型,并描述在它们之间采用哪些网络技术和协议进行通信。

第2章解释了工业控制系统的最初设计为何只考虑了开放、易用、可靠、快速,却从未将安全作为设计目标。随后,介绍了为实现工业控制系统网络融合所采用的基于以太网的专用技术,并分析了这些不安全的专用技术对网络安全造成的影响。本章还详细描述了工业控制系统常用的通信协议及其漏洞。

第3章开启了本书的第二阶段——ICS不安全。本章在一个虚构的公司网络环境中一步步地为读者介绍了一次真实的ICS攻击场景,该场景将作为经典案例贯穿全书。在场景介绍中,详细分析了攻击的动机、目标、过程/程序、使用的工具和可能的输出结果及攻陷情况。

第4章介绍如何利用从第3章描述的攻击场景中学到的知识来理解ICS风险评估背后的原因,介绍了杀伤链或攻击矩阵的概念,以及如何使用它们设计缓解措施。本章可看成第3章的入侵故事的续篇,虚构公司雇用了一名安全顾问来评估公司的ICS安全态势。

第5章详细介绍了ICS架构的典型代表——Purdue企业引用框架结构(Purdue Enterprise Reference Architecture,PERA)。作为被广泛采用的ICS网络分割理论模型,Purdue模型是行业中应用最好的模型,常被用于解释安全策略和体系结构。

第6章介绍了深度防御模型如何适应全厂融合以太网模型及确保ICS安全。本章开启了本书的第三阶段。

第7章通过讨论以ICS为中心的物理安全方法和应用深度防御模型中概述的一些最佳实践技术和活动,介绍了如何限制物理访问ICS。

第8章通过讨论以ICS为中心的网络安全方法和应用深度防御模型中概述的一些最佳实践技术和活动,介绍了如何限制访问ICS网络。

第9章通过讨论以ICS为中心的计算机安全方法和应用深度防御模型中概述的一些最佳实践技术和活动,介绍了如何加固ICS计算机系统。

第10章介绍了如何通过应用程序加固操作和讨论以ICS为中心的生命周期管理方法来提高应用程序安全。

第11章介绍了如何通过设备加固操作和讨论以ICS为中心的生命周期管理方法来提高设备安全。

第12章介绍了ICS安全计划涉及的活动和功能,包括定义以ICS为中心的安全策略和风险管理。阅读本书所需基础

为充分利用本书,理想情况下,你最好具备一些为工业控制系统提供技术支持的经验,了解系统使用的网络技术。如果你经历过必须更新、保持和保护正在全面生产的ICS的斗争,本书内容将会引起你更大的共鸣。当然,这并不意味着如果你没有相关经验就无法看懂。本书内容涵盖了理解技术实践和安全活动所需的所有背景知识。

从技术角度来看,如果你想要实践本书提到的操作和练习,最好使用VMware Workstation、Microsoft Hyper-V或Oracle VirtualBox等虚拟化平台。整本书我都会写明如何找到练习所需的程序、如何设置指定程序。读者对象

本书适合于想要确保关键基础设施系统环境健壮的安全专家,以及有兴趣进入网络安全领域或正在寻求获得工业网络安全认证的IT专业人员。关于作者

Pascal Ackerman(帕斯卡·阿克曼)是一位经验丰富的工业安全专家,拥有电气工程专业学术背景,在大型工业控制系统的设计、故障排除和安全防护方面拥有超过15年的经验,精通大型工业控制系统相关的多种网络技术。在积累了十多年的一线工作经验后,2015年他加入罗克韦尔自动化公司,目前在网络和安全服务部门担任工业网络安全高级顾问。最近,他成为一名数字游民,一边与家人环游世界,一边对抗网络攻击。

首先,我想感谢我的妻子梅丽莎,感谢她在我为追逐梦想而学习实践网络安全的无数长夜里给予我的包容与支持。其次,我要感谢Packt编辑团队为本书所付出的辛勤劳动。特别要感谢斯温妮·迪拉兹,在我试图平衡个人生活、职业工作和写书进度时,她想尽办法让我能够按计划完成工作。我还要感谢自我加入罗克韦尔自动化公司以来所遇到的优秀团队成员。最后,感谢所有激励我去追求我所热爱的网络安全的人们。关于审校者

Richard Diver(理查德·戴弗)在多个行业和领域拥有超过20年的信息技术经验。他曾在像微软那样的大公司工作过,也曾在英国、比利时、澳大利亚和美国的小型咨询公司与企业就职,同时拥有设计微软产品的深厚技术背景和制定工业系统战略与架构的丰富经验。目前,他重点关注保护敏感信息、企业关键基础设施、用户移动终端和身份认证管理等方面的安全。

现在他与妻子和三个女儿住在芝加哥附近,对于技术工作始终保持着饱满而富有感染力的热情。

Sanjeev Kumar Jaiswal(桑吉夫·库马尔·贾伊斯瓦尔)是一名拥有8年工业系统经验的计算机专业毕业生,在日常工作中能熟练使用Perl、Python和GUN/Linux。目前,他重点参与Web和云安全项目,工作内容主要包括渗透测试、源代码检测、安全设计与工程实现等。

Sanjeev喜欢为工科学生和IT专业人士授课,在过去的8年里,他始终坚持利用业余时间向他们传授知识。最近,他正在研究机器学习技术在网络安全和密码学中的应用。

为便于计算机专业学生和IT专业人士通过共享进行学习,他于2010年建立了Alien Coders网站,该站点在印度工科学生中广受欢迎。他在Facebook、推特和GitHub上的账户分别为aliencoders、@aliencoders及aliencoders。

他在Packt出版社出版了2本书,包括Instant PageSpeed Optimization及与人合著的Learning Django Web Development,同时至少审校了7本书。他非常期待能够与Packt或其他出版社合作,期望出版或审校更多书籍。第1章 工业控制系统

如果你购买、借阅或者通过其他途径拿起本书,某种程度上,你就获得了一个关注工业控制系统或工业控制系统安全的好机会。近来,工业控制系统安全与其他常规网络安全一样是一个热门话题。在整个互联网上,日复一日发生着企业受损、关键基础设施遭入侵或者个人信息被扩散这样的事件。

我想通过撰写本书告诫读者,通过应用工业上的最佳实践方法和技术,强化工业控制系统安全。在学习过程中,本书将使用虚构的公司作为解决问题的一线希望。这个公司并不基于任何现实业务,更多的是基于积累的安全意识和我曾经遇到过的安全情况。在投入对安全问题的探讨前,第1章将讨论工业控制系统(ICS)到底是什么,它发挥什么作用。我们将审视组成工业控制系统的不同部分。从架构透视的角度检视现代工业控制系统的各个不同部分,发现它们怎样共同工作完成常规任务。我们将在本章末调查各种类型的工业通信协议,它们用于连接工业控制系统的所有零件、系统和设备。其中包括对Purdue(普渡)模型的高阶说明,该模型常用于解释工业控制系统的参考模型。1.1 工业控制系统概述

上班路上的交通指示灯、火车或地铁的防碰撞系统,在灯下阅读本书时使用的电力,冰箱里罐装牛奶的生产和包装线,以及研磨咖啡豆制成每天为你补充精力的冲饮咖啡,所有这些日常事务都是由工业控制系统驱动着进行测量、决策、校正和行动,提供和产出最终产品和服务让我们每天享用。

图1-1显示了一个设计得体的现代工业控制系统架构。本书旨在教会你设计(工业控制系统)的原则和注意事项。图 1-1

从技术上讲,工业控制系统在图1-1中所处的位置是标记为工业区的区域。但是,正如我们将在本书后面讨论的那样,因为绝大多数工业控制系统都与企业区交互,为有效保护系统整体安全,还必须考虑到企业区的系统。

工业控制系统是控制系统的一种,应用了工业生产技术相关的仪表,以达成一个共同的目标,例如,制造一件产品或提供一种服务。从更高层次来看,工业控制系统安全可以根据其功能进行分类。工业控制系统可能具备一个或多个功能,在后面部分将探讨这些功能。1.1.1 显示功能

显示功能具备实时观察自动化系统当前状态的能力。这些数据可以被操作员、监管员、维护技师或其他决策事务和实施改进作业的人员使用。例如,当操作员看到1号炉子的温度变低,他们可能决定增加这个炉子的蒸汽供给以进行调节。事实上,显示功能是被动式的,仅向人提供信息或视图,以便做出反应,如图1-2所示。图 1-2

从安全角度来看,如果攻击者能够操纵显示给操作员的控制系统的状态,换句话说,能够改变操作员赖以做出决定的数值,那么攻击者将有效控制操作员的反应,并由此控制整个过程。例如,攻击者通过操纵1号炉子显示的温度值,能让操作员认为温度过低或过高,导致其根据被操纵的数值做出相应的行动。1.1.2 监控功能

监控功能通常是控制环的一部分,例如坦克内保持稳定水平的自动化技术。监控功能关注于一个临界值,例如压力、温度、水平等,比较当前值与预定义的阈值,根据设定的监控功能进行告警或交互。显示功能和监控功能之间的关键区别在于确定偏差。对于监控功能,该确定是自动过程,而对于显示功能,该确定是由观察值的人做出的。监控功能的反应范围涵盖从弹出警报界面到全自动系统关闭程序的整个过程。

从安全角度来看,如果攻击者可以控制监控功能正在监控的值,则可以触发或阻止该功能的反应;例如,监控系统正在查看1号炉子的温度,防止温度超过300°F。如果攻击者向系统提供低于300°F的值,那么该系统将被诱骗并相信一切正常,而实际上,系统可能会崩溃。1.1.3 控制功能

图1-3是对控制功能的说明。图 1-3

控制功能是控制、移动、激活和启动事物的地方。控制系统可以使执行器接合,阀门打开,电机运行。控制动作可以由操作员按下按钮或改变人机界面(HMI)屏幕上的设定点来启动,也可以是作为过程控制的一部分的自动响应。

从安全角度来看,如果攻击者可以操纵控制系统会做出反应的值(输入),或者如果攻击者可以更改或操纵控制功能本身(控制程序),则可以欺骗系统执行原有设计或计划之外的程序。

现在,我能听到所有人都说控制值很好、非常好,但是目前无法通过现代交换网络和加密网络协议来完成。如果实施和使用这些技术,情况就是如此。令人悲观的情况是,在大多数(如果不是全部)ICS网络中,CIA安全鉴别的机密性和完整性部分的重要性不如可用性。更糟糕的是,对于大多数工业控制系统而言,最终可用性是构建系统时唯一的设计考虑因素。再加上在这些网络上运行的ICS通信协议在设计时未考虑到安全性的事实,人们可以看到前文所述场景的可能性。

有关所有这些的更多信息将在后面的章节中进行讨论,届时我们将深入探讨提到的漏洞并了解它们如何被利用。1.2 工业控制系统架构

工业控制系统是一个包罗万象的术语,用于各种自动化系统及其设备,如可编程逻辑控制器(PLC)、人机界面(HMI)、监控和数据采集(SCADA)系统,分布式控制系统(DCS)、安全仪表系统(SIS)等,见图1-4。图 1-41.2.1 可编程逻辑控制器

可编程逻辑控制器,或称为PLC,是几乎所有工业控制系统的核心。这些设备通过输入通道从传感器获取数据,通过输出通道控制执行器。典型的PLC由微控制器(大脑)和输入与输出通道阵列组成。输入与输出通道可以是模拟、数字或网络暴露值。这些I/O通道通常作为附加到PLC背板的附加卡。这样,可以定制PLC以适应许多不同的功能和实现。

PLC的编程可以通过设备上的专用USB或串行接口,或通过设备内置的网络通信总线,或作为附加卡来完成。在用的常见网络类型是Modbus、以太网、ControlNet、PROFINET等。

PLC可以作为独立设备进行部署,控制制造过程的某个部分,例如单台机器。它们也可以作为分布式系统部署,跨越分散位置的多个工厂,具有数千个I/O点和众多互连部件。1.2.2 人机界面

机器级人机界面如图1-5所示。图 1-5

HMI是进入控制系统的窗口。它可视化运行过程,允许检查和操作过程值,显示告警以及控制值的趋势。HMI最简单的形式是单独的触控设备,通过串行或以太网封装协议进行通信。更先进的HMI系统可以使用分布式服务器提供丰富的HMI屏幕和数据,如图1-6所示。图 1-61.2.3 监控和数据采集

监控和数据采集(SCADA)系统是用于描述组合使用ICS类型和设备的术语,所有这些都在为共同的任务发挥作用。图1-7展示了SCADA网络示例。在这里,SCADA网络由共同构成整个系统的所有设备和组件组成。由于SCADA系统应用于电网、供水设施、管道运行以及使用远程操作站的其他控制系统,因此通常分布在广泛的地理区域。图 1-71.2.4 分布式控制系统

与SCADA系统密切相关的是分布式控制系统(DCS)。SCADA系统和DCS之间的差异非常小,随着时间的推移,两者几乎无法区分。传统上,由于SCADA系统用于覆盖更大地理区域的自动化任务,这意味着SCADA系统的某些部分位于不同的楼宇或设施中,而DCS通常限制于设施的单独场所。DCS通常是一个大规模、高度工程化的系统,具有非常特定的任务。它使用集中式监控单元,可以控制数千个I/O点。该系统建设时预留冗余设备,以适用于所有级别的安装,从冗余网络和连接到冗余服务器组的网络接口到冗余控制器和传感器,所有这些都考虑到了,以创建一个严格且可靠的自动化平台。

DCS系统(见图1-8)最常见于水管理系统、造纸和纸浆厂、制糖厂等。图 1-81.2.5 安全仪表系统

安全仪表系统(SIS)是专用的安全监控系统。它们可以安全、优雅地关闭受监控系统,或者在硬件出现故障时将系统置于预定义的安全状态。SIS使用一组表决系统来确定系统是否正常运行,如图1-9所示。图 1-91.3 Purdue工业控制系统模型

那么所有这些如何结合在一起呢?什么是坚实的ICS架构?为回答这个问题,我们首先应该讨论Purdue参考模型,或简称Purdue模型。如图1-10所示,Purdue模型采用了ISA-99的Purdue企业参考架构(PERA)模型,并用作ICS网络分割的概念模型。它是一种行业采用的参考模型,展示了典型ICS所有主要组件的互连和相互依赖性。

该模型是开始构建典型现代ICS架构的重要资源。图 1-10

Purdue模型将在后面的章节中详细讨论。现在,为支持架构讨论,让我们从较高层次观察概况。以下部分基于本章开头所示的完整ICS架构。

Purdue模型将此ICS架构划分为三个区域和六个级别。自顶向下分别是:

·企业区

○5级:企业网络

○4级:现场业务和物流

·工业隔离区

·制造区(也称工业区)

○3级:现场操作

○2级:区域监督控制

○1级:基本控制

○0级:过程1.3.1 企业区

企业区(见图1-11)是ICS的一部分,其中通常有ERP和SAP等业务系统。在这里,执行诸如调度和供应链管理之类的任务。图 1-11

企业区可以细分为两个级别:

5级:企业网络

4级:现场业务和物流

5级——企业网络

企业网络上的系统通常位于企业级别,跨越多个设施或工厂。它们从各个工厂的下属系统中获取数据,并使用累计的数据来报告总体生产状态、库存和需求。从技术上讲,它不是ICS的一部分,企业区依靠与ICS网络的连接来提供驱动业务决策的数据。

4级——现场业务和物流

4级是支持设施工厂生产过程的所有信息技术(IT)系统的级别。这些系统报告生产统计数据,例如正常运行时间和为公司系统生成的单位,并从公司系统接收订单和业务数据,以便在操作技术(OT)或ICS系统之间分配。

通常位于4级的系统包括数据库服务器,应用程序服务器(Web、报告、MES)、文件服务器、电子邮件客户端、管理程序桌面等。1.3.2 工业隔离区

图1-12详细说明了工业隔离区。图 1-12

工业隔离区或IDMZ处于企业区及系统和工业区之间。与传统(IT)DMZ非常相似,面向OT的IDMZ允许你安全地连接具有不同安全要求的网络。

IDMZ是为创建安全标准(如NIST网络安全框架和NERC CIP)而努力的结果。IDMZ是4级和5级业务或IT系统与3级和更低级别的生产或OT系统之间的信息共享层。通过防止IT和OT系统之间的直接通信以及在IDMZ中使用代理服务中继通信,在整个架构中增加了额外的隔离和检查层。较低层中的系统不直接受到攻击或危害。如果系统在IDMZ中的某个地方遭受攻击,那么IDMZ可能会被关闭,攻击行为就会受到牵制,生产将会继续。

通常在工业隔离区中的系统包括(Web)代理服务器、数据库复制服务器、Microsoft域控制器等。1.3.3 制造区

图1-13说明了各种制造区。

制造区是具体行动的地方;它是过程所在的区域,无论如何,这是过程的核心。制造区分为四个层次:

3级:现场操作

2级:区域监督控制

1级:基本控制

0级:过程

3级——现场操作

3级是支持工厂范围控制和监控功能的系统所在。在此级别,操作员与整个生产系统进行交互。考虑具有HMI和操作员终端的集中控制室,其提供在工厂或设施运行过程中的所有系统的概览。操作员使用这些HMI系统执行质量控制检查,管理运行时间以及监控警报、事件和趋势等任务。

3级现场操作也是OT系统的位置,OT系统要向4级IT系统报告。较低级别的系统将生产数据发送到此级别的数据收集和聚合服务器,然后可以将数据发送到更高级别,或者可以由更高级别的系统查询(推送与拉取操作)。

3级中常见的系统包括数据库服务器、应用程序服务器(Web和报告)、文件服务器、Microsoft域控制器、HMI服务器工程工作站等。图 1-13

2级——区域监督控制

2级中的许多功能和系统与3级相同,但更多地针对整个系统的较小部分或区域。在此级别中,系统的特定部分由HMI系统监控和管理。可以想象在单机或使用触摸屏的HMI上操作,启动或停止机器,或滑动查看一些基本运行值,并操纵机器或滑动到特定的阈值以进行设定。

2级中的系统通常包括HMI(独立或系统客户端)、监控控制系统,例如线路控制PLC、工程设计工作站等。

1级——基本控制

1级是所有可控制设备所处层级。此级别设备的主要用途是打开阀门、移动执行器、启动电机等。通常在1级中有PLC、变频器(VFD)、专用比例–积分–微分(PID)控制器等。虽然你可以在2级找到PLC,但其功能具有监督性而非控制性。

0级——过程

0级是实际过程设备所处层级,我们从较高级别控制和监控这些设备,也称为受控设备(EUC)。在1级有测量速度、温度或压力的设备,如电机、泵、阀门和传感器。由于0级是执行实际流程以及生产产品的地方,因此平稳及不间断运行至关重要。单台设备中最轻微的中断都可能会对所有操作造成混乱。1.4 工业控制系统通信介质和协议

ICS所有的这些部分如何通信?传统上,ICS系统使用几种不同的、专有的通信介质和协议。最近的趋势是采用这些专有协议中的大部分在公共介质(以太网)和公共通信协议套件(互联网协议,IP)上工作。因此,你将发现,PROFIBUS(通常运行在串行电缆上)被转换成PROFINET(运行在以太网和IP上)。传统上,在串行线路上运行的Modbus被转换成支持以太网和IP的Modbus TCP/IP。通用工业协议(CIP),通常通过ControlNet协议在coax介质上运行,或者通过DeviceNet协议在Controller Area Network(CAN)介质上运行,现在通过以太网/IP在工业协议上运行(在本例中IP代表工业协议)。

我们将在第2章中对上述所有协议进行详细说明,并指出它们的安全问题。目前,我们正在坚持阐释这些单独的协议和介质如何用于连接现代ICS的所有部件和系统。

典型工业控制系统中的通信协议可以分为以下几类,但请记住,这些都是在IP套件中运行的。1.4.1 常规信息技术网络协议

常规信息技术或IT协议是日常IT网络中使用的协议。这些协议的一些示例包括HTTP、HTTPS、SMTP、FTP、TFTP、SMB和SNMP,如图1-14所示。这并不意味着这些协议专门用于IT目的。例如,许多OT设备将包含诊断网页或使用FTP接收应用程序或固件更新。

传统上,这些协议仅在工厂车间和Purdue模型的4级和5级ICS网络中使用。随着OT和IT网络技术融合的趋势,现在直到1级,这些协议中的大部分都能被发现,并且它们也存在漏洞,这些漏洞多年来一直困扰着常规的IT网络。图 1-141.4.2 过程自动化协议

过程自动化协议包括PROFIBUS、DeviceNet、ControlNet、Modbus和CIP。这些协议用于将控制设备连接在一起以配置或编程设备,无论是PLC到传感器、PLC到PLC,还是工程工作站到控制设备。

这些协议大多出现在Purdue模型的3级或更低级别。正确配置的IDMZ应该阻止任何过程自动化协议离开工业区。

从安全角度来看,这些协议的设计从来没有考虑到安全性。它们放弃使用加密或完整性检查来提供更高的性能、稳定性或兼容性。这使它们易于遭受重放、载荷修改和其他攻击行为。第2章将更深入地揭示每个协议的漏洞。图 1-151.4.3 工业控制系统协议

工业控制系统协议主要用于连接不同供应商的设备和系统,例如,使用通用HMI解决方案连接到西门子或罗克韦尔自动化PLC:

该类别中的主要协议用于过程控制的OLE或OPC。OPC是由微软公司开发的基于OLE、COM和DCOM技术的一系列工业通信标准和应用程序。图 1-16

从安全角度来看,OPC是一场噩梦。该协议易于实现、灵活且宽容,并为程序员提供了对所有主要供应商大量设备的数据寄存器的直接访问,而无须考虑任何身份验证、数据机密性或完整性。更重要的是,OPC服务的区域被实现为确保不受保护的数据必须从1级一直遍历到4级。有人曾经跟我讲过这样一个笑话:只有两样东西能幸免于核爆炸——蟑螂和OPC服务器。这个笑话说的是这样一个事实:OPC服务器可以在任何地方找到,即使你可以在一次横扫行动中终结一堆,也不能将它们全部“杀死”。

OPC基金会在解决安全问题方面做出了巨大的努力,并开发了一种面向安全的体系架构——OPC统一架构(OPC UA)。OPC统一架构的亮点如下:

·功能等价,所有COM OPC经典规范都映射到UA。

·平台独立性,从嵌入式微控制器到基于云的基础设施。

·安全加密、认证和审计。

·可扩展性,能够在不影响现有应用程序的情况下添加新功能。

·用于定义复杂信息的综合信息建模。1.4.4 楼宇自动化协议

楼宇自动化协议允许在运行诸如供暖、通风和空调等应用程序的控制系统各部分之间进行通信。这类协议包括BACnet、C-Bus、Modbus、ZigBee和Z-Wave。

从安全角度来看,这些协议往往并未加密,且未应用完整性检查,这使得它们很容易受到重放攻击和操纵攻击。特别危险的是,大多数已安装的系统都连接到Internet,或者至少可以通过调制解调器访问,以便供应商提供远程支持。通常情况下,认证在系统边界上不是很可靠,而打破它进入系统是一项简单作业。早在2013年,研究人员就攻破了某科技巨头的楼宇自动化网络。若楼宇网络系统被攻破,而这两者又相互连接,则可使攻击者直接进入网络的其余部分,或者令攻击者有能力打开门户或禁用告警系统,从而进入该设施,如图1-17所示。图 1-171.4.5 自动抄表协议

你还记得那个抄表的人上次在你家抄表是什么时候吗?为从煤气、电力、制冷等方面更方便地获取用户的电表读数,我们已经进行了大量的研究和开发。解决方案包括支持射频(RF)的电表,可以通过接近覆盖智能电表无线网络的城市街区来读取(见图1-18),每个解决方案都有其自身的安全挑战。图 1-18

通常用于自动抄表的协议包括AMR、AMI、WiSmart(Wi-Fi)、GSM和电力线通信(PLC)。

图1-19显示了这些协议在ICS体系架构中的典型位置。

企业区中的通信协议

企业区网络中存在使用HTTP或HTTPS协议的Web流量,以IMAP、POP3和SMTP形式发送电子邮件、文件传输和共享协议(如FTP和SMB)以及许多其他协议。所有这些协议都有自己的安全挑战和漏洞。如果你的ICS网络(工业区)和业务网络(企业区)使用相同的物理网络,那么这些漏洞可能直接影响你的生产系统。使用一个用于业务系统和生产系统的通用网络是一种不安全的做法,但这种做法依然被经常使用。有关该主题的更多内容将在后面的章节中讨论。

企业区是工厂或设施连接Internet的地方,通常通过图1-20所示的设置。

·企业网络通常通过边缘路由器和某种形式的调制解调器连接互联网,该调制解调器将ISP提供的服务(如T1或光载波(OC1)介质)转换为以太网,并在整个企业网络的其余部分使用。专用防火墙将通过端口屏蔽和流量监控将业务网络安全地连接到ISP网络。企业Internet策略的一种常见做法是为出站流量使用代理防火墙,同时高度限制传入流量。任何必要的公共服务都采用隔离区或DM2进行防护。图 1-19图 1-20

·企业DMZ中的典型服务是面向公众的Web服务器,公司的公共DNS服务器等。DMZ允许公共数据流。如果DMZ中的服务在其中受到损害,则影响范围将在DMZ中。进一步的支点攻击尝试将被企业DMZ防火墙捕获。

·企业内部网络由交换机、路由器、三层交换机和终端设备(如服务器和客户端计算机)组成。大多数公司将通过VLAN对其内部网络进行分割。VLAN间流量需要通过某种路由设备,例如第3层交换机、防火墙或路由器,在这些节点上设置了访问控制列表(ACL)或防火墙规则。

工业区的通信协议

近年来,工业区已经从使用专有OT协议(例如PROFIBUS、DeviceNet、ControlNet和Modbus)转变为使用通用的IT技术(例如,以太网和IP套件协议)。但是,一些专有协议和网络介质仍然可以在ICS系统的较低层找到。图1-21显示了一些可以在ICS架构中找到它们的地方,以及对其简短的描述。图 1-21

A——硬连线设备:这些是运行的传感器、执行器和其他使用离散信号的设备,如24 V DC或模拟信号(如4~20mA或0~10 V DC)。这些设备直接连接到PLC附加IO卡或带IO卡的远程通信机架。

B——现场总线协议:这些协议主要是DeviceNet、ControlNet、PROFIBUS和Modbus等专有协议,可提供实时控制和监控。这些协议可以将传感器和执行器等终端设备直接连接到PLC,而无须IO模块。它们还可用于连接多个PLC或将远程机架连接到PLC。大多数(如果不是全部)现场总线协议被用于以太网和IP之上。

C——嵌套以太网:虽然从技术上讲,以太网不是一种不同的协议,但嵌套以太网是一种隐藏或混淆控制网络部分的方法。它们只对它们所连接的设备可见,或通过它们连接的设备显示。1.5 小结

本章我们讨论了工业控制系统是什么,它能做什么,以及哪些部分构成了ICS。你了解了一些用于互连ICS部件的常用通信协议和介质。在下一章中,我们将开始研究ICS的一些漏洞和弱点,更具体地说,是正在使用的通信协议。第2章 继承来的不安全

上一章深入解释了工业控制系统(ICS)的概念、作用及其组成。本章将选择能在大部分工业控制系统中找到的一些技术进行详细介绍,同时检查一下这些技术中存在的漏洞和弱点。

在本章中,我们将讨论以下主题:

·工业控制系统的历史

·需要特别关注的工业通信协议:

○PROFINET

○EtherNet/IP

○通用工业协议

○以太网

○Modbus TCP/IP

·工业控制系统中常见的IT协议2.1 工业控制系统的历史

很久以前,在可编程逻辑控制器(PLC)成为标准之前,车间自动化是指通过塞满机架的工业继电器、气动柱塞定时器以及电磁计数器来控制电机的启动和停止、阀门的开启以及其他与控制相关的过程交互。控制这类配置的程序根本不是程序,而是互联电路、定时器和继电器的组合。通过形成电气通路,实现了诸如打开阀门、运行电机和打开电灯等物理动作。像这样的继电器系统的程序员是车间的电气工程师,程序的改变包括电路上的物理改变。没有程序员的终端或接口可以连接,也没有任何网络通信可言。

这一切决定了这类系统都需要预先定义,从本质上讲可谓是停滞不前,毫无灵活性。除了难以重新配置外,基于继电器的系统除了最基本的控制功能外,还会占用大量空间:图 2-1

任务越复杂,执行任务所需的设备就越多,工程、维护和更改就越困难。

显然,需要一个系统来取代这些错综复杂的继电器。1968年,迪克·莫利(Dick Morley)和他的公司多德·贝德福德律师事务所(Dodd Bedford & Associates Lawyers)设计出一款这样的系统。它不仅取代了中继系统,也符合下列规定的要求:

·一种固态系统,像计算机一样灵活,但价格比类似的继电器系统便宜。

·易于维护,且可重新编程/重新配置,兼容已存在的继电器梯形逻辑执行方式。

·必须可在充满灰尘、潮湿、电磁和振动的工业环境中工作。

·必须是模块化的形式,以方便交换组件和可扩展性。

经过一些初步的尝试和错误,1975年发布的Modicon 184是第一个真正被称为可编程逻辑控制器的设备,如图2-2所示。图 2-2

这些早期的PLC模型能够处理输入和输出信号、继电器线圈/触点内部逻辑、定时器和计数器。这些单元的编程最初是通过个人计算机上的专用编程软件运行,通过专用媒介和协议进行通信。随着PLC功能的发展,编程设备及其通信也在不断发展。

随后,在Microsoft Windows上运行编程的应用程序被用于PLC编程。只需一台PC与PLC进行通信便可提供对PLC编程。它还可进行简易测试和故障排除。通信协议开始与Modbus协议一起使用RS-232串行通信介质。随后,在RS-485、DeviceNet、PROFIBUS和其他串行通信介质上运行的其他自动化通信协议也相继出现。串行通信的使用与在其基础上运行的各种PLC协议允许PLC与其他PLC、电机驱动器和人机接口(HMI)联网。

最近,公共通信媒介、以太网以及在其基础上运行的协议,如EtherNet/IP(工业协议IP)和PROFINET,都得到了广泛应用。让我们研究一下这些协议如何从串行协议发展到以太网。2.2 Modbus及其协议

自1979年引入以来,Modbus一直是行业标准。Modbus是一个应用层消息传递协议,它位于OSI模型的第7层,在经由不同类型的通信总线或通信媒介连接的设备之间提供客户/服务器通信。Modbus是目前使用最广泛的ICS协议,主要是因为它是一个经过验证的、可靠的协议,实现简单,并且可以免费使用,如图2-3所示。图 2-3

在图2-3的左侧,我们看到Modbus通过串行进行通信(RS-232或RS-485)。通过以太网通信使用相同的应用层协议,如右侧所示。

Modbus协议建立在请求和响应模型之上。它综合使用功能代码和数据部分。功能代码指定请求哪个服务或响应哪个服务,数据部分提供应用于功能的数据。在Modbus包帧的协议数据单元(PDU)中指定功能代码和数据部分,如图2-4所示。图 2-4

图2-5是Modbus功能代码列表及其描述。图 2-5

每一种传播媒介的PDU都一样。因此,无论使用串行还是以太网,都可以找到PDU。Modbus通过应用数据单元或ADU来适应不同媒介,如图2-6所示。图 2-6

ADU的结构随使用的通信介质的不同而不同。例如,用于串行通信的ADU由一个地址头、PDU和一个错误校验标尾组成,如图2-7所示。

另一方面,使用Modbus TCP/IP,以太网数据包的IP层和TCP层生成地址,ADU帧由Modbus应用程序(MBAP)报头和PDU组成,同时省略了错误校验标尾,如图2-8所示。图 2-7图 2-8

MBAP包括以下内容:

·事务ID和客户端设置的2字节,对每个请求进行唯一标识。这些字节由服务器回显,因为它的响应可能不会按照请求顺序来接收。

·由客户端设置的协议ID和2字节。总是等于0000。

·长度和2个字节,标识消息中的字节数。

·由客户端设置并由服务器回显的单元ID和1字节,用于标识连接在串行线路或其他通信介质上的远程从设备,如图2-9所示。图 2-9可在Wireshark工具的辅助下捕获数据包,该工具可从https://www.wireshark.org免费下载。

有了这些基本信息,我们就可以开始剖析Modbus网络数据包,如图2-10所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载