欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

逆向分析智能窗帘频射协议

来源:本站整理 作者:佚名 时间:2017-07-27 TAG: 我要投稿

近来我热衷于对家庭自动化设备的破解,然后将它们添加到我的Homekit集成包之中。这事情要从几个月前说起,当时我爸订购了大批量的RAEX 433MHz射频电动窗帘,以替代老式的手动式窗帘。  

注意:你可以在Spotlight网店搜索Motion Motorised Roller Blind找到该窗帘。
我对这个电动窗帘非常满意,有了它我就不用跑上跑下的去打开/关闭窗户,可是为了控制它们,你需要购买RAEX的遥控器。RAEX有许多不同类型的遥控器产品,其中我选择购买了以下两种遥控器:

R 型遥控器 (YRL2016)

 X 型遥控器 (YR3144)
给每间房都装上一个遥控器是不现实的,相反数个房间可以使用同一个遥控器倒还挺实在的。然而也正是因此,遥控器的局限性也就体现出来了。
另外的备选方案则是使用一块被称为RM Pro的硬件,通过使用他们的应用程序进行远程控制。


于我而言该App卡顿,bug又多,不太适合用于家庭自动化生态系统。我希望电动窗帘可以通过Apple Homekit进行行为。
为了控制这些窗帘,我知道我需要达成以下条件中的一个:
逆向App中RM Pro与转子直接的通信协议
逆向遥控器中用于与窗帘通信的射频协议
尝试第一个条件,发现无法拦截iPhone与集线器之间的通信流量。所以给我的选择只有逆向射频协议咯。 在Ebay上购置了一对433MHz的Arduino发射器/接收器。如果链接失效你可以在Ebay上搜索433Mhz RF transmitter receiver link kit

初步研究
通过谷歌搜索,没有获取到许多RAEX所使用协议的相关技术说明的结果:
通过FCC或专利查询未能找到协议的技术说明
向RM Pro官方发送电子邮件寻求技术说明文档,然而他们没能理解我的意思
向RAEX官方发送电子邮件寻求技术说明文档,回应说他们因为保密协议不会提供给我
我发现RFXTRX能够通过BlindsT4模式控制窗帘,该模式也适用于Outlook智能窗帘。
打开其中一个遥控器之后辨识其使用的微控制器,然而无法找到确定其用于解析的通用射频编码方案。
似乎可以通过遥控器上的I2C总线转储ROM芯片对该固件进行逆向分析

这与允许遥控器在引导后的任何时候进行转储有异曲同工之妙
数据捕获
当数据包到达连接到Arduino的接收器,之后开始搜寻用于捕获传输数据的Arduino sketches设计。虽然尝试多次都失败了,但功夫不负有心人最终找到了一个可能用的
确定理解这些知识点(1,2,3)然后看了一些射频逆向分析的相关文章。其中大部分的想法都是通过接收器插入计算机的麦克风端口,使用Audacity来抓取信号。这个思路很不错,就这么搞!  

 

捕获到大量数据,其中有4种R型号遥控器数据,以及2种X型号遥控器数据。更有趣的是8种不同设备都与Broadlink RM Pro(B型号)配对成功。
至此,我确定了一些事情:
传输过程没有滚动码进行身份验证,因此可以将捕获的信号重放并使智能窗帘每次都重复该行为。如果无法逆向该协议,这将是最坏的情况。
传输至少重复3次(根据所使用的遥控器类型而有所不同)
缩放波形,我们可以看出所捕获信息的不同之处。以下例子是捕获到的配对行为:

放大:

在缩放图像中,您可以看到传输以振荡的0101 AGC模式开始,随后是另一个双宽度报头模式,再然后是一个更长的数据头模式,最后则是传输的数据。对于R型遥控器,报头,数据头及数据将重复3次(AGC模式仅在传输开始时发送一次),这可以在第一个图像中看到。 仅观察波形数据对我们帮助不会太多,我们将其数字化以分析其二进制,然后确定不同的遥控器,信道以及行为之间的关系。

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载