三菱PLC在制造业中应用广泛,但程序加密强度不足常被忽视。笔者在多家工厂审计时发现,大量使用GX Works3编写的程序仍采用默认的8位密码,且加密算法为基于CPU序列号的对称加密,可被特定工具离线破解。这不仅涉及知识产权问题,更可能被恶意篡改逻辑导致安全隐患。
以FX5U为例,其内置的密码保护分为两级:工程密码和启动密码。工程密码保护源代码,而启动密码限制下载和上传。但研究发现,当使用GX Works3的备份功能生成.apb文件时,密码哈希被存储在文件尾部,且未加盐。通过彩虹表碰撞,可在数分钟内获取明文密码。
为提升安全性,我建议采用三层防护策略:第一层,使用超过16位且包含特殊字符的强密码,并定期更换;第二层,启用三菱的远程密钥管理服务,将密钥存储在硬件加密狗中,与PLC绑定;第三层,在程序内部加入运行状态监控,若检测到连续三次密码错误,则触发I/O锁定并报警。
更进一步,可以通过GX Works3的“程序保护功能”将关键逻辑块(如配方数据处理)封装成库文件,并设置只读属性。库文件内部无法被外部查看,只能通过API调用。笔者曾为某食品企业实施此方案,即使源代码泄露,核心算法也无法被逆向。最终,该企业顺利通过客户审计,且两年内无知识产权纠纷。