MQTT客户端的登录账号密码都在嵌入式设备里面,总是有办法把用户名和密码的明文抓出来,
MQTTS/WSS 也只是保证通讯链路的安全,防止在路由器抓到明文的登录用户名和密码。
如果有人用这个账号密码,向指定主题发送一堆数据,那岂不是很危险?
特别是员工离职之后,成千上万的MQTT终端已经在线上运行了,MQTT的登录账号密码其实已经泄露,
这个时候怎么修补漏洞?
离线
目前我能想到的办法,一机一密码,或者一机一密钥。
但是这样对小公司好像不太现实,维护起来有些困难。
离线
也可以用专网卡,VPN用的SIM卡,比如水表、电表、燃气表、环境监测用这种方案。
离线
现在做物联网的都带AES硬件加密,ARM的TrustZone这类芯片就是干这个的,你的用户名和密码在芯片端就受到严格的加密了,很难搞出来。
离线
用AES加密,并且用空中下发设备证书
离线
用AES加密,并且用空中下发设备证书
这个下载不属于MQTT协议范围吧,请问具体怎么空中下载证书呢?
离线
https://www.cnblogs.com/k1two2/p/4760868.html
上周结束的Hackpwn上,黑客们脑洞大开,破解了比亚迪汽车、小米手环、乐小宝、长虹电视、TCL洗衣机和九阳豆浆机等一系列最新的智能硬件,据黑客介绍,TCL是一家把家门“砌死”的企业,由于得到了将要被现场破解的消息,在HackPwn前一天,TCL就已经关闭了云服务器,在黑客童鞋以消费者身份苦苦哀求了一晚上以后,终于恢复服务,但是在Hackpwn当天又关闭了,又关闭了……
TCL的洗衣机在云端可以相互识别。但正常来说,一台洗衣机是无法给另一台洗衣机下命令的。不过,黑客团队发现了一招制敌妙计,那就是:把命令中禁止发送的字符换成小写字母,换成小写字母,换成小写字母。(重要的事情说三遍)
没错,绕过系统控制就是这么简单。通过此种方法可以通过模仿云端的控制器“京东微联”向任何一台洗衣机下达指令,指令可以精确到温度和转速。
所以,当你回家发现洗衣机以90度的设定温度,以1200转每分钟的转速转了一天的时候,请不要太惊讶哦,你的洗衣机只不过是“认贼作父”了。
通过京东微联手机APP,我们可以查看洗衣机的状态,可以选择多种洗衣模式,调整洗衣机的转速、洗衣的温度等参数。可以实现在任何地点只要洗衣机能接入互联网都可以控制。
对于洗衣机的攻击点分析
使用TCP智能洗衣机时需要对洗衣机进行配置,才能够接入网络,从而使用手机客户端进行远程控制。TCL洗衣机使用的是”京东微联”物联网平台,京东微联是京东旗下针对智能硬件产品专门推出的一项云服务,致力于打造一个多方共赢的智能硬件生态链。
我们可以通过简单的配置将设备通过wifi接入互联网,配置成功后就可以使用京东微联手机客户端来反向控制洗衣机,达到洗衣机设备能够通过手机远程控制的功能,这也就是为什么说这个型号的洗衣机是”智能洗衣机”的原因了。
TCL智能洗衣机最主要的问题时能够绕过”京东微联”平台的统一管控,再利用传输未加密、使用单一因素作为身份鉴权标识,还有XMPP会话登陆机制等特性,最终实现可以通过任意账号横向控制TCL所有的智能洗衣机。在国内主流的一些智能家居设备,接入到大的IOT平台中也有可能存在同样的问题。
离线
当 IoT 设备第一次连接 AWS IoT Core 时,如果它集成的设备证书是由已在 Core 上注册的 CA 证书签发而来,那么相应的设备证书会实现自动注册
注册后的默认状态为“PENDING_ACTIVATION”,意味着虽然设备证书已经成功注册,但是还处于等待激活的状态。同时,这个连接动作默认会发一条消息到 AWS IoT Core 的 MQTT Topic “$aws/events/certificates/registered/” 上,格式如下
{
"certificateId": "<certificateID>",
"caCertificateId": "<caCertificateId>",
"timestamp": "<timestamp>",
"certificateStatus": "PENDING_ACTIVATION",
"awsAccountId": "<awsAccountId>",
"certificateRegistrationTimestamp": "<certificateRegistrationTimestamp>"
}
可以通过iot规则触发lambda函数完成证书激活
离线