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

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

3天内不再提示

使用源代码分析安全迁移

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

扫码添加小助手

加入工程师交流群

军事和航空电子软件系统的开发人员可以做些什么来利用软件重用,同时确保软件尽可能无错误和安全?

软件在军事和航空航天工业中通过不同的程序使用和重用并不完全是国家安全机密。这是一种久经考验的软件开发方法。GAO 在 2004 年 3 月向美国参议院提交的报告估计,某些项目中软件的重用率高达 70%,这在成本节约和效率方面提供了重大机会。但是,迁移如此数量的软件并非没有风险,尤其是在用于安全或任务关键型软件应用程序时。因此,问题是:军事和航空电子软件系统的开发人员可以做些什么来利用软件重用,同时确保软件尽可能无错误和安全?

迁移软件以在新系统上使用并与新开发的代码相结合,对任务关键型系统提出了巨大的挑战。首先是当今软件系统的规模和范围。据估计,美国陆军的未来作战系统(FCS)将在最终产品中提供超过6000万行软件代码。最新商用喷气式飞机上的航空电子软件涉及数百万行代码;运行波音787的软件接近700万行代码,是777的三倍。要正确测试这种规模的软件项目(基本上要考虑无限数量的代码路径)并非易事,尤其是当设计用于任务和安全关键型上下文时。

除了这一迁移挑战之外,还有这样一个事实:即使代码被重用,并且在多年的现场操作后可能被认为是稳定的,但它通常在新的上下文或环境中运行。这提供了以前潜在的错误变成活动的关键错误的可能性,以前安全的编码实践变成了高风险的安全漏洞。这不是一个理论讨论。随着阿丽亚娜5号航天器的发射,欧洲航天局(ESA)发生了这个确切的问题,该航天器重用了其前身阿丽亚娜4号的代码。代码在旧飞船中安全运行,但执行上下文发生了变化,将阿丽亚娜4中的“理论”或潜在错误更改为导致阿丽亚娜5崩溃的关键错误。安全漏洞也是如此:多年前在非网络系统中的编码实践在部署在现代软件环境中时可能会成为极高风险的漏洞,其中系统在安全的任务关键型环境中联网。

软件风险为业内专业人士所熟知,民用航空航天软件行业受 DO-178B 法规的约束,这些法规管理软件开发和验证要求。这些类型的指南存在于许多行业中,在这些行业中,安全要求对于正在开发的软件至关重要。这些行业的软件开发专业人员面临的挑战是找到正确的工具和流程组合,以解决重用大量代码的独特挑战,同时能够扩展到任务关键型系统的规模和范围。

任务关键型软件开发的一个增长趋势是采用源代码分析 (SCA) 作为一种技术来增强(甚至取代)传统的源代码验证技术,例如无法扩展的同行代码审查。SCA 是一种 bug 检测技术,不需要测试用例,是完全自动化的,并允许开发人员在开发生命周期的早期检查其源代码,确保 bug 不会向下游传播,从而导致不必要的质量和效率问题。与 SCA 相关的底层技术称为静态分析,当前一代技术解决方案能够提供复杂、快速和准确的分析,定位和描述源代码中的弱点区域,包括内存和资源管理、程序数据管理、缓冲区溢出、未经验证的用户输入、易受攻击的编码实践和并发冲突,以及各种长期维护问题。

SCA不同于传统的动态分析技术,如单元测试或渗透测试,因为工作是在构建时仅使用相关程序或模块的源代码执行的。因此,报告的结果是从每个可能的执行路径的完整视图生成的,而不是从有限的、观察到的运行时行为的某些方面生成的。这在传统迁移环境中特别有价值,SCA 可以检查难以测试的领域,例如错误处理例程。SCA还将报告“潜在”问题,以便高级开发人员可以确保通过重用在运行时上下文中的更改不会产生新的错误源。当与现有的测试和软件验证技术相结合时,SCA 为源代码的大规模验证提供了一个可扩展、高效的解决方案。

随着软件复杂性的爆炸式增长及其关键任务性质的不断增加,软件测试和验证的未来在于持续的自动化。新形式的验证将扩展SCA等技术的深度和广度,并将它们与其他形式的软件测试相结合,以提供创建创新,全面的软件验证方法的技术。

审核编辑:郭婷

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

    关注

    96

    文章

    2953

    浏览量

    70639
  • 航空航天
    +关注

    关注

    1

    文章

    469

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Perforce 静态分析现已正式支持 Rust语言!

    您是否正计划通过 Rust 编程来提升内存安全性,却又担心它无法覆盖所有的安全漏洞?Perforce QAC 和 Klocwork 现在已支持分析 Rust 代码,填补了开
    的头像 发表于 04-08 15:38 442次阅读
    Perforce 静态<b class='flag-5'>分析</b>现已正式支持 Rust语言!

    分析嵌入式软件代码的漏洞-代码注入

    随着互联网的发展,嵌入式设备正分布在一个充满可以被攻击者利用的源代码安全漏洞的环境中。 因此,嵌入式软件开发人员应该了解不同类型的安全漏洞——特别是代码注入。 术语“
    发表于 12-22 12:53

    vivado中,怎么将e203内核源代码封装成ip核,并添加总线?

    vivado中,怎么将e203内核源代码封装成ip核,并添加总线?
    发表于 11-10 07:22

    RT-Studio添加LVGL 9.1.0,packages\\LVGL-9.1.0里没有源代码怎么解决?

    在RT-Thread Studio中添加LVGL 9.1.0软件包,packagesLVGL-9.1.0目录下没有源代码,手动更新软件包之后还是一样。 请教各位方家,是哪里需要设置吗?
    发表于 09-19 07:18

    Nuvoton_8051_ISP-ICP_Programmer_v7.15中缺少ISP加载器的源代码怎么解决?

    : isp_code_n76e885_v4.10_comport.bin isp_code_n76e616_v4.10_comport.bin 是否有指向这些引导加载程序的源代码的链接? 以下内容为
    发表于 08-18 06:30

    中软国际上云迁移服务充分释放云计算价值

    在数字经济时代,企业上云已成为提升业务敏捷性、降低成本、增强安全性的关键路径。然而,上云迁移涉及复杂的业务系统、海量数据和高可用性要求,如何确保迁移过程高效、稳定、安全,成为企业面临的
    的头像 发表于 07-25 14:32 1079次阅读
    中软国际上云<b class='flag-5'>迁移</b>服务充分释放云计算价值

    【版本控制教程】如何使用Unreal Engine 5 + UE源代码控制(Perforce P4)

    项目越大,越需要靠谱的版本控制系统。Perforce P4不仅是Epic官方推荐的源代码控制工具,更是大厂团队协作的核心支持之一。如何配置P4+UE?手把手教你怎么用↓↓↓
    的头像 发表于 06-25 11:22 1807次阅读
    【版本控制教程】如何使用Unreal Engine 5 + UE<b class='flag-5'>源代码</b>控制(Perforce P4)

    基于STM32蓝牙控制小车系统设计(硬件+源代码+论文)下载

    基于STM32蓝牙控制小车系统设计(硬件+源代码+论文)推荐下载!
    发表于 05-29 21:45

    基于STM32的卫星GPS路径记录仪(附完整源代码)实例项目下载

    基于STM32的卫星GPS路径记录仪(附完整源代码)实例项目推荐下载!
    发表于 05-29 21:35

    基于STM32蓝牙控制小车系统设计(硬件+源代码+论文) 项目实例下载

    基于STM32蓝牙控制小车系统设计(硬件+源代码+论文) 项目实例下载! 纯分享帖,需要者可点击附件免费获取完整资料~~~【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内容!
    发表于 05-23 20:55

    基于STM32的卫星GPS路径记录仪(附完整源代码

    基于STM32的卫星GPS路径记录仪(附完整源代码) 项目实例下载! 纯分享帖,需要者可点击附件免费获取完整资料~~~【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内容!
    发表于 05-23 20:48

    89元起!开源国产FPGA开发套件,提供原理图及配套参考例程的源代码

    提供开源原理图及配套参考例程的源代码。接口丰富,为用户提供基本的硬件环境*盘古1/2KG板卡上的Jtag原理图*盘古
    的头像 发表于 05-13 08:07 1392次阅读
    89元起!开源国产FPGA开发套件,提供原理图及配套参考例程的<b class='flag-5'>源代码</b>

    使用FX3 SDK发布源代码是否违反许可?

    使用 FX3 SDK 发布源代码是否违反许可? CYPRESS™EZ-USB™ FX3 SDK1.3licenselicense.txt ”4. 专有权利; 到“您同意对源代码保密。” 那里写着一句话,所以我想问一下以确定。
    发表于 05-08 06:54

    如何获取用于开发fx2的sdk和示例源代码

    大家好 我正在使用 FX2 设备,以前也使用过 FX3 设备。 使用 FX3 设备 SDK,当我下载它时,我在安装文件夹中获得了许多示例源代码,但是它没有 FX2 的示例源代码,我如何获取用于开发 fx2 的 sdk 和示例源代码
    发表于 05-07 07:25

    可以在电池充电器示例的源代码中的哪里启用/禁用VBUS_CTRL?

    我可以在电池充电器示例的源代码中的哪里启用/禁用 VBUS_CTRL? 我可以协商 20V,但无法吸收任何电流。
    发表于 05-07 07:00