前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >某组态软件工程文件加密机制探究

某组态软件工程文件加密机制探究

作者头像
IRTeam-工业安全
修改2023-06-27 17:08:58
4750
修改2023-06-27 17:08:58
举报

某组态软件工程文件加密机制探究

一、前言

在工业自动化控制领域,组态软件是数据采集与过程控制的专用软件,是实现人机交互必不可少的工具。工程设计人员使用组态软件在PC机上进行工程画面组态的编辑,然后把编译后的组态逻辑通过以太网或串口下载到PLC或其它连接设备中运行,并进行相应的控制和监视。组态软件广泛应用于机械、汽车、石油、化工、造纸、水处理以及过程控制等诸多领域。

本次研究的组态软件是一家取得国内市场领先地位厂商的产品,该产品广泛应用与工业控制领域,如轻工业、电力、交通、能源等通用装备控制行业。

天弓实验室研究员发现,该品牌组态软件的最新版本中工程文件加密机制比较脆弱,攻击者可在不知道文件密码的情况下获取密码,从而修改工程文件,改变生产流程,给工业生产过程带来损失。

二、漏洞挖掘流程

1、创建工程文件

打开软件,新建一个工程文件,添加一个组件,先保存为无密码项目,然后添加文件保护密码,另存为有密码文件。

2、文件格式分析

使用分析工具打开这两个项目文件,查看数据统计结果。通过比对发现两个文件中都存在大量的16进制“4D”数据,在整个文件数据中占比都高于58%。在正常情况下该文件中占比最多的数据是“00”,所以推测工程文件无论是否设置文件保护密码,都要使用16进制“4D”进行异或加密。

下面进行比对分析

无密码分析

有密码分析

所以使用“4D”分别对这两个文件进行异或运算,结果在两个文件中都发现了一些可读字符,说明思路是对的,当异或运算之后的文件就是明文文件。

无密码

有密码

经过对比两个文件的异同,发现无论是否加密,文件头是一样的。继续往下查看,在加密密码存储区域有明显的差异。可看到加密文件的密码为“aaaaaa”,未加密文件没有密码。

3、漏洞利用

通过上述分析明白原理后我们就可以编写解密脚本以实现自动化获取工程文件的加密密码,而不用每次进行分析。本次编写的脚本可以获取到工程文件是否有密码保护、密码长度及密码。

4、利用场景

攻击人员通过控制生产网的工程师站后,打开工控组态软件查看工程文件时需要输入口令才可继续。攻击人员可以利用该解密脚本把工程文件进行解密获得密码,从而进入组态工程进行修改组态逻辑,以改变工业正常生产流程。

三、总结

工程文件加密是应对网络攻击的最后一道防护措施,能够在生产网被攻陷时保证生产流程不被篡改。通过以上内容可以看出,部分组态软件在工程文件加密方面不够重视。文件加密应使用完善的加密算法,由加密密码参与运算来生成足够长的子密钥,再用子密钥来加密文件,而不是使用简单的固定值来对文件加密。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IRT工业安全红队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、漏洞挖掘流程
    • 1、创建工程文件
      • 2、文件格式分析
        • 3、漏洞利用
          • 4、利用场景
          • 三、总结
          相关产品与服务
          物联网
          腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档