auto 发表于 2013-12-26 23:41:16

CoDeSys 被曝重大缺陷

CoDeSys 被曝重大缺陷
ZCOM电子杂志    杂志:计算机世界
出处:计算机世界 12年第43期作者:沈建苗
分享到:

http://pic.zcom.com/530-0/mag/images_article/artImage/11550b5b.jpg
点击查看原图
    据安全咨询公司DigitalBond的一份报告显示,CoDeSys这个软件含有的一个安全漏洞,让潜在的攻击者可以在不需要验证身份的情况下,在易受攻击的设备上执行敏感命令。

    CoDeSys是由总部设在德国肯普滕的一家名为3S-SmartSoftwareSolutions的公司开发而成的。据该公司网站介绍,这个软件用于200多家厂商的工业控制系统(ICS)上。

    不叮无缝的蛋

    去年DigitalBond启动了这个ICS安全研究项目,发现该安全漏洞的是DigitalBond以前的研究人员里德·怀特曼,他是ProjectBasecamp项目的一员。

    该安全漏洞被描述为是个设计问题,存在于CoDeSys运行系统,这个应用程序运行在可编程逻辑控制器(PLC)设备上。PLC是一种数字计算机,负责自动控制发电厂、石油天然气精炼厂、工厂及其他工业或军事设施的机电过程。

    CoDeSys运行系统让PLC可以装入和执行所谓的梯形逻辑文件,这些文件可以在普通计算机上用CoDeSys开发工具包来创建,并且所包含的指令影响着由PLC控制的过程。

    据DigitalBond的报告显示,CoDeSys运行系统可以打开一项TCP(传输控制协议)侦听服务,该服务让人们不需要验证身份,就可以访问命令行接口。

    该公司开发并公布了两个Python脚本:一个可用于访问命令行接口,另一个可以在运行CoDeSys运行系统的PLC上读取或写入文件。公司打算把这些脚本转换成面向Metasploit的模块,Metasploit是一种流行的渗透测试框架。

    视PLC设备型号而定,命令行接口让潜在的攻击者可以开始、停止或重置PLC程序;转储PLC内存;获得关于在PLC上运行的任务和程序的信息;拷贝、更名和删除PLC文件系统上的文件;以及设置或删除在线访问密码和更多内容。

    DigitalBond的创始人兼首席执行官代尔·彼得森近日在博文中表示,安全漏洞和脚本只在来自261家可能受到影响的厂商的一小批产品上进行了测试。其中一种PLC在x86处理器上运行Linux,而另一种PLC在ARM处理器上运行WindowsCE。

    安全公司IOActive的安全研究人员鲁宾·桑塔玛塔近日通过电子邮件说:“这次攻击不仅可以用来控制PLC,还可以用来把PLC变成‘代理’,进而攻击网络上的其他设备。”作为ProjectBasecamp的一员,桑塔玛塔过去曾发现了工业控制系统存在的安全漏洞。

    3S-SmartSoftware的支持经理埃德温·施韦林格近日通过电子邮件说:“我们意识到了这个安全问题。补丁正在开发当中,但还没有发布。我们的压力很大,正在竭力解决这些问题。”

    施韦林格表示,攻击者只有已经访问了PLC运行系统运行在其中的网络,才能钻这个安全漏洞的空子。他表示,除非额外的保护措施落实到位,否则可以从互联网访问运行系统。

    以防万一

    里德·怀特曼如今在IOActive担任安全顾问,他在twitter上说:“为数不少的易受攻击的CoDeSys系统暴露在互联网面前。有些通过shodan搜索引擎就能被发现,有些通过自定义扫描就能被发现。”

    桑塔玛塔说:“按道理,PLC不可以通过互联网就能被访问。然而,许多网络通过高级可持续威胁(APT)而中招,这种恶意软件为攻击者提供了本地网络访问权限;在这样的情况下,网络边界不再重要。”

    施韦林格说:“应当尽量避免将PLC和PLC网络暴露在公共网络和互联网面前。”他表示,客户应该采用另外的安全层,比如为远程访问使用虚拟专用网络(VPN),安装防火墙,还应该限制只有授权用户才能访问敏感网络。

    安全漏洞研究公司ReVuln的安全研究人员路易吉·奥里玛说:“与SCADA(监管控制和数据采集)环境有关的任何事情都不容忽视。”他之前发现并披露了SCADA系统存在的安全漏洞。“如果你能控制PLC,那么就能控制基础设施。”

    比如说,Stuxnet恶意软件在感染了伊朗纳坦兹核燃料浓缩厂的PLC后,篡改了所编程序,破坏了大约1000只铀浓缩离心机。据说这起攻击事件被认为致使伊朗的核计划倒退两年之久。

    幸好,众多厂商在没有官方补丁的情况下仍可以采取一些变通方法。

    彼得森说:“黑客工具在一家厂商的至少一个产品上无法使用,该厂商不愿透露姓名。这家厂商采用了安全开发生命周期(SDL),这包括威胁建模环节。该公司识破了上传未授权梯形逻辑和其他恶意文件的威胁,发现CoDeSys运行系统解决不了这个问题,于是在运行系统外面添加了一层‘安全外壳’。所以用户或攻击者基本上需要先验证身份,才能访问CoDeSys运行所依赖的那个端口。”

    桑塔玛塔表示,与此同时,受影响产品的用户可以部署网络分段机制、访问控制列表、防火墙和入侵预防系统。浏览《计算机世界 12年第43期》原版杂志


页: [1]
查看完整版本: CoDeSys 被曝重大缺陷