作者 | 绿盟科技格物实验室 高剑

概述

目前“智能制造”已经成为席卷全球的趋势,成为全球制造业的主要发现方向和战略制高点,从德国的工业4.0、美国先进制造与工业互联网,以及中国“互联网+“规划,世界各国争相发力智能制造。伴随着智能制造信息化程度的提高,网络安全风险越来越大,数据、设备、控制、应用等方面均存在安全隐患,如何识别到安全隐患,做好预防,部署防护方案显得尤为关键,但这一切的起点则是针对智能制造场景下的各个设备、应用、控制的详细识别与监测分析。

基于NIST的网络安全框架V1.1,需要从识别、保护、监测、响应、恢复五个维度进行,首当其冲的是识别,本文以智能制造为背景,选取制造行业中应用最为广泛的数控机床与机器人作为研究对象,分析了针对此类对象如何做资产识别的一些思路与实践。

数控机床资产识别

数控机床是装备制造业的重要工作母机,是发展智能制造的五类关键技术装备之一,对装备制造业的发展起到了关键性作用。日本发那科、三菱,德国西门子、海德汉,西班牙的发格是世界主要的数控系统供应商。本次选取三菱E80数控机床作为研究对象。

E80是三菱电机最新研制的新一代经济型数控系统,搭载CNC专用CPU,大幅提升了系统的基本性能。它与MDS-E系列伺服驱动、HG系列伺服电机等新一代数控产品结合,有针对性的拓展了行业应用范围。在追求更高的性价比的同时,运用最新的控制技术,兼顾客户更高的性能、更高的精度、更高效率的使用需求,追求更简洁易用的人机界面,提高了易用性,给客户带来极佳的使用体验。此外E80还有益于缩短准备时间,支持各种机床规格,实现高效率高质量加工和高精度控制(SSS控制和公差控制)。E80系列包括用于雕铣机&玻璃加工机行业应用的E80A和车床专用的E80B。该机床设备属于三菱新推出的机型,所有机型见下所示。

该数控机床对应的编程或者组态软件如下所示,其中包括设计软件、维护、配置等。如果可以利用配置软件或者维护软件搭建使用环境,在使用环境中抓取数据报文或者使用软件环境中找到对于资产的描述即可实现资产识别。

在三菱的日本官网中下载NC config2软件与NC monitor2软件,搭建上位机应用软件环境,最终在NC config2软件中发现参数读取的功能和系统构成读取功能。

利用NC config2读取系统构成。

利用NC config2读取参数。

以上两个请求均能返回E80的类型,版本、名称、序列号等信息。因此可任意选取一个作为资产识别的方式,本次选取从参数中提取资产信息。

搭建好上位机环境后连接至研究设备,打开wireshark抓包软件,操作参数读取,完成该操作过程后在数据报文中搜索包含资产信息的报文,并定位到关键点。如下所示为请求资产信息的报文:

读取文件的响应报文,返回包括设备类型、名称、版本、序列号等。

利用以上讲解的思路即可实现对于三菱E80数控系统的主动探测式资产识别,如若审计类产品中需要添加该功能,编写整个通信流程的脚本即可。

工业机器人资产识别

工业机器人是智能制造领域的重要组成部分,可与焊接、切割、搬运、上下料、涂层与封胶、装配及拆卸等生产制造工艺相结合,广泛用于汽车、3C、金属加工、食品饮料、航空航天等行业。目前ABB、库卡、发那科、安川占据大部分的市场份额,本次选取库卡KUKA C4控制系统作为研究对象。

KUKA KR C4 控制系统是现在和未来的自动化先锋。它可降低集成、保养和维护方面的费用。同时还将持续提高系统的效率和灵活性,KR C4 在软件架构中集成了 Robot Control、PLC Control、Motion Control和 Safety Control,所有控制系统都共享一个数据库和基础硬件。

根据数控机床资产识别的研究思路,同样可以先寻找KR C4系统所对应的组态或者操作软件,搭建应用环境后然后在操作软件中寻找资产相关信息。KRC4的组态软件为KUKA.WorkVisual。

网站提供免费下载,下载软件后安装,该软件可进行设备更新扫描,查找到工程后进行上传,且包含有设备识别功能,识别出设备的多组信息,如单元名称、识别号、类型、版本等。如下图所示:

因此在设备查找扫描期间打开wireshark抓包,完成后开始分析报文,如下所示为上位机KUKA.WorkVisual建立TCP连接后请求的第一个数据报文,使用KUKA C4开放的49003端口,请求内容为net.tcp://192.168.100.51:49003/DeviceInfo。

通过逆向发现49003端口为组态软件配合使用的各类服务,其余的端口还有其中49001、49002、49004、49006、49010。这些都是供KUKA.WorkVisual进行连接使用的,下图就是相关服务定义,数据交互使用的是.NET的WCF(TCP)框架。

发出请求报文后,经历了组态软件与KUKA C4的认证与服务建链后,KUKA C4对于DeviceInfo的请求返回了如下的报文,在该报文中包含了大量的信息,其中在LEN=1460的报文中含有控制系统识别号、单元名称、计算机名称等。

在LEN=48的报文中,包含了类型、系列号、版本等信息。

以上的返回信息可以详细描述该设备,可以作为资产显示的类别。如若想在产品中实现主动式的探测识别,还需要沿着该思路编写WCF框架中协议的简单实现,并在49003端口实现 DeviceInfo服务,至此可完成KUKA C4的资产识别代码。

总结

以上仅列举了两款在制造业中广泛使用的工业机器人与数控机床,并从主动探测型资产识别的思路出发,对两款设备进行了分析研究与操作实践,给出了研究思路:先进行应用场景搭建,寻找资产信息,分析获取资产信息使用的协议并解析协议,如若需要集成至产品中则编码实现即可,还可以寻找被动资产识别的方法,提取设备指纹,建立识别规则,从镜像流量中准确识别资产信息。

本文仅为抛砖引玉,旨在引出对于制造业重要设备的关注,现阶段大量的分析文章均为PLC设备类,对于这种广泛应用的重大装备分析少之又少,希望更多的人关注制造业重大装备的安全评估与安全防护,更多地研究重大装备的安全漏洞、安全风险,装备厂商也应该有安全意识,在设计之初考虑安全问题,使制造业能降低攻击风险、减少财产损失,共同营造安全生产的和谐局面。

声明:本文来自关键基础设施安全应急响应中心,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。