Hack All The Things
前言
长沙 defcon 沙龙议题 《Hack All The Things》
研究矩阵
研究成果
研究方向
内容
智能家居安全
意义
智能家居(Smart Home, Home Automation)是以住宅为平台,利用综合布线技术、网络通信技术、 安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。 随着物联网快速发展,智能家居会成为每个家庭的一部分,而由于物联网硬件,具有封闭性,以及可以长期控制,用于窃听隐私,偷盗,挖矿等等,因此研究智能家居安全跟每个人都息息相关。
硬件安全
硬件安全攻防
攻击演示
路由器固件提取
利用热风枪拆下路由器存储Flash芯片,并用烧录座和编程器读取路由器固件。
路由器固件逆向分析
使用IDA逆向固件,查看 formDefineCGIjson 中的引用位置发现 websFormDefine 的第二个参数被置为 sub_457ebc 的指针。
发现 bl_do_system 函数的参数为刚才格式化好的字符串,推测此处存在命令执行的问题。
攻击方式
远程攻击
通过社交软件发布钓鱼链接,点击某个链接即可在路由器上植入后门。
内网攻击
通过接入内网,使用攻击脚本执行命令并植入后门。
路由器POC利用并植入木马
通过逆向分析发现该路由器存在远程溢出漏洞,构造POC,可以更改管理员密码,且能崩溃 web 服务器,通过POC植入远程控制木马。
扩大攻击成果
通过路由器远程植入木马,侵入内网,进一步扩大攻击成果,获取内网更多设备权限。
渗透更多智能设备
通过入口木马,全面攻陷内网设备,并在摄像头、智能电视机上植入隐蔽后门,长期潜伏。
通过远程平台,全面掌握智能设备权限,实时监控,获取更多信息。
车联网安全
意义
车联网( IoV即Internet of Vehicles),它属于物联网(IoT,Internet of Things)的一种应用场景,车联网将物联网的范围限定到车与路、车与人,车与车、车和数据平台以及车与传感设备上,各个车辆通过车载互联网经由无线网络、无线电传播技术来实现车辆间、车辆与数据平台的时通信。实际上,真正的车联网,就是V2X(车连万物)。随着多起汽车黑客攻击事件的发生,车载调制解调器和其他无线连接设备的出现,将网络安全问题推到了风口上。监管机构和公众已被迫正视自己的担忧,即违规车辆会威胁司机、乘客和行人的生命。因此车联网的安全研究是一项保障车主、车企乃至社会安全的重要工作。
智能网联汽车安全
自动驾驶安全风险点
车内网络构架
攻击演示
T-BOX分析
T-BOX 硬件分析调试
T-BOX 固件逆向分析挖掘漏洞
IVI分析
IVI 硬件分析、调试
IVI 车载 APP逆向分析挖掘漏洞
车内CAN网络分析
车内CAN网络进行分析
发送指令控制汽车,使仪表盘超速报警
IVI种植木马并远程控制
挖掘出某个高危溢出漏洞并远程种植木马
发送指令控制汽车,使仪表盘超速报警
汽车远程控制平台
远程控制平台和部分控制代码,通过远程平台实现对车辆的控制和车辆状态信息获取
通过硬件木马实现远程对发动机的控制
模拟汽车攻击平台
实验车辆模拟器,模拟发动机ECU、OBD、网关,方向盘控制
PC端控制平台
芯片安全
研究意义
芯片安全是针对芯片本身的安全研究,其在知识产权保护,防抄板山寨、加密解密、优化设计、漏洞挖掘和芯片木马等方面都具有深远意义,传统安全往往着眼于上层应用和驱动层面的安全,然而如果芯片存在本质的设计缺陷或安全漏洞,传统安全手段往往很难触及底层,前段时间英特尔芯片的“崩溃”(Meltdown)和“幽灵”(Spectre)漏洞,轰动整个世界,造成了巨额的损失,此次漏洞爆发就是因为芯片自身的设计缺陷所导致的,芯片分析方式主要包括非侵入式、半侵入式、侵入式、侧信道等。
分析方法
侧信道分析:根据电磁学、热力学、光电学等分析、芯片时运行的功耗、电磁辐射、光子辐射等。
非侵入式分析:保持芯片的完整性,通过外部分析芯片,采用电压、时钟、电流信号进行干扰。
半侵入式分析:对芯片进行开片处理,分析电路构成,破解保护电路和熔丝设置等安全措施。
侵入式分析:开片去除多层封装,采用微探针、SEM、FIB等设备在亚微米级对芯片进行读取、修改或反向。
破解硬件加密指纹U盘
某款采用硬件AES-256位加密算法的指纹U盘,存在算法和通信漏洞,通过硬件加软件结合的方式进行破解。
攻击流程
通过电磁分析,发现存在比较明显的AES 加密周期性电磁泄露。
破解硬件加密指纹U盘
攻击流程
通过电磁分析加解密过程的电磁泄露,获得能量迹,结合逻辑分析仪抓取spi总线数据,分析出指纹识别过程中的整个通信框架,以及加密轮询、加密的key等信息 。然后逆向固件分析出具体的算法,得到key ,在通过 spi从机伪造指纹模块发送成功指令,即可实现破解。
攻击演示
芯片分析
通过示波器和逻辑分析仪抓取总线波形。
通过频谱仪和电磁探针抓取芯片电磁泄露,分析AES加密轮。
算法破解
连接SPI从机。
PC端运行破解程序实现算法解密并获取加密盘符内容。
锁具安全
意义
随着物联网各类技术的逐步进步,越来越多的智能设备出现在我们生活中,智能锁作为智能家居市场上发展最为迅速的品类之一,在锁具市场上所占的份额会越来越大,甚至超过传统锁,成为主流,而智能锁可能暴露的安全问题比传统机械锁更大,机械锁具的攻击点主要在锁芯和锁体结构,而智能锁除此之外,涉及到云端通信、移动端、集成电路模块、指纹、声纹、图像识别、RFID 等等关键技术,暴露的攻击点更多,攻击方式更加隐蔽,可能造成的危害更大,另外许多智能锁厂商并非传统锁具厂商转型过来的,在锁具生产加工制造上,更容易造成机械和设计结构上的物理缺陷,是智能锁安全问题不可忽视的一环。
破解
破解蓝牙锁
利用抓包工具抓取蓝牙信号进行分析
编写攻击脚本实现自动开锁
攻击演示
蓝牙锁重放攻击
破解声波锁
随着支付宝的声波支付技术的出现,声波通信非常火爆,在很多嵌入式设备中的应用倍受关注(Android、iOS、Linux等), 声波技术从理论上决定了它比较适合做短距离、少量信息的传输。一些智能锁厂商也瞄准了声波通信这块,利用声波的便捷性,研发出了声波锁,目前已有成品上市。
攻击演示
声波通信的原理其实比较简单,主要包括两种方式,其一是用单频率声音信号对数据进行编码,然后播放这些单频率声音,接收方在收到声音后,识别出频率,然后根据频率解码出数据。比如:我们可以将1500Hz的正弦波对应数字1,1600Hz的正弦波对应数字2,1700Hz的正弦波对应数字3。那么数字串3123就对应4段正弦波,规定每段正弦波持续100ms,则3123对应400毫秒的声音段。接收方录制声音,对收到的声音进行解析,识别出1700Hz,1500Hz,1600Hz,1700Hz四段正弦波频率,然后查找码本,解码出的数字就是3123。
第二种方式采用在固定时域内生成一段特定频率变化的正弦波作为一个设定周期,通过控制该波在一个大周期内间隔的时间和出现的次数作为编码依据,类似于传统的摩斯密码的编码方式,接收方识别出对应频率变化的波形后,在通过码本解码出对应的信息。
而声波的形成是通过多个正弦波叠加而来的,根据傅里叶变换,只需要提供振幅、频率、相位三个基础的正弦波A.sin(wt+θ)参数,就可以得到真实需要的波形,在通过浏览器渲染或APP渲染输出就是承载信息的声波。
该声波锁板载德州仪器的MSP430G2553超低功耗混合信号微控制器,用来处理接收到的声波。
录制一段通过APP开锁的声音,导入声音分析软件中,发现频率基本在7500KHz上波动。
通过观察波形变化,发现其变化的一个规律,该音频采用的是在一个周期内,通过控制设定波段的播放次数作为编码方式,并且相邻波段之间的时间间隔为某个固定时间值为倍数,猜测编码方式为第二种。
提取固件并进行逆向分析,解密算法密钥
制作开锁软件,利用算法生成开锁音频,实现开锁
物理攻击
使用特制工具从锁与门的缝隙中插入,拨动锁柱实现开锁。
伪造指纹开锁,通过特殊材料伪造指纹模型开锁。
电磁攻击
电磁故障开锁,利用外部电磁源干扰锁具内部执行逻辑,使锁具重启或电机错转开锁
线下场景攻击探索
某品牌共享单车破解
某无人商店破解
某品牌快递柜破解
IoT芯片Fuzz思路
IoT射频芯片网络协议栈Fuzz方案设计思路
- 传统TCP/IP网络协议栈实现具有操作系统支持,CPU运行于保护模式,应用程序和操作系统内核运行于虚拟地址空间内,对协议栈进行Fuzz可以使用Windbg,Gdb等调试器监测异常和崩溃。
- IoT设备的网络协议栈实现通常位于各种射频芯片上,由射频芯片提供无线透传功能。MCU为某种单片机,程序运行于实模式地址空间内,资源较少。出现异常可以由看门狗自动复位,异常不容易被监测。
- 传统Fuzz工具主要由数据定义,变异生成,测试逻辑,错误监视和Log记录等模块组成,各种模块可以无缝配合运行在同一台机器上。
- 类比于传统Fuzz工具设计架构,下面分别介绍IoT设备Fuzz方案对各个模块的设计思路:
- 1.确定目标及输入向量
- 以乐鑫公司生产的ESP8266射频芯片为例,其支持802.11 b/g/n 协议标准.官方SDK中以库的形式提供了802.11协议簇及TCP/IP协议栈的实现。其输入向量为MAC帧.不同的协议标准使用不同的调制方式(物理层),需要专用的硬件电路编码和解码对应频率的电波。
- 针对这种射频协议的Fuzz,物理层可以使用SDR或FPGA实现,MAC层数据定义及变异模块可以使用软件实现。因为802.11协议要求的带宽较大,数据率较大等原因,对SDR平台的性能要求较高,所以较少有SDR/WIFI平台的项目。基于GUNRadio的Gr-ieee802-11项目是一个较为完整的 SDR/WIFI 项目,可基于此项目组建射频前端。
- 2.执行模糊测试数据及监视异常
- ESP8266射频模块接收到引发异常的数据包后会由看门狗自动复位。利用JTAG调试接口及Openocd监测芯片异常,异常之后Openocd会将MCU暂停,使用GDB能够查看函数调用栈
- 3.测试逻辑及Log记录
- 根据以上信息可以编写测试逻辑模块及Log记录,保存引发异常的数据包用来复现异常。
- 4.分析漏洞是否可被利用
- 查看芯片手册,判断是否可以通过FLASH编程修改固件,开发EXP及定制固件达到长期驻留的目的
- 分析电路原理图,查看芯片外设引脚,判断是否可以利用DMA等功能修改其他FLASH数据,达到侧信道提权等目的。