传统恶意软件进入工业环境的情况并不少见,在许多情况下,现有安全解决方案会检测到这些恶意软件,但希望以工业组织为目标的经验丰富的攻击者更有可能发起专门针对操作技术(OT)系统的攻击,以提高攻击效率并降低被检测到的可能性。
网络安全公司趋势科技和米兰理工大学的研究人员分析了针对智能制造环境的攻击的可能入口点和载体,同时在这个过程中发现了几个新的漏洞。米兰理工大学拥有专门的工业4.0实验室,其制造设备通常部署在真实环境中。趋势科技与该大学合作,通过对实际智能制造环境的透彻分析,深入研究探索了多种攻击媒介、威胁行为者可能会使用这些攻击媒介对智能制造系统发起非常规攻击,研究成果以《针对智能制造系统的攻击:前瞻性安全分析》报告形式发布。
智能制造工厂总体架构
该研究报告分析的模块化智能制造系统由工作站组成,每个工作站至少包含三个关键组件:
完成实际工作的物理机器,例如装载机、钻机、工业机器人;
人机界面(HMI),操作员可用来监视和控制进度。除了传统的HMI,还有移动HMI,它们本质上是执行HMI角色的应用程序;
可编程逻辑控制器(PLC),用作物理机、HMI和网络其余部分之间交互的接口。
智能制造系统的核心是制造执行系统(MES),它是数据库之上的复杂逻辑层,充当企业资源计划(ERP)系统与物理工厂之间的接口。威胁参与者可以通过利用他们在智能制造系统中拥有的信任关系来针对这些部分(或它们自己的组件)的组合。
攻击入口点
在该报告中,研究人员发现,在对智能制造系统进行攻击时,高级攻击者可能会使用的三个主要入口点为:工程工作站、自定义工业物联网(IIoT)设备、制造执行系统(MES)。
工程工作站
工程工作站是与域用户共享的系统,大多数时间都连接到生产车间。它主要用于开发和部署程序逻辑,或用于管理PLC和HMI等现场设备。它也可以用于部署外部开发的程序。通常,任何工程工作站与系统其余部分之间都存在危险的信任关系,攻击者可以通过破坏包括外部开发的软件、库、扩展等在内的软件供应链来利用此关系。
趋势科技和米兰理工大学的研究人员展示了如何使用恶意的工业外接程序或扩展程序破坏这些工程工作站。如果攻击者可以说服目标组织中的用户安装恶意插件,他们就可以将任意自动化逻辑代码推送到制造设备。
虽然诱骗工程师使用恶意插件听起来不是一件容易的事情,但研究人员已经发现了一些漏洞,可以让黑客的工作变得更容易。例如,ABB的RobotStudio应用商店中存在一个安全漏洞,该商店托管ABB制造的工业机器人的自动化逻辑,可能会让攻击者绕过审查过程,上传一个恶意加载项,然后立即在商店中可用。ABB在收到Trend Micro的通知后发布了针对此漏洞的服务器端修补程序。
另一个例子涉及KUKA的KUKA.Sim机器人和计算机数控(CNC)设备的工程和开发软件。该问题与eCatalog功能相关,该功能允许用户导入其他人制作的3D模型。研究人员发现,该软件没有对从eCatalog下载的数据进行任何完整性检查,并且客户端和服务器之间的通信没有加密,使得中间人(MITM)攻击者能够恶意更改模型。
自定义IIoT设备开发环境
智能制造系统有时会使用定制的工业物联网(IIoT)设备,与传统的自动化硬件(例如PLC)相比,它们提供了更好的自动化灵活性。这些设备由内部员工或系统集成商编程。虽然这些自定义设备有很多好处,但它们可以依赖第三方库,这使它们更容易受到供应链攻击。在这种情况下,潜在的入口点是自定义IIoT设备开发环境的形式:攻击者可以利用智能制造系统和用于对设备进行编程的多个软件库之间的许多信任关系。
趋势科技警告表示,如果攻击者以某种方式使目标能够使用特洛伊木马程序库或直接在开发工作站上更改代码,他们就可以远程获得对工厂的完全访问权限。
MES数据库
MES数据库存储来自MES的敏感数据,例如工作单和工作模板。MES数据库被系统的其余部分隐式信任,这意味着可以访问网络或未经身份验证的MES数据库的攻击者可以通过伪造或更改数据库中的记录来更改生产。
智能制造系统中的数据和软件依赖性
攻击案例
研究人员在不同的攻击模型假设下,利用这三种攻击入口点,测试了五种攻击的可行性。
案例中可能包含的攻击概述
利用恶意工业插件
研究人员表明,攻击者可以通过使用特定于工业自动化的恶意加载项和易受攻击的开发环境来访问工程工作站。然后,攻击者可以使用工程工作站来窃取机密并远程对任务程序进行木马化,以便横向移动到系统的其他部分,目的是改变工厂的生产,或者至少保持持久性以便将来进行活动。攻击者还可以利用以下事实:加载项可以访问实现不同功能所必需的系统资源。这意味着上载的加载项可用于恶意目的,例如,用于附加恶意代码或收集敏感数据。
自定义IIoT设备木马化
为自定义IIoT设备进行开发通常涉及使用资源、教程和库,这些资源、教程和库已上载到可公开访问的存储库,而这些存储库缺少旨在检查其完整性的机制或审核过程。研究表明,其中一些开发工具可能会将恶意功能集成到其代码中,甚至可能具有由创建者或采用预先存在的库,对其进行修改然后重新上传的开发人员无意中引入的漏洞。
利用脆弱的移动HMI
移动HMI的主要安全风险与传统的安全风险相同:它们存在于封闭的有线网络中,该网络确定了HMI与系统其余部分之间的信任。攻击者可以通过发现移动HMI中的弱点并利用它来影响与其交互的物理机,从而利用这种信任关系。例如,正如在演示中所展示的那样,移动HMI可能泄漏了攻击者可以发现并用于与系统端点进行交互的敏感信息。
MES上的数据处理
研究表明,攻击者可以通过在生产中引入错误(例如,通过更改操作中使用的参数值以在最终产品中造成缺陷),直接导致MES导致产品制造中的故障,或者在操作的参数值中引入越界值,这将导致拒绝服务,这实际上会阻碍生产。
在复杂的制造机器中使用易受攻击或恶意的自动化逻辑
智能制造中使用的复杂机器依靠自动化逻辑来执行其制造任务。研究表明,设法访问网络或目标机器本身的攻击者可以故意编写滥用特定功能的恶意程序,或者可以利用程序员不经意间引入程序中的漏洞(与编写的程序相当)通用编程语言。这两种情况之间存在相互作用,易受攻击的恶意逻辑可能会导致各种后果,包括信息盗窃和意外机器移动。
不安全自动化逻辑通用概述
保护智能制造系统前瞻性方法
制造业组织之间的关系正在从使用可重配置的模块化工厂的静态部署向连接的动态设置转变。与此相应,企业需要调整其安全策略,使其脱离应该自动信任制造工厂中的端点或机器的假设,而是选择更精细的方法。对此,研究人员建议组织采取以下具体步骤来保护其系统:
在网络级别,应该进行深层数据包检查,以支持相关的操作技术(OT)协议来发现异常有效负载;
对于端点,应该定期进行完整性检查,以接收有关任何更改的软件组件的警报;
对于IIoT设备,应要求代码签名。但是,它不仅应仅限于最终固件,还应包括任何其他依赖关系,以保护它们免受可能隐藏恶意功能的第三方库的侵害;
自动化软件的风险分析应根据需要进行定制。例如,在协作机器人与人类并肩工作的系统中,应在固件级别实现安全性。
此外,研究人员认为,组织应遵循与非OT软件(如移动应用,网络应用,和云环境)相同的安全编码实践和防御的成熟度。组织应该把注意力集中在改进产品上,并在产品中嵌入安全的功能。其中包括智能制造环境中的数据和软件的完整信任链、识别复杂制造机器中脆弱或恶意逻辑的检测机制,以及在工业机器和开发环境中运行的软件的沙箱和特权分离机制。
参考资源
【1】https://www.trendmicro.com/vinfo/us/security/news/internet-of-things/threats-and-consequences-a-security-analysis-of-smart-manufacturing-systems
【2】https://www.securityweek.com/researchers-analyze-entry-points-vectors-manufacturing-system-attacks
【3】https://business.financialpost.com/pmn/press-releases-pmn/business-wire-news-releases-pmn/trend-micro-research-identifies-critical-industry-4-0-attack-methods
声明:本文来自天地和兴,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。