《安全架构和设计》word版.docx
- 文档编号:25311173
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:18
- 大小:132.74KB
《安全架构和设计》word版.docx
《《安全架构和设计》word版.docx》由会员分享,可在线阅读,更多相关《《安全架构和设计》word版.docx(18页珍藏版)》请在冰豆网上搜索。
《安全架构和设计》word版
安全架构和设计
12安全架构和设计
(1)
如果把信息安全管理比作指引组织进行安全项目的路标,那么安全架构和设计便是组织通往信息安全这个目标所用的交通工具的基本结构,它包括用于设计、实施、监控和保护操作系统、设备、网络、应用以及用以实施各种级别保密性、完整性和可用性控制的概念、原则、结构和标准。
安全架构和设计CBK的内容大概可以分为四个部分:
概念部分、保护机制、安全模型和系统测评,J0ker打算用5到6个文章的篇幅,逐一介绍这些内容并总结CISSP考试的重点。
本文先从第一部分:
概念部分开始。
在进行一个信息系统的设计时,我们需要对目标系统的众多需求进行平衡,这些需求包括功能、灵活性、性能、易用性、成本、业务需求和安全。
这里强调一下,安全应该在系统设计中的开始阶段就作为一个关键因素进行考虑,使用了超过业务需求的安全性能,就会导致用户体验的恶化,但降低的安全性能也会系统的部署和运行维护成本将会大大增加。
系统设计的过程就是平衡多种需求的过程,设计者通常需要根据组成构架的每个元素的重要性,来确定如何Trade-off。
在设计阶段考虑安全性,并不会对架构的设计增加太多的劳动量,它可以平滑的嵌入到架构设计的各个阶段,这样就可以保证安全性可以随着架构逐渐的设计完成而完成。
安全架构从概念上说,便是从安全角度审视整个系统架构,它主要提供系统架构所需要的安全服务、机制、技术和功能,并提供如何进行安全设施部署的建议。
CISSPCBK中在安全架构概念部分的安排里面,还要求CISSP对最基本的架构有了解,它所指出的就是LayeredApproach,也就是分层结构。
请看下图:
图1
在这个架构中,用户只与应用程序进行交流,而操作系统向上负责与应用程序,向下负责与硬件、网络层进行联络。
为了更好的理解安全架构,CISSP还需要进一步的了解分层结构包含的底层架构,列表如下:
PlatformArchitecture平台架构
NetworkEnvironment网络环境
EnterpriseArchitecture企业架构
SecurityModel安全模型
ProtectionMechanisms保护机制
在深入讨论这些组成安全架构的元素之前,朋友们还要了解一点,安全架构的设计应该和组织的安全策略相吻合,否则就不能实现组织的安全目标。
关于安全策略的详细内容大家可参与CISSPOfficialGuide、AllinOne或本系列文章的之前内容。
平台架构主要指冯诺依曼的经典计算机模型,CISSP需要了解操作系统软件和工具的概念和功能、组成计算机的CPU、内存、存储设备的类型和输入输出设备的概念和功能、针对内存攻击的类型等。
从CISSP考试的模拟题和J0ker自己参加过的考试来看,关于平台架构的题目一般只会简单的考察概念。
网络环境方面主要是对常见的网络威胁进行分类,在TelecommunicationandNetworkSecurityCBK中有更深入的介绍。
企业架构主要是指组织本身对人员和职能的划分,在OfficialGuide中定义了六个角色和与其相对应的职能,朋友们在复习时也需要记住。
安全模型指的是一些常见的保证信息安全的保密性完整性可用性(CIA)三角的控制模型,这是本CBK的考察重点,J0ker在后面的文章还将详细讲述。
另外,在这一节中,有以下的一些概念在复习时也需要理解一下:
◆CPU的状态
◆内存管理中的分页技术、虚拟内存技术以及相应的内存保护、攻击技术
◆TOU/TOCTimeofuse/Timeofcheck
◆多种类型的操作系统类型的概念及其安全性
◆共享环境(Sharedenvironment)下的攻击概念
◆系统五种安全模式的概念
DedicatedSecuritymode
Systemhigh-securitymode
Multi-levelsecuritymode
Controlledmode
Compartmentalizedsecuritymode
这一个CBK里的概念比较多也比较抽象,但因为这一章里面的内容对后面的CBK起了技术方面的总领作用,CISSP考试也以考概念为主,建议朋友们在复习这个CBK时尽量静下心来看。
13安全架构和设计之安全模型
我们都知道,信息安全的目的就是要保证信息资产的三个元素:
保密性,完整性和可用性(CIA),CIA这个也就是这三个元素开始为人们所关注的时间的先后。
现在系统设计中所使用的安全模型的出现的顺序也大概如此,先出现专门针对保密性的BLP模型,然后出现针对完整性的Biba模型、Clark-Wilson模型等,在访问控制中所使用的访问控制列表/矩阵(AccessControlList(ACL)/AccessControlMatrix(ACM)),在CISSP的CBK内容中也把它划分到安全模型的范围内。
顺便说明一下,因为可用性本身涉及到的因素很多,并没有一个被广泛接受的通用安全模型,所以CISSP的CBK里只要求掌握针对保密性和完整性的安全模型。
安全模型所依赖的理论基础——状态机模型和信息流模型
状态机(StateMachine)模型是信息安全里用来描述无论何时状态都是安全的系统模型,而处于特定时刻系统的快照便是一种状态(State),如果这种状态满足安全策略的要求,我们就可以认为它是安全的。
许多活动会导致系统状态的改变,称之为状态转换(Statestransaction),如果这些活动都是系统所允许而且不会威胁到系统安全的,则系统执行的便是安全的状态机模型(SecureStateMachine)。
一个安全状态机模型总是从安全的状态启动,并且在所有状态的转换中保证安全,并只允许行为的实施者以符合安全策略要求的形式去访问资源。
信息流(Informationflow)模型是状态机模型的具体化,在这个模型中,信息在的传递被抽象成流的形式,大家可以想象一下水流的样子。
信息流模型由对象,状态转换和信息流策略所组成,其中的对象可以是用户,每个对象都会根据信息流策略分配一个安全等级和具体化的数值。
信息流不单可以处理信息流的流向,同时它还可以处理信息流的种类——在BLP模型中,信息流模型处理的便是保密性,而在Biba模型中信息流所处理的则变成完整性。
由于信息流动的行为可以在同安全级别的主体和客体之间发生,也可以在不同一个安全级别的情况下发生,所以信息流模型主要用于防止未授权的、不安全的或受限制的信息流动,信息只能够在安全策略允许的方向上流动。
状态机模型和信息流模型的进一步具体化就是CISSPCBK中所包括的安全模型,CISSPCBK中所提到的安全模型有:
Bell-Lapadula(BLP模型)、Biba模型、Clark-Wilson模型、访问控制矩阵模型、ChinaWall模型、Lattice模型。
下面J0ker将向大家逐一介绍。
前面说过,在信息安全目标的三个元素里面最先为人们所关注的是保密性,因此,在1973年出现了第一个针对保密性的安全模型——Bell-Lapadula模型,这个模型由DavidBell和LenLapadula为美国国防部的多级安全策略的具体化而开发。
它基于强制访问控制系统(MAC),以信息的敏感度作为安全等级的划分标准,它的特点如下:
◆基于状态机和信息流模型
◆只针对保密性进行处理
◆基于美国政府信息分级标准——分为:
Unclassified、Restricted、Confidential、Secret、TopSecret
◆使用“Needtoknow”原则
◆开始于安全状态,在多个安全状态中进行转换(要求初始状态必须为安全,转换结果才在安全状态)
上图来自CISSPOfficialGuide,是BLP模型的安全策略示意图,BLP模型规定,信息只能按照安全等级从下往上流动,或者根据策略的规定在同安全级别间流动。
由于BLP模型存在不保护信息的完整性和可用性,不涉及访问控制等缺点,1977年Biba模型作为BLP模型的补充而提出,它针对的是信息的完整性保护,主要用于非军用领域。
它和BLP模型相类似,也是基于状态机和信息流模型,也使用了和BLP模型相似的安全等级划分方式,只不过Biba模型的划分标准是信息对象的完整性。
上图来自于CISSPOfficialGuide,Biba模型规定,信息只能从高完整性的安全等级向低完整性的安全等级流动,也就是要防止低完整性的信息“污染”高完整性的信息。
我们知道,信息安全对完整性的要求有3个目标:
防止数据不被未授权用户修改、保护数据不被授权用户越权修改、维护数据的内部和外部一致性。
Biba模型中只实现了完整性要求的第一点。
于是,针对Biba模型的不足,1987年,另外一个完整性模型——Clark-Wilson模型被提出,这个模型实现了成型的事务处理机制,目前常用于银行系统中以保证数据完整性。
Clark-Wilson模型的特点是:
◆采用Subject/Program/Object三元素的组成方式,Subject要访问Object只能通过Program进行
◆权限分离原则:
将关键功能分为由2个或多个Subject完成,防止已授权用户进行未授权的修改
◆要求具有设计能力(Auditing)
因为Clark-Wilson模型因为使用了Program这一元素进行Subject对Object的访问控制手段,因此Clark-Wilson模型也常称为RestrictedInterface模型。
访问控制矩阵模型不属于信息流模型,它主要用于Subject对Object的访问进行控制的领域:
上图来自CISSPOfficialGuide,访问控制矩阵模型定义了每一个Subject对每一个Object的访问权限,而单个Subject对所用Object的访问权限控制模型通常称为访问控制列表,也即AccessControlList。
针对民用领域有对保密性控制灵活性的需求,同时安全要求也没有政府和军用领域的严格,Lattice模型作为BLP模型的扩展被提出。
Lattice模型同样是基于信息流和状态机模型,但Lattice模型使用安全范围来代替BLP模型里面的安全等级概念,已实现更灵活的保密性控制需求。
如上图,在Lattice模型中,一个Subject可以访问安全级别基于Sensitive和Private之间的信息。
这种权限设置常可以在企业中看到。
ChinaWall模型于1989年由Brew和Nash提出,这个模型和上述的安全模型不同,它主要用于可能存在利益冲突的多边应用体系中。
比如在某个领域有两个竞争对手同时选择了一个投资银行作为他们的服务机构,而这个银行出于对这两个客户的商业机密的保护就只能为其中一个客户提供服务。
ChinaWall模型的特点是:
◆用户必须选择一个他可以自由访问的领域◆用户必须拒绝来自其他与其已选区域的内容冲突的其他内容的访问。
以上的安全模型便是CISSPCBK中所包含的众多经典安全模型,在许多系统和应用也常常可以找到它们的使用,朋友们可以结合这些实际例子来加强理解。
14系统架构和设计之保护机制
安全模型只是个概念,要把它应用到实践中,就需要使用到本文要介绍的保护机制,它是比安全模型更具体,更接近实际应用的概念,当前的许多操作系统、安全软件产品的基础,都是建立在它之上的(再次提醒,CISSP考试不涉及具体的产品和技术细节)。
保护机制实现的目标是将系统内的所有实体(数据、用户、程序等)进行隔离,并通过一定的规则允许实体间进行访问。
因此从所执行的动作,保护机制可以分成主动(Active)和被动(Passive)两类:
主动保护机制是根据所定义的规则,主动阻止对指定实体的访问,访问控制、内存保护等技术都属于主动保护机制;而被动保护机制本身不会阻止对指定实体的访问,但会通过阻止对指定实体的使用来实现保护功能,我们使用加密技术来防止信息的泄漏、用Checksum来检测对信息的未授权修改,都属于被动保护机制。
保护机制通常部署到操作系统、硬件或固件上,CISSPCBK中将它按照所部署的位置分成三类:
平台(Platform)、大型机(Mainframe)、网络(Network),下面J0ker给逐一给大家介绍在这三个分类上使用的保护机制:
平台保护和大型机保护机制:
平台保护是主要用在通用操作系统上的保护机制,主要以软件实现为主;大型机保护则是主要应用于大型机上的保护机制,一般使用专用的安全硬件实现。
但随着近年来软硬件技术的发展,这两个分类所使用的保护技术都在互相融合,由于硬件产品集成度提高和价格的大大下降,许多PC和工作站上已经集成了原来只在大型机上使用的安全硬件,而大型机为了降低制造成本,也将越来越多的保护功能通过软件来实现,所以在CISSPOfficialGuide中不再将平台保护和大型机保护分开来列,而是将它们所用的保护技术列在一起。
使用在这两个分类的保护技术可信计算基础(TrustedComputingBase,TCB):
TCB是一个计算机系统中所有提供保护功能的组件的总称,包括硬件、软件、固件、进程和一些进程间的通信等,它通过这些组件完成对安全策略的实现。
TCP功能的实现是根据其内置的保护机制或用户所输入的参数,来保证安全策略的实施或满足相应的安全标准(如TCSEC等)。
不过要注意的是,TCB是一个定义而不是一个特定的产品,目前的大部分操作系统都没有完全使用TCB的全部组件,只使用了TCB用来执行功能的一部分,这个部分就是接下去要介绍到的引用监视器(ReferenceMonitor)。
TCB的设计需求如下:
1、TCB应该在一个不受外部干扰影响的自有域内执行2、TCB所控制的资源应根据使用关系分为使用者(Subject)和目标(Object)两个子集3、TCB应该把资源进行隔离以执行访问控制和审计功能
TCB提供的基本功能有:
1、进程激活:
在一个多重处理的环境内管理进程激活/挂起时提供寄存器、文件访问列表、进程状态信息和指针等敏感信息的管理功能2、执行域切换:
确保在一个域内执行的进程不会影响到其他域内的其他进程3、内存保护:
确保每个域所使用的内存的安全4、输入输出操作:
监视程序对设备直接或间接的输入输出操作
引用监视器(ReferenceMonitor):
RM的功能是根据访问控制数据库的定义,对抽象系统中所有使用者对目标的访问进行控制。
安全内核(SecurityKernel):
安全内核由TCB的硬件、软件和固件部分加上引用监视器所构成,我们可以这样来区分安全内核和引用监视器:
引用监视器和安全内核的功能是相同的,但引用监视器是执行访问控制功能的抽象模型,而安全内核则是使用在各种系统中的具体实现。
安全内核的结构如下图:
为了保证安全功能的实现,安全内核必须满足以下三个要求:
1、安全内核能管理所有的访问(全局性)2、安全内核能保护自己不受有意或意外修改(隔离性)3、安全内核可以通过验证确定其有效性(可验证性)
TCB、RM和SecurityKernel这三个概念挺容易混淆,CISSP考试也经常考核与它们相关的内容,复习的时候应当注意一下。
安全边界(SecurityPerimeter):
用来隔离安全内核内外的资源,安全边界外的资源是不可信的。
注意将它和近两年常说的“边界安全“相区别。
分层(Layering):
分层是指在系统设计时对功能和实现按照一定的原则进行分层,层次越低的权限越高,每一层的操作和使用的数据都尽量不对其它层次产生影响,这里会引入一个技术——数据隐藏(DataHiding)。
此外,部署安全措施的层次越低,则安全措施的效能和控制范围就越好,因此应该把安全措施部署在系统的最底层,下面是一个示例系统的分层:
TOC/TOU保护:
系统设计时需要使用资源锁定防止权限低的进程/用户通过劫持或修改特权用户的操作的途径访问敏感信息。
额外保护(GuardProtection):
系统常常需要使用其他的方案来提供额外的保护,比如在数据库系统中,除了在数据库本身对用户的访问权限进行控制之外,通常还会通过提供一个带有查询检查功能的界面来限制用户提交不符合安全策略规定的查询。
进程隔离(ProcessIsolation):
系统对同时执行的进程进行隔离,防止进程之间的互相影响,这个功能在现代操作系统中是一个基本功能。
最低权限原则(LeastPrivilege):
系统中所有的权限给予满足操作所需的最低权限即可,这个在其他许多领域也能看到,比如许多企业内网用户只有User权限,不能够在自己的机器上安装或修改软件,要新增软件必须由管理员干涉。
加固(Hardening):
加固是通过一定的操作和配置使系统的安全程度得到提高,它不属于系统设计阶段,而属于系统的部署和维护阶段。
以上是在系统设计时常使用的安全措施,此外,根据安全措施在系统中部署的层次不同,还可以将其分为通用操作系统级保护、应用程序级保护、存储设备保护、网络级保护。
其中:
操作系统级别保护需要满足的需求有:
用户识别和认证(UserIdentificationandAuthentication)强制访问控制(MandatoryAccessControl)自主访问控制(DiscretionaryAccessControl)完全控制(Completemediation)目标重用保护(Objectreuseprotection)审计(Audit)审计日志的保护(ProtectionofAuditlogs)日志筛选(Auditlogsreduction)可信路径(TrustedPath)入侵检测(IntrusionDetection)
应用程序级别上所提供的保护措施主要是针对用户的输入和程序的输出进行保护、过滤,还使用上面说过的GuardProtection技术来提供额外的安全功能。
存储设备保护关注的是保护存储在各种设备上的敏感信息的保密性和完整性,最近几年安全业界比较关注的企业移动设备安全和企业级加密就属于这个领域。
网络级保护关注的是信息传输过程中的保密性和完整性,这个领域的内容在CISSP另外一个CBK——电信和网络安全还会详细介绍。
15系统架构和设计之安全标准
在《J0ker的CISSP之路》系列的上一篇文章《保护机制》里,J0ker给大家介绍了CISSPCBK中提到的,同时也是现实产品中最常使用的几个保护机制。
在实践中采购一个信息技术产品之前,我们一般都会先了解目标产品的安全程度。
但如果由不同需求的人员来对产品进行评估,如果没有统一的标准,结果也是千差万别——这样就产生对统一标准的需求,因此世界上的许多国家和组织推出了自己的产品安全评估标准,其中使用最广泛的就是CISSPCBK中介绍到的TCSEC(橘皮书)、TNI(红皮书)、ITSEC和CC这几种。
在了解这些安全评估标准之前,我们先要了解一下基本的概念:
产品和系统。
我们知道,所有的安全评估标准,所针对的对象都是产品或系统,那这里所提到的产品和系统到底指的是什么?
在CISSPOfficialGuide里面提到,“产品”,指的是某个特定的可以使用在其设计目标场合的应用程序,或在某些预定义的规则下操作的应用程序,操作系统作为一个整体来看,就是一个产品;而“系统”则是指完成某个特定目标或者在某个特定场合下操作的许多产品的集合。
明白这两个概念之间的差异,对理解安全评估标准很有帮助。
说完了最基本的概念,J0ker开始给大家介绍CISSPCBK上所提到的安全评估标准:
TCSEC,也就是俗称的橘皮书(OrangeBook),它是第一个被广泛接受的安全评估标准,由美国国防部于1985年提出,目的在于评估所部署系统的安全程度。
TCSEC评估产品的出发点基于三个:
◆功能,目标系统所具有的安全功能,比如用户验证和审计; ◆有效性,安全功能的使用是否满足所需要提供的安全级别; ◆认可度:
授权机构对系统所提供的安全级别的认可程度。
TCSEC把评估对象的安全程度分成了4个等级:
A、B、C和D,安全程度从A到D逐级下降,确定为A的产品具有最高的安全性,而D等级的产品则完全没有安全性的考虑。
这四个等级的分级标准包括:
◆安全策略:
目标系统的安全策略设置是强制或自主式访问控制策略 ◆物件标记:
是否对系统内的物件根据敏感程度的不同进行标记 ◆使用者识别:
使用者必须经过识别和验证 ◆审计:
安全相关的事件必须进行日志记录 ◆保证性:
指:
1.操作保证性,比如系统架构、对执行域的保护、系统完整性;2.生命周期保证性,如设计方法、安全测试和设置管理等 ◆文档:
用户和管理员应该了解如何安装和使用系统的安全功能,测试人员也需要文档去进行测试 ◆持续保护:
保护机制本身不容易被干扰或破坏 根据这些分级标准,TCSEC的4个安全等级再细分为7个等级,这些等级的名字和详细内容如下:
分级
安全功能
A1(VerifiedSecurity)
A1级等于B3级,它提供最高的安全性,并设有系统安全管理员这一角色,不过A1级别系统的部署和维护成本也是非常高的,现实中只有极少数的系统要求达到这一安全级别。
B1、B2、B3(MandatoryProtection)
B1级(Labeledprotection)是安全等级B中最低一级,要求提供满足强制访问控制策略的模型,数据标签、已命名的访问者及访问目标控制、更详细的文档和测试、文档/源代码/目标代码需要经过分析,这个安全等级常用于Compartment环境
B2级(StructuredProtection)在B1的基础上,增加了更多系统设计要求。
其中,要求实现规范的安全模型,隐蔽信道分析、更强的验证方式和可信机房管理。
B3级(SecurityDomains)是安全等级B中最强的一级,它在B2的基础上增加的新元素是安全管理,包括安全事件的自动通知、安全管理员的支持等
C1、C2(DiscretionaryProtection)
C1级(DiscretionarySecurityProtection)主要用于多用户环境,只提供防止用户的数据被其他用户修改或破坏的基本保护功能
C2级(ControlledAccessProtection)在C1的基础上增加了用户登录和审计功能,并使用DAC访问控制,尽管C2的安全功能较弱,但C2级是较适合用于商用系统和程序的安全级别,常见的MSWindows和Linux都是属于C2级别
D(MinimalProtection)
只提交给TCSEC评估,自身没有部署安全措施的系统都属于D级。
因为TCSEC是1960年代开始设计,并于1985年成型的标准,由于当时安全观点的局限性,TCSEC的评估目标只涉及了保密性,而没有涉及完整性和可用性的评估。
因为逐渐不适合现代信息环境和新标准的纷纷推出,美国于2000年废除了TCSEC。
TNI:
TNI也称为红皮书(RedBook),由于TCSEC存在评估对象只对单一系统,并且没有完整性评估的缺点,1987年提出了TNI安全标准。
TNI用于评估电信和网络系统,它基于TCSEC,同样使用了TCSEC中的ABCD分级方法。
TNI中的关键功能如下:
◆完整性:
TNI使用了Biba安全模型来保证数据的完整性,并使用了信息源/目标认证、加密等方法来保证信息传输的完整性 ◆标签:
在使用和T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安全架构和设计 安全 架构 设计 word