首页
社区
课程
招聘
[原创]看我如何挖到国产工控软件的十几个漏洞
发表于: 2020-9-25 10:19 13627

[原创]看我如何挖到国产工控软件的十几个漏洞

2020-9-25 10:19
13627

在工控系统安全越来越重要的今天,工业自主可控化成了越来越重要的方向,为了提前发现现在存在国产工控软件存在的安全漏洞并且进行修复,所以这次选取了中国市场占有率最大的SCADA软件进行漏洞挖掘,在该产品上面发现了十几个严重的安全问题后,并第一时间上报给CNVD,现在所有漏洞已经得到了及时的修复。本文从实战出发,以该款软件作为例子,来介绍安全评估思路。

能够远程触发的漏洞往往比能被本地触发的危害性要高,所以为了尽最大可能挖掘危害性高的漏洞,应该先从暴露的端口出发,分析对应的服务以及协议:
图片描述
从上面可以看到,该SCADA软件暴露出多个端口,可以说每个端口都是一个攻击面,除了一个http端口外,其他都是私有的协议。

为了了解每个端口对应的服务,需要调试分析,但是有些数据包往往需要在特定的环境架构中才能产生,譬如说历史数据库的协议数据包必须设置数据库地址才能产生,而其他的官方未披露的服务只能通过逆向调试确定。在调试之前,可以编写并运行一个测试脚本,该测试脚本会向指定端口发送一个数据包,在服务端通过下recv之类的断点就能找到解析的地方。
图片描述

1.手动对危险函数进行审计,分析每个功能码对应的处理逻辑,即可在审计阶段把能够用肉眼看到的漏洞挖掘出来。
2.通过对抓取的数据包进行变异,结合逆向出来的报文格式,编写模糊测试模块进行模糊测试(Fuzz),模糊测试的效果取决于种子数据的好坏和协议的复杂度。
图片描述

通过上面提到的研究方法发现了十几个严重的安全漏洞,超过半数都是远程拒绝服务漏洞。这里选取了几个典型例子,来简单介绍一下相关的安全问题。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2020-9-25 10:26 被wmsuper编辑 ,原因:
收藏
免费 8
支持
分享
最新回复 (5)
雪    币: 4230
活跃值: (1435)
能力值: (RANK:270 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2020-10-23 08:33
0
雪    币: 10868
活跃值: (14664)
能力值: ( LV13,RANK:400 )
在线值:
发帖
回帖
粉丝
3
BDomne 感谢分享[em_28]
上不了精华也给个优秀呗,大佬
2020-10-25 16:50
0
雪    币: 0
活跃值: (266)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢分享
2020-11-19 14:18
0
雪    币: 49
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
北京某控科技的SCADA产品呀,7.5SP3
2021-2-4 11:39
1
雪    币: 2604
活跃值: (231)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
感谢
2021-3-10 20:51
0
游客
登录 | 注册 方可回帖
返回
//