工控网首页
>

应用设计

>

某国外工业云平台安全分析报告

某国外工业云平台安全分析报告

2018/10/22 14:36:32

摘要

国家计算机网络与信息安全管理中心工业控制系统网络安全应急技术工业和信息化部重点实验室(以下简称“安全中心工控实验室”)于2017年11月~2018年3月对某国外工业云平台的通讯安全性开展针对性研究,通过骨干网流量监测、仿真模拟测试等研究手段,发现xx云平台在工业互联网传输、工业APP应用、工业数据采集器等方面存在16处疑似安全漏洞;所发现漏洞有可能导致云平台用户名/密码被窃取、非法上传数据、云端重放攻击等安全问题;以上为初步研究结果,待与对方确认。

1、概述

本次研究主要面向某国外xx云平台及APP手机应用,通过骨干网流量监测、仿真环境模拟测试等无害化评估手段,从工业互联网传输安全、工业APP应用安全、工业数据采集组件安全、工业云平台安全等维度开展研究。发现安全漏洞共16处,其中传输安全漏洞5个,工业APP安全漏洞7个,工业数据采集器安全漏洞3个、云服务端安全漏洞1个。

2、数据采集器安全性评估

2.1 XX-BOX数据采集器介绍

XX数据采集器运行嵌入式系统,可以通过WLAN、3G 等网络实时传输从以太网、RS485采集得到的数据传给远程云平台服务器,同时接收指令来控制执行单元。

2.2 研究结果

XX数据采集器开启有http web服务,经分析存在web 服务配置错误等漏洞隐患,有可能导致黑客非法上传文件(如木马、后门、病毒程序等),归纳如下:

2.3 安全分析

2.3.1 漏洞1:Web服务端443端口/TCP配置错误

详细信息: XX数据采集器443端口/TCP允许客户端执行上传、删除文件等危险的http操作。这样黑客可以通过端口443向XX 数据采集器上传木马、病毒等恶意程序执行文件,并能够对上传文件执行删除操作。

解决方法:修改web服务配置,禁用http方式通过443端口上传或删除文件。

漏洞2:Web服务端80端口/TCP配置错误

详细信息: XX-BOX数据采集器80端口/TCP允许客户端执行上传、删除文件等危险的http操作。这样黑客可以通过端口80向XX 数据采集器上传木马、病毒等恶意程序执行文件,并能够对上传文件执行删除操作。

解决方法:修改web服务配置,禁用http方式通过80端口上传或删除文件。

漏洞3:TCP时间戳可查询

详细信息:远程主机可以查询XX 数据采集器的TCP时间戳,从而获取系统已运转时间。

解决方法:禁用TCP时间戳。

3.“xx”工业APP安全性评估

3.1 “xx”工业APP介绍

“xx”工业APP是用户管理、监控工控设备、与工业云平台交互的手机应用程序,有iOS版和Antroid两个版本。

3.2  研究结果

“xx”APP采用用户名/口令登录方式,缺乏用户登录次数限制等防护措施,黑客可实施暴力破解攻击,获取系统登录权限,安全问题严重。评估结果归纳如下:

3.3 安全分析

3.3.1 漏洞4:登录密码可暴力破解漏洞

漏洞说明:应用未对登录密码的输错次数进行限制,或者客户端登录没有验证码等限制,攻击者可通过暴力破解方式,多次尝试输入猜测登录密码。

解决方法:应用应对密码输错次数进行限制。

漏洞5:截屏录屏漏洞

漏洞说明:录屏、截屏是攻击者窃取用户敏感输入信息的一种手段。攻击者在用户登录时获取屏幕状态,获取用户名和密码等,可导致用户敏感信息泄露。

漏洞截图

解决方法:在用户输入登录密码时使密码不回显

漏洞6:使用弱Hash API

漏洞说明:使用反汇编工具对该APP的可执行文件进行分析,发现该APP在开发过程中使用了iOS 系统的MD5、SHA 1等弱hash API。

漏洞截图 

解决方法:开发过程中请勿使用SHA 1等Hash API,否则有可能造成被保护数据泄露,建议使用SHA-224、SHA-256、SHA-384,和SHA-512等。

漏洞7:使用伪随机数生成函数

漏洞说明:使用反汇编工具对该APP的可执行文件进行分析,发现该APP在开发过程中使用了伪随机数发生器rand,有可能导致敏感信息被暴力破解。

漏洞截图

解决方法:开发过程中建议使用arc4random等。

漏洞8:使用不安全API函数

漏洞说明:使用反汇编工具对该APP的可执行文件进行分析,发现该APP在开发过程中使用了不安全的API函数imp_stubs_strlen、imp_stubs_strcmp,有可能导致缓存溢出。

漏洞截图

解决方法:开发过程中避免使用带有潜在隐患的系统API,如strlcat代替strcat,strlcpy代替strcpy,strlcat代替strncat,strlcpy代替strncpy,snprintf代替sprintf,vsnprintf代替vsprintf,fgets代替gets。

漏洞9:工业APP缺少反调试机制

漏洞说明:APP缺少反调试机制,在Root环境下,攻击者可使用Cycript等调试工具在APP运行时寻找应用漏洞。

运行Cycript时的漏洞截图

解决方法:

1、对用户输入数据进行处理,避免显示任何敏感信息。

2、对客户端源码进行混淆,尽可能增加调试难度,最大限度隐藏自己的程序逻辑。

3.3.7 漏洞10:未检查是否为越狱环境

漏洞说明:APP缺少反调试机制,在Root环境下,攻击者可使用Cycript等调试工具在APP运行时寻找应用漏洞。

漏洞截图:APP在越狱iOS操作系统中运行截图

解决方法:APP对运行环境是否为越狱进行检查。

4.通讯安全性评估

4.1 通信特征

“xx”工业App在与云端服务器端交互时采用不安全的SSL/TLS通信,存在明文传输用户名和密码等安全漏洞。

4.2 研究结果

4.3 安全分析

4.3.1 漏洞11:用户名/密码明文传输

详细信息: 用户登录过程中,在与服务器端交互时明文传输用户名和密码等,可导致用户敏感信息泄露。

漏洞截图:采用Charles等抓包工具捕获的用户名/密码明文信息。

解决方法:敏感信息传输采用加密通讯。

漏洞12:安全通信SSL/TLS中的Cookie缺少secure属性

详细信息: 由于Cookie 未使用secure属性,这将允许cookie 通过http等非安全通道进行传输,使黑客能够进行会话劫持攻击。cookie 的唯一必需属性是“name”字段,常见的可选属性如:“comment”、“domain”、“path”等等。必须相应地设置“secure”属性,才能防止以未加密的方式发送cookie。RFC 2965 指出:“Secure 属性(不含值)会指导用户代理程序不管何时返回此cookie,都只用(未指定)安全方法来联络原始服务器,以保护cookie 中的信息的机密性和真实性。”。

解决方法:云服务端开启Https传输时,为所有敏感cookie的添加Secure属性。

漏洞13:安全通信SSL/TLS 加密套件(Cipher Suites)漏洞

详细信息:安全通信采用低版本SSL/TLS协议,接受存在安全问题的加密套件。由于使用低版本SSL/TLS协议,服务接受如下存在漏洞的加密套件:TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32) (漏洞CVE-2016-2183);TLS_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32) (漏洞CVE-2016-6329)。使得采用以上加密套件的加密内容可以被黑客破解,导致信息泄露。

解决方法:使用TLSv1.2以上版本安全通信协议,或者更改远程服务安全通信配置,使其不再接受存在漏洞的加密套件。

漏洞14:工业云平台端远程通信接受弱加密SSL/TLS 加密套件

详细信息:安全通信采用TLSv1.0协议,支持接受弱加密SSL/TLS加密套件,具体如下:

TLS_RSA_WITH_RC4_128_MD5(漏洞:CVE-2013-2566)

TLS_RSA_WITH_RC4_128_SHA(漏洞:CVE-2015-2808)

弱加密套件采用的加密算法容易被攻击者暴力破解,导致传输数据被黑客监听。

解决方法:使用TLSv1.2以上版本安全通信协议,或者修改SSL/TLS配置,使其不再接受弱加密套件(Cipher Suites)

漏洞15:安全通信Diffie-Hellman密钥交换DH group安全强度不足

详细信息:安全通信SSL/TLS服务使用DH groups密钥大小为1024位,安全强度不足,有可能被破解。

解决方法:采用椭圆曲线Diffie-Hellman(ECDHE)或者使用2048位的DH groups。

5、“xx”工业云平台安全性评估

5.1 “xx”工业云平台介绍

“xx”工业云平台是面向企业产品的数字化信息追踪平台+设计、生产、运行和维护的全方位服务组合,目标是实现覆盖产品全生命周期的:数据可追溯、预防性维护、商业智能化、服务规模化,结合设备运行参数、能耗数据分析和专家服务能力,可帮助设备使用用户保证稳定运行、提升生产效率、降低能源成本。也是机器设备厂依据采集的数据实现商业智能,机器优化,业务创新等。

5.2 研究结果

5.3 安全分析

5.3.1 漏洞16:云服务端无法抵御重放攻击风险

详细信息: 把截获的用户APP登录报文、创建工单报文等直接发给云服务器,云服务端并没有对重放次数进行限制,攻击者可对服务器端发起dos攻击。

漏洞截图:

创建工单时使用POST请求,将日期、内容、用户id等信息通过POST请求https://mobile.mm.xxxxx.com/api/tickets/create?platform=android&version=1.5.14&username=cncert来创建工单。

报文重放后,返回数据与原请求返回数据一致,由上图可见,重放的报文在APP中创建了两个工单,攻击者可通过伪造报文在云服务端创建多个恶意工单。

审核编辑(
王静
)
投诉建议

提交

查看更多评论
其他资讯

查看更多

车规MOSFET技术确保功率开关管的可靠性和强电流处理能力

未来十年, 化工企业应如何提高资源效率及减少运营中的碳足迹?

2023年制造业“开门红”,抢滩大湾区市场锁定DMP工博会

2023钢铁展洽会4月全新起航 将在日照触发更多商机

物联之星五大榜单揭榜!中国物联网Top100企业名单都有谁-IOTE 物联网展