汽车电子系统网络安全解决方案
声明
本文是学习GB-T 38628-2020 信息安全技术 汽车电子系统网络安全指南. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们
汽车电子系统网络安全范围
本标准给出了汽车电子系统网络安全活动框架,以及在此框架下的汽车电子系统网络安全活动、组织管理和支撑保障等方面的要求和建议。
本标准适用于指导整车厂、零部件供应商、软件供应商、芯片供应商以及各种服务提供商等汽车电子供应链上各组织机构开展网络安全活动,指导相关人员在从事汽车电子系统的设计开发、生产、运行和服务等过程中满足基本的网络安全需求。
汽车电子系统网络安全规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 18336—2015 信息技术 安全技术 信息技术安全性评估准则
GB/T 20984—2015 信息安全技术 信息安全风险评估规范
GB/T 29246—2012 信息技术 安全技术 信息安全管理体系 概述和词汇
GB/T 30279—2013 信息安全技术 安全漏洞等级划分指南
GB/T 31167—2014 信息安全技术 云计算服务安全指南
GB/T 31168—2014 信息安全技术 云计算服务安全能力要求
GB/T 31509—2015 信息安全技术 信息安全风险评估实施指南
GB/T 31722—2015 信息技术 安全技术 信息安全风险管理
汽车电子系统网络安全 术语和定义
GB/T 29246-2012界定的以及下列术语和定义适用于本文件。
汽车电子系统 automotive electronics systems
包含车体控制电子系统和车载服务电子系统,其中车体控制电子系统与车上机械系统配合使用,包括发动机控制系统、底盘控制系统、车身电子控制系统等;车载服务电子系统能够独立于汽车环境使用,与汽车本身的性能无直接关系,包括车载信息娱乐系统及个人设备交互信息系统等。
未决问题 pending question
在进行安全性评估时,现有网络安全控制措施不能降低或不确定能够降低的网络安全威胁,以及需要在后续过程中进一步分析和处理的问题。
系统上下文 system context
定义系统软硬件接口、关键数据流、存储和信息处理等内容的集合。
攻击树分析 attack tree analysis
由系统应用层出发,分析攻击者可能进行的攻击路径的方法。
信息物理系统 cyber-physical system
由计算部件和物理控制部件组成的系统。
信息物理车辆系统 cyber-physical vehicle system
在系统的计算部件和物理部件以及系统周围环境之间存在紧密耦合的车辆嵌入式控制系统。
网络安全状况说明 cybersecurity statement
在所有的阶段检查完成后,在产品即将正式发布的生产环节之前进行的网络安全评估,为每一个设计和开发的特性提供其满足网络安全目标的结论与证据。
网络安全目标 cybersecurity goal
从威胁分析和风险评估结果中获得的,针对某系统功能特性需要达到的网络安全目标。它(们)是最高抽象层次的安全需求,在产品的开发阶段将会以它(们)为基础导出具体功能的和技术的网络安全需求。
信任边界 trust boundary
程序的数据或执行流的“信任”级别发生改变的边界。
注:一个执行流的信任边界可以是在一个应用的权限被提升的地方。
汽车电子系统网络安全 缩略语
下列缩略语适用于本文件。
CAN 控制域网络 Control Area Network
ECU 电子控制单元 Electronic Control Unit
FOTA 固件空中下载 Firmware Over The Air
IVI 车载信息娱乐系统 In-Vehicle Infotainment
JTAG 联合测试访问组 Joint Test Access Group
MISRA 汽车工业软件可靠性协会 Motor Industry Software Reliability Association
OBD 车载诊断系统 On-Board Diagnostic
SIM 用户身份模块 Subscriber Identity Module
SOTA 软件空中下载 Software Over The Air
T-BOX 智能网联汽车的通信网关 Telematics BOX
USB 通用串行总线 Universal Serial Bus
V2X 车对车、车对外界的信息交换 Vehicle to Everything
汽车电子系统网络安全活动框架
5.1 概述
汽车电子系统网络安全活动框架如图1所示,包含汽车电子系统网络安全活动、组织管理以及支撑保障,其中网络安全活动是框架的核心,主要是指在汽车电子系统生命周期各阶段开展的相关安全活动,这些阶段包括概念设计阶段,系统层面的产品开发阶段,硬件层面的产品开发阶段,软件层面的产品开发阶段,产品生产、运行和服务阶段。
- 汽车电子系统网络安全活动框架
组织可以根据自身实际情况,对网络安全活动框架中各部分进行配置和裁剪,并考虑与组织现有的管理体系(比如质量管理体系)的机构设置、过程活动进行结合,以便落实本标准所建议的网络安全措施,以较小的代价实现高效的安全。
5.2 组织管理
组织管理是指开展汽车电子系统网络安全活动所需要具备的组织、人员能力、制度等方面的条件,主要包括组织机构设置、建立沟通协调平台、制度建设与员工培训、建立网络安全测试与评估、阶段检查能力等。
5.3 网络安全活动
5.3.1 概念设计阶段
概念设计阶段主要包括系统功能定义、网络安全过程启动、威胁分析及风险评估、网络安全目标确定、网络安全策略设计、网络安全需求识别、初始网络安全评估、阶段检查等环节的活动。
5.3.2 产品开发阶段
产品开发阶段包括系统层面产品开发阶段、硬件层面产品开发阶段和软件层面产品开发阶段。图2展示了产品开发阶段的基本过程,以及系统层面、硬件层面和软件层面产品开发之间的关系。图2没有包含迭代过程,但实际上许多阶段都需要反复迭代,才能最终实现开发目标。
系统层面产品开发阶段主要包括系统层面产品开发启动、网络安全技术需求规格(包括系统层面漏洞分析、网络安全策略具体化、确定网络安全技术需求等)、系统设计、系统功能集成和网络安全测试、网络安全验证、网络安全评估和检查以及产品发布等环节的工作。
硬件层面产品开发阶段主要包括硬件产品开发启动、硬件网络安全需求规格(包括硬件层面漏洞分析、确定网络安全需求)、硬件设计、硬件集成和网络安全测试、硬件网络安全需求验证、细化网络安全评估等环节。
软件层面产品开发阶段主要包括软件产品开发启动、软件网络安全需求规格(包括软件层面漏洞分析、确定网络安全需求)、软件架构设计、软件单元设计与实现、软件单元测试、软件集成和网络安全测试、软件网络安全需求验证、细化网络安全评估等环节。
- 系统层面、硬件层面与软件层面产品开发的关系
注1:图中双向箭头线表示对应或一致性关系,比如“系统设计”和“系统功能集成和网络安全测试”之间的双向箭头线表示,系统的功能集成和网络安全测试应以与系统设计相一致的方式进行,集成和测试的内容、顺序以及具体方式等应以系统设计为依据。
注2:图中单向箭头线表示过程活动之间的顺序关系。箭头左边的活动在前面执行,箭头右边的活动在后面执行。
5.3.3 产品生产、运行与服务阶段
产品生产、运行与服务阶段主要包括现场监测、事件响应和后续相关的事件跟踪管理等活动。
5.4 支撑保障
汽车电子系统网络安全支撑保障主要包括配置管理、需求管理、变更管理、文档管理、供应链管理、云管端安全等方面的内容。
汽车电子系统网络安全组织管理
6.1 组织机构设置
组织应高度重视网络安全,把网络安全放在组织的战略层面进行考虑,并具体通过如下方面体现:
a) 制定和实施组织的网络安全战略、方针和目标;
b) 落实网络安全的领导责任制,可建立有组织高层领导负责的网络安全领导小组,负责网络安全战略、方针和目标的制定和实施监督,并协调各部门之间的配合协作;
c) 设置专门的机构,负责有关网络安全方面的文化建设、信息沟通、培训、跨部门资源调配以及其他相关工作;
d) 员工能够清楚地知道组织内部与网络安全相关的机构设置及职责分工。
6.2 建立沟通协调平台
组织宜建立有关网络安全的内部及外部信息沟通协调渠道,包括但不限于以下方面:
a) 制定组织内部或外部的个人或组织报告突发网络安全事件的流程,明确组织内相关各部门之间的衔接方式及应承担的责任;
b) 制定组织向相关方通报有关网络安全事件的流程,对事件的严重性程度进行分级管理;
c) 制定响应和处理来自政府、媒体、公众和组织内部的有关网络安全事件的处理流程。
6.3 制度建设与员工培训
组织宜将网络安全制度作为组织建设的重要内容,创建、培养和维持组织的网络安全文化,以增强员工的网络安全意识能力。可具体从如下方面开展组织工作:
a) 编制有关网络安全的制度或过程文件;
b) 收集、积累和传播网络安全相关的实践经验、网络安全漏洞的解决方案和相关产品的应用案例,包括与汽车电子领域相关的网络安全内容;
c) 密切关注国际国内在网络安全方面的最新进展情况,包括汽车电子领域重大安全漏洞的情况;
d) 及时响应网络安全相关事件,优先处理风险程度高的网络安全威胁;
e) 制定培训计划,定期组织有关网络安全的培训活动,通过培训提升员工的网络安全意识和能力,使得员工能够理解在产品的开发、生产、运行和服务中可能出现的各种网络安全漏洞和威胁,掌握威胁分析和风险评估的流程与方法。
6.4 测试与评估
6.4.1 网络安全测评团队
网络安全测试与评估工作宜由有经验的、有公正性的测评团队完成。具体条件可包括:
a) 测评团队与被测评对象的开发、生产、运行和服务以及网络安全控制措施的设计没有任何利益冲突;
b) 测评团队与被测评组织没有建立利益关系或产生利益冲突;
c) 测评团队不宜测评自己的工作;
d) 测评团队不宜是被测评组织的员工;
e) 测评团队不宜诱导组织使用自己的服务;
f) 测评团队宜将测评结果详细记录在案,包括找到的新漏洞。
注:这里主要是针对组织聘请第三方测评团队的建议要求,组织自建测评团队的情况可以参考。
6.4.2 网络安全测试内容
漏洞测试、渗透测试和模糊测试是评价一个对象网络安全能力的重要方法。其中,漏洞测试是较为常用的方法,可包含但不限于如下具体方式:
a) 漏洞扫描,检测对象是否存在可能被攻击的漏洞;
b) 探测性测试,检测和探查可能在软件或硬件实现中产生的漏洞;
c) 攻击性测试,通过破坏、绕过、篡改网络安全控制措施等手段入侵对象,以达到测试对象抗攻击能力的目的。
6.4.3 网络安全评估
网络安全评估用于检验当前所实施的网络安全策略是否满足网络安全需求,以及是否能有效降低威胁和风险,可包括但不限于以下内容:
a) 评估各阶段的网络安全策略是否满足网络安全需求;
b) 评估各阶段的网络安全设计是否符合网络安全策略;
c) 对于网络安全策略未能解决的威胁,将其定义为相应的未决问题,并评估该未决问题是否可以被接受。
d) 如果未决问题可被接受,则提供相应的说明,解释该网络安全问题可以被接受的原因;如果未决问题不可被接受,并且可以通过后续阶段的活动解决,则记录该未决问题,以便将其作为下一阶段开发的依据。
6.5 阶段检查
在生命周期的每个阶段结束前宜进行阶段检查,以确保在下一阶段开始之前已经正确、一致地执行完成了当前阶段的活动。
阶段检查可由组织的技术专家小组来进行,该小组宜独立于产品开发团队。此外,为了保持产品在整个生命周期中所有功能的一致性和完整性,该小组宜参与产品整个开发过程中的所有检查工作。检查结果以“通过”、“有条件通过”(即需要采取一些整改措施)或“不通过”表示,只有当检查结果是“通过”或“有条件通过”并且相关整改措施已实施和确认的情况下,才能进入到下一阶段的工作。各阶段检查的主要内容如图3所示,具体内容见各阶段对应章节。
注:在进入生产和运行阶段后,也可根据需要开展阶段检查活动,进一步确保安全措施执行到位。
- 各生命周期阶段的检查内容
汽车电子系统网络安全活动
7.1 概念设计阶段
7.1.1 概述
概念设计阶段的活动流程如图4所示,包括系统功能定义、网络安全过程启动、风险评估与目标确定、网络安全策略设计、网络安全需求识别、初始网络安全评估及概念设计阶段检查等。
- 概念设计阶段活动流程
7.1.2 系统功能定义
组织宜明确汽车电子系统中被开发的、可以实施网络安全的子系统及其功能的适用范围,并对其进行如下内容的分析:
a) 子系统的物理边界;
b) 子系统的网络边界;
c) 子系统的信任边界;
d) 子系统的网络安全边界。
7.1.3 网络安全过程启动
在启动汽车电子系统的网络安全生命周期过程时,组织宜制定相应的网络安全计划,包括但不限于以下内容:
a) 需要执行的网络安全活动;
b) 确定各项活动的负责人;
c) 明确各项活动的开始时间和截止时间;
d) 明确各项活动状态的报告和监督规则。
7.1.4 威胁分析及风险评估
组织宜对汽车电子系统开展威胁分析及风险评估,以便系统性地识别汽车电子系统可能面临的网络安全威胁,并对网络安全风险进行合理的估算,为确定汽车电子系统的网络安全目标、采取相应的风险处置措施提供依据。掌握威胁分析及风险评估的技术,在产品的早期开发阶段实施,能够尽量降低在产品生命周期较晚阶段发现问题而导致的昂贵修复代价;另外,随着产品开发过程的不断深入,威胁分析及风险评估活动还可以适时地针对产品的逐步细化而不断地迭代,为产品各开发阶段的网络安全评估提供依据。
汽车电子系统的威胁分析及风险评估活动宜按照GB/T 18336—2015、GB/T 20984—2015、GB/T 31509—2015和GB/T 31722—2015等标准内容,并结合汽车行业的实践经验开展,主要可包括以下步骤:
a) 准备:确定威胁分析及风险评估的目标与范围。
b) 功能定义:识别汽车电子系统主要功能和需要被保护的资产。
示例:汽车电子系统需要保护的资产可主要从以下方面考虑:
——车载设备:包括ECU、传感器、执行器、网络通信设备等;
——运行于在设备上的功能安全关键和非功能安全关键的应用;
——ECU内部、ECU之间、ECU和传感器/执行器之间、ECU和网络通信设备及应用程序之间的数据链路。
c) 威胁分析:识别来自组织外部或内部各种渠道的、针对汽车电子系统资产的潜在威胁并进行分析,可包括如下内容:威胁模型、系统功能用例分析、数据流/控制流分析、安全边界分析、攻击树分析等。组织可综合应用各种分析技术,形成规范化的分析流程。在威胁分析过程中,需要综合考虑威胁来源、威胁动机(或攻击动机)等因素,对威胁进行合理的分类。
示例:针对汽车电子系统的攻击动机可能是:获取车辆信息;获取驾驶员信息;对驾驶员、乘客等个人身体和精神造成伤害;扰乱行业经济或造成大规模基础设施损坏;恐怖袭击;使攻击者获得声誉;获取经济利益;获取其他利益。
注:一种常用的分类方法是将威胁分为仿冒、篡改、抵赖、信息泄露、拒绝服务、特权提升等几种类型。
d) 脆弱性分析:分析针对汽车电子系统资产可能的攻击途径和漏洞,其目标是基于汽车电子系统的具体实现,识别其中的薄弱环节或缺陷,以便对风险评估提供依据。可参考通用的信息系统脆弱性数据库,针对已发现的脆弱性,对汽车电子系统的实现进行分析或开展渗透测试,检验相关脆弱性是否真的存在。另外,组织还需要建立或参考本行业相关机构所建立的专业性脆弱性(或漏洞)数据库,以便针对汽车电子系统进行特定的脆弱性分析。
e) 风险评估:基于威胁和脆弱性分析的结果,主要从两个方面对风险等级进行估算:一是威胁可能造成影响的严重程度,二是威胁成功实施攻击的概率。综合这两方面的评估数据,对每个具体的资产威胁,明确其风险等级。
注1:有关汽车电子系统典型网络安全风险参见附录A。
注2:对于威胁可能造成结果的严重程度,可从对汽车的功能安全、隐私、经济、操控性等方面的影响进行综合分析;对于威胁成功实施攻击的概率,可综合考虑多方面因素,包括攻击所需要花费的时间(包括识别漏洞、开发攻击程序、成功安装程序等的时间)、专业知识、对被攻击对象的了解程度、机会的时间窗口和对特殊设备的要求等。
f) 风险处置:根据风险等级对资产威胁进行优先级排序,尤其需要识别出高风险等级的威胁,并评估各个资产威胁的风险等级是否处于可接受的水平;如果风险等级属于不可接受的,宜考虑应用适当的方法或风险控制措施,使系统的残余风险降低到可接受的范围。
示例1:
针对附录A中所描述的ECU“CAN总线访问”可能面临的网络安全风险,可采取的风险控制措施是提供CAN总线的安全通信功能(软件),实现通信数据的防篡改、抗重放机制。
示例2:
针对附录A中所描述的车载网关“FOTA/SOTA”可能面临的网络安全风险,可采取的风险控制措施是实现安全的FOTA/SOTA过程,防止车载网关固件/软件或数据在其更新过程中被仿冒、篡改或信息泄露。
示例3:
针对附录A中所描述的车载接入设备USB接口可能被非授权访问的网络安全风险,可采取的风险控制措施是对USB接口实施安全访问控制,并通过安全日志对访问事件进行记录,以便及时发现可能出现的非授权访问。
7.1.5 网络安全目标确定
组织宜基于风险评估结果中识别的高风险威胁尤其是最高风险威胁来确定网络安全目标。
示例1:
针对车辆与外部环境的4G通信,攻击者可能会嗅探4G信号中的数据流,这将影响车辆外部通信数据的机密性,可能导致敏感信息的泄露。因此,相应的网络安全目标是保证车辆外部4G通信数据的机密性,需要采取加密通信数据的措施。
示例2:
攻击者基于读取的4G通信数据信息,可能攻击车辆系统的其他部分,比如篡改发送给车内网关的远程控制指令,导致更为严重的安全事故。相比前一种情况,该威胁的风险程度更高,相应的网络安全目标则是防止车辆的远程控制指令被篡改,保证数据的完整性,需要采取的措施是针对关键数据信息进行完整性校验。
7.1.6 网络安全策略设计
组织宜确定满足网络安全目标所需的策略,包括但不限于:
a) 每个网络安全目标所对应的风险;
b) 满足网络安全目标的、可行的策略;
c) 针对不同类别的威胁,制定网络安全策略设计说明。
7.1.7 网络安全需求识别
组织宜从确定的网络安全目标中提取和识别网络安全需求,或者通过对网络安全策略的细化定义具体的网络安全需求。
7.1.8 初始网络安全评估
组织宜开展初始网络安全评估,主要用于描述当前阶段系统功能对于网络安全的各项要求,形成的初始评估报告内容可包括但不限于:
a) 通过风险评估所确定的所有网络安全目标;
b) 每个网络安全目标所对应的风险;
c) 在当前阶段的所有网络安全未决问题。
7.1.9 概念设计阶段检查
组织宜在概念设计阶段活动完成时进行阶段检查,以确保概念阶段所有活动均已完成并产生适宜的输出,主要检查以下内容:
a) 网络安全计划;
b) 系统功能定义;
c) 风险评估结果;
d) 网络安全目标;
e) 网络安全策略设计;
f) 网络安全需求;
g) 初始网络安全评估结论。
7.2 系统层面产品开发阶段
7.2.1 过程步骤概述
图5展示了系统层面产品开发过程的V型图。
- 系统层面产品开发过程
在系统层面产品开发启动之后,进入网络安全技术需求定义环节,包括如下活动:执行系统层面的威胁分析或漏洞分析,将网络安全策略具体化为网络安全技术策略(例如,将高层的网络安全策略采用具体的工程术语进行描述),再进一步导出并细化网络安全技术需求。
在系统设计环节,可以创建系统上下文来定义系统硬件和软件之间的接口、关键的数据流和它们在系统中的存储和处理过程。使用系统上下文,系统层面产品的网络安全技术需求被分配到硬件和/或软件中。一旦完成这个步骤,就能够开始硬件层面产品开发和软件层面产品开发的活动了。
在完成硬件和软件层面的产品开发之后,进行硬件和软件的集成与测试,重点是针对系统的网络安全测试,可以采用漏洞测试、渗透测试等具体的测试方法。基于集成测试的结果验证网络安全技术需求是否得到满足,之后针对系统进行网络安全评估,最后是产品的正式发布。
7.2.2 系统层面产品开发启动
组织宜针对系统层面产品开发启动网络安全活动,具体可包括:
a) 制定系统层面产品开发的计划,并明确其中的网络安全相关内容与要求;
b) 成立网络安全小组,具体负责产品开发过程中网络安全相关的技术及管理方面的工作,确定小组的关键成员与职责。
7.2.3 系统层面漏洞分析
宜由网络安全小组对系统的潜在威胁展开漏洞分析,找到系统被攻击可能性较高的区域,可包括以下步骤:
a) 将系统内的资产进行分类,并按重要性和价值对各类资产进行综合评级,宜按照GB/T 30279—2013的内容进行安全漏洞等级划分;
b) 找到评级较高的资产中的漏洞和威胁;
c) 设计修补漏洞、对抗威胁的具体措施。
注1:相比概念设计阶段,在系统层面阶段会有更多的细节信息出现,因此有必要开展系统层面的漏洞分析;
注2:分析过程中宜进行充分沟通,以确保系统的网络安全需求能够被充分定义和管理。
7.2.4 网络安全策略具体化
组织宜将概念设计阶段的网络安全策略具体化为网络安全技术策略,主要针对系统中网络安全风险较高的部分,在系统层面定义能够保护其功能和数据的网络安全设计。
7.2.5 确定网络安全技术需求
组织宜结合实际情况进一步确定网络安全技术需求,可包括以下步骤:
a) 建立系统的功能列表,确定每一项功能的类别;
b) 建立系统上下文;
c) 定义系统接口:包括软件硬件的接口、数据流、数据存储和数据处理的要求;
d) 通过功能列表和系统接口,逐项确定可以实现的功能,并确定其满足系统上下文的技术需求。
7.2.6 系统设计
组织开展系统设计时宜遵循已制定的过程、工具使用及具体流程要求,设计能满足其功能需求和网络安全需求的系统。
7.2.7 系统集成和测试
在系统功能的集成和测试工作中,组织可通过测试确认如下内容:
a) 子系统之间的通信是否正确,以及子系统之间通信的网络安全需求是否得到满足;
示例1:
对于车体控制电子系统中各个ECU、传感器、执行器之间的通信,需要确认车辆内部总线比如CAN总线、以太网上通信的网络安全,包括每条总线上通信的安全,以及通过网关进行连接的不同总线之间通信的安全,主要测试并确认通信数据的完整性、合法性及抗重放等机制。
示例2:
对于车载服务电子系统(包括各种车载接入设备如IVI、T-BOX等)与外部环境(比如后台服务器)之间通信的网络安全,主要测试并确认通信数据的机密性、完整性及真实性。
b) 系统是否可以针对威胁实施相应的对抗措施;
c) 进行整车级的系统集成与测试,以便确认所有的系统功能可以正确地协同工作,并满足整车级网络安全需求。
7.2.8 网络安全验证
为确保所应用的安全技术能够满足系统的网络安全技术需求,组织宜通过独立的网络安全测评团队对其有效性程度进行验证,可采用的验证方法包括:
a) 漏洞测试,确定用于降低漏洞风险的系统需求已被实现;
b) 渗透测试,通过模拟对系统的实战攻击,验证系统能够有效地实施相应的安全措施;
c) 模糊测试,通过大量的数据或信号,对系统功能进行压力测试,判断系统是否会在设定的情况下产生漏洞,或出现异常的行为;
d) 使用其他测试方法或工具进行的检验与验证。
7.2.9 系统层面网络安全评估
在完成网络安全验证之后,组织宜通过独立的网络安全测评团队进行网络安全评估,生成网络安全状况说明,对系统的网络安全状态进行评判。主要内容包括:
a) 产品各阶段的网络安全需求是否都得到了满足;
b) 产品开发过程中的未决问题是否被妥善处理;
c) 对于未被处理的网络安全问题,提供解释性文件,说明可以接受此网络安全问题的原因。
7.2.10 系统层面产品开发阶段检查
组织在产品发布前宜通过独立的技术专家小组进行系统层面产品开发阶段检查,其目的主要在于对本阶段各项活动及其输出内容的完整性、一致性和正确性进行再次检查确认。具体的检查内容可包括但不限于:
a) 确认系统层面漏洞分析及其结果的正确性和完整性;
b) 确认网络安全技术策略、对概念阶段网络安全策略设计的具体化过程的完整性、一致性和正确性;
c) 确认网络安全技术需求、网络安全技术策略和对概念阶段网络安全需求的细化过程的完整性、一致性和正确性;
d) 确认系统的功能集成过程、集成测试过程和测试结果的完整性、一致性和正确性;
e) 确认漏洞和渗透测试过程以及测试结果的完整性、一致性和正确性;
f) 确认网络安全需求的有效性检验和验证过程的完整性、一致性和正确性;
g) 确认网络安全状况说明及系统层面网络安全评估过程的完整性、一致性和正确性。
7.2.11 产品发布
通过网络安全评估及检查后,产品可进入到发布阶段,这一阶段的安全活动可包括:
a) 制定产品正式投入生产阶段的网络安全相关计划;
b) 制定车辆所有权变更和寿命终止时的网络安全相关计划。
7.3 硬件层面产品开发阶段
7.3.1 概述
图6展示了硬件层面产品开发过程及其与系统层面产品开发关系的V型图。
- 硬件层面产品开发过程
硬件层面网络安全需求宜从系统层面产品开发阶段分配给硬件的网络安全需求中导出,并在硬件层面产品开发过程中进一步细化。组织需要进行硬件的漏洞分析以帮助识别潜在的漏洞和所需要的网络安全控制措施,这些控制措施能够覆盖所识别出来的潜在漏洞。在硬件集成及其功能测试之后,可将漏洞测试和渗透测试应用于硬件设计,并进行硬件层面网络安全需求的验证和评估,在此初始的网络安全评估会被进一步细化。
7.3.2 硬件层面产品开发启动
组织宜针对硬件层面产品开发启动网络安全活动,具体可包括:
a) 确定所有与硬件相关的网络安全需求,包括功能安全、隐私、财务、业务、法律和法规等方面;
b) 定义网络安全与硬件/软件和功能安全之间的关系;
c) 确定硬件网络安全测试和评估的范围。
7.3.3 硬件层面漏洞分析
组织宜开展硬件层面漏洞分析,以便识别、量化其网络安全风险,并进行优先级排序。
示例:针对汽车电子系统硬件漏洞的具体分析方面可包括但不限于:
a) ECU硬件本身是否存在设计上的缺陷或者漏洞,比如缺乏防信号干扰、防逆向分析等机制,导致其易受到相应的攻击而信息泄露。
b) 用于调试的JTAG接口:是否在最终硬件产品中移除,如果未移除,是否采取了相应的访问控制措施(比如在非调试状态下关闭该接口)。如果该接口被非法访问,可能导致恶意程序被植入系统。
c) 用于车辆诊断的OBD接口:是否对该接口采取了相应的访问控制措施。OBD接口如果被非法利用,非授权设备可能通过未受保护的OBD总线与汽车网关通信,读取网关内的敏感数据,甚至直接读写车内总线,发送伪造控制信息,严重干扰汽车正常功能。
d) 串口、USB以及各种无线通信接口:是否采取了相应的访问控制措施。未受保护的接口访问,可能导致访问者身份被仿冒、数据泄露、访问数据被篡改等风险。
7.3.4 确定网络安全需求
组织宜结合实际情况进一步确定硬件层面的网络安全需求,可包括如下内容:
a) 检查并根据需要更新系统上下文;
b) 明确硬件是如何支持整个系统所需要实现的网络安全目标和任务的;
c) 定义其他方面的约束,包括组织内部或外部的威胁、法律法规要求和成本约束等。
7.3.5 硬件设计
组织宜对硬件层面的网络安全进行设计,满足设计层级安全要求,具体包括系统设计方案、硬件组件选型、安全组件、实施(如PCB布局)和配置安全漏洞(如调试端口安全配置)等,这些漏洞并非孤立存在,而是相互影响的,因此硬件设计漏洞宜从系统层级综合考虑分析。
示例1:
为ECU硬件设计防信号干扰、防逆向分析等机制。
示例2:
用于调试的JTAG接口,在最终硬件产品中移除该接口,或者设计相应的访问控制措施(比如在非调试状态下关闭该接口)。
示例3:
针对OBD接口,采取相应的访问控制措施,防止OBD接口被非法利用。
示例4:
针对串口、USB以及各种无线通信接口,根据各种接口的不同特点,设计相应的访问控制措施,保护对这些接口的访问。
7.3.6 硬件集成和测试
组织宜对集成后的硬件进行网络安全测试,可包括:
a) 进行漏洞测试,以验证已知或潜在的漏洞是否已被修复;
b) 进行渗透测试,模拟攻击者绕过网络安全控制措施并取得系统控制权的行为,以验证硬件设计是否可以抵御此类威胁;
c) 测试宜由具备相应资质的、独立的测评团队来进行。
7.3.7 网络安全验证
组织宜对硬件层面网络安全需求的有效性进行检验和验证,以确定硬件设计是否能产生符合需求所预期的效果。该验证活动宜由独立的网络安全测评团队进行。
7.3.8 细化网络安全评估
组织宜通过独立的网络安全测评团队开展本阶段细化的网络安全评估活动,主要评估先前的未决问题,可包括以下步骤:
a) 评估未决问题是否已得到解决,如果尚未解决则进入下一步;
b) 根据硬件层面产品开发的情况,决定是否接受该问题。如果接受,则需要提供解释性文件,说明可以接受此网络安全问题的原因;如果不接受,则继续标识为未决问题,以便在后续的产品开发过程中进行处理。
7.3.9 硬件层面产品开发阶段检查
组织在硬件层面产品开发阶段最后宜通过独立的技术专家小组,参照6.5节内容进行阶段检查。
7.4 软件层面产品开发阶段
7.4.1 概述
图7展示了软件层面产品开发过程及其与系统层面产品开发关系的V型图。
- 软件层面产品开发过程
软件层面网络安全需求宜从系统层面产品开发阶段分配给软件的网络安全需求中导出,并在软件层面产品开发过程中进一步细化。软件架构设计之后,进行漏洞分析以帮助识别潜在的设计漏洞和所需要的网络安全控制措施,这些控制措施能够覆盖所识别出来的潜在漏洞。在软件单元设计和实现之后,还可以进行软件单元设计及实现层面的漏洞分析,之后进行软件单元测试、软件集成和网络安全测试。为了验证软件的网络安全需求,可应用漏洞测试和渗透测试等方法。最后进行网络安全评估,之前的网络安全评估会被进一步细化。
7.4.2 软件层面产品开发启动
组织宜针对软件层面产品开发启动网络安全活动,具体可包括但不限于:
a) 为软件生命期的各阶段进行计划、调度和分配资源;
b) 定义可被重用的软件组件,并明确为满足网络安全功能所需要的质量活动;
c) 确定软件开发过程的支持工具,定义工具的可信级别、参考手册和指导教程;
d) 选择适宜的软件开发方法;
e) 选择程序设计语言和建模语言;
f) 计划软件的集成和测试过程要求,尤其是网络安全测试的过程与要求。
7.4.3 确定网络安全需求
组织宜结合实际情况进一步确定网络安全需求,具体可包括如下内容:
a) 检查并根据需要更新系统上下文;
b) 明确软件是如何支持整个系统所需要实现的网络安全目标和任务的;
c) 定义与网络安全相关的软件非功能性参数如性能要求、存储空间需求、可靠性要求等;
d) 定义软件开发其他方面的约束,包括组织内部或外部的威胁、法律法规要求和成本约束等。
7.4.4 软件架构设计
组织宜注重从安全方面考虑软件架构设计,可包括不限于如下内容:
a) 保持数据的机密性、完整性和可用性的设计;
b) 采用分区的软件架构和隔离技术保障软件层面的安全;
c) 提供错误检测和错误恢复功能;
d) 提供日志和审计功能。
7.4.5 软件层面漏洞分析
组织宜基于软件的架构设计进行漏洞分析并建立威胁模型,具体可包括以下步骤:
a) 分析系统功能用例;
b) 基于软件架构设计,针对给定的系统功能用例,导出软件的数据/控制流图;
c) 确定软件的信任边界,给予通过信任边界的数据或控制特别的关注;
d) 构建攻击树;
e) 基于数据/控制流图和攻击树进行软件的威胁分析,对威胁进行分类并排序;
注:一种常用的分类方法是,将威胁分为仿冒、篡改、抵赖、信息泄露、拒绝服务、特权提升等几种类型。
f) 确定所需的软件网络安全控制,根据情况可选择降低或缓解风险、接受风险、揭示风险(例如使用告警标签)或消除风险。
7.4.6 软件单元设计和实现
组织开展软件单元设计和实现过程可参考行业内的相关规范(如MISRA C、CERT C等建立软件编程规范),网络安全方面可包括但不限于如下内容:
a) 对输入信息和数据进行有效性验证;
b) 使用安全的字符串,禁止对已过时或废弃的API的调用,禁止使用非安全的函数;
c) 禁止使用没有长度限制的字符串或数组,可能导致缓冲区溢出;
d) 使用静态和动态的代码分析方法识别可能存在的软件漏洞。
7.4.7 软件实现的分析与评估
组织在软件实现的分析与评估过程中,可开展的网络安全活动包括但不限于:
a) 对代码和数据结构进行分析,以便查找可能对系统造成或引入的漏洞和风险;
b) 评估可能由开发工具引入的风险;
c) 评估函数、类、模块等软件单元之间数据传输的一致性;
d) 分析第三方软件库的脆弱性。
7.4.8 软件单元测试
组织开展软件单元测试过程中宜遵循以下要求:
a) 从软件的最下层开始,对所有软件单元开展测试,包括测试软件的输入、输出、数据流/关键路径、边界条件、错误处理、异常处理、故障和恢复处理等;
b) 考虑与安全有关的测试内容;
c) 一旦有软件单元未通过测试,则立即采取纠正措施,并在软件单元修改后进行回归测试,以确保修改的软件单元不会对其他单元产生不利影响(包括安全方面的影响)。
7.4.9 软件集成和测试
软件集成完成后,组织宜检验相应的网络安全需求是否得到满足,包括如下内容:
a) 对所有的数据接入点(例如无线接口、以太网接口、USB接口和CAN接口等)进行模糊测试;
b) 进行渗透测试和漏洞测试,可由独立的内部团队或外部第三方团队实施;
c) 记录测试结果和剩余风险;
d) 制定处理剩余风险的行动计划;
e) 编写软件的操作指南。
7.4.10 网络安全验证
组织宜基于软件测试的结果以及其他相关信息,对软件层面网络安全需求的有效性进行检验和验证。该验证活动宜由独立的网络安全测评团队进行。
7.4.11 细化网络安全评估
组织宜通过独立的网络安全测评团队开展本阶段细化的网络安全评估活动,主要评估先前的未决问题,可包括以下步骤:
a) 评估未决问题是否已得到解决,如果尚未解决则进入下一步;
b) 根据软件层面产品开发的情况,决定是否接受该问题。如果接受,则需要提供解释性文件,说明可以接受此网络安全问题的原因;如果不接受,则继续标识为未决问题,以便在后续的产品开发过程中进行处理。
7.4.12 软 件层面产品开发阶段检查
组织在软件层面产品开发阶段最后宜通过独立的技术专家小组,参照6.5节内容进行阶段检查。
7.5 产品生产、运行和服务阶段
7.5.1 现场监测
7.5.1.1 监测能力
具有联网功能的汽车电子产品宜具备网络安全监测能力。当汽车或相关基础设施被公众使用时,可实施现场监测,以便通过监测日常事件获得有关网络安全的威胁预警,根据预定程序向相关组织提供事件报告,并及时发布公告和安全须知。
7.5.1.2 分析评估
组织还可通过多种渠道采集来的数据对现场出现的问题和事件进行分析评估,以找出威胁网络安全的事件源,数据来源可包括:
a) 从执法部门、保险机构、媒体、其他整车企业等方面收集数据;
b) 来自其他相关方的网络安全事件信息汇总和共享的数据。
7.5.2 事件响应
针对整车、相关基础设施、应用服务可能或已出现的网络安全事件,组织宜制定事件响应的相关内容,目的是限制事件的影响范围,降低事件的网络安全威胁程度,最小化损失和损害,并避免类似安全事件的再次发生。
事件响应具体可包括以下活动:
a) 设置专门的机构负责检查和分析事件数据、管理事件(确定各种事件的优先级、向相关人员发送事件预警、及时报告问题)和处理事件;
b) 通过书面文档定义事件的优先级;
c) 创建事件响应策略和计划,内容可包括事件处理、报告的流程,确认威胁的真实性的方法,分析导致事件的原因并记录证据,确定事件对于组织运营的影响,正确处理敏感信息的方法,记录事件响应所采取的行动,与相关方进行沟通、交流的渠道和内容,总结经验教训,以及将其应用到后续产品开发和设计中的考虑;
d) 一旦组织制定的事件响应计划获得管理层批准,组织应确保其得以实施,至少每年评审一次,以保障它的成熟度和实现事件处理目标的能力;
注: 可通过事件响应计划演练的方式验证其可行性。
e) 事件响应团队宜综合运用标准化操作流程、专业技术流程、检查清单(参见附录C)和表格以尽量避免响应中可能出现的错误。
示例:
针对汽车电子系统的网络安全漏洞事件,可采用远程软件升级的方式进行漏洞修复,保证升级过程本身的安全性,且在升级前对软件进行严格的安全测试验证和评估。
7.5.3 事件跟踪管理
针对已出现的网络安全威胁与安全事件,组织宜对事件的发现、分析及处理的全过程进行记录与跟踪,其目的主要是促进管理流程的持续优化,以便尽可能地降低网络安全事件的威胁程度,最小化其可能造成的损失或损害,进一步形成典型事件案例,避免类似安全事件的再次发生。
事件跟踪管理可包括以下内容:
a) 对已知事件进行定期排查、处理与记录;
b) 对未知事件开展研究,并分类制定相应的标准化处理流程;
c) 对事件记录进行归档,并规定其有效的保存时间。
延伸阅读
更多内容 可以 GB-T 38628-2020 信息安全技术 汽车电子系统网络安全指南. 进一步学习
联系我们
DB37-T 1696—2020 煤矿安全监控系统安全检测检验规范 山东省.pdf
相关文章:

汽车电子系统网络安全解决方案
声明 本文是学习GB-T 38628-2020 信息安全技术 汽车电子系统网络安全指南. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 汽车电子系统网络安全范围 本标准给出了汽车电子系统网络安全活动框架,以及在此框架下的汽车电子系统网络安全活动…...

切片机制和MR工作机制
切片机制 默认的切片大小和块大小一致,切片的个数决定了MapTask的个数。 数据倾斜问题:如果某个切片的大小太小,会浪费了MapTask申请的CPU资源。 如果剩余数据长度大于128*1.1, 就切片成2份,否则就不进行切分了。 InputFormat基…...

【postgresql 基础入门】基础架构和命名空间层次,查看数据库对象再也不迷路
postgresql 基础架构 专栏内容: postgresql内核源码分析手写数据库toadb并发编程 开源贡献: toadb开源库 个人主页:我的主页 管理社区:开源数据库 座右铭:天行健,君子以自强不息;地势坤&…...

是的,决定放弃算法去机器学习了
可是梦想啊!~她永存心间!!! 我啊~本是执着于这些算法的怪咖,梦想是icpc,ccpc~ 可是啊~ 在以后的科研和工作中,这些算法很多都是用不到的,学习算法更重要的目的是锻炼编程能力和分析…...

Python 03(循环语句)
Python03(循环语句) 文章目录 Python03(循环语句)一、while语句二、while实现猜数字三、while循环的嵌套while循环嵌套实例需求: 四、for循环1、什么 是for循环2、语法3、执行流程4、for循环的基本使用5、range()函数6…...

安科瑞铁塔基站能耗监控解决方案
安科瑞 华楠 1 背景概述 5G发展,基站先行。5G基站的选址建设,是保证5G信号覆盖的基础,因此5G基站建设是5G产业布局的一部分,也是5G成熟的基础。 2G、3G、4G均是低频段信号传输,宏基站几乎能应付所有的信号覆盖。但由…...

操作系统-线程复用
操作系统执行线程复用的过程涉及到线程调度和管理。线程复用是指操作系统能够有效地重用现有的线程来执行新的任务,而不必每次都创建新线程。这有助于减少线程创建和销毁的开销,提高系统性能。下面是操作系统如何执行线程复用的关键步骤: 线程…...

通达信自定义副图行业指标K线指标 HYZS_QD
行业指数:HY_INDEXC,NODRAW; DRAWKLINE(HY_INDEXH,HY_INDEXO,HY_INDEXL,HY_INDEXC); MA5:MA(HY_INDEXC,5),COLORWHITE; {MA10:MA(HY_INDEXC,10),COLORYELLOW,LINETHICK2}; DRAWTEXT_FIX(1,1,1,1,STRCAT(STRCAT(CON2STR(HY_INDEXADV,0),/),STRCAT(CON2STR(HY_INDEXDEC,0), ))),…...

MDK-Keil AC6 Compiler屏蔽特定警告
最近在使用STM32CubeMX生成MDK工程是,使用了 AC6 版本的编译器进行编译代码,然后发现了一些警告,但是在 AC5 版本下编译又正常。于是研究了下怎么屏蔽特定的警告,这里记录一下。 1. Keil AC6屏蔽特定警告 遇到的警告如下&#x…...

计算机网络的故事——了解Web及网络基础
了解Web及网络基础 文章目录 了解Web及网络基础一、使用 HTTP 协议访问 Web二、HTTP 的诞生三、网络基础 TCP/IP四、与 HTTP 关系密切的协议 : IP、TCP 和 DNS 一、使用 HTTP 协议访问 Web 根据Web浏览器指定的URL,从对应的服务器中获取文件资源,从而显…...

[系统安全] 五十三.DataCon竞赛 (2)2022年DataCon涉网分析之恶意样本IOC自动化提取详解
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系…...

自动驾驶——估计预瞄轨迹YawRate
1.Introduction 在ADAS控制系统中,通常根据预瞄距离x去估计横向距离y,有如下关系: y a0 a1 x a2 * x^2 a3 * x^3 ,那么现在有个需求,希望根据上述x和y的关系,去估计规划预瞄轨迹yawRate 2.How to es…...

PMP证书考下来要多少费用?
PMP考试共有三项费用:分为考前费用、考后费用和续证费用。 第一项是考前费用: 1、培训费用,在英文报名时需要填写培训公司名称和35学时的培训证明。一般的培训公司收费不一,有些公司大概是三千元左右,而有些公司可能…...

C动态分配
动态分布与静态发布: 静态分配 1、 在程序编译或运行过程中,按事先规定大小分配内存空间的分配方式。int a [10] 2、 必须事先知道所需空间的大小。 3、 分配在栈区或全局变量区,一般以数组的形式。 4、 按计划分配。 动态分配 1、在程序运…...

C语言——程序环境和预处理(再也不用担心会忘记预处理的知识)
了解程序环境和预处理 前言:一、程序环境二、编译链接2.1 翻译环境2.2 编译的几个阶段2.3 运行环境 三、预处理3.1 预定义符号3.2. #define的使用3.2.1 #define 定义标识符3.2.2 #define 定义宏3.2.3 #define 替换规则3.2.4 #和##的用途3.2.5 带副作用的宏参数3.2.6…...

Docker部署EMQX
1、简介 EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。 Erlang/OTP是出色的软实时 (Soft-Realtime)、低延时 (Low-Latency)、分布式 (Distributed)的语言平台。 MQTT 是轻量的 (Lightweight)、发布订阅模式 (Pu…...

Spring Cloud(Finchley版本)系列教程(二) 客户端负载均衡Ribbon
Spring Cloud(Finchley版本)系列教程(二) 客户端负载均衡Ribbon 目前主流的负载均衡方案有两种,一种是集中式均衡负载,在消费者与服务提供者之间使用独立的代理方式进行负载,比如F5、Nginx等。另一种则是客户端自己做负载均衡,根据自己的请求做负载,Ribbon就属于客户端自…...

好玩的js特效
记录一些好玩的js特效 1、鱼跳跃特效 引入jquery:https://code.jquery.com/jquery-3.7.1.min.js 源码如下: <!--引入jquery--> <script src"https://code.jquery.com/jquery-3.7.1.min.js"></script> <!--引入跳跃源码--> <s…...

java实现带有html格式和附件的符合RFC822规范的eml格式的信件原文组装
1. 传递html格式的eml信件正文 html传递就是解析成带有< html>标签的字符串在正文中传递即可 From:综合运行平台 to:111qq.com // 重点是格式设置成text/html 编码的话需要设置成UTF-8,不然可能直接在正文中展示html标签,为不是解析成具体的样式…...

如何使用PyTorch训练LLM
推荐:使用 NSDT场景编辑器 快速搭建3D应用场景 像LangChain这样的库促进了上述端到端AI应用程序的实现。我们的教程介绍 LangChain for Data Engineering & Data Applications 概述了您可以使用 Langchain 做什么,包括 LangChain 解决的问题…...

uniapp 手机 真机测试 云打包 要是没申请 可以使用云打包 然后采用 测试权限即可
uniapp 手机 真机测试 打开手机 找到手机的 版本号 点击 知道提示 (启动开发者模式) 然后 在进行usb的连接打开 运行uniapp 到手机基台 手机确认 即可 四, 云打包 要是没申请 可以使用云打包 然后采用 测试权限即可...

RTSP流媒体服务器EasyNVR视频平台以服务方式启动异常却无报错,该如何解决?
EasyNVR是基于RTSP/Onvif协议的安防视频云服务平台,可实现设备接入、实时直播、录像、检索与回放、云存储、视频分发、级联等视频能力服务,可覆盖全终端平台(电脑、手机、平板等终端),在智慧工厂、智慧工地、智慧社区、…...

【List篇】使用Arrays.asList生成的List集合,操作add方法报错
早上到公司,刚到工位,测试同事就跑来说"功能不行了,报服务器异常了,咋回事";我一脸蒙,早饭都顾不上吃,要来了测试账号复现了一下,然后仔细观察测试服务器日志,发现报了一个…...

c++的类模板里,可以直接为静态变量赋值么?
一直以来,咱们学的是,给类模板里的静态变量赋值,要在类外面。但对于类常量,则可以直接在定义时赋值。起因是看STL源码时有这么的写法,又验证了一下。 但是在类模板里直接定义静态活动变量是不可以的,即去…...

【录用案例】CCF-C类,1/2区SCIEI,3个月14天录用,30天见刊,11天检索
计算机科学类SCI&EI 【期刊简介】IF:5.5-6.0,JCR1/2区,中科院2区 【检索情况】SCI&EI 双检(CCF-C类) 【征稿领域】边缘计算、算法与机器学习的结合研究 录用案例:3个月14天录用,录用…...

qt day 3
1.完成自定义的记事本文件的保存功能 ------------------------------------------------------------------------- widget.cpp ------------------------------------------------------------------------- #include "widget.h" #include "ui_widget.h"…...

SpotBugs检查java代码:在整数上进行没有起任何实际作用的位操作(INT_VACUOUS_BIT_OPERATION)
https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#int-vacuous-bit-mask-operation-on-integer-value-int-vacuous-bit-operation 在整数上进行无用的与、异或操作,实质上没有做任何有用的工作。 例如:v & 0xffffffff 再例如&…...

javaWeb录入数据异常,mysql显示错误
由于项目,需要输入 电脑的mac地址 ,在web页面中进行录入,但是某个同事录入一直有问题,数据查询时使用 in 或者 都查询不到 通过like %% 可以查询到,非常奇怪,请广大网友不吝赐教. 通过 toHex 进行显示发现 数据开头多了 E2808E...

Vue + Element UI 前端篇(十):动态加载菜单
Vue Element UI 实现权限管理系统 前端篇(十):动态加载菜单 动态加载菜单 之前我们的导航树都是写死在页面里的,而实际应用中是需要从后台服务器获取菜单数据之后动态生成的。 我们在这里就用上一篇准备好的数据格式Mock出模…...

图的应用(最小生成树,最短路径,有向无环图)
目录 一.最小生成树 1.生成树 2.无向图的生成树 3.最小生成树算法 二.最短路径 1.单源最短路径---Dijkstra(迪杰斯特拉)算法 2.所有顶点间的最短路径---Floyd(弗洛伊德)算法 三.有向无环图的应用 1.AOV网(拓扑…...