具体描述
现代的汽车比以往任何时候都更加计算机化。信息娱乐和导航系统、Wi-Fi、软件自动更新,以及其他一些创新都以使驾驶更加便利为目标。然而,汽车技术尚未适应当今更加充满敌意的安全环境,令数以百万计的人受到攻击威胁。
《汽车黑客大曝光》能够深化你对现代汽车中计算机系统和嵌入式软件的理解,以脆弱性检测以及对 CAN总线上和设备/系统间通信的详解开始。理解了汽车的通信网络之后,本书接着介绍如何拦截数据并执行特定的黑客手段,以跟踪车辆、解锁车门、进行发动机时钟脉冲干扰攻击及泛洪通信攻击等。本书专注于低成本的开源黑客工具,如Metasploit、Wireshark、Kayak、can-utils和ChipWhisperer。
主要内容
● 为车辆构建精确的威胁模型
● 对CAN总线进行逆向工程,以伪造发动机信号
● 利用诊断和数据记录系统中的漏洞
● 黑掉ECU和其他固件,以及嵌入式系统
● 通过信息娱乐系统和车辆间通信系统注入漏洞利用程序
● 利用性能调校技术覆盖出厂设置
● 构建物理和虚拟的测试平台,以安全地实验漏洞利用技术
如果你对汽车安全技术有兴趣,有激情攻击两吨重的“计算机”,可将本书作为你的第一站。
作者简介
Craig Smith经营着Theia Labs,这是一家致力于安全审计和软硬件原型构建的安全研究公司。他曾就职于多家汽车厂商,为它们提供公开研究,他也是Hive13创客空间和OpenGarages.org的创始人之一。Craig是汽车黑客技术领域的活跃演讲家,曾在RSA、DEF CON以及其他一些主要的安全大会上主持研讨会。
目录信息
第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-II连接器 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-II连接器引脚图 30
2.9 OBD-III标准 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
· · · · · · (收起)
读后感
继续车联网安全之旅,读完了几本概述,以及车载无线通信的dsrc和c-v2x与协议,基础,安全防护相关的专题,换换脑子,从攻击的角度来看如何实现对汽车的渗透和攻击。 从车联网的角度来看,安全可以分为汽车自身,its系统,互联网应用3个部分,互联网应用的安全攻防与保障与当下...
继续车联网安全之旅,读完了几本概述,以及车载无线通信的dsrc和c-v2x与协议,基础,安全防护相关的专题,换换脑子,从攻击的角度来看如何实现对汽车的渗透和攻击。 从车联网的角度来看,安全可以分为汽车自身,its系统,互联网应用3个部分,互联网应用的安全攻防与保障与当下...
继续车联网安全之旅,读完了几本概述,以及车载无线通信的dsrc和c-v2x与协议,基础,安全防护相关的专题,换换脑子,从攻击的角度来看如何实现对汽车的渗透和攻击。 从车联网的角度来看,安全可以分为汽车自身,its系统,互联网应用3个部分,互联网应用的安全攻防与保障与当下...
继续车联网安全之旅,读完了几本概述,以及车载无线通信的dsrc和c-v2x与协议,基础,安全防护相关的专题,换换脑子,从攻击的角度来看如何实现对汽车的渗透和攻击。 从车联网的角度来看,安全可以分为汽车自身,its系统,互联网应用3个部分,互联网应用的安全攻防与保障与当下...
继续车联网安全之旅,读完了几本概述,以及车载无线通信的dsrc和c-v2x与协议,基础,安全防护相关的专题,换换脑子,从攻击的角度来看如何实现对汽车的渗透和攻击。 从车联网的角度来看,安全可以分为汽车自身,its系统,互联网应用3个部分,互联网应用的安全攻防与保障与当下...
用户评价
**评价三** 不得不提的是,这本书在叙事节奏的把握上独具匠心。它并非枯燥地罗列技术参数,而是巧妙地穿插了一些早年汽车制造发展史上的关键转折点和一些经典车型背后的“研发秘辛”。这种历史的纵深感,让技术细节不再是孤立的冰冷数据,而是有了鲜活的时代背景和人文色彩。我特别喜欢其中关于早期电子燃油喷射系统引入对性能提升的描述,那种从机械时代向电子时代跨越的震撼感,被作者描绘得淋漓尽致。阅读体验非常流畅,即便涉及大量晦涩的动力学和热力学概念,作者也总能找到恰当的比喻来锚定读者的认知,使得整本书读起来像是在听一位老教授娓娓道来他钟爱一生的事业。它成功地平衡了学术的深度与大众的可读性,使得技术学习过程变成了一种享受而非负担。
**评价五** 如果用一个词来形容这本书带给我的感受,那就是“重构认知”。在阅读这本书之前,我对汽车的理解还停留在“四个轮子加一个发动机”的粗浅层面。然而,作者通过对现代汽车复杂子系统之间高度集成和相互依赖关系的层层剥开,彻底颠覆了我过去的一些固有认知。它让我明白了,现代汽车其实是一个高度复杂的、运行在物理世界中的分布式计算机网络。作者在解释系统交互时,那种对系统思维的强调,对我处理工作中的其他复杂问题也产生了积极的影响。这本书的价值在于,它培养了一种底层逻辑的分析能力,让你在面对任何技术难题时,都能自然而然地去寻找那个最核心的控制节点。这本书的价值是长远的,它不是一本读完就束之高阁的书,而是会成为我工具箱里长期陪伴、反复研读的案头宝典。
**评价四** 这本书的编辑排版简直是业界楷模,它的实用价值体现在每一个细节之中。我发现书中所提供的故障代码查询表和常用诊断工具的操作指南,其详尽程度达到了专业维修手册的级别,而且信息更新速度似乎紧跟行业前沿。更让我惊喜的是,作者还专门开辟了一章,探讨了当前汽车电子系统安全防护的一些基础概念,虽然内容点到为止,但对于激发读者对未来汽车安全趋势的思考非常有启发性。整本书的纸张质量和装帧设计都透露出一种对读者的尊重,即便是频繁翻阅查找资料,书籍本身也能保持很好的状态。对于那些希望将所学知识立即付诸实践的读者来说,这本书提供的不仅仅是理论,更是即插即用的实践指南,它的参考价值和工具属性被发挥到了极致。
**评价二** 我原本以为这是一本快餐式的、只谈皮毛的“揭秘”读物,但事实证明我错得离谱。这本书的深度远超我的预期,它没有沉溺于哗众取宠的标题党式内容,而是构建了一个严谨且庞大的技术知识体系框架。它的叙述逻辑如同精密齿轮咬合般严丝合缝,从基础的电路原理开始铺陈,逐步深入到 CAN 总线通信协议的底层逻辑,以及各种传感器和执行器的相互协作机制。作者的叙述风格带着一种冷静的、近乎科学论文的严谨性,但其语言组织却极富感染力,让人在学习复杂知识点的同时,体会到一种智力上的满足感。书中配图的清晰度和专业度也值得称赞,那些复杂线路图和剖面图,经过精心设计,极大地降低了理解难度。对于那些追求技术本质、不满足于“知其然不知其所以然”的硬核爱好者来说,这本书无疑是一座宝库,它教会的不仅是“怎么修”,更是“为什么会这样”。
**评价一** 这本书的文笔简直是教科书级别的存在,那种细腻入微的描写,让我仿佛身临其境地感受到了作者笔下那个光怪陆离的汽车维修世界。它详尽地剖析了现代汽车的复杂构造,从内燃机的精妙运作到电子控制单元(ECU)的每一个细微指令,都解释得清晰透彻,毫无晦涩感。我尤其欣赏作者在讲解那些高深技术术语时,总是能巧妙地运用日常生活的类比,让一个对机械知识知之甚少的门外汉也能迅速抓住核心原理。书中对不同车型故障排除的案例分析,更是如同庖丁解牛般精准到位,每一步操作都带着经验的沉淀和对细节的极致把控。读完后,我感觉自己像是接受了一次顶级的、系统化的汽车维护与诊断培训,对车辆的“脾气秉性”有了前所未有的深刻理解。这本书绝不仅仅是工具书那么简单,它更像是一位经验丰富的大师,手把手地将他毕生的绝学倾囊相授,那种对专业精神的尊重和执着,让人由衷地敬佩。
比起国内的同类书籍,干货要多得多,技术涵盖面也很广,介绍了很多同行的研究工作,是一本不错的汽车黑客入门书籍。作为技术类书籍,最重要就是提供读者动手的机会,对于缺乏动手硬件平台的读者,作者介绍了虚拟can网络配置方法并且开发了ICSim——给了读者一个可以动手操作的仿真平台。本书的思维导图分享如下: 链接:https://pan.baidu.com/s/1D518YyHnfuyXqA9LMBOeBQ 密码:ee5s
比起国内的同类书籍,干货要多得多,技术涵盖面也很广,介绍了很多同行的研究工作,是一本不错的汽车黑客入门书籍。作为技术类书籍,最重要就是提供读者动手的机会,对于缺乏动手硬件平台的读者,作者介绍了虚拟can网络配置方法并且开发了ICSim——给了读者一个可以动手操作的仿真平台。本书的思维导图分享如下: 链接:https://pan.baidu.com/s/1D518YyHnfuyXqA9LMBOeBQ 密码:ee5s
比起国内的同类书籍,干货要多得多,技术涵盖面也很广,介绍了很多同行的研究工作,是一本不错的汽车黑客入门书籍。作为技术类书籍,最重要就是提供读者动手的机会,对于缺乏动手硬件平台的读者,作者介绍了虚拟can网络配置方法并且开发了ICSim——给了读者一个可以动手操作的仿真平台。本书的思维导图分享如下: 链接:https://pan.baidu.com/s/1D518YyHnfuyXqA9LMBOeBQ 密码:ee5s
比起国内的同类书籍,干货要多得多,技术涵盖面也很广,介绍了很多同行的研究工作,是一本不错的汽车黑客入门书籍。作为技术类书籍,最重要就是提供读者动手的机会,对于缺乏动手硬件平台的读者,作者介绍了虚拟can网络配置方法并且开发了ICSim——给了读者一个可以动手操作的仿真平台。本书的思维导图分享如下: 链接:https://pan.baidu.com/s/1D518YyHnfuyXqA9LMBOeBQ 密码:ee5s
比起国内的同类书籍,干货要多得多,技术涵盖面也很广,介绍了很多同行的研究工作,是一本不错的汽车黑客入门书籍。作为技术类书籍,最重要就是提供读者动手的机会,对于缺乏动手硬件平台的读者,作者介绍了虚拟can网络配置方法并且开发了ICSim——给了读者一个可以动手操作的仿真平台。本书的思维导图分享如下: 链接:https://pan.baidu.com/s/1D518YyHnfuyXqA9LMBOeBQ 密码:ee5s