对战安全漏洞 ISO/SAE 21434时代的“连横合纵”

Security is a process,not a product(安全不在于单一的产品,而是更多体现于流程)——Bruce Schneier。

新思科技中国区资深咨询服务专家俞之浩提出,在软件产品的全生命周期中,需要不断对风险进行梳理、评估、分析,导出相关的安全目标与需求,最终在研发阶段得到实现,并对产品进行验证、测试、后期运营维护。当新的产品形态出现,前述所有流程需要再度经历循环迭代,以保证软件全生命周期的安全性。

新思科技中国区资深咨询服务专家俞之浩

ISO/SAE 21434基于汽车软件开发全链条的网络安全管理标准

随软件定义汽车时代的到来,一方面,车内软件代码急剧增加,系统复杂度提升的同时,漏洞出现的频率也直线上升,卡耐基梅隆大学软件工程学院研究数据表明:常规水平下,每百万行代码大约有6000个缺陷或漏洞;在优异水平下,每百万行代码也会有600个以内的漏洞。另一方面,网联化使得汽车同外界互联的端口增多,云端、手机端、无线通讯接口、车载网络、外接设备都可能成为汽车的被攻击面。

因此,行业内对于汽车软件安全开发与维护的重视度也在不断提升。2021年8月,汽车信息安全领域首个国际标准ISO/SAE 21434正式发布,该文件定义了汽车电子电气系统的网络安全风险管理要求,覆盖概念、开发、生产、运维、报废等全生命周期的各个阶段,针对安全编码规范、安全功能相关测试、风险相关测试等部分阐明标准与提供指导。涉及“如何在传统车辆开发模型中嵌入安全相关的具体控制节点”;“如何将安全开发生命周期的流程嵌入现有的产品开发生命周期中”等行业难点。

图片来源:新思科技

俞之浩特别提到,除了开发生命周期管理以外,ISO/SAE 21434也强调车辆运行周期中的安全管理,提出建立覆盖汽车全生命周期的常态化、长效安全的管理模式。

ISO/SAE 21434总共被划分为15个章节,前5-7章从宏观上阐述了车辆网络安全的总体要求:包含整体网络安全管理、基于项目的网络安全管理、持续网络安全活动。后续7章依据汽车全生命周期,定义了威胁分析与风险评估、概念开发、验证、生产、运维等各环节的汽车网络安全要求。

TARA、CAL、基于风险的相关测试

俞之浩着重对其中的两个关键部分进行了介绍:首先是概念开发阶段的威胁分析与风险评估(Threat Analysis and Risk Assessment,以下简称TARA),以及TARA相关的网络安全保障等级(CAL)。二是产品开发阶段中基于风险的模糊测试与渗透测试。

具体而言,TARA的目的是在车辆产品开发早期识别潜在威胁和安全漏洞,综合考虑攻击性大小、影响范围等因素,确定系统可能存在的风险以及风险等级,从而得出相应的网络安全目标。TARA需要进行七个步骤:资产定义、威胁场景分析、影响等级、攻击路径分析、攻击可行性等级、风险确定、风险处置决策。

ISO/SAE 21434为每项资产(Asset)指定了一个网络安全保障等级(CAL)。虽然车机搭载芯片的算力迭代速度极快,但随着智能电动化的发展,每辆车上的算力资源需要用于车控、网关、智驾、智能座舱、网络安全等多个领域。因此需要合理统筹,将“好钢用在刀刃上”。俞之浩表示,CAL意在对资产的不同安全等级进行划分和定义,结合TARA导出的安全目标,CAL等级就可以被集成至网络安全需求中,为开发团队提供资源分配上的决策依据。

图片来源:新思科技

开发阶段的测试又可以被分成两种不同类型:一种是安全功能性测试;另一种测试则基于风险进行,包含模糊测试、渗透测试等方式。其中模糊测试主要是向系统注入非法、畸形或非预期的输入,以揭示软件缺陷和漏洞,这种安全漏洞“扫雷”的方式通常依赖自动化软件工具达成目的。

渗透测试则需要测试人员从系统攻击者的角度思考,属于在计算机系统上进行的授权模拟攻击,旨在对系统安全性进行评估。渗透测试人员使用与攻击者相同的工具、技术和流程,来查找和展示系统弱点可能带来的影响。

俞之浩表示,网络安全团队可以将以上几项环节有机结合,基于流程地去达成安全管理目标。比如,首先进行静态安全代码扫描与模糊测试,发现代码中的潜在漏洞,再将报告结果披露给渗透测试方,从而使其能够更有针对性地进行模拟攻击。

图片来源:新思科技

俞之浩表示,只有完成各个环节的安全要求,才能形成组织化的安全能力,进而在概念开发、验证、生产、运维等全流程链条的网络安全管理上实现协同效应。

TARA、静态代码分析、漏洞扫描、模糊测试、渗透测试等具体安全活动的实操要点

ISO/SAE 21434标准中涉及了六项具体安全活动:TARA、静态代码分析、漏洞扫描、模糊测试、渗透测试以及网络安全的监控。俞之浩针对每一项活动展开阐述,结合新思科技的行业经验,着重介绍了这六项具体安全活动在实操中的注意点。俞之浩看来,自动化软件的运用、基于流程的思维方式、策略性地统筹规划、常态化地安全监控是网络安全管理的四大关键点。

俞之浩表示,TARA非常依赖分析师的经验与企业的自身积累。除此以外,网络安全团队也可以利用自动化工具驱动,完成TARA实施中涉及计算的相关步骤,减少人为的误差和不确定性,保证不同的分析人员能够推导出一致性的结果。此外,如果需要实施TARA,企业需要整合并维护模板、漏洞等数据库。

值得注意的是,TARA的实施必须基于产品的全开发流程。从循环状流程图可以看出,TARA会渗透在网络安全管理的全生命周期中,需要随时反映软件的所有变化,以及这些变化对产品安全所造成的未知影响。

图片来源:新思科技

静态代码扫描尤其依赖自动化工具,值得庆幸的是,业内已经有许多自动化工具可以帮助制造商应对这些挑战,例如,新思科技所提供的Coverity®静态应用安全测试工具就可以在不运行软件的情况下分析源代码,可以帮助发现缓冲区溢出、信息泄漏、内存损坏和代码中的其它缺陷。类似于静态代码扫描,漏洞扫描同样依赖自动化软件工具,比如Black Duck®软件组成分析工具就可以检测目标系统开源组件中的已知漏洞。俞之浩特别补充,自动化工具运用也需要结合具备策略性的实施方案。

基于风险的模糊测试、渗透测试可以抢在黑客攻击之前找出应用和服务中的漏洞。其中模糊测试更多是去针对接口和系统内部逻辑, 渗透测试则已经得到了业内的广泛应用。值得注意的是,除了自动化工具、策略性的应用之外,要达到网络安全管理,企业还需要配合进行常态化的网络安全监控与反馈。

俞之浩补充,越来越多构建云原生应用的企业在采取以开发人员为中心的安全策略和安全“左移”,以便开发人员能够尽量在开发生命周期早期进行安全测试。

安全不在于单一的产品,而是更多体现于流程。如何达到这个目的,新思科技也提出了相关策略。比如说,软件开发阶段由于代码巨量而导致漏洞扫描时间过长,这在一定程度上会影响交付的进度。新思科技通过建立软件安全构建成熟度模型(BSIMM),将安全风险以数字化和可视化的方式进行呈现,通过分析和储存大量的网络安全项目的数据,以“他山之石”帮助企业更具策略性地针对风险等级较高的模块进行扫描,降低其他模块的扫描频率,从而加快项目进度。

图片来源:新思科技

软件安全构建成熟度模型(BSIMM)不仅可以应用于以上领域,作为新思科技推出的测量和评估软件安全计划工具,BSIMM首版于2008年推出,通过收集大量企业在网络安全管理上的真实数据,打造开放的标准,旨在建立基于软件安全实践模块的框架,帮助企业规划、执行、评估和完善其软件安全计划,协助企业同其他网络安全团队做横向与纵向的比较,BSIMM迄今已迭代12个版本。

(以上内容根据新思科技中国区资深咨询服务专家俞之浩于2022年8月25日由盖世汽车主办的2022中国汽车信息安全与功能安全大会发表的《ISO/SAE 21434时代的安全汽车软件开发》主题演讲进行理解和整理。)

相关文章