




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Broadlink智能生态系列漏洞详解作者:谢军阿里安全研究院官网:百度搜素“阿里聚安全”官方微博:阿里聚安全官方微信:阿里聚安全序言 随着消费电子器件快速发展和物联网在生活中的快递推进,促使芯片产商和大量的智能设备创业团队在智能生活领域加大投入,芯片产商针对各种生活场景提供有针对性的整套SoC(System On Chip)方案,这对小的智能设备创业团队降低了进入该领域的门槛,小团队可以快速的利用芯片产商提供的解决方案,可以定制化硬件设备产品,自己可以不关心硬件集成的问题,自己只需要利用芯片产商提供的SDK开发平台开发自已的上层应用即可,今天我将深入介绍物联网应用中智能设备的一些设计架构和安全问题上的问题,我们将以Broadlink的智能插座作为研究目标来窥探整个博联智能生态网络的安全问题,该系列安全漏洞在2015年的GeekPWN智能设备破解上进行演示过。1.初识智能插座 今天我选择分析研究的这款插座是博联的SP2(smart plug),为什么选择这款插座,这款插座现在应用比较多,而且使用的元器件产商marvell提供的smart energy在国内的创业团队中也应用的比较多,据悉小米插座也使用了marvell的解决方案。外观如下图,是我们今天研究的主角.通过拆解插座我们得知它使用的一些芯片和元器件,下图插座核心模块.Cortex-M3处理器+WIFI模块,具体芯片是marvell的88MC200+88W8782下图是插座的继电器模块,主要功能是用于开关插座,具体器件是Y14F-SS-105LMW-115下图是电量计量模块,用于记录电量使用情况,具体器件是ATT7021CU从使用的这几个模块来看,基本上我们能够确定一些关联,微控制器是核心的控制中心,管理WIFI模块用于联网和通信,管理继电模块物理开关插座,从计电传感器读取电量的使用情况,以上的微控制模块是我们今天研究的重点。2.系统架构我们将从硬件架构和软件系统来对这款插座进行详细介绍。2.1硬件架构这里我们将详细介绍该核心控制系统的硬件和软件架构,上面我们提到了微控制芯片marvell的88MC200和WIFI模块88W8782,这两芯片组合就是Marvell提供的smart Energy解决方案。下图是硬件组合功能图 简单介绍这两片芯片的特性:88MC200 ARM Cortex M3的核,处理器时钟高达200Mhz,512KB SRAM,1MB Flash片上存储空间,128位AES加密算法引擎,CRC算法引擎.88W8782集成Marvell Feroceon CPU(ARMv5TE-compliant)高达128Mhz处理器时钟,兼容802.11 a/b/g/n,支持WIFI-Direct和stations模式(后面会详细介绍,传说中的SmartConfig)2.2软件系统架构该插座的软件系统基于Marvell的Easy-Connect SDK开发平台来完成,产商通过Marvell提供的开发平台来开发属于自己的上层应用,通过marvell提供的信息来看,我们可知该插座的软件系统的一些特性,下图是marvell提供的开发板。操作系统:FreeRTOSTCPIP协议栈:LwIP(一个轻量级的TCPIP协议栈的实现)简单介绍一下嵌入式操作系统FreeRTOS,这是一款开源的跨平台的迷你实时操作系统,第一次知道这个操作系统要从硅谷有一家做智能手表的公司叫pebble watch说起,他们是从美国众筹网站kickstarter上融到钱做智能手表的,他们就是用的FreeRTOS。它的特点就是短小精悍,最小的FreeRTOS核心仅包含3个.C文件(task.c,queue.c, list.c)和少量的头文件,精简编绎的二进制文件可以小到10几K,非常适合做这种低功耗的智能设备的操作系统,博联的这个插座的整个系统的firmware才260多KB,里面包括整个硬件初始化,FreeRTOS系统和TCPIP协议栈,无线管理,上层业务逻辑等等,使用FTFS精简文件系统,显得非常紧簇和精简,下面我们将介绍插座的启动过程。2.2.1系统引导过程 我们从一些途径获取到了该插座的更新固件(BL_SP2-27-3.bin),因此我们可以获知它的内部系统运行的流程和功能,下图是该固件的结构分析图。该固件的头部0x28个字节包含头部标识,固件长度,和加载地址,固件校验等信息。对于88MC200的芯片启动过程来讲,我们有必要附上整个硬件系统的内存分布图,来详细介绍其启动过程,它使用的是Cortex-M3 32位的处理器,使用ARMv7-M架构,使用的指令集Thumb-2(16/32位混用),由于代码密度高,所以编绎出来的体积小。简单介绍一下硬件系统部分地址空间分布:1.地址空间0x0000-0x100000,片上1MB flash存储,0x00x1000为Boot ROM,BootROM的功能主要是把flash上面存储的固件加载到起始地址为0x100000的静态内存上去。2.片上静态内存(SRAM),大小512KB分为4个段,跨代码和数据段,分别是(RAM0/1/2/3),地址空间和大小可以通过系统控制存器标志位可配,默认配置如下:0x100000-0x12ffff RAM0 192KB (用于存储代码和数据)0x12ffff-0x15ffff RAM1 192KB (用于存储代码和数据)0x20000000-0x20010000 RAM2 64KB (运行时栈空间)0x20010000-0x20020000 RAM3 64KB (BootROM运行时栈空间)3.AON Domain静态内存,0x480c0000-0x480c1000 4KB AON Domain(用于存储一些即使系统断电后关键的信息,上电唤醒后还能继续使用)启动过程如下:1.BootROM从0地址读4个字节数据作为初始MSP(主堆栈)的值,然后从0x04地址取值作为指令执行的入口接管MCU(微控制器),通过SPI控制器读取WIFI Flash固件到内存空间,并且WIFI固件代码接管控制权。2.WIFI固件代码把flash上面的系统固件加载到静态内存0x100000处,然后跳到0x100000读取4个字节值作为MSP的初始值,读0x100004作为PC的初始值并开始执行代码,此处是向量表中的reset执行函数3.初始化电源管理单元(PMU)4.初始化uart和watchdog5.从flash里面读取系统之前运行的配置数据信息并校验6.初始化wlan(包括tcpip协议栈,wifi芯片的驱动,无线网络管理)、GPIO和PIN_MUX7.初始化AES加密算法引擎8.初始化插座的业务逻辑等这里我们将重点介绍业务逻辑。设备配置智能设备运行起来并且使用它之前必须用户对它进行配置联网并手机关联帐号等步骤,联网之前必须告之智能设备家里使用的WIFI帐号和密码,这个过程是通过手机来完成,具体方式通过SmartConfig或者DIRECT WIFI来实现。先说SmartConfig模式,该模式是让设备的WIFI模块处于监听模式,这样设备可以收到原始的802.11的数据帧,手机把wifi帐号信息通过随机数据长度编码的方式告之给设备,完成WIFI配网,具体流程如下:上图完成整个WIFI配网和手机和设备配对的过程。DIRECT WIFI的方式更加简单,智能设备把自己变成一个WIFI的AP,让手机用户连接上去,手机用户告之设备家庭WIFI的帐号信息即可完成配网过程,手机配对过程同上。控制插座的客户端与插座之间会协商一个16字位的AES密钥,该密钥的生成基于插座的系统时钟来生成,该密钥将用于业务控制逻辑,比如手机远程控制设备的开关等操作,云端只进行转发和定位设备网络链路,该密钥存储于手机端和设备端,云端并不存储该信息,所有的设备都是MAC地址进行索引。Broadlink智能设备生态博联智能设备生态分两类,第一类就是博联通过自己的物联网解决方案开发的属于自己的智能设备产品,比如如下的智能插座,万能遥控,智能音响,属于自己的产品。 第二类是第三方设备产商通过博联的物联网解决方案加入到它的智能生态中来的设备产商,其中包括传统的家居制造商和一些智能设备产商,如下图示。 博联提供的物联网解决方案包括硬件和软件两方面,硬件就是上面我们提到的Marvell的智能家居方案,软件包括Marvell提供的低功耗嵌入式操作系统方案和博联提供的手机App SDK,网络管理逻辑和云端通信存储方案(可选,因为有的产商是自己建立云端),而设备的控制逻辑由产商开发完成,整体解决方案按照设备收取每个设备9.999元。Broadlink设备漏洞1.控制端缺乏严格的认证导致设备可被攻击者所控制,由于设备与控制端的认证体系的脆弱,设备没有对控制端进行可信性认证,导致设备可能会被恶意攻击者所控制,由于大部分智能设备都在家庭网络里面使用,由于路由器的关系,所以危害性得以缓解,但是在通过我们全球扫描过程中发现仍有大约10000左右的设备暴露在公网中(包括第三方产商的智能设备),大部分在中国。2.未公开的一键“自毁”功能,由于博联所有的智能设备产品都是使用同一套协议框架代码进行开发,不同系列产品只是控制逻辑不同,导致底层代码出问题,所有其它系列产品都会受到影响,该漏洞藏于全系列代码中,一未公开的功能,特定的网络包,可以远程重置设备,清除系统配置信息,让设备处于不可用状态。漏洞一之危害性 由于漏洞一的存在,可以导致智能设备能够远程被黑客控制并且拥有和设备正常用户同样的操作与控制权,由于博联设备支持从非官方地址更新固件,所以黑客可以远程更新插入恶意代码的固件,由于固件更新验证机制比较脆弱,没有数字签名,远程更新固件的防线也轻而易举,笔者为了验证其危害性,自制固件,插入一段代码目的为了把远程智能设备用户家里的WIFI帐号和密码,还有智能设备的MAC地址信息发送到我们的C&C服务器来,并且不破坏智能设备原有的正常业务逻辑。 我们C&C服务器的UDP 80将会收到MAC地址和远程的WIFI帐号信息与密码信息。通过自制固件远程更新并且能够从智能设备中获取用户手机的用户名和IMEI等信息,并且可以渗透内网等功能。Broad
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 入院宣教流程课件
- 健康知识培训心得幼儿园课件
- 偏瘫感觉障碍康复课件
- 伤口造口进修汇报护理课件
- 邮箱平台流程管理办法
- 郑州动态流动管理办法
- 银联卡服务管理办法
- 企业用电安全知识培训
- 海事行政督查管理办法
- 职业能力倾向测验事业单位考试试题与参考答案(2025年)
- 文献检索与科技论文写作入门-第2章
- 无损探伤工(技师、高级技师)技能鉴定考试题库大全-下(多选、判断题汇总)
- 大陆与台湾《建筑抗震设计规范》的比较
- 26字母教学PPT模板
- 辩论赛PPT模板模板
- 2015-2021七年高中数学联赛真题分类汇编 概率统计(学生版+解析版)(共2讲)
- 陶瓷材料基础-陶瓷力学性能-课件
- 开展VIP商务旅客服务的项目策划书
- 广东省封开县金装神梧黄金开采有限公司金矿矿山地质环境保护与土地复垦方案评审意见
- 一年级下册竖式计算题大全
- 大学英语六级(CET-6)试卷模拟真题及答案
评论
0/150
提交评论