第一章 信息系统安全绪论
机密性:confidentiality 防止私密的或机密的信息泄漏给非授权的实体的属性。
完整性:integrity 分为数据完整性和系统完整性。数据完整性指确保数据只能按照授权的指定方式进行修改的属性;系统完整性指系统没有受到未经授权的操控进而完好无损地执行预定功能的属性。
可用性:availability 指确保系统及时工作并向授权用户提供所需服务的属性。
安全策略:是指规定一个组织未达到安全目标如何管理、保护和发布信息资源的法律、规章和条例的集合。
安全模型:是指拟由系统实施的安全策略的形式化表示。
安全机制:是指实现安全功能的逻辑或算法。
安全设计原则
- 经济性原则(Economy of Mechanism):应该把安全机制设计得尽可能简单和短小。
- 默认拒绝原则(Fail-Safe Defaults):安全机制对访问请求对决定应采取默认拒绝方案。
- 完全仲裁原则(Complete Mediation):安全机制实施的授权检查必须能够覆盖系统中的任何一个访问操作。
- 开放设计原则(Open Design):不要把安全机制的设计方案视作秘密。
- 特权分离原则(Separation of Privilege):对特权进行细分,把一项特权分成多项特权,分配给多个主体。
- 最小特权原则(Least Privilege):系统中的每个程序和每个用户应该只拥有完成工作所需特权的最小集合。
- 最小公共机制原则(Least Common Mechanism):把由多个用户共用和被全体用户依赖的机制的数量减到最小。
- 心理可接受原则(Psychological Acceptability):把安全机制的人机界面设计得好用是至关重要的工作。
第二章 信息安全经典模型
自主访问控制(DAC,Discretionary Access Control):作为客体的拥有者的用户个体可以通过设置访问控制属性来准许或拒绝对该客体的访问。
强制访问控制(MAC,Mandatory Access Control):只有系统才能控制对客体的访问,而用户个体不能改变这种控制。
贝-拉模型(BLP模型):
贝-拉模型的核心内容由简单安全特性(ss-特性)、星号安全特性(-特性)、自主安全特性(ds-特性)和一个基本安全定理构成。*不上读,不下写**
简单安全特性(ss-特性,MAC):给定安全级别的主体无法读取更高安全级别的对象
星号安全特性(*-特性,MAC):给定安全级别的主体无法写入任何更低安全级别的对象
自主安全特性(ds-特性,DAC):使用访问矩阵来规定自主访问控制
基本安全定理:如果系统每一次变化都满足ss-特性、*-特性和ds-特性的要求,那么系统的整个变化过程中,系统的安全性一定不会被破坏。
毕巴模型(Biba模型):
是强制访问控制模型,用完整性级别来对完整性进行量化描述。上写,下读。
类型实施模型(TE,Type Enforcement)
TE通过对主体和客体进行分组,定义域和类型的概念,以此为基础实施强制访问控制模型。
在TE模型中,系统中的所有主体被划分成若干个组,每个组称为一个域(Domain),系统中的所有客体被划分成若干组,每个组称为一个类型(Type)。
域内实施模型(DTE,Domain and Type Enforcement)
是TE的改进版本,特点:
- 使用高级语言描述访问控制策略,提供DTE语言(DTEL)
- 采用隐含方式表示文件属性
第三章 系统安全硬件基础
可信计算技术的基本出发点是借助低成本的硬件芯片建立可信的计算环境,而这类硬件芯片恰好就提供基本的完整性度量功能和密钥管理功能。
- 信任(Trust)指的是对行为符合预期的认同感
- 信任根(Root of Trust)指的是系统关键的基本元素的集合,它拥有描述平台信任相关特性的最小功能集,它是默认的信任基础。
- 度量核心信任根(CRTM,Core Root of Trust Measurement)指的是执行完整性度量任务的最基础的指令集合,它是信任根的组成部分。
- 信任传递(Transitive Trust)指的是信任根为可执行的功能建立信任的过程,一个功能的信任建立后,可用于为下一个可执行的功能建立信任。
- 信任链(Chain of Trust)指的是信任根从初始完整性度量起建立的一系列信任组成的序列。
- 可信平台模块(TPM)指的是由TCG定义的、通常以单芯片形式实现的硬件组件,它拥有独立的处理器、RAM、ROM和闪存,具有独立于宿主系统的状态,通过专用接口与宿主系统交互,它提供的核心功能是存储和宝盖完整性度量结果。
- 由TPM实现并以命令形式提供的操作称为受保护功能(Protected Capability),由TPM提供的、与外界隔离的、只能通过受保护功能访问的存储空间称为受保护存储区(Shielded Location)
- 可信构造块(TBB,Trusted Building Block)指的是计算机上用于构造信任根的组件的集合,属于信任根的一部分。
- 可信计算基(TCB)指的是系统中负责实现系统的安全策略的软/硬件资源的集合,它的重要特性之一是能够防止它之外的软/硬件对它造成破坏。
第四章 用户身份认证机制
身份认证技术
- 基于口令的身份认证:每个用户事先都要确定一个口令(Password)
- 质询-响应(Challenge-Response)式身份认证:认证机制与用户之间约定一种秘密的计算功能,每次认证时,认证机制给用户发送一个随机消息(质询),用户用约定的计算功能对该消息进行计算,将计算结果(响应)返回给认证机制。
- 基于生物特征的身份认证利用用户身体特征的唯一性确定用户的身份。
- 基于位置的身份认证把用户所处的地理位置信息运用于确定用户的身份。
口令管理
在口令管理中,给口令拌入随机数的过程称为给口令撒盐(Salting),拌入的随机数称为口令的盐值(Salt Value)。
口令撒盐的简单实现方法:确定一个哈希算法Ahash,对任意给定的用户口令Dpw,设计把盐值撒到口令Dpw中的算法Asalt(Dsalt,Dpw)
- 把盐值附加到口令上:Dtmp = Dpw || Dsalt
- 生成哈希值:Dhash = Ahash(Dtmp)
- 以Dhash作为返回结果
第五章 操作系统基础安全机制
把每个用户域中的用户看作一类用户,则系统中的用户便分成了三类,分别是属主类、属组类和其余类。可以同时定义三类用户对一个文件的访问权限。
一类用户对一个文件的访问权限可以由3个二进制比特位表示,因此,三类用户对一个文件的访问权限可以由9个二进制比特位表示。
扩充访问
基于ACL的访问控制方法
访问控制表(ACL,Access Control List)
基于特权分离的访问控制机制
特权分离原则就是要尽可能地对系统中的特权任务进行细分,让多个不同的用户去承担不同的细分任务,不要把系统特权集中到个别用户身上。
syslog日志信息的紧迫级别
- emerg 紧急:出现了紧急情况,如系统即将崩溃,此类信息通常向所有用户广播
- alert 警告:发生了需要立刻改正的事情,如系统数据库遭到破坏
- crit 关键:出现了关键问题,如硬件出错
- err 出错:普通错误信息,表示遇到了不正确的事情
- warning 提醒:遇到非常规情况
- notice 注意:遇到特殊事情,不是错误,但可能要特殊处理
- debug 提示:调试程序时使用的信息
第六章 操作系统强制安全机制
SETE模型与DTE模型的区别
SELinux是安全增强Linux(Security Enhanced Linux)的缩写,SELinux机制实现的安全模型的核心是DTE模型
SETE(SELinux Type Enforcement)模型的核心是DTE模型,与之相比,具有以下突出特点:
- 概念的细分:DTE模型把客体划分为类型,针对类型确定访问权限,SETE模型在类型概念的基础上,增加客体类别(Class)概念,针对类型和类别确定访问权限。
- 权限的细化:SETE模型为客体定义了几十个类别,为每个类别定义了相应的访问权限。
举例说明SETE模型有哪些常用客体类别,并举出它们的几个常见权限
- file(普通文件):read(读)、write(写)、execute(执行)、getattr(取属性)、create(创建)等
- dir(目录):read(读)、write(写)、search(搜索)、rmdir(删除)等
- process(进程):signal(发信号)、transition(域切换)、fork(创建子进程)、getattr(取属性)等
- socket(套接字):bind(绑定名字)、listen(侦听连接)、connect(发起连接)、accept(接受连接)等
- filesysten(文件系统):mount(挂载)、unmount(卸载)等
进程工作域切换授权
设在linux系统中,用户bob登录后欲修改其口令,试分析该过程通过改变进程的有效身份以获得访问shadow口令文件的权限的方法
第七章 数据库基础安全机制
关系数据库自主访问授权
一个具有一般性的授权可以通过这个形式来描述:(S,O,A,P)
其中,S,O,A,P分别表示主体、客体、访问类型和谓词。该授权所表达的意思是:当P谓词为真时,主体S有权对客体O进行A类型的访问。通常,A可以表示在O上的查询、插入、更新或删除操作等。
如果P取空值,则可以得到授权的简单形式为:(S,O,A)
它表示主体S有权对客体O进行A类型的访问。如果设S为用户TOM,O为表EMP,A为SELECT,则以上授权表示用户TOM具有在表EMP上执行SELECT操作的权限。
否定式授权
- 否定优先原则:如果一个主体既拥有在某个个体上进行某种操作的肯定式授权,又拥有在该客体上进行同样操作的否定式授权,那么否定式授权发挥作用,肯定式授权不起作用。
- 个体优先原则:如果某个小组及组中的某个用户都拥有同一个体上的同一种访问类型的授权,并且两者所拥有的授权是冲突的,那么用户拥有的授权发挥作用,小组拥有的授权不起作用
RBAC的基本思想
基于角色的访问控制(RBAC,Role-Based Access Control):根据岗位工作职责进行授权,就是把访问控制授权分配到工作岗位上,而不是直接分配给用户个人。谁在某个工作岗位上工作,谁就拥有分配到该工作岗位上的授权。当一个用户调离某个工作岗位时,他就自动失去分配到该工作岗位上的授权。
数据库推理控制
数据库数据推理的方法
- 借助求和结果进行推理
- 借助记录个数进行推理
- 借助平均值进行推理
- 借助中位数进行推理
- 借助智能填充进行推理
- 借助线性特性进行推理
数据库数据的推理控制
- 滤除法(Suppression):当查询可能涉及敏感信息时,默默拒绝提供查询结果,不给出任何反馈。
- 隐藏法(Concealing):当查询可能涉及敏感信息时,隐藏掉部分与查询相关的信息,只提供近似查询结果。
滤除法要么不提供查询结果,要么提供正确的查询结果。隐藏法总是提供查询结果,但所提供的可能是不全面的结果。
第十章 云计算环境安全机制
云计算(Cloud Computing)是一种可以方便地通过网络对共享的可配置计算资源池进行按需访问的模型,池中资源只需很少的管理付出或服务提供者帮助就能快速供应和释放。
五个本质特征:按需自助服务、广泛网络访问、池式资源供应、快速弹性伸缩、服务计量使用。
三种服务模式:软件即服务(SaaS)、平台即服务(PaaS)、基础设施即服务(IaaS)
四种部署模式:私有云、社区云、公有云、混合云