首页 > 图书中心 > 汽车黑客大曝光

前言

前    言

2014年,Open Garages——对汽车安全技术的共享与协作感兴趣的一群人,发布了第一本Car Hacker’s Manual(《汽车黑客手册》),作为汽车黑客培训班的教材。原书被设计为可放入汽车手套箱的小开本,在一两天的汽车安全课程中涵盖汽车黑客技术的基础内容。我们几乎没有预料到它会引起读者如此浓厚的兴趣:在第一周它就被下载了超过30万次。实际上,该书如此热门,甚至让我们的Internet服务提供商瘫痪两次!,让他们对我们颇有微词(还好,最后他们原谅了我们,这好极了,因为本人很喜欢这家小的Internet服务提供商HiSpeedSpan.net!)

读者反馈基本上也是好评如潮;主要的批评集中在于该手册篇幅太短,没有足够多的细节。本书就是应这些批评而生的。这本《汽车黑客大曝光》深入到汽车黑客技术的大量细节,甚至涵盖了与安全并不直接相关的内容,例如性能调校以及理解与操作汽车的有用工具。

为何汽车黑客活动能令所有人受益?

尽管买下本书意味着你可能已经明白自己为什么想要黑掉汽车,但为保险起见,这里还是给出一份详述汽车黑客活动益处的列表。

● 理解车辆如何工作:汽车产业推出了一些具有复杂电子和计算机系统的优秀车型,但他们很少公开这些系统如何工作的信息。理解车辆网络如何工作,及其如何与汽车自身系统和外部通信,将有助于更好地诊断和排除问题。

● 玩转电子系统:随着车辆技术的演进,其机械部件减少,而电子部件增加。遗憾的是,汽车电子系统通常对除了代理商的机械师之外的所有人都是封闭的。虽然代理商相对于个人能接触到更多信息,但汽车制造商自己也进行部件外包,并且需要用于诊断问题的专用工具。搞清楚车辆电子设备如何工作能帮助突破上述壁垒。

● 改装车辆:通晓汽车如何通信可以提高改装效果,例如降低油耗以及使用第三方替换件。理解了通信系统原理,就能将其他系统——如显示性能的附加屏幕,或集成性与原厂件同样良好的第三方部件——无缝集成到车上。

● 发现未公开的功能:有时车辆拥有未公开或只是单纯被禁用的功能特性。发现这些未公开/禁用的功能特性并利用它们,能够充分发挥车辆的潜力。例如,某种车可能有一个未公开的“停车员”模式,可在交钥匙给停车员前,将车辆置于受限制的该模式下。

● 验证车辆的安全性:截至本书成文时,车辆安全性导则中对恶意电子威胁没有应对措施。虽然车辆和桌面计算机易受同样恶意软件的攻击,汽车厂商并不被要求审计车辆的电子系统的安全性。该状况显然无法令人接受:乘坐这些车东奔西跑的是我们的家人和朋友,人人都希望能尽量安全。如果学会如何黑客汽车,就能知道车辆哪里易受攻击,从而做出相应预防措施,并成为更称职的更高安全标准的推动者。

● 帮助汽车工业:汽车工业也能从本书涵盖的知识中受益。本书介绍了识别威胁的指南,以及可规避当前防护措施的最新技术。除了帮助设计安全实践,本书还向研究者就如何交流成果提供了指导。

今天的汽车比以往任何时候都更加电子化。在一份发表于IEEE Spectrum期刊上的名为“这辆车运行在代码之上”的报告中,作者Robert N. Charette指出,2009年时,典型的汽车包含超过100个以上的处理器、50个以上的电子控制单元、5千米以上的布线和100万行以上的代码(http://spectrum.ieee.org/transportation/systems/this-car-runs-on-code)。丰田公司的工程师曾开玩笑说,他们给汽车安装车轮的唯一原因就是防止计算机与地面擦撞。随着计算机系统与车辆的集成日趋紧密,进行安全审计也变得日益重要和复杂。

 警告:

汽车黑客活动不能等闲视之。折腾车辆的网络、无线连接、车用电脑或其他电子系统时可能会损坏或禁用它们。在实验本书中的任何技术时,都必须小心翼翼,并将安全作为压倒一切的重点,本书作者和出版社都不会为对你的车辆的任何损害负责。

本书内容

本书将介绍黑掉一辆汽车所需要的方方面面知识。本书从纵览车辆安全相关策略开始,继而深入讲解如何检查车辆是否安全,以及如何寻找复杂硬件系统中的脆弱性。

各章内容提要如下:

第1章:理解威胁模型  教你如何评估一辆汽车,你会学到如何识别具备最高风险的部件所在的区域。对于从事汽车工业工作的读者而言,该章可作为建立自己的威胁模型系统的有用指南。

第2章:总线协议  详细说明在对车辆进行安全审计时可能遇到的不同总线网络,并分析了各种总线使用的布线、电压和协议。

第3章:使用SocketCAN与车辆通信  展示如何使用Linux系统中的SocketCAN接口集成多种CAN硬件,以便编写或使用与设备无关的工具。

第4章:诊断和日志  涵盖如何读取发动机代码、统一诊断服务(Unified Diagnostic Services,UDS)和ISOTP协议。该章说明了不同的模块服务如何工作,它们的共同弱点,以及何种信息将被日志记录以及日志信息的存储位置。

第5章:CAN总线逆向工程  详解如何分析CAN网络,包括如何设置虚拟CAN测试环境,以及如何使用CAN安全相关的工具和模糊测试器。

第6章:ECU黑客  聚焦于在ECU上运行的固件。你会学到如何访问、修改固件以及分析其二进制数据。

第7章:ECU测试平台的构建与使用  说明如何从车上拆卸部件以搭建安全的测试环境。此外,该章还介绍了如何阅读布线图,以及如何为ECU仿真发动机部件,如温度传感器或曲轴。

第8章:攻击ECU与其他嵌入式系统  涵盖集成电路调试针脚和方法学。该章还解析了旁路分析攻击方法,例如差分功耗分析和时钟错误注入攻击,并附以循序渐进的示例。

第9章:车载信息娱乐系统  详解车载信息娱乐系统的工作原理。由于车载信息娱乐系统很可能具有全车最大的攻击面,该章聚焦于进入其固件并在系统中执行攻击代码的不同方法。此外,该章还介绍了一些可用于测试的开源车载信息娱乐系统。

第10章:车间通信  介绍拟议中的车间网络工作机制如何设计。该章涵盖了密码学知识以及多个国家提出的不同协议草案。此外,还分析了车间系统的潜在弱点。

第11章:武器化CAN研究成果  详解如何将研究成果变为实用的利用代码。该章阐明了如何将概念验证代码转换为汇编代码,最终形成shell代码。此外,该章还讨论了如何只精确攻击特定目标车辆的方法,以及探测车辆而不被发觉的方法。

第12章:使用软件无线电攻击无线系统  涵盖如何使用软件无线电工具分析无线通信,例如胎压监测系统、遥控钥匙以及防盗系统。该章回顾了攻击防盗系统时可能会遇到的加密方案,以及相关无线系统的所有已知弱点。

第13章:性能调校  讨论用于增强和修改车辆性能的技术。该章涵盖了芯片优化以及用于微调发动机,令其按期望方式工作的通用工具和技术。

附录A:专业工具  提供了一份在构建汽车安全实验室时有用的软硬件工具列表。

附录B:诊断代码模式和PID  列出了一些通用模式和有用的PID。

附录C:建立自己的Open Garage  介绍了如何加入汽车黑客社区,并组建自己的Open Garage兴趣小组。

读完本书,将会大大加深你对汽车计算机系统如何工作,它们什么地方最脆弱,这些脆弱性如何利用的理解。

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘