第8章 安全模型、设计和能力的原则

8.1 使用安全设计原则实施和管理工程过程

8.1.1客体和主体

主体(subject),是发出访问资源请求的用户或进程。访问意味着可读取一个资源或在其中写入数据。

客体(object),是用户或进程想要访问的资源。

在不同的访问请求中,相同的资源即可能是主体也可能是客体(信任传递的例子)

8.1.2 封闭系统和开放系统

开放系统,采用行业标准设计,通常易于与其他开放系统集成。

封闭系统,通常是专有硬件或软件。它们的规范通常不会公开,并且通常难以与其他系统集成。

封闭系统:缺少易集成性,攻击难度高,更安全。

开放系统:更容易与其他开放系统集成,更受欢迎,更容易受到攻击。

开源(Open Source)与闭源(Closed Source):

开源解决方案,是源代码和其他内部逻辑都向公众公开的解决方案。

闭源解决方案,是源代码和其他内部逻辑对公众隐藏的解决方案。

开源解决方案,通常依赖于公众检查和审查,随着时间的推移改进产品。

闭源解决方案,更依赖供应商/程序员随着时间推移改进产品。

开源和闭源解决方案都可供出售或免费提供,但商用一词通常意味着闭源。

但是,闭源系统的源代码一般是通过供应商妥协或反编译得到。

前者通常违反道德甚至法律,而后者则是道德的逆向工程或系统分析的标准要素。

也存在这样的情况,闭源程序可以是开放系统或封闭系统,开源程序也可以是开放系统或封闭系统。

8.1.3用于确保保密性、完整性和可用性的技术

1.限制(Confinement)

进程限制,使进程只能对某些内存位置和资源进行读取和写入,这也被称为沙箱

拒绝进程尝试执行超出其授权的操作,采取后续措施。

2.界限(Bound)

简单系统中,两种授权级别:用户和内核。授权级别告知操作系统如何设置进程的界限。

进程的界限由对其可以访问的内存地址和资源所设置的限制组成。界限规定了限制和包含进程的区域。

逻辑界限,划分出每个进程使用的内存逻辑区域。操作系统负责强制执行这些逻辑界限并禁止其他进程访问。

物理界限,要求每个受限进程的运行内存与其他受限进程的运行内存在物理上隔离。(非常贵,更安全)

3. 隔离(Isolation)

当通过执行访问界限来限制进程时,该进程将以隔离状态运行。

隔离能阻止一个应用访问另一个应用的内存或资源,不论是善意还是恶意的访问。

8.1.4 控制

控制使用访问规则(Control)来限制主体对客体的访问。访问规则声明了每个主体可以合法访问的客体。

访问控制的主要目标是,通过阻止已授权或未授权的主体的未授权访问,确保数据的保密性和完整性。

(1)强制访问控制(Mandatory Access Control, MAC)

强制访问控制中,是否许可一个访问由主体和客体的静态属性来决定。

每个主体都拥有属性,用来定义其访问资源的许可或授权。

每个客体拥有属性,用来定义其分类。不同类型的安全方法用不同的方式对资源进行分类。

(2)自主访问控制(Discretion叩Access Control, DAC)

自主访问控制允许主体根据需要定义要访问的客体列表。这些访问控制列表是主体可修改的动态访问规则集。

8.1.5 信任与保证

可信系统(trusted system),

指所有保护机制协同工作的系统,为许多类型的用户处理敏感数据,同时维护稳定和安全的计算环境。

关于可信系统(trusted system):

•关于安全策略执行机制独立核查证据是足够和有效的。

•安全策略的强制执行。

•充分性和有效性机制以加强安全策略。

可信恢复(trusted recovery):

系统的一个错误或崩溃不能被用来破坏安全。

保证(Assurance),

简单地定义为满足安全需求的可信程度,需要持续地维护、更新以及重新验证。

信任可通过实现特定的安全功能构建到系统中,而保证是在真实情况下对这些安全功能的可靠性和可用性的评估。

8.2 理解安全模型的基本概念

8.2.1 可信计算基(Trusted Computing Base, TCB)

TCB硬件、软件和控件(固件)的组合,它们构成了一个执行安全策略的可信基础。

TCSEC(Trusted Computer System Evaluation Criteria, 可信计算机系统评估标准)是美国国防部的一个较早的标准,俗称橘皮书。

该标准将TCB描述为硬件、软件和控件的组合,它们协同工作构成执行安全策略的可信根基。

TCSEC定义了四个主要类别: A类是已验证保护,B类是强制保护,C类是自主保护,D类是最小保护。

生命周期保证(life cycleassurance):确保一个TCB通过正式的受控标准来设计、开发和维护,从而实现系统的生命周期的每个阶段的保护措施。

安全策略:

1. 安全边界(Security Perimeter),系统的安全边界是一个假想的边界,将TCB与系统的其余部分分开隔离TCB信任组件和不受信任组件

TCB要想与系统的其余部分进行通信,必须创建安全通道,也称为可信路径。

可信路径,是使用严格标准建立的通道,在不将TCB暴露于安全漏洞的情况下允许进行必要的通信。系统的其他部分与TCB进行通信的安全通道。

2.参考监视器(引用监视器)和内核

TCB中定义访问控制的概念模型,验证主体访问客体的权限。

引用监视器(Reference Monitor):概念是一个抽象机,它确保所有主体在访问客体之前拥有必要的访问权限。

因此,引用监视器是主体对客体进行所有访问的中介。必须满足隔离、完整性和可验证性。

参考监视器位于每个主体和客体之间,在允许任何请求继续之前,验证请求主体是否有权使用资源。

参考监视器是TCB 的访问控制执行者。因此,已授权、安全的行动和活动才允许发生,而未授权、不安全的活动和行动会被阻止拒绝。

控制主体对客体的所有访问,以确保主体拥有必要的访问权限并保护客体免受未经授权的访问。

系统使用引用监视器来比较主体和客体的安全标识

安全内核The security kernel(TCB的核心),是TCB中用于实现参考监视器功能的组件集合。目标是启动适当的组件以执行参考监视器功能并抵御所有已知攻击。

安全内核是实际实施引用监视器概念的机制。安全核心必须隔离实施引用监视器概念的进程,必须不会被篡改,

必须针对每次访问企图进行调用,而且必须小到足以能正确地进行测试。

安全内核是由一系列机制组成,属于TCB,实施并加强了引用监视器概念。

※TCSEC已被废除并用通用标准取代。

8.2.2 状态机模型

状态机模型,描述了一个系统,它无论处于什么状态总是安全的。基于有限状态机(Finite State Machine, FSM)。

接受输入或产生输出时都会发生转换。一个转换总会产生新状态(也称为状态转换)。

必须评估所有状态转换。如果每个可能的状态转换都转换到另一个安全状态,则该系统可称为安全状态机。

安全状态机模型系统,始终引导进入安全状态,在所有转换中保持安全状态,并允许主体仅以符合安全策略的安全方式访问资源。

状态机模型:规定系统应安全启动、执行安全状态转换,甚至安全失败。这意味着如果系统遇到它认为不安全的东西,它应该更改为更安全的状态以进行自我保护和保护。

状态机模型要求,如果一个组件发生故障,系统应该变到更安全的状态

状态机模型规定系统应安全启动、执行安全状态转换,甚至安全失败。

这意味着如果系统遇到它认为不安全的东西,它应该更改为更安全的状态进行自我保护。

8.2.3 信息流模型

信息流模型基于状态机模型。

Bell-LaPadula模型,关注的是防止信息从高安全级别流向较低安全级别。

Biba模型,关注的是防止信息从较低安全级别流向高安全级别。

信息流模型不一定只处理信息流的方向,还可处理流动的类型。

信息流模型旨在防止未经授权、不安全或受限制的信息流,通常在不同的安全级别之间(这些通常被称为多级模型)。

信息可在相同分类级别的主体和客体之间传递,也可在不同分类级别的主体和客体之间传递。

信息流模型可以用于建立同一对象不同时间点的两个版本或状态之间的关系。

使用定向关系图来指定权限从主体传输到客体,或者主体从另一个主体获得权限。

Biba模型是一个状态机模型,不允许主体向上写,完整性级别被分配给了主体和客体。

8.2.4 非干扰模型(The noninterference model)

非干扰模型大致基于信息流模型。

非干扰模型,关注较高安全级别的主体的动作如何影响系统状态或较低安全级别的主体的动作。

非干扰模型真正关注的是防止处在高安全分类水平的主体的行为影响处于较低安全分类水平的系统状态。

确保发生在较高安全级别的操作不会影响发生在较低安全级别的操作,不关注数据本身的流动。

组合理论:

三种公认的组合理论类型:

级联(Cascading):一个系统的输入来自另一个系统的输出。

反馈(Feedback):一个系统向另一个系统提供输入,该系统通过颠倒这些角色进行互动。

连接(Hookup):一个系统将输入发送到另一个系统,但也将输入发送到外部实体。

8.2.5 Take-Grant模型

规定如何将权限从一个主体传递到另一个主体或从主体传递到客体。

获取规则:允许主体获取客体的权限

授予规则:允许主体向客体授予权限

创建规则:允许主体创建新权限

删除规则:允许主体删除其拥有的权限

8.2.6 访问控制矩阵

访问控制矩阵,指示每个主体可对每个客体执行的动作或功能。系统使用访问控制矩阵来快速确定主体对客体所请求的动作是否被授权。

矩阵的每列是访问控制列表(ACL) 。矩阵的每一行都是一个能力列表。

ACL与客体绑定,列出了每个主体可执行的有效操作。访问矩阵模型Access Matrix model,为主体提供客体访问权限的直截了当的方法

能力列表与主体相关联,列出可对每个客体执行的有效操作。

实现访问控制矩阵模型通常涉及以下内容:

• 构建可以创建和管理主体和客体列表的环境。

• 编写一个函数,它的输入可以是任何类型的对象,函数可以返回与此对象相关的类型。

8.2.7 Bell-LaPadula模型(专为军方设计)

Bell-LaPadula模型可防止机密信息泄露或转移到较低的安全许可级别。

Bell-LaPadula模型专注于维护客体的保密性,没有解决客体的完整性或可用性方面的问题。

Bell-LaPadula模型建立在状态机概念和信息流模型,还采用了强制访问控制和格子概念。

三个基本属性:

简单安全属性(Simple Security Property),规定主体不能读取较高敏感度级别的信息(不准向上读属性)。

*安全属性(* Security Property),规定主体不能将信息写入位于较低敏感度级别的客体(不准向下写属性),这也称为限制属性(Confinement Property) 。

自由安全属性(Discretionary Security Property),规定系统使用访问矩阵执行自主访问控制(知所必须)。

SS属性,不准向上读,准许向下读。

*属性,准许向上写,不准向下写。

Bell-LaPadula模型中的一个例外是“受信任的主体“不受*安全属性的约束。

8.2.8 Biba模型

Biba模型解决的是完整性问题。Biba模型也建立在状态机概念上,基于信息流,是一个多级别模型

Biba 模型状态机的基本属性或公理:

机的基本属性或公理:

简单完整性属性(Simple Integrity Property),规定主体不能读取较低完整性级别的客体(不准向下读)。

*完整性属性(* Integrity Property),规定主体不能修改更高完整性级别的对象(不准向上写)。

SI公理,准许向上读,不准许向下读。

*公理,不准向上写,准许向下写。

Biba 模型旨在解决三个完整性问题:

•防止未授权的主体修改客体。

•防止授权主体对客体进行未经授权的修改。

•保护内部和外部客体的一致性。

BLP 模型比较主体的安全许可和客体的机密性级别

Biba模型比较主体和客体的完整性级别

8.2.9 Clark-Wilson模型

Clark-Wilson模型采用多方面的措施来实施数据完整性。

Clark-Wilson模型没有定义正式的状态机,而是定义每个数据项且仅允许通过某一小组程序进行修改。

Clark-Wilson模型不需要使用格子结构;相反,它使用被称为三元组或访问控制三元组的主体/程序/客体(或主体/事务/客体)的三部分关系。

只允许主体通过程序作为主体和客体之间的中间层,对客体进行访问

主体无法直接访问客体。客体只能通过程序访问。

通过使用两个原则:标准格式的事务和职责分离

标准格式的事务采用程序的形式。主体只能通过使用程序、接口或访问门户来访问客体。

每个程序对客体(例如数据库或其他资源)可以做什么和不能做什么都有特定限制。

这有效地限制了主体的能力,称为约束接口

Clark-Wilson模型定义了以下数据项和程序:

•受约束数据项(Constrained Data Item, CDI),是完整性受到安全模型保护的任何数据项。

•无约束数据项(Unconstrained Data Item, UDI),是不受安全模型控制的任何数据项。任何输入但未验证的数据或任何输出,将被视为无约束数据项。

•完整性验证过程(Integrity Verification Procedure, IVP),是抇描数据项并确认其完整性的过程。

•转换过程(Transformation Procedures, TP),是唯一允许修改CDI的过程。通过TP限制对CDI的访问构成了Clark-Wilson完整性模型的支柱。

8.2.10 Brewer and Nash模型(Chinese Wall模型)

允许访问控制根据用户的操作动态变化。在属于不同客户端的数据之间实现“中国墙”。

Chinese Wall模型是应用在能存在利益冲突的组织中。最初是为投资银行设计的,但也应用在其它相似的场合。

Chinese Wall模型基于信息流模型,其安全策略的基础是客户访问的信息不会与目前他们先前支配的信息产生冲突。 

Chinese Wall安全模型的两个主要属性: 

•用户必须 选择一个他可以访问的区域 

•用户必须自动拒绝来自其它与用户所选区域的利益冲突区域的访问 

Brewer-Nash允许访问控制根据用户的操作动态变化

在属于不同客户端的数据之间实现中国墙

Brewer-nash应用场景:

Bob 是一家咨询公司的安全管理员,他必须实施访问控制,根据用户之前的活动限制用户的访问。

例如,一旦顾问访问属于咨询客户 Alice 的数据,他们可能不再访问属于 Alice 的任何竞争对手的数据。

8.2.11 Goguen-Meseguer模型

Goguen-Meseguer模型,是一个完整性模型,被认为是非干涉概念理论的基础。

基于预先确定集合或域(主体可访问的客体列表)。该模型基于自动化理论和域隔离。这意味着仅允许主体对预定客体执行预定动作。

非干涉模型(The noninterference model):不关注数据本身的流动,确保发生在较高安全级别的操作不会影响发生在较低安全级别的操作。

8.2.12 Sutherland模型

Sutherland 模型是一个完整性模型。它侧重于防止干扰以支持完整性。

它正式地基于状态机模型和信息流模型。但它并没有直接表明保护完整性的具体机制。

相反,该模型基于定义一组系统状态、初始状态以及状态转换的思想。通过仅使用这些预定的安全状态来保持完整性并且阻止干扰。

使用Sutherland模型的一个常见例子是:防止隐蔽通道被用来影响过程或活动的结果。

8.2.13 Graham-Denning模型

Graham-Denning模型专注于主体和客体的安全创建与删除

Graham-Denning是八个主要保护规则或操作的集合,用于定义某些安全操作的边界:

•安全地创建客体。

•安全地创建主体。

•安全地删除客体。

•安全地删除主体。

•安全地提供读取访问权限。

•安全地提供授权访问权限。

•安全地提供删除访问权限。

•安全地提供传输访问权限。

基于格子的访问控制(Lattice-based access control):提供访问能力的上下限,具有值的最小上界和最大下界。

8.3 基于系统安全需求选择控制措施

8.3.1彩虹系列

20世纪80年代,美国国防部(DoD)主导开发和实施了可信计算机系统评估标准(TCSEC)。

由于整个系列出版物通常通过其封面的颜色来识别,因此它们统称为彩虹系列。

1990年政府和标准机构开制定了信息技术安全评估标准(ITSEC)

TCSEC和ITSEC于2005年被通用准则(Common CC)所取代。并且被更正式地称为“IT安全领域通用准则认证认可协议”。

8.3.2 TCSEC分类和所需功能

TCSEC定义了下列主要类别:

类别A已验证保护。最高级别的安全性。

类别B强制保护。

类别C自主保护。

类别D最小保护。用于已被评估但达不到其他类别的要求的系统。

自主保护(类别C1、C2)

自主保护系统提供了基本的访问控制。此类别中的系统确实提供了一些安全控制,但缺乏更复杂和严格的控制,不能满足安全系统的特定需求。

C1和C2类别的系统提供了基本的控制,并为系统安装和配置提供了完整的文档。

自主保护(C1),自主性安全保护系统通过用户ID和/或组实现控制访问。

尽管存在一些限制对客体访问的控制,但此类别中的系统只能提供较弱的保护。

受控访问保护(C2),受控访问保护系统比C1系统更安全。用户只有经过单独识别后才能访问客体。

C2系统还必须强制执行介质清理。通过执行介质清理,任何介质必须在其他用户重复使用前彻底清理,防止残余数据被查看或使用。

此外,必须强制执行严格的登录过程,以限制无效或未授权用户的访问。

强制保护(类别B1 、B2 、B3)

强制保护系统比C类或D类系统提供了更多的安全控制。

由于具备更细粒度的控制,因此安全管理员可使用特定的控制,只允许非常有限的主体/客体访问集合。

此类系统基于Bell-LaPadula模型。强制访问控制基于安全标签。

标签化安全(B1) 标签化安全系统中,每个主体和客体都有一个安全标签。

B1系统通过匹配主体和客体的标签并比较其权限兼容性来授予访问权限。

B1系统为保存已分类数据提供了足够的安全性。

结构化保护(B2) 除了对安全标签的要求(就像在B1系统中一样), B2系统必须确保不存在隐蔽通道。

操作员和管理员职责分离,并且进程也要保持隔离。与B1系统相比,B2系统为己分类数据提供更多安全功能。

安全域(B3) 安全域系统通过进一步增加不相关进程的分离和隔离来提供更安全的功能。

它明确地定义管理功能,并与其他用户使用的功能分开。B3系统的重点转向简单性,以减少未使用或额外代码中的漏洞暴露的风险。

在初始引导过程中就必须保证B3系统处于安全状态。很难攻破B3系统,它为非常敏感或秘密的数据提供了充分的安全控制。

已验证保护(类A1) 已验证保护系统与B3系统中采用的结构和控制类似。不同之处在于开发周期。

开发周期的每个阶段都使用正式方法进行控制。在进行下一步之前,每个阶段的设计都需要记录、评估和验证。

在开发和部署的所有步骤中都非常关注安全,并且是正式地保证系统强安全性的唯一方法。

已验证设计系统从设计文档开始,该文档说明了最终系统如何满足安全策略。

从这里开始,每个开发步骤都要在安全策略的上下文中进行评估。功能性至关重要,但保证比在低安全性类别中更重要。

A1系统代表最高级别的安全性,旨在处理绝密数据。从设计到交付和安装,每个步骤都经过记录和验证。

彩虹系列-红皮书

由于橘皮书仅适用于未连接到网络的独立计算机,而即使在20 世纪80 年代,网络上使用的系统也很多,

因此开发了红皮书以在网络环境中解释阐明TCSEC 。事实上,红皮书的官方标题是“TCSEC 的可信网络解读“,

可以认为是对橘皮书应用于网络环境中的一种解释。

很快,对于系统购买者和构建者来说,红皮书比橘皮书更有价值、更重要。下面列出红皮书的其他一些功能:

• 保密性和完整性的等级。

• 解决通信完整性问题。

• 解决拒绝服务保护问题。

• 解决危害(即入侵)预防和保护。

• 仅限于标记为“使用单一鉴别的集中式网络”的有限类别的网络。

• 仅使用四个评级:无(None)、C1(最小,Minimum)、C2(一般,Fair)和B2(好,Good) 。

彩虹系列-红皮书

绿皮书(美国国防部密码管理指南)提供密码创建和管理的指南;

8.3.3 通用准则(CC)

(1) 通用准则的认可

CC指南的目标如下:

• 增加购买者对已评估和已评级的IT 产品安全性的信心。

• 为消除重复评估(此外,这意味着如果一个国家、机构或验证组织在评定特定系统和配置时遵循CC, 那么其他地方就不必重复此工作)。

• 使安全评估和认证过程更具有效益和效率。

• 确保IT产品的评估符合高标准和一致的标准。

• 促进评估,并提高已评估和已评级的IT产品的可用性。

• 评估TOE的功能性(也就是系统的功能)和保证(也就是系统被信任的程度)。

CC定义了作为评估信息技术产品和系统安全性的基础准则,全面地考虑了与信息技术安全性有关的所有因素,与PDR(防护、检听、反应)模型和现代动态安全概念相符合的,强调安全的假设、威胁的、安全策略等安全需求的针对性,充分突出保护轮廓。 

仍强调把安全需求划分为安全功能需求和安全保证需求两个独立的部分,根据安全保证需求定义安全产品的安全等级。

定义了7个评估保证级别(EAL),每一级均需评估相关安全功能类。

通用准则过程基于两个要素:保护范畴和安全目标。

保护范畴(Protection Profile, PP),为要评估的产品(TOE)指定安全要求和保护,这些要求和保护被认为是客户的安全要求或“客户想要的安全”。

与实现无关的,针对一类TOE的,满足特定用户需求的一组安全要求。

在标准体系中PP相当于产品标准,也有助于过程规范性标准的开发。

国内外已经对应用级防火墙、包过滤防火墙、智能卡、IDS、PKI等开发了相应的PP。

安全目标(Security Targets, ST),指定了供应商在TOE内构建的安全声明。ST被认为是已实施的安全措施或是供应商的“我将提供的安全”声明。

除了提供安全目标外,供应商还可提供其他安全功能包。包是“安全需求”组件的中间分组,既可添加到TOE中,也可从TOE中删除(就像购买新车时的选项包)。

作为指定的TOE评估基础的一组安全要求和规范

ST是针对具体TOE而言,它包括该TOE的安全要求和用于满足安全要求的特定安全功能和保证措施。

ST包含的技术要求和保证措施可以直接引用该TOE所属的产品和系统类的PP。

ST是开发者、评估者和用户在TOE安全性和评估范围之间达成一致的基础。

ST相当于是产品和系统的实现方案。

(2) 通用准则的结构

CC 指南分为如下三个部分:

部分1”简介”和“通用模型”

描述了用于评估IT 安全性的一般概念和基础模型,以及指定评估目标涉及的内容。

它包含有用的介绍性和解释性材料,适用于那些不熟悉安全评估过程工作或需要帮助以阅读和解释评估结果的人员。

部分2“安全功能要求"

描述安全审计、通信安全、安全性密码学支持、用户数据保护、身份标识、身份验证、安全管理、TOE 安全功能(TSF) 、资源利用、系统访问和可信路径等方面的功能要求。

涵盖了CC评估过程中预想到的全部安全功能,另加附录(称为附件)以解释每个功能区域。

部分3“安全保障"

涵盖TOE在配置管理、交付和运营、开发、指导文档和生命周期支持以及保证测试和漏洞评估等方面的保证要求。

涵盖了CC评估过程中预想的全部安全保证检查和保护范畴,以及描述系统设计、检查和测试方式的评估保证级别的信息。

最重要的是,这些不同的CC文件中出现的信息通常称为评估保证级别(EAL) 。

CC评估保证级别:

EAL1功能测试

适用于对正确操作有一定可信度要求,但安全威胁不严重的清况。

当采取适当谨慎的态度保护个人信息,需要独立的保证时,这个级别合适。

EAL2 结构测试

适用于交付设计信息和测试结果符合良好商业惯例的情况。

当开发人员或用户需要低至中等水平的独立保证安全性时,这个级别很合适。

在评估遗留系统时, IT与此级别密切关联。

EAL3 系统测试并检查

适用于安全工程从设计阶段开始并且在后续过程中没有实质性更改的清况。

当开发人员或用户需要中等程度独立地保证安全性时,包括彻底调查TOE及其开发,这个级别很合适。

EAL4 系统地设计、测试和评审

适用于使用了严格、积极的安全工程和良好的商业开发实践的清况。

这个级别不需要大量的专业知识、技能或资源。它涉及所有TOE安全功能的独立测试。

EAL5 半正式设计和测试

使用严格的安全工程和商业开发实践(包括专业安全工程技术),来进行半正式测试。

这适用于开发人员或用户,在计划开发方法以及随后严格开发的过程中,都需要高级别的独立保证安全的情况。

EAL6 半正式验证、设计和测试

在设计、开发和测试的所有阶段使用直接、严格的安全工程技术,来生产和视试优质的TOE。

这适用于需要针对高风险情况的TOE, 其中受保护资产的价值会证明额外成本是合理的。

广泛的测试降低了渗透的风险、隐蔽通道的可能性以及易受攻击的脆弱性。

EAL7 正式验证、设计和测试

仅用于最高风险情况或涉及高价值资产的情况。

仅限于此类TOE: 密切关注的安全功能需要进行广泛的正式分析和测试。

8.3.4 行业和国际安全实施指南

支付卡行业数据安全标准(PCI DSS),PCI DSS是一组提高电子支付交易安全性的要求。

这些标准由PCI安全标准委员会成员制定,这些成员主要是信用卡银行和金融机构。

PCI DSS定义了安全管理、策略、程序、网络架构、软件设计和其他关键保护措施的要求。

国际标准化组织(ISO), ISO是由各个国家标准组织的代表组成的全球标准制定组织。

ISO定义了工业和商业设备、软件、协议和管理以及其他标准。

它发布了六个主要产品:国际标准、技术报告、技术规范、公开可用规范、技术勘误和指南。

ISO标准在许多行业中被广泛接受,甚至被各国政府采纳为要求或法律。

8.3.5 认证和鉴定

1.认证(Certification)

认证是对IT系统以及为支持鉴定过程而制定的其他保护措施的技术和非技术安全功能的综合评估,

从而确定特定设计和实施满足一组特定安全要求的程度。

系统认证是对计算机系统各个部分的技术评估,以评估其与安全标准的一致性。

•首先,必须选择评估标准。

•分析每个系统组件以确定它是否满足所期望的安全目标。

•认证分析包括测试系统的硬件、软件和配置。

在此阶段评估所有控件,包括管理性的、技术性和物理性控制。

评估整个系统后,可对结果进行评估,以确定系统在其当前环境中支持的安全级别。

系统环境是认证分析的关键部分,因此其周围环境可能或多或少地影响系统的安全。将安全系统连接到网络的方式可能会改变其安全性。

同样,系统周围的物理安全性会影响整体的安全评级。对一个系统进行认证时,你必须考虑所有因素。

评估完所有因素并确定系统的安全级别后,即可完成认证阶段。记住,认证仅对特定环境和配置中的系统有效。任何更改都可能导致认证失效。

一旦你为某个特定的配置认证了安全评级,就可以准备系统验收了。管理层通过鉴定流程接受系统的已认证安全配置。

2.鉴定(Accreditation)

在认证阶段,你测试并记录了特定配置中系统的安全功能。有了这些信息,组织的管理层就会将系统的安全功能与组织的需求进行比较。

安全策略必须明确说明安全系统的要求。管理层审核认证信息并确定系统是否满足组织的安全需求。

如果管理层确定系统的认证满足他们的需求,系统就被鉴定了。

鉴定是指定审批机构(DAA)正式声明: IT系统被批准在特定安全模式下使用规定的一套保障措施在可接受的风险水平下运行。

一旦鉴定完毕,管理层就可以正式认可评估系统的整体安全性能。

注意:

认证通常是对安全性的内部验证,并且只有你的组织信任该验证结果。

鉴定通常由笫三方测试服务机构执行,并且结果对于信任所涉及的特定测试组织的每个人都是可信的。

认证和鉴定的过程通常是迭代的

在鉴定阶段,经常要求更改配置或增加控件来解决安全问题。

无论何时更改配置,都必须重新验证新配置。同样,你需要在经过特定时间段或进行了任何配置更改后重新认证系统。

你的安全策略应指出在什么情况下需要重新认证。合理策略会列出认证的有效时间,并列出哪些更改需要重新启动认证和鉴定流程。

3.认证和鉴定系统

目前有两种政府标准用于计算系统的认证和鉴定。目前的美国国防部标准是风险管理框架RMF

适用于其他所有美国政府行政部门、机构及其承包商和顾问的标准是美国国家安全系统委员会策略(CNSSP)

CISSP可能涉及现行或者以前的标准。这些过程分为四个阶段:

阶段1定义

涉及指派适当的项目人员、任务需求的文档,以及注册、协商和创建系统安全授权协议(SSAA) ,用于指导整个认证和鉴定过程。

阶段2:验证

包括SSAA的细化、系统开发活动和认证分析。

阶段3:确认

包括进一步细化SSAA、对集成系统进行认证评估、向DAA提出建议以及DAA的鉴定决定。

阶段4:鉴定后

包括SSAA的维护、系统操作、变更管理和合规性验证。

由美国国家安全局信息系统安全组织管理的NIACAP流程概述了可能授予的三种类型的鉴定。

这些鉴定类型的定义(来自美国国家安全电信和信息系统安全指令1000)如下所示:

对于系统的鉴定,将评估主要的应用程序或一般支撑系统。

对于场所的鉴定,将评估特定的独立位置的应用程序和系统。

对于类型的鉴定,将评估分布到多个不同位置的应用程序或系统。

8.4 理解信息系统的安全功能

常见的安全功能包括内存保护、虚拟化和可信平台模块(TPM)。

8.4.1 内存保护

内存保护,是核心安全组件,在操作系统中必须设计和实现。无论系统中执行哪些程序,都必须执行内存保护,

否则可能导致不稳定、侵害完整性、拒绝服务和泄矗等结果。

内存保护用于防止活动的进程与不是专门指派或分配给它的内存区域进行交互。

Meltdown(熔毁)和Spectre(幽灵)

在2017年底,发现了两个重要的内存错误。这两个漏洞被命名为Meltdown(熔毁)和Spectre(幽灵)。

这些漏洞源于现代CPU用于预测未来指令以优化性能的方法。这使得处理器似乎能够在实际请求之前对要检索或处理的代码做出可靠预测。

然而,当预测执行错误时,该过程并未彻底回退(也就是说,并没有把每个不正确的预测步骤都撤消)。这可能导致一些内存中的残余数据处于未受保护的状态。

利用Meltdown漏洞,可以允许非特权进程读取私有的系统内核内存中的数据。

利用Spectre漏洞,可从其他正在运行的应用程序中批量窃取内存中的数据。

8.4.2 虚拟化

虚拟化技术用于在单一主机的内存中运行一个或多个操作系统。

允许任何操作系统在任何硬件上虚拟运行,允许多个操作系统在同一硬件上同时工作(VMware)。

优点:

能根据需要启动服务器或服务的单个实例、实时可扩展、能运行特定应用程序所需的确切操作系统版本。

从用户的角度看,虚拟化服务器和服务与传统的服务器和服务没什么区别。

恢复损坏、崩溃或毁坏的虚拟系统通常很快,只需要将虚拟系统的主硬盘驱动器文件替换为干净的备份版本,然后重新启动即可。

8.4.3 可信平台模块(Trusted Platform Module, TPM)

可信平台模块,既是主板上的加密处理器芯片的规范,也是实现此规范的通用名称。

TPM芯片用于存储和处理加密密钥,用于满足基于硬件支持/实现的硬盘加密系统。

通常认为用硬件实现硬盘加密比用纯软件实现更安全。

当使用基于TPM的全盘加密技术时,用户/操作员必须向计算机提供密码或物理USB令牌设备以进行认证,然后才允许TPM芯片将硬盘加密密钥加载到内存。

虽然这看起来类似于软件实现,但关键区别在于:如果把硬盘从原始系统中拿走,则无法对其进行解密。只有使用原来的TPM芯片才能对密文进行解密和访问。

如果使用纯软件加密硬盘,则可将硬盘驱动器安装到其他计算机上,而不会有任何的访问或使用限制。

•存储、管理BIOS开机密码以及硬盘密码。

•TPM安全芯片可以进行范围较广的加密。

•加密硬盘的任意分区。

硬件安全模块(HSM),是一种加密处理器,用于管理/存储数字加密密钥、加速加密操作、支持更快的数字签名以及改进身份验证。

HSM通常是附加的适配器或外围设备,或是TCP/IP网络设备。HSM包括篡改保护以防止滥用,即使攻击者可对其进行物理访问也无计可施。

TPM只是HSM的一个例子。

HSM为大型(2048 位以上)非对称加密计算提供加速解决方案而且提供密钥安全存储库。

许多证书颁发机构系统使用HSM来存储证书;

ATM 和POS银行终端通常使用专有的HSM;

硬件SSL加速器可包括HSM支持;

兼容域名系统安全扩展(DNSSEC)的域名系统(DNS)服务器使用HSM进行密钥和区域文件存储。

8.4.4 接口

通过在应用程序中实现受约束或受限制的接口,以限制用户根据其权限执行操作或查看内容。

拥有完全权限的用户可以访问应用程序的所有功能,权限受限的用户访问则受到限制。

应用程序约束接口的方法:

(1) 在用户无权使用该功能时隐藏该功能。

(2) 虽然显示命令,但是被变暗或禁用。

受约束接口的目的:

限制或约束已授权和未授权用户的操作。(Clark-Wilson安全模型)

8.4.5 容错

容错,是指系统遭受故障后仍然能继续运行的能力。

容错通过添加冗余组件实现,如在廉价磁盘冗余阵列(RAID)中添加额外磁盘,或故障转移集群配置中添加额外的服务器。

容错是安全设计的基本要素。它也被认为是避免单点故障和实现冗余的部分措施。

进程隔离:

防止进程访问另一个进程数据。

传统的对称密码有哪两种类型:换位和替换

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值