管中窥豹之工控设备解密 – 作者:Gootime

一、概述

随着工业自动化程度的提高,两化融合、智能制造2025的推行,工业控制系统承载着关键工业信息基础设施(如关系国计民生的水、电、气、热等行业)的运转工作。作为工业控制系统的核心组件,工业控制设备安全是工控安全的重中之重。

二、工控黑产之解密产业链介绍

2.1近年来公开报道的设备解密黑产事件

首例工程机械黑产案:三一重工内鬼勾结 价值十亿泵车“失踪”,如图2-2、图2-3所示。

1567591627_5d6f8ccb3d373.png!small

1567591633_5d6f8cd16933e.png!small

2.2市场需求

1、为了获取先进技术,仿制设备,或者旧设备升级改造

1567591525_5d6f8c65435c2.png!small

2、为了突破设备厂商的使用限制。

1567591556_5d6f8c840f417.png!small

3、其他用途

1567591606_5d6f8cb61b560.png!small

2.3解密从业者剖析

从解密的市场需求情况来看,一种是工控设备使用者迫于无奈,多数人为工控从业者,最初是为了更好的完成项目而进行研究学习,后期发觉有利可图后进行非法牟利,

还有就是安全研究人员,厂商或者用户付费让其进行研究。

2.4获利方式

主要通过网站推广或者淘宝等电商渠道进行售卖,如图2-4所示。输入PLC解密,百度搜索结果450多万条。

1567591652_5d6f8ce452a8c.png!small

1567591659_5d6f8ceb07a82.png!small

以某网站***息为例,大致可以看到黑产从业者的接单流程及收费情况:

1567591672_5d6f8cf8da9dd.png!small

三、常见工业设备的加密介绍

工业设备种类繁多,不同厂商或不同型号设备的加解密方式均不同,下面列举了几个常见PLC的加密方式。

3.1西门子S7-200加密介绍

西门子S7-200系列作为最通用的小型PLC,被破解研究的也最透彻,其通过编程软件的系统块功能来进行加密,共有4级密码,其中1级与2级密码用的很少,常用3级密码和4级密码,如下图所示:

1567591695_5d6f8d0f8156a.png!small

3.2西门子S7-300加密介绍

西门子S7300主要有2种加密方式:

加密方式一:通过MMC加密:硬件组态中打开CPU的属性的保护选项,选第三个设置(读写保护),设置密码后保存编译重新下载硬件组态就可以了。

1567591770_5d6f8d5a76d63.png!small

1567591778_5d6f8d6207d72.png!small

加密方式二:功能块的保护

单个功能块只能保护,不能加密码,需要注意加密后的源文件一定要保存好,如果丢失或删除了源文件就无法打开自己的程序了。

如何实现程序块保护:

1.打开程序编辑窗口LAD/FBD/STL;

2.将要进行加密保护的程序块生成转换为源代码文件(通过选择菜单文件—>生成源文件);

1567591794_5d6f8d726a3da.png!small

3.在LAD/FBD/STL 窗口中关闭您的程序块,并在SIMATICManager项目管理窗口的源文件文件夹中打开上一步所生成的源文件;

1567591820_5d6f8d8c9eeca.png!small

1567591827_5d6f8d9381642.png!small

4.在程序块的声明部分,TITLE行下面的一行中输入”KNOW_HOW_PROTECT”;

1567591845_5d6f8da5d15f2.png!small

5.存盘并编译该源文件(选择菜单文件—>保存,文件—>编译);

1567591859_5d6f8db3ed975.png!small

3.3欧姆龙PLC加密

欧姆龙小型PLC主要采用两种加密方式

方式一:使用PLC编程软件,对PLC进行加密,如图3-2所示。

1567591878_5d6f8dc636bce.png!small

方式二:通过在程序的最前边添加加密功能块来进行加密:

1567591892_5d6f8dd463fc5.png!small

四、工业设备加密及解密技术发展情况

从古至今,矛与盾都是处于不断进化的过程,二战时期的坦克大战,轴心国与同盟国之间的较量,随着时间的推移,炮弹穿深与装甲厚度不断上升。同样PLC的加解密技术也是处于不断进化的过程。从最初通过串口监视软件轻易获取明文密码,到后来的拆芯片解密。总的来说,工控类设备(主要是PLC)大致经历了三个大的阶段:

4.1第一代加密技术

明码原始时期。比如早期三菱FX的产品全部是明码ASCII码显示,可以通过串口监控轻易获取。像台达、欧姆龙、AB等部分型号存在类似问题。

4.2第二代加密技术

第二个阶段为密码逻辑运算时代。比如西门子S7-200CN系列,采用隔位异或法加密,松下FPX系列采用移位法加密,松下GT屏采用加密钥匙法,8位密码需要逐个跟这个钥匙运算,才能得到真正的密码,信捷的也采用异或等组合逻辑运算法。但是再怎么组合,再怎么复杂,细心钻研的发烧友总能找到算法,把密码逆运算还原出来。

4.3第三代加密技术

第三代加密,如西门子SMART,S7-1200,S7-1500,施耐德最高级别加密,松下FP7和FPXH系列的32位加密等等,还有就是针对芯片的防护,全部都是这种第三代加密。

例如西门子采用四级密码,如果设备商把PLC的密码设置为4级,就算是有正确密码也无法进入PLC读取程序。而欧姆龙则采用,限时限次的方法,即在2个小时内密码只能试5次,如果第5次仍然密码不正确,只能等2个小时后再试。

有些只能通过物理拆除的方式进行芯片解密,或者无解,大大提高了设备的安全性。

4.4解密技术

我整理了公开的工控设备解密方法,大致分以下几类,

方法一:最容易实现的一种,模拟上位机软件操控,使用监视软件获取流量数据,解密者拦截到这段数据并经过简单的翻译就能够得到密码。(如果数据通信采用密文,经过多次尝试得到密文的加密规则,从而得到密码)。

1567591914_5d6f8deac31d3.png!small

举个栗子,这是西门子s7-200较早版本的有兴趣的可以试一试

1567591930_5d6f8dfa8df7e.png!small

加密算法

1567591946_5d6f8e0a47f07.png!small

1567591952_5d6f8e1030577.png!small

1567591957_5d6f8e1575cd5.png!small

方法二:通过枚举法、黑盒试探等方法进行解密,这种方法的优点是可以解决大部分密码,但是缺点是耗时比较长,对解密者的技术要求比较高。代表软件有俄罗斯的暴力破解软件。

1567591979_5d6f8e2bc9240.png!small

2013年,ICS-CERT发出警告,俄罗斯研究人员已经发现针对Siemens S7工控设备的暴力破解器,并公布了相关工具。这款工具名称为诶Searchpassword S7使用字典穷举法探测S7-300 400密码,如下图:

1567591999_5d6f8e3f3bb26.png!small

1567592005_5d6f8e450ded0.png!small

1567592010_5d6f8e4ace92b.png!small

还有破解项目密码的工具PSS7,现在已经更新到1.83版本

1567592057_5d6f8e7947578.png!small

方法三:特殊标志位擦除、拆芯片解密。

五、结尾

近年来针对工业控制设备的破解屡见不鲜,因为破解造成的损失没有一个定量的标准,觉得工控设备破解不是破坏,目的也是为了让工控系统运转起来,只是属于非授权运转。不过细思极恐,每一个工控设备破解的背后就藏着一个或者数个漏洞,利用漏洞既可以让设备非授权运转,也可以让危害持续提升。

来源:freebuf.com 2020-07-02 21:49:03 by: Gootime

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论