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

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

3天内不再提示

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

星星科技指导员 来源:嵌入式计算设计 作者:GrammaTech 2022-06-15 14:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

它包含庞大的代码库并跨越关键的板载系统。多年来,制造商一直依赖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 的能力带来了巨大的收益。它改善了保护,降低了成本,并使开发人员能够专注于他们最擅长的事情:构建出色的软件。

审核编辑:郭婷

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

    关注

    3043

    文章

    8558

    浏览量

    172233
  • 应用程序
    +关注

    关注

    38

    文章

    3342

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

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

    SMR配置后面向故障的安全引导重置了,为什么?

    我在对应用程序执行按需 SMR 验证时遇到问题。 板:S32G399RDB3 在 M7 内核上使用 AUTOSAR 应用程序和 NXP Boot。 我正在对引导加载程序应用程序映像执
    发表于 03-28 06:54

    CUST_DEL后如何在S32K312上安全恢复应用程序

    在 AB Update 配置中,假设真实性得到确认,在连续 8 次重置后,是否可以在 CUST_DEL IVT 中给出地址的安全恢复应用程序(不是基于 Jtag的)? 如果 IVT 丢失或损坏,HSE 将如何启动安全恢复
    发表于 03-17 07:47

    AWTK-WEB 快速入门(5) - C 语言 WebSocket 应用程序

    导读WebSocket可以实现双向通信,适合实时通信场景。本文介绍一下使用C语言开发AWTK-WEB应用程序,并用WebSocket与服务器通讯。用AWTKDesigner新建一个应用程序先安装
    的头像 发表于 02-19 11:49 894次阅读
    AWTK-WEB 快速入门(5) - C 语言 WebSocket <b class='flag-5'>应用程序</b>

    基于HPM_SDK_ENV开发应用程序的升级处理

    基于HPM_SDK_ENV开发应用程序的方式HPM_SDK_ENV是先楫半导体MCU的Windows集成开发环境,其包含HPM_SDK,工具链,依赖工具(cmake,ninja,openocd等
    的头像 发表于 02-08 13:38 1439次阅读
    基于HPM_SDK_ENV开发<b class='flag-5'>应用程序</b>的升级处理

    AWTK-WEB 快速入门(4) - JS Http 应用程序

    导读XMLHttpRequest改变了Web应用程序与服务器交换数据的方式,fetch是其继任者。本文介绍一下如何使用JS语言开发AWTK-WEB应用程序,并用fetch访问远程数据。用AWTKDesigner新建一个应用程
    的头像 发表于 01-22 11:31 731次阅读
    AWTK-WEB 快速入门(4) - JS Http <b class='flag-5'>应用程序</b>

    ANACONDA——关于发布数据应用程序的新简单方法

    我们推出了一款用于发布数据应用程序的开创性解决方案:具有 Panel 应用程序部署功能的 Anaconda Cloud Notebooks。Panel 是一种开源 Python 工具,现在
    的头像 发表于 01-17 11:39 644次阅读
    ANACONDA——关于发布数据<b class='flag-5'>应用程序</b>的新简单方法

    BQ78412应用程序编程接口

    电子发烧友网站提供《BQ78412应用程序编程接口.pdf》资料免费下载
    发表于 12-18 14:46 0次下载
    BQ78412<b class='flag-5'>应用程序</b>编程接口

    SSM框架的源码解析与理解

    MVC模式,使得开发Web应用程序变得更加高效和简单。 1. Spring框架 基本功能: Spring是一个开源的Java平台,它提供了全面的基础设施支持,以便开发Java应用程序。Spring
    的头像 发表于 12-17 09:20 1418次阅读

    SSM框架在Java开发中的应用 如何使用SSM进行web开发

    (full-stack)的应用程序框架,它提供了全面的基础设施建设支持,能够帮助开发者构建出企业级的应用程序。Spring的核心是控制反转(I
    的头像 发表于 12-16 17:28 2129次阅读

    选择最适合您的系统需要的内存选项

    随着边缘和端点对更高功能和智能的需求不断增长,这些设备对更强处理能力和更大内存的需求也在增长。应用程序的功能更加丰富,用户要求其产品中内置更高级别的功能,包括复杂的图形和用户界面、学习算法、网络连接
    的头像 发表于 12-12 10:52 996次阅读
    选择最适合您的系统需要的内存选项

    TLV320AIC3263应用程序参考指南

    电子发烧友网站提供《TLV320AIC3263应用程序参考指南.pdf》资料免费下载
    发表于 12-10 13:54 0次下载
    TLV320AIC3263<b class='flag-5'>应用程序</b>参考指南

    TAS2521应用程序参考指南

    电子发烧友网站提供《TAS2521应用程序参考指南.pdf》资料免费下载
    发表于 12-10 13:49 0次下载
    TAS2521<b class='flag-5'>应用程序</b>参考指南