中国自动化学会专家咨询工作委员会指定宣传媒体
新闻详情
isee-

物联网:潘多拉之盒开启

http://www.gkong.com 2010-11-02 11:09 来源:中国计算机报

  今年7月,英国《经济学家》在题为《第五空间之战——鼠标和键盘能否成为冲突的新武器?》的文章中开门见山地提到,曾在1976年~1977年出任美国空军部长的托马斯·里德在其回忆录中谈及苏联天然气管道大爆炸。

  1982年6月,一颗美国早期预警卫星在苏联西伯利亚地区探测到一次大爆炸。“这是一场非常大的非核爆炸,甚至从太空中都能看到火光。”里德在其回忆录中写道。这场天然气管道的剧烈爆炸是由计算机控制系统故障引发的。苏联间谍在从加拿大一家公司窃取控制软件之前,并不清楚美国中央情报局已经在软件中做了手脚。这枚“逻辑炸弹”重新设定了气泵的速度和阀门的参数,使得管道中产生的压力远远超过天然气管道接头和焊缝所能承受的限度,从而引发了爆炸。由于控制软件“来路不明”,苏联人只得吃个哑巴亏。

  今年9月26日,伊朗媒体报道,伊朗在建的布什尔核电站遭到名为Stuxnet的病毒的攻击,但没有损失方面的相关报道。作为全球第一个以攻击工业设施为目的的病毒,Stuxnet引发了媒体的广泛关注。以至于信息安全公司卡巴斯基的CEO卡巴斯基在德国慕尼黑举办的卡巴斯基安全论坛上对媒体表示:“我认为这将是一个转折点,以往只是网络犯罪,而现在恐怕进入到了网络恐怖、网络武器和网络战争的时代。”

  卡巴斯基认为,Stuxnet病毒的出现意味着潘多拉之盒已经打开。

  什么是SCADA?

  与以追求计算结果为目的通用计算不同,对工业设施进行实时监测与控制则是工业控制应用扮演的角色。

  通常工控应用被称为数据采集与监视控制系统(Supervision,Control And Data Acquision,SCADA)。SCADA通过对运行设备的多种环境数据的传感、采集和分析,按照既定的控制逻辑对现场的运行设备进行监视和控制,以实现数据采集、设备控制、测量、参数调节以及各类信号报警等各项功能。

  历经数十年的发展,SCADA已经从最初的主机控制系统、分布式控制系统,发展到了今天的网络化的控制系统。SCADA也从专有协议的封闭系统演变为以以太网和TCP/IP协议为主流的开发系统。

  另一方面,SCADA也从传统的生产过程控制,延伸到了包括通信网、电网、油气管线、供水与污水处理管线、交通、疫情监测等的基础设施应用,以及包括房屋、机场、船舶、空间站等涉及到门禁、空调和能源消耗监测和控制的设施应用。

  网络化的开放环境在给SCADA带来诸多好处的同时,也让信息安全成为不可回避的问题,而SCADA应用日益广泛,其中大多涉及到数字城市、智慧城市等当今的信息化热点应用,因此,物联网的信息安全问题就成为一个不容回避的问题。

  PLC如何让Stuxnet得逞

  尽管单片机(微控制器,MCU)、单板机乃至工控机(IPC)都能在小至电视机遥控器,大至工业控制等领域找到它们的踪影,但在工业生产过程控制中应用最为广泛的是可编程逻辑控制器(Programmable Logic Controller,PLC)。这是因为只有PLC可以在温差大、湿度高、电磁干扰强等复杂恶劣的工业生产现场环境中可靠地工作。

  PLC实际上就是模块化的计算机控制系统。大多数PLC采用的是电工熟悉的继电器逻辑,编程极为简单,而PLC的硬件系统采用模块化设计,可以便捷地按需选择不同的传感模块和执行模块,与中央处理模块共同搭建成所需的控制系统。

  所谓继电器逻辑,就是利用多个继电器上不同触点的“吸合”与“断开”构成的逻辑组合来实现控制功能,而在PLC中,则是用“1”和“0”来构成虚拟继电器触点的“吸合”与“断开”。与通常计算机通过程序来实现控制功能不同的是,PLC是通过“1”和“0”的组合来实现控制的。通常,开发人员在PC平台上进行PLC的开发,然后将控制逻辑传输到PCL中,由PLC执行。

  仅用“可靠”来形容PLC是不够的,事实上,PLC还很“忠厚”。PLC并不像PC那样可以有多种安全软件来监测应用程序的运行,PLC是按顺序方式扫描执行,没有安全软件来检测。退一步说,即便是有安全软件检测,也无法从代表控制逻辑的“1”和“0”的组合代码中查到恶意行为。从另一方面说,PLC本身是不会感染恶意病毒的,病毒只能通过PC在对PLC进行编程时,移花接木地用恶意的控制代码替代原有的控制代码,再由PLC执行时达到预期的破坏目的。

  赛门铁克网站刊登的《解密Stuxnet的PLC感染过程》一文对Stuxnet复杂的感染机理进行了详尽的描述。简而言之,病毒制造者就是利用Windows的漏洞,通过多种复杂的技术手段将恶意控制代码传输到西门子PLC中,最终在PLC运行时进行破坏。

  颠覆原有的观念

  在Stuxnet出现之前,人们对SCADA在信息安全上存在认识上的误区:他们过于相信可以通过使用特殊的协议和专门的接口来提高安全性,过于相信物理上可靠的SCADA在安全上也同样可靠,过于相信没有与互联网相连的SCADA网络是安全的,因而在现有SCADA网络的设计、实施和运行中忽略了信息安全和认证。

  事实上,安全和可靠完全是两回事。互联网可靠毋庸置疑,因为互联网的建设初衷就是要建立一个打不垮、炸不断的通信网络,但互联网上信息安全形势也日趋严峻。因此,尽管SCADA网络在物理上很安全,但因为有网络的存在因而存有安全隐患,虽然SCADA跟互联网在物理上是隔离的,病毒依旧可以通过U盘、局域网等途径,发起蛙跳式攻击。

  以往病毒总是在同一种操作平台上传播,这是因为病毒要利用操作系统的漏洞。而Stuxnet则横跨PC和PLC两个不同的硬件体系架构进行“跨界”攻击。通常病毒是通过执行恶意程序而主动实施攻击,而Stuxnet则是通过下载到PLC的恶意代码,“被动”地等待PLC顺序扫描后引发判断失误。

  与PC平台开放的软硬件架构不同,PLC因控制对象不同,构成的控制逻辑也不同,因此,每个虚拟继电器“触点”代表的功能也不同,而且,PC与PLC之间只是在编程时相连,PLC运行时两者已经断开,因此,对于蓄意攻击布什尔核电站的Stuxnet制造者来说,首先要借助于跳板进入该核电站西门子PLM的编程平台,还必须清楚控制系统的电路图,这样才能决定在哪些执行触点上“使坏”,而且还要利用PC与PLC之间难得的连接机会,因为只有在编程调试时,两者才需要通信。

  总之,这些技术上的难点足以证实了卡巴斯基所说,这一病毒的制造不仅需要技术高手,而且需要雄厚的财力,因此,很难是个人行为。

  链 接

  卡巴斯基对Stuxnet的行业解读

[page_break]

    卡巴斯基对Stuxnet的行业解读

  1.“超级工厂”病毒采用了复杂的多层攻击技术,同时利用四种“零日漏洞”对微软操作系统进行攻击,利用两种有效的数字证书(Realtek和JMicron),让自己隐身。

  2.“超级工厂”的目的不像一般的病毒,并不干扰电脑正常运行或盗窃用户财产和隐私,其最终目的是入侵Simatic WinCC SCADA系统。该系统主要被用做工业控制系统,能够监控工业生产、基础设施或基于设施的工业流程。类似的系统在全球范围内被广泛地应用于输油管道、发电厂、大型通信系统、机场、轮船甚至军事设施中。

  3.“超级工厂”已然是网络武器,被用于攻击敌对方的有重要价值的基础设施。它标志着网络军备竞赛的开始。

  4.“超级工厂”的幕后团队是技术非常高超的专业人员,并且具有广泛的资源以及强大的财力做后盾,他们应该是得到了某个国家或政府机构的支持。

版权所有 中华工控网 Copyright©2024 Gkong.com, All Rights Reserved