原创 | 人机协作工业机器人安全测试

  • A+
所属分类:安全文章
作者 | 绿盟科技 格物实验室 马良

原创 | 人机协作工业机器人安全测试

随着网络技术与智能控制技术的发展,一些简单的工作逐步被机器人所代替,伴随而来的网络攻击也是不容忽视的,这里以ABB的人机协作双臂机器人Yumi为目标,描述一下机器人的安全评估过程。

目标概述

ABB公司简介

ABB是全球电气产品、机器人及运动控制、工业自动化和电网领域的技术领导企业,致力于帮助电力、工业、交通和基础设施等行业客户提高业绩。基于超过125年的创新历史,ABB正在不断地推动能源革命和第四次工业革命,谱写行业数字化的未来。ABB集团业务遍布全球100多个国家,雇员达13.2万。
ABB集团总部位于瑞士苏黎世,在苏黎世、斯德哥尔摩和纽约证券交易所上市交易。ABB由两家拥有100多年历史的国际性企业——瑞典的阿西亚公司(ASEA)和瑞士的布朗勃法瑞公司(BBC Brown Boveri)在1988年合并而成。
中国市场是ABB的第二大市场
经过多年的快速发展,ABB在中国已拥有研发、制造、销售和工程服务等全方位的业务活动,40家本地企业,1.7万名员工遍布于139个城市,线上和线下渠道覆盖全国300多个城市。2016年,ABB大约84%的销售收入来源于本土制造的产品、系统和服务,中国保持ABB集团全球第二大市场的地位。
所以,研究ABB机器人对研究机器人的信息安全具有重要的意义

人机协作的双臂工业机器人YuMi简介

德国汉诺威,2015年4月13日——全球领先的电力和自动化技术集团ABB今日在世界顶级的工业博览会——德国汉诺威工业博览会上正式向市场推出全球首款真正实现人机协作的双臂工业机器人YuMi。
作为ABB“新阶段”战略下的又一重大成果,YuMi能够在保障安全的前提下与人类进行协同作业,全面引领人机协作新时代的来临。

ABB机器人安全测试过程

系统整体结构

如下图所示,机器人的机械臂的控制部分十分复杂,系统真正起控制作用的,其实是位于系统底部的工控机。通常看到的其实是机器人的机械臂,其实是机器人的一个小部分。

原创 | 人机协作工业机器人安全测试

原创 | 人机协作工业机器人安全测试

由于不能拆开机器人的盖子,只能从桌子下面,对主机板卡暴露的通讯网口进行测试。

原创 | 人机协作工业机器人安全测试

其工控机的对外接口面板如下:

原创 | 人机协作工业机器人安全测试

目前对XP23(server192.168.125.1)、XP28(工厂WAN)、XP25(EtherNet)、XP26(EtherNet)、XP11(profinet 192.168.1.6)这5个网络端口都进行了IP地址发现和端口扫描。
经过研究和测试后发现 XP23(Server端)、XP28(LAN)口的设计比较容易受到网络安全攻击。

对系统内部的IP地址进行探测

用nmap进行特定IP地址段的扫描,发现存活的控制器和主机。
192.168.125.1
192.168.125.201
192.168.125.30
192.168.125.40

敏感服务和端口

对TCP的65536个端口进行扫描, 找出可能存在风险的服务和应用的端口。
FTP(TCP端口:21),
SHH(TCP端口:22),
TELNET(TCP端口:23),
HTTP(TCP端口:80),
EtherNet/IP(TCP端口:44818)

对发现的IP地址进行端口探测

192.168.125.1开放端口如下:

原创 | 人机协作工业机器人安全测试

192.168.125.201开放端口如下:

原创 | 人机协作工业机器人安全测试

192.168.125.30只开了44818/TCP端口,用EtherNetIP协议脚本扫描。

原创 | 人机协作工业机器人安全测试

192.168.125.40只开了44818/TCP端口,所以,也用EtherNetIP协议脚本扫描。

原创 | 人机协作工业机器人安全测试

风险发现与测试验证

针对暴露的风险服务和接口,发现了如下的安全风险。
  • 远程获得资产特征(无需授权特征信息泄露)
只要机器人暴露在外网环境中,就可以通过扫描的技术手段,获取到机器人使用的固件版本和序列号。虽然属于低危的风险,但是如果暴露在外网,会为攻击者收集信息提供便利条件。
使用了EtherNet/IP(TCP端口:44818)协议识别组件,扫描结果如下:
C:>nmap.exe -p 44818 -script=enip-enumerate.nse 192.168.125.1
Starting Nmap 7.40 ( https://nmap.org ) at 2018-05-08 18:36Nmap scan report for 192.168.125.1Host is up (0.0019s latency).PORT STATE SERVICE44818/tcp open EtherNet/IP| enip-enumerate:| Vendor: ABB Robotics Products AB (75)| Product Name: ABB Scanner/Adapter| Serial Number: 0x644ccb7f| Device Type: Generic Device (keyable) (43)| Product Code: 1| Revision: 2.33|_ Device IP: 192.168.125.1MAC Address: 00:30:64:4C:CB:7F (Adlink Technology)
Nmap done: 1 IP address (1 host up) scanned in 4.82 seconds
  • 获取有效的FTP用户名和密码
厂家为了方便维护机器人的配置文件,采用FTP的方式管理机器人的配置文件。FTP协议本身是一种公开的协议,协议在传输过程中也没有加密保护措施。
ABB的机器人软件RobotStudio内置了FTP的用户名和密码,通过技术手段可以获取。利用FTP服务可以在线修改ABB机器人的运行程序,从而达到恶意控制机器人的目的。
从测试的结果看,FTP用户名和密码是不可修改的,在获取了机器人的网络入口后,可远程删除FTP文件夹中的内容,可能会造成机器人变砖,这是一种具有破坏性的攻击手段。
  • 通过有效的FTP账户,导出设备的固件
通过简单的FTP返回上一级命令,可以到达FTP的根目录,然后,将固件和配置文件用FTP协议导出。控制器空间共2G;实际使用了1.2G, 我们可通过FTP获取600MB的配置文件和其它文件。获取到的文件结构如下:

原创 | 人机协作工业机器人安全测试

其中有一部分固件是基于VxWorks的。
  • 模糊测试发现拒绝服务问题
由于机器人的通讯采用的是EtherNetIP协议,通过编写协议模板,利用模糊测试工具对协议健壮性进行测试发现存在拒绝服务的情况。说明在协议的实现与通讯数据的容错性上还是需要进行提高一下。

总结

由于对于机器人的相关知识储备不足,同时测试时间比较短,可能不能全面的发现风险点,但是随着研究深度和广度的增加,相信会在机器人领域发现独特的安全问题。
针对机器人的安全加固也提出如下几点建议:
1.   通过即时加解密算法对机器人的资产信息进行保护,避免直接暴露。
2.   针对机器人的网络访问做好访问控制策略。
3.   关于用户认证部分,建议设定为强制用户修改,同时针对密码做复杂强度检查。
4.   针对厂商需要提升软件质量,提升软件针对畸形数据处理的容错能力。
5.   和物联网设备相同,加强固件的完整性、机密性和可用性。


转载请注明来源:关键基础设施安全应急响应中心

原创 | 人机协作工业机器人安全测试

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: