随着智能汽车深入发展,汽车产业正从多独立域走向跨域融合。同时,软件定义汽车已成为共识,汽车要拼算力、更拼软件,出现硬件预埋与软件选装——软硬隔离的趋势,将硬件模块化和标准化,以便通过软件实现更多功能。
新思科技高级安全架构师肖率武表示,智能网联汽车时代,一辆汽车上运行着上亿甚至数亿行的软件代码,而从安全角度看,汽车的攻击面也在同样与日俱增,因软件导致的汽车安全事件也层出不穷。因此,软件风险即车辆风险,一旦成为汽车网络攻击活动的受害者,汽车制造企业会在多个方面受到严重的损失和负面影响。
在智能汽车时代软件安全的严峻形势下,如何来构建智能汽车可信软件,保障第三方及自研代码安全?2023年12月19日,在长城汽车2023技术研讨会上,肖率武围绕上述问题展开经验分享。
肖率武 | 新思科技 高级安全架构师
以下为演讲内容整理:
智能汽车时代软件安全的挑战
随着智能汽车深入发展,汽车产业正从多独立域走向跨域融合。同时,软件定义汽车已成为共识,汽车要拼算力、更拼软件,出现硬件预埋与软件选装——软硬隔离的趋势,将硬件模块化和标准化,以便通过软件实现更多功能。
那么,我们所面临的挑战是什么呢?
E/E 架构不断调整。传统的汽车主要集中在车辆本身,而现代的智能汽车则涉及到车端、后端和云端等多个方面。这导致了开发模式的转变,使得我们使用的各种框架、操作系统和语言变得更加复杂。如果事情变得复杂,出错的可能性也会相应增加。
供应链安全挑战更大。随着前端与后端的交互增多,统一的安全传输和交互变得至关重要。
软件开发和部署更加复杂。由于开发模式、框架和语言的多样性,我们需要找到一种方法来简化这些复杂性。
攻击面剧增,安全漏洞层出。更进一步,每一个管控环节在供应链中都扮演着重要的角色。最薄弱的一环往往决定了整体的安全性。随着供应链的扩大,来自硬件、软件、应用、数据的多类隐患更多,每个汽车制造商都需要考虑更全面的安全防护措施。
TTM加速VS合规监管的挑战。传统的汽车制造上市周期已经受到挑战,从过去的48个月缩短到了如今的12个月。与此同时,还需要满足汽车安全、数据、代码的各类法规标准。
SDV时代,软件风险即车辆风险,安全攻击对汽车行业造成的损失和影响巨大,汽车软件漏洞层出不穷。
首先,让我们看一下近年来对车企造成影响的常见安全攻击手段。根据统计,近五年来,35%的攻击集中在软件漏洞上。同时,与远程网络攻击相关的攻击手段也是最明显的,它导致了很大一部分安全问题,例如信息泄露。统计数据显示,这些攻击大部分是由于编码错误导致的。为了解决这些问题,车企需要在编码阶段就采取措施。这意味着在开发阶段就需要考虑到安全问题,并在编码阶段就解决这些问题。
此外,我们还需要关注攻击目标。攻击目标包括操作系统、应用程序、设备和网络。对于车企来说,如何在发布设备时解决这些安全问题是一个挑战。为此,我们需要探索如何在没有代码的情况下通过其他方式来解决安全问题。
智能汽车时代软件安全的要求
汽车行业需要遵循一系列标准和联盟规定。排名前15的公司中,有11家采用了世界汽车OEM厂商采用的标准。
对于车企来说,安全是一个重要的关注点。首先,我们应关注“ISO/SAE 21434-网络安全工程”这个标准,“UNECE WP.29 (UN R155, UN R156)-网络安全和软件更新”与之对应参考。如何达到这一标准?在软件开发领域,有一些成熟的方法可以借鉴。例如,微软的SDL或B CMO sm或BS7799的理念。
对于车企来说,关键是如何将安全融入开发过程。从21434中我们可以看到,这涉及到软件更新的管理,因为软件安全与软件更新密切相关。通过组织这些安全活动并纳入日常开发活动中,我们可以确保在开发过程中考虑安全问题。相应的文档和产出可以通过车企的认证申请流程进行管理。
图源:演讲嘉宾素材
展示一个开发模型,我们可以看到传统车辆开发中如何应用这些理念。从安全需求开始,到安全设计、安全编码、测试等环节,每一步都有相应的安全活动,环环相扣,共同实现软件安全。
接下来,我想谈谈测试阶段的相关内容。在此阶段,我们进行了边界值测试等一系列的测试方法。此外,我还强调了漏洞扫描、渗透测试以及模糊测试的重要性。渗透测试涵盖的范围很广,包括各位熟知的安全测试和逆向测试等。对于不同类型的协议、设备、ABC型应用以及操作系统,我们需要采用不同的测试方法,以确保全面覆盖。
智能汽车时代构建可信软件的实践——第三方代码安全保障
与其他行业一样,汽车行业也不可避免地需要使用供应商提供的代码或开源代码。以金融行业为例,许多项目都会使用开源代码。据某知名机构发布的安全与风险分析报告,他们每年会审计大量代码库,去年甚至审计了100703个代码库。这些代码库涵盖了各行各业,报告发现90%的项目都使用了开源代码。然而,平均有40%-60%的代码库包含高风险的漏洞。这是一个普遍存在的问题,无论是金融行业还是其他行业都难以避免。
对于车企来说,情况也类似。根据相关数据,车企在最近两年内对开源代码的使用明显增加。这既带来了便利,也带来了安全风险。因此,我们需要更加重视代码审计和漏洞扫描工作,以确保车辆软件的安全性。
另外值得关注的一点是,车企中的高危漏洞比例明显高于平均水平。通过统计数据可以明显看出,在开源代码中,车企的高危漏洞排名第五。