Featured image of post 第03节:安全工程实施(上)

第03节:安全工程实施(上)

CISSP课程笔记

本章大纲

image-20240305110530675

计算机体系结构

1、体系结构研究的东西是什么?

答:一个复杂的系统,我们将其拆解为若干个子系统,然后再将子系统划分为若干个组件,研究这些组件、子系统在这个系统中的作用以及其中的关系,从而对复杂系统的特点有更深入的理解。所以体系架构是指的一种研究方法,而不是结果。

2、不存在什么都能解决的系统架构

image-20240305113033092

计算机硬件的组成对信息安全有什么影响

CPU

image-20240306085535263

CPU的安全问题

1、超线程(HT):在一个CPU里封装两个逻辑控制单元,同时运行两个线程

2、超线程导致的安全问题:隐蔽信道(CovertChannel)

一种特殊的通讯方法导致的泄密,是对保密性的一种破坏

如:在BLP模型中,内外部保密级别不一样,外部消息可以写入内部,但内部消息无法写入外部。但内外部如果勾结以后,外部写入内部时,内部切断信道代表信息“0”、传入成功代表信息“1”。外部观察这个变化进而获取内部信息。这就是隐蔽信道的一种方式。不是传统意义上的信号泄露。

注:BLP模型 BLP模型是一种模拟军事安全策略的计算机访问控制模型,它是最早也是最常用的一种多级访问模型,该模型用于保护系统信息的机密性

这种0/1存储导致的泄密是存储型隐蔽信道,这种信道隐蔽性不是很强

3、另一种隐蔽信道:时间调制隐蔽信道(Timing CovertChannel)

内部使用一种程序来控制内存资源的消耗,外部在写入信息时会时快时慢,快代表“1”,慢代表“0”,这就是一种基于时间调制的隐蔽信道

CPU的运行状态

image-20240306091726069

解题状态和管理程序状态是运行状态的两种子状态,解题就是正常情况下的非特权状态,管理程序状态可以理解为超级管理员状态。通过内核中的控制单元来确定系统处于什么状态。

CPU指令执行类型

image-20240306092103708

存在的安全问题:

1、进程的隔离,不允许不同应用进程之间随意通讯

2、虚拟化可能导致恶意代码的问题更难发现(黑客通过污染虚拟化程序,导致运行在虚拟化之上的重装系统的防病毒软件无法察觉)

image-20240306092815011

总线与数据传输

以前信息要从内存储设备转向外存储设备需要通过CPU的控制才可以执行,但如果输出流量比较大的时候,CPU负载就会非常高影响其他程序的运行。

DMA(直接存储器访问):绕过CPU,直接连接内存储器和外存储器。

安全问题:这就相当于绕开了CPU的访问控制

存储系统的层次结构

image-20240306094351207

Cache(缓存)

image-20240306094521838

RAM(内存)(易失存储器)

image-20240306094553831

静态随机存储SRAM 比 动态随机存储DRAM 要快

ROM(只读存储器)(非易失存储器)

image-20240306094842880

TPM:可信平台模块,很难被篡改,含有CPU的ROM,用于保护密钥的保密性和完整性

注:ROM不是硬盘

物理存储器和虚拟存储器(虚拟内存)

虚拟内存的坏处就是,如果突然断电,计算机来不及删除ROM上的信息,就有可能导致黑客分析磁盘页文件从而产生信息泄露

输入/输出

keylogger:一种USB的物理键盘监听器

I/O技术

内部操作系统管理输入输出的技术

image-20240309092657147

1、编程I/O:外部硬件对内存、磁盘的使用就属于编程I/O,优先级很低

2、中断处理:

image-20240309093051355

3、中断向量表:用于存储不同应用程序中断的入口地址,是需要操作系统严格保护的一个资源,黑客可以通过篡改中断向量表来实现提权。

固件,Firmware

image-20240309093648211

保护机制

保护机制的基本概念

image-20240309094928040

1、主体和客体之间的交互就是访问,安全工作最主要的形式就是进行访问控制来实现一系列的安全策略(系统级)

2、多级安全策略是最复杂的、解决涉及国家安全问题的安全策略,不是最安全的意思

保护机制1:TCB(可信计算基)

TCB(可信计算基)是桔皮书里的一个概念

注:桔皮书的标准已经过时了,现在使用“共同准则”来评估系统安全性

image-20240309095844535

保护机制2:Reference Monitor(参照监视)

image-20240309100833687

1、最核心的机制是访问控制,参照监视可以理解为访问控制的另一种说法

2、要求:必须能监视所有主体和客体的访问,不能有任何的例外

保护机制3:Security Kernel(安全内核)

image-20240309101144583

1、安全内核是TCB里面实现RM的一个实体

2、设计操作系统时,内核必须满足三个内核

3、可验证性:安全内核要尽量的简单,方便验证

保护机制4:Protection Ring(保护环)

image-20240309101957732

1、一般从0环开始标注

2、保护环能实现“隔离”的安全要求,能减少被突破后的损失

3、保护环是深度防御安全控制原则的具体实现

保护机制5:Security Labels(安全标记)

image-20240309103405369

1、BLP出现之前用自主访问控制(由某个人的自主意志来决定),BLP出现以后用强制访问控制(由标签的比对来决定)

2、出现安全标记就要想到强制访问控制

保护机制6:Security Domain(安全域)

image-20240309104754653

1、将安全需求类似的资源放到一起(这就是安全域)对其进行统一保护。

2、安全域是简化安全工作的常用方法

保护机制7:进程隔离,硬件分离,最小特权

image-20240309111238134

保护机制8:Hardening(加固)

image-20240309111343434

1、一般的加固:禁用不用的端口、禁用某些服务等。更高的加固:剥离某些服务的代码

安全模型

系统运行的安全模式

1、专用模式

2、系统高模式

3、分隔模式

4、多级安全模式

多级安全的两个特例:

​ 5、受控模式:在多级系统中,各用户都是能溯源的,若有用户发生泄密,我们能对其进行控制

​ 6、受限模式:后果有限

安全模型的基本概念

1、定义:安全模型是高度抽象的、形式化的数学模型

2、目的:为设计和实现安全机制提供了一种理论框架

信息安全模型分类

image-20240309114103719

安全模型分为访问控制模型(保密型模型)和完整性模型

1、状态机模型

image-20240309142625609

1、状态机模型是研究自动化系统的数学工具

2、安全的状态机模型:是指两个假设和一个推论

假设系统一共有n+1个状态,并且都是安全的;假设一共有n个状态转换过程,并且也都是安全的。则这个系统就是安全的

2、信息流模型

image-20240309142935587

1、信息流模型是基于状态机模型的

2、信息流模型认为,系统运行过程中状态的变化是因为信息的流动导致的。

3、基于状态机模型的假设,如果信息流动是安全的,则这个系统是安全的

3、*BLP模型(Bell-LaPadula模型)

image-20240309143311366

BLP模型是一个为了解决保密型问题的模型,在涉密领域用的广泛

BLP模型的安全规则

image-20240309144027177

1、低不能读高,高不能写低。总之信息不能从高流向低

2、BLP模型中既有强制访问控制又有自助访问控制,属于格子模型。而格子模型属于信息流模型的扩充,所以BLP也属于信息流模型。而信息流模型又是状态机模型的扩充,而BLP也属于状态机模型。

BLP模型的缺陷

image-20240309144610126

1、BLP模型不能解决所有问题,因为假设不一定成立

4、Biba模型

image-20240309145009194

1、Biba模型是一个为了解决完整性问题的模型

2、是格子模型、是信息流模型、是状态机模型

完整性公理

image-20240309145150009

1、Biba模型高不能读低,低不能写高,如何理解?

从信息完整性的角度来看,官方媒体(高)不能从自媒体(低)的稿子里随便读取一个信息来发表,自媒体给官方媒体投的稿被直接扔掉。

2、Biba模型在非涉密领域应用非常广泛

电力系统使用Biba模型,其二次系统和三次系统之间通过网闸隔离

5、Lattice模型

image-20240309151700329

1、基于BLP模型的扩充

2、不仅有层次的隔离,还有类别的隔离

3、补充:强制访问控制当中,安全标签不仅要有级别的标注,还要有类别的标注

6、Clark-Wilson模型

image-20240309152825702

image-20240309155501647

1、基于流程的模型,为了实现完整性

2、工作原理: ①把数据分为两类:自由数据(完整性不确定)、受限数据(约束数据,完整性已经确定,可以使用)

②模型的作用在于如何把自由数据转化为受限数据。

③这个转化要通过两个流程来实现,

转换程序:信息必须通过业务程序录入到系统空间,不能由技术人员直接录入到后台。区别与信息流动的二元组(主体流向客体),模型的信息流动是由三元组实现,即在主客体之间多了转换程序

完整性检查程序:检查转换程序是否正确。(职务分离)

3、模型的另一个名字:受限界面模型(restricted interface model)

7、中国墙模型

image-20240309161404104

1、中国墙另一个常用名字:Brew and Nash模型

2、安全目标:解决利益冲突

如何理解利益冲突?

举例:一个顾问在A银行做评估时听取了A银行的一些管理方式,当在B银行(与A银行存在激烈的竞争关系)进行评估时,或许会将A银行的这些管理方式有意无意地泄露出去,导致A银行的利益受损。

3、冲突域

将存在利益冲突的单位放在一个冲突域里面,一个“咨询顾问”只能访问一个冲突域里面的一个客户信息

8、非干涉模型

image-20240309162420073

1、该模型为了解决隐蔽信道问题

2、工作流程举例:

在前面隐蔽信道例子中,相当于加了个中间C,当内部的A无论怎么插拔网线。外界的B都无法观察到其变化。这就阻止了隐蔽信道的问题

9、取-予模型(Take-Grant)

image-20240309162701264

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、访问矩阵模型(最常用、最直接)

image-20240309163650970

1、被称为最直接的模型的原因

因为模型是用来研究安全策略的分析工具,不是用来实现安全策略的方法。而访问控制矩阵既是一个模型又是一个方法,所以被称为最直接的模型

2、存在的问题

访问矩阵是一个二维表,当用户和目标过多时,矩阵会存在很多的空值(稀疏矩阵),存储和读取效率比较低。

3、解决方法1:访问控制列表(主附客)

相当于只取矩阵的每一列,将附着在客体上的主体单独取出来构成列表。

4、解决方法2:能力列表(客附主)

相当于只取矩阵的每一行,将附着在主体上的客体单独取出来构成列表。

系统评测

目的:让别人相信我们的系统能实现什么安全目标

image-20240309165054657

信息系统评估标准

image-20240309165356023

1、桔皮书TCSEC是最早的信息安全标准,但仅限于操作系统

2、ITSEC提出两个要求:安全功能的要求、安全保障的要求

3、CC国际通用准则后续发展为ISO 15408

TCSEC,桔皮书(不重要)

image-20240309165920640

image-20240309165949669

校验保护:内核设计需要被证明为是正确的,除了足够简单以外,还要采取形式化设计(需求和设计过程要用数学语言来表达),通过数学证明来证明能实现改目标

ITSEC

image-20240309170442819

CC(共同准则)

image-20240309170618351

关键概念

image-20240309170804975

*保护轮廓PP

从用户的角度分层来提出各种安全要求的一种系统化的方法

image-20240309171240661

基本原理部分其实就是一个证明部分,证明所提出的安全要求足以实现安全目标

本博客已稳定运行
发表了13篇文章 · 总计29.11k字
森 ICP备2024001234
Built with Hugo
主题 StackJimmy 设计