CISSP考点拾遗——深度防御defense-in-depth

说明:“考点拾遗”系列基于日常为学员和网友做的答疑整理,主要涉及教材中没有完全覆盖到的知识点。

深度防御(或分层安全)是指应用多个不同层次的安全技术和策略以实现更大的整体保护的概念。在信息安全方面,美国国家安全局(NSA)首先使用这个短语来描述使用多种类型、位置和层次的防御,并结合检测和分析漏洞的能力,以便迅速作出反应和缓解。

通过使用安全控制的组合,任何单一控制的失败所带来的影响都可以减少,甚至消除。前面提到的许多安全原则都是深度防御的类型。例如,职责分离确保敏感的操作需要两个(或多个)人的积极合作。单个个人的妥协compromise(经由无赖或恶意的意图via rogue or malicious intent)并不足以破坏系统。

分层是另一种分离系统组件的方法:安全控制被放置在各层之间,防止破坏了一层的攻击者访问其他层。

虽然冗余主要是一种通过复制的系统或平行运行的组件来保护可用性损失的方法,但它也是一种通过串行复制安全控制来避免安全单点故障的方法。这意味着有重叠的安全控制,这样,一个人的失败或损害本身不会导致暴露或损害。一个例子是使用Linux的iptables来阻止对某些端口的访问,即使服务器在配置为阻止相同端口的防火墙后面。如果对一个控制(防火墙或iptables)的配置改变,意外地删除了一个拒绝规则(或添加了一个不适当的允许规则),iptable或防火墙中的 "冗余 "控制将继续提供必要的保护。

深度防御与假设破坏的概念有关,这意味着在假设一个或多个安全控制已经被破坏的情况下管理安全。假设破坏的思维方式将思维从简单地专注于防御周边(或周边)转变为建立多种防御的平衡方法,从而使一个控制的破坏不会立即导致成功的破坏,并将检测和缓解视为与预防同样重要。作为一个例子,考虑到反恶意软件系统和电子邮件扫描应用程序已不再足够。端点安全应用程序,如Carbon Black,能够阻止任何先前未被识别为可信的执行--这第二层安全表明了深度防御的重要性。

以上文字出自最新版CBK,为方便大家阅读我粗略翻译了下,请查阅CBK第3知识域的原文以准。

根据上述信息,可以这么看,要落实深度防御,应体现以下一种或多种特征:

1、单点多项

即针对同一防御对象实施多种保护措施。

考试中,如果选项中简单列举了多个措施,但各个措施不具备共同目标,比如有些是针对物理周界的,有些是应用安全的,则不应认为其体现了深度防御思想;反之亦然。

当然,应考虑到有些措施可能适用于多种情形,比如多因素身份鉴别,在物理周界、网络接入、资源访问等方面都用得上。

2、分层

措施或措施的组合应具有分层、多级别的特征,对一个级别的突破(或称“妥协”)不会立即转变为另一级别的突破(或称“妥协”)。

Bell-LaPadula、Biba等多级安全模型自然就该算是贯彻了深度防御思想。

另有一个重要的例子是多实例(Polyinstantiation),这个术语意味着为一个对象制作多个副本(multiple copies,multiple=poly,copies=instances),通常是为了支持该对象在不同级别的保密性和完整性。教材中主要介绍的数据库的多实例,即数据库可以为每个分类级别创建一个记录副本,省略该分类级别以上的信息。这可以防止较低级别的用户甚至不知道存在更敏感的信息,减少推理攻击的可能性。但是要注意,多实例(Polyinstantiation)是个广义的概念,比如在操作系统中,可以创建一个共享资源空间的多个实例,如虚拟内存,以防止不同的进程相互读取或写入。

3、串行控制

即在一条链路或一个事务路径上存在多个控制。前面引用的CBK原文中提到的职责分离就表现为一个事务路径上的多重控制,而与之相近的“双人控制two-person control”可以看作是特征1单点多项的例子。

4、串行冗余

即在一条链路或一个事务路径上存在一模一样的重复的控制。比如我今天逛宝龙广场,进大门要刷场所码查核酸证明;再进它地下一层的超市,又要刷场所码查核酸证明,我想大家应该理解这样做的必要性。引用的CBK原文中也提到了,在链路上一前一后两台防火墙,防御的策略是一模一样的。这也是深度防御的例子,同时还是避免单点故障的例子。

提醒避坑!!!我们一般说起避免单点故障往往总想到并行的冗余,留意上面这种情况也算哦~~

猜你喜欢

转载自blog.csdn.net/single_element/article/details/125250043
今日推荐