商用现货 (COTS) 软件很少经过任何类型的认证过程,对功能、API [应用程序编程接口] 合规性或安全性进行独立验证,主要例外是针对需要安全认证的应用程序的软件。部分问题在于大多数软件标准没有指定认证测试套件或正式的认证过程。然而,对于一些军事嵌入式系统来说,这种情况开始发生变化,部分由航空界定义的过程驱动,但可以更广泛地应用于航空电子设备之外。
即使对于不需要认证即可实现法规遵从性的应用程序,软件认证也可能是有益的。最重要的好处可能是认证使 OEM、集成商和最终用户确信软件按预期运行。紧随其后的可能是避免由于定义不明确的要求而导致的可交付成果争议,因为获得认证是一个非常明确的可交付成果。认证的其他好处包括通过使用独立测试的产品来降低产品召回的可能性,并通过证明公司为使用认证产品付出了额外的努力来减轻法律责任。
API 一致性
一种类型的认证是符合标准的API[应用程序编程接口],该标准包括验证测试套件和独立验证方法。带有广泛使用的软件测试套件的标准的一个例子是IEEE和The Open Group的POSIX认证,其中The Open Group是证书颁发机构。POSIX 认证测试套件同时测试 API 一致性和功能测试。
具有一致性测试套件的标准的特定安全示例是ARINC 653,航空电子应用软件标准接口:ARINC 653第1部分定义了操作系统和应用软件之间的通用API,该API可以在同一硬件上以不同的保证级别托管多个应用程序。ARINC 653 第 3 部分是一致性测试规范,其中包括应用程序内的实质性功能测试以及 API 一致性测试。ARINC 653 Part 1 的最新版本(对于包含多核处理器的系统特别感兴趣)包括软件架构需要确保具有多个线程的应用程序可以跨多个处理器内核并行运行的要求。
对于更广阔的军事嵌入式系统市场,FACE [未来机载能力环境] 技术标准(图 1)旨在使军事计算操作更加强大、可互操作、便携和安全。该标准使开发人员能够通过通用操作环境创建和部署广泛的应用程序目录,以用于整个军事电子系统范围。FACE 技术标准包括每个体系结构段的一致性测试:操作系统、I/O 服务、特定于平台的服务、传输服务和便携式组件。
图1|面对建筑细分市场。
尽管FACE技术标准是为机载系统设计的,但该软件标准适用于所有环境。例如,操作系统段(OSS)包括通用配置文件的定义以及安全配置文件和安全配置文件。至少符合已定义的 POSIX 子集是每个 OSS 配置文件的要求;安全和安保配置文件还需要 ARINC 653 支持。其他人脸分段仅限于使用所选 OSS 配置文件中包含的 API。每个段中的每个配置文件都有一致性测试套件,认证过程包括由独立验证机构进行的验证测试,然后由证书颁发机构审查测试和验证结果。
安全保证认证
软件安全保证通常被认为是需要高度安全性的特定行业。从一般实时系统的角度来看,软件安全保证意味着系统以最高程度的确定性执行其预期功能。软件安全保证主要涉及增强的产品生命周期,以发现和消除设计错误和遗漏。所需的审查和记录级别基于故障的预测影响,通常以伤害或生命损失来描述。
电子系统功能安全的国际基本标准是IEC 61508,适用于广泛的行业。该标准由国际电工委员会颁布,定义了四个安全完整性等级(SIL),最严格的是SIL 1,连续或频繁运行每小时发生危险故障的概率为《10-5。作为评估符合IEC 61508的一种手段,外部审核员可以使用安全相关系统合格评定(CASS)方法进行认可认证。特定行业的安全标准通常是IEC 61508的衍生产品,包括汽车软件(ISO 26262),铁路软件(IEC 62279)和核电站(IEC 61513)。
软件安全保障最严格的应用之一是飞行安全,包括用于机载软件的DO-178C / ED-12C和用于地面软件的DO-278A / ED-109A,特别是通信,导航,监视和空中交通管理(CNS / ATM)。软件根据故障条件的影响开发和验证到设计保证级别 (DAL),其中 DAL A“灾难性”最高,DAL D“次要”。没有安全保证要求的应用程序标记为 DAL E。作为美国的航空认证机构,联邦航空管理局 (FAA) 根据系统提供商提供的设计、测试和验证工件批准系统。
在高 DAL 下实现合规性的最大障碍可能是多核处理器中发生的共享资源争用。这种争用可能导致在一个处理器内核上运行的应用程序干扰在另一个内核上运行的另一个应用程序,从而对确定性、服务质量以及最终的安全性产生负面影响。为了直接解决多核干扰问题,证书颁发机构软件团队(CAST)在一份名为CAST-32A的立场文件中发布了多核系统的指南。CAST-32A包括10个目标,需要满足这些目标才能解决使用多核处理器的问题。
减轻多核干扰也是在集成模块化航空电子设备(IMA)中使用多核处理器的先决条件。如 DO-297 中所述,IMA 应用程序的关键特征之一是应用程序是可独立修改的。如果没有缓解多核干扰的通用解决方案,来自修改的应用程序的干扰可能会导致现有应用程序无法正确执行,反之亦然。
安全认证备受关注
安全性已成为几乎每个军事电子系统中更重要的问题。尽管每个军事程序都有自己的一套安全要求,但经过标准保护配置文件认证的软件具有巨大的优势。计算机硬件和软件安全保证的国际标准是“信息技术安全评估通用标准”(ISO/IEC 15408)。评估可以针对不同的深度和严格性级别进行,称为评估保证级别(图 2),EAL1 是最不严格的,EAL7 是最严格的。
图2|评估保证级别。
通用准则的框架非常通用,允许供应商定义自己的评估安全要求。当根据政府定义的保护配置文件进行评估时,通用准则的主要价值就出现了。在美国,国家信息保障伙伴关系 (NIAP) 定义保护配置文件并管理通用标准评估和验证方案 (CCEVS) 验证机构。当评估达到EAL5或更高时,国家安全局(NSA)参与评估。
安全级别不是直接来自评估保证级别,而是来自保护配置文件中的安全要求。只有当以非常苛刻的保护配置文件实现高 EAL 时,才能实现最佳安全性。
软件的 NIAP 保护配置文件的一些示例包括
通用操作系统保护配置文件 (GPOS PP):此 PP 不是为特定的 EAL 设计的,而是主要基于 EAL2 要求。
需要高鲁棒性 (SKPP) 的环境中分离内核的保护配置文件:此保护配置文件专为 EAL6 和其他要求 (EAL6+) 而设计。
航空业现在也有安全指导:作为DO-178C的补充,有一套高级机载安全规范,包括DO-326A,DO-355和DO-356。这些规范包含系统和飞机级别的安全目标。任何新的商用飞机系统都必须满足DO-326A的要求。
DO-326A 没有具体说明如何实现所需的安全目标;它仅提供有关识别威胁媒介并确保采取适当缓解措施的过程的指导。DO-326A 中的流程并行 DO-178C,例如要求认证安全方面计划 (PSecAC) 类似于软件方面认证计划 (PSAC)。
通过 EAL5 或更高通用标准认证的软件产品在满足 DO-326A 方面领先一步,因为流程中存在显著重叠。特别是SKPP,其安全要求和测试比DO-326A的要求要严格得多。
将一切整合在一起
认证过程可能既困难又耗时,特别是如果产品不是从一开始就针对正在测试的功能进行整体设计的。同时设计用于满足 API 一致性、安全认证和安全认证所有要求的软件产品的一个例子是 INTEGRITY-178 tuMP 实时操作系统 (RTOS)。INTEGRITY-178 tuMP是第一款通过最新FACE技术标准3.0版认证的产品。该OSS认证是针对安全和安保配置文件的,其中包括POSIX和ARINC 653一致性测试。
INTEGRITY-178 tuMP 实时操作系统支持多核干扰抑制的通用解决方案,可帮助系统集成商满足 CAST-32A 和 DO-297 的要求。该解决方案使用 DAL A 机制来监视和强制实施从每个处理器核心到共享资源的带宽分配。
在安全方面,INTEGRITY-178 操作系统通过了 NSA 定义的分离内核保护配置文件 (SKPP) 的高健壮性认证,并且是唯一通过通用标准 EAL6 或更高版本认证的操作系统。INTEGRITY-178 tuMP 将该设计扩展到多核处理器,继续满足 SKPP 严格的功能和保证要求。这些安全和安保保证认证在实际客户应用中得到了验证,在 30 多个不同的微处理器上提供了 80 多个 DO-178B/C A/EAL 6+ 级独特的客户认证包。
审核编辑:郭婷
-
嵌入式
+关注
关注
5056文章
18955浏览量
301663 -
接口
+关注
关注
33文章
8435浏览量
150687 -
应用程序
+关注
关注
37文章
3232浏览量
57535
发布评论请先 登录
相关推荐
评论