本章大纲
计算机体系结构
1、体系结构研究的东西是什么?
答:一个复杂的系统,我们将其拆解为若干个子系统,然后再将子系统划分为若干个组件,研究这些组件、子系统在这个系统中的作用以及其中的关系,从而对复杂系统的特点有更深入的理解。所以体系架构是指的一种研究方法,而不是结果。
2、不存在什么都能解决的系统架构
计算机硬件的组成对信息安全有什么影响
CPU
CPU的安全问题
1、超线程(HT):在一个CPU里封装两个逻辑控制单元,同时运行两个线程
2、超线程导致的安全问题:隐蔽信道(CovertChannel)
一种特殊的通讯方法导致的泄密,是对保密性的一种破坏
如:在BLP模型中,内外部保密级别不一样,外部消息可以写入内部,但内部消息无法写入外部。但内外部如果勾结以后,外部写入内部时,内部切断信道代表信息“0”、传入成功代表信息“1”。外部观察这个变化进而获取内部信息。这就是隐蔽信道的一种方式。不是传统意义上的信号泄露。
注:BLP模型 BLP模型是一种模拟军事安全策略的计算机访问控制模型,它是最早也是最常用的一种多级访问模型,该模型用于保护系统信息的机密性。
这种0/1存储导致的泄密是存储型隐蔽信道,这种信道隐蔽性不是很强
3、另一种隐蔽信道:时间调制隐蔽信道(Timing CovertChannel)
内部使用一种程序来控制内存资源的消耗,外部在写入信息时会时快时慢,快代表“1”,慢代表“0”,这就是一种基于时间调制的隐蔽信道
CPU的运行状态
解题状态和管理程序状态是运行状态的两种子状态,解题就是正常情况下的非特权状态,管理程序状态可以理解为超级管理员状态。通过内核中的控制单元来确定系统处于什么状态。
CPU指令执行类型
存在的安全问题:
1、进程的隔离,不允许不同应用进程之间随意通讯
2、虚拟化可能导致恶意代码的问题更难发现(黑客通过污染虚拟化程序,导致运行在虚拟化之上的重装系统的防病毒软件无法察觉)
总线与数据传输
以前信息要从内存储设备转向外存储设备需要通过CPU的控制才可以执行,但如果输出流量比较大的时候,CPU负载就会非常高影响其他程序的运行。
DMA(直接存储器访问):绕过CPU,直接连接内存储器和外存储器。
安全问题:这就相当于绕开了CPU的访问控制
存储系统的层次结构
Cache(缓存)
RAM(内存)(易失存储器)
静态随机存储SRAM 比 动态随机存储DRAM 要快
ROM(只读存储器)(非易失存储器)
TPM:可信平台模块,很难被篡改,含有CPU的ROM,用于保护密钥的保密性和完整性
注:ROM不是硬盘
物理存储器和虚拟存储器(虚拟内存)
虚拟内存的坏处就是,如果突然断电,计算机来不及删除ROM上的信息,就有可能导致黑客分析磁盘页文件从而产生信息泄露
输入/输出
keylogger:一种USB的物理键盘监听器
I/O技术
内部操作系统管理输入输出的技术
1、编程I/O:外部硬件对内存、磁盘的使用就属于编程I/O,优先级很低
2、中断处理:
3、中断向量表:用于存储不同应用程序中断的入口地址,是需要操作系统严格保护的一个资源,黑客可以通过篡改中断向量表来实现提权。
固件,Firmware
保护机制
保护机制的基本概念
1、主体和客体之间的交互就是访问,安全工作最主要的形式就是进行访问控制来实现一系列的安全策略(系统级)
2、多级安全策略是最复杂的、解决涉及国家安全问题的安全策略,不是最安全的意思
保护机制1:TCB(可信计算基)
TCB(可信计算基)是桔皮书里的一个概念
注:桔皮书的标准已经过时了,现在使用“共同准则”来评估系统安全性
保护机制2:Reference Monitor(参照监视)
1、最核心的机制是访问控制,参照监视可以理解为访问控制的另一种说法
2、要求:必须能监视所有主体和客体的访问,不能有任何的例外
保护机制3:Security Kernel(安全内核)
1、安全内核是TCB里面实现RM的一个实体
2、设计操作系统时,内核必须满足三个内核
3、可验证性:安全内核要尽量的简单,方便验证
保护机制4:Protection Ring(保护环)
1、一般从0环开始标注
2、保护环能实现“隔离”的安全要求,能减少被突破后的损失
3、保护环是深度防御安全控制原则的具体实现
保护机制5:Security Labels(安全标记)
1、BLP出现之前用自主访问控制(由某个人的自主意志来决定),BLP出现以后用强制访问控制(由标签的比对来决定)
2、出现安全标记就要想到强制访问控制
保护机制6:Security Domain(安全域)
1、将安全需求类似的资源放到一起(这就是安全域)对其进行统一保护。
2、安全域是简化安全工作的常用方法
保护机制7:进程隔离,硬件分离,最小特权
保护机制8:Hardening(加固)
1、一般的加固:禁用不用的端口、禁用某些服务等。更高的加固:剥离某些服务的代码
安全模型
系统运行的安全模式
1、专用模式
2、系统高模式
3、分隔模式
4、多级安全模式
多级安全的两个特例:
5、受控模式:在多级系统中,各用户都是能溯源的,若有用户发生泄密,我们能对其进行控制
6、受限模式:后果有限
安全模型的基本概念
1、定义:安全模型是高度抽象的、形式化的数学模型
2、目的:为设计和实现安全机制提供了一种理论框架
信息安全模型分类
安全模型分为访问控制模型(保密型模型)和完整性模型
1、状态机模型
1、状态机模型是研究自动化系统的数学工具
2、安全的状态机模型:是指两个假设和一个推论
假设系统一共有n+1个状态,并且都是安全的;假设一共有n个状态转换过程,并且也都是安全的。则这个系统就是安全的
2、信息流模型
1、信息流模型是基于状态机模型的
2、信息流模型认为,系统运行过程中状态的变化是因为信息的流动导致的。
3、基于状态机模型的假设,如果信息流动是安全的,则这个系统是安全的
3、*BLP模型(Bell-LaPadula模型)
BLP模型是一个为了解决保密型问题的模型,在涉密领域用的广泛
BLP模型的安全规则
1、低不能读高,高不能写低。总之信息不能从高流向低
2、BLP模型中既有强制访问控制又有自助访问控制,属于格子模型。而格子模型属于信息流模型的扩充,所以BLP也属于信息流模型。而信息流模型又是状态机模型的扩充,而BLP也属于状态机模型。
BLP模型的缺陷
1、BLP模型不能解决所有问题,因为假设不一定成立
4、Biba模型
1、Biba模型是一个为了解决完整性问题的模型
2、是格子模型、是信息流模型、是状态机模型
完整性公理
1、Biba模型高不能读低,低不能写高,如何理解?
从信息完整性的角度来看,官方媒体(高)不能从自媒体(低)的稿子里随便读取一个信息来发表,自媒体给官方媒体投的稿被直接扔掉。
2、Biba模型在非涉密领域应用非常广泛
电力系统使用Biba模型,其二次系统和三次系统之间通过网闸隔离
5、Lattice模型
1、基于BLP模型的扩充
2、不仅有层次的隔离,还有类别的隔离
3、补充:强制访问控制当中,安全标签不仅要有级别的标注,还要有类别的标注
6、Clark-Wilson模型
1、基于流程的模型,为了实现完整性
2、工作原理: ①把数据分为两类:自由数据(完整性不确定)、受限数据(约束数据,完整性已经确定,可以使用)
②模型的作用在于如何把自由数据转化为受限数据。
③这个转化要通过两个流程来实现,
转换程序:信息必须通过业务程序录入到系统空间,不能由技术人员直接录入到后台。区别与信息流动的二元组(主体流向客体),模型的信息流动是由三元组实现,即在主客体之间多了转换程序
完整性检查程序:检查转换程序是否正确。(职务分离)
3、模型的另一个名字:受限界面模型(restricted interface model)
7、中国墙模型
1、中国墙另一个常用名字:Brew and Nash模型
2、安全目标:解决利益冲突
如何理解利益冲突?
举例:一个顾问在A银行做评估时听取了A银行的一些管理方式,当在B银行(与A银行存在激烈的竞争关系)进行评估时,或许会将A银行的这些管理方式有意无意地泄露出去,导致A银行的利益受损。
3、冲突域
将存在利益冲突的单位放在一个冲突域里面,一个“咨询顾问”只能访问一个冲突域里面的一个客户信息
8、非干涉模型
1、该模型为了解决隐蔽信道问题
2、工作流程举例:
在前面隐蔽信道例子中,相当于加了个中间C,当内部的A无论怎么插拔网线。外界的B都无法观察到其变化。这就阻止了隐蔽信道的问题
9、取-予模型(Take-Grant)
1、该模型为了解决授权问题
2、为什么要有这个模型? 举例:
①A将权限授予(G)了B A→B
②C是B的上级,获取(T)了B的权限 B→C
③D将权限授予了C,C就相当于同时拥有了A与D的权限 D→C
④若A和D的权限是需要职责分离的,则C这种情况就不应该发生 C=A+D
结论:
该模型就是利用这种指向图的方式来研究授权过程中的风险,从而提出授权过程的禁止性要求
10、访问矩阵模型(最常用、最直接)
1、被称为最直接的模型的原因
因为模型是用来研究安全策略的分析工具,不是用来实现安全策略的方法。而访问控制矩阵既是一个模型又是一个方法,所以被称为最直接的模型
2、存在的问题
访问矩阵是一个二维表,当用户和目标过多时,矩阵会存在很多的空值(稀疏矩阵),存储和读取效率比较低。
3、解决方法1:访问控制列表(主附客)
相当于只取矩阵的每一列,将附着在客体上的主体单独取出来构成列表。
4、解决方法2:能力列表(客附主)
相当于只取矩阵的每一行,将附着在主体上的客体单独取出来构成列表。
系统评测
目的:让别人相信我们的系统能实现什么安全目标
信息系统评估标准
1、桔皮书TCSEC是最早的信息安全标准,但仅限于操作系统
2、ITSEC提出两个要求:安全功能的要求、安全保障的要求
3、CC国际通用准则后续发展为ISO 15408
TCSEC,桔皮书(不重要)
校验保护:内核设计需要被证明为是正确的,除了足够简单以外,还要采取形式化设计(需求和设计过程要用数学语言来表达),通过数学证明来证明能实现改目标
ITSEC
CC(共同准则)
关键概念
*保护轮廓PP
从用户的角度分层来提出各种安全要求的一种系统化的方法
基本原理部分其实就是一个证明部分,证明所提出的安全要求足以实现安全目标