1、五种西门子 PLC 程序加密方法一、使用西门子安全 PLC 或者博途的 KNOWHOW 功能西门子安全 PLC 作为西门子主打安全功能的一款产品,它的性能毋庸置疑,而且安全 PLC 的程序块加密后无法破解;可以很好的保护核心。而博途 PLC 作为西门子的最新产品,其版权保护也是它的主要功能之一,KNOWHOW 功能是软硬件双重加密,不加密的块可以正常监控,没有密码的话甚至无法下载到其他 PLC;因此使用博途的 KNOWHOW 功能既可以将程序交给甲方方便维护,又可以保护自己的核心程序不被窃取。二、采用高级语言编写部分重要的工艺程序西门子除了最基础的 LAD 梯形图编程, FBD 功能块编程和
2、STL 语句表编程还有很多其他的方式,比如说 PCS7 的 CFC,SFC; 除此之外还有 SCL,S7-GRAPH 等等。对于这些语言,一般的工控人员很难全部精通, 因此仿制难度大大提升, 因此非常关键的工艺程序可以由这些语言编写,也可以很好的保护自己的核心。1.编程方式的采用a)采用模块化的程序结构,采用符号名,参数化来编写子程序块b)尽量采用背景数据块和多重背景的数据传递方式c)多采用间接寻址的编程方式d)复杂系统的控制程序尤其是一些带有顺序控制或配方控制的程序, 可以考虑采用数据编程的方式,即通过数据的变化来改变系统的控制逻辑或控制顺序。用户应该尽量采用以上几种高级层次的编程方式, 这
3、样编出来的程序中嵌入系统的保护加密程序,才不容易被发现而仿制。2.主动保护方法a)利用系统的时钟b)利用程序卡或者 CPU 的 ID 号和序列号c)利用 EEPROM 的反写入功能,及一些需要设置的内存保持功能 d)利用系统提供的累时器功能e)在用户程序的数据块中设置密码f)软件上设置逻辑陷阱g)可以反向利用自己在编程时犯的错误3.被动保护方法a)在内存容量利用许可的条件下,不要删除被认为是无用的程序b)在数据块里留下开发者的标识,以便于将来遭到侵权时可以取证4.应用反窃取技术的注意事项a)在用户程序中嵌入保护程序要显得自然一些,不能很突兀的加出一段程序来,代码要尽量精简,变量符号名应与被嵌入
4、程序段的变量保持一致b)往往一种保护加密手段是不够的,应该多种方法并用,并且这些保护程序一旦激活后对系统造成的后果也应该尽量不同,造成所谓的“地雷效应” ,从而增加程序被窃取的难度,时间与成本,短时间内让抄袭者束手无策,c)保护好程序的原代码,如果需要交付程序的,在不影响用户对设备维护的前提下,应对交付的程序做适当的技术处理,如删除部分符号名,采用上载的程序或数据块d)做好严格的测试,以避免保护程序的不完善引起的误动作而带来的不必要的麻烦,同时也能降低售后服务的的费用。三、使用通讯功能在实际应用中, 往往会遇到一些系统间需要数据交换的问题(多个 PLC 之间, PLC 与第三方仪表之间),无论
5、是西门子产品之间还是西门子产品与第三方产品之间,建议使用通讯的方案来代替模拟量或开关量之间的信号互连的方案。 对于前者, 仿制者只能看见一条硬件的通讯线, 至于有多少数据是如何通过通讯交换的, 仿制者必须要花精力研究具体的用户程序才能搞清楚;而对于后者,开发者是省心省力了,仿制者也是一目了然,尽收眼底。对于一些变频器或者伺服电机等的程序设计, 一般有多种方式, 可以线路直接控制还可以通讯控制,那么使用通讯的方式的话会使得程序增加了仿制的难度,比如说 PLC 对于伺服驱动器的控制有多种,简单一些的可以是脉冲直接控制或者模拟量控制,这种方式就容易仿制,如果换成通讯控制,则会使得程序复杂很多,加上仿
6、制者如果对报文不熟悉,很难去仿制。有时候控制系统会由多个子控制系统构成,由此形成多 CPU 加人机界面的网络,西门子S7-200 产品常见的是 PPI 网络,S7-300400 产品常见的是 MPI 网络,通常是人机界面与 CPU之间的数据交换,而我们也可在 CPU 的用户程序中添加一些无须组态的 S7 基本通讯功能(S7-200 可用 NETRNETW 指令, S7-300400 可以用 X_PUTX_GET 指令), 定时或不定时地在 CPU之间进行少量数据交换,通过这些数据实现子系统控制逻辑的互锁。对于这样的系统,仿制者要分析某一子系统的程序也不是件十分容易事情。四、采用面板类型的人机界面尽量在自动化系统中使用面板类型的人机界面来代替单一的按钮指示灯, 很多人机界面没有源程序的话只有备份和恢复功能,完全可以实现维护功能还保密了 HMI 这一层的程序,而对于一个 PLC 系统而言,即使拥有了源程序但是缺失了 HMI 部分的标记也是很难仿制的。而且开发者可以在面板的画面上加上明显的厂家标识和联系方式等信息, 仿制者就不能原样照抄。如果就使得如果仿制者想要复制程序的话, 就必须重新编写
copyright@ 2010-2024 安全人之家版权所有
经营许可证编号:冀ICP备2022015913号-6