作者 |
[美] 阿迪蒂亚·古普塔(Aditya Gupta) 等 |
丛书名 |
网络空间安全技术丛书 |
出版社 |
机械工业出版社 |
ISBN |
9782112151830 |
简要 |
简介 |
内容简介书籍计算机书籍 ---------------------------8084956 - 物联网安全实战--------------------------- 本书涉及物联网的多个主题,涵盖硬件开发、嵌入式开发、固件开发和无线电开发(如BLE和ZigBee)等物联网开发技术,还介绍了物联网设备中的常见漏洞,并讲述使用安全工具进行安全防护的方法。读者可以用本书介绍的方法解决实际的物联网安全问题,维护物联网环境的安全。 ---------------------------8059662 - 物联网渗透测试--------------------------- 本书介绍物联网渗透测试的原理和实用技术。主要内容包括IOT威胁建模、固件分析及漏洞利用、嵌入式web应用漏洞、IOT移动应用漏洞、IOT设备攻击、无线电入侵、固件安全和移动安全最佳实践、硬件保护以及IOT高级漏洞的利用与安全自动化。 |
目录 |
[套装书具体书目] 8059662 - 物联网渗透测试 - 9787111625070 - 机械工业出版社 - 定价 89 8084956 - 物联网安全实战 - 9787111695233 - 机械工业出版社 - 定价 79 ---------------------------8084956 - 物联网安全实战--------------------------- 译者序 前言 关于作者 第1章 物联网概述 1 1.1 早期的物联网安全问题 3 1.1.1 Nest恒温器 3 1.1.2 飞利浦智能家电 3 1.1.3 Lifx智能灯泡 4 1.1.4 智能汽车 5 1.1.5 Belkin Wemo 5 1.1.6 胰岛素泵 6 1.1.7 智能门锁 6 1.1.8 智能手枪 7 1.2 物联网系统框架 8 1.3 物联网存在安全漏洞的原因 10 1.3.1 开发人员缺乏安全意识 10 1.3.2 宏观视角不足 10 1.3.3 供应链带来的安全问题 10 1.3.4 使用不安全的开发框架和第三方库 11 1.4 小结 11 第2章 物联网渗透测试 12 2.1 什么是物联网渗透测试 12 2.2 攻击面映射 13 2.3 如何实施攻击面映射 13 2.3.1 嵌入式设备 14 2.3.2 固件、软件和应用程序 15 2.3.3 无线电通信 17 2.3.4 创建攻击面映射图 19 2.4 构建渗透测试 22 2.4.1 客户参与和初步讨论 23 2.4.2 更多的技术讨论和信息通报 23 2.4.3 攻击者模拟利用 24 2.4.4 补救措施 24 2.4.5 重新评估 24 2.5 小结 25 第3章 硬件分析 26 3.1 外观检查 26 3.1.1 实例 27 3.1.2 找到输入和输出端口 28 3.1.3 内部检查 29 3.1.4 分析数据手册 32 3.1.5 什么是FCC ID 33 3.1.6 组件封装 36 3.2 无线电芯片组 37 3.3 小结 37 第4章 UART通信 38 4.1 串行通信 38 4.2 UART概述 40 4.3 UART数据包 40 4.4 波特率 42 4.5 用于UART开发的连接 43 4.5.1 确定UART引脚 45 4.5.2 Attify Badge 46 4.5.3 建立最终连接 48 4.5.4 确定波特率 48 4.5.5 设备交互 49 4.6 小结 52 第5章 基于I2C和SPI的设备固件获取 53 5.1 I2C 53 5.2 为什么不使用SPI或者UART 54 5.3 串行外设接口SPI 54 5.4 了解EEPROM 55 5.5 基于I2C的设备分析 56 5.6 I2C和Attify Badge的连接应用 58 5.7 深入了解SPI 61 5.8 从SPI EEPROM读写数据 62 5.9 使用SPI和Attify Badge转储固件 68 5.10 小结 71 第6章 JTAG调试分析 72 6.1 边界扫描 72 6.2 测试访问口 74 6.3 边界扫描指令 74 6.4 JTAG调试 75 6.5 识别JTAG的引脚 76 6.5.1 使用JTAGulator 77 6.5.2 使用带有JTAGEnum的Arduino 79 6.6 OpenOCD 81 6.6.1 安装用于JTAG调试的软件 81 6.6.2 用于JTAG调试的硬件 82 6.7 JTAG调试前的准备 83 6.8 基于JTAG的固件读写 86 6.8.1 将数据和固件的内容写入设备 87 6.8.2 从设备中转储数据和固件 87 6.8.3 从设备中读取数据 88 6.8.4 使用GDB调试JTAG 88 6.9 小结 93 第7章 固件逆向分析 94 7.1 固件分析所需的工具 94 7.2 了解固件 95 7.3 如何获取固件的二进制文件 96 7.4 固件内部的情况 102 7.5 加密的固件 106 7.6 模拟固件二进制文件 111 7.7 模拟完整固件 114 7.8 固件后门 117 7.8.1 创建和编译后门并在MIPS架构上运行 118 7.8.2 修改entries文件并在某个位置设置后门,以便启动时自动加载 122 7.9 运行自动化固件扫描工具 126 7.10 小结 128 第8章 物联网中的移动、Web和网络漏洞利用 129 8.1 物联网中的移动应用程序漏洞 129 8.2 深入了解安卓应用程序 130 8.3 逆向分析安卓应用程序 130 8.4 硬编码的敏感信息 133 8.5 逆向加密 139 8.6 基于网络的漏洞利用 143 8.7 物联网中Web应用程序的安全性 145 8.7.1 访问Web接口 145 8.7.2 利用命令注入 149 8.7.3 固件版本差异比对 153 8.8 小结 155 第9章 软件无线电 156 9.1 SDR所需的硬件和软件 157 9.2 SDR 157 9.3 建立实验环境 157 9.4 SDR的相关知识 159 9.4.1 调幅 159 9.4.2 调频 160 9.4.3 调相 161 9.5 常用术语 161 9.5.1 发送器 161 9.5.2 模拟-数字转换器 161 9.5.3 采样率 162 9.5.4 快速傅里叶变换 162 9.5.5 带宽 162 9.5.6 波长 162 9.5.7 频率 162 9.5.8 天线 163 9.5.9 增益 164 9.5.10 滤波器 165 9.6 用于无线电信号处理的GNURadio 165 9.7 确定目标设备的频率 173 9.8 数据分析 176 9.9 使用GNURadio解码数据 178 9.10 重放无线电包 182 9.11 小结 184 第10章 基于ZigBee和BLE的漏洞利用 185 10.1 ZigBee基本知识 185 10.1.1 了解ZigBee通信 186 10.1.2 ZigBee所需硬件 187 10.1.3 ZigBee安全 187 10.2 低功耗蓝牙 196 10.2.1 BLE内部结构和关联 197 10.2.2 与BLE设备交互 200 10.2.3 基于BLE智能灯泡的漏洞利用 207 10.2.4 嗅探BLE数据包 208 10.2.5 基于BLE智能锁的漏洞利用 214 10.2.6 重放BLE数据包 215 10.3 小结 216 ---------------------------8059662 - 物联网渗透测试--------------------------- 译者序 前言 致谢 作者简介 审稿者简介 第1章 IoT渗透测试1 1.1 简介1 1.2 定义IoT生态系统与渗透测试生命周期2 1.3 固件入门4 1.3.1 固件深度分析4 1.3.2 固件的开发供应链5 1.4 IoT中的Web应用6 1.5 IoT中的移动应用9 1.5.1 混合应用9 1.5.2 原生应用10 1.6 硬件设备基础11 1.7 IoT无线通信简介13 1.7.1 Wi-Fi13 1.7.2 ZigBee14 1.7.3 Z-Wave14 1.7.4 蓝牙15 1.8 IoT渗透测试环境的部署15 1.8.1 软件工具要求15 1.8.2 硬件分析工具需求17 1.8.3 无线电分析工具需求19 第2章 IoT威胁建模20 2.1 简介20 2.2 威胁建模概念简介21 2.2.1 准备工作24 2.2.2 测试流程24 2.3 IoT设备威胁建模剖析28 2.4 固件威胁建模35 2.4.1 准备工作35 2.4.2 测试流程36 2.5 IoT Web应用威胁建模39 2.6 IoT移动应用威胁建模42 2.7 IoT设备硬件威胁建模45 2.8 IoT无线电通信威胁建模47 第3章 固件分析与漏洞利用50 3.1 简介50 3.2 固件分析方法51 3.3 固件提取51 3.3.1 准备工作51 3.3.2 测试流程52 3.3.3 测试分析59 3.4 固件分析59 3.4.1 准备工作59 3.4.2 测试流程59 3.4.3 测试分析62 3.4.4 拓展学习63 3.4.5 延伸阅读64 3.5 文件系统分析64 3.5.1 准备工作64 3.5.2 测试流程64 3.5.3 测试分析67 3.5.4 拓展学习68 3.5.5 延伸阅读68 3.6 基于固件仿真的动态分析68 3.6.1 准备工作68 3.6.2 测试流程68 3.6.3 测试分析70 3.6.4 拓展学习71 3.7 ARM与MIPS架构下二进制文件的分析入门71 3.7.1 准备工作71 3.7.2 测试流程71 3.7.3 拓展学习74 3.8 MIPS架构下的漏洞利用74 3.8.1 准备工作74 3.8.2 测试流程74 3.8.3 测试分析82 3.8.4 拓展学习83 3.9 使用firmware-mod-kit(FMK)在固件中添加后门83 3.9.1 准备工作83 3.9.2 测试流程83 3.9.3 测试分析88 第4章 嵌入式Web应用漏洞利用89 4.1 简介89 4.2 Web应用的安全测试89 4.3 Burp Suite的用法92 4.3.1 准备工作92 4.3.2 测试流程92 4.3.3 测试分析98 4.3.4 拓展学习98 4.3.5 延伸阅读99 4.4 OWASP ZAP的用法99 4.4.1 准备工作99 4.4.2 测试流程99 4.4.3 拓展学习104 4.5 命令注入漏洞利用105 4.5.1 准备工作105 4.5.2 测试流程106 4.5.3 延伸阅读109 4.6 XSS漏洞利用109 4.6.1 准备工作110 4.6.2 测试流程110 4.6.3 拓展学习120 4.6.4 延伸阅读120 4.7 CSRF漏洞利用121 4.7.1 准备工作122 4.7.2 测试流程122 4.7.3 延伸阅读125 第5章 IoT移动应用漏洞利用126 5.1 简介126 5.2 获取IoT移动应用127 5.3 反编译Android应用129 5.3.1 准备工作129 5.3.2 测试流程130 5.3.3 延伸阅读132 5.4 解密iOS应用132 5.4.1 准备工作132 5.4.2 测试流程132 5.4.3 延伸阅读135 5.5 基于MobSF框架的静态分析135 5.5.1 准备工作135 5.5.2 测试流程136 5.5.3 拓展学习144 5.6 基于idb的iOS数据存储分析144 5.6.1 准备工作144 5.6.2 测试流程145 5.6.3 拓展学习149 5.6.4 延伸阅读150 5.7 Android数据存储分析150 5.7.1 准备工作150 5.7.2 测试流程150 5.7.3 延伸阅读153 5.8 动态分析测试153 5.8.1 准备工作153 5.8.2 测试流程153 5.8.3 延伸阅读162 第6章 IoT设备攻击技术163 6.1 简介163 6.2 硬件漏洞利用与软件漏洞利用164 6.3 硬件攻击方法164 6.3.1 信息搜集与分析164 6.3.2 设备的外部分析与内部分析165 6.3.3 通信接口识别165 6.3.4 采用硬件通信技术获取数据166 6.3.5 基于硬件漏洞利用方法的软件漏洞利用166 6.4 硬件分析技术166 6.4.1 打开设备166 6.4.2 芯片分析166 6.5 电子技术基础167 6.5.1 电阻167 6.5.2 电压168 6.5.3 电流168 6.5.4 电容169 6.5.5 晶体管169 6.5.6 存储器类型170 6.5.7 串行通信与并行通信170 6.5.8 拓展学习171 6.6 总线与接口识别171 6.6.1 测试流程171 6.6.2 拓展学习177 6.7 嵌入式设备的串行接口177 6.7.1 准备工作178 6.7.2 测试流程178 6.7.3 延伸阅读180 6.8 NAND噪声干扰180 6.8.1 准备工作181 6.8.2 测试流程181 6.8.3 延伸阅读183 6.9 JTAG接口的调试与漏洞利用183 6.9.1 准备工作183 6.9.2 测试流程183 6.9.3 延伸阅读185 第7章 无线电攻击技术187 7.1 简介187 7.2 SDR入门188 7.3 SDR工具189 7.3.1 准备工作189 7.3.2 测试流程189 7.3.3 拓展学习198 7.4 ZigBee漏洞利用198 7.4.1 准备工作198 7.4.2 测试流程198 7.4.3 拓展学习201 7.5 Z-Wave深入分析201 7.6 BLE分析及漏洞利用203 7.6.1 准备工作205 7.6.2 测试流程206 7.6.3 拓展学习209 第8章 固件安全最佳实践210 8.1 简介210 8.2 内存崩溃漏洞防护211 8.2.1 准备工作211 8.2.2 测试流程211 8.2.3 延伸阅读214 8.3 注入攻击防护214 8.3.1 测试流程215 8.3.2 延伸阅读216 8.4 固件更新保护216 8.5 敏感信息保护218 8.5.1 测试流程219 8.5.2 延伸阅读220 8.6 嵌入式框架加固220 8.6.1 准备工作221 8.6.2 测试流程221 8.7 第三方代码及组件的保护225 8.7.1 准备工作225 8.7.2 测试流程226 第9章 移动安全最佳实践230 9.1 简介230 9.2 数据存储安全231 9.2.1 准备工作231 9.2.2 测试流程231 9.2.3 延伸阅读233 9.3 认证控制措施的实现233 9.3.1 测试流程233 9.3.2 延伸阅读238 9.4 数据传输安全238 9.4.1 测试流程239 9.4.2 延伸阅读242 9.5 Android与iOS平台下组件的使用安全242 9.6 第三方代码与组件安全244 9.6.1 测试流程245 9.6.2 延伸阅读246 9.7 针对逆向分析的保护措施246 9.7.1 测试流程247 9.7.2 拓展学习248 9.7.3 延伸阅读248 第10章 硬件安全保障249 10.1 简介249 10.2 硬件最佳实践249 10.3 非通用的螺丝类型250 10.4 防篡改和硬件保护机制250 10.5 侧信道攻击保护252 10.6 暴露的接口253 10.7 通信数据加密与TPM253 第11章 IoT高级漏洞利用与自动化安全防护254 11.1 简介254 11.2 ROP gadget搜索254 11.2.1 准备工作255 11.2.2 测试流程255 11.2.3 延伸阅读267 11.3 Web安全漏洞的组合利用268 11.3.1 测试流程268 11.3.2 延伸阅读277 11.4 固件持续集成测试配置277 11.4.1 准备工作277 11.4.2 测试流程278 11.4.3 延伸阅读284 11.5 Web应用持续集成测试配置284 11.5.1 准备工作284 11.5.2 测试流程284 11.5.3 延伸阅读292 11.6 移动应用持续集成测试配置293 11.6.1 准备工作293 11.6.2 测试流程293 11.6.3 延伸阅读303 |