《汽车黑客大曝光》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(美)CraigSmith著;杜静,李博,敖富江译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302457039
  • 页数:246 页
图书介绍:本书展示了如何识别汽车系统的网络安全风险、发现软件漏洞,读者将能够对汽车控制系统中运行的软件有更清晰的认识。同时,读者还将学到导航控制系统是如何控制汽车的,系统内部是如何连接的,系统故障的诊断和解决等。这是一本黑客攻防手册,不需要读者具备机械方面的任何知识。

第1章 理解威胁模型 1

1.1 寻找攻击面 2

1.2 威胁建模 2

1.2.1 Level 0级:鸟瞰视图 3

1.2.2 Level 1级:接收端 3

1.2.3 Level 2级:接收端分解 4

1.3 威胁识别 6

1.3.1 Level 0级:鸟瞰视图 6

1.3.2 Level 1:接收端 7

1.3.3 Level 2级:接收端分解 9

1.4 威胁分级体系 10

1.4.1 DREAD分级体系 10

1.4.2 CVSS:DREAD之外的另一选择 12

1.5 应用威胁建模结果 12

1.6 本章小结 13

第2章 总线协议 15

2.1 CAN总线 16

2.1.1 OBD-Ⅱ连接器 17

2.1.2 找到CAN连接器 18

2.1.3 CAN总线的数据包格式 18

2.1.4 ISO-TP协议 20

2.1.5 CANopen协议 20

2.1.6 GMLAN总线 20

2.2 SAE J1850协议 20

2.2.1 PWM协议 21

2.2.2 VPW协议 21

2.3 关键字协议和ISO 9141-2 22

2.4 局域互联网协议 23

2.5 MOST协议 24

2.5.1 MOST网络层 25

2.5.2 MOST控制块 25

2.5.3 破解MOST 26

2.6 FlexRay总线 26

2.6.1 硬件 26

2.6.2 网络拓扑 26

2.6.3 实现方法 27

2.6.4 FlexRay循环 27

2.6.5 数据包结构 28

2.6.6 嗅探FlexRay网络 29

2.7 汽车以太网 29

2.8 OBD-Ⅱ连接器引脚图 30

2.9 OBD-Ⅲ标准 32

2.10 本章小结 33

第3章 使用SocketCAN与车辆通信 35

3.1 设置can-utils以连接CAN设备 37

3.1.1 安装can-utils 37

3.1.2 配置内置芯片组 37

3.1.3 配置串行CAN设备 39

3.3.4 设置虚拟CAN网络 40

3.2 CAN实用工具套件 41

3.2.1 安装附加的内核模块 42

3.2.2 can-isotp.ko模块 43

3.3 SocketCAN应用程序编程 43

3.3.1 连接到CAN套接字 44

3.3.2 设置CAN数据帧 44

3.3.3 procfs接口 45

3.4 socketcand守护进程 45

3.5 Kayak 46

3.6 本章小结 48

第4章 诊断和日志 49

4.1 故障诊断代码 50

4.1.1 DTC格式 51

4.1.2 用扫描工具读取DTC 52

4.1.3 清除DTC 52

4.2 统一诊断服务 52

4.2.1 利用ISO-TP和CAN发送数据 53

4.2.2 深入理解模式和PID 55

4.2.3 暴力破解诊断模式 56

4.2.4 保持车辆处于诊断状态 58

4.3 事件数据记录器日志 59

4.3.1 读取EDR中的数据 60

4.3.2 SAE J1698标准 60

4.3.3 其他数据获取方法 60

4.4 自动事告呼救系统 61

4.5 恶意意图 61

4.6 本章小结 62

第5章 CAN总线逆向工程 63

5.1 定位CAN总线 64

5.2 使用can-utils和Wireshark逆向CAN总线通信 64

5.2.1 使用Wireshark 65

5.2.2 使用candump 66

5.2.3 分组can总线数据流 66

5.2.4 使用录制/回放 69

5.2.5 创造性数据包分析 72

5.2.6 获得转速表读数 74

5.3 使用仪器总成仿真器创建背景噪声 76

5.3.1 设置ICSim 76

5.3.2 读取ICSim上的CAN流量 78

5.3.3 更改ICSim的难度 78

5.4 使用OpenXC进行CAN总线逆向 79

5.4.1 翻译CAN总线消息 79

5.4.2 写入CAN总线 81

5.4.3 改造OpenXC 81

5.5 CAN总线模糊测试 83

5.6 排除问题 83

5.7 本章小结 84

第6章 ECU黑客 85

6.1 前门攻击 86

6.1.1 J2534:标准化车辆通信API 86

6.1.2 使用J2534工具 87

6.1.3 KWP2000及其他早期协议 87

6.1.4 应用前门攻击:种子-密钥算法 88

6.2 后门攻击 88

6.3 漏洞利用 89

6.4 逆向汽车固件 89

6.4.1 自诊断系统 90

6.4.2 库函数 90

6.4.3 通过字节比较进行参数识别 94

6.4.4 使用WinOLS识别ROM数据 95

6.5 代码分析 96

6.5.1 基础反汇编工具实战 98

6.5.2 交互式反汇编器 100

6.6 本章小结 102

第7章 ECU测试平台的构建与使用 103

7.1 基本ECU测试平台 104

7.1.1 获得ECU 104

7.1.2 分解ECU线路 105

7.1.3 进行连线 107

7.2 搭建高级的ECU测试平台 107

7.2.1 仿真传感器信号 108

7.2.2 霍尔效应传感器 108

7.3 仿真车速 110

7.4 本章小结 114

第8章 攻击ECU与其他嵌入式系统 115

8.1 分析电路板 116

8.1.1 识别型号编码 116

8.2.2 解剖并识别芯片 116

8.2 使用JTAG和串行线缆调试功能调试硬件 118

8.2.1 串行线调试 119

8.2.2 高级用户调试器 120

8.2.3 Nexus 121

8.3 利用ChipWhisperer进行旁路分析 121

8.3.1 安装软件 122

8.3.2 设置Victim Board 124

8.4 使用功率分析攻击方法暴力破解安全引导程序 125

8.4.1 使用AVRDUDESS进行测试准备 126

8.4.2 设置ChipWhisperer以进行串行通信 126

8.4.3 设置自定义密码 128

8.4.4 复位AVR 130

8.4.5 设ChipWhisperer ADC 130

8.4.6 监视密码输入时的功耗 130

8.4.7 ChipWhisperer Python脚本编程 133

8.5 故障注入 134

8.5.1 时钟干扰 134

8.5.2 设置触发线路 139

8.5.3 电源干扰 141

8.5.4 有损故障注入 141

8.6 本章小结 142

第9章 车载信息娱乐系统 143

9.1 攻击面 144

9.2 利用系统更新进行攻击 145

9.2.1 识别系统 145

9.2.2 确定更新文件类型 146

9.2.3 改造系统 147

9.2.4 App和插件 149

9.2.5 识别脆弱性 149

9.3 攻击IVI硬件 151

9.3.1 分解IVI单元的连接 151

9.3.2 拆解IVI单元 153

9.4 信息娱乐系统测试平台 154

9.4.1 GENIVI Meta-IVI 154

9.4.2 Automotive Grade Linux 157

9.5 获取实验用OEM IVI 158

9.6 本章小结 159

第10章 车间通信 161

10.1 V2V通信方法 162

10.2 DSRC协议 163

10.2.1 特征及用途 164

10.2.2 路旁DSRC系统 165

10.2.3 WAVE标准 167

10.2.4 使用DSRC进行车辆跟踪 169

10.3 安全问题 170

10.4 基于PKI的安全措施 171

10.4.1 车辆证书 171

10.4.2 匿名证书 172

10.4.3 证书供应 172

10.4.4 更新证书吊销列表 173

10.4.5 不端行为报告 174

10.5 本章小结 175

第11章 武器化CAN研究成果 177

11.1 用C语言编写漏洞利用程序 178

11.1.1 改写为汇编代码 180

11.1.2 将汇编代码转换为shellcode 183

11.1.3 删除NULL 184

11.1.4 创建Metasploit载荷 184

11.2 确定目标种类 187

11.2.1 交互式探测 187

11.2.2 被动式CAN总线指纹识别 189

11.3 负责任的漏洞利用 192

11.4 本章小结 192

第12章 使用软件无线电攻击无线系统 193

12.1 无线系统和软件无线电 194

12.2 TPMS黑客技术 195

12.2.1 使用射频接收器监听 196

12.2.2 TPMS数据包 197

12.2.3 激活信号 197

12.2.4 跟踪车辆 198

12.2.5 触发事件 198

12.2.6 发送构造的数据包 198

12.3 攻击遥控钥匙和防盗系统 198

12.3.1 遥控钥匙黑客技术 199

12.3.2 攻击PKES系统 201

12.3.3 防盗器密码学 202

12.3.4 对防盗器系统的物理攻击 208

12.3.5 闪回:搭线攻击 211

12.4 本章小结 211

第13章 性能调校 213

13.1 性能调校的取舍 215

13.2 ECU调校 215

13.2.1 芯片调校 216

13.2.2 闪存调校 218

13.2.3 独立发动机管理工具 219

13.3 本章小结 219

附录A 专业工具 221

附录B 诊断代码的模式和PID 233

附录C 创建自己的Open Garages 237

术语表 243