安全架构与设计-CIS.ppt
GooAnn CISSP Training,Security Architecture and Design安全架构与设计,2,内容目录,保护机制安全模型系统测评,3,保护机制安全模型系统测评,4,保护机制的基本概念,主体和客体主体,即主动实体,导致信息在系统中流动及改变系统状态的用户或进程等客体,包含或接受信息的被动实体,如文件、内存块等 安全策略一系列的规则、实践和过程的组合,指示敏感信息如何管理、保护和发布。多层次安全策略:Multilevel security policy,防止信息从高级别安全流向低安全级别的安全策略。这种类型策略只允许一个主体在其安全级别高于或等于对象安全分类时才能访问该对象。安全机制实现安全策略的一整套软件、硬件的实体,它的作用就是保证安全策略的实现。,5,保护机制:TCB,TCB是计算机系统内保护机制的总体,包括硬件、固体、软件和负责执行安全策略的组合体。TCB由一系列的部件构成,在产品或系统中执行统一的安全策略。TCB的三个要求TCB必须保证其自身在一个域中的执行,防止被外界干扰或破坏TCB所控制的资源必须是已经定义的主体或客体的子集TCB必须隔离被保护的资源,以便进行访问控制和审计TCB维护每个域的保密性和完整性,监视4个基本功能进程激活:Process activation执行域的切换:Execution domain switching内存保护:Memory protectionI/O操作:I/O operation,6,保护机制:Reference Monitor,RM是一个抽象机的访问控制概念,基于访问控制数据库协调所有主体对客体的访问RM的任务根据访问控制数据库,对主体对客体的访问请求做出是否允许的裁决,并将该请求记录到审计数据库中。注意:基准监视器有动态维护访问控制数据库的能力。,RM的特性:执行主体到对象所有访问的抽象机必须执行所有访问,能够在修改中被保护,能够恢复正常,并且总是被调用。处理所有主体到客体访问的抽象机,7,保护机制:Security Kernel,安全内核是TCB中执行引用监视器概念的硬件、固件和软件元素理论基础:在一个大的操作系统中,只将相对比较小的一部分软件负责实施系统安全,并将实施安全的这部分软件隔离在一个可信的安全核,这个核就称为安全核。需要满足三个原则完备性:协调所有的访问控制隔离性:受保护,不允许被修改可验证性:被验证是正确的安全核技术是早期构建安全操作系统最为常用的技术,几乎可以说是唯一能够实用的技术。引用监视器RM是概念,抽象的机器,协调所有主体对对象间的访问;安全内核是硬件,是TCB中执行RM的部分,TCB中除安全内核外还有其它安全机制,8,保护机制:Protection Ring,一组同心的编号环 环数决定可以访问的层次,越低的环数表示越高的特权程序假定执行环数的位置 程序不可以直接访问比自身高的层次,如需访问,系统调用(system call)一般使用4个保护环:Ring 1 操作系统安全核心Ring 2 其他操作系统功能 设图示控制器Ring 3 系统应用程序,数据库功能等Ring 4 应用程序空间,9,保护机制:Security Labels,分配给一个资源以说明分类级别根据标签以及主体的级别确定主体是否可以访问客体资源不常改变是一种有效的访问控制机制需要额外的验证开销,10,保护机制:Security Domain,安全内核和其它联系安全的系统功能都限制在一个TCB边界内,即安全区域安全区域以外的系统元件不需要是可靠的。例如,一个完全的计算机系统或者一个局域网应该属于安全区域内部,通过网关同外部的系统和网络相连接 安全边界,Security perimeter 将TCB与系统的其它部分隔离的边界,11,保护机制:分层,不同的领域有不同的安全要求,在不同的层次执行,用户端,数据端或操作端,因而安全机制可应用于硬件、内核、OS、业务和程序等各个层次。操作系统设计的一个重要概念是将安全机制放置在系统的低层。,操作系统,操作系统内核,安全内核,12,保护机制:进程隔离,硬件分离,最小特权,进程隔离,Process Isolation进程可以互不干扰地运行。每个进程都被分配了各自的内存空间,多个进程并发运行时不会相互影响在进程切换时系统跟踪进程的所有状态,如寄存器等硬件分离,Hardware Isolation将TCB与系统中其它不可信的部分隔离最小特权,Least Privilege一个进程只拥有它运行所需的权限和访问,只有需要完全特权的进程才可以运行在内核,其他进程只当需要时才调用这些特权进程。,13,保护机制:Hardening,传统的Hardening针对操作系统,指保护内核、内存不受其它在主机上已运行程序的影响目前这个概念已经扩展到网络 接口上,用于限制可运行的服务和行为涉及系统的各个方面:物理和逻辑访问操作系统应用数据接口一些硬件厂商目前提供相应系统的hardening版本,如用于访问控制的sandbox层次,用于分离资源和访问请求,14,保护机制安全模型系统测评,15,安全模型的基本概念,“模型”是一个综合的概念,是具体事物的高度抽象。信息安全的模型是用来描述基本的安全目标、安全特征或技术的基本组成的一种工具,其目的是以简洁明了形式说明安全功能的设计和开发中应该考虑的事项,信息安全模型中往往也包括了工程实践中的经验和某些具体的考虑。安全策略提供了实现安全的抽象目标,安全模型将抽象的安全策略目标映射为信息系统的表达,通过确定的数据结构和必要的技术执行行安全策略。,16,信息安全模型分类,访问控制模型,Access control models,也称为保密性模型(Confidentiality Model)状态机Bell-LaPadula访问矩阵模型Take-Grant模型完整性模型,Integrity ModelsBiba模型Clark&Wilson模型信息流模型,Information Flow Models非干涉模型,17,状态机模型,State Machine Model状态机模型描述了一种无论处于何种状态都是安全的系统一个状态(State)是处于特定时刻系统的一个快照,如果该状态所有方面都满足安全策略的要求,就称之为安全的State tranisition:状态转换,许多活动可能会改变系统状态,成为状态迁移(State transition),迁移总是导致新的状态的出现如果所有的行为都在系统中允许并且不危及系统使之处于不安全状态,则系统执行一个安全状态机模型:secure state model。一个安全的状态机模型系统,总是从一个安全状态启动,并且在所有迁移当中保持安全状态,只允许主体以和安全策略相一致的安全方式来访问资源安全的状态机模型是其他安全模型的基础,18,信息流模型(Information Flow Models),基于状态机,由对象、状态转换以及格(流策略)状态组成,对象可以是用户,每个对象都被分配一个安全等级和值Bell-LaPadula和Biba模型都是信息流模型,前者要防止信息从高安全等级流向低安全等级,后者要防止信息从低安全等级流向高安全等级信息流模型并不是只处理信息流向,也可以处理流类型信息流模型用于防止未授权的、不安全的或者受到限制的信息流,信息流可以是同一级别主体与客体之间的,也可以是不同级别间的信息流模型允许所有授权信息流,无论是否在同一级别;信息流模型防止所有未授权的信息流,无论是否在同一级别信息被限制在策略允许的方向流动,19,Bell-LaPadula 模型,1973年,David Bell和Len LaPadula提出了第一个正式的安全模型,该模型基于强制访问控制系统,以敏感度来划分资源的安全级别。将数据划分为多安全级别与敏感度的系统称之为多级安全系统为美国国防部多级安全策略形式化而开发Bell-LaPadula保密性模型是第一个能够提供分级别数据机密性保障的安全策略模型(多级安全)。特点:信息流安全模型只对机密性进行处理运用状态机模型和状态转换的概念基于政府信息分级无密级、敏感但无密级、机密、秘密、绝密“Need to know”谁需要知道?开始于安全状态,在多个安全状态中转换(初始状态必须安全,转变结果才在安全状态),20,Bell-LaPadula 模型安全规则,简单安全规则ss(Simple Security Property)安全级别低的主体不能读安全级别高的客体信息(No Read Up)星规则*The*(star)security Property安全级别高的主体不能往低级别的客体写(No write Down)强星规则 Strong*property不允许对另一级别进行读取自主安全规则ds(Discretionary security Property)使用访问控制矩阵来定义说明自由存取控制内容相关 Content Dependent 上下文相关Context Dependent,21,BLP模型的缺陷,不能防止隐蔽通道(covert channels)不针对使用文件共享和服务器的现代信息系统没有明确定义何谓安全状态转移(secure state transition)基于多级安全保护(multilevel security)而未针对其他策略类型 不涉及访问控制管理不保护完整性和可用性,22,Biba模型,完整性的三个目标:保护数据不被未授权用户更改;保护数据不被授权用户越权修改(未授权更改);维持数据内部和外部的一致性1977作为Bell-Lapadula的完整性补充而提出,用于非军事行业Biba基于一种层次化的完整性级别格子(hierarchical lattice of integrity levels),是一种信息流安全模型。特点:基于小于或等于关系的偏序的格最小上限(上确界),least upper bound(LUB)最大下限(下确界),greatest lower bound(GLB)Lattice=(IC,=,LUB,GUB)数据和用户分级强制访问控制,23,完整性公理 Integrity Axioms,简单完整条件:一个主体能够对一个客体持有read访问方式,仅当客体的完整性级别支配主体的完整性级别。No read down完整性星规则:一个主体能够对一个客体持有write访问方式,仅当主体的完整性级别支配客体的完整性级别。No write up援引规则:一个主体能够对另一个主体持有调用(invoke)访问方式,仅当第一个主体的完整性级别支配第二个主体的完整性级别。,24,Lattice模型,Lattice 模型通过划分安全边界对BLP模型进行了扩充,它将用户和资源进行分类,并允许它们之间交换信息,这是多边安全体系的基础。多边安全的焦点是在不同的安全集束(部门,组织等)间控制信息的流动,而不仅是垂直检验其敏感级别。建立多边安全的基础是为分属不同安全集束的主体划分安全等级,同样在不同安全集束中的客体也必须进行安全等级划分,一个主体可同时从属于多个安全集束,而一个客体仅能位于一个安全集束。在执行访问控制功能时,lattice模型本质上同BLP模型是相同的,而lattice模型更注重形成安全集束。BLP模型中的上读下写原则在此仍然适用,但前提条件必须是各对象位于相同的安全集束中。主体和客体位于不同的安全集束时不具有可比性,因此在它们中没有信息可以流通。,25,Clark-Wilson模型,在1987年被提出的经常应用在银行应用中以保证数据完整性实现基于成形的事务处理机制要求完整性标记定义:受限数据条目Constrained Data Item(CDI)完整性检查程序Integrity Verification Procedure(IVP)转换程序Transformation Procedure(TP)自由数据条目Unconstrained Data ItemClark-Wilson需要integrity label用于确定一个数据项的完整级别,并在TP后验证其完整性是否维持,采用了实现内/外一致性的机制,separation of duty,mandatory integrity policy,26,Clark-Wilson模型(续),也是一个保护完整性的模型没有像Biba那样使用lattice结构,而是使用Subject/Program/Object这样的三方关系(triple),Subject并不能直接访问Object,只能通过Program来访问两个原则:well-formed transactions:采用了program的形式,主体只能通过program访问客体,每个恰当设计的program都有特定的限制规则,这就有效限制了主体的能力separation of duties:将关键功能分成两个或多个部分,必须由不同的主体去完成各个部分,可防止已授权用户进行未授权的修改要求具有审计能力(Auditing)Clark-Wilson model也被称作restricted interface model该模型考虑到了完整性的3个目标,而Biba模型只考虑了第一个,27,中国墙模型,Brew and Nash:Chinese Wall,Chinese Wall模型是应用在多边安全系统中的安全模型(也就是多个组织间的访问控制系统),应用在可能存在利益冲突的组织中。最初是为投资银行设计的,但也可应用在其它相似的场合。Chinese Wall安全策略的基础是客户访问的信息不会与目前他们可支配的信息产生冲突。在投资银行中,一个银行会同时拥有多个互为竞争者的客户,一个银行家可能为一个客户工作,但他可以访问所有客户的信息。因此,应当制止该银行家访问其它客户的数据。Chinese Wall安全模型的两个主要属性:用户必须选择一个他可以访问的区域用户必须自动拒绝来自其它与用户所选区域的利益冲突区域的访问这种模型同时包括了DAC和MAC的属性:银行家可以选择为谁工作(DAC),但是一旦选定,他就被只能为该客户工作(MAC)。,28,非干涉模型,Non-interference Model,基于信息流模型非干涉模型并不关心信息流,而是关心影响系统状态或者其他主体活动的某个主体的活动确保在较高安全级别发生的任何活动不会影响,或者干涉在较低安全级别发生的活动。如果在较高安全级内的一个实体执行一项操作,那么它不能改变在较低安全级内实体的状态如果一个处于较低安全级的实体感受到了由处于较高安全级内的一个实体所引发的某种活动,那么该实体可能能够推断出较高级别的信息,引发信息泄漏基本原理为,一组用户(A)使用命令(C),不被用户组(B)(使用命令D)干扰,可以表达成A,C:|B,D,同样,使用命令C的组A的行为不能被使用命令D的组B看到,29,取-予模型(Take-Grant),4种存取方式access mode(4种权限):1Read2Write3Take,A take BA可以“取”B所持有的对系统中其他主体或客体的任何权限。4Grant,A grant BA可以“授予”B任何A所持有的对系统中其他主体或客体的任何权限。1,2为安定型(inert)权限,不改变系统的授权/保护状态3,4为变换型(transport)权限,允许权限变换,30,访问矩阵模型,Access Matrix,为主体提供访问客体的直接访问访问权限Access Rights 读Read、写write、执行execute主体,Subject主动实体寻求对客体或资源的权限人、程序或进程客体Objects被动实体文件或存储设备支持自定义访问控制(Discretionary),31,访问矩阵模型(续),访问矩阵的列称为Access Control Lists(ACLs),行称为capability lists.在访问矩阵中,一个主体的能力为三元组(object,rights,random#.),它定义了一个主体对客体的权限,通常含有一个随机数用于防止replay或spoofing,类似于Kerberos的ticket,32,保护机制安全模型系统测评,33,系统测评,检查一个系统与安全相关的部分。TCB、访问控制机制、reference monitor、kernel、保护机制以及它们之间的关系和作用,有多种不同的方法评估为系统提供安全和信任级别,称之为规范,criteria。Trust Level:告诉用户其对系统的期望如何,系统提供何种级别的安全Assurance:在每个计算条件下,系统可以一个正确和可预见的方式执行,更细化,程度更深。,34,信息系统评估标准,35,TCSEC,桔皮书,Trusted Computer System Evaluation Criteria,是一个评估OS、应用的、系统的规范,评价不同系统的尺度,检查系统的功能性、有效性和保证程度,提供多种级别。1970年由美国国防科学委员会提出。1985年公布。主要为军用标准,延用至民用。TCSEC2000年退休,被Common Criteria所替代,是第一个涉及计算机系统的安全规范。,36,TCSEC的等级,D 最小保护(minimal protection)C 自主保护(discretionary protection)C1:选择安全性保护,Discretionary Security ProtectionC2:受约束的访问保护,Controlled Access Protection B 强制保护(mandatory protection)B1:标签式安全保护,Labeled SecurityB2:结构化保护,Structure ProtectionB3:安全域,Security DomainA 校验保护(verified protection)A1:验证设计,Verified Design,37,TCSEC总结,D1级是不具备最低安全限度的等级C1和C2级是具备最低安全限度的等级B1和B2级是具有中等安全保护能力的等级,基本可以满足一般的重要应用的安全要求B3和A1属于最高安全等级,其成本增加很多,只有极其重要的应用才需要使用这种等级的系统,38,ITSEC,Information Technology Security Evaluation Criteria 欧洲多国安全评价方法的综合产物,军用,政府用和商用。以超越TCSEC为目的,将安全概念分为功能与功能评估两部分。首次提出了信息安全的保密性、完整性、可用性的概念评估对象TOE(Target of Evaluation)产品和系统安全性目标security target安全增强机制安全策略,39,加拿大CTCPEC,1989年公布,专为政府需求而设计与ITSEC类似,将安全分为功能性需求和保证性需要两部分。功能性要求分为四个大类:a 机密性b 完整性c 可用性d 可控性在每种安全需求下又分成很多小类,表示安全性上的差别,分级条数为05级。,40,CC:Common Criteria,CC定义了作为评估信息技术产品和系统安全性的基础准则,全面地考虑了与信息技术安全性有关的所有因素,与PDR(防护、检测、反应)模型和现代动态安全概念相符合的,强调安全的假设、威胁的、安全策略等安全需求的针对性,充分突出保护轮廓仍强调把安全需求划分为安全功能需求和安全保证需求两个独立的部分,根据安全保证需求定义安全产品的安全等级定义了7个评估保证级别(EAL),每一级均需评估7个功能类 CC分为三个部分:第一部分:介绍和一般模型 一般性概念,IT安全评估的原则,高级编写规范,对目标受众的有用价值。对消费者来说是不错的背景介绍和参考。第二部分:安全功能需求 功能性需求,组件,评估目标(Target of Evaluation,TOE);对消费者来说是不错的指导和参考,可以用来阐述对安全功能的需求。第三部分:安全保障 对TOE的保障需求(assurance requirement),对保护轮廓(Protection Profile)和安全目标(Security Target)的评估标准。指导消费者提出相应的保障等级。,41,关键概念,评估对象 TOE(Target of Evaluation)保护轮廓PP(Protection Profile)安全目标ST(Security Target)功能(Function)保证(Assurance)组件(Component)包(Package)评估保证级EAL(Evaluation Assurance Level),42,评估目标/对象(TOE),产品、系统、子系统,43,保护轮廓(PP),表达一类产品或系统的用户的安全目标和需求PP描述用户的安全需求,指出TOE要解决的安全问题例如:Smart Card PP,Firewall PP,44,安全目标(ST),某一特定产品/系统IT安全需求和要求解释产品的安全功能和保障机制,是否满足安全需求,是评估依据的基础例如:某公司的Firewall ST,功能要求-定义产品/系统的安全功能-将需求变为安全功能,保障要求-建立对安全功能的信心 准确地实现功能 并有效地满足安全目标,产品做什么,产品是否满足需求,安全要求,46,功能/保证结构,class类(如用户数据保护FDP)关注共同的安全焦点的一组族,覆盖不同的安全目的范围family子类(如访问控制FDP_ACC)共享安全目的的一组组件,侧重点和严格性不同Subdivision 组件(如子集访问控制FDP_ACC.1)包含在PP/ST/包中的最小可选安全要求集,47,安全要求的结构,类(Class),子类(Family),子类(Family),组件,组件,组件,组件,功能和保证,PP/ST/包,48,组件,CC将传统的安全要求分成不能再分的构件块用户/开发者可以组织这些要求到PP中到ST中组件可以进一步细化,49,评估对象开发模型,50,CC 第二部分,安全功能要求,51,安全功能要求的11个类,FAU类:安全审计,FCO类:通信,FCS类:密码支持,FDP类:保护用户数据,FIA类:标识和鉴别,FMT类:安全管理,FPR类:秘密,FPT类:TOE 安全功能 的保护,FRU类:资源利用,FTA类:TOE访问,FTP类:可信路径/通道,52,安全功能要求,135个组件,53,FAU类:安全审计,族,举例,54,安全功能要求组件标识,F-功能要求,DP-保护用户数据,IFF-信息流控制功能族,4-第四个组件,55,CC 第三部分,安全保障要求,56,安全保证要求结构,APE类-保护轮廓PP的评估准则,ASE类-安全目标ST的评估准则,用于TOE的七个安全保证要求类,57,用于TOE的七个安全保证要求类,AGD类:指导性文件,ADV类:开发,ADO类:分发和操作,ACM类:配置管理,AVA类:脆弱性评定,ATE类:测试,ALC类:生命周期支持,58,安全保障要求细分类,59,评估保障级别,EAL2,结构测试级,EAL1,功能测试级,EAL3,方法测试和校验级,EAL4,系统地设计、测试和评审级,EAL5,半形式化设计和测试级,EAL6,半形式化验证的设计和测试级,EAL7,形式化验证的设计和测试级,60,评估保证级别(EAL),61,各部分关系,62,CC不涉及的内容,不涉及与信息技术安全措施没有直接联系的行政性管理安全措施的安全评估不专门针对信息技术/安全技术的物理方面(如电磁辐射)的评估不包括密码算法强度方面的评估,