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

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

3天内不再提示

测试和分析工具有助于验证和实施军事系统的安全性

星星科技指导员 来源:嵌入式计算设计 作者:CHRIS TAPP,JAY THOM 2022-11-11 15:04 次阅读

作者:CHRIS TAPP,JAY THOMAS

经过适当测试和验证的安全编码实践有助于确保军事系统的可靠和安全运行。组织应从头开始,结合使用静态和动态分析、单元和集成测试以及需求可追溯性。

军事系统中的安全漏洞可能是毁灭性的。具有严重后果的安全中断的一个例子是据称在2011年由中央情报局在伊朗上空捕获的美国RQ-170无人机(UAV)。据伊朗称,该飞船被伊朗网络战部队安全降落,并设法接管了它。断言是,无人机是通过干扰卫星和陆地控制信号捕获的,随后是GPS欺骗攻击,该攻击向无人机提供虚假的GPS数据,使其降落在伊朗,无人机认为是其在阿富汗的大本营。

虽然实际细节可能永远不清楚,但似乎无人机确实受到了损害,以至于它可以安全地降落在伊朗境内,并被敌人拥有以进行可能的逆向工程。该无人机软件中的某些内容允许访问系统的至少一部分,这显然打开了对其重要内部的访问。

保护嵌入式系统

嵌入式系统现在渗透到军队中,从车辆控制、通信、武器控制和制导到自主和半自主系统,包括无人机和类似飞行器。这些设备现在相互连接,用于控制和协调目的。为了人员安全、完成任务的能力以及通常的国家安全,这些设备必须对其操作员安全且操作可靠。此外,它们必须免受未经授权的访问和攻击。如果它们不安全,则不能认为它们是安全或可靠的。因此,对安全性、可靠性和安全性的要求是不可分割和相互依存的。

这些要求不能是事后的想法,而必须从头开始构建。它们还经常要求软件遵守某些编码准则,如MISRA或CERT C,并且必须遵循工业或政府规定的标准,如DO-178C。随着这些系统越来越受到认证要求的约束,必须证明和记录编码和功能的正确性。

尽管有许多策略可用于实现安全性,但仍有必要确保这些策略也正确编码 - 无论是在编码标准方面还是在整个应用程序中的正确功能方面。传输层安全性 (TSL) 等传输协议 – 这是对安全套接字层 (SSL)、安全文件传输协议 (SFTP) 和其他协议的改进 – 现在被广泛使用,但通常从组织外部获取。其他策略可能包括使用安全设备驱动程序、远程实施安全和加密固件升级的过程,以及个人验证协议,如密码、视网膜扫描和射频识别 (RFID芯片,以确保访问安全。其他分层安全策略仅允许对系统部分进行选定访问,但这些策略也可能引入漏洞,如果未检测到,这些漏洞可能会被利用。

过去,组织可能已经能够通过手动代码审查和软件演练来检查其代码。然而,当今关键程序的规模和复杂性使得使用这种方法和手段无法确保完整的分析。需要一套新的测试和分析工具及方法来满足当今的安全要求。

建立和实施安全性

当今全面的工具套件在单个开发环境中集成了用于测试、分析和验证的工具。使用工具环境还可以帮助在组织内建立一种规范的方法,该方法可以帮助团队协作,即使他们可能在不同的位置工作。

为了满足认证或资格要求,实现双向需求可追溯性的工具(从需求和设计到实施、验证活动和工件)可以使组织与竞争对手区分开来,并确保获得设备批准的最短路径。需求管理工具允许团队处理单个活动,并将代码和验证工件链接回更高级别的目标。

需要基于需求文档的双向可追溯性,以确保一个或多个低级别需求涵盖每个高级需求,并且每个低级别需求都可以追溯到高级需求。

除此之外,还需要这些工具来执行基于静态分析、动态覆盖分析和单元/集成测试的广泛基础测试。这些结果有助于确保安全性、功能安全性和符合编码标准,以及跟踪需求并通过广泛测试确保它们是否实际按预期运行的能力。

静态和动态分析:安全合作伙伴

在确保安全方面,两个主要问题是数据和控制。设计人员必须考虑谁有权访问数据、谁可以从数据中读取/写入、数据如何流动以及不同级别的访问和控制。为了解决这些问题,静态和动态分析必须同时进行。

在静态分析方面,这些工具使用未编译的源代码来检查代码与所选规则,这些规则可以是支持的标准以及开发人员或公司可能指定的任何自定义规则和要求的任意组合。这些工具还可以查找可能危及安全性的软件结构,检查内存保护以确定谁有权访问内存的哪些部分,以及跟踪可能遍历内存位置的指针。为了获得最佳结果,信息应以图形屏幕显示,以便于评估,以确保符合编码标准。

动态分析测试编译的代码,该代码使用编译器生成的符号数据链接回源代码。动态分析,尤其是代码覆盖率分析,需要大量的测试。开发人员可能能够手动生成和管理自己的测试用例(生成测试用例的典型方法),从需求文档开始工作,该过程可能会以不同程度的有效性刺激和监视应用程序的各个部分。然而,鉴于当今代码的大小和复杂性,这种方法通常不足以获得某些必需的认证。

图1:LDRA 工具套件的动态分析功能可生成基于当前测试运行的变量和参数使用情况报告。该报告突出显示了文件中使用该变量的文件和位置,并使用自定义筛选器进行了更精细的测试。

21

安全性需要对功能漏洞进行严格而彻底的测试,以及遵守正在运行的应用程序中的编码规则和指令。如果覆盖率分析要求包括语句或分支/决策覆盖率、过程/函数调用覆盖率,或者在更严格的环境中,修改条件/决策覆盖率 (MC/DC) — 则这些通常需要源代码和目标代码分析。它还可能需要自动生成测试,作为衡量测试有效性的一种手段(图 1)。

自动测试生成基于代码的静态分析,并在动态分析期间使用此信息来确定对应用程序中软件组件的适当激励。基本边界值测试的这一支柱可以通过从需求文档手动创建的功能测试轻松扩展。这些应包括任何功能安全测试,例如interwetten与威廉的赔率体系 尝试访问控制设备或向其提供会改变其任务的错误数据。此外,基于创建的测试的功能测试应包括稳健性,例如测试不允许的输入和异常条件的结果。

深入了解代码

发现安全漏洞可能涉及更微妙的问题。例如,存在与“死”代码区域相关的危险,这些代码可能被黑客激活或系统中的模糊事件用于恶意目的。尽管从头开始实现安全性是理想的,但大多数项目都包含预先存在的代码,这些代码可能没有经过与当前项目相同的严格测试。静态和动态分析一起使用可以揭示死代码区域,这些区域可能是危险源或可能占用所需空间。

区分真正死代码和很少使用的代码的能力是双向需求可追溯性很重要的另一个原因;为了能够检查应用程序中的代码是否满足需求,还可以从实际代码中将代码追溯到实际需求。如果这些路由都没有显示连接,则代码肯定不属于那里。

因此,静态分析的功能是分析源代码以获得正确的编程实践,还可以帮助为覆盖率测试、功能测试、控制和数据流分析设置动态分析。后者对于突出和纠正潜在的问题领域并产生软件质量指标至关重要。

为满足机载或作战系统的严格安全要求而开发的公司可能需要展示对数据流和控制流的分析,以进行软件认证。在根据DO-178C认证机载软件和系统的情况下,需要在对象级别进行验证。这涉及将源代码级别的代码覆盖率与目标代码级别的代码覆盖率相关联的能力。在某些情况下,可能还需要提供在汇编程序级别扩展代码覆盖率的机制。此扩展对于 DO-178C A 级认证特别有用,其中软件故障可能导致飞机损失和/或生命损失。

从单元测试开始并发展项目

除非可以从头开始进行测试,否则从头开始考虑和开发安全性没有多大帮助 - 这包括在目标硬件可用之前在主机开发系统上进行测试。在这个阶段,没有人在谈论项目接近完成的阶段,因此通常可以进行早期单元测试,然后进行集成测试,因为任务来自不同团队或开发人员。

此方法也适用于可能从头开始编写、从其他项目引入、作为商业产品购买或作为开源获得的代码部分。即使是内部代码也需要检查,因为它最初可能没有经过相同的分析。使用单元测试工具的决定归结为商业决策:产品开发中发现缺陷的时间越晚,修复成本就越高(图 2)。

图2:在开发周期的后期,修复缺陷的成本急剧增加。

22

可以在不考虑硬件时序的情况下完成主机上的功能测试,在某些情况下,可以在具有模拟连接的外围设备的基于主机的虚拟目标上执行。在主机上执行的相同测试也必须在目标硬件上执行,以确保正确的功能测试。

将全面的测试和分析框架应用于组织的开发过程,可以大大提高安全措施的彻底性和准确性,以保护重要系统。

审核编辑:郭婷

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

    关注

    5082

    文章

    19117

    浏览量

    304958
  • RFID
    +关注

    关注

    388

    文章

    6147

    浏览量

    237822
  • gps
    gps
    +关注

    关注

    22

    文章

    2895

    浏览量

    166207
收藏 人收藏

    评论

    相关推荐

    电气安规分析仪的原理和应用

    相关的安全标准和规定。这有助于企业在新产品上市前及时发现并解决潜在的安全隐患。 在用设备的定期维护:对于在用的电气设备,电气安规分析仪可以用于定期维护和检测。通过
    发表于 12-24 14:13

    电池的安全性测试项目有哪些?

    电池的安全性测试是保证电池在实际使用过程中稳定、安全的重要手段。通过一系列严格的测试项目,能够有效评估电池在不同条件下的表现,并提前发现潜在的安全
    的头像 发表于 12-06 09:55 301次阅读
    电池的<b class='flag-5'>安全性</b><b class='flag-5'>测试</b>项目有哪些?

    永磁同步电机的安全性分析

    永磁同步电机的安全性分析主要涵盖其设计、运行、维护以及故障处理等多个方面。以下是对永磁同步电机安全性分析: 一、设计安全性 材料选择 :
    的头像 发表于 11-22 10:44 225次阅读

    村田贴片电容的使用安全性

    村田贴片电容的使用安全性是一个重要的话题,它直接关系到电子产品的整体性能和可靠。以下是对村田贴片电容使用安全性的详细分析: 一、电气安全
    的头像 发表于 11-15 14:22 195次阅读

    汽车雷达回波发生器的威廉希尔官方网站 原理和应用场景

    和可靠。这有助于自动驾驶系统更好地适应各种道路和天气条件,提高自动驾驶的安全性和稳定性。 碰撞预警系统
    发表于 11-15 14:06

    智能系统安全性分析

    智能系统安全性分析是一个至关重要的过程,它涉及多个层面和维度,以确保系统在各种情况下都能保持安全、稳定和可靠。以下是对智能
    的头像 发表于 10-29 09:56 254次阅读

    MSPM0-高级控制计时器有助于实现更好的控制和更好的数字输出

    电子发烧友网站提供《MSPM0-高级控制计时器有助于实现更好的控制和更好的数字输出.pdf》资料免费下载
    发表于 08-28 11:30 0次下载
    MSPM0-高级控制计时器<b class='flag-5'>有助于</b>实现更好的控制和更好的数字输出

    有助于提高网络设备性能的FRAM SF25C20(MB85RS2MT)

    有助于提高网络设备性能的FRAM SF25C20(MB85RS2MT)
    的头像 发表于 07-25 09:49 283次阅读
    <b class='flag-5'>有助于</b>提高网络设备性能的FRAM SF25C20(MB85RS2MT)

    工业控制系统安全性分析与对策

    中断、设备损坏、数据泄露等严重后果,甚至威胁到国家安全和公共利益。因此,对工业控制系统安全性进行深入分析,并提出相应的对策,具有重要的现实
    的头像 发表于 06-28 18:07 1181次阅读

    开关电源安全性测试项目有哪些?如何测试

    总结而言,通过对开关电源进行过压保护、过流保护、短路保护、绝缘电阻测试、高压测试以及温升测试等一系列全面的安全性检测,可以充分评估电源的可靠
    的头像 发表于 05-23 17:41 916次阅读
    开关电源<b class='flag-5'>安全性</b><b class='flag-5'>测试</b>项目有哪些?如何<b class='flag-5'>测试</b>?

    M8_6pin公头安全性怎样

    ,能够在额定电压和电流范围内稳定工作,避免电气故障的发生。此外,该插头还具有较高的绝缘电阻,这有助于确保在高压或潮湿环境下电气连接的稳定性和安全性
    的头像 发表于 05-05 13:46 263次阅读
    M8_6pin公头<b class='flag-5'>安全性</b>怎样

    M8_5芯插座安全性好吗

      德索工程师说道从设计和结构方面来看,M8_5芯插座通常采用高强度、耐用的材料制造,这有助于抵抗外部环境中的物理冲击和机械应力。此外,其结构设计往往注重稳定性和可靠,确保在长期使用过程中不易出现松动或损坏的情况。这种设计思路在很大程度上提高了插座的
    的头像 发表于 04-15 14:12 268次阅读
    M8_5芯插座<b class='flag-5'>安全性</b>好吗

    电流探头测试小技巧:提高准确安全性

    电流探头是一种常用的测试工具,用于测量电路中的电流。正确使用电流探头可以提高测试的准确,并确保操作的安全性。本文将介绍一些电流探头的测试
    的头像 发表于 03-08 09:31 365次阅读
    电流探头<b class='flag-5'>测试</b>小技巧:提高准确<b class='flag-5'>性</b>和<b class='flag-5'>安全性</b>

    高隔离DC/DC转换器提升电机运作的稳定性与安全性

    在电机应用中,必须采用逆变器或转换器进行电源转换,采用高隔离DC/DC转换器,将有助于提升电机运作的稳定性与安全性,这对高功率、高速电机系统尤为重要。
    的头像 发表于 01-16 18:18 1401次阅读
    高隔离DC/DC转换器提升电机运作的稳定性与<b class='flag-5'>安全性</b>

    分布式无纸化交互系统如何实现信息的安全性和保密

    分布式无纸化交互系统可以通过以下几种方式实现信息的安全性和保密: 数据加密 :对会议内容、文件和通信进行端到端加密,确保数据在传输和存储过程中的安全性。 身份
    的头像 发表于 01-15 15:44 401次阅读