汽车基础软件信息安全关键技术
-
需求一致性测试,通过单元测试、集成测试等方法,确定软件的实现与软件设计需求保持一致;

图 3.2-2 需求一致性测试
在保证软件实现与需求一致后,需要通过以下三种测试手段确认软件的安全性:
-
漏洞扫描,通过漏洞扫描软件如 defensecode 进行现有漏洞的扫描,防止软件存在已知漏洞;
-
模糊测试,通过大量的随机请求,测试软件的鲁棒性,探测其是否有未知漏洞;
-
渗透测试,通过专业渗透人员的分析,寻找程序逻辑中的漏洞,并尝试进行利用。若发现新的漏洞, 则反馈给开发人员进行修正。
后开发阶段(生产、运维、报废)
在生产阶段,要保证基础软件和应用软件在产线的正常刷写。产线软件的注入需要保证刷写方经过认证,例如供应商完成基础软件的刷写,内部包含初始密钥。OEM 在产线刷写更新密钥、证书、配置等内容前,需首先完成与控制器的相互认证。
信息安全是一个动态的过程,在软件使用过程中,随着技术的进步,之前安全的软件可能会出现(或发现)新的漏洞。因此软件维护人员需持续监控最新的漏洞消息,及时更新相关软件补丁,保持软件的安全性。在更新过程中,也需保证对更新源的认证,更新软件完整性校验,版本校验,防止黑客利用更新的漏洞进行软件的恶意修改。
在车辆的使用过程中,控制器内可能存储了大量的用户使用信息。在车辆的报废 / 买卖,或者某一部件的更换的情况下,用户信息会有泄露风险。为保证车辆的数据安全,基础软件需支持敏感数据(如密钥、证书、用户资料、指纹识别信息等)的一键销毁。
汽车基础软件信息安全需求
信息安全的实现并非是通过独立的安全机制可以实现的,需要进行信息安全纵深防御体系设计。从云端 - 车云通讯 - 车端控制器 - 应用软件 - 基础软件 - 硬件等多个维度进行层层防御,设计相应的安全措施提升安全性。基础软件的安全需求主要来自以下两个方面:
-
实现更高一级来自于功能 / 控制器的信息安全需求。如特定控制器需实现加密通讯,基础软件需要保证安全通讯协议、密钥管理、加密认证、加密存储等功能。
-
基础软件自身安全的要求。为保证上述功能的安全实现不被绕过,基础软件还需保证自身的安全, 如不存在公开漏洞、安全启动等。
安全启动
安全启动(SecureBoot)是 MCU 的基本功能,通过硬件加密模块来实现,该机制必须独立于用户程序运行,不能被破坏。作为整个安全启动信任链的基础,安全启动必须主要用于在 MCU 启动之后,用户程序执行之前,对用户定义的 Flash 中关键程序的数据完整性和真实性进行验证,确定是否被篡改。如果验证失败,说明 MCU 处于不可信的状态,部分功能甚至整个程序不能运行。
- 下一篇:国内外政策、法规与标准现状
- 上一篇:汽车基础软件信息安全与AUTOSAR
编辑推荐
最新资讯
-
推荐性国家标准《乘/商用车电子机械制动卡
2025-04-30 11:13
-
载荷分解
2025-04-30 10:46
-
布雷博在上海开设亚洲首个灵感实验室
2025-04-30 10:25
-
组分性能对锂离子电池卷芯挤压力学响应的影
2025-04-30 09:00
-
美国发布自动驾驶新框架,放宽报告要求+扩
2025-04-30 08:59