CISSP要点-第五章安全体系结构和设计
CISSP要点-第五章安全体系结构和设计
两个系统可以有完全相同的硬件、软件和应用程序,但却会因为建立在不同的安全策略和安全模型之上而提供不同的保护级别。
CPU包括一个控制单元,它控制指令和数据执行的时序;还包含一个ALU(算术逻辑单元),它执行算术功能和逻辑操作。
绝大多数系统都使用保护环(Protection Ring)进程的特权级别越高,则运行编号越小的保护环中,它就能访问全部或者大部分的系统资源。应用程序运行在编号越大的保护环中,它能访问的资源就越少。
操作系统的进程运行在特权或监控模式中,应用程序运行在用户模式中,也称为“问题”状态。
次级存储(Second Storage)是永久性的,它可以是硬盘、CD-ROM、软驱、磁带备份或者U盘。
虚存(Virtual Storage)由RAM和次级存储所构成,系统因此看起来具有很大一块存储器。
当两个进程试图同时访问相同的资源,或者一个进程占据着某项资源而且不释放的时候,就发生了死锁情况。
安全机制着眼于不同的问题,运行于不同的层次,复杂性也不尽相同。
安全机制越复杂,它能提供的保险程度就越低。
并不是所有的系统组成部分都要处于TCB范围内;只有那些直接以及需要实施安全策略的部件才是。这些部分要位于安全边界内。
构成TCB的组成部分有硬件、软件、固件。因为它们都提供了某种类型的安全保护功能。
安全边界(Security Perimeter)是一个假想的边界线,可信的部件位于其中(那些构成TCB的部件),而不可信的部件则处于边界之外。
引用监控器(Reference Monitor)是一个抽象机,它能确保所有的主体在访问客体之前拥有必要的访问权限。因此,它是主体对客体所有访问的中介。
安全内核(Security Kernel)是实际落实引用监控器规则的机制。
安全内核必须隔离实施引用监控器概念的进程、必须不会被篡改、必须被每次访问企图调用,而且必须小到足以能正确地测试。
安全域(Security Domain)是一个主体能够用到的全部客体。
进程需要进行隔离,这可以通过内存分段寻址、对象封装、共享资源时分复用、命名区分和虚拟映射来做到。
系统提供的安全水平取决于它落实安全策略的程度有多大。
多级安全系统能受理属于不同类别(安全等级)的数据,具有不同访问级(安全等级)的用户都能够使用该系统。
应该赋予进程最小的特权,以便使其具有的系统特权只够履行它们的任务,没有多余。
有些系统在架构上提供不同层次的功能,这称为分层。这就将进程进行了分离,为单个进程提供了更多的保护。
数据隐藏用于处于不同层次上的进程之间存在多层访问控制。进程只需要知道如何通过彼此的接口进行通信
安全模型(Security Model)将安全策略的抽象目标映射到计算机系统的术 语和概念上。它给出安全策略的结构,并且为系统提供一个框架。
封闭式系统通常为制造商或供应商所有;而开放式系统则允许更多的互操作性
Bell-LaPadula模型只解决机密性的要求,Biba和Clark-Wilsoll则解决数据完整性的要求。
状态机模型处理一个系统能够进入的不同状态。如果一个系统开始是在一个安全状态下,在该系统中发生的全部活动都是安全的,那么系统就决不会进入一个不安全的状态。
格子(Lattice)模型给主体的授权访问提供了上界和下界。
信息流安全模型不允许数据以一种不安全的方式流向客体。
Bell-LaPadula模型有一条简单安全规则,意思是说,主体不能从更高级别读取数据(不能向上读)。特性规则的意思是说,主体不能向更低级别写数据(不能向下写)。强星特性规则是指一个主体只能在同一安全等级内读和写,不能高也不能低。
Biba模型不允许主体向位于更高级别的客体写数据(不能向上写),它也不允许主体从更低级别读取数据(不能向下读)。这样做是为了保护数据的完整性。
Bell—LaPadula模型主要用在军事系统中,Biba和Clark.Wilson模型则用于商业部门。
Clark—Wilson模型要求主体只能通过应用程序访问客体;该模型还说明如何为职责分割提供功能性,并要求在软件内进行审计任务。
如果系统在一个专属安全模式中运行,那么系统只能处理一级数据分级,所有的用户都必须具有这一访问级,才能使用系统。
分段的(Compartmented)和多级的(Multilevel)安全模式让系统能够处理划入不
同分类级别上的数据。
可信(Trust)意味着系统正确地使用其全部保护机制来为许多类型的用户处理敏感数据。保险(Assurance)是你在这种信任关系中具有的信心水平,以及保护机制在所有环境中都能持续正确运行。
在不同评测标准下,较低的评定级别评审的是系统性能及其测试结果,而较高的评定级别不但考察这一信息,而且还有系统设计、开发过程以及建档工作。
橘皮书(Orange Book)也称为可信计算机系统评测标准(TCSEC),制定该标准是为了评测主要供军用的系统。它的用途已经扩展到评测其他类型的产品。
在橘皮书中,D组表示系统提供了最小的安全性,它用于被评测,但不能满足更高类别标准的系统。
在橘皮书中,C组涉及自主保护,B组涉及强制保护(安全标签)。
在橘皮书中,A组意味着系统的设计和保护水平是能够验证核实的,它提供了最高水平的安全性和可信度。
在橘皮书中,C2级要求客体重用保护和审计。
在橘皮书中,B1级是要求有安全标签的第一个级别。
在橘皮书中,B2级要求所有的主体和设备具有安全标签,必须有可信路径和隐蔽通道(Covert Channel)分析,而且要提供单独的系统管理功能。
橘皮书主要涉及独立的系统,所以还编写了一系列书籍,涵盖了安全领域内的其他方面;这些书籍称为彩虹系列(Rainbow Series)。
ITSEC分别评测系统的保险程度和功能性,而TCSEC将两者合到了一个级别中。
通用准则(Common Criteria)的制定提供了一个得到公认的评测标准,而且现如今还在使用•它将TCSEC、ITSEC、CTCPEC和联邦标准(Federal Criteria)的各部分结合了起来。
通用准则使用了保护样板(Protection Profile)和从EAL1--EAL7的级别。
认证是对系统或产品及其安全部件的技术评测。鉴定(Accreditation)是管理层正式批准和接受系统所提供的安全保障。
隐蔽遁道(Covert Channel)是一条非计划中的通信路径,它传输数据的方式违反了安全策略。隐蔽遁道有两种类型:计时隐蔽通道和存储隐蔽通道。
隐蔽计时通道(Covert Timing Channel)使得进程能够通过调制它对系统资源的使用来向其他进程传递信息。
隐蔽存储遥道(Coven Storage Channel)使得进程能够把数据写入存储介质,从而让其他进程能够读取到它。
维护陷阱,是用来让程序员迅速进入应用,维护或者增加功能。后门应该在应用投入使用之前删除,否则它会造成严重的安全风险。
执行域是CPU执行指令的地方。操作系统的指令是以特权模式执行的,而应用的指令是以用户模式执行的。
进程隔离确保了多个进程能够并发运行,进程不会彼此互相干扰,或者影响彼此的存储段。
只有需要全部系统特权的进程才会位于系统的内核中。
TOC/TOU代表time-of-check和time—of-use,这是一类异步攻击。
Biba解决了完整性的第一个目标,即防止未经授权的用户进行修改。
Clark—Wilson解决了完整性的所有三个目标:防止未经授权的用户进行修改、防止授权的用户进行不恰当的修改,以及维护内外的一致性。
在Clark—Wilson模型中,用户只能通过程序访问和操控客体。它使用访问三元组,即主体、程序、客体。