确保无人机软件安全需要什么

描述

无人机不像你在 10 岁生日时打开的遥控特技飞机。他们以不同的伪装出现在民用领空或作为军事任务中不可或缺的参与者飞行。那制造无人系统?安全和安保非常严肃的考虑。因此,ISO 14508和DO-178可能有助于使无人系统的安全和安保永久化。自动化这些认证标准所要求的流程的软件工具正在减轻负担。

作为一个基本概念,无人机(UAV或“无人机”)的想法“幼稚”简单:可以远程驾驶的微型飞机。无人机和我们童年的玩具之间的主要区别在于车辆本身及其导航和驾驶系统的复杂程度。鉴于这些车辆进入民用空域,并且随着它们开始用于越来越多的民用活动,它们将继续越来越多地进入民用空域,因此无人机软件的安全性变得至关重要。最重要的是,我们要提高代码健壮性的风险,并尽量减少其对黑客的潜在脆弱性。

早在2004年,美国宇航局的“民用无人机能力评估”就列出了30类可能对无人机使用感兴趣的私营部门组织,包括林业管理、农作物喷洒和沿海搜救等。从那时起,无人机和应用程序的数量激增,据《华盛顿时报》报道,到2020年,多达30,000架无人机可以在美国领空飞行。

无人机使用的这种扩展挑战了美国联邦航空局“提供世界上最安全,最高效的航空航天系统”的目标。由于机上没有人类飞行员,控制软件主要负责维护无人机的安全。而且,由于没有强制性标准来管理无人机系统的安全和安保,无人机的扩散增加了我们安全和安保的整体风险。

值得注意的是,即使实施了FAA标准,除非强制实施安全标准,否则安全仍可能面临风险。2011年一架中央情报局无人机在伊朗坠毁突显,除非系统能够承受黑客攻击,否则安全仍然处于危险之中。在那次事件中,地方当局声称他们通过入侵其GPS来转移车辆。当德克萨斯大学的托德·汉弗莱斯教授和一群美国研究人员在美国国土安全部代表面前入侵无人机时,他们的说法获得了信任。该团队通过模仿发送到全球定位设备的实际信号来欺骗机载GPS接收器,以欺骗无人机遵循不同的命令。

为了解决这种情况,美国空军理工学院的开发人员正在研究一种系统,该系统使无人机(如人类飞行员)能够通过使用带有模式识别软件的相机来补充GPS导航的视觉反馈。此类努力的安全性取决于所部署软件的安全性。

应制定哪些安全/安保标准

无人机安全和安保需要考虑两种标准:

流程标准描述了要遵循的开发流程,以确保以安全的方式(DO-178)或安全的方式(ISO 14508)编写成品。

编码标准描述了一个高级编程语言子集,可确保软件尽可能安全(MISRA C)和安全性(CERT C)编写。

安全在无人机开发中显然很重要,但无人机只有在无法被敌对入侵者控制的情况下才能被认为是安全的。

ISO 14508(也称为“通用标准”,指的是从中衍生出来的合并文档)是定义IT安全要求的国际面向流程的标准。这些要求根据七个评估测试保证级别 (EAL) 进行分类,如表 1 所示,EAL 7 代表最安全的系统。安全功能要求包括审计、通信、加密、数据保护、身份验证、安全管理、隐私和评估目标 (TOE) 保护。汉弗莱斯教授的欺骗性GPS信号只证明了当这些一般原则不适用于无人机通信时产生的一个漏洞。

表 1:ISO 14508 定义了一系列评估保证级别 (EAR),这些级别决定了与每个软件组件相关的流程严格性。

无人机

为无人机使用而开发的软件属于DO-178“机载系统和设备认证中的软件注意事项”的准则。DO-178B和最近批准的DO-178C都为机载系统和设备的所有软件的生产提供了详细的指导方针,无论是否对安全至关重要。作为这些指南的一部分,DO-178B/C 定义了设计保证级别 (DAL),其中 A 级涉及最严格的故障防护措施。DO-178 将这些 DAL 转换为软件级别,如表 2 所示。每个软件级别都有在开发过程中必须满足的相关目标。

表 2:DO-178 定义了必须为每个软件组件检查和确定的一系列软件级别。

无人机

DO-178认识到,在整个开发生命周期中必须以系统的方式解决软件安全问题。为了帮助开发人员做到这一点,该标准概述了所需的流程,例如需求可追溯性、软件设计、编码以及验证和验证,以确保对软件的信心以及正确性和控制。强大的软件验证和验证流程使开发人员能够检测和纠正软件开发过程中引入的错误。

在软件方面,这两个标准之间的重叠相当大,特别是在配置管理、软件开发、质量保证、验证和规划方面。但是,DO-178仅关注机载系统中软件的安全性,而ISO 14508则侧重于系统安全性。

DO-178和ISO 14508都建议使用语言子集(或“编码标准”),例如MISRA C:2012用于安全,CERT C或CWE用于安全性。这些语言子集主要由开发人员为了避免确保代码安全或安全而避免的构造和实践列表组成。例如,完全有可能遵守MISRA C:2012和CERT C的编码规则,以获得可接受的安全和安保水平。

鉴于预计无人机将同时符合DO-178和ISO 14508标准,开发团队应努力实现这两个标准的目标。

确保无人机的开发能够满足确保安全和安保问题得到处理的系统要求,这当然至关重要。然而,随着与无人机开发相关的市场压力越来越大,缩短上市时间和开发成本也很重要。幸运的是,供应商在提供自动化这些认证标准所需流程的工具方面已经取得了长足的进步。例如,DO-178 和 ISO 14508 的基础是需求可追溯性、静态分析和动态分析,并且可以使用工具来帮助自动化所有三个目标的劳动密集型方面。

需求可追溯性工具

这两个标准都要求高级需求可追溯到设计文档,设计文档可追溯到代码,代码跟踪可测试,然后从测试到需求再次备份,以获得“双向需求可追溯性”。

如果需求从一开始就是静态和固定的,那么可追溯性将相对简单。然而,这种情况很少发生,因此在任何特定时间维护矩阵以显示可追溯性成为一项非常劳动密集型的任务。

为了帮助管理这种关系矩阵,需求可追溯性工具将系统需求链接到软件需求,从软件需求到设计工件,再到源代码和相关测试用例。需求的自动双向跟踪可确保开发的无人机完全按照最终需求集的规定执行 - 不多也不少,无论这些需求变化的频率如何(图2)。

图2:需求可追溯性是满足安保和安全标准的关键因素。将高级需求与源代码和验证任务动态链接可确保始终维护最新的可追溯性矩阵。

无人机

静态分析工具

当需求建立和设计到位时,开发安全可靠的源代码需要使用适当的编码规则。同样,旨在开发安全代码的规则与为安全代码设计的规则类似。例如,许多不安全的 C 语言功能同样不安全。

值得注意的是,手动检查是否符合 MISRA C 和 CERT C 语言子集是不切实际的。静态分析可自动验证编码规则。选择规则后,将对源代码进行静态分析,以突出显示任何规则冲突的精确位置。

静态分析也有助于履行其他义务。例如,它标识不必要的复杂代码,因此更容易出错。并且,它确认代码执行其指定要执行的操作。开发人员不仅必须证明代码运行正确,而且所有代码的执行程度都适合系统的关键程度。

动态分析工具

动态分析工具通过单元测试或集成测试将代码作为一个整体或零碎地执行,以显示正确的功能。允许构建和执行子系统所需的任何代码都是自动创建的,并识别执行的代码。

具有成本效益的安全和安保

如前所述,无人机项目既不符合DO-178,也不符合ISO 14508。即使是这样,这些标准也没有坚持使用自动化工具或开发过程的自动化。然而,鉴于无人机的作用不断扩大,其安全可靠的需求至关重要。自动化的需求可追溯性与现代静态和动态分析工具相结合,能够以高效且具有成本效益的方式满足此类标准的严格要求。

审核编辑:郭婷

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分