图书目录

目录

第一部分IoT威胁全景

第1章IoT安全概览

1.1为什么IoT安全很重要?

1.2IoT安全与传统IT安全有何不同

1.2.1IoT黑客攻击有何特别之处

1.2.2框架、标准和指南

1.3案例研究: 查寻、报告和披露IoT安全问题

1.4专家视角: 驾驭IoT格局

1.4.1IoT黑客攻击法律

1.4.2政府在IoT安全中的作用

1.4.3医疗设备安全的患者视角

结语

第2章威胁建模

2.1IoT威胁建模

2.2遵循威胁建模框架

2.2.1识别体系结构

2.2.2将体系结构分解为组件

2.2.3识别威胁

2.2.4使用攻击树发现威胁

2.3使用DREAD分类方案对威胁进行评级

2.4其他类型的威胁建模、框架和工具

2.5常见的IoT威胁

2.5.1信号干扰攻击

2.5.2重放攻击

2.5.3设置篡改攻击

2.5.4硬件完整性攻击

2.5.5节点克隆

2.5.6安全和隐私泄露

2.5.7用户安全意识

结语

第3章安全测试原则

3.1被动侦察

3.2物理层或硬件层

3.2.1外设接口

3.2.2引导环境

3.2.3锁具

3.2.4篡改保护和检测

3.2.5固件

3.2.6调试接口

3.2.7物理稳健性

3.3网络层

3.3.1侦察

3.3.2网络协议和服务攻击

3.3.3无线协议测试

3.4Web应用程序评估

3.4.1应用程序映射

3.4.2客户端控制

3.4.3身份验证

3.4.4会话管理

3.4.5访问控制与授权

3.4.6输入验证

3.4.7逻辑缺陷

3.4.8应用程序服务器

3.5主机配置审查

3.5.1用户账户

3.5.2密码强度

3.5.3账户特权

3.5.4补丁级别

3.5.5远程维护

3.5.6文件系统访问控制

3.5.7数据加密

3.5.8服务器配置不当

3.6移动应用程序和云测试

结语

第二部分网络黑客攻击

第4章网络评估

4.1跳入IoT网络

4.1.1VLAN和网络交换机

4.1.2交换机欺骗

4.1.3双重标签

4.1.4模拟VoIP设备

4.2识别网络中的IoT设备

4.2.1通过指纹识别破译密码

4.2.2编写新的Nmap服务探测

4.3攻击MQTT

4.3.1设置测试环境

4.3.2在Ncrack中编写MQTT身份验证破解模块

4.3.3针对MQTT测试Ncrack模块

结语

第5章网络协议分析

5.1检查网络协议

5.1.1信息收集

5.1.2分析

5.1.3原型设计与工具开发

5.1.4进行安全评估

5.2为DICOM协议开发Lua Wireshark分析器

5.2.1使用Lua

5.2.2了解DICOM协议

5.2.3生成DICOM流量

5.2.4在Wireshark中启用Lua

5.2.5定义分析器

5.2.6定义主协议分析器功能

5.2.7完成分析器

5.3构建一个CECHO请求分析器

5.3.1提取应用程序实体标题的字符串值

5.3.2填充分析器功能

5.3.3解析可变长度字段

5.3.4测试分析器

5.4为Nmap脚本引擎编写DICOM服务扫描程序

5.4.1为DICOM编写Nmap脚本引擎库

5.4.2DICOM代码和常量

5.4.3写入套接字创建和销毁函数

5.4.4定义用于发送和接收DICOM数据包的函数

5.4.5创建DICOM数据包头

5.4.6编写AASSOCIATE请求消息Context

5.4.7在Nmap脚本引擎中读取脚本参数

5.4.8定义AASSOCIATE请求结构

5.4.9解析AASSOCIATE响应

5.4.10编写最终脚本

结语

第6章零配置网络的滥用

6.1滥用UPnP

6.1.1UPnP堆栈

6.1.2常见UPnP漏洞

6.1.3在防火墙中打洞

6.1.4通过广域网接口滥用UPnP

6.1.5其他UPnP攻击

6.2滥用mDNS和DNSSD

6.2.1mDNS的工作原理

6.2.2DNSSD的工作原理

6.2.3使用mDNS和DNSSD进行侦测

6.2.4滥用mDNS侦测阶段

6.2.5mDNS和DNSSD中间人攻击

6.3滥用WSDiscovery

6.3.1WSDiscovery的工作原理

6.3.2在网络上伪造摄像头

6.3.3精心打造WSDiscovery攻击

结语

第三部分硬件黑客攻击

第7章滥用UART、JTAG和SWD

7.1UART

7.1.1与UART进行通信的硬件工具

7.1.2识别UART端口

7.1.3识别UART的波特率

7.2JTAG和SWD

7.2.1JTAG

7.2.2SWD的工作原理

7.2.3与JTAG和SWD进行通信的硬件工具

7.2.4识别JTAG引脚

7.3通过UART和SWD黑客攻击设备

7.3.1STM32F103C8T6目标设备

7.3.2设置调试环境

7.3.3在Arduino中编写目标程序

7.3.4刷新并运行Arduino程序

7.3.5调试目标设备

结语

第8章SPI和I2C

8.1与SPI和I2C通信的硬件

8.2SPI

8.2.1SPI的工作原理

8.2.2用SPI转储EEPROM闪存芯片

8.3I2C

8.3.1I2C的工作原理

8.3.2设置控制器——外设I2C总线架构

8.3.3使用Bus Pirate攻击I2C

结语

第9章固件黑客攻击

9.1固件与操作系统

9.2固件的获取

9.3黑客攻击WiFi调制解调路由器

9.3.1提取文件系统

9.3.2对文件系统的内容进行静态分析

9.3.3固件模拟

9.3.4动态分析

9.4后门固件

9.5固件的更新机制

9.5.1编译和设置

9.5.2客户代码

9.5.3运行更新服务

9.5.4固件更新服务中的漏洞

结语

第四部分无线电黑客攻击

第10章短程无线电: 滥用RFID

10.1RFID的工作原理

10.1.1无线电频段

10.1.2无源和有源RFID技术

10.1.3RFID标签的结构

10.1.4低频RFID标签

10.1.5高频RFID标签

10.2使用Proxmark3攻击RFID系统

10.2.1设置Proxmark3

10.2.2更新Proxmark3

10.2.3识别低频卡和高频卡

10.2.4克隆低频标签

10.2.5克隆高频标签

10.2.6模拟RFID标签

10.2.7更改RFID标签

10.2.8使用Android应用程序攻击MIFARE

10.2.9非品牌或非商业RFID标签的RAW命令

10.2.10窃听标签与阅读器之间的通信

10.2.11从捕获的流量中提取扇区密钥

10.2.12合法的RFID阅读器攻击

10.2.13使用Proxmark3脚本引擎自动实施RFID攻击

10.2.14使用自定义脚本进行RFID模糊测试

结语

第11章低功耗蓝牙

11.1BLE工作原理

11.2使用BLE

11.2.1BLE硬件

11.2.2BlueZ

11.2.3配置BLE接口

11.3发现设备并列出特征

11.3.1GATTTool

11.3.2Bettercap

11.3.3枚举特征、服务和描述符

11.3.4对特征进行读/写

11.4BLE黑客攻击

11.4.1设置BLE CTF Infinity

11.4.2开始工作

11.4.3Flag #1: 检查特征和描述符

11.4.4Flag #2: 身份验证

11.4.5Flag #3: 伪造MAC地址

结语

第12章中程无线电: 黑客攻击WiFi

12.1WiFi工作原理

12.2用于WiFi安全评估的硬件

12.3针对无线客户端的WiFi攻击

12.3.1结束鉴权和拒绝服务攻击

12.3.2WiFi关联攻击

12.3.3WiFi Direct

12.4针对AP的WiFi攻击

12.4.1破解WPA/WPA2

12.4.2破解WPA/WPA2 Enterprise以获取证书

12.5一种测试方法论

结语

第13章远程无线电: LPWAN

13.1LPWAN、LoRa和LoRaWAN

13.2捕获LoRa流量

13.2.1设置Heltec LoRa 32开发板

13.2.2设置LoStik

13.2.3将CatWAN USB stick变成LoRa嗅探器

13.3解码LoRaWAN协议

13.3.1LoRaWAN的数据包格式

13.3.2加入LoRaWAN网络

13.4攻击LoRaWAN

13.4.1比特翻转攻击

13.4.2密钥生成和管理

13.4.3重放攻击

13.4.4窃听

13.4.5ACK欺骗

13.4.6特定于应用程序的攻击

结语

第五部分针对IoT生态系统的攻击

第14章攻击移动应用程序

14.1IoT移动应用程序中的威胁

14.1.1将架构分解为组件

14.1.2识别威胁

14.2 Android和iOS的安全控制

14.2.1数据保护和加密文件系统

14.2.2应用程序沙盒、安全IPC以及服务

14.2.3应用程序签名

14.2.4用户身份验证

14.2.5隔离的硬件组件和密钥管理

14.2.6验证启动和安全启动

14.3分析iOS应用程序

14.3.1准备测试环境

14.3.2提取并重新注册IPA

14.3.3静态分析

14.3.4动态分析

14.3.5注入攻击

14.3.6钥匙链存储

14.3.7二进制反转

14.3.8拦截并检查网络流量

14.3.9使用动态补丁避免越狱检测

14.3.10使用静态补丁避免越狱检测

14.4分析Android应用程序

14.4.1准备测试环境

14.4.2提取APK

14.4.3静态分析

14.4.4二进制反转

14.4.5动态分析

14.4.6拦截及检查网络流量

14.4.7侧信道泄漏

14.5使用补丁避免Root检测

14.5.1使用静态补丁避免Root检测

14.5.2使用动态补丁避免Root检测

结语

第15章黑客攻击智能家居

15.1实际入侵一幢建筑物

15.1.1克隆智能门锁系统的RFID标签

15.1.2干扰无线警报

15.2回放IP摄像头视频流

15.2.1了解流协议

15.2.2分析IP摄像头网络流量

15.2.3提取视频流

15.3攻击智能跑步机

15.3.1智能跑步机与Android操作系统

15.3.2控制Android驱动的智能跑步机

结语

附录AIoT黑客攻击工具