工业控制系统(ICS)自二十世纪六十年代后期投入使用后,在工业和现代生活的各个领域都普遍存在。无论在公用事业,能源,制造业还是其他各种应用领域,工业控制系统管理着我们大部分的生活。

由于模块化数字控制器(MODICON,Modular Digital Controller)的发明,从1968年至90年代中期的这段时间,ICS网络几乎是与外部网络分开运行的,可以说就是在被隔离的状态下运行的。不过随着技术的升级,电脑软硬件的普及化,Microsoft Windows,Active Directory和标准化的兴起,企业内部的网络现在也可以从传统ICS网络以外的网络接收和处理数据以及微调操作。尽管在现代的网络环境中企业仍在努力确保IT(信息技术)和OT(运营技术)网络之间的独立运行,但现实的情况却是,IT和OT网络之间的界限已经越来越模糊了,由此而来的安全问题也数不胜数。

ICS与SCADA的对比

虽然工业控制系统(ICS)与监控和数据采集系统(SCADA)这两个术语通常可以替换着使用,但两者之间的区别非常大。工业控制系统(ICS)是各式各样控制系统类型的总称,包括了监控和数据采集(SCADA)系统,分布式控制系统(DCS),过程控制系统(PCS)和其他控制系统(如可编程逻辑控制器等)。

分布式控制系统(DCS)用于控制工业过程,如发电,油气炼油,水和废水处理,以及化学,食品和汽车生产。DCS集成为一个控制架构,包含监督多个集成子系统的监督级别的控制,它负责控制本地化流程的细节,产品和过程控制通常通过部署反馈或前馈控制环来实现,其中关键产品或工艺条件自动保存在所需的设定点附近。

可编程逻辑控制器(PLC)是基于计算机的固态设备,用于控制工业设备和工艺。而PLC是整个SCADA和DCS系统中使用的控制系统组件,它通常是较小的控制系统配置中的主要组件,用于提供监管控制汽车装配线和发电厂吹灰器控制等离散工艺,PLC广泛应用于几乎所有的工业过程。PLC具有用户可编程存储器用于保存实现特定功能的指令,如I/O控制、逻辑、定时、计数、PID控制、通信、算术、数据和文件处理等,但通讯距离较短。

SCADA系统是高分布式系统,经常用于控制地理上分散的控制系统,这些系统可能分散在数千平方公里,所以集中的数据采集和控制至关重要。一个SCADA控制中心长期对现场进行集中监控通信网络,包括监控报警和处理状态数据。实际上,SCADA系统是专门设计用于处理诸如延迟和数据丢失等长途通信挑战,由使用的各种通信媒体构成。

历史控制系统( historian)是收集和存储有关过程的统计,传感器读数,输入或输出和其他操作的数据。通常,数据存储在诸如MSSQL或Oracle之类的数据库中。

人机界面(HMI)可以让流程工程师一目了然的监控整个ICS系统,它通常具有各种泵,继电器和数据流的图形。

远程测控单元终端单元(RTU)是SCADA系统的基本组成单元,负责对现场信号、工业设备的监测和控制。和PLC相比,RTU具有通讯距离较长、通讯接口多样、存储容量大、适应更加恶劣的温湿度环境等特点。由于RTU更多吸收了通信技术的发展,其应用更多侧重在广域环境,如石油天然气长输管线和油气田领域。应该说PLC是为了传统工厂基础自动化的发展需求而涉及到,RTU在分布式和远程能力上对PLC进行补充,更实用当前ISC系统的特点。

ICS环境下的通信协议是由许多复杂的常规和专有协议构成的,主要包括:

· ANSI X3.28

· BBC 7200

· CDC Types 1 and 2

· Conitel 2020/2000/3000

· DCP 1

· DNP3

· Gedac 7020

· ICCP Landis & Gyr 8979

· Modbus

· OPC

· ControlNet

· DeviceNet

· DH+

· ProfiBus

· Tejas 3 and 5

· TRW 9550

典型的ICS架构

在设计ICS架构时,高度实用性,法律要求和系统维护的挑战都有可能会影响其设计,为了在这些限制下对架构进行最大程度地设计,大多数ICS架构往往遵循以下三个层次结构:

在最顶层,HMI和SCADA服务器会根据一组输入的命令或由操作员来监督和指导较低层的控制系统。通常,HMI会收集来自SCADA服务器的数据,然后报告给ICS工程师。

中间层通常会对最顶层和最底层之间的输入和输出的命令进行收集和处理,在该层执行现场控制器( Field Controller)的设备包括可编程逻辑控制器(PLC),智能电子设备(IED)和远程终端单元(RTU)。现场控制器可以协调由上往下的命令操作,或者将过程数据和关于较低级别的统计信息发送到上级。

在最低级别,现场设备( Field Device)会负责运动部件和传感器,指导泵,机器人手臂和其他与控制过程有关的机械运动。此外,它们通常包括用于监控进程并传递数据到中间层(即现场控制器)的各种传感器并对这些数据进行处理。

通常在ICS环境中需要层之间的通信链路,并且该通信通常使用不同的协议。位于上层的SCADA服务器和中间层的现场控制器之间的通信通常使用通用协议,例如DNP3或Modbus。对于现场控制器和下级现场设备之间的通信,常用的协议包括HART,Foundation Fieldbus和ProfiBus。

虽然要满足ICS的这些要求会非常困难,但使用ICS的各种组织通常会在其基础设施中通过设置三个区域来实现:

企业区域包含的就是典型的企业网络,在这个网络中有标准的公司服务,如电子邮件,文件,打印,网络,ERP等。在这个区域,所有的业务服务器和员工工作站都在这里。

ICS非军事区(DMZ)通常允许间接访问ICS系统生成的数据。在这个区域里,通常有secondary  Historian,还有一些web和终端应用程序。

最后,过程控制区域是三层ICS系统所在的地方,该区域不能从企业区域访问,并且仅限于从HMI和SCADA服务器进行只读访问。

根植于ICS的风险

ICS技术最初设计时,并没有考虑到认证,加密,反恶意软件工具,防火墙或其他防御机制。所以目前,这些原来的设计缺陷就暴露了出来,在网络安全日益突出的今天,这些漏洞直接妨碍了的ICS的再设计和实际运行。例如,传统的IT风险缓解策略之一就是对发现的安全漏洞及时更新补丁,以免被不断攻击。对于一般的IT系统来说,在升级系统时,都要进行重启恢复,耗费一定的时间,可是对于大多数ICS系统来说,每一次修复都会产生巨大的损失,这也间接的阻碍了企业对系统的升级和维护。此外,与传统IT系统不同,ICS设备上的故障更新可能会产生灾难性后果,例如受污染的食物,停电,严重伤害或人员死亡。

虽然攻击者也有可能会通过社会工程或物理攻击直接访问ICS环境,但通常情况下,攻击者可能会利用企业受信任的外部网络连接到SCADA服务器和HMI。即使攻击者没有窃取敏感数据或发动攻击行为,但这些对ICS环境的干扰,仍有可能对造成不可估量的损失。下面我们就来一起回顾一下针对 ICS的历史事件:

· 1982年,中情局向西伯利亚的苏联天然气管道控制系统内注入了推出了一个恶意软件,从而造成了这条管线的爆炸,这次爆炸所产生的火球破坏力相当于3000吨TNT炸药,当量是美国在广岛所投原子弹的1/4。除此之外,苏联的经济也遭受了沉重的打击。

· 1997年3月,马萨诸塞州的一个少年通过分布式电话系统,攻击了伍斯特机场的无线电发射机以及用于监视飞行进度的打印机从而迫使机场关闭。

· 2000年,澳大利亚人Vitek Boden利用Internet、无线电台和盗窃的控制软件,将100万公升的污水排放到昆士兰州Maroochydore的河流与沿海水域中,以报复当地政府拒绝聘用他。他45次尝试进入控制系统都失败了,但最后一次却成功进入。

· 2003年1月,美国俄亥俄州Davis-Besse核电站和其它电力设备受到SQLSlammer蠕虫病毒攻击,网络数据传输量剧增,导致该核电站计算机处理速度变缓、安全参数显示系统和过程控制计算机连续数小时无法工作。

· 2003年1月,美国俄亥俄州Davis-Besse核电站和其它电力设备受到SQLSlammer蠕虫病毒攻击,网络数据传输量剧增,导致该核电站计算机处理速度变缓、安全参数显示系统和过程控制计算机连续数小时无法工作。

· 2006年8月,美国阿拉巴马州的BrownsFerry核电站3号机组受到网络攻击,反应堆再循环泵和冷凝除矿控制器工作失灵,导致3号机组被迫关闭。

· 2008年3月,美国乔治亚州的Hatch核电厂2号机组发生自动停机事件。当时,一位工程师正在对该厂业务网络中的一台计算机(用于采集控制网络中的诊断数据)进行软件更新,以同步业务网络与控制网络中的数据信息。当工程师重启该计算机时,同步程序重置了控制网络中的相关数据,使得控制系统以为反应堆储水库水位突然下降,自动关闭了整个机组。

· 2010年10月,一款名为Worm.Win32.Stuxnet的蠕虫病毒席卷全球工业界,在短时间内威胁到了众多企业的正常运行。Stuxnet病毒被多国安全专家形容为全球首个“超级工厂病毒”,截至目前,该病毒已经感染了全球超过45000个网络,伊朗、印尼、美国等多地均不能幸免。其中,以伊朗遭到的攻击最为严重,该病毒已经造成伊朗布什尔核电站推迟发电。

· 2011年安全专家检测到Stuxnet病毒的一个新型变种—Duqu木马病毒,这种病毒比Stuxnet病毒更加聪明、强大。与Stuxnet不同的是,Duqu木马不是为了破坏工业控制系统,而是潜伏并收集攻击目标的各种信息,以供未来网络袭击之用。

比Suxnet强大20倍的Flame火焰病毒肆虐中东地区,Flame火焰病毒具有超强的数据攫取能力,不仅袭击了伊朗的相关设施,还影响了整个中东地区。据报道,该病毒是以色列为了打聋、打哑、打盲伊朗空中防御系统、摧毁其控制中心而实施的高科技的网络武器。以色列计划还包括打击德黑兰所有通讯网络设施,包括电力、雷达、控制中心等。

· 2014年12月,德国联邦信息安全办公室公布消息称:德国一家钢铁厂遭受高级持续性威胁(APT)网络攻击,并造成重大物理伤害。

· 2015年6月,波兰航空公司的地面操作系统遭遇黑客攻击,导致长达5个小时的系统瘫痪,至少10个班次的航班被迫取消,超过1400名旅客滞留。

· 2015年12月23日,乌克兰至少有三个区域的电力系统被具有高度破坏性的恶意软件攻击,导致大规模停电,伊万诺-弗兰科夫斯克地区超过一半的家庭(约140万人)遭遇停电困扰;整个停电事件持续数小时之久。

……

总结

在攻击ICS时,如果攻击者可以拦截和修改现场设备和现场控制器之间的数据,则可以将错误数据反馈给HMI。这样,HMI向操作人员呈现出的就是不准确的数据,进而导致操作员根据这种不准确的数据进行潜在的危险更改。许多现场控制器不需要认证,允许由网络上的任何系统发出命令,利用Scapy,Modbus或DNP3数据包等工具都可以轻松做到这一点。

本文翻译自:http://blog.gdssecurity.com如若转载,请注明原文地址: http://www.4hou.com/system/15634.html
源链接

Hacking more

...