近年来,勒索软件攻击已经成为一个非常让人担忧的安全问题,为了获得高额的利益回报,网络犯罪者逐渐把目标转向了医疗、金融等高价值行业。尽管目前所有的勒索攻击都只是针对个人电脑,但随着攻击面的不断扩大,最近的一些分析表明,工控系统网络极有可能成为勒索软件的下一个攻击目标,工控系统相关的关键基础设施也将面临勒索攻击的可能。
昨天CodeSec的文章《 勒索软件新威胁:你敢不付赎金,我就敢往你喝的水里投毒 》中提到了一种威胁工控系统的勒索软件,而下面这篇文章则对此进行了深入剖析,来看看勒索软件何以有如此能耐。在这项项研究中,佐治亚理工学院网络安全专家开发了第一个针对可编程逻辑控制器(PLC)的勒索软件,模拟 城市供水设施 作为勒索攻击目标进行攻击建模和影响评估。(该项研究也作为 专题报告 在近期RSA大会上作了分享展示)
对供水设施的勒索攻击演示视频:
研究介绍工控攻击事件鲜有发生,但这并不代表工控系统就是安全的,据卡巴斯基最新研究表明,由于多种漏洞和不安全协议,工控系统安全甚至有恶化倾向。这种暂时的安全状况,唯一的解释就是,网络犯罪者还不能很好地将攻击与利益结合。在勒索攻击盛行的今天,企业数据是攻击者的价值目标,虽然工控系统涉及的有价值数据较少,但如制造业、电站、供水及天然气设施稳定安全的可持续运行,与人们的生活息息相关。前有北美停电事件、Stuxnet事件,近有乌克兰电站被攻击案例,从经济和安全角度来看,都造成了很大程度的损失。
我们开发了第一个针对可编程逻辑控制器(PLC),名为LogicLocker的工控勒索软件,以此探讨工控系统成为勒索软件攻击的可能性。LogicLocker利用施耐德Modicon M241设备的原始API接口,扫描工控系统内部网络的已知安全漏洞设备,如Allen Bradley MicroLogix 1400 PLCs、 Schneider Modicon M221 PLCs,通过感染和绕过方式突破安全机制,锁定设备合法用户,并在程序中设置对物理和人身安全形成威胁的逻辑炸弹,作为赎金勒索之用。我们的主要研究涉及以下几点:
开发了第一个针对工控系统可编程逻辑控制器(PLCs)的勒索软件;
实现了跨供应商PLCs感染蠕虫的概念性证明;
针对传统勒索攻击和ICS勒索攻击进行了详细的经济因素和影响比较;
利用Shodan针对此类受勒索攻击的工控设备进行了在线发现和调查;
作为研究和参考之用,制订了工控系统勒索攻击安全框架。
威胁建模抛开国家支持黑客和脚本小子的攻击,在该项研究中,我们假设勒索攻击以经济目的为出发点,由有组织网络犯罪组织发起,虽然这些攻击者不具备固件级别的漏洞发现能力,但他们能熟练使用应用层的PLCs入侵能力,可以发现并控制大量工控设备。攻击者通过对PLC代码的修改,可以实现对工控设备的物理破坏,或设置程序逻辑炸弹,触发更严重的安全威胁。
勒索攻击的经济影响评估对医院的勒索攻击之所以能够成功,是因为医院必须对患者数据的绝对控制和需要;而工控系统同样需要保证其PLC能安全稳定为民众或下游生产商提供服务。
传统勒索攻击VS工控系统勒索攻击传统攻击造成的经济损失,是由被攻击窃取数据的价值和受害者数量范围共同决定的,攻击者在发起攻击之前会衡量攻击成本和攻击价值。攻击成本越高,意味着目标安全性越高,而获得的勒索价值可能也就越多。这种关系可以用以下等式来表明:
对于勒索攻击来说,工控系统算是数据价值较低且范围相对较小的攻击目标,但其设备停机时间、安全性能和操作人员安全造成的影响,却远远超出通常价值范围,攻击者一样可以利用这些致命要害对工控设备发起勒索攻击。
实验过程
下图所示LogicLocker利用的三种PLCs分别为Schneider Modicon M221、Allen Bradley MicroLogix 1400和Schneider Modicon M241,它们代表了当今比较流行和常用的PLC品牌,但在此我们需要提醒的是,这些品牌在内的大多数PLC设备都不具备合适的可编程验证功能。
而另外一些具有密码验证和PLC编程校验功能的设备,如MicroLogix1400,一旦被攻击者利用其它方式入侵控制之后,也存在被攻击者设置新密码进行勒索攻击的可能。我们在Shodan上发现大量在线联网的ICS设备:
为了验证ICS勒索攻击的可能性,我们构建了一城市供水模型并模拟勒索攻击的可行性。在水质消毒阶段,自来水内需要加入比例准确的氯粉,而在水量储存阶段,需要对水量进行最低限度用水保障控制。
勒索攻击解析
对ICS的攻击可以分为初始感染、进一步攻击渗透、设备锁定加密和勒索谈判几个步骤,整个过程如下图所示:
后续相应列表则列出了每个步骤攻击者可以执行的攻击动作。
初始感染阶段通过感染直接联网的ICS设备,或利用其它攻击方式,入侵目标受害方用户终端电脑系统,最终实现恶意软件或勒索软件的驻留,为后续勒索攻击作好准备:
进一步攻击渗透
通过内网和感染设备的进一步攻击渗透,发现其它存在漏洞的PLC设备和可以利用的脆弱性。攻击者在内部网络的横向渗透:
攻击者在内部网络的纵向渗透:
锁定加密
寻找的可以下手的目标PLC设备之后,攻击就会发起对目标设备的锁定和加密动作:
勒索谈判
一旦成功对PLC设备进行锁定或加密,攻击者就获取了对目标设备的控制权限,就会受害方发起警告提示,以催促支付赎金,这些警告提示方式包括邮件、PLC页面展示:
LogicLocker
在攻击模型中,我们假定攻击者能暴力破解连网的Modicon M241设备并窃取其用户凭据,之后通过感染的LogicLocker扫描内部网络,发现存在漏洞的PLC设备。在锁定阶段,针对Modicon M221和MicroLogix 1400,LogicLocker可以实现重编程、密码重设和合法用户锁定功能; 在加密阶段,攻击者可以利用其它标准加密方法任意加密设备密码和程序;在勒索谈判阶段,攻击者可以使用LogicLocker向受害方PLC设备管理人员发送警告邮件。
在该模型中,如果勒索赎金得到满足,攻击者就会向受害方提供一段设备重置程序以解除勒索,如果谈判失败或受害方拒绝支付赎金,攻击者将会向供水设施中添加过量的对人体造成伤害的化学氯,另外,攻击者还可以通过可编程逻辑控制器(PLC)来篡改水量设备读数或关闭用水水阀,造成公众恐慌。后续版本的LogicLocker软件将增加警告邮件发送客户端,通过该功能,如果勒索成功,攻击者可以向受害方发送程序解锁和重置程序。以下列表总结了LogicLocker可以执行的勒索攻击动作。
安全防护 终端安全防护
实施深度防御策略,包括更改默认密码、禁用不需要的协议、设置访问控制方法、禁用远程可编程功能、保持设备固件更新、备份所有程序文档。针对新购置设备,应该仔细考虑产品安全性能,另外,请注意PLC的密码保护功能仅用来对可编程环境的合法用户进行验证,要避免成为勒索攻击者的勒索手段。
网络安全防护应该进行网络分段控制和可疑流量监控,另外,还应设置PLC程序自动备份功能,避免在未支付赎金情况下,攻击者发起破坏性攻击造成的影响。当然,还可以对PLC程序引入远程认证技术以监测攻击者对其进行的恶意修改。
安全策略在用户端,应该加强员工的安全意识培训,提高钓鱼邮件和外插USB的安全防范;同时制订相应的安全应急响应和快速恢复策略,以备攻击事件发生时能快速判断攻击影响状况,及时恢复设备运行。
* 参考来源: gatech.edu , FB小编clouds编译,转载请注明来自CodeSec.Net