攻击点分析: 

萤石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. os.environ() 说明

    我们想要用Python获得一些有关系统的各种信息的时候就不得不想到os的environ,那这里面都具体包含了那些内容呢? 一.简介 对于官方的解释,environ是一个字符串所对应环境的映像对象.这是 ...

  2. 【BZOJ】[HNOI2015]菜肴制作

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4010 要是考场上想不出,但是还是有一个分治的做法的嘛 做法就是反向连边,然后再反向输出字典 ...

  3. c++ 查找数组或者容器元素是否存在(find)

    #include <iostream> // cout #include <algorithm> // find #include <vector> // vect ...

  4. Python day6_dictionary字典的常见方法1_笔记(基本类型结束)

    # 字典的简述 # 1.字典不能做字典的key,列表也不能作为列表的key info={ 'k1':'v1', 'k2':'v2' } print(info) #2.通过键获取值 print(info ...

  5. zlib__ZC

    官网:http://www.zlib.net/ ,所有版本下载:http://www.zlib.net/fossils/ ZC: 我下载的是 zlib-1.2.3.tar.gz 和 zlib-1.2. ...

  6. Windows 2012 R2 创建AD域

    创建复数的域控制器,容错的同时(一台AD故障),且能提高用户的登录效率. 为了实现负载平衡,域配置前,两台Ad域的DNS应该按如下设置,同时,也为了避免在AD02上,选择“将域控制器添加到现有域”时出 ...

  7. C# ref和out的本质

    ref和out参数的效果一样,都是通过关键字找到定义在主函数里面的变量的内存地址,并通过方法体内的语法改变它的大小.不同点就是输出参数必须对参数进行初始化.输出参数和引用参数的区别:从CLR的角度来看 ...

  8. Redis的介绍

    REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C语言编写.遵守B ...

  9. springboot入门(一)--快速搭建一个springboot框架

    原文出处 前言在开始之前先简单介绍一下springboot,springboot作为一个微框架,它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速.敏捷地开发新一代基于Spring框架 ...

  10. sql一些语句性能及开销优化

    1.应用程序中,保证在实现功能的基础上,尽量减少对数据库的访问次数:通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担:能够分开的操作尽量分开处理,提高每次的响应速度:在数据窗口使用 ...