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

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

3天内不再提示

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

星星科技指导员 来源:嵌入式计算设计 作者:Mark Hermeling 2022-11-18 15:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

从本质上讲,汽车软件很复杂。

它包含庞大的代码库,并跨越关键的机载系统。多年来,制造商一直依靠MISRAC/C++编码指南来帮助软件开发。该框架为汽车行业及其他行业带来了实际优势和安全性提升。

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

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

破解密码

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

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

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

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

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

推进应用安全

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

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

安全漏洞,又称软件缺陷,可被攻击者利用,从而干扰系统行为并访问关键数据。

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

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

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

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

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

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

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

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

审核编辑:郭婷

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

    关注

    22

    文章

    2131

    浏览量

    77405
  • 代码
    +关注

    关注

    30

    文章

    4977

    浏览量

    74399
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    TMS320F28xxx DSP:从内部闪存运行应用程序的全面指南

    TMS320F28xxx DSP:从内部闪存运行应用程序的全面指南 在嵌入式系统设计中,让应用程序在TMS320F28xxx DSP的内部闪存上运行是一个常见需求。本文将深入探讨从内部闪存运行
    的头像 发表于 04-23 13:40 147次阅读

    运行测试程序以读取通过受信任应用程序 (TA) 存储的安全 blob 时,内存不足怎么解决?

    当我运行测试程序以读取通过受信任应用程序 (TA) 存储的安全 blob 时,我遇到了内存不足 (OOM) 问题。 我仔细观察了代码,但没有发现任何内存漏洞。 测试程序读取对称密钥,并
    发表于 04-10 10:52

    如何在 i.MX RT1050 上实现两个镜像(引导加载程序应用程序)的双 HAB 身份验证?

    ,请验证应用映像的真实性。 但是,我想知道: 可以使用吗恩智浦生成的证书(来自安全配置工具)或HAB 机制本身对引导加载程序应用程序映像进行身份验证? 如果是这样,推荐的方法是什么安全
    发表于 04-07 06:14

    RDMA设计56:如何设计基于RDMA的应用程序

    本博文主要交流设计思路,在本博客已给出相关博文约140篇,希望对初学者有用。 注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP 设计。 应用程序的工作流程如图 1所示,大致分为 READ 包
    发表于 04-05 09:54

    如何构建蓝牙应用程序

    应用程序使用蓝牙(blueZ)。 我已经安装了 gcc-riscv64-linux-gnu。 但是,没有安装 blueZ 标头和库。 如何构建我的蓝牙应用程序
    发表于 04-01 07:31

    过程×框架×平台:安全“三支柱”护航AI应用量产落地

    经纬恒润汽车电子产品事业部高级总监邵亮受邀参加“AI+智能汽车:融合创新与生态共建”论坛并发表题为《从“可用”到“可信”:道路车辆AI系统安全实践探索》主题演讲,剖析了当前AI技术在车载领域应用所
    的头像 发表于 12-30 13:23 583次阅读
    过程×<b class='flag-5'>框架</b>×平台:<b class='flag-5'>安全</b>“三支柱”护航AI应用量产落地

    请问CW32L是如何提供3级程序安全防护?

    芯源的安全低功耗CW32L MCU是如何提供3级程序安全防护的,采用了哪些手段?
    发表于 12-24 08:12

    PYQT 应用程序框架及开发工具

    大家好,本团队此次分享的内容为开发过程中使用到的PYQT 应用程序框架及开发工具。 pYqt 是一个多平台的 python 图形用户界面应用程序框架,由于其面向对象、 易扩展(可
    发表于 10-29 07:15

    如何在应用程序调试期间分析栈和堆使用情况

    随着 AMD Vitis 统一软件平台 2021.2 的发布,Vitis 引入了一个 Tcl 脚本,用于在应用程序运行的特定时间点协助查找栈和堆的内存使用情况。该脚本已延续到后续的 Vitis 版本
    的头像 发表于 10-24 16:54 1054次阅读
    如何在<b class='flag-5'>应用程序</b>调试期间分析栈和堆使用情况

    如何采用SAFERTOS和ESM保护嵌入式系统安全

    信任根的重要组成部分是实时操作系统(RTOS),它为应用程序的运行提供了一个安全的平台。嵌入式系统的具体安全要求取决于其架构以及所面临的威胁。在本博客中,我们将探讨RTOS的安全性,以
    的头像 发表于 10-24 15:51 1649次阅读

    学生适合使用的SOLIDWORKS 云应用程序

    随着科技的不断发展,计算机辅助设计(CAD)技术已经成为现代工程教育的重要组成部分。SOLIDWORKS作为一款CAD软件,其教育版云应用程序为学生提供了强大而灵活的设计平台。本文将探讨
    的头像 发表于 09-15 10:39 955次阅读
    学生适合使用的SOLIDWORKS 云<b class='flag-5'>应用程序</b>

    瑞萨电子高级语音用户界面解决方案

    所有这些语音功能包含在一个软件包中,简化了各种VUI应用程序要求的采用和安装。让我们回顾一下现代VUI中这些技术的基本组成部分和优势。
    的头像 发表于 08-27 09:41 946次阅读
    瑞萨电子<b class='flag-5'>高级</b>语音用户界面解决方案

    从底层解读labview的TDMS高级异步写入的工作原理

    的数据采集或处理循环,从而显著提高整体应用程序的吞吐量和响应性。 解耦: 将数据生成逻辑(如 DAQ 循环)与数据存储逻辑(磁盘写入)分离,使程序结构更清晰,更易于维护和优化。 关于“同时写入”和线程安全
    发表于 08-14 17:05

    肖特基二极管四通道混频器芯片采用薄膜框架 skyworksinc

    电子发烧友网为你提供()肖特基二极管四通道混频器芯片采用薄膜框架相关产品参数、数据手册,更有肖特基二极管四通道混频器芯片采用薄膜框架的引脚图、接线图、封装手册、中文资料、英文资料,肖特
    发表于 07-15 18:33
    肖特基二极管四通道混频器芯片<b class='flag-5'>采用</b>薄膜<b class='flag-5'>框架</b> skyworksinc

    Claroty与NIST网络安全框架中文手册

    的 IEC-62443 标准,以及一些法规,例如,美国运输安全管理局(TSA)针对交通运输的指令、欧盟 NIS2 指令。随着这些标准的采用率不断提升,它们将促使关键基础设施企业优化其网络安全计划,以保持合规性,提高其弹性,并避免
    发表于 06-20 17:14 0次下载