第8章 保密.docx
《第8章 保密.docx》由会员分享,可在线阅读,更多相关《第8章 保密.docx(25页珍藏版)》请在冰豆网上搜索。
![第8章 保密.docx](https://file1.bdocx.com/fileroot1/2023-6/20/a19627a5-680c-4879-b1f5-d074d4b4ef73/a19627a5-680c-4879-b1f5-d074d4b4ef731.gif)
第8章保密
第8章操作系统安全
2012.10
本章主要内容
操作系统的安全问题
存储器保护
用户认证
访问控制
Windows系统的安全机制
8.1操作系统的安全问题
操作系统安全的重要性
操作系统的安全是整个计算机系统安
全的基础,没有操作系统安全,就不可能
真正解决数据库安全、网络安全和其他应
用软件的安全问题。
?
操作系统面临的安全威胁
(1)误操作
(2)恶意破坏系统资源或系统的正
常运行,危害计算机系统的可用性
(3)破坏系统完成指定的功能
(4)在多用户操作系统中,各用户程序
执行过程中相互间会产生不良影响,用
户之间会相互干扰。
?
操作系统安全的目标
·标识系统中的用户并进行身份鉴别;
依据系统安全策略对用户的操作进行存取控
制,防止用户对计算机资源的非法存取;
·监督系统运行的安全;
·保证系统自身的安全性和完整性。
>为了实现操作系统安全的目标,需
要建立相应的安全机制,包括隔离
控制、存储器保护、用户认证、访
问控制等。
隔离控制的方法有四种:
?
①物理隔离。
在物理设备或部件一级进行
隔离,使不同的用户程序使用不同的物理对象。
②时间隔离。
对不同安全要求的用户进
程分配不同的运行时间段。
对于用户运算
高密级信息时,甚至独占计算机进行运算
③逻辑隔离。
多个用户进程可以同时运行,但相互之间
感觉不到其他用户进程的存在,这是因为
操作系统限定各进程的运行区域,不允许
进程访问其他未被允许的区域。
?
④加密隔离。
进程把自己的数据和计算活动隐蔽起
来,对其他进程不可见;对用户的
口令信息或文件数据以密码形式存
储,使其他用户无法访问,也是加
密隔离控制措施。
隔离措施复杂性、安全性
这几种隔离措施实现的复杂性是逐步递增
,安全性则是逐步递减的
前两种方法的安全性是比较高的,但
降低硬件资源的利用率。
后两种隔离
方法主要依赖操作系统的功能实现。
系统提供的保护方式
①无保护方式。
当处理高密级数据的程序
(又称敏感程序)在单独的时间内运行
时,使用无保护的系统是合适的。
②隔离保护方式。
当操作系统提供隔离机
制时,可以使并行运行的进程彼此感觉不到
对方的存在。
每个进程都有自己的内存空间、
文件和其他资源。
操作系统必须控制运行中
每个进程不得访问其他进程的资源。
③共享或独占保护方式。
用户资源(或称客体)是否可以共享
由用户自己说明,凡被该用户指定为
共享的客体,其他用户都可以访问,
而被指定为私有的客体,则只能被该
用户自己独占使用。
④受限共享保护方式。
通过对其他用户访问进行限制来保护
用户的某些客体。
根据需要为各用户分配不同的访问控制条件,
可以把这些访问控制信息存储在某种数据结构
(如表格)中,以便操作系统对指定客体进行
访问控制。
⑤按能力共享保护方式。
这种方式是受限共享保护方式的推广
,用户被赋予访问客体的某种能力,能
力代表一种访问权利。
该保护方式允许动态创建客体的共享
权,用户的进程共享客体的能力取决
于客体的拥有者或主体本身,取决于
计算的内容,也取决于客体本身。
⑥限制对客体的使用。
这种保护方式不限制对客体的访问,而是
限制访问后对客体的使用,例如允许读,
但不允许复制;或者只读不许修改等限制
6种实现难度如何?
保护能力如何?
上述六种对客体的保护是按实现的难
度递增顺序排列的,他们对客体的保
护能力也是越来越强的。
一个功能较强的操作系统应该能够对
不同的客体、不同的用户和不同的情
况提供不同安全级别的保护功能。
8.2存储器保护
存储器是操作系统中的共享资源,即使
对于单用户的个人计算机,内存也是
被用户程序与系统程序所共享,在多
道环境下更是被多个进程所共享。
为
了防止共享失去控制和产生不安全问
题,对内存进行保护是必要的。
内存保护的目的是:
防止对内存的未授权访问;
>防止对内存的错误读写,如向只读单元写;
>防止用户的不当操作破坏内存数据区、程序
区或系统区;
>多道程序环境下,防止不同用户的内存区域
互相影响;
>将用户与内存隔离,不让用户知道数据或程序
在内存中的具体位置;
用的内存保护技术
>单用户内存保护技术
>多道程序的保护技术
>分段与分页保护技术
>和内存标记保护法
8.2.1单用户内存保护问题
可以利用地址界限寄存器在内存中规定
一条区域边界(一个内存地址),用户
程序运行时不能跨越这个地址。
?
利用该寄存器也可以实现程序重定位功
能,可以指定用户程序的装入地址。
单用户内存保护
内存
界限寄存器
系统区
用户区
8.2.2
多道程序的保护
单用户内存保护存在的问题:
利用一个基址寄存器无法使这些用户程序分隔
在不同内存区运行。
解决办法:
再增加一个寄存器保存用户程序的上边界地址
>如果使用多对基址和边界寄存器
,还可以把用户的可读写数据区
与只读数据区和程序区互相隔离
,这种方法可以防止程序自身的
访问错误。
例如,可以防止向程
序区或只读数据区写访问。
系统区
基地址寄存器
边界址寄存器
多道程序的保护
程序R内存区
程序S内存区
程序T内存区
8.2.3标记保护法
多对基址与边界寄存器技术的问题:
只能
保护数据区不被其他用户程序访问,不能
控制自身程序对同一个数据区内单元有选
择的读或写。
例如,一个程序中若没有数组越界溢出检查,当向该数组
区写入时就有可能越界到其他数据单元,甚至越界到程序
代码区(这就是缓冲区溢出的一种情况),而代码区是严
格禁止写的。
解决方法:
在每个内存字单元中专用几个比特来标
记该字单元的属性。
除了标记读、写、执行等属性外,
还可以标记该单元的数据类型,如数据
、字符、地址、指针或未定义等。
加标记的内存
其中E表示执行,R表示读,W表示写,OR表
示只读。
8.2.4
分段与分页技术
对于稍复杂一些的用户程序,通常按功
能划分成若干个模块(过程)。
每个模
块有自己的数据区,各模块之间也可能
有共享数据区。
各用户程序之间也可能
有共享模块或共享数据区。
这些模块或数据区有着不同的访问属性
和安全要求,使用上述各种保护技术很
难满足这些要求。
>分段技术的作用
分段技术就是试图解决较大程序的
装入、调度、运行和安全保护等问题的
一种技术。
分段以模块(过程或子程序)为单位
采用分段技术,用户不知道他的
程序实际使用的内存物理地址。
这种隐
藏对保护用户代码与数据的安全是极有
好处的。
>分段技术的优点:
(1)增加必要的访问控制信息,对于任何
企图访问某个段的操作,操作系统和硬件都
可以进行检查。
(2)分段技术几乎可以实现对程序的不同
片段分别保护的目标。
根据各段敏感性要求,
为各段划分安全级,并提供不同的保护措施。
分段技术的优点续:
(3)可以检查每一次对内存访问是否合法,
可以让保护粒度达到数据项级。
(4)可以为了实施保护而检查每一次地址访
问。
(5)可以避免允许用户直接指定内存地址或
段区所带来的安全问题,也可以让多个用户用
不同的权限访问一个段。
>段的管理方式存在的问题与困难
(1)由于各段的长度不相同,对内存管
理造成了困难,容易产生内存“碎片”。
这是一个很大的安全漏洞。
段的管理方式存在的问题与困难续:
(2)在许多情况下(如段内部包含动
态数据结构)要求在使用段方式时允
许段的尺寸可以增大。
为了保证安全起见,要求系统检查所
产生的地址,验证其是否超出所访问
的段的末端。
段的管理方式存在的问题与困难续:
(3)段名不易在指令中编码,由操作系
统查名字表的速度也会很慢。
解决的办
法是由编译器把段名转化为数字,并建
立一张数字与段名之间的对照表。
但这又为段的共享带来麻烦,因为每
个调用者都必须知道该段的编号。
分段与分页的问题与作用
为了解决分段可能产生的内存碎片
问题,引入了分页技术。
分页是把目标
程序与内存都划分成相同大小的片段,
这些片段就称为“页”。
分页技术解决了碎片问题,但损失了
分段技术的安全功能。
由于段具有逻辑上的完整意义,而
页则没有这样的意义,程序员可以为段
规定某些安全控制要求,但却无法指定
各页的访问控制要求。
系统还可以为每个物理页分
配一个密码,只允许拥有相同密码
的进程访问该页,该密码由操作系
统装入进程的状态字中,由硬件对
进程的密码进行检验。
这种安全机
制有效地保护了虚拟存储器的安全
8.3用户认证
?
用户认证的任务是确认当前正在试图登
录进入系统的用户就是账户数据库中记
录的那个用户。
认证用户的方法一般有三种:
(1)要求输入一些保密信息,如用户的姓名、
通行字或加密密钥等;
(2)稍微复杂一些鉴别方法,如询问—应答系
统、采用物理识别设备(如访问卡、钥匙或令牌
标记)等方法;
(3)利用用户生物特征,如指纹、声音、视网
膜等识别技术对用户进行唯一的识别。
8.3.1
口令认证方法
是一种容易实现并有效地只让授权用户
进入系统的方法。
用户想使用系统,首先必须通过系统管
理员向系统中建立一个用户账号,账号
中存放用户的名字(或标识)和口令。
用
户输入的用户名和口令必须和存放在系
统中的账户/口令文件中的相关信息一致
才能进入系统。
存在弱口令
选取口令应遵循以下规则:
①扩大口令字符空间
字母(大小写)、数字、符号。
②选择长口令
八位以上
③选用无规律的口令
④口令要自己记忆
⑤口令更换
⑥多个口令
⑦系统生成口令
对口令的控制
除了以上各种安全措施外,有的系
统对使用口令进行访问还采取更严格的
控制,通常有以下一些措施:
◇登录时间限制
◇系统消息
◇限制登录次数
◇最后一次登录
◇尽量减少会话透露的信息
◇增加认证的信息量
8.3.2
其他认证方法
(1)询问—响应系统:
本质上是一个密码
系统,其中主机发送消息m,用户用E(
m)来回答。
虽然消息m及其加密形式
都可能被截获(通过观察或线路截听)
,但这种泄露不会暴露加密算法。
询问
—响应系统提示用户,要求每次注册都
给出不同的回答。
(2)通行短语:
另外一种简单而又保密的
鉴别方案是通行短语,它是一种更长的
口令的变形。
通行短语等价于有鉴别能
力的口令。
通行短语也可以用于可变的询问—响
应系统,系统和用户之间可以约定许多
互相知道的秘密信息,如有关用户个人
经历、爱好、家庭、个人特征等方面的
信息,每当用户向系统登录时,询问—
响应系统便随机从这些信息中挑出几个
向用户询问,在用户给出正确回答和系
统提问内容在事先约定范围内的情况下
,双方可以互相取得信任。
8.4访问控制
基本目标是防止非法用户进入系统和
合法用户对系统资源的非法使用。
常以用户身份认证为前提,在此基础
上实施各种访问控制策略来控制和规
范合法用户在系统中的行为。
8.4.1访问控制模型
1.访问控制的三要素
(1)主体(Subject):
访问操作的主动发起者,但不一定
是动作的执行者。
(2)客体(Object):
通常是指信息的载体或从其他主体
或客体接收信息的实体。
(3)安全访问规则:
用以确定一个主体是否对某个客体拥
有某种访问权力。
2.基本的访问控制模型
(1)访问控制矩阵
基本思想是将所有的访问控制信息存储在
一个矩阵中集中管理。
当前的访问控制模型一般都是在它的基础
上建立起来的。
(2)访问目录表:
实际上按访问控制矩阵
的行实施对系统中客体的访问控制。
用户A目录
文件名
客体(文件)
OX
R
A
B
O:
Owner
R:
Read
W:
Write
X:
Execute
用户B目录
C
D
B
RW
R
访问目录表机制
C
D
(3)访问控制表ACL
ACL表保护机制实际上是按矩阵的列实
施对系统中客体的访问控制的。
访问目录表和访问控制表分别差别在于管
理共享客体的方法上,访问控制表技术易
于实现对这些共享客体的管理。
客体目录
ACL表
客体
FILE1
USER-C
O:
WONER
R:
READ
W:
WRITE
X:
EXCUTE
访问控制表机制
ORW
FILE2
PRG1
HELP
(4)能力机制
可以满足要求更高的访问控制机制。
主体具有的能力是一种权证,类似一个
“入场卷”它是操作系统赋予主体访问
客体的许可权限,它是一种不可伪造的
标记。
能力是在用户向系统登录时,由
操作系统赋予的一种权限标记,用户凭
借该标记对客体进行许可的访问。
能力机制需要结合访问控制表(或访问控制
矩阵)技术实现,当一个过程要求访问新客
体的时候,操作系统首先查询访问控制表,
确认该过程是否有权访问该客体,若有,操
作系统就要为该过程创立一个访问该客体的
能力。
>为了安全起见,能力应该存储在用户程序访
问不到的区域中。
(5)面向过程的访问控制
在主体访问客体的过程中对主体的访问
操作进行监视与限制。
建立一个对客体访问进行控制的过程,
该过程能够自己进行用户认证,以此加
强操作系统的基本认证能力。
访问目录表、访问控制表、访问控制矩
阵、能力和面向过程的控制等五种对客
体的访问控制机制的实现复杂性是逐步
递增的。
实现能力机制需要必须对每次
访问进行检查,而访问目录表方式实现
比较容易,它只需要在主体对客体第一
次访问时进行检查。
实现复杂的保护方
式提高了系统的安全性,但降低了系统
响应速度。
安全与效率之间需要平衡。
8.4.2文件的保护机制
文件系统是任何一个操作系统的最重要的
组成部分。
?
由于用户交由计算机处理的数据(其中有
的是敏感数据)和系统安全机制的信息都
是用文件的形式保存的,因此文件的保护
是非常重要的。
1、基础保护
任何一个多用户系统都必须提供最低限度
的文件保护功能,防止用户有意或无意访
问、修改和破坏其他用户的文件。
(1)全-或-无保护
对用户信赖的基础上,假定用户不会去
读或修改别人的文件,只会访问自己有
权访问的文件,并且假定用户只知道其
有合法访问权的文件名。
因此对文件一
般不设保护,默认文件是公开的。
实际
上,对文件是没有保护的,任何一个用
户都可以读、修改甚至删除其他用户的
文件。
主要存在以下问题:
以信任为基础的安全机制是不可靠的。
?
如果某个文件只希望一部分人可以访问,
由于采用了“要么对所有用户都是公开的
,要么对所有用户都是有保护的”安全机
制,这一要求无法实现。
?
这种安全机制更适合于批处理系统,而不
适用于分时系统。
在批处理的环境下可以
把有相同兴趣的用户安排在同一批进行处
理。
需要操作员干预,麻烦、降低了操作系统
的效率。
需要向用户提供系统所有文件的列表,帮
助用户回忆他们需要对哪些文件负责。
(2)分组保护
根据上述情况,全-或-无保护方式主要问
题是不能满足不同利益用户对文件的保
护要求。
分组保护方式可以解决这个问
题。
在分组方案中,可以根据某种共同
性把用户划分在一个组中。
系统中的用户分为三类:
(单个)用户(User)
、用户组(Group)和全部(World),分组时
要求每个用户只能分在一个组中,同一个组中的
用户对文件有相同的需求,一般具有相同访问权
。
该方案在新型操作系统(如NT、LINUX等)被
广泛采用。
由于引入组的概念,需要用用户和组这两个标识
符标识一个用户。
该方案还存在以下问题:
组的隶属关系:
分组不允许一个用户同属两
个组,否则会引起访问权限的混乱。
?
多重账户:
为了克服一人一组带来的限制,
可以允许用户建立多个账户,在不同的组里使
用不同的账号,代表不同的用户,增加了管理
的难度,对用户也不方便。
?
有限的共享:
文件要么只能在组内共享,要么
只能为全部用户共享。
无法以文件为基础区分
出一个文件的共享者。
2、单独许可权
(1)文件通行字
?
为了控制用户对指定文件的访问,可以为
该文件设置一个通行字。
当用户访问这个
文件的时候必须提供正确的通行字。
通行
字可以用于控制对文件的各种访问,或仅
控制对文件的某一种访问,如控制对文件
的修改。
通行字的管理与维护还存在一些麻烦,无
论通行字丢失或者泄漏都需要由操作员干
预,去掉文件的旧通行字,换成新的通行
字;为了撤消某个用户的文件访问权,也
必须更换文件的通行字。
更换通信字后,
还要把新通行字告诉所有与该文件有关的
所有用户。
(2)临时许可证
UNIX系统中增加了一种许可权方法,称为设置用
户标识符和设置组标识符。
利用该功能,用户可以建立维护专用信息的特定
保护程序,其他用户如果希望访问这些专用信息
就必须运行其特定保护程序。
3、指定保护
允许用户为任何文件建立一张访问控制表
(ACL),指定谁有权访问该文件,每个
人有什么样的访问权。
这都是符合自主访
问控制原则要求的。
假设甲、乙、丙、丁四个用户原先分属四
个不同的组,现因项目开发需要,要求成
立一个新组。
系统管理员可以定义一个新
的一般标识符ITEM,让它只包括这四个人
,用户可以允许在一般标识符下的人访问
一个文件,但不允许这四个用户所在组的
其他人访问这个文件。
8.4.3新型访问控制
>1.基于任务的访问控制
基本思想是:
授予给用户的访问权限,
不仅仅依赖主体、客体,还依赖于主体
当前执行的任务及任务的状态。
当任务
处于活动状态时,主体拥有访问权限;
一旦任务被挂起,主体拥有的访问权限
就被冻结;如果任务恢复执行,主体将
重新拥有访问权限;任务处于终止状态
时,主体拥有的权限马上被撤销。
2.基于对象的访问控制
在基于对象的访问控制模型中,将访问控
制列表与受控对象或受控对象的属性相关
联,并将访问控制选项设计成为用户、组
或角色及其对应权限的集合;同时允许对
策略和规则进行重用、继承和派生操作。
8.5WindowsXP系统的安
全机制
WindowsXP操作系统就是建立在
一套完整的安全机制上的,因而在使用
前都必须指定它们的安全策略。
在使用WindowsXP操作系统时,
要熟悉它的登录验证、访问控制、安全
策略等安全保护机制,这样才能降低遭
受威胁和攻击的风险。
8.5.1Windows系统的安全子系统
1.Windows系统的安全组件
·自主访问控制
·对象重用
·强制登录
·对象的访问控制
2.Windows安全子系统
8.5.2用户账户管理
1.用户账户
在WindowsXP中,访问控制依赖于系统能
够惟一地识别出每个用户。
用户账户(User
Account)提供了这种惟一性。
2.组
WindowsXP还提供组帐户。
可使用组帐
户对同类用户授予权限以简化帐户管理。
如
果用户是可访问某个资源的一个组中的成员,则该特定用户也可访问这一资源。
因此,若要使某个用户能访问各种工作相关的资源只需将该用户加入正确的组。
3.本地账户和域账户
本地账户,即存储在计算机SAM中的用户账
户和安全组。
独立的计算机和工作组中的计
算机都只使用本地账户。
工作组中的每台计
算机只维护含有该台计算机本地账户的自己
SAM。
本地账户只允许用户登录到存储其账户
的计算机,并且只允许访问该计算机上的资
源。
Windows还提供了域的概念进行网络访问
控制,即允许或拒绝某个主机或用户连接到
其他主机的能力。
域账户存储在一个称为域
控制器的中央计算机上。
8.5.3登录验证
1.验证机制
WindowsXP安全系统包括了三种不同的身
份验证协议来进行加密:
(1)NTLM(与WindowsNT4.0系统兼容)
(2)KerberosV5
(3)公钥证书
2.登录及身份验证过程
成功的登录过程要经过以下4个步骤:
①Winlogon过程给出一个对话框,要求回答一
个用户名和口令。
②Winlogon将用户名和口令传递给LSA(Local
SecurityAuthority,本地安全权威),LSA
决定该登录应该在本地计算机还使网络上进
行身份验证。
③如果是本地登录,LSA会查询SAM数据库,
以确定用户名和口令是否属于授权的系统用户
。
如果用户名和密码合法,SAM把该用户的
SID以及该用户所属的所有组的SID返回LSA
。
LSA使用这些信息创建一个访问令牌,每当
用户请求访问一个受保护资源时,LSA就会将
访问令牌显示出来以代表用户的“标记”。
④Winlogon启动系统,该用户的访问令牌就成
了用户进程在Windowsxp系统中的通行证。
8.5.4系统访问控制
1.访问控制方案
(1)访问令牌
(2)安全描述符
(3)访问控制表
2.活动目录(ActiveDirectory)
活动目录包括两个方面:
目录和与目录
相关的服务。
目录是存储各种对象的一个物
理上的容器;而目录服务是使目录中所有信
息和资源发挥作用的服务。
8.5.5Windowsxp安全策略
1.密码策略
2.锁定策略
3.审核策略
4.用户权力指派
5.安全选项
6.装载自定义安全模板
8.5.6Windowsxp操作系统安全检查表
1.安装最新的系统补丁(ServicePack)与
更新(Hotfix)程序
2.为Administrator账号指定安全的口令
3.把Administrator帐号重新命名
4.禁用或删除不必要的帐号
5.关闭不必要的服务
6.安装防病毒软件
7.给所有必要的文件共享设置适当的访
问控制权限
8.激活系统的审计功能
9.关于应用软件方面的建议