攻击点分析: 

萤石A1互联网报警盒子使用“全无线解决方案”,传感器的报警通过433.92MHz射频信号发送给报警主机,报警主机可以通过Wi-Fi联网,将报警上传萤石云端,云端会将信息推送到手机端的“萤石云视频”APP向用户报警。
433MHz是使用非常普遍的ISM免执照频段,尤其在智能家居领域,其穿透和绕射能力强,传输距离远,但不同于Wi-Fi和zigbee具有加密功能,433MHz通常采用明文传输,其安全性较差,因而作为我们优先考虑的攻击点。

漏洞描述:

攻击者利用数字射频处理技术和软件无线电工具,重放所有报警传感器原始射频信号,并绕过系统防重放机制,造成可以推送到用户手机端的假报警信息。

漏洞详情:

抓取了报警传感器在433.92MHz的所有原始射频信号,包括门磁(开,关)、红外、烟感、遥控器(紧急呼救、在家模式、外出模式、睡眠模式、静音),并对信号格式进行了分析。
1. 每次报警会连续发送五次射频信号(烟雾报警为十次),且五次的内容相同。

2. 单次射频信号包含两个数据包。

3. 可以明显看出信号使用ASK调制,解调后可得数据包二进制内容。

4. 对信号二进制作进一步分析:第一个数据包内容不变,固定为两种(门磁、遥控器为一种,烟感、红外为一种)。第二个数据包应包含传感器序列号和种类等信息,其中序列号位于数据包开头位置。

对于同一个传感器所发出的同一种报警信号,在不同时刻记录的第二个数据包部分不同(如下图),因此推测其包含滚动码,而相同的部分为其序列号位置。

5. 滚动码在原理上可以放重放,但实验发现重放攻击仍然有效,因为主机只对信号作单次校验,即与上一次收到的有效信号作比较以防重放。但这种机制对于该产品是十分无效的,因为即使主机不报警,传感器也会经常性地发射射频信号,如门磁和红外,因为重放的信号和主机收到的上一次有效信号一样的概率极低。另外也可以简单地通过重放两段不同的有效信号以绕过该机制。

漏洞利用:

1. 利用该漏洞可以重放传感器信号实现假报警,使用户经历不必要的慌乱,进行多次重放攻击可以使用户不堪其扰,从而丧失对产品的信任,放弃使用该产品。在用户不知情的情况下可能会对品牌产生不良影响。

2. 对于窃贼也可以使用无线电进行入室盗窃,方法是重放遥控器信号使主机切换回在家模式,这样即使被门磁和红外探测到了主机也不会报警。另一种简单粗暴的方法就是直接进行无线电干扰,使所有传感器失效,实验并未发现主机对大功率无线电干扰有任何检测和报警。

萤石A1互联网报警盒子破解细节分析的更多相关文章

  1. HackPwn:TCL智能洗衣机破解细节分析

    上周结束的Hackpwn上,黑客们脑洞大开,破解了比亚迪汽车.小米手环.乐小宝.长虹电视.TCL洗衣机和九阳豆浆机等一系列最新的智能硬件,据黑客介绍,TCL是一家把家门“砌死”的企业,由于得到了将要被 ...

  2. (转)Android 系统 root 破解原理分析

    现在Android系统的root破解基本上成为大家的必备技能!网上也有很多中一键破解的软件,使root破解越来越容易.但是你思考过root破解的 原理吗?root破解的本质是什么呢?难道是利用了Lin ...

  3. 几个容易出错的css盒子模型细节

    css是前端必须掌握的技能之一.其中的box模型,如图所示: 大体就是border.margin.padding和content,概念挺好理解.但当盒子模型与其他属性一块使用时产生的现象,或许您还难以 ...

  4. rip路由协议 细节分析及实例配置【完整版】

    rip路由协议 细节分析及实例配置[完整版] RIP呢,这是一个比较重要的知识点,所以它的知识覆盖面很广泛:但是呢,我将会对碰到的问题进行一些分析解刨(主要是为了帮助自己理清思维):也希望能够从中发现 ...

  5. Ext.create细节分析

    var win1 = Ext.create('Ext.window.Window', { //实例化方法四 : 使用 完整的 Extjs 类名 width: 800, title: 'define t ...

  6. Android 系统 root 破解原理分析 (续)

    上文<Android系统root破解原理分析>介绍了Android系统root破解之后,应用程序获得root权限的原理.有一些网友提出对于root破解过程比较感兴趣,也提出了疑问.本文将会 ...

  7. uboot 顶层makefile细节分析

    uboot的源文件众多,学习庞然大物首先找到脊椎--顶层的makfile,逐一破解.但是,uboot的makefile同样是一个庞然大物,所以也要找到它的主线.倘若过分专注部分细节,很难做到把握全局, ...

  8. Android系统root破解原理分析

    http://dengzhangtao.iteye.com/blog/1543494 root破解过程的终极目标是替换掉系统中的su程序.但是要想替换掉系统中su程序本身就是需要root权限的,怎样在 ...

  9. Android 系统 root 破解原理分析

    现在Android系统的root破解基本上成为大家的必备技能!网上也有很多中一键破解的软件,使root破解越来越容易.但是你思考过root破解的 原理吗?root破解的本质是什么呢?难道是利用了Lin ...

随机推荐

  1. ASP.NET MVC之Bundle压缩JS和CSS

    介绍Bundle之前先引用<淘宝技术这十年>中一段话,对Web前端稍微有点常识的人都应该知道,浏览器下一步会加载页面中用到的CSS.JS(JavaScript).图片等样式.脚本和资源文件 ...

  2. POST提交大量数据,导致后面数据丢失

    这个问题,解决了很久,先简单说下我解决的具体思路: 首先:form表单提交,导致后面数据丢失,考虑了提交大量的数据,导致后台溢出,剩余数据量丢失,所以从网上搜了教程: 参考链接: https://bl ...

  3. LA 3486 Cells(判祖先+栈模拟dfs)

    https://vjudge.net/problem/UVALive-3486 题意: 判断u是否是v的祖先. 思路: 很简单,dfs遍历,记录每个节点第一次访问时的时间戳 in[i] 和第二次访问时 ...

  4. POJ 3628 Bookshelf2(0-1背包)

    http://poj.org/problem?id=3628 题意:给出一个高度H和n个牛的高度,要求把牛堆叠起来达到H,求出该高度和H的最小差. 思路:首先我们计算出牛的总高度sum,sum-H就相 ...

  5. hdu 1427 速算24点 dfs暴力搜索

    速算24点 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Problem De ...

  6. Cocos2d-x学习笔记(四) HelloWorld场景类

    类定义原型如下: #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" ...

  7. c++ 容器填充指定长度(fill_n)

    #include <iostream> // cout #include <algorithm> // fill_n #include <vector> // ve ...

  8. python 插值查找

    def binary_search(lis, key): low = 0 high = len(lis) - 1 time = 0 while low < high: time += 1 # m ...

  9. [.NET开发] C# 读写文件

    1.C#读文件 按行读取文件: public void Read(string path) { StreamReader sr = new StreamReader(path,Encoding.Def ...

  10. dp练习(7)—— 最小和

    3415 最小和 CodeVS原创  时间限制: 1 s  空间限制: 64000 KB  题目等级 : 青铜 Bronze 题解       题目描述 Description 小浣熊松松来到文具店, ...