内容简介
本书通过整合有关汽车系统安全的实用主题,帮助汽车工程师获得竞争优势,从而解决行业面临的严重人才短缺问题,满足构建网络弹性系统的需求。具体来说,本书首先探讨了当前和未来的汽车架构、相关威胁以及应对这些威胁的基本技能。然后,你将探究网络安全工程方法,重点关注如何遵守现有的汽车标准,同时使整个过程更具优势。这些章节的设计既能帮助读者掌握构建安全系统的理论和实践,又能考虑到汽车工程的成本、时间和资源限制。最后几章采用实用的方法对汽车系统进行威胁建模,并教你如何在不同的汽车架构层中实施安全控制。通过阅读本书,你将学到处理任何汽车产品(从单一库到整车架构)网络安全风险的有效方法。
目录
目 录
译者序
前言
关于技术审校
第一部分 理解车辆电气架构的网络安全相关性
第1章 车辆E/E架构概述 3
1.1 E/E架构基本构建模块概述 4
1.2 ECU 4
1.2.1 基于MCU的ECU 5
1.2.2 基于SoC的ECU 7
1.2.3 MCU和SoC软件层内部 8
1.3 ECU域 12
1.3.1 基于燃料的动力传动
系统域 12
1.3.2 基于电动驱动的动力传动
系统域 12
1.3.3 底盘安全控制域 13
1.3.4 内部客舱域 13
1.3.5 信息娱乐与连接域 14
1.3.6 跨域 14
1.4 探索车载网络 14
1.4.1 CAN 15
1.4.2 FlexRay 16
1.4.3 LIN 18
1.4.4 UART 18
1.4.5 SENT 19
1.4.6 GMSL 19
1.4.7 I2C 20
1.4.8 以太网 21
1.4.9 J1939 21
1.5 传感器和执行器 23
1.5.1 传感器类型 23
1.5.2 执行器 26
1.6 探索车辆架构类型 26
1.6.1 高度分布式E/E架构 27
1.6.2 域集中式E/E架构 28
1.6.3 区域架构 31
1.6.4 商用货车架构类型 32
1.7 总结 32
1.8 问题答案 32
1.9 参考文献 34
第2章 汽车用例的网络安全基础 35
2.1 攻击类型探索 36
2.1.1 被动攻击 36
2.1.2 主动攻击 37
2.2 确定安全目标 39
2.2.1 完整性 40
2.2.2 真实性 40
2.2.3 机密性 41
2.2.4 可追责性 41
2.2.5 可用性 41
2.3 密码学在汽车用例中的应用 41
2.3.1 构建模块 41
2.3.2 单向哈希函数 45
2.3.3 报文认证码算法 47
2.3.4 随机数生成器 51
2.3.5 公钥加密 51
2.3.6 密钥管理 56
2.3.7 NIST定义的安全强度 60
2.3.8 中国的加密算法 60
2.3.9 后量子加密算法 60
2.4 安全原则 61
2.4.1 纵深防御 61
2.4.2 域分离 62
2.4.3 最小特权 62
2.4.4 最小共享 63
2.4.5 中介访问 63
2.4.6 保护性默认配置 63
2.4.7 异常检测 64
2.4.8 分布式特权 64
2.4.9 分层保护和零信任 64
2.4.10 最小可信元素 64
2.4.11 最小持久性 65
2.4.12 保护性故障 65
2.4.13 持续保护 65
2.4.14 冗余 65
2.4.15 使用标准化加密 66
2.5 总结 66
2.6 参考文献 66
第3章 针对车辆组件的威胁态势 69
3.1 针对车辆外部接口的威胁 70
3.1.1 与后端相关的威胁 70
3.1.2 连接性威胁 72
3.2 针对E/E拓扑的威胁 80
3.2.1 高度分布式E/E架构 80
3.2.2 域集中式E/E架构 80
3.2.3 中央车辆计算机架构 81
3.3 针对车载网络的威胁 81
3.3.1 CAN 81
3.3.2 FlexRay 82
3.3.3 以太网 83
3.3.4 UDS协议 84
3.3.5 SAE J1939协议 85
3.3.6 SAE J2497(PLC4TRUCKS) 85
3.4 针对传感器的威胁 86
3.5 常见的ECU威胁 88
3.5.1 调试端口 88
3.5.2 闪存编程 89
3.5.3 电源和模式操控 89
3.5.4 篡改机器学习算法 90
3.5.5 软件攻击 90
3.5.6 密钥的泄露和篡改 91
3.6 总结 92
3.7 参考文献 93
第二部分 理解安全工程开发过程
第4章 汽车网络安全标准的现状
探析 97
4.1 主要标准 98
4.1.1 UNECE WP.29 98
4.1.2 中国的法规和标准化 106
4.2 次要标准 107
4.2.1 IATF 16949: 2016 107
4.2.2 汽车软件过程改进和能力
确定 109
4.2.3 可信信息安全评估交换 111
4.2.4 SAE J3101——道路车辆的
硬件保护安全 113
4.2.5 编码和软件标准 113
4.2.6 NIST加密标准 115
4.3 支持性标准和资源 116
4.3.1 MITRE通用弱点枚举 117
4.3.2 US DoT NHTSA 现代车辆的
网络安全最佳实践 118
4.3.3 ENISA智能汽车的安全良好
实践 119
4.3.4 SAE J3061——网络–物理车辆系统的网络安全指南 120
4.3.5 ISO/IEC 27001 120
4.3.6 NIST SP 800-160 120
4.3.7 Uptane 121
4.4 总结 121
4.5 参考文献 122
第5章 深度解析ISO/SAE 21434
标准 125
5.1 注释 126
5.2 ISO/SAE 21434标准概览 126
5.3 组织网络安
前言/序言
前 言
汽车网络安全涉及众多概念、工程方法和技术,其中部分为汽车领域独有,其余则与相关领域共通。这些独特之处源于车辆属于网络物理系统的范畴。在此类系统中,嵌入式计算机与传感器和网络组件集成,以控制物理过程,然后反馈至计算环境。尽管与信息安全领域共享某些概念,但网络物理系统的安全漏洞可能导致实际物理影响,从而引发系统的不安全运行,甚至可能造成人员伤亡。当你选择从事汽车网络安全领域的工作时,你不仅需要保护驾驶员的数据安全、供应链成员的知识产权和声誉,更重要的是,你需要确保驾驶车辆及周边人员的生命安全。
设计本质安全的车辆所面临的复杂性远超技术挑战,涉及汽车行业特有的诸多因素。这些因素包括汽车供应链的复杂性、难以改变的遗留系统和实践、用于部署安全控制的有限预算、不断缩短的项目时间表、受限的计算资源以及严格的功耗要求。所有这些因素必须在满足严格的监管要求和标准的同时加以考虑,这使得汽车网络安全工程师的工作既富有挑战性又令人疲惫。更为棘手的是,汽车网络安全专业人才严重短缺,而车辆互联程度的日益增强使其更易受到网络攻击。在向软件定义车辆转型的过程中,如果车辆未能在安全的基础上开发,那么日益增强的自主性和连通性趋势将难以实现。正如在银行、云计算和企业系统等相关领域所见,当存在经济利益机会时,黑客总能找到突破最复杂防御的方法。
为确保汽车行业不重蹈其他行业的覆辙,即修复漏洞的速度赶不上创建漏洞的速度,需要采用一种系统化的网络安全工程方法,以与该行业内已有良好记录的质量管理和功能安全方法相匹配。你可能听说过“安全设计”“内置安全”“外挂安全”这些术语,这些是我们在本书中致力实践的重要原则。在工程生命周期中采用网络安全面临诸多挑战,本书试图解决这些问题。在最糟糕的情况下,组织识别出威胁,但因时间和成本限制而未能采取措施来降低风险。采用这种方法的组织通常依赖烦琐的流程来营造一种虚假的安全感,该流程产生大量文档以记录风险和风险处理决策,而非在必要的技术上进行投资以缓解关键风险。因此,依赖繁重的文书工作而非技术分析和详细论证安全风险的流程,会导致工程团队将网络安全流程视为一项无价值的形式主义任务。同样,也可能创建过于热衷的安全文化,从而产生在实践中难以实现的过于复杂的安全解决方案。事实上,当安全专家提供过多难以实施或在实际需求审查中无法辩护的深奥解决方案时,他们会失去信誉。因此,网络安全专业人员的任务是在安全性、技术可行性、成本、工作量和总体时间表影响之间寻求平衡。这就是为什么本书的目标之一是定义一种实用的方法,用于构建与现有工程流程和工具无缝集成且能产生有效结果的安全系统。
毫无疑问,当今汽车行业存在巨大的知识鸿沟。为弥合这一差距,汽车行业要么招聘具备有限汽车知识的安全专家,要么培训具有有限安全知识的汽车工程师。本书旨在通过提供一种平衡的方法,在可接受的参数范围内将安全风险降至合理水平,同时确保生产可销售的汽车系统,从而弥合这两类专业人士之间的鸿沟。
本书没有过多地研究理论,有时会有意简化概念以突出其实际应用。我们的目标是让读者接触到尽可能广泛的汽车网络安全相关主题,以便后续可以深入研究感兴趣的领域。无论你是已有工作经验的专业人士,还是刚刚进入该领域的新手,你都会发现,相比提供技术安全解决方案,更具挑战性的是说服他人认识到需要缓解的风险,以及为什么当前必须忍受的不便从长远来看是值得的。拥有规范化的安全工程方法有助于减少这些困难对话中的主观性,避免对合理风险定义的无休止争论。因此,本书旨在通过建立共同语言重新定义安全对话,强调客观性,同时关注缓解网络安全风险。
注意:本书中表达的观点和意见仅代表作者个人立场,不代表其当前或过往雇主的观点。
读者对象
本书适用于需要通过遵循行业标准(特别是ISO/SAE 21434和UNECE REG 155/156)来增强系统网络弹性的汽车工程师和安全专业人员。你可能具有功能安全背景,希望了解如何开发既安全又可靠的系统;也可能有开发非安全相关生产软件的经验,想要学习如何添加安全相关功能;或者你可能具有安全背景,正试图进入汽车领域。无论你的背景如何,本书旨在为你提供一种实用的汽车网络安全工程方法,可以在合理的时间和精力范围内应用,同时利用你所在组织的现有流程。
为便于理解本书中的概念,你需要熟悉基于V模型的基本汽车开发流程和计算机安全的基本原理。通过阅读本书,你应该能够理解汽车系统网络安全的重要性,如何将网络安全工程与开发流程相结合,如何在系统的时间和工程约束内高效执行网络安全工程活动,以及如何在车辆和ECU(Electronic Control Unit,电子控制单元)架构的各个层面部署网络安全控制。因此,本书的策略是为汽车工程团队揭开网络安全的神秘面纱,帮助他们找到将网络安全作为系统固有属性的方法,而非将其视为必须降