工控网首页
>

应用设计

>

【专家博客】SCADA安全:欢迎踏上补丁“跑步机”

【专家博客】SCADA安全:欢迎踏上补丁“跑步机”

       本博客的忠实读者们都知道,Stuxnet事件之后,四处寻找新目标的安全研究人员和黑客们将他们的精力转移到了关键工业基础设施上。

       不幸的是,监视控制和数据采集(SCADA)系统以及工业控制系统(ICS)应用都是容易被攻击的对象。

       直到最近,SCADA和ICS系统的设计才考虑到了可靠性和安全性(reliability and safety);信息安全 (security)一直是次要考虑因素。从未经过安全测试的产品如今遭受着高级漏洞探索工具的攻击,主要控制系统的安全漏洞正连续不断被披露。

图片1.jpg

SCADA/ICS应用对安全研究员和黑客来说是容易攻击的目标。
图片来源:Active Rain Caption

        最近几年,我们发现针对这些系统的安全警报呈现惊人的增长,并且我们还见证了一些记录在案的高级网络攻击。

        美国政府工业控制系统-计算机应急响应小组(ICS-CERT)跟踪并发布工业产品中发现的已知安全漏洞的安全公告。发现Stuxnet(2010年6月)之前十年的时间里,ICS-CERT发布了五个安全公告,涉及到三家供应商。

        与此相比,在2011年共计:
        • 215个公开披露的漏洞
        • 104个安全公告
        • 涉及39家供应商

        到2012年底,公开披露的漏洞高达569个。

        而且这些漏洞通常在ICS供应商提供补丁之前就对外公布了。

        此外,40%的被披露漏洞都有攻击代码。这意味着个人在对控制系统和其行为后果了解甚少的情况下,就可以下载并运行攻击工具来攻击目标。事实也正是如此——据ICS-CERT报道,2012年下半年有20,000多起互联网对控制系统的非法访问。

欢迎踏上工业安全补丁“跑步机”!
        由于安全研究人员、黑客以及产生的问题都是从IT环境迁移来的,因此期望从IT领域寻求解决方案不足为奇。IT领域是通过打补丁的方式来解决安全漏洞问题的 - 产品的整个生命周期需要多个补丁。事实上,典型的IT计算机至少一周打一次补丁(并且完全重启)。

        无需成为SCADA/ICS专家,你也能意识到如此频繁的关机对关键基础设施控制系统来说是不现实的。

图片2.png

不停地跑啊跑 图片来源:Learning to Fly

一个控制系统需要多少补丁呢?

        有人可能会说控制系统需要的补丁比IT系统少…软件占用空间较小,代码质量相对更高…如果是这样的话,打补丁的周期可以与每年的停车检修保持同步。在这种情况下,打补丁可能是解决软件漏洞的一个可行方案。

        为确定这一方案是否真的可行,2008年我参与了一家美国炼油厂过程控制网络(PCN)的分析工作。这家炼油厂的PCN有85台电脑和差不多同样数量的工业控制器。尽管我们只收集了其中78台电脑的可靠数据,但我们确定这些电脑运行着272个不同的进程/应用程序。

        国家漏洞数据库(NVD)的一项研究发现,这些进程中的48个进程存在一个或者一个以上的严重的安全漏洞。在整个炼油厂PCN网络中,有5,455个公开已知漏洞,平均一台机器70个。Windows操纵系统补丁可以减少50%的漏洞,但仍然还有2,284个公开漏洞。为什么?原因在于网络中的应用程序没有自动修补的功能。

不是所有潜在的PLC漏洞都会第一时间被披露
        我们不要忘记潜伏在控制系统中的潜在漏洞。学术研究发现,大多数商业软件每一千行代码就有3-10个缺陷,而这些缺陷中有1%到5%会导致漏洞。也就是说每一千行代码就有0.03到0.05个漏洞。

        那么在现实生活中,这意味着什么呢?

        以Windows XP为例…其大约有四千万行代码(40,000KLOC)。截至2012年10月,国家漏洞数据库NVD列出了Windows XP的大约1106个中度或重度漏洞-漏洞/千行代码比率大约是0.0276。

        无论你使用Windows XP的体验怎样,貌似其只存在一些低端漏洞,从安全的角度看来,它还是不错的。

        回顾Windows XP的漏洞史,我们不得不认为,SCADA/ICS漏洞不可能同一时间被全部披露。随着研究人员开始调查工业领域的产品,在最初几年我们可能只看到相对比较少的一部分漏洞被披露。然后,在SCADA/ICS产品受到广泛的安全审查后,可能会发现一大批漏洞,像发生雪崩一样,从而导致每周都需要安装控制系统补丁。

图片3.jpg

一旦SCADA/ICS产品接受安全审查就会暴露出大批安全漏洞,像雪崩一样
图片来源:阿拉斯加雪崩资讯中心

不能忽视SCADA/ICS固件
        显然PLC和DCS控制器的firmware也有安全漏洞,也需要打补丁。控制器固件通常有100万-500万行代码。根据我们上文的分析,这意味着每个控制器可能有30-150个漏洞。如果漏洞披露曲线与IT行业的类似,那我们可以预计不久的将来会出现数量较少的补丁,但随后会逐渐增多。 

        以上分析清楚地表明,解决控制器和计算机的SCADA/ICS漏洞需要的打补丁的频率超过了大多数SCADA/ICS用户能忍受的系统停车的频率。

        请关注下周的博客,了解更多关于补丁影响方面的内容,不打补丁会怎样?为什么许多SCADA/ICS用户都不愿意打补丁?…

        你认为打补丁对于保护SCADA/ICS控制系统是可行的解决方案吗?你有成功或者失败打补丁案例想要分享吗?请告诉我你的想法

投诉建议

提交

查看更多评论
其他资讯

查看更多

能源领域网络安全框架实施指南(英文版)

【指导手册】有效网络防御的关键控制

【操作指南】SCADA与过程控制网络防火墙配置指南

【指导手册】控制系统安全实践汇编

【操作指南】工业控制系统(ICS)安全指南