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

    文章

    2944

    浏览量

    66686
  • 航空航天
    +关注

    关注

    1

    文章

    382

    浏览量

    24251
收藏 人收藏

    评论

    相关推荐

    Gmapping源代码

    Gmapping源代码.docx
    发表于 11-16 13:42 0次下载

    “小满”V24.10源代码在AtomGit开源

    近日,由中国汽车工业协会指导,普华基础软件股份有限公司主办的“小满”安全车控操作系统开源发布会暨共建计划说明会成功举行。普华基础软件宣布将安全车控操作系统“小满”(简称“小满”)V24.10源代码
    的头像 发表于 10-27 14:41 323次阅读

    贴片电阻银迁移失效分析

    贴片电阻银迁移失效分析
    的头像 发表于 10-27 10:33 223次阅读
    贴片电阻银<b class='flag-5'>迁移</b>失效<b class='flag-5'>分析</b>

    源代码解析工具与自动化流程图生成解决方案

      摘要:CasePlayer2是一款强大的源代码解析工具,专门设计用于分析ANSI C、C、C++以及汇编语言源代码,并自动化地生成流程图等文件。该工具集成了多种功能,包括MISRA-C规范检查
    的头像 发表于 10-10 13:40 164次阅读

    hex可以转成源代码

    Hex文件可以转换成源代码的近似形式,但无法直接还原为原始的、完全相同的源代码 。这是因为Hex文件是二进制文件,包含了程序编译后的机器码,这些机器码与原始的源代码在结构和表达上存在显著的差异。不过
    的头像 发表于 09-02 10:41 860次阅读

    华企盾防泄密系统让企业源代码安全

    源代码防泄密是指企业把自己的知识产权,包括源代码、公司竞争战略、新产品、新技术、新业务流程,按照最高保密标准进行保密和管理,以避免被其他企业或者竞争对手获取,并可能在短时间内利用其竞争优势。一旦被
    的头像 发表于 05-23 11:30 456次阅读

    企业如何保护源代码安全?做好源代码防泄密工作

    出现了相似或相同功能的产品。这无疑引发了企业管理者们对于企业源代码数据泄漏的深深忧虑。 许多企业错误地认为,只要采用了版本管理工具如Git或SVN,代码安全问题就得到了保障。然而,事实并非如此。版本管理工具确实能够帮
    的头像 发表于 05-22 16:01 433次阅读

    【开源鸿蒙】下载OpenHarmony 4.1 Release源代码

    本文介绍了如何下载开源鸿蒙(OpenHarmony)操作系统 4.1 Release版本的源代码,该方法同样可以用于下载OpenHarmony最新开发版本(master分支)或者4.0 Release、3.2 Release等发布版本的源代码
    的头像 发表于 04-27 23:16 852次阅读
    【开源鸿蒙】下载OpenHarmony 4.1 Release<b class='flag-5'>源代码</b>

    企业源代码防泄密解决方案如何做才能做好?

    在企业内部,最核心的部门无外乎企业的研发部门,研发部门可以说是每一家企业的核心动力,研发部门研发的资料一般为源代码、图纸两种类型最多。那么企业投入大最的人力物力,当研发离职时,都会把在企业做过
    的头像 发表于 04-24 11:57 357次阅读

    迈威通信工业以太网交换机通过软件源代码安全审定

    和深入测试,MISCOM7000交换机的软件源代码安全审定中表现出色,不仅未发现任何明显的安全漏洞和缺陷,更展现出强大的防御能力,能够有效应对各类恶意攻击和潜在威
    的头像 发表于 03-29 10:43 343次阅读
    迈威通信工业以太网交换机通过软件<b class='flag-5'>源代码</b><b class='flag-5'>安全</b>审定

    车载信息娱乐系统的网络安全考虑因素

    静态应用程序安全测试 ( SAST ) 软件测试方法检查和分析应用程序源代码、字节码和二进制文件的编码和设计条件,以发现 IVI 系统软件中的安全漏洞。SAST背后的工作机制是一个静态
    的头像 发表于 03-06 17:14 1152次阅读
    车载信息娱乐系统的网络<b class='flag-5'>安全</b>考虑因素

    TC275 debug时无法显示源代码是怎么回事?

    使用TC275开发板进行调试时,debug 界面无法显示源代码,只有汇编,不管使用heightec UDE还是T32都是这个问题,用其它工程则能显示,大佬们有没有遇到过这个问题?
    发表于 02-19 08:00

    源代码审计怎么做?有哪些常用工具

    源代码审计是一种通过检查源代码来发现潜在的安全漏洞的方法。 下面是常用的源代码审计工具: 1、Fortify:通过内置的五大主要分析引擎,对
    发表于 01-17 09:35

    智能制造行业--客户现场调试源代码如何防泄密

    我国近几年传统制造向智能制造的转变,很多制造企业不仅有自己公司的图纸文件需要保密,企业的有很多源代码也需要保密,但是对于源代码采用图纸防泄密的方式是不可取的,源代码防泄密比图纸文件防泄密做起来更加
    的头像 发表于 01-11 16:27 463次阅读
    智能制造行业--客户现场调试<b class='flag-5'>源代码</b>如何防泄密

    为什么安秉信息的源代码防泄密软件这么稳定?

    现在很多研发性企业都会意识到企业的源代码文件需要防泄密保护,现在很多企业对于源代码只是用了git或svn版本管理服务器进行了简单的代码统一管控。虽然现在对于源代码防泄密,有专业的
    的头像 发表于 12-05 10:21 524次阅读
    为什么安秉信息的<b class='flag-5'>源代码</b>防泄密软件这么稳定?