科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航



ZDNet>网络频道>ZD评测>CISSP回顾:安全模型

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

多线程:一个应用能能够一次发出几个调用,这些不同的调用使用不同的线程,这是多线程

来源:51CTO 2007年12月27日

关键字:职涯 安全管理员

最近工作事情比较多,以至于耽误CISSP的学习,终于又开始回到CISSP的学习上来了。CISSP的系统安全模型部分学习的还算不错,下面是回顾的重点:

CPU的一些概念

多线程:一个应用能能够一次发出几个调用,这些不同的调用使用不同的线程,这是多线程(multithreading)。
多任务:CPU能够一次处理一个或一个以上的进程或者任务。
多进程:CPU有一个以上的CPU,能够并行地使用他们来执行指令。
多程序:CPU交错执行两个或多个程序的方式。

进程和线程

一个进程(process)是一个正在执行当中的程序,它工作在它自己的地址空间中,只能以一种受操作系统控制的方式和别的进程进行通信。一个线程(tread)代表一段在某个进程中执行的代码,依赖余所需执行的任务,一个进程一次可以运行一个或者多个线程。

安全模型

1,状态机模型:无论处于什么样的状态,系统始终是安全的,一旦有不安全的事件发生,系统应该会保护自己,而不是是自己变得容易受到攻击。

2,Bell-LaPadula模型:多级安全策略的算术模型,用于定于安全状态机的概念、访问模式以及访问规则。主要用于防止未经授权的方式访问到保密信息。系统中的用户具有不同的访问级(clearance),而且系统处理的数据也有不同的类别(classification)。信息分类决定了应该使用的处理步骤。这些分类合起来构成格(lattice)。BLP是一种状态机模型,模型中用到主体、客体、访问操作(读、写和读/写)以及安全等级。也是一种信息流安全模型。BLP的规则,Simplesecurityrule,一个位于给定安全等级内的主体不能读取位于较高安全等级内的数据。*-propertyrule)为不能往下写。Strongstarpropertyrule,一个主体只能在同一安全登记内读写。基本安全定理,如果一个系统初始处于一个安全状态,而且所有的状态转换都是安全的,那么不管输入是什么,每个后续状态都是安全的。不足之处:只能处理机密性问题,不能解决访问控制的管理问题,因为没有修改访问权限的机制;这个模型不能防止或者解决隐蔽通道问题;不能解决文件共享问题。

3,Biba模型:状态机模型,使用规则为,不能向上写:一个主体不能把数据写入位于较高完整性级别的客体。不能向下读:一个主体不能从较低的完整性级别读取数据。主要用于商业活动中的信息完整性问题。

4,Clark-Wilson模型:主要用于防止授权用户不会在商业应用内对数据进行未经授权的修改,欺骗和错误来保护信息的完整性。在该模型中,用户不能直接访问和操纵客体,而是必须通过一个代理程序来访问客体。从而保护了客体的完整性。使用职责分割来避免授权用户对数据执行未经授权的修改,再次保护数据的完整性。在这个模型中还需要使用审计功能来跟踪系统外部进入系统的信息。完整性的目标,防止未授权的用户进行修改,防止授权用户进行不正确的修改,维护内部和外部的一致性。Biba只能够确认第一个目标。

5,信息流模型:Bell-LaPadula模型所关注的是能够从高安全级别流到低安全级别的信息。Biba模型关注的是从高完整性级别流到低完整性级别的信息。都使用了信息流模型,信息流模型能够处理任何类型的信息流,而不仅是流的方向。

6,非干涉模型:模型自身不关注数据流,而是关注主体对系统的状态有什么样的了解,以避免较高安全等级内的一个实体所引发的一种活动,被低等级的实体感觉到。

7,Brewer和Nash模型:是一个访问控制模型,这个模型可以根据用户以往的动作而动态地改变。模型的主要功能就是防止用户访问被认为是利益冲突的数据。

8,Graham-Denning:创建允许主体在客体上操作的相关权限;Harrison-Ruzzo-Ullman模型:允许修改访问权以及如何创建和删除主体和客体。

运行安全模式

1,专门的安全模式:一个系统如果其所有用户都有访问级或者授权,而且对系统内处理的全部数据都有一份须知,那么它就是运行于一种专门的安全模式中。

2,系统范围内的安全模式:一个系统当其所有用户都具有安全访问级或者授权来访问信息,但不一定对系统内处理的全部数据都有一份须知。

3,分段安全模式:一个系统当所有用户都有访问级来访问该系统所处理的全部信息,但可能没有须知以及正式的访问许可时,该系统就正运行于分段安全模式。

4,多级安全模式:一个系统中,当它在所有用户没有访问级或者正式许可访问正在处理的所有信息时,允许同时处理两个或者更多分类级别的信息。可信和保险:TCB是一个系统(软件,硬件和固件)内全部保护机制的总和。所有这些机制需要以一种和谐的方式协同工作来实现一项安全策略的全部要求。保险和可信在本质上是相似的,一个可信的系统意味着所有的保护机制一同发挥作用来处理所用的许多类型的敏感数据,而且还能保持同等安全的计算机环境。保险也着眼于同样的问题,但更深入,更详尽。

系统评测方法
美国国防部DoD制定的可信计算机系统评测标准(TCSEC),橘皮书。

A,验证保护;B,强制保护;C,自主保护;D,最小保护。

主要涉及的评测主题:安全策略;标识;标签;文档;可稽核性;生命周期保障,持续保护。

C1:自主安全保护;C2:受控访问保护,需要对用户进行标识;B1:标签安全;B2,结构化保护,清楚的制定安全策略,并建立文档。B3:安全域,每一种安全机制都提供了更细的粒度,而对于安全策略的支持来说不必要的变成代码都被排除在外。A,验证设计,保险程度上高于B3级别。

评测过程:由NCSC执行TPEP。然后会加入到EPL当中去。

引用监控器和安全核心:引用监控器是一个抽象机,它是主体对客体所有的访问中介,不但确保主体拥有必要的访问权限,而且保护对客体不会有未经授权的访问以及破坏性的修改行为。安全核心由落入TCB内的机制所构成,它实现并增强了引用监控器的概念,安全核心由仲裁主体和客体之间所有访问和功能的硬件、固件、和软件部件所构成。

安全核心的主要要求:它必须将实行引用监控器概念的进程隔离开来,必须让这些进程不会被篡改;针对每次访问企图,都必须调用引用监控器,而且必须保证不会回避调用。因而必须以一种完整而且十分简单牢固的方式实现引用监控器;引用监控必须验证。着意味着所有由引用监控器作出的决定都应写入审计日志,以便验证其正确性;它必须足够小,能够完整而且全面地对其进行测试和验证。
ITSEC是欧洲评测计算机安全系统的单一标准,将功能和保险度分开评测,F1到F10用于确定系统功能性的级别;E0到E6确定系统的保险程度。

通用规则:保护样板(protectionprofile);评测保险等级(evaluationassurancelevel)EAL。
EAL1:功能测试:EAL2结构测试;EAL3系统地测试和检查;EAL4系统的设计,测试和复查;EAL5半正式的设计和测试;EAL6半正式验证设计和测试;EAL7正式地验证设计和测试。

保护样板报包括安全需要的集合、他们的含义和推理,以及对应的EAL等级。样板描述了对环境的假设、目标、以及功能和保险等级的期望。每一种有关的威胁都被列举出来,还举出特定的目标该如何控制它。他还证实每一种保护机制其力度的保险等级的要求。

保护样板的内容:描述性的成分:样板的名字,对要予以解决的安全问题的描述;解释:采用样板的理由,要详细的描述要解决的保护问题,阐明环境、假定的用途,以及威胁,还有对遵循这个样板的产品和系统所能支持的安全策略方面的指导;功能要求:建立一个保护边界,这意味这在这个范围内会遇到的威胁或入侵。产品或者系统必须提供在这一部分所建立的边界。开发保险要求:从设计到实现的开发阶段都订立了产品或者系统必须满足的特定的要求。评测保险要求:制定评测的类型和强度。

认证:是出于认可的目的而对安全部件及其一致性进行的技术评测。一个认证过程可以使用保障评测、风险分析、核实、测试和审计技术来评估某个特定的系统的适宜性。

认可:是管理层正式认定系统整体的安全性是充分的。

针对安全模型和体系结构存在的威胁:

隐蔽通道:就是某个实体以一种未经授权的方式接收信息的一条途径,他是一条没有受到安全机制控制的信息流,或者安全机制已经被成功攻破。隐蔽通道的类型:计时通道,一个进程通过调整自己对系统资源的使用来向另一个进程传递信息。对系统资源的调整可以是访问硬盘、使用过多的CPU时钟,或者将磁头定位在硬盘的某个磁道上。隐蔽存储通道就是当一个进程向存储器写入数据时,另外一个进程以直接或间接的方式读取它。

例子:Loki攻击。这种攻击使用ICMP协议进行通信。Loki允许将数据放在ICMP头信息后面,这样的攻击可以通过一个隐蔽的通道与远程系统进行数据交换。应对:使用入侵检测系统,虽然针对操作系统的检测很困难,使用审计功能来尝试和检测隐蔽通道的使用模式。
后门:位于软件中只为开发人员知晓和调用的指令。将其置于软件之中是为了便于维护以及能够步需要重装软件就可以增加功能。

应对:入侵检测,设置文件系统权限来尝试保护配置文件和敏感性信息不被修改,可以增加严格的访问控制首先防止对系统的访问;可以使用文件系统加密方法来保护敏感信息。使用审计手段检测后门的使用。
异步攻击:利用系统完成一项任务所使用步骤的不同时序。TOC/TOU攻击。对策:入侵检测,文件权限和加密;使用审计。

缓冲区溢出:当程序没有检查要输入程序并由CPU处理的数据的长度时,就发生了缓冲区溢出。多出来的数据能够启动经过精心设计、在系统中执行破坏行为的另一个程序或者另一组代码。

对策:编程员要有良好的编码的习惯和正确的编程。使用工具进行监视动态链接库的使用,或者使用能够包围内核的包裹(wrapper)监视调用。

推广二维码
邮件订阅

如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

重磅专题