攻击点分析: 

萤石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. springmvc的声明式事务管理类型讲解

    以方法为单位,进行事务控制:抛出异常,事务回滚.   最小的执行单位为方法.决定执行成败是通过是否抛出异常来判断的,抛出异常即执行失败   中文名 声明式事务 外文名 declarative tran ...

  2. js中的&&和||

    你是否看到过这样的代码:a=a||""; 可能javascript初学者会对此感到茫然.今天就跟大家分享一下我的一些心得. 其实: a=a||"defaultValue& ...

  3. Spring boot 添加日志 和 生成接口文档

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  4. 554C - Kyoya and Colored Balls

    554C - Kyoya and Colored Balls 思路:组合数,用乘法逆元求. 代码: #include<bits/stdc++.h> using namespace std; ...

  5. Codeforces 197D - Infinite Maze

    197D - Infinite Maze 思路:bfs,如果一个点被搜到第二次,那么就是符合要求的. 用vis[i][j].x,vis[i][j].y表示i,j(i,j是取模过后的值)这个点第一次被搜 ...

  6. 8天掌握EF的Code First开发

    C#高级知识点&(ABP框架理论学习高级篇)——白金版 http://www.cnblogs.com/farb/p/ABPAdvancedTheoryContent.html

  7. JELLYFISH - Fast, Parallel k-mer Counting for DNA

    kmer分析其实是非常耗费计算资源的,如果我们自己写脚本来分析kmer的话,首先要将所有的序列打断成一定长度的kmer,然后将所有的kmer存储起来,最后统计每个kmer出现的频率,或者统计出现指定次 ...

  8. Nastya Is Buying Lunch CodeForces - 1136D (排列)

    大意: 给定n排列, m个pair, 每个pair(u,v), 若u,v相邻, 且u在v左侧, 则可以交换u和v, 求a[n]最多向左移动多少 经过观察可以发现, 尽量先用右侧的人与a[n]交换, 这 ...

  9. CentOS服务器安装FFmpeg指南

    CentOS服务器安装FFmpeg指南 服务器系统环境为:CentOS 6.5(final): 在服务器成功安装FFmpeg颇废了一番功夫,总结一下成功安装的过程,希望对大家有用 ^_^ : Ps:使 ...

  10. 让CLOVER默认引导WINDOWS

    解决问题帖子: http://www.insanelymac.com/forum/topic/296000-force-clover-to-always-choose-win-81-efi-as-de ...