一种工业机器人控制器的实验安全性分析

攻击模型

网络攻击
即使机器人没有直接接触到互联网,工业机器人控制器也可以连接到工厂局域网,或连接到(易受攻击的)远程服务设施。用于获取网络访问的技术和策略超出了本工作的范围。然而,攻击者通常利用各种入口点来危害连接到工厂网络的计算机,甚至求助于用于转移针对内部设备的攻击的离线方法(例如,USB盘)。

关于APN
一些工业机器人嵌入专有的远程访问设备,例如由供应商用于远程监控和维护。这样的设备是工业路由器,通常被称为供应商特定的术语,如“服务盒”。工业路由器与远程路由器之间的远程服务可以通过互联网、通过VPN或通过GPRS网络发生,GPRS网络可以使用商用运营商提供的APN或在M2M SIM卡上配置的供应商特定的APN。在后一种情况下,如果配置不正确,所有使用来自同一供应商的机器人的工厂将共享相同的APN,并且将能够彼此连接。

机器人控制系统

三个功能模块和四个感知层次
在这里插入图片描述

决策策略模块将高级任务转换为行动。任务级别由用户给出的任务规格组成。动作级将任务级的符号命令转换为运动路径。原始级计算运动轨迹并管理控制策略。最后,伺服电平从传感器读取测量结果(例如,位置、速度、扭矩),并使用控制算法向伺服电机提供驱动信号。

关于机器人编程
编程是由模拟器(如ABB的RobotStudio或Universal Robot的URSim)辅助的,模拟器提供机器人的软件表示,允许程序员试验新功能,并在安全的环境中编写和调试程序。生成的程序可以加载到实际控制器上。机器人程序存储在控制器的全局存储器中。它保存在级别和模块之间交换信息所需的功能块,并维护对整个系统状态(例如,每个轴上的已知位置)和环境状态(例如,由钳子夹持的工件的温度、重量)的估计。

攻击形式

控制回路改造
即出于灵活性和代码可重用性的目的,运动学和配置参数是在运行时从文件中读取或动态定义的。能够访问配置文件的攻击者可以修改这些参数。

  1. 闭环控制系统的目标是使受控变量尽可能紧跟参考信号(设定点)。其参数的取值影响被控变量跟踪设定值的“好坏”,从而影响运动精度和伺服电机的电压。错误的参数可能会导致控制器不稳定,导致超调超过所需的设置点。这可能导致违反安全属性,并导致可能损坏机器人的机械应力。

  2. 速度和位置控制通常通过附加的开环动作来实现,采用滤波器来平滑闭环控制产生的信号。这意味着对该部件配置的任何更改都将直接和立即影响输出(位置和速度)。这可能会严重放大共振效应,违反机器人的完整性要求,或者导致关节超调,绕过安全边界。

  3. 安全限制的篡改——在机器运行时配置控制回路参数

UI-modification attack——用户感知机器人状态的变化

要求安全关键条件(例如,从停止状态重新启动机器人)需要用户故意确认。不幸的是,这些条件中的一些(以及用户的确认)是通过软件而不是通过电子元件(例如,LED、按钮)来传达的。这就是目前型号的合作机器人的情况。因此,仅仅是一次UI修改攻击的影响是显著的。更改UI可能会隐藏或更改真实的机器人状态,欺骗操作员进行错误的风险评估,从而造成严重的安全隐患。

无线紧急停止按钮
攻击者可以禁用安全功能,从而防止合法用户在紧急情况下触发e-stop程序,这对操作员的安全有明显的影响。

生成流程的篡改
控制器不强制任务程序的端到端完整性,攻击者可以利用文件系统或绕过身份验证漏洞任意更改生产逻辑。例如,攻击者可能会插入小缺陷、对工件进行特洛伊木马程序或完全危害制造过程。

校准参数篡改——对本地校核副本进行修改
校准用于补偿触发伺服电机时的已知测量误差。最初存储在传感设备中的校准数据在系统引导期间被传输到控制器。然后,控制器使用其数据的本地副本。当机器人不动时,攻击者可以操纵控制器上的校准参数。

案例测试

FP arm芯片——代码缺失、内存损坏、运行时隔离性差
MC 工控主机
AXC 控制单元?? 伺服电机&驱动器
PB 控制面板

关于连接:MC是机器人最暴露的部件:它通过以太网连接与任何外部设备和示教器通信。在内部,AXC和MC还通过标准以太网连接进行通信。控制器以及最终的MC可以通过LAN以太网端口连接到本地网络,而次级以太网端口(“服务端口”)允许出于维护和编程的目的与客户主机直接连接。尽管在默认情况下,连接到服务端口的任何主机都被分配了单独子网上的IP地址,但MC会将服务端口桥接到FlexPendant的以太网连接。此外,在机箱的外侧,有直接连接到MC的主机模式USB端口、主电源开关、紧急停止按钮和用于改变操作模式(手动或自动)的按键开关,连接到面板。值得注意的是,USB端口可以挂载大容量存储设备。

关于攻击面:MC还是最敏感的入口点

关于网络暴露服务:网络暴露的服务是一个重要的攻击面。例如,攻击者可以滥用FTP公开的文件系统来读取和修改配置和程序源文件,并最终控制机械手执行的操作。在网络上暴露文件系统可能会导致更深层次的后果。

关于绕过弱身份验证…

利用控制器进行多步骤攻击路径
1)主机危害。我们使用发现的FTP静态凭据来访问/命令驱动程序,或者利用在RobAPI中发现的内存错误来获得初始访问权限。
2)绕过身份验证。我们暂时禁用了UAS并触发了完全系统重新启动。为此,我们通过FTP/命令的shell函数调用了UAS_DISABLE,或者,通过利用远程代码执行漏洞(例如,RobAPI内存错误)调用了UAS_DISABLE。
3)负载上传。在没有凭据的完全FTP访问的情况下,我们通过编辑模糊的配置文件永久禁用了UAS,然后将自定义的、恶意的.NETDLL(或快速代码)上载到控制器上的运行系统目录。
4)持久访问我们通过FTP(/command shell函数)触发了另一次重启,导致FlexPendant自动执行上传的恶意.NET库-或MC加载恶意快速文件。

实现
我们通过利用FP固件中缺乏代码签名来实现此攻击,我们对其进行反向工程以找到实现用户界面的例程。我们修改了显示器上输出的字符串,以向操作员显示错误信息,并重新打包了二进制固件。然后,我们使用FTP服务器上的身份验证旁路将二进制文件加载到MC的文件系统上,并等待下一次重新启动,这将导致将恶意固件加载到示教挂件上。作为替代方案,我们可以利用命令注入漏洞来强制MC远程重新启动。图6显示了修改后的UI。

总结
构建了一个攻击者模型,并展示了攻击者如何危害机器人控制器并获得对机器人的完全控制,从而改变生产流程。我们探索了这类攻击的潜在影响,并通过实验评估了广泛使用的工业机器人模型(代表事实上的标准架构)对网络攻击的恢复能力。然后,我们讨论了使顺利采用对策成为一项具有挑战性的任务的特定领域的障碍。未来有趣的研究方向包括探索多机器人部署、协作机器人,以及采用无线连接的安全和安保影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值