新闻资讯
全部分类

原创丨黑客如何利用条形码对ICS进行远程攻击?

  • 分类:行业洞察
  • 作者:
  • 来源:
  • 发布时间:2020-07-08 09:53
  • 访问量:

【概要描述】物联网时代,所有暴露设备均可能成为攻击目标,在条形码、扫描设备和其后端的工业网络之间,也可以构成一个攻击的链路。而这,只是条形码攻击的开始~~~

原创丨黑客如何利用条形码对ICS进行远程攻击?

【概要描述】物联网时代,所有暴露设备均可能成为攻击目标,在条形码、扫描设备和其后端的工业网络之间,也可以构成一个攻击的链路。而这,只是条形码攻击的开始~~~

  • 分类:行业洞察
  • 作者:
  • 来源:
  • 发布时间:2020-07-08 09:53
  • 访问量:
详情

编者按:条形码的应用已遍及零售、物流、医疗等各行各业,几乎无处不在。2020年6月15,媒体报道了针对美国新泽西州Wirths诊所的条形码扫描仪的攻击,造成新冠检测样本的混乱,致使至少13名感新冠肺炎的员工重返工作岗位。而在智能机场的场景中,网络安全公司IOActive的研究表明,机场行李处理系统使用的SICK公司的条形码扫描仪是存在可能被利用的漏洞,即SICK公司的CLV62x-65x条形码扫描仪支持“配置文件编程”条形码。这些自定义条形码,扫描后即可直接修改设备中的设置,而无需连接主机。此功能依赖于可触发设备中某些操作的自定义CODE128条形码,以用于更改配置。两起事件表明,在条形码、扫描设备和其后端的工业网络之间,完全可以构成一个攻击的链路,使得通过构造特殊的条形码、条码被扫描后形成扫描设备的修改或控制,进而利用扫描设备与后端网络的连接而执行简单命令、植入木马甚至渗透网络的可能。物联网时代,所有暴露设备均可能成为攻击目标,条形码的攻击才刚刚开始。

  条码扫描在各个行业和市场中无处不在。从零售公司到制造业,从公用事业到访问控制系统,条形码每天都用于识别和跟踪仓库、办公室、商店、超市、工业设施和机场的数百万资产。条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,以表达一组信息的图形标识符。常见的条形码类型有Code39、Code128、Code93、EAN128、EAN13等。Code128 是一种使用比较广泛类型,因为它支持ASCII 0-127字符,所以叫Code128,条形码长度可变。

  根据所扫描物品的目的和性质,市场上有几种类型的条形码扫描仪:CCD、激光、基于图像的条形码扫描仪。此外,根据环境的特点,可分为有无线、有线、手持或固定式扫描仪。

  从安全角度来看,制造工厂、机场和零售设施中的网络物理系统最初可能看起来像是物理隔离系统。然而现实情况并非总是这样,ICS网络理想情况下应该包括来自其他系统的几个路由和连接。在某些场景中,有一条从外部世界到这些系统的直接路径:正在处理的资产。

 

  一、条形码攻击案例

 

  据icssecuritynews网站2020年6月15日报道,ECS-CERT(电子控制系统-计算机应急响应组织)发现,网络攻击者正设法修改Wirths诊所的检测结果,该结果导致美国新泽西州大西洋城Bump and Grind赌场至少13名感染新冠肺炎的员工重返工作岗位。由于黑客能够通过条形码扫描仪获得访问权限,从而对Robotron PrAnalyssator条形码读取器进行重新编程,黑客可以通过条形码读取器读取诊所中检测样品瓶上的患者信息。

  Robotron的发言人Erich Mielke表示,他们的BCLesegerät条形码读取器具有一项功能,该功能允许使用条形码对设备与各种Robotron临床设备之间的通信进行编程。

  Wirths诊所发言人Aribert Heim表示,该诊所使用的Robotron BCLesegerät条码读取器读取患者检测数据并将其输入到诊所数据库中,并向PrAnalysator提供跟踪数据。然而该诊所并不知道读取器的功能允许将条形码用于读取器的编程。

  赌场发言人Jerry Catena表示,所有检测用品均由诊所提供。Wirths诊所提供了物资及一名医生来监督样品采集活动,该赌场的急救小组及所有获得资质的EMTs(急救医疗技术员)都进行了实际抽样。该赌场不知道该事件是如何发生的。

  联邦药品管理局(Federal Drug Administration)的Clark Stanley表示,FDA已经确认,在赌场收集的大约一半样本的标签已被更改。联邦调查局FBI仍在调查此事,且确定替代标签没有在Robotron的标签打印机上打印。FBI将继续研究证据,以试图确定它们在何处打印的。

  目前尚没有明确的证据表明攻击者是如何达到这一效果的。

 

  二、条形码攻击的相关研究

 

  机场的行李自动处理系统实际是网络攻击的一个点。据ENISA(欧盟信息安全局)2016年发布的对智能机场网络安全弹性的研究成果,表明行李处理系统和旅客值机系统是影响机场弹性的前两名,其次才是通信系统和局域网络和VPN。

  根据部署条形码扫描仪的工业过程,研究人员假设机场的行李或物流设施中的包裹包含来自恶意行为体的不可信输入(条形码)的资产。机场设施的互操作性是一个关键因素。不同的利益相关者之间共享大量的系统和设备。旅客在携带物品方面也受到限制。大多数现代行李处理系统,包括自助行李托运系统,都依靠固定安装的激光扫描仪来识别和跟踪行李票。

 

  2.1IOActive公司的研究【1】

  网络安全服务公司IOActive的研究人员对智能机场中行李扫描系统中的条形码设备进行了研究。结果发现,工业控制系统可以通过条形码扫描仪入侵。德国SICK公司的部分产品存在配置文件编程(Profile Programming)问题。某些SICK产品支持通过SOPAS ET生成和打印的条形码进行配置文件编程。

  2.1.1 SICK公司介绍

  德国SICK公司是知名工业自动化应用传感器制造商及解决方案供应商。该公司成立于1946年,拥有10000多名员工,50多家子公司和股权投资机构,以及遍布全球的众多代理机构。该公司拥有一系列独特的产品和服务为安全有效地控制过程、保护个人免受事故伤害和防止环境破坏奠定了完美的基础。尤其是该公司的固定式条形码扫描仪,一些大型机场的行李处理系统都配备了SICK的设备。

  2.1.2 发现问题的条码产品

  研究发现受“配置文件编程”问题影响的产品型号为CLV62x至CLV65x,涉及所有版本,该产品的最新版本为V6.10。SICK CLV65X固定式条形码扫描仪通常部署在机场的自动行李处理系统中。

  SICK CLV65X等设备通常部署在多个机场运行的自动行李处理系统和行李自动托运系统中。SICK CLV62x-65x条形码扫描仪支持“配置文件编程”条形码。这些自定义条形码,扫描后即可直接修改设备中的设置,而无需主机。此功能依赖于可触发设备中某些操作的自定义CODE128条形码,并可用于更改配置设置。下图为SICK CLV65x条形码扫描仪。

  

 

  CLV65x条形码扫描仪利用激光技术,可在自动行李托运过程中可靠地识别行李标签上的条形码,无论标签贴在行李上的哪个位置。CLV65x具有自动对焦和高景深,将高水平的读取性能与读取算法相结合,该算法还可以精确检测和读取打印不良或部分隐藏的条形码。当该设备集成到自动行李投放系统中时,可确保最高的读取速率。

  

 

  2.2国内相关研究【4】

  2015年11月在东京PacSec安全会议上,腾讯公司研究人员演示了使用恶意制作的条形码引发感染系统上的shell命令。这种新的攻击类型条形码可以印刷在纸上,或以电子形式提供上传图像,以基于Web的条码扫描系统进行扫码。这种黑客攻击方式被命名为BadBarcode,依靠过时的条形码标准和配置不正确的条码扫描终端存在,通过扫描条形码编码的ASCII字符传达恶意指令,因为有些条码格式允许ASCII字符被添加到代码,他可以轻松地模仿键盘上的Ctrl键。

  此后有研究者深入研究了利用ADFF挟持扫描器数据、执行简单俱并植入木马的攻击。Advanced Data Formatting(ADF),一种高级数据格式,是摩托罗拉针对扫描器开发的一种更高级的数据输入,根据自己的设定一步一步的规则可以自定义输入的数据,也可以说是一种支持编程的条形码技术。攻击者只需要构造4个条形码就可以执行任意单条命令。其中Send ALL that remains是代表设置ADF后扫描条形码的原本数据。既然已经可以执行cmd命令,最简单的方法就是利用ftp下载执行任意程序。上面提到的Send ALL that remains可以用BarTender生成出FTP命令。

 

  三、攻击路径分析

 

  3.1攻击方法

  编制特殊的条形码,对扫描设备进行更改。通过工业条形码扫描仪将击键远程注入到连接扫描仪的计算机中,这可能导致计算机受到损害。

 

  3.2攻击原理

  集中在通常将手持式条形码扫描仪配置为充当HID键盘的情形。在某些情况下,有可能注入可能损害连接条形码扫描器的主机的击键组合。但是,工业界中的条形码扫描仪具有自己的特点,比如无需身份验证。

  自定义CODE128条形码不执行任何类型的身份验证。因此一旦生成,它们将在支持它们的任何SICK设备上被运行。结果,能够将恶意配置文件编程条形码,物理呈现给设备的攻击者,可能使设备无法操作或更改设置以促进进一步的攻击。

 

  3.3技术分析

  IOActive逆向工程了用于生成配置文件编程条形码(固件版本6.10和3.10)的逻辑,并验证了它们未绑定到特定设备。

  ProfileCommandBuilder.class中的以下方法演示了构建配置文件编程条形码时缺少身份验证的情况。

  

 

  四、影响及防范建议

 

  4.1影响

  攻击者能够在启用“配置文件编程”的情况下,向受影响的设备提供受其控制的特殊条形码,从而能够在不需要任何身份验证的情况下更改配置。这可能会对可用性、完整性和保密性造成影响。如果“允许通过配置文件编程进行参数化”被禁用,则无法进行配置。

 

  4.2防范建议

  保持设备的安全设置尤其重要。IOActive公司在2020年2月将问题告知SICK公司,后者已在5月31日发布安全公告。SICK公司发布通告表示【2】,该问题可由取消配置文件编程修复。默认情况下,配置文件编程处于开启状态。要禁用该功能,需要通过用户级别“服务”登录。在参数区域的“常规”(General)下的“参数”(Parameter)中,用户可以选择启用或禁用功能“配置文件编程”。

  

 

 

  参考资源:

  【1】 https://ioactive.com/warcodes-attacking-ics-through-industrial-barcode-scanners/

  【2】 https://www.sick.com/us/en/service-and-support/the-sick-product-security-incident-response-team-sick-psirt/w/psirt/

  【3】 https://cdn.sick.com/media/docs/2/12/012/Special_information_The_Baggage_Connection_en_IM0075012.PDF

  【4】 https://www.cnblogs.com/k1two2/p/5143939.html

  【5】 http://icssecuritynews.blogspot.com/2020/06/barcode-hack-cause-of-casino-covid-19.html

关键词:

扫二维码用手机看

天地和兴

公司总部:北京市海淀区中关村软件园8号华夏科技大厦三层

服务热线:400-810-8981 / 010-82896289

版权所有:北京天地和兴科技有限公司      京ICP备17065546号-1

扫一扫关注

天地和兴微信公众号