0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用更高级的应用程序安全框架

星星科技指导员 来源:嵌入式计算设计 作者:GrammaTech 2022-06-21 10:19 次阅读

它包含庞大的代码库并跨越关键的板载系统。多年来,制造商一直依赖MISRA C/C++ 编码指南来帮助软件开发。该框架为汽车行业及其他行业带来了实际好处和安全收益。

许多创建汽车软件的开发团队使用 MISRA 指南和应用程序安全工具,包括静态应用程序安全测试 (SAST)。这使得在途中发现语法和其他编码错误成为可能,从而降低安全漏洞和关键安全问题的风险。该框架还有助于降低开发成本并加快上市时间。

然而,以最大效率结合使用这些指南和工具可能具有挑战性。问题?许多应用程序安全 (AppSec) 工具需要大量的人工干预或监督,才能充分了解它们如何影响各种流程。

破解密码

问题的核心是一个基本事实:在手动执行 MISRA 标准时会很困难。许多基本的 AppSec 工具只处理规则检查——因此提供了一些帮助,但回避了与应用程序安全相关的核心问题。它们不解决关键任务,例如错误检测和安全漏洞分析。

不幸的是,遵循基本的 MISRA 指南并不能提供足够的保护。虽然它可以消除一些错误并提高 C 或 C++ 的代码质量,但它并不针对庞大的代码库和日益复杂的开发实践。错误和缺陷仍然是编写代码的不幸和不可避免的副作用。

这是所有汽车制造商都面临的问题。研究表明,商业软件平均每 1,000 行代码 (KLOC) 就有一个缺陷。虽然开源表现更好一些,但它的测量值为 0.68/KLOC,但它仍然是一个严重的问题。考虑一下:今天的豪华车有大约 1 亿行代码。即使在最佳情况下,这也代表了大约 10,000 个影响质量、安全和安保的潜在缺陷。

当然,事后补救问题和修复问题既昂贵又耗时。当召回车辆以修复软件缺陷时,这也会给消费者带来压力。不幸的是,问题的根本原因通常仍然未知,并且很难找到漏洞的实际来源。这意味着开发人员必须重现故障,对其进行分析,并尝试了解它如何影响代码库的其他部分。实际上,这意味着许多错误可能永远无法修复。

但是,当组织以更深入、更广泛的方式将包括 SAST 在内的 AppSec 集成到开发过程中时,就有可能将安全性提升到更高级的水平。组织不再局限于代码库的部分快照。可以深入研究,获得可见性并进行更详尽的测试。使用 SAST,可以在开发过程的早期解决和修复缺陷,加速软件发布并确保质量、安全和保障。

推进 AppSec

好消息是高级测试解决方案支持更全面的应用程序安全框架。他们可以发现传统开发方法中漏掉的缺陷。这包括确定关键问题,例如:

经常随机发生的并发缺陷,只有在组织在最终硬件平台上集成各种系统和代码存储库后才可见。

安全漏洞,也就是软件缺陷,可以被攻击者利用,以便他们可以干扰系统的行为并获得对关键数据的访问权限。

警告潜在漏洞的污染数据分析可能格式不正确。因为这些数据要经过许多系统,所以通常很难发现。

难以检测的复杂程序间缺陷,尤其是单元和子系统测试。

对显示为目标文件、库和可执行文件的编译代码进行错误检测。这些可以掩盖关键的安全问题。

虽然一些 MISRA 规则足够简单,只依赖于代码语法检查器,但单独依赖这种方法是错误的。更好的方法是更深入地扩展分析并解决上述关键问题。这包括生成软件材料清单 (SBOM) 的能力,该清单可识别软件的成分列表——包括第三方和开源组件。

SBOM 还将附有这些已识别组件的漏洞报告。这允许组织检测可能影响软件安全性的隐藏问题。更高级的框架还可以检测困难的情况,例如需要查看多个连接点、检查所有编译单元并比较每个编译单元中的所有此类标识符。这些通常会导致假阳性和假阴性。

增加挑战:人类经常误解这些情况——尤其是在依赖手动工具和报告时。最后,一个组织在试图完全理解规则的超集和子集、识别安全漏洞和避免死代码时会被蒙在鼓里。另一方面,最佳实践框架可以发现规则指定的内容与检查器发现的内容之间的重叠和差距。

该模型最终通过在开发的早期阶段发现和修复缺陷和漏洞来降低风险和节省时间。它通常使文档自动化并削减成本。反过来,这种增加的文档级别改进了治理框架并简化了法规遵从性。通过将该解决方案集成到对安全至关重要的环境中,汽车制造商和其他公司可以获得巨大的收益。

今天,企业级开发项目需要复杂的测试框架来支持和增强整个软件开发生命周期——包括与其他开发自动化工具的集成。超越 MISRA 规则执行和基本 AppSec 的能力带来了巨大的收益。它改善了保护,降低了成本,并使开发人员能够专注于他们最擅长的事情:构建出色的软件。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 汽车电子
    +关注

    关注

    2998

    文章

    7418

    浏览量

    161473
  • C++
    C++
    +关注

    关注

    21

    文章

    2065

    浏览量

    72873
收藏 人收藏

    评论

    相关推荐

    AN1292与电机控制应用程序框架对比分析

    文档对AN1292软件与motorBench™开发套件随附的MC应用程序框架之间的差异进行了分 析,旨在回顾全新MC应用程序框架代码相对于AN1292的参考应用笔记软件的改进和限制。
    发表于 09-22 17:37 2次下载
    AN1292与电机控制<b class='flag-5'>应用程序</b><b class='flag-5'>框架</b>对比分析

    隔离Zynq UltraScale+设备上的关键安全应用程序

    电子发烧友网站提供《隔离Zynq UltraScale+设备上的关键安全应用程序.pdf》资料免费下载
    发表于 09-15 10:33 0次下载
    隔离Zynq UltraScale+设备上的关键<b class='flag-5'>安全</b><b class='flag-5'>应用程序</b>

    STM32CubeL5 TFM应用程序入门

    应用程序提供一个可信根解决方案(包括安全启动和安全固件更新功能,在执行应用程序之前使用),还提供一组安全服务,这些服务与非
    发表于 09-07 06:54

    STM32安全框架助力客户应对安全挑战

    内容包含:安全框架:面向开发人员、应用要求:应用案例与安全功能、应用要求:应用案例与安全功能、MCU/MPU独立架构等。
    发表于 09-05 06:35

    深度学习框架连接技术

    深度学习框架连接技术 深度学习框架是一个能够帮助机器学习和人工智能开发人员轻松进行模型训练、优化及评估的软件库。深度学习框架连接技术则是需要使用深度学习模型的应用程序必不可少的技术,通
    的头像 发表于 08-17 16:11 460次阅读

    PN7642安全密钥模式演示应用程序

    电子发烧友网站提供《PN7642安全密钥模式演示应用程序.pdf》资料免费下载
    发表于 08-17 11:43 1次下载
    PN7642<b class='flag-5'>安全</b>密钥模式演示<b class='flag-5'>应用程序</b>

    Arm平台安全架构固件框架1.0

    基于行业最佳实践的配方,允许在这两个方面一致地设计安全性 硬件和固件级别。 PSA固件框架规范定义了标准编程环境和固件用于在设备的信任根内实现和访问安全服务的接口。 编程环境和应用程序
    发表于 08-08 07:14

    Emulex HBA管理器应用程序 适用于VMware vCenter 6.7及更高版本

    电子发烧友网站提供《Emulex HBA管理器应用程序 适用于VMware vCenter 6.7及更高版本.pdf》资料免费下载
    发表于 08-03 09:14 0次下载
    Emulex HBA管理器<b class='flag-5'>应用程序</b> 适用于VMware vCenter 6.7及<b class='flag-5'>更高</b>版本

    如何将应用程序移植到运行在基于Arm的设备上的Windows?

    本指南介绍如何将应用程序移植到运行在基于Arm的设备上的Windows。该指南首先回顾了一般指南,然后展示了不同框架的示例:Tweeten应用程序的Electron移植、StaffPad应用程
    发表于 08-02 06:06

    浅谈PLC应用程序的内容和质量

    PLC应用程序应最大限度地满足被控对象的控制要求,在构思程序主体的框架后,要以它为主线,逐一编写实现各控制功能或各子任务的程序
    发表于 06-25 10:04 162次阅读
    浅谈PLC<b class='flag-5'>应用程序</b>的内容和质量

    什么是应用程序安全性AppSec?应用安全 + 应用安全工具概述

    应用程序安全 (AppSec) 对于高效和有效的安全措施至关重要,有助于解决软件应用程序日益严重的安全威胁。在这里,我们将讨论
    的头像 发表于 06-12 09:37 590次阅读
    什么是<b class='flag-5'>应用程序</b><b class='flag-5'>安全</b>性AppSec?应用<b class='flag-5'>安全</b> + 应用<b class='flag-5'>安全</b>工具概述

    TouchGFX界面开发:TouchGFX软件安装

    TouchGFX和STemWin类似,都是一个GUI框架,可以方便的在STM32 Cortex-M4 以及更高级别的STM32芯片上创建GUI应用程序
    的头像 发表于 05-29 10:08 1015次阅读
    TouchGFX界面开发:TouchGFX软件安装

    如何使您更好地进行应用程序安全测试

    应用程序测试策略中,使用攻击树可以帮助您模拟各种攻击场景,并就如何最好地保护应用程序做出决策。您将能够查明最容易受到攻击的系统和控制,并更有效地构建特定的对策。
    的头像 发表于 05-25 14:46 375次阅读
    如何使您更好地进行<b class='flag-5'>应用程序</b><b class='flag-5'>安全</b>测试

    可以将Vector VN1630和我们的PC应用程序与这个统一的引导加载程序框架一起使用吗?

    应用程序。我可以将 Vector VN1630 和我们的 PC 应用程序与这个统一的引导加载程序框架一起使用吗? 如果需要任何更改,那么更改是什么。
    发表于 04-28 08:36

    车辆内应用程序安全架构——HSM攻击说明

    车辆应用程序需要与其他设备和系统进行通信,因此必须使用安全通信协议来保护通信数据的机密性和完整性。例如,TLS(传输层安全协议)可以提供端到端的加密和认证。
    的头像 发表于 04-23 10:51 1741次阅读
    车辆内<b class='flag-5'>应用程序</b><b class='flag-5'>安全</b>架构——HSM攻击说明