
本书主要分为三部分,第一部分总体介绍为什么研究智能硬件安全,以及智能硬件安全风险分析和研究框架。第二部分介绍智能硬件信息安全研究的思路和具体操作方法。第三部分介绍了智能硬件信息安全的分析思路。本书适合硬件安全研究人员、智能硬件开发人员、网络安全人员,以及智能硬件爱好者阅读。
推荐序一 几乎没有人怀疑未来会是一个万物互联的物联网时代,在过去的3 年中各种物联网智能硬件层出不穷,但当大量的互联网企业开始设计、制造智能硬件,当家电企业忙着让自己的家电“联网”“智能”的时候,人们并没有意识到这些智能硬件会成为黑客们的新玩具,于是路由器被入侵、洗衣机被入侵、电视机被入侵、家用摄像头被入侵、专业的安防摄像头也被入侵,直到连智能网联汽车也被成功入侵并可以被远程控制! 人们终于意识到物联网在给我们的生活带来巨大便利的同时,也带来了个人信息泄露的风险,甚至可能会因为信息安全问题而威胁到我们的人身安全,发现物联网的技术平台竟然有那么多的风险存在:从芯片、电路板到固件,从无线通信协议到控制智能硬件用的手机APP,都存在被攻击、被利用、被破解的可能,而物联网安全的研究工作才刚刚起步。 360 网络攻防实验室、360 独角兽团队是国内比较早意识到智能硬件安全性问题的团队,对大量的智能硬件设备做了安全研究,也是国际上最早成功破解特斯拉电动汽车的团队。本书从固件、网络安全、无线通信协议安全、控制APP 安全等角度,以智能摄像头、智能网联汽车、智能电视盒子、智能家电、可穿戴设备、智能机器人为实际案例分析了物联网的安全问题,比较适合作为一本物联网安全的入门读物。 谭晓生 北京奇虎科技有限公司 副总裁 首席隐私官 推荐序二 万物互联时代的核心是各类智能硬件产品。这些智能硬件的出现,一方面为人类的生活带来了极大的便利,提升了人们生活的品质,另一方面其在各个维度可能存在的安全隐患问题也让用户心存担忧。相对于互联网安全,智能硬件安全在国内尚缺少相关书籍进行全面而系统的介绍。刘健皓带领的360 网络攻防实验室合力编著的这本《智能硬件安全》书籍正是在这个大背景下非常及时地填补了这个领域的空白。 《智能硬件安全》的内容总体分成三个板块。第一个板块总体介绍了为什么要研究智能硬件安全,智能硬件的安全风险和研究方法框架及思路。第二个板块全面介绍了智能硬件安全的几类具体研究方法。第三个板块介绍了一些常见的智能硬件的安全分析及破解案例,并且提出安全建议。 基于对车辆安全问题(车辆驾驶安全和车辆信息安全)的共同爱好和兴趣,我和刘健皓及其团队在过去一年有非常频繁而深入的交流。刘健皓是一位顶尖的安全技术专家,2014 年他的团队利用曾经存在的漏洞,破解过特斯拉汽车,能够实现远程控制;2015 年他的团队又利用曾经存在的漏洞,破解过比亚迪汽车,能够实现对汽车的远程攻击。 《智能硬件安全》可以作为物联网安全实例教程,为国内智能硬件安全研究人员提供基本方法指引,从而提高国内智能硬件安全厂家的整体安全水平。同时,本书的部分内容也可以作为科普读物,帮助最终用户提高使用智能硬件时的安全意识。 相信本书将会有效地提升生产厂商和用户对智能硬件安全问题的认识,从而促进万物互联在安全层面的发展。 颜水成 奇虎360 首席科学家、360 人工智能研究院院长 推荐序三 万物互联的时代即将到来,智慧城市、智能家居、智能机器人、智能出行逐渐走入人们的日常生活,智能硬件将成为人们生活中不可或缺的一部分。目前,智能硬件的安全问题并未得到人们的广泛关注,实际上,智能硬件安全问题造成的危害甚至比信息安全问题更严重,直接影响到人身安全、社会安全和国家安全。安全无小事,智能硬件安全必须引起高度重视。 本书是国内第一本介绍智能硬件安全的书籍,介绍了智能硬件的安全风险和研究方法,并附有实战分析及破解案例。希望通过阅读本书,能提高智能硬件生产厂家的安全意识,为智能硬件安全研究人员提供方法和指引,让更多的人参与到智能硬件安全生态体系中,为整体安全能力提升做出贡献。 谈剑峰 上海市信息安全行业协会会长 名家点评 这几年物联网正在飞速发展,人类正在从工业文明大步迈进信息文明,正在用一些新方法解决一些老问题,这些方法用的不是钢筋、水泥和电线,而是云、软件和数据。在即将开启的万物互联的时代,人们在享受智能带来的生活便利与舒适的同时,智能设备的安全问题也已经成为衡量一款智能设备质量的重要指标,物联网的安全问题正在受到关注与重视。 作者通过基础综述、技能方法指导、分类总结等方式,以实例讲解为线索编纂了本书,系统且全面,读者可以按照作者的思路循序渐进地学习。对智能设备安全比较陌生,希望今后在这个领域有所发展的读者,可以在了解物联网安全研究分析基础之后,从手机APK 分析、固件分析、网络协议分析这三章入手,学习后会对智能硬件安全分析的主要技能方法有一定掌握。如果对无线电和硬件系统知识掌握得比较少,可以暂时跳过软件定义无线电分析方法章节,直接进入后面的实例讲解章节,将每章的实例和前面讲的技法结合起来学习,应该能够基本掌握智能设备安全 研究分析方法。而后应该尽可能多地做分析练习,将已经学习到的知识通过实践进行巩固,从而提高自己的独立分析能力。当对智能设备有了一定安全分析能力后,再回过头来了解如何通过软件无线电来分析无线电信号,智能汽车可能存在什么样的安全问题,智能机器人又会面临什么样的安全威胁等章节的内容。至此,对智能设备领域已经有了比较立体的认识,可以独立阅读更多智能设备安全相关资料,并判断选择自己将来的研究方向,也可以向更深层次、更专业的某个方向深入研究。 本书从基础介绍、威胁分析到各种类型的智能设备安全问题分析、漏洞实例分析,深入浅出地对智能设备安全做了全面讲解,通过实例分析帮助读者更形象深入地学习理解智能设备安全研究分析技术并为每类产品安全问题提出相应的安全建议。不论你是智能设备安全的技术爱好者,还是智能设备的开发人员,或者希望将来成为一位智能设备安全问题的挖掘者,都可以从本书中获得你想要的东西。 本书作者刘健皓在智能硬件设备安全技术研究方面起步较早,具有丰富的实践经验,技术扎实全面,发现过不少智能设备的安全问题,还发现过汽车电子系统的安全问题,我们经常互相学习交流,他是一名非常棒的安全技术研究员。非常高兴健皓能邀请我为本书写序,我也很愿意将本书推荐给对智能设备安全感兴趣的你,本书一定可以帮到你。希望大家未来在智能设备安全研究领域也像健皓一样成绩卓越,能够帮助人们更好、更安全地享受物联网带来的伟大进步。 祝大家阅读愉快! 王英键 XCon 创始人,资深安全研究员 前言 目前智能硬件行业正处于飞速发展阶段,智能硬件通过传感器和互联网的巧妙结合给用户带来优质的产品,提高了用户的生活质量。但与此同时,也出现了一些因智能硬件信息安全问题给用户带来的经济与财产的损失。所以智能硬件信息安全问题将比传统信息安全更重要,但因为智能硬件技术是一种多项技术混合应用的体系,更难以做到全面防范。为了提高国内智能硬件信息安全能力水平,帮助信息安全研究人员、智能硬件开发设计人员更好地理解信息安全技术,我们团队共同编著了本书。 智能硬件安全技术是一把双刃剑,大家既能感受到智能硬件安全研究过程中的乐趣与兴奋,也能利用智能硬件的安全问题给用户造成损失。在此希望大家是抱着学习的态度来阅读此书,而不是为了寻找破解智能硬件的方法,利用智能硬件漏洞去做不好的事情。 同时希望本书可以给智能硬件安全研究人员、开发人员、设计人员、物联网专业学生,以及生活中的极客提供指导和参考。 本书架构 本书深入浅出地介绍了智能硬件信息安全的基本概念,同时对几种安全研究方法做了具体的介绍,最后结合一些实际破解案例进行分析(这些破解案例所涉及的智能硬件的漏洞都已经修复)。通过一层一层的递进学习,能够将一个基本了解计算机信息安全技术的读者培养成一个能够上手进行智能硬件安全研究的从业人员。 第1章介绍了智能硬件信息安全的一些基本概念、技术架构、风险分析、研究框架等内容。这些内容来自于我个人的经验总结。 第2~5章介绍了主流的智能硬件安全研究方法,包括APK 逆向分析、固件分析、网络活动分析和无线电分析。通过这些分析方法可以发现智能硬件的整体安全风险。这部分内容由汽车信息安全团队(Sky-GO)安全研究员王奥博、贾文晓编著。 第6~12章针对市面上的智能硬件进行分类,按照不同种类和不同的使用需求对应进行安全分析。主要包括对智能电视盒子、智能汽车、智能安防、智能摄像头、智能家电、智能穿戴娱乐、智能机器人这些智能硬件破解案例的分析。通过案例分析可以很好地印证第2~5章介绍的分析方法,前后呼应,帮助读者理解。这部分由整个汽车信息安全团队(刘健皓、严敏睿、王奥博、贾文晓)共同编著。 致谢 首先,感谢我的老婆及家人。老婆怀孕的时候还鼓励我完成本书的编著工作,并给予我极大支持。 感谢360 公司的周鸿祎、齐向东给团队提供了优质的研究条件和得天独厚的研究平台。 感谢360 公司的谭晓生。感谢谭校长对汽车信息安全团队的悉心教导与栽培。 感谢360 信息安全部全体成员对我工作的支持与理解。 感谢 360 核心安全与企业安全公关市场部的韩笑、尹乃萧、许传朝、马利娜、徐粲然、陈晨、苑一时、景义哲、裴志勇、胡晓、耿陆力等同事为团队的研究成果进行传播等工作。 感谢360 移动安全研究院的蒋旭宪、周亚金等同事对团队的工作支持。 感谢360 人工智能研究院的颜水成、韩玉刚、陈强对团队的工作支持。 360 汽车安全实验室负责人 刘健皓
第1章 IoT安全研究分析基础 ...................................................................................... 1 1.1 为什么要研究IoT安全 .................................................................................... 1 1.2 IoT安全概述 ..................................................................................................... 1 1.3 IoT技术架构分析 ............................................................................................. 3 1.3.1 云平台 .................................................................................................... 3 1.3.2 手机客户端 ............................................................................................ 5 1.3.3 智能硬件终端 ........................................................................................ 6 1.4 IoT安全威胁分析 ............................................................................................. 8 1.4.1 数据存储不安全 .................................................................................... 9 1.4.2 服务端控制措施部署不当 .................................................................... 9 1.4.3 传输过程中没有加密 ............................................................................ 9 1.4.4 手机客户端的注入 .............................................................................. 10 1.4.5 身份认证措施不当 .............................................................................. 10 1.4.6 密钥保护措施不当 ...............................................................................11 1.4.7 会话处理不当 .......................................................................................11 1.4.8 敏感数据泄露 .......................................................................................11 1.5 IoT安全研究方法 ........................................................................................... 12 1.6 本章小结 ......................................................................................................... 13 1.7 本章参考文献 ................................................................................................. 14 第2章 手机APK终端安全分析法 ............................................................................. 15 2.1 APK及其基本结构 ........................................................................................ 15 2.1.1 APK的基本结构 ................................................................................. 15 2.1.2 classes.dex ............................................................................................ 15 2.1.3 resources.arsc ....................................................................................... 15 2.1.4 META-INF目录 .................................................................................. 16 2.1.5 res目录 ................................................................................................ 16 2.1.6 lib目录 ................................................................................................ 16 2.1.7 assets目录 ........................................................................................... 16 2.1.8 AndroidManifest.xml ........................................................................... 16 2.2 反编译 ............................................................................................................. 17 2.2.1 反编译Dalvik字节码文件 ................................................................. 17 2.2.2 反编译共享库.so文件 ........................................................................ 18 2.3 逻辑分析 ......................................................................................................... 18 2.3.1 分析smali代码 ................................................................................... 19 2.3.2 分析jar包 ........................................................................................... 21 2.3.3 分析共享库 .......................................................................................... 21 2.4 重新打包 ......................................................................................................... 22 2.4.1 打包...................................................................................................... 22 2.4.2 签名...................................................................................................... 22 2.4.3 测试...................................................................................................... 22 2.5 动态调试 ......................................................................................................... 23 2.5.1 搭建调试环境 ...................................................................................... 23 2.5.2 动态调试 .............................................................................................. 32 2.6 工具的使用 ..................................................................................................... 37 2.6.1 Android Killer ...................................................................................... 38 2.6.2 JEB ....................................................................................................... 38 2.7 保护措施 ......................................................................................................... 39 2.7.1 代码混淆 .............................................................................................. 39 2.7.2 应用加固 .............................................................................................. 40 2.8 本章小结 ......................................................................................................... 40 2.9 参考文献 ......................................................................................................... 40 第3章 设备固件安全分析方法 ................................................................................... 41 3.1 固件概述 ......................................................................................................... 41 3.2 常见固件获取方式 ......................................................................................... 42 3.3 从固件存储芯片中读取固件 .......................................................................... 42 3.3.1 工具和设备简介 .................................................................................. 42 3.3.2 常见Flash芯片的介绍 ....................................................................... 43 3.4 编程器介绍 ..................................................................................................... 45 3.5 Flash芯片中获取固件的基本流程 ................................................................ 48 3.5.1 基本流程 .............................................................................................. 48 3.5.2 辨别Flash 芯片 ................................................................................... 48 3.5.3 使用吹焊机拆解芯片 .......................................................................... 48 3.5.4 使用编程器获取二进制数据 .............................................................. 49 3.6 调试串口获取shell访问权限 ........................................................................ 50 3.6.1 寻找串口 .............................................................................................. 50 3.6.2 获取访问控制权限 .............................................................................. 52 3.7 分解固件 ......................................................................................................... 53 3.8 调试固件 ......................................................................................................... 58 3.8.1 Binwalk 信息收集 ............................................................................... 58 3.8.2 导入IDA分析 ..................................................................................... 61 3.9 本章小结 ......................................................................................................... 65 3.10 本章参考文献 ............................................................................................... 65 第4章 网络协议安全分析方法 ................................................................................... 66 4.1 工具介绍 ......................................................................................................... 67 4.1.1 TcpDump .............................................................................................. 67 4.1.2 TcpDump与Wireshark ....................................................................... 68 4.2 Wireshark ......................................................................................................... 68 4.3 BurpSuite ......................................................................................................... 69 4.4 流量的捕获 ..................................................................................................... 69 4.4.1 环境准备 .............................................................................................. 69 4.4.2 手机和云端 .......................................................................................... 70 4.4.3 云端和设备 .......................................................................................... 70 4.4.4 手机和设备 .......................................................................................... 71 4.5 流量分析方法与常见漏洞 .............................................................................. 71 4.5.1 数据重放 .............................................................................................. 71 4.5.2 数据解密 .............................................................................................. 73 4.5.3 身份验证与越权 .................................................................................. 78 4.6 本章小结 ......................................................................................................... 79 4.7 本章参考文献 ................................................................................................. 79 第5章 软件定义无线电安全分析方法 ........................................................................ 80 5.1 软件定义无线电 ............................................................................................. 80 5.1.1 定义...................................................................................................... 80 5.1.2 工作原理 .............................................................................................. 81 5.1.3 如何选择SDR工具 ............................................................................ 82 5.2 SDR 工具比较 ................................................................................................. 83 5.2.1 RTL-SDR ............................................................................................. 83 5.2.2 HackRF ................................................................................................ 84 5.2.3 BladeRF ............................................................................................... 84 5.2.4 USRP.................................................................................................... 85 5.2.5 硬件平台对比分析 .............................................................................. 86 5.3 SDR的分析方法 ............................................................................................. 91 5.3.1 采样定理及信号处理频谱分析原理 .................................................. 91 5.3.2 选择SDR工具 .................................................................................... 92 5.3.3 选择配套的软件平台 .......................................................................... 92 5.3.4 GNU Radio .......................................................................................... 99 5.3.5 无线信号分析 .................................................................................... 103 5.4 本章小结 ....................................................................................................... 109 5.5 本章参考文献 ................................................................................................110 第6章 智能电视盒子安全分析 ................................................................................. 112 6.1 智能电视盒子安全威胁分析 .........................................................................112 6.1.1 系统被植入木马、恶意应用的风险 .................................................112 6.1.2 电视内容被篡改的风险 .....................................................................112 6.1.3 隐私泄露风险 .....................................................................................113 6.1.4 被越权控制的风险 .............................................................................113 6.2 智能电视遭受攻击的方式 .............................................................................113 6.2.1 系统底层的攻击 .................................................................................114 6.2.2 云端服务器的攻击 .............................................................................115 6.2.3 电视盒子应用层的攻击 .....................................................................115 6.3 智能电视盒子漏洞分析.................................................................................116 6.3.1 利用APP非授权控制智能电视 ........................................................116 6.3.2 智能电视信息泄露 .............................................................................117 6.3.3 智能电视遥控器会话劫持漏洞 .........................................................118 6.3.4 绕过验证机制,远程任意APK安装漏洞 ...................................... 121 6.4 智能电视盒子类产品安全建议 .................................................................... 123 6.5 本章参考文献 ............................................................................................... 123 第7章 智能汽车安全分析 ........................................................................................ 124 7.1 汽车总线架构及原理 ................................................................................... 125 7.2 汽车信息安全威胁分析................................................................................ 126 7.3 汽车遭受攻击的方式 ................................................................................... 126 7.4 CAN总线 ...................................................................................................... 126 7.5 CAN总线的数据格式 .................................................................................. 128 7.6 汽车总线安全验证 ....................................................................................... 129 7.6.1 筛选.................................................................................................... 129 7.6.2 定位CAN_ID .................................................................................... 130 7.6.3 破解信号 ............................................................................................ 130 7.6.4 验证和保存 ........................................................................................ 131 7.7 验证结果 ....................................................................................................... 131 7.8 汽车信息安全指导建议................................................................................ 133 7.9 本章参考文献 ............................................................................................... 134 第8章 智能安防类产品安全分析 ............................................................................. 135 8.1 智能安防设备架构分析................................................................................ 135 8.2 智能安防设备脆弱性分析 ............................................................................ 136 8.3 案例一:某智能家居套装 ............................................................................ 136 8.3.1 某品牌智能家居的组成 .................................................................... 136 8.3.2 攻击点分析 ........................................................................................ 139 8.3.3 漏洞描述 ............................................................................................ 140 8.3.4 漏洞详情 ............................................................................................ 140 8.3.5 漏洞危害 ............................................................................................ 144 8.4 案例二:某智能家居套装 ............................................................................ 145 8.4.1 某A 的通信体系架构 ....................................................................... 145 8.4.2 某A APP的分析 .............................................................................. 146 8.4.3 伪造任意设备登录 ............................................................................ 149 8.4.4 发送恶意告警 .................................................................................... 149 8.5 智能安防类产品安全建议 ............................................................................ 149 第9章 智能摄像头安全分析..................................................................................... 151 9.1 智能摄像头的演变 ....................................................................................... 151 9.2 智能摄像头的网络结构................................................................................ 151 9.3 智能摄像头的安全分析................................................................................ 152 9.3.1 准备工作 ............................................................................................ 153 9.3.2 短信验证码安全问题 ........................................................................ 155 9.3.3 部分功能存在越权控制 .................................................................... 160 9.3.4 影响与危害 ........................................................................................ 161 9.4 安全修复建议 ............................................................................................... 162 9.5 本章参考文献 ............................................................................................... 163 第10章 智能家电设备安全分析 ............................................................................... 164 10.1 智能洗衣机安全分析 ............................................................................... 164 10.2 智能洗衣机安全风险分析 ....................................................................... 164 10.3 模糊测试 ................................................................................................... 166 10.3.1 XMPP协议简介 .......................................................................... 168 10.3.2 XMPP协议的特点 ...................................................................... 168 10.3.3 XMPP协议分析 .......................................................................... 169 10.3.4 XMPP的基本网络结构 .............................................................. 169 10.3.5 登录测试 ...................................................................................... 170 10.3.6 获取控制指令 .............................................................................. 170 10.3.7 伪造洗衣机控制目标洗衣机 ...................................................... 171 10.3.8 绕过控制指令限制 ...................................................................... 172 10.4 利用场景 ................................................................................................... 173 10.5 问题总结 ................................................................................................... 174 10.6 安全建议 ................................................................................................... 175 第11章 智能穿戴娱乐设备安全分析 ........................................................................ 176 11.1 蓝牙灯泡技术架构及风险分析 ................................................................ 176 11.2 蓝牙灯泡BLE协议嗅探环境搭建 .......................................................... 177 11.2.1 硬件设备 ...................................................................................... 177 11.2.2 嗅探环境 ...................................................................................... 177 11.2.3 蓝牙控制环境配置 ...................................................................... 179 11.3 蓝牙灯泡安全验证分析 ............................................................................ 180 11.3.1 嗅探抓包 ...................................................................................... 180 11.3.2 协议分析 ...................................................................................... 181 11.3.3 控制灯泡 ...................................................................................... 182 11.4 智能手环功能分析 .................................................................................... 182 11.5 智能手环数据安全分析 ............................................................................ 185 11.6 智能手环数据嗅探 .................................................................................... 188 11.7 通过智能手环的数据分析用户行为 ........................................................ 194 11.8 安全建议 ................................................................................................... 196 11.9 本章参考文献 ........................................................................................... 196 第12章 智能机器人安全分析................................................................................... 197 12.1 智能机器人技术架构分析 ....................................................................... 197 12.1.1 信息收集 ...................................................................................... 197 12.1.2 信息融合 ...................................................................................... 197 12.1.3 决策控制 ...................................................................................... 198 12.2 智能机器人安全风险分析 ....................................................................... 199 12.2.1 信息感知控制的安全风险 .......................................................... 199 12.2.2 云端控制平台的安全风险 .......................................................... 199 12.3 智能机器人漏洞验证 ............................................................................... 200 12.4 云平台安全验证 ....................................................................................... 204 12.5 调试接口安全 ........................................................................................... 205 12.6 智能机器人安全建议 ............................................................................... 206 12.7 本章参考文献 ........................................................................................... 206
刘健皓,360汽车安全实验室负责人,牵头参与多家汽车厂商车联网系统、自动驾驶系统的安全研究,参与国家车联网信息安全标准制定工作。在国际安全会议(DEFCON 24、ISC、Syscan360、PacSec、SAE、POC)中发表过重要研究成果;参与多个国家重大专项项目。__eol__