首页 » 99链接平台 » 确保无人机软件安全所需的条件(无人机软件需求标准系统)

确保无人机软件安全所需的条件(无人机软件需求标准系统)

少女玫瑰心 2024-11-02 23:47:27 0

扫一扫用手机浏览

文章目录 [+]

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

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

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

确保无人机软件安全所需的条件(无人机软件需求标准系统) 99链接平台
(图片来自网络侵删)

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

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

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

过程标准描述了为确保以安全方式 (DO-178) 或安全方式 (ISO 14508) 编写成品而应遵循的开发过程。
编码标准描述了一个高级编程语言子集,该子集确保软件尽可能安全 (MISRA C) 和安全性 (CERT C) 编写。

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

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

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

(单击图形可缩放 1.9 倍)

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

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

(单击图形可缩放 1.9 倍)

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 标准,开发团队应努力实现这两个标准的目标。

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

图 1:满足一个标准是一项挑战;遵守 DO-178 和 ISO 14508 等两项标准是完全令人生畏的。
通过应用适当的自动化技术,开发团队可以最大限度地减少所涉及的开销。

(单击图形可缩放 1.9 倍)

需求可追溯性工具

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

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

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

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

静态分析工具

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

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

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

动态分析工具

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

经济高效的安全保障

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

相关文章