导语:物联网作为一个新型行业,其设备安全问题不容小视。安全研究员们努力寻找更多的安全漏洞、设计缺陷,以在被不法分子利用之前将其修复。

物联网作为一个新型行业,其设备安全问题不容小视。安全研究员们努力寻找更多的安全漏洞、设计缺陷,以在被不法分子利用之前将其修复。

近日,Simone Margaritelli通过逆向工程破解了一台智能咖啡机,通过自己的终端设备即可完成对其的全部控制。Simone Margaritell是blackhat上的一名黑客,现在是Zimperium公司的移动安全研究员兼高级ASM/C/C++开发师,同时也是bettercap的开发者。

Simone平日里非常喜爱喝咖啡,所以他买了一台智能咖啡机,通过手机上的APP即可远程操作,冲泡一杯及其好喝的咖啡。

安全研究员骨子里都有一颗躁动的心,所以他决定对这台智能咖啡机解剖,于是便逆向工程了设备协议。

仔细分析APP源码中的类和方法之后,他在am.smarter.smarterandroid.models.a类中发现了一些有趣的事情。

Simone发现了APP和设备之间通信的方式,以及他们使用的协议。每个数据包都是发送到设备的2081端口,这个协议非常简单,下面详细解读一下。

第一字节:命令码
中间字节:选项数据(基于命令代码)
最后一个字节:通常为0x7e

响应数据包有所不同,但大多数指令都是:

第一字节:响应数据大小
第二字节:状态(0代表成功,否则为失败)
最后一个字节:通常为0x7e

比如,我们想让咖啡保温5分钟,其指令和响应代码是:

COMMAND : 0x3e0x05 0x7e
RESPONSE : 0x030x00 0x7e”

随后,Simone便写了一个POC,并已公布在GitHub上。下面是一些简单的控制咖啡机的指令:

制作一杯咖啡:coffee make
用过滤的方式制作两杯咖啡:coffee make filter
咖啡保温10分钟:coffee warm-keep warm=10

由于缺乏验证的问题,只要和机器在同一局域网内,任何人都可以向设备发送指令。

即使移动APP会要求你注册一个账号,但是访问2081端口时是没有任何验证的。也就是说,只要在同一局域网下,任何人都能访问你的账户。

这虽是一个简单的问题,但却影响着大部分的用户,所以老老实实的制作一杯热乎乎的咖啡也不是一件容易的事。

源链接

Hacking more

...