轻松、安全地将经过数据传输到移动终端设备北

日期:2019-10-18编辑作者:北京赛车官方正版投注

TwinCAT 3 IoT Communicator 基于发布者/订阅者机制进行数据交换。由于无需进行特殊的防火墙设置,因此可以轻松集成到现有的 IT 网络中。信息交互通过使用标准化 MQTT 协议并充当云或本地网络中的中央通信工具的消息代理实现。成熟的 TLS 加密确保高通信安全性。使用 IoT Communicator App 可以在移动设备上显示传输的过程数据,这款 APP 既可用于 Android 系统,也可用于 iOS 系统。IoT Communicator App 还包含了一个集成式 QR 码扫描仪,便于输入访问数据,以便在消息代理和个人用户之间进行通信。TwinCAT IoT Communicator 简化了推送信息的传输。它可以可视化实时数据、变量和状态值,具有传统 e-mail 和 SMS 消息所不具备的优势。因此,IoT Communicator 可以很好地补充 TwinCAT IoT 和 TwinCAT Analytics 软件产品。

HTTPS(Hyper Text Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有的HTTP数据都是在SSL/TLS协议封装之上进行传输的。HTTPS协议是在HTTP协议的基础上,添加了SSL/TLS握手以及数据加密传输,也属于应用层协议。所以,研究HTTPS协议原理,最终就是研究SSL/TLS协议。

北京赛车官方正版投注 1

[2018年8月29日,德国] TwinCAT IoT Communicator 让 PLC 能够通过直接连接 TwinCAT 控制器和采用 TLS 版本加密的通信工具轻松与移动设备通信。对于智能手机和平板电脑用户,相关的 IoT Communicator APP 可确保在所有移动设备上显示过程数据的清晰概览。报警信息作为推送消息发送给设备。

运行过程

我们都知道HTTPS在保证数据安全传输上使用了加密算法,但是具体是如何加密的,或许许多人和我一样也是云里雾里。实际上SSL/TLS协议的基本思路是非对称加密和对称加密结合来传输数据,一言以弊之,HTTPS是通过一次非对称加密算法进行了协商密钥的生成与交换,然后在后续通信过程中就使用协商密钥进行对称加密通信,之所以要使用这两种加密方式的原因在于非对称加密计算量较大,如果一直使用非对称加密来传输数据的话,会影响效率。运行过程盗用巨人的图,可以表示如下

北京赛车官方正版投注 2

有了图就可以一步一步分析了

这个步骤是整个通信过程中的第一步,首先,客户端先向服务器发出加密通信的请求,在这一步中,客户端主要向服务器提供以下信息:

  • 支持的协议版本,比如TLS 1.0版
  • 一个客户端生成的随机数RandomC,稍后用于生成“协商密钥”
  • 支持的加密方法,比如RSA公钥加密。
  • 支持的压缩方法。

服务器收到客户端请求后,向客户端发出回应,服务器的回应一般包含以下内容:

  • 确认使用的加密通信协议版本,比如TLS 1.0版本。如果浏览器与服务器支持的版本不一致,服务器关闭加密通信。
  • 一个服务器生成的随机数RandomS,稍后用于生成“协商密钥”*。
  • 从客户端支持的加密方法中选择一个作为确认要使用的加密方法,比如RSA公钥加密。
  • 服务器证书。这个服务器证书就是表明服务器身份的东西,其中也包含了非对称加密中需要使用的公钥。

客户端收到服务器回应以后,首先验证服务器返回的证书。如果证书不是可信机构颁发,或者证书中的域名与实际域名不一致,或者证书已经过期,以浏览器为例客户端会向网页访问者显示一个警告,由其选择是否还要继续通信。 如果证书没有问题,客户端就会从证书中取出服务器的公钥。然后生成密码、公钥加密。生成密码的过程会先产生一个随机数Pre-master key,该随机数是整个握手阶段出现的第三个随机数,稍后会经过公钥加密发送到服务端,有了它以后,客户端和服务器就同时有了三个随机数——RandomC,RandomS,Pre-master key,接着双方就用事先商定的加密方法,各自生成本次会话所用的同一把“协商密钥”。

加密信息是指上面一步生成的内容,主要包括

  • 一个随机数Pre-master key。用于给服务端生成“协商密钥”。
  • 编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。
  • 客户端握手结束通知,表示客户端的握手阶段已经结束。这一项通常也是前面发送的所有内容的hash值,用来供服务器校验。

服务器收到客户端公钥加密的第三个随机数Pre-master key之后,通过自身私钥解密该数值并由之前的RandomC和RandomS计算生成本次会话所用的“会话密钥”。然后,通过约定的Hash算法验证客户端发送的数据完整性。

主要是指

  • 编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。
  • 服务器握手结束通知,表示服务器的握手阶段已经结束。这一项同时也是前面发生的所有内容的hash值,用来供客户端校验。

客户端解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束。

握手成功之后,所有的通信数据将由之前协商密钥及约定好的算法进行加密解密。

Charles本身是一个协议代理工具,如果只是普通的HTTP请求,因为数据本身没经过再次加密,因此作为代理可以知道所有客户端发送到服务端的请求内容以及服务端返回给客户端的数据内容,这也就是抓包工具能够将数据传输内容直接展现出来的原因。对于HTTPS请求,4,6,8步骤的数据都已经经过了加密,代理如果什么都不做的话是无法获取到其中的内容的。为了实现这个过程的数据获取,Charles需要做的事情是对客户端伪装服务端,对服务端伪装客户端,具体

  • 截获真实客户端的HTTPS请求,伪装客户端向真实服务端发送HTTPS请求
  • 接受真实服务器响应,用Charles自己的证书伪装服务端向真实客户端发送数据内容

一般情况下HTTPS中是客户端对服务端做证书校验,当然也有一些金融机构会有用户证书作为提供给服务端做用户认证的工具,保证发出请求的的确是这部分授权用户。我们仅分析客户端对服务单做证书校验的这种。Android有自己的一套HTTPS通信调用方式,以HttpsURLConnection为例

北京赛车官方正版投注 3

上面这段代码就是一个https请求的样例,这种方法的特点是证书校验工作交由系统处理,系统只会允许可信CA签发的数字证书能够访问,私有CA签发的数字证书(比如12306以及我们上文说的Charles证书)是无法访问的。那么如何绕过呢,

  • 第一种方法是修改Https通信代码,这种只对开发者开发应用的时候好使,我们需要实现X509TrustManager接口去做自己的一套证书校验,它并不通用,尤其是对于我们抓包而言是不可行的,因为我们没法去修改别人应用中的代码。
  • 第二种方法是将私有CA签发的数字证书安装到手机中并且作为受信任证书保存,这种方式是我们推荐的方式,唯一的缺点是你的手机上可能会在通知栏一直留着一个特殊标志,告诉你网络可能被监控。恩,不监控我们怎么抓包呢,哈哈。

原理都说完了,下面就是贴图时间,我们要做的最重要的其实只有一件事情,就是

将私有CA签发的数字证书安装到手机中并且作为受信任证书保存

一步一步来

  • 首先打开Charles菜单,选择安装Charles证书到移动设备

北京赛车官方正版投注 4

  • Charles提示你如何安装,这里如何用手机连接Charles就不做叙述了,普通的HTTP抓包都需要执行

北京赛车官方正版投注 5

  • 手机上打开
  • 选择Proxy-SSL Proxying Settings,设置启用SSL代理能力,并自行Add需要抓取的服务地址

北京赛车官方正版投注 6北京赛车官方正版投注 7Paste_Image.png

下面内容记录了对某款物联网设备的攻击面及安全分析,包括网关、设备、云端、移动客户端之间的通信安全,云端API接口逻辑、网关与设备绑定和解绑等关键操作的安全情况。

其实使用工具抓HTTPS的包本身并不难,两三步简单的操作就可以实现,关键如果不理解原理的话,总觉得不舒服斯基,所以把原理分析放在前面。

3.无线电通信

作为移动平台的RD,项目开发过程中一项比较重要的甩锅技能——抓包应该大家都比较熟悉了,毕竟有些bug可能是由服务端下发的数据出错导致的。虽然抓包工具很好用,但是如果不做一些设置的话,对于HTTPS协议的请求就无能为力了,比如这样

北京赛车官方正版投注 8

北京赛车官方正版投注 9

【编辑推荐】

这对于一些注重安全性的应用来说,或许就不是特别好使,我们的项目目前也在逐渐从HTTP转向HTTPS,因此掌握这些技巧还是比较有用的。抓包工具多种多样,比较好使的还是Charles和Fiddler,下面就简单的介绍下HTTPS的相关原理并以Charles为例来介绍下如何抓取HTTPS协议的包。

1.IoT网关

常见IoT架构

2.对指定设备的每个架构组件建立一个体系结构图,如果是两个“组件”之间的通信,用导向线画出并指定正在使用的通信协议等详细信息,如果应用程序是使用API与云端发送和接收数据,那就在体系结构图中标记它并记录使用的是哪个API。

完整性通用得到了良好的保护。HmacSHA256,HmacSHA1,HmacMd5 的方式保护,Hmac 的 Key 来自于用户登录之后服务端下发的 token,联合报警设备的旧系统固件将数据本地明文存储在 xml 文件中,新版本中本地数据是加密存储的。虽然保证了机密性和完整性但仍存在安全问题,云端接口无法抵御重放攻击。

类似这样的接口还很多在此不一一列举。

交互安全

POST /api/*****/login HTTP/1.1 Host: api.*****.com 

基于硬件的攻击向量-串口通信,固件导出等…..获得访问固件的权限并提取存储在其中的敏感信息。

使用HackRF抓取传感器向联合报警网关发送的告警信号并重放,发现联合报警网关没有防重放机制,将抓取到的信号重放警报声马上响起。

服务器的通信)外全部是加密通信,TCP 链接使用 TLS1.2 通信,使用 HTTPS 传输,UDP 数据使用 AES-128-ECB 加密后传输。

重放和伪造通信数据并发送到云端。

设备和网关之间的无线电通信分析攻击如:Zigbee, zWave, 6LoWPAN。

嗅探发送和接收的数据。

北京赛车官方正版投注 10

在套用上面的攻击面分析模型后可以发现待测设备的机密性得到了良好的保护。联合报警网关、设备、云端系统、移动客户端四者之间的通信,除了日志统计信息(对于与 logs.***.com

客户端逆向分析通信的系统和认证方式:

北京赛车官方正版投注 11

北京赛车官方正版投注 12

api.******.com无防重放机制,通过api.******.version.check获取当前APP版本,通过更改客户端版本到较低版本,再重放该请求,可以返回需要升级的Response包。

网关-云端-移动客户端:

IoT架构基础设施可分为三大类

api.*****.getit仍可以重放,客户端退出账户,云端未将客户端sessionid做过期处理,导致云端还可以接受该sessionid并且返回相应的返回值。

4.云端/WEB程序

BLE(蓝牙低功耗技术)攻击。

3.用于控制、配置和监控设备的移动应用程序

遥控、传感器与网关通信的频率为868MHZ,如下图所示:

2.设备

嗅探发送到云端的通信数据。

移动客户端访问云端系统使用不同的认证方式,有 token 和 session 校验这两种。在IoT架构设计层面,云端为了验证每次移动客户端的请求都要求附带token,而每次移动客户端向云端请求token将增加云端服务的压力,故该联合网关报警产品允许单次批量获取token存储本地供请求时调用。默认每次申请10个token,将count值改为100甚至更多仍可获取相应数量的token。

北京赛车官方正版投注 13

射频信号重放

2.软件和应用程序

遵循以下步骤可以更快的发现IoT的攻击面:

在多数IoT智能环境中,设备通常包括网关和操作设备,网关作为其他设备的控制中心,而操作设备是执行实际动作的设备(如按键遥控器)或监控传感器(烟雾探测器、水浸传感器、红外探测器等)。

到目前为止在日常的工作当中我已经完成了大量的IoT测试业务,依据个人经验,有效的物联网设备的安全测试,你需要对于给定设备进行综合评估并发现所有的攻击面。评估IoT攻击面的技术相比于评估WEB应用程序、移动应用程序并没有改变很多,多数仍是以WEB攻击面为主,比如市面上常见的网关 路由器的组合,然而这里将涉及很多IoT架构中的“组件”攻击面析。

物联网设备中的软件和云组件包括以下元素:

软件和云组件

北京赛车官方正版投注 14

抓取到的报警信号如下图所示:

通信安全

1.首先了解整个物联网设备架构,通过各种途径或在厂商文档信息中发现更多的相关细节。

常见WEB漏洞等…

设备是任何物联网架构的关键,这里的设备指的是架构中所涉及的任何硬件设备(网关、传感器、遥控器等)。

如果你接触过IoT设备,你会知道联合报警网关可搭配:烟雾探测器、水浸传感器、红外探测器等使用。实际上传感器与网关设备的绑定、解绑也存在安全问题。

IoT架构中每个“组件”部分都有特定的漏洞,后面将详细介绍固件部分以及基于IoT的WEB和移动应用漏洞。

设备漏洞指的是嵌入式设备中常见的漏洞,比如:串口root权限访问,闪存中提取固件等…

北京赛车官方正版投注 15

北京赛车官方正版投注 16

api.*****.login通过传输用户名和加密的密码和短信验证码结合才可登录,该接口可以重放,通过分析业务安全防护逻辑可发现虽然云端有IP登录次数限制,但在次数限制内更换代理IP可以持续爆破用户名和密码。

下表是IoT架构中一个“组件”的攻击面分析:

北京赛车官方正版投注 17

上述分析步骤完成,我们就可以执行实际的测试攻击,既然我们已经有了明确的想法接下来看看我们可以使用什么样的攻击技术。

对于本套IoT安全系列文章,我们将看看IoT使用哪些主要通信方式和针对它们的具体攻击方法。

北京赛车官方正版投注 18

POST /api/*****/version/check HTTP/1.1 Host: api.******.com 

2.WEB应用

休眠模式波形如下:

3.当完整的体系结构图准备好时就开始像攻击者一样去思考,如果你必须攻击某个特定“组件”的话你需要确定使用什么样的技术并提取哪些辅助攻击的相关信息,在表格中列出IoT架构中的组件和所需做的测试。

身份认证

无线电通信

北京赛车官方正版投注 19

基于硬件的攻击向量-串口通信,固件导出等…..获得访问固件的权限并提取存储在其中的敏感信息。

简单案例分析

客户端与服务端的通信安全:

如何发现物联网设备的攻击面

移动应用程序逆向分析及敏感数据提取。

1.设备固件

3.移动应用程序

重放和伪造通信数据并发送到云端或设备。

设备

北京赛车官方正版投注 20

北京赛车官方正版投注 21

静默模式:

POST /api/*****/getit HTTP/1.1 Host: api.*****.com 

北京赛车官方正版投注 22

IoT是物联网的代名词,然而随着这些智能设备的安全性得到越来越多人的关注。要想对物联网设备安全性进行评估,需要先了解它所涉及的各种“组件”,以确定哪部分“组件”可能发生什么样的安全问题。

无线电通信是IoT架构安全的重要方面,基于无线电通信,简单说任何通信都是发生于设备与设备或应用程序与设备之间。IoT中常用的通信协议有:WiFi、BLE、ZigBee、ZWave、6LowPAN和蜂窝数据等。

1.嵌入式设备

本文由北京赛车官方正版投注发布于北京赛车官方正版投注,转载请注明出处:轻松、安全地将经过数据传输到移动终端设备北

关键词: 过程 终端设备 数据传输

美以“安全”理由阻中移动入美 专家:双标做法

据外媒报道,特朗普政府拒绝中国移动进入美国电信市场,称其将威胁国家安全。 摘要:据媒体报道,美国政府7月2日...

详细>>

胡春燕:互联网+智能制造

经服务机关举报、行家初审和实地评定调查,宜科荣誉入选“咨询诊断服务部门”、“平台服务商”和“建设方案商...

详细>>

NANO-002:亲手掌控强大工业力量北京赛车官方正版

十分的快的管理速度、双大路内部存款和储蓄器和深厚的工业标准化意味着NANO-002具有别样精细PC天下无双的优势...

详细>>

哈电集团进行二零一七年三季度经济运转深入分

10月15日,集团公司在江北科研基地召开2017年三季度经济运行分析会议,总结分析当前经济运行情况,进一步落实年度...

详细>>