首页 > 汽车技术 > 正文

汽车基础软件信息安全关键技术

2023-02-03 20:03:05·  来源:汽车测试网  
 
汽车基础软件信息安全生命周期


概念开发阶段

概念开发阶段主要的目的是通过整车功能,如远程控制功能、转向功能等的分析,应用 3.1 章节的信息安全分析模型识别信息安全漏洞,评估安全等级。针对安全等级较高的漏洞设计安全机制来应对黑客的攻击。

信息安全的实现并非是通过独立的安全机制可以实现的,需要进行信息安全纵深防御体系设计。从云端 - 车云通讯 - 车端控制器 - 应用软件 - 基础软件 - 硬件等多个维度进行层层防御,设计相应的安全措施提升安全性。

基础软件的安全需求主要来自以下两个方面:

  1. 实现更高一级来自于功能 / 控制器的信息安全需求。如特定控制器需实现加密通讯,基础软件需要保证安全通讯协议、密钥管理、加密认证、加密存储等功能。

  2. 基础软件自身安全的要求。为保证上述功能的安全实现不被绕过,基础软件还需保证自身的安全, 如不存在公开漏洞、安全启动等。


产品开发阶段

软件安全需要基于完整的安全分析进行设计,从硬件的安全信任根开始,保证每层的程序调用都是基于经过验证的,包括程序完整性的验证,访问权限的验证,参数合理性验证等。

软件实现过程是一个容易引入信息安全问题的过程,有三个方面需要重点关注:

  1. 开源代码。随着业界开源的范围越来越广,从操作系统到基础软件、加密算法,都有很多开源库供程序编写人员使用,虽加快了软件实现的速度,但是良莠不齐的开源库也会带来很多信息安全问题。有些开源库长期无人维护,已存在大量的漏洞,若不加鉴别直接使用,就会导致整个系统漏洞百出。因此在使用开源代码时,优先选择得到持续支持的开源库,并且持续关注其信息安全相关的补丁,并及时进行更新。

  2. 开发周期长。汽车行业相较于功能先进性,控制器的稳定性是更加追求的要素。一款车型开发周 期动辄 2-3 年,使用的软件版本也是相对成熟。这就会导致在车辆开发过程中,所使用的软件就可能被挖掘出多个漏洞,若不及时进行更新或者修复漏洞,刚上市的新车就可能有很多已知漏洞的存在。因此, 在正式量产之前,一定需要对其产品进行漏洞扫描,防止已知漏洞的存在。

  3. 开发人员信息安全意识缺乏。在程序开发过程中,由于进度要求,开发人员天然会更加关注功能的实现,而对信息安全的防护意识不足,导致实现的程序遗留了可以被黑客利用的漏洞。因此,加强开发人员的信息安全意识,加强程序释放过程中信息安全的检测势在必行。


在完成基础软件的开发后,需要针对其安全性进行测试,包括软件本身是否正确实现相关需求以及是否有未知漏洞两个方面进行测试。

  • 静态代码检查,可以通过商业工具如 QAC 进行静态代码检查,保证其符合 CERT C 等信息安全代码规范;

图片

分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026917号-25