我有一个关于 ISO/IEC 15408 标准的问题:我想知道评估级别是否更高我们可以得出结论产品更安全?即,如果我们有两种产品,根据定义具有更高 EAL 的产品是否更安全?
通用标准标准中 EAL 1-7 之间的区别?
EAL 级别是:
- EAL1 - 功能测试
- EAL2 - 结构测试
- EAL3 - 有条不紊地测试和检查
- EAL4 - 有条不紊地设计、测试和审查
- EAL5 - 半正式设计和测试
- EAL6 - 半正式验证的设计和测试
- EAL7 - 正式验证的设计和测试
你可以看到这些越来越严格,从功能测试到形式验证。某物的安全性或安全性不是绝对值,它是主观的和上下文相关的,即它在很大程度上取决于您正在测试的内容以及您使用它的目的。
“+”后缀通常用于表示增强的 EAL:这包括除了指示的基本级别之外的一个或多个保证。例如,经常看到操作系统的 EAL 4+,额外的保证通常包括缺陷修复组件(ALC_FLR、文档化和正式的安全缺陷报告和管理程序)。
EAL 的一个关键部分是安全目标文档,简而言之,这包括对功能、特性和预期用途的严格定义,为特定的被测硬件或软件组件(TOE,评估目标)量身定制。EAL 等级决定了测试的范围,以及对安全性如所声称的那样的信心。您不能简单地用数字比较 EAL,数字只能在安全目标的上下文中正确理解;最重要的是,这只能在您的安全要求的上下文中理解。
通俗地说,EAL 表示某物在多大程度上做到了它在锡上所说的,你必须确保你有正确的锡;-)
回答您的问题:是和否:-)
这将变得冗长,而对通用标准的批评通常是针对这一点的。但是,一旦您知道了几个术语,它实际上就很简单了。
简短版: EAL 级别本身只是产品安全性的一个指标。其他重要因素包括:
- 评估范围是什么?. 即,安全目标实际上是否涵盖了实际产品的所有安全相关功能?请注意,保护配置文件是确保这一点的工具。
- 如果产品是 EAL X+,那么 + 指的是什么?是增强了只需要编写更多文档的安全保证组件 (SAR),还是对产品安全至关重要的 SAR,例如 AVA_VAN?
更长 的解释:如果您查看 EAL 级别:每个 EAL 级别都引入了一组安全保证组件 (SAR),这些组件必须包含在评估中,以便满足 EAL 级别。如果查看 CC 文档,您会发现大多数保障组件都是分层结构的,并且每个层次结构都引入了一些额外的要求。以 ADV_FSP 为例,它是关于评估目标的功能规范的质量和范围:
- EAL1 需要 ADV_FSP.1
- EAL2 需要 ADV_FSP.2
- ...
- EAL7 需要 ADV_FSP.6
ADV_FSP.1 是“非正式功能规范”,而 ADV_FSP.2 还需要“完全定义的外部接口”。这种情况继续下去,更高的层次结构包括越来越多的要求。
所以一般来说,更高的 EAL 级别意味着更高的安全性。然而,有两个重要问题使事情变得更加复杂:
一、评价范围。EAL 级别意味着包含某些保证组件 (SAR)。您可以粗略地说,保证组件定义了测试/评估的深度和彻底程度。然后还有写在安全目标中的安全功能要求 (SFR) 。SFR 定义了什么已测试 - 与安全目标的其他章节一起,它们描述了安全目标中的评估范围。这里有一个奇怪的著名例子是在 EAL4 上评估的 Microsoft Windows XP 的操作系统评估 - 但是如果你看一下安全目标,你会发现很多功能没有用 SFR 来描述,只是简单地脱离评价目标。喜欢网络访问. 这是 Windows XP 的一个主要弱点,而常识表明,Windows XP 认证在安全性方面并没有多大意义。另一方面,这是一种完全有效的方法:您只需关注产品必须安全的一个领域,而其他领域则超出范围。因此,您可以让供应商 A 更诚实一些,并确保他的整个产品都接受评估,但只评估为 EAL2,您可以让供应商 B 只评估其产品的一小部分但符合 EAL4。那么厂商B的产品不一定更好。
保护配置文件正是针对这个问题,因为它们根据一组固定的 SFR 和/或 EAL 级别来描述产品。如果产品评估的安全目标不符合该保护配置文件,则您知道评估的范围至少与保护配置文件中描述的一样广泛,并且上述供应商 A 和 B 的示例根本不可能,如果存在合适的保护配置文件,两者都将确保其产品符合该保护配置文件。
2. 增强安全保障组件 (EAL X+)。另一个答案已经提到了 ALC_FLR(文档化和正式的安全漏洞报告和管理程序)。这针对软件,基本上意味着您必须有一个流程来确保漏洞得到修复。另一个非常重要的保证组件是 AVA_VAN - 漏洞评估。这正是评估机构将您的产品拆开并测试漏洞的部分:-) CC 定义了这些关系
- EAL1:AVA_VAN.1
- EAL2/3:AVA_VAN.2
- EAL4:AVA_VAN.3
- EAL5:AVA_VAN.4
- EAL6/7:AVA_VAN.5
这里的一个问题是,查看这些定义,如果您想拥有较高的 AVA_VAN 级别,并且基于该选择和 EAL 级别来获得 AVA_VAN.5,您将选择 EAL6。然而,EAL6 适用于半形式验证的设计和测试,这可能是一种完全的矫枉过正,因为开发过程简单到复杂,整个产品开发成本太高。
所以在实践中经常做的是采用较低的 EAL 级别,但使用较高的 AVA_VAN 级别来增加它。例如,在智能卡世界中,您经常会看到 EAL4+,其中 + 指的是 AVA_VAN.5。然后,您可以确定该产品确实不会被轻易破坏、黑客攻击/破解,但该产品仍不一定经过半正式的设计和验证。或者换句话说:EAL4+/AVA_VAN.5 的产品实际上可能比(普通)EAL5 的产品更安全,因为 EAL5 只需要 AVA_VAN.4。