导图社区 计算机体系安全架构设计方案分享
计算机体系安全架构设计方案分享,包括基本概念、计算机体系机构、操作系统保护机制、虚拟化、系统体系结构、安全模型、安全运行模型等内容。
编辑于2022-11-11 09:28:19 广东计算机体系安全架构设计方案分享
基本概念
安全模型
概括地描述正确地支持某种安全策略所必须满足的要求
安全策略
概况地说明了如何去访问数据、需要什么样的安全等级, 以及当这些需求没有满足时应该改采取什么样的措施
勾勒出对软件和硬件的期望
多级安全策略
防止信息从高安全等级流向低安全等级的安全策略称为多级安全策略
计算机安全要素
可用性(Availability)
完整性(Intergrity)
机密性(confidentiality)
计算机体系机构
中央处理单元
中央处理器CPU是计算的大脑
它从存储器中提取指令并加以执行
提取执行
执行指令
主要组成:
寄存器
CPU包含一些指向存储器位置的寄存器, 这些寄存器位置上存储着下一个要执行的指令, 以帮助CPU保存需要处理的数据的状态信息
寄存器是一个临时存储位置
寄存器保留的信息告诉CPU下一步的工作内容。
寄存器类型:
通用寄存器:用于保存变量和临时结果
专用寄存器:保存诸如程序计数器、栈指针和程序状态字,PSW等信息
程序计数寄存器中包含需要提取的下一个指令的存储器地址
算术逻辑单元
算术逻辑单元完成实际的指令执行工作。
ALU对数据执行数学函数运算和逻辑操作
ALU是CPU的大脑。
控制单元
控制单元指示CPU能够对指令和数据进行处理时, 就将其存储器地址提交给CPU进行实际处理, 进而完成数字运算和数据操纵。 处理结果返回提出请求的存储器地址
控制单元是提取代码、解释代码并检查不同指令集执行的组件。
控制单元并不处理数据,而是类似于交通的交通警察
主存储器
软件将他的指令和数据保存在存储器中。
总线
数据总线 (1) 是CPU与内存或其他器件之间的数据传送的通道。 (2)数据总线的宽度决定了CPU和外界的数据传送速度。 (3)每条传输线一次只能传输1位二进制数据。eg: 8根数据线一次可传送一个8位二进制数据(即一个字节)。 (4)数据总线是数据线数量之和。 地址总线 (1)CPU是通过地址总线来指定存储单元的。 (2)地址总线决定了cpu所能访问的最大内存空间的大小。eg: 10根地址线能访问的最大的内存为1024位二进制数据(1B) (3)地址总线是地址线数量之和。 控制总线 (1)CPU通过控制总线对外部器件进行控制。 (2)控制总线的宽度决定了CPU对外部器件的控制能力。 (3)控制总线是控制线数量之和。 例题:若内存容量为4GB,字长为32,则______。 A.地址总线和数据总线的宽度都为32 B.地址总线的宽度为30,数据总线的宽度为32 C.地址总线的宽度为30,数据总线的宽度为8 D.地址总线的宽度为32,数据总线的宽度为8 答案:A 内存容量为4GB,即内存单元的地址宽度为32位。字长为32位即要求数据总线的宽度为32位,因此地址总线和数据总线的宽度都为32。
地址总线
数据总线
控制总线
多重处理
为了提高性能,一些专门计算机装配有多个CPU
两种模式:
对称模式
根据实际需要给处理器分配工作,就像是一个负载平衡的环境。
调度程序决定哪个处理器可以接受更多的工作
非对称模式
如果一个处理器专门用于特定的任务或应用程序, 那么其他所有软件都将在另外一个处理器上运行。
进程管理
抢占式多任务处理, 应用分时,系统能够挂起一个正在使用CPU资源的进程,并允许其他进程访问CPU
协调式多任务处理, 要求处理器自觉地释放所占用的资源。
进程状态:
进程的三种状态及转换 1.进程的三种基本状态 进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态。 就绪(Ready)状态 当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。 执行(Running)状态 当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。 阻塞(Blocked)状态 正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。 2.进程三种状态间的转换 进程状态变迁图 一个进程在运行期间,不断地从一种状态转换到另一种状态,它可以多次处于就绪状态和执行状态,也可以多次处于阻塞状态。图3_4描述了进程的三种基本状态及其转换。 (1) 就绪→执行 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成执行状态。 (2) 执行→就绪 处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从执行状态转变成就绪状态。 (3) 执行→阻塞 正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。 (4) 阻塞→就绪 处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态。
就绪
运行
阻塞
操作系统负责创建新进程、为它们分配资源、同步其通信以及确保安全。
操作系统会维护一个进程表,其中的每一项都代表一个进程。 进程表包含每个进程的状态、栈指针、存储器分配、 程序计数器和打开文件的使用状况。
进程优先级
重要进程的功能不能被其他进程中断
操作系统负责设定处理各种进程的优先顺序
进程中断
可屏蔽中断
可屏蔽中断被分配给不是十分重要的事件, 编程人员可以规定,如果该中断发生,程序不必停止运行
不可屏蔽中断
绝对不能被应用程序忽略,因为分配到这种中断的事件极为重要。
进程调度
通过控制CPU分时的算法
面临威胁:
进程资源请求分配和释放
软件死锁
进程活动
进程之间必须共享资源,彼此协调,从而确保一个维护其完整性的安全稳定的计算环境
为了保护进程不受彼此影响,操作系统实施了进程隔离
进程隔离方法
对象的封装
封装提供了数据隐藏的能力,也就是说外部的软件组件 无法知道一个进程的工作方式,也不能修改该进程的内部代码。
这是一种完整性机制,并且在编程代码中实施了模块化
共享资源的时分复用
采用分时复用的方式共享资源
命名区分
每个进程拥有唯一的PID
虚拟映射
虚拟地址空间映射不同于物理内存映射
线程管理
进程指的是程序的指令以及操作系统分配给进程的所有资源;
当进程需要传送数据给CPU进行处理时,他会生成一个线程; 线程能够由一个单独的指令集和需要由CPU处理的数据构成。
进程创建的每个线程共享建立该进程的相同资源
多程序设计, MultiPrograming
一个处理器允许多个程序的将交叉运行, 即两个或两个以上程序在计算系统中同处于开始和结束之间的状态: 多道、宏观上并行,微观上串行。
操作系统能够在内存同时加载几个程序
面临威胁:
对象重用
TOC/TOU
多任务处理, Multi Tasking
单个处理器对两个或两个以上的任务并行执行、交叉执行。
实时多任务、抢占式多任务、协作式多任务
windows2000、linux、IBM OS/390
多处理, Multiprocessing
使用两个或两个以上的处理器进行并行处理:多处理器,2种方式
动态地为一个程序分配多个CPU
多个计算机协同工作解决一个问题 (并行处理)
对称多处理器(Symmetric Multi-Processor)
Massive Parallel Processing, 海量并行处理架构
多线程, Multi thread
一个应用可同时进行多个调用,由不同的线程完成
可以管理一个应用的多个请求
存储器管理管理
内存管理的目标
为编程人员提供一个抽象层
通过有限的可用内存提供最高性能
保护操作系统与加载内存的应用程序
存储器的层次结构:
寄存器>高速缓存>主存储器>交换空间->硬盘存储
存储器管理的五大基本功能
重新部署
根据需要,在 RAM和硬盘之间交换内容
如果应用程序的指令和存储器段移动到主存储器的不同位置
保护
限制进程只与分配给他们的存储器段交互
为存储器段提供访问控制
共享
当进程需要使用相同的共享存储器段时,使用复杂的控制来确保完整性和机密性
允许许多访问权限各不相同的用户与在一个存储器段中运行的 相同应用程序交互
逻辑组织
允许共享特定的软件模块,如动态连接库
物理组织
为应用程序和操作系统进程划分物理存储器空间
两种寄存器
基本寄存器, (base register)
包含分配给该进程的起始地址
界限寄存器, (limit register)
包含结束地址
线程中包含需要处理的指令和数据的地址,CPU将这一地址与基本寄存器和界限寄存器的地址进行比较 保障线程不会试图访问其他边界以外的存储器段。
存储器保护问题:
为提供保护,应验证每个地址引用
两个或两个进程可以共享对相同存储器段的访问,不过访问权限可能不同
可为不同的指令和数据分配不同的保护级别
进程不能生成一个未经许可的地址或访问一个未经许可的存储器段
内存泄漏
内存无法正常释放而引发的系统性能下降
对策:
开发正确释放内存的更完善的代码
使用垃圾收集器
存储器类型
随机存储器
是一种临时存储设备,它可临时保存并修改数据与程序指令
动态DRAM
存储控制器必须给电容“重新充电”,保存在RAM存储单元中的数据必须不断进行动态刷新, 这样其中的位值才不会莫名其妙的消失
频繁的刷新行为需要时间,这也是DRAM比SRAM更慢的原因
静态SRAM
静态RAM并不采用这种连续刷新的行为,不使用电容可将位值保存在存储单元,SRAM需要较多晶体管
SRAM用于高速缓存器中,DRAM则用于RAM芯片中
存储器类型、存储器大小、总线带宽是影响计算机速度的重要因素
几种RAM
同步DRAM, Synchronous DRAM, SDRAM
将自己与系统CPU同步,将RAM芯片上的信号输入与输出同步。
将自身的行为与CPU时钟同步,使CPU与存储器活动保持一致
提高了数据传输与数据执行的速度
扩展数据输出DRAM, Extended Data Out DRAM, EDO DRAM
比DRAM速度更快,因为DRAM每次只能访问一个数据块,而EDO DRAM在第一个数据块送交CPU进行处理是就能获得下一个数据块
加快了存储器访问速度
爆发式EDO DRAM, Burst EDO DRAM, BEDO DRAM
工作方式与EDO RAM 相似,他能够和自行一个读取选项的 同时向CPU传输数据,但一次可传送更多数据
双数据速率SDRAM, Double Data Rate SDRAM , DDR SDRAM
在一个始终脉冲的起落周期执行读取操作。 每个时钟周期执行两次操作,传输速率是SDRAM的两倍
只读存储器
一种非易失性的存储器,数据写入到ROM存储芯片就不能修改
存储在ROM芯片内的软件成为固件
几种类型ROM
可编程只读存储器(PROM)
使用特殊的PROM编程设备将指令烧录到PROM中
根据使用者的需求进行烧录,只能编程一次,
可檫可编程只读存储器(EPROM)
程序可被擦除、修改与升级
需要使用方便的紫外线(UV)光设备,他能提供刚好合适的能量
需要把存储器拆卸下来,进行擦除操作
电可檫出可编程只读存储器(EEPROM)
可以使用板载的编程电路和信号进行电子擦除与修改
一次擦除一个自己的数据,速度比较慢
闪存,Flash
特殊的存储器,非易失性存储器,记录速度快,更像是硬盘的特性,而非存储器
Subtopic
Subtopic
高速缓存存储器
是一种用于高速读写行为的存储器。
为了缓和CPU与主存储器之间速度的矛盾,在CPU和主存储器的设置一个缓冲性的高速存储部件。
分类:
一级缓存
二级缓存
三级缓存
L1缓存>L2缓存>L3缓存的速度
存储器映射
通过存储器映射和寻址来实现对进程对物理存储器的访问
CPU是最可信的组件之一,直接访问存储器,通过电缆与存储芯片进行连接
CPU使用的物理存储器地址被称为绝对地址; 软件使用的索引存储器地址被称为逻辑地址; 相对地址是一只地址的基础上应用的一个偏移值
虚拟存储器
RAM和辅助存储器的结合
系统使用硬盘空间扩充RAM存储空间,交换空间(SWAP)是保留的硬盘空间,用于扩充RAM容量
windows操作系统使用pagefile.sys这个文件保留这个空间
如果一个应用程序需要访问这些数据,那么以特殊单元(页)的形式将把它从硬盘调回存储器中, 这个过程称为虚拟存储器分页。
虚拟交换空间安全问题:
当系统关闭或使用交换空间的进程终止时, 即使写入磁盘的实际数据仍然物理存在, 页面指针也会被重新设定为“有效”。 这些数据可能被破坏或截获
设备I/O技术
操作系统有一个连接的所有I/O设备的表(称为中断向量)
操作系统采用的I/O技术
可编程I/O
表示CPU向一台I/O设备发送数据并轮询该设备
中断驱动I/O
采用“发送数据->离开做其他事情->中断->发送另一个字符”模式
使用DMA的I/O
直接存储器访问时一种不使用CPU而在I/O设备与系统存储器之间 传输数据的方式,他显著的加快了数据传输速度
也称作非映射I/O
映射前I/O
在映射前I/O系统中,CPU向I/O设备发送提出请求的进程的物理存储地址; I/O设备取得足够信任,与存储器的内容直接交互。
全面映射I/O
在全面映射中,操作系统并不安全信任I/O设备。 物理地址没有完全交给I/O设备。相反,I/O设备纯粹 与逻辑地址打交道,代表提出请求的进程
I/O设备通常被视为块或字符设备
块设备
以固定大小的块来处理数据,每个块拥有唯一的地址;
例如:磁盘
字符设备
字符设备处理字符流,而不是用任何固定的大小
例如:打印机、网卡、鼠标
操作系统使用设备驱动程序与设备控制器进行通信。
CPU模式和保护环
操作系统保护机制: 1. 存储器保护机制 2. 保护环机制
最常用的体系结构 提供4个保护环
0环 操作系统内核
1环 操作系统的其余部分
2环 I/O驱动程序和实用工具
3环 应用程序和用户活动
操作系统保护机制:
执行域
域定义为主体能够访问的客体集合
对于驻留在特权域的进程来说,需要在保证处于 不同域中的程序不会对其环境造成 负面影响的情况下执行指令和处理数据。这个域称为执行域。
执行域与分配给主体或客体的保护环有着直接关系。 保护环的编号越低,其特权越高,域也越大。
执行域可以隔离进程活动,这样提供保护和系统稳定
分层和数据隐藏
不同的领域有不同的安全需求,在不同的层次执行, 用户端,数据段或操作端,因此安全机制可应用于 硬件、内核、业务和程序等各个层次
操作系统设计的一个重要概念是将安全机制放置 在系统的底层,保护环编号较小序号。
分层式在信任级别较高进程和信任级别较低进程间 提供缓冲区的一种方式
通过接口实现进程之间的通信
中断
中断时单片机实时地处理内部或外部事件的一种内部机制
当某种内部或外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序, 转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。
中断方式是计算机系统结构设计的一个重大的变革,他特别适合于随机出现的服务。
虚拟化
可以充分利用服务器的的工作量整合至较少的机器,甚至可能是单台机器,这成为服务器整合。
为不可信应用程序提供安全的、隔离的沙盒
虚拟机能够用于创建有限的操作系统或执行系统
虚拟机能够用于提供您并不具备的硬件或硬件配置存在的假象。虚拟化还可以用于模仿独立计算机的网络
虚拟机能够用于同时运行多个操作系统,不同版本甚至完全不同的系统
虚拟机允许强大的调试与性能监控
虚拟机能够隔离他们运行的任何软件,因此提供差错抑制
提供隔离,所以他们能够更安全地运行。虚拟机封装了运行系统的整体状态, 可以对该状态进行保存、查看、更改、重载等操作
虚拟化可以使诸如迁移、备份和恢复之类的任务更为容易、更好管理
在主机托管中,商业硬件上的虚拟化十分普遍
系统体系结构
保护措施位置
用户端
存储数据段
限制用户和数据之间的操作
可信计算基础,TCB
TCB被定义为一个计算机系统内全部保护机制的集合
四个基本功能
进程激活
进程激活设计CPU在将要处理某个进程 的指令和数据时必定会发生的活动
执行域交换
如果一个进程需要调用另一个 更高保护环中的进程,这时就要执行域交换
内存保护
I/O操作
可信计算基
安全边界, security perimeter
安全边界是一个假象的边界
可信的部件位于其中(那些构成TCB的部件), 而不可信的部件则处于边界之外。
引用监视器, Reference Monitor
引用监控器是一个抽象机,他是主体对客体进行所有访问的中介, 确保主体拥有必要的访问权限,而且保护对客体不会有未经授权的访问以及破坏性。
引用监控器是一个访问控制的概念;
根据访问控制数据库,对主体对客体的访问请求作出是否允许的裁决, 并将该请求记录到审计数据库中。 注意:基准监视器有点那个太维护访问控制数据库的能力
特性:
执行主体到对象所有访问的抽象机
必须执行所有访问,能够在修改中被保护, 能够恢复正常,并且总是被调用
处理所有主体到客体访问的抽象机
安全内核, security kernel
安全内核由落入TCB内的硬件、固件和软件部件所构成, 实现增强了引用监控器的概念
安全内核仲裁主体和客体之间的所有访问的功能,是TCB的核心部分, 而且是构建可信计算系统最常用的方法
理论基础:
在一个大的操作系统中, 只将相对比较小的一部分软件负责实施系统安全, 并将实施安全的这部分软件隔离在一个可信的安全核, 这个核就是安全内核
安全内核有3条要求:
它必须将实施引用监控器概念的进程隔离开来, 必须让这些进程不会被篡改
针对每个访问企图,都必须调用引用监控器,而且必须保证不会回避调用。 因而,他必须以一种完整而且十分简单牢靠的方式实现引用监控器
他必须足够小,能够完整而且全面地对其进行测试和验收
三个原则:
完备性:协调所有的访问控制
隔离性:受保护,不允许被修改
可验证性:被验证是真缺德
安全域, security domain
安全内核和其他联系安全的系统功能都限制在一个TCB边界内,即安全区域
安全区域以外的系统元件不需要时可靠的。
安全边界:将TCB与系统的其他部分隔离的边界
进程隔离, Process isolation'
进程可以互不干扰的运行
每个进程都被分配了各自的内存空间, 多个进程并发运行时不会相互影响
在进程切换时系统跟踪进程的所有状态,如寄存器等
硬件分离, Hardware isolation
将TCB与系统其他不可信的部分隔离
最小特权 , Least Privilege
一个进程只拥有它运行所需的权限和访问,只有需要完全特权的 进程才可以运行在内核,其他进程只当需要时才调用这些特权进程
安全模型

状态机模型
概念
状态机模型描述了一种无论出于何种状态都是安全的系统
一个状态是出于特定时刻系统的一个快照, 如果该状态所有方面都满足安全策略的要求,就称之为安全的
状态转换
许多活动可能会改变系统状态,称为状态迁移, 迁移总是导致新的状态出现。
如果所有行为都在系统中允许并且不为己系统使之处于不安全状态, 则系统执行一个——安全状态机模型
一个安全的状态机模型系统,总是从一个安全状态启动, 并且在所有迁移过程中保持安全状态, 只允许主体以和安全策略相一致的安全方式来访问资源
安全的状态机模型是其他安全模型的基础
信息流模型
概念:
信息流模型中,数据被看作保存在独立的分割区间内
BLP是一种信息流模型,确保信息不会以威胁数据机密性的方式 从一个分隔区间流入另一个分隔区间
Biba模型则根据完整性级别对数据进行分隔
信息流模型并不是只处理信息流向,也可以处理流类型
信息基于两个因素
分类
许可必须高于客体的分类
“知其所需“
安全配置文件必须包含课题标签中列出的某个类别
BLP模型
概念:
它是多级安全策略的第一个算术模型,用于定义安全状态机的概念, 访问的模式以及概述访问的规则
主要目标是防止未授权的方式访问秘密信息
采用BLP模型的系统被称为多级安全系统,基于强制访问控制系统
是一种信息流安全模型,它实施了访问控制的机密性。
主要规则
简单安全规则
“不能向上读(no read up)”
防止低级别人员获取机密信息
×属性规则
“不能向下写(No write down)”
防止高级别人员泄漏机密信息
强星规则
主体只能在同一安全级别上执行读写功能
基本安全定理:
如果系统在安全的状态下启动,而且所有允许的状态转换都是安全的, 那么无论出现什么输入,随后的每个状态都是安全的
特点:
信息流安全模型
只对机密性进行处理
运用状态机模型和状态转换的概念
基于政府信息分级
BLP缺陷
不能防止隐蔽通道
不针对使用文件共享和服务器的现代信息系统
没有明确定义何谓安全状态转换
基于多级安全保护而未针对其他策略类型
不涉及访问控制管理
不保护完整性和可用性
Biba模型
概念
运用状态机模型和和状态转换的概念
BiBA基于一种层次化的完整性级别格子,是一种信息流安全模型
解决应用程序内数据完整性问题
主要目标:防止数据从任何完整性级别流入到较高的完整性级别中
主要规则
简单完整性公理
主体不能从较低完整性级别读取数据 (不能向下读)
×完整性公理:
主体不能向位于较高完整性级别的主体写数据。 (不能向上写)
调用属性
主体不能请求调用完整性级别更高的主体的服务
特点
基于小于或等于关系的偏序格
数据和用户分级
强制访问控制
实现了完整性的第一条。
仅实现了保护数据不被未授权用户更改。
完整性三个目标
保护数据不被未授权用户更改
保护数据不被授权用户月全修改(未授权修改)
维持数据内部和外部的一致性
Clark-Wilson模型
概念
经常应用在银行应用中以保证数据完整性
实现基于成型的事务处理机制
要求完整性标记
完整性模型
模型使用的元素
用户
活动个体
转换过程 (Transformaition Procedure,TP)
可编程的抽象操作,如读、写和更改
约束数据项 (Constrained Data Item,UDI)
只能由TP操作
非约束数据项, (unconstrained Data Item,UDI)
用户可以通过简单的读写操作进行操纵
完整性验证过程(Integrity erification Procedure,IVP)
检查CDI与外部现实的一致性
访问三元组:
主体(用户)、程序(TP)和客体(CDI)
不使用TP主体就不能更改CDI
模型两个原则:
well-formed transactions 格式良好的事务处理:
采用了program的形式,主体只能通过program访问客体, 每个前挡设计的program都有特定的限制规则, 这就有效限制了主体的能力
separation of duties, 职责分离
将关键功能分成两个或多个部分,必须由不同的主体去完成各部分, 防止已授权用户继续宁未授权的修改
特点
要求具有审计能力
也成为受限面模型(restricted interface model)
能够实现完整性的三个目标。
中国墙模型
概念:
应用在多边安全系统的中的安全模型,应用在可能存在利益冲突的组织中, 最初为投资银行设计的。
防止用户访问被认为具有利益冲突的数据
主要属性:
用户必须选择一个它可以访问的区域
用户必须自动拒绝来自其他与用户所选区域的利益冲突区域的访问
特点:
基于信息流模型的
该模型同时包括DAC和MAC的属性,银行家可以选择为谁工作(DAC), 一旦选定他就被只能为该客户工作(MAC)
格子模型 (Latiice模型)
概念
Lattice模型通过划分安全边界对BLP模型进行了扩充,他将用户和资源进行分类, 并允许他们之间交换信息,这是多边安全体系的基础
多边安全的焦点是不同的安全集束(部门,组织等)间控制信息的流动, 而不仅是垂直检验其敏感级别
特点
一个主体可以属于多个安全集束,而一个客体仅能位于一个安全集束
Lattice模型本质上同BLP模型相同,Lattice模型更关注中形成”安全集束“
非干涉模型
概念
非干涉模型并不关心信息流,而是关心影响系统状态又怎样的变化
例如:位于较高安全级别的某个实体执行一项操作, 那么它不能改变位于较低级别的实体的状态
目的:处理隐蔽通道和推理攻击
Graham-Denning模型
• 如何安全创建一个客体。 • 如何安全创建一个主体。 • 如何安全删除一个客体。 • 如何安全删除一个主体 •如何安全提供读取访问权限。 • 如何安全提供许可访问权限 •如何安全提供删除访问权限。 • 如何安全提供传输访问权限
定义了一些基本权限或说明如何安全实现上述功能的规则
Harrison-Ruzzo-Ulman模型
模型主要决定主体的访问权限和这些权限的完整性。
安全运行模型
操作系统运行模式的关注点
直接或间接连接到系统的用户类型。
系统处理的数据类型(分级等级、区段及类别)
用户拥有的访问许可、知其所需和正式访问批准。
专用安全模式
系统高安全模式
分隔安全模式
多级安全模式
系统评测方法
概念
安全评估研究系统的安全相关部分, 包括TCB、访问控制机制,引用监控器、内核以及保护机制。
可信级别:高速用户对系统的期望如何,系统提供何种级别的安全
保障:在每个计算条件下,系统可以一个正确和可预见的方式执行,更细化,程度更深
橘皮书,TCSEC
TCSEC,可信计算机系统评估准则用于对操作系统、应用程序和各种产品进行评估
TCSEC是一个分级系统,从而将保证级别划分成下列的不同层次
4个层次
A:验证保护级
A1:验证设计
保证主体和客体都是受到必要的自主型访问控制和强制型访问控制措施的控制。
B:强制保护级
强制型访问控制通过使用安全标签来实施。
该结构以BLP模型为基础,并必须提供实施应用监控器的证据。
B1:标签安全
B2:结构化保护
B3:安全域
C:自主保护级
C1:自主安全保护
C2:受控访问保护
D:最小保护级
四个主要的主题
安全策略、可问责性、保证和文档化
7项评估领域
安全策略
策略必须明确并且由系统内的诸项机制明确定义和实施。
标识
各个主体必须被唯一标识
标签
访问控制标签必须与客体适当关联
文档化
必须使用文档资料。包括测试、设计和规范说明文件、用户指南和手册。
可问责性
必须获取和保护审计数据,落实可稽核性。
生命周期保证
软件、硬件和固件必须能够单独进行测试,以确保每一项 都能在其整个生命周期内有效地实施安全策略。
持续保护
各种情况下,安全机制和系统作为一个整体必须以可预测和可接受的方式持续转换。
橘皮书缺陷
橘皮书专门针对操作系统,而没有重视网络、数据库等其他问题。
橘皮书主要着眼于安全的一个属性,即机密性,而没有考虑完整性和可用性。
橘皮书主要适用于政府分级,而不能用于商业领域的保护分级。
橘皮书中的等级数量相对较少,意味着安全领域的许多不同方面没有得到独立的评估和评级 。
红皮书,Red BOOK 可信网络解释
目的:
解决单个系统的安全问题,
他主要针对独立局域网和广域网系统。
加密和协议是网络内提供大量安全性的组件,红皮书可以衡量他们的功能、强度和保证
安全项
通信完整性
身份认证:
针对伪装(masquerading)和重放(playback)攻击提供保护。 使用的机制包括数据签名、加密、时间标签和密码。
消息完整性
保护协议头、路由信息和分组载荷(packet payload)不被修改。 使用的机制包括消息认证和加密。
不可抵赖
确保发送方无法否认发送过一段消息。 使用的机制包括加密、数据签名和公证(notarization)。
防止拒绝服务攻击
操作持续性
及时收到攻击,也要确保网络的有效性。 使用的机制包括纠错能力、 备用系统以及在紧急情况下重新配置网络参数的能力。
网络管理
监控网络性能,确定攻击和故障。 使用的机制为帮助网络管理员监控和限制访问的组件。
泄漏保护
数据机密性
保护数据在传输过程中不能被以未授权的方法访问。 使用的机制包括访问控制、加密和电缆物理保护。
通信流量机密性
确保未授权实体不能通过流量分析得知路由信息或通信频率。 使用的机制包括消息填充、加密和电缆物理保护。
选择性路由
以避免特殊威胁的方式路由消息。 使用的机制包括网络配置和路由表。
信息技术安全评估准则, ITSEC
欧洲多国安全评价方法的综合产物,军用、政府和商用
首次提出信息安全的保密性、完整性、可用性三要素
将安全概念分为功能和功能评估两部分
评估对象TOE
产品和系统
安全性目标
安全增强机制
安全策略
通用准则,CC
首次提出PDR模型,强调安全的假设、威胁的、安全策略等 安全需求的针对性,充分突出保护轮廓
安全需求划分为
安全功能需求
安全保证需求
7个安全保障与TCSEC7个级别对应
七个保证级别
EAL1:功能测试
EAL2:结构测试
EAL3:系统地测试和检查
EAL4:系统地设计、测试和检查
EAL5:半正式地设计和测试
EAL6:版正式的验证设计和测试
EAL7:正式地验证设计和测试
CC三个部分
第一部分:介绍和一般模型
第二部分:安全功能需求
功能需求,组件,评估目标,TOE
第三部分:安全保障
对保护轮廓(Protection Profile,PP)
从用户角度
表达一类产品或系统的用户的安全目标和需求
PP描述用户的安全需求,指出TOE应该要解决的安全问题
安全目标(Security Target,ST)
厂商角度
某一特定产品/系统IT安全需求和要求
解释产品的安全功能和保障机制,是否满足安全需求, 是评估依据的基础
安全要求
功能要求
目标
实现产品要做什么?
定义产品/系统的安全功能
将需求变为安全功能
保障要求
目标
产品是否满足需求
建立对安全功能的信心,准确地实现功能。
并有效地满足安全目标
功能/保证结构
class类(如用户数据保护-FDP)
关注共同的安全焦点的一组族,覆盖不同的安全目的范围
family子类(如访问控制-FDP_ACC)
共享安全目的的一组组件,侧重点和严格性不同
subdivision组件(如子集访问控制-FDP_ACC.1)
包含在PP/ST/包中的最小可选安全要求集
组件
CC将传统的安全要求分成不能再分的构建块
用户/开发者可以组织这些要求
到PP中
到ST中
组件可以进一步细化
CC不涉及的内容
不涉及行政管理安全措施的安全评估
不专门针对信息技术/安全技术的物理方面(如电磁辐射的评估)
不好扩密码算法强度方面的评估
认证和鉴定
认证,Certification
处于坚定的目的而对安全组件及其一致性进行全面的技术评估。
认证是评定安全机制和评估安全效果的一种技术审查
鉴定,accreditation
管理层对系统整体安全和功能的充分性的正式认定
鉴定管理层正式接受认证过程中的调查结果
企业架构
企业安全体系架构
定义了信息安全战略,它由各种策略、标准、解决方案、措施以及 战略、战术和操作上在整个企业内组合这些因素的方法组成
Zachman体系结构
SABSA体系结构
Zachman企业体系架构
Zachman框架是一个二维模型, 它使用六个交际疑问词(what、how、where、who、when、why) 与不同的等级(规划、所有者、设计者、建造者、执行者和操作者)相互交叉, 为我们提供一个整体的企业视角。
Identified pages to update
Reviewed site statistics
SABSA安全体系架构
基于zachman上开发SABSA机构,从背景、概念、逻辑、、物理和组件 分别就what、what、how、where、who、where、when进行分析。
安全体系架构开发
需要考虑:战略一致性、过程改进、业务促进、安全效率
战略一致性
是指业务驱动力和法律法规要求通过安全体系结构得到满足。
企业进行风险评估
过程改进
业务促进指核心业务流程应整合到安全操作模型中, 他们必须以标准为基础, 并且遵循一个基于风险承受度的标准。
业务促进
如果充分利用流程改进(process enhancement)这项功能,组织能够从中获得相当大的利益。 如果一家组织认真对待环境安全问题, 这表示他们会密切关注持续发生的许多业务流程。
安全效率
安全效率(security effectiveness)一般设计制定标准以满足服务等级协议(SLA)要求、 投资回报(ROI)、满足设定的极限, 并为管理层提供一个仪盘表或平衡计分卡系统。
威胁
隐蔽通道
隐蔽通道(Covert Channel)是某个实体以未授权方式接收信息的一种方式
产生的原因
产品开发中的疏忽。
软件中实施的访问控制不当。
两个实体之间存在共享资源。
隐蔽通道分为两类
计时(Timing)
隐蔽计时通道(covert timing channel)中,一个进程通过调至自己对系统资源 的使用来向另一个进程传递信息。
存储(Storage)
隐蔽存储通道(Covert storage channel)中,进程通过系统上的某种 存储空间进行通信。
对策
能够容忍的隐蔽通道数量通常取决于系统的安全评级。 通用评级为EAL6的系统比EAL3的系统隐蔽通道更少,因为与EAL3评级相比。
构造和开发系统时候来解决他们
维护陷阱
维护陷阱(maintenance hook)是一种后门。
维护陷阱一般由一个任意顺序的按键组合启动,用户不必通过 正式的访问控制与安全检查和机制,就可访问软件代码。
对策:
执行审计,检测任何后门使用。
使用文件系统加密技术保护敏感信息。
使用主机入侵检测系统监视通过后门进入系统的攻击者。
异步攻击 (TOC/TOU)
可利用系统完成一项任务所使用步骤的顺序,即利用多任务操作系统中的事件时序以来。
竞争条件是指两个不同的进程需要在同一个资源上执行他们的任务。这些进程必须遵循正确的顺序。
竞争条件是一种打乱进程执行顺序,从而控制结果的攻击。 而在TOC/TOU攻击中,攻击者跳入两个任务之间进行修改,以达到控制结果的目的。
对策:
要避免竞争条件攻击,最好不要分解能够改变顺序的关键任务,关键任务具有原子性
为防止TOC/TOU攻击,如果操作系统能够应用软件锁,最好在它执行“检查”任务时锁定它将要使用的项目。
缓冲区溢出
对策
执行代码审查,以识别缓冲区溢出漏洞。