工业控制系统中安全组态工程保护技术实现

在工控系统中,为了防止核心的工艺代码的泄露,技术人员往往会对组态工程文件加上密码。当打开一个有密码保护的组态工程文件时会需要输入安全密码。但是由于组态软件的设计问题,导致组态工程加密措施并不安全,有些形同虚设,非法的操作者甚至能直接绕过所需的密码直接打开组态工程文件。

不安全的设计

在前一段时间,对市面上的常见的组态软件(包括三菱,组态王,施耐德,西门子等上位机软件)进行安全测试时发现不仅国内的组态软件存在组态工程密码绕过问题,一些国外的大厂也存在类似的问题,包括硬编码的密码,组态工程密码没有作为密钥加密组态工程文件,不安全的算法实现等。

对于硬编码密码的漏洞(如CNVD-2019-30119),厂商快速完成了修复,移除了硬编码密码,但是组态工程文件没有得到“真正”的保护。大多数存在漏洞的组态软件仅仅将用户输入的密码与真正的密码(或者密码hash)进行对比,而没有使用输入的密码加解密组态工程文件,这就导致无论输入什么密码,都可以通过逆向手段找到关键的跳转语句,修改指令让校验流程始终走向正确的分支(如下图所示)。对于这类的安全问题,解决方法只能是花费大量的时间和精力重新设计加密机制,并且需要敦促用户使用更新补丁。这便造成了很多厂商认为这类问题无关紧要,不愿花更多资源投入到漏洞的修复当中。

更安全的工程加密机制

毫无疑问,组态工程文件加密的算法实现一定是需要让组态工程密码参与到数据的加解密运算中,否则使用密码的任何加密存储形式(sha1 ,md5,sha256等hash算法)都是没有作用的。在设计组态工程加密的机制要考虑以下原则:

加密算法必须保证非常可靠,能够防止攻击者从加密的密文反向推出明文或者密钥。在这里,可以选择AES(Advanced Encryption Standard)这类非常成熟的加密算法。

足够长度的salt是必须的,将salt值附加到密码后面作为加解密密钥以此来保证密钥强度,这样可以有效抵御字典暴力攻击。

考虑到用户如果忘记密码,软件生产商必须有能力从用户的组态工程文件中恢复密码(当然留下后门密码肯定是不可取的),所以必须将正确的加密密钥通过非对称算法(如RSA2048)加密存到工程文件中,一旦证明了该组态工程文件是该用户所有的,软件生产厂商可以使用拥有的私钥去解密密文从而恢复密码。

算法选择应该尽量选择现成加密库的算法,例如OpenSSL,减少开发商编写代码的成本。

加密流程如下图所示:

一旦存在有些粗心的用户忘记了自己的组态工程密码,只要能证明该组态工程文件为自己所有,那么用户就可以通过开发商找回密码。具体找回密码流程如下图所示:

工程密码保护

对于组态工程密码来说,当用户输入正确的组态工程密码后,上位机软件会用该密码解密组态工程文件,并需要将密码一直存在于内存中,直到用户关闭组态工程文件才会将内存中保存的工程密码(期间用户可能修改密码)作为密钥加密组态工程文件并进行保存。整个生命周期如下图所示:

可以看出,正确的密码一直保存在内存中,直到工程被关闭。所以,对于内存中的密钥也需要一定的保护措施,防止其他恶意软件在组态工程文件打开的情况下通过读取进程内存空间的方法窃取到敏感的密钥信息。Windows系统已经内置了一些的函数保护敏感的内存信息(如CryptProtectMemory/CryptUnProtectMemory),Linux平台上的开发者也可以选择开源的第三方安全组件实现内存敏感信息加密。

总结

组态工程加解密实现的方法有很多种,本文提供的方法只是一个简单的例子,读者可以举一反三,探索出适合自己的加解密方式。工业控制系统安全不仅需要用户提高安全意识,同时也需要软硬件生产厂商高度重视,为用户提供更好的服务。

【本文是IDC.NET专栏作者“绿盟科技博客”的原创稿件,转载请通过IDC.NET联系原作者获取授权】

戳这里,看该作者更多好文

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/130317.html<

(0)
运维的头像运维
上一篇2025-02-26 00:51
下一篇 2025-02-26 00:52

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注