专栏名称: 云技术实践
关注云计算,云技术,云运维,云存储,存储,分布式,OpenStack,SDN,Ceph,虚拟化,运维,分享在云计算/虚拟化/运维项目实施中的资讯、经验、技术,坚持干货。
目录
相关文章推荐
架构师之路  ·  居然97.15%的工程师,认为AI写出来的代 ... ·  5 天前  
架构师之路  ·  PostgreSQL靠边站,Oracle仍是 ... ·  1 周前  
高可用架构  ·  Redis集群slot迁移改造实践 ·  6 天前  
51好读  ›  专栏  ›  云技术实践

超过8800个工业物联网云中心暴露于公网-DTU数据中心态势感知报告

云技术实践  · 公众号  · 架构  · 2017-06-06 11:32

正文

国内工业物联网发展迅速,无线数据采集与传输是工业物联网数据通信中重要的采集方式和组网方式,DTU在无线数据采集所涉及到的供热、燃气、气象等市政重点工业领域应用及其广泛。最近灯塔实验室对国内暴露在互联网的DTU数据中心(DSC)进行了全网扫描,并对已发现的DTU中心站进行了深入的行业应用和用户所属单位分析。

一、关键词定义

DTU:数据终端单元(Data Transfer unit)。

DSC:数据服务中心(Data Service Center),即DTU中心站,DTU通过无线GPRS/CDMA网络将数据上传至中心站监听的某个端口。

DDP:DTU和数据服务中心(DSC)之间的通讯协议。

二、应用场景

在工业现场中,存在许多现场是有线无法到达的场景,DTU无线数据终端基于GPRS/CDMA数据通信网络,可专门用于将串口数据转换为IP数据或将IP数据转换为串口数据,并通过无线通信网络进行传输,目前广泛应用在电力、环保监测、车载、水利、金融、路灯监控、热力管网、煤矿、油田等行业。 

三、DTU数据中心指纹特征分析

DTU与DSC中心站通信可使用TCP/UDP方式,DTU会根据配置主动连接DSC中心站IP和开放的数据服务端口进行数据上传。

通信端口

根据厂家和应用的不同,DSC开放的数据上传端口也不尽相同,我们根据厂商官方提供的一些解决方案和文档,搜集了一些知名厂商的默认端口,具体如下:

厂商默认端口
宏电DTU5002
深证汉科泰5003
厦门才茂通信科技5001
济南有人物联网5007
聚英电子5004
拓普瑞GPRS DTU5000
TLINK5006
厦门锐谷通信8002
蓝斯通信10000
鑫芯物联2009
四信科技5020
山东力创3030

协议介绍

DDP协议(DTU DSC Protocol)是DTU与DSC之间的通讯协议,DDP是一种厂商定义的私有公开性质的通信协议,用于数据的传输和DTU管理,对于DDP协议厂商一般会提供协议文档和SDK开发包,用户可以通过组态软件或开发包,将数据中心集成到自己的平台软件中,国内的组态王、三维力控、昆仑通态、紫金桥等著名组态软件公司也均可以对接DTU实现数据采集。

以DTU市场占有量较高的宏电公司的DTU为例,宏电DDP协议官方提供了通信协议文档和数据中心SDK样例可供用户进行二次开发和集成。

宏电DDP协议数据帧格式

 

起始标志包类型包长度DTU 身份识别数据结束标志
(1B)(1B)(2B)(11B)(0~1024B)(1B)
0x7B



0x7B

宏电DDP协议DTU请求功能类型

包类型 包类型描述 传输类型
0x01终端请求注册GPRS
0x02终端请求注销GPRS
0x03查询某一DTU IP 地址GPRS
0x04无效命令或协议包(一般在查询或设置指令时使用)GPRS
0x05DSC接收到用户数据的应答包GPRS
0x09DSC发送给 的用户数据包GPRS
0x0BDTU查询参数的应答包GPRS
0x0DDTU设置参数的应答包GPRS/SMS
0x0EDTU提取日志的应答包GPRS
0x0F远程升级的回应包GPRS/SMS

指纹构造

通过构造符合DDP协议的DTU“注册”请求发送到DSC中心站,可以作为识别中心站的一种手段,如果目标应用的端口运行有中心站服务将会返回符合DDP协议标准的数据包。

四、安全隐患分析

DTU与DSC中心站之间通信使用的DDP协议构造简单,通信时一般使用DTU中插入的SIM卡的11位手机号码作为“身份识别”的手段,DTU主动链接DSC中心站开放的TCP/UDP端口上传数据,并且以明文方式传输,从目前DTU无线数据远传的通信模型上来看,最易受攻击的攻击面主要在DSC中心站上。

根据我们的本地分析与测试,暴露在互联网的DTU中心站易受到如下攻击:

终端伪造风险

根据DTU与DSC中心站的通信协议,攻击者可以构造任意手机号码(11个字节的DTU身份识别标识)的“注册”请求,如果用户的应用逻辑上没有判断该手机号码是否可信,该设备将可以被注册到DSC中心站。

数据伪造风险

攻击者可以构造任意手机号码(11个字节的DTU身份识别标识)的“注册”请求,并在同一时间或一段时间内发送大量“注册”登录请求到DSC中心站,对于未做身份标识验证和判断的DSC中心站应用将会消耗大量系统资源,甚至导致中心站的采集应用崩溃,所有DTU设备无法链接至DSC中心站,使数据采集中断。

终端枚举风险

DTU与DSC中心站之间使用11位手机号码作为“身份识别”,攻击者如果知道DTU终端的11位手机号码,即可以伪造对应的终端进行数据上传或将终端请求注销,如果确定了该应用场景或准确的地市区,针对终端号码的枚举或爆破将会缩小到较小的尝试范围。

五、DTU数据中心联网分布

鉴于DSC中心站各家应用开放端口不一致的情况,我们实验室对国内3亿IP超过160个常用于发布DDP服务的端口进行了识别扫描,其中发现运行有DDP协议服务的主机超过了8800个,具体分布如下:

广东1998
香港1052
浙江710
上海676
北京631
广西556
江苏500
山东427
福建251
河北212
天津208
四川171
湖北164
辽宁144
安徽125
河南119
云南99
新疆88
中国84
甘肃81
湖南80
陕西73
黑龙江71
吉林66
江西58
山西57
重庆48
内蒙古41
贵州41
青海22
西藏17
海南17
宁夏9
总计8896

发布DDP服务最多的前30个端口:

排行端口暴露数量
150601302
299991248
35002802
460000575
555555547
650123537
751960418
865000392
961697385
102000296
113000234
128000204
136000108
14102592
15500188
16600487
173333381
181000176
19500075
206000169
21500767
22500361
23500561
24800160
25400056
26600245
27700141
28700040
29500439
30888832

六、联网企业与应用分析

根据对扫描到的数据,我们实验室通过IP开放服务、IP位置,分析验证了运行公网的DSC中心站所属的企业和单位,具体行业分布如下,我们目前已经准确验证了超过300家公司和单位的DDP服务暴露情况。

七、解决方案与应对策略

在本次针对DSC数据中心站的安全分析的过程中,像终端使用GPRS/CDMA直接经过互联网与中心站的固定/动态IP进行通信,这种快捷、廉价的组网应用广泛,目前虽然没有出现专门针对此类系统公开的攻击事件,但根据我们的判断,对于DDP协议这种ICS协议暴露将缩短攻击者发现重要工业控制系统入口的时间,随着DDP服务的开放易导致该IP目标成为针对性的被攻击对象,我们建议使用此类组网的用户,尤其应该做好边界入口的安全防护、应用服务(Web、Telnet、SSH)的安全加固、主机安全配置。

灯塔实验室依据工信部《工业控制系统信息安全防护指南》以及相关国家标准,给出如下具体应对建议:

身份认证

我们建议在互联网开放DDP服务的用户,应检查除DDP服务以外,如Telnet、SSH、Web服务等服务配置的安全性,避免使用默认口令或弱口令,合理分类设置账户权限,以最小特权原则分配账户权限,对于关键系统和平台的访问采用多因素认证。

远程访问安全

我们推荐有条件的用户在中心与终端之间使用电信运营商提供的APN专网进行组网,DTU的SIM卡开通专用APN接入,使用APN专线后所有终端及数据中心分配的IP地址均为电信运营商的内网IP地址,通过APN专网终端与数据中心的数据通信无需通过公网进行传输,专网实现了端到端加密,避免了中心在互联网开放网络端口。

本文转载自灯塔实验室博客


http://plcscan.org/blog/


相关阅读:

高端私有云项目交流群,欢迎加入!


推荐活动:

今晚云技术社区千聊分享

(长按二维码报名)

分享介绍:

网络爬虫作为数据采集的有力手段之一,越来越受到重视。本次分享主要介绍如何才能让对网络爬虫没有什么经验的朋友能够快速地入门Python网络爬虫,通过学习本次分享的内容,可以让你从零开始快速学会编写一些简单的Python网络爬虫,实现数据的采集。

分享大纲:

1、Python网络爬虫技术简介

2、Urllib模块基础实战

3、编写糗事百科爬虫

4、学会抓包分析

5、腾讯视频评论爬虫编写实战

6、了解Scrapy框架

7、Python网络爬虫进阶路线指导

8、答疑环节