-
-
[推荐]2019 SDC 议题回顾 | 工业集散控制系统的脆弱性分析
-
发表于: 2019-7-28 10:55 4500
-
作为工控系统种类之一,集散控制系统(DCS)多用于控制关键基础措施,分布在石油、化工、冶金、水泥、水系统中,是工艺操作人员的“大脑”。其重要性更是不言而喻。
上世纪70年代中期,出现了以微处理器为基础的分散式控制系统,经过30多年的发展,DCS已经综合了计算机、通信、显示和控制等4C技术,在功能日益健全的同时也面临着越来越多的安全风险。
下面就让我们来回顾看雪2019安全开发者峰会上《工业集散控制系统的脆弱性分析》的精彩内容。
编辑按
crownless:在工业生产进入信息化、数字化时代后,其安全问题越来越受到人们的重视。如果系统被入侵,不仅可能造成生产被迫停止,甚至还可能产生爆炸等事故。工控安全在技术上难度较低,但反而很脆弱。这就要求我们投入更多的资源在工控安全上。
嘉宾介绍
剑思庭,复旦大学软件工程硕士,暗影安全团队工控安全高级研究员,中国自动化协会常任理事,Kcon 2018讲师,开发Ethernet/IP协议设备嗅探工具。
大会上讲师为大家介绍了工业集散系统架构、工业网拓扑以及脆弱性分析,为大家打开了风控领域的新视野。
演讲具体内容
以下为速记全文:
大家好!我现在就职于工业自动化厂商侧,来负责工控渗透及防御工作,也承担了暗影安全、破晓安全和米斯特安全的工控研究。
接下来我给大家分享的题目是“工业集散系统的脆弱性分析”。
在工控系统里有很多种类,除了PLC还有一个大种类是DCS工业集散控制系统,它和PLC在架构和应用上的区别,这种领域里存在哪些脆弱性而带来系统不稳定的状态呢?接下来和大家简单分享。
用户方使用一套这样DCS的系统,用户通过非授权的USB的使用,这个USB的使用是由业主供应商带过来的,不慎把它的上位机感染了wannacry变种,造成了它的上位机蓝屏,用户找到我们团队帮助它解决病毒的问题。
通过这个引发了什么事情?我们做完HMI的防护后,让我们帮助检查除此之外工业控制网络DCS系统有没有相应脆弱性,基于此就产生了今天的这个议题。
大家看到的结构就是我们经常会碰到的DCS的标准架构,下一侧灰颜色的地方就是所谓控制器,在DCS里它叫“单元控制器”,它是控制什么?它是控制化工、石油以及水行业里的阀门和传感器。
自动化设计的初衷是代替手动制造,不需要人为参与工业生产,它就是干这个的,它有不同种类的控制器。再往上一层,通过以太网的形式是它的监控系统。
大家可以看到那个控制器是一个盒子一样的东西,它通过信号线连接了外侧的传感器和执行器,作为总控室操作人员,如何能够第一时间知道现场状态,通过什么样的交互界面呢?将通过上面这一层,我们叫监控系统。
再往上一层就是所谓的管理系统,在管理系统里会提取你监控的信息以及管理信息,综合起来再去分析你的生产状况。下面那层只是纯监控、监视和控制,上面那层会有分析。这是标准的DCS系统。
它和PLC工控系统有什么区别?PLC是以下面灰颜色控制器为主,上面的监控软件和下面的控制器可以是两个不同的厂商、可以是两个不同的软件,甚至可以是一个PLC上面挂一个开发的应用软件,但是DCS里永远不会出现这样的情况,DCS都是一个厂商,而且走的协议也是私有协议。
我们测试的主要是红框这个地方,这个地方是安全仪表系统,比如我假设一个场景,因为大家可能都不是在做制造业的,很难在脑中复现这个画面。
举个例子,大家都开车,车里的汽油是怎么产生的?由三大油厂商把地下石油提炼出来,经过练化、裂解才变成我们使用的石油,过程中它会经过高度加温,经过离心高速旋转,但是这两项行为是很危险的。
红颜色的系统是什么意思?比如它设定一个温度超高比如1200度如何,如果罐里液体少于10%又如何,离心超快达到几万转又如何,它为了保证安全性会设立这个控制器,一旦超出设立指标马上停止,以确保设备安全和人的安全。
这是传统信息安全和工业安全的本质区别,传统信息其他更多保护的是知识资产、信息资产,但是工控安全不是这样的,信息资产也很多,但是更重要的是人和设备。
我们曾经出现过一件事情,大家都知道锅炉,北方冬季取暖都用到暖器,暖器是由供热公司送过来的,它有一个专门产生蒸气的锅炉把蒸气送过来,如果水在锅炉液位超低的话,再烧就会炸了,这个控制器就是确保水不能烧干了。
就像大家在家里烧水一样。在锅炉系统里,一旦水烧干了,锅炉就会被炸掉,因为里面的热气没有办法被释放出来。这个控制器就是确保设备和人身的安全。
这个场景有几部分组成?有2台思科2960二层交换机组成它的网络结构,另外有两台DCS控制器,另外有两台server里面运行server2003,还有4台client,XPSP3的,为什么我把这侧面标灰了,是因为我们要去打补丁和安全防护的,客户让我们测试的里面不包括这两台设备,另外,我们使用1台kali机器。
这个图就是网络架构,中间两台是2960交换机,下面2台是冗余控制器,上面两台是server是2003,还有4台client。每台机器上都有两条线,一个黄的,一个绿的,它是保证单网络不要出现中断的情况,双网下来。
但是它为了保证网络冗余性,它不仅仅保证双网,还保证了如果交换机坏掉也不影响使用。这里它就构成了STP,生成数的这样一个环境。
仔细去看,会发现这里是有环的,如何确保没有环,这是DCS厂商自己解决在通讯上的问题,既保证链路是冗余的,又要保证不要形成环路。就像一个小区一样,路由很多,怎么确保不要打转呢,这由厂商去解决。
每台计算机后面的接口都是这样的,一块网卡上有两个口。厂商把它做成了桥接模式,传统来讲这应该是2个不同的网段,但把它做成了同一网段,这种模式下它就形成了环。
如何破解这个环路,不让它对环路形成干扰?厂商自己开发了二层的容错以太网协议,这个协议10年前就开发出来了,是非常优秀的以太网冗余的协议。
左侧图是把两口的网卡协议层时加了自己的驱动软件,把它做成了桥接,桥接这个模式时又屏蔽了STP可形成环的检测,这是它做得很高明的地方。同时,它在这里面开通路由功能。
再往上是协议层,它要跑自己的工业协议,这里面跑的什么协议从后面可以看到。这张图是一个基于二层高可靠性的网络,另外的图片是每一个节点状态是不是正常的,到任何一个节点都有4条链路可以走,任何一条链路坏掉都没有影响,但同时它只走了1条链路。
大家可以看下面的图,虽然它有4条,最后会把2条堵上,哪条最优是它自己做计算的。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)