现代操作系统之安全(上)

环境安全

术语“安全”来表示所有的基本问题,用术语“防护机制”来表示特定的操作系统机制来确保计算机信息安全。

威胁

第一目标是数据保密,这种执行的力度应该精确到文件。
第二个目标是数据的完整性,是指未经授权的用户没有得到许可就擅自改动数据。
第三个目标系统可用性,是指没有人可以扰乱系统是指瘫痪

安全和防护上所做的努力应该取决于针对哪一类型入侵者。


密码学原理

在算法中使用的加密参数叫做密钥,如果P代表明文,则Ke代表加密密钥,C代表密文,E代表加密算法,那么C=E(P,Ke)。一般认为,加密算法应该完全公开,而加密的安全性由独立于加密算法之外的密钥决定。

私钥加密技术

许多密钥系统子啊给定加密密钥就可以很容易的找到解密密钥,反之亦然。这样的系统采用了私钥加密技术或对称密钥技术。虽然但字母替换方式每一使用价值,但是如果密钥由足够的长度,对称密钥机制还是比较安全的。

公钥加密技术

通过不对称性的算法来解决

单向函数

加密散列函数(循环每次加密提娜佳一个不同的常数)

数字签名

通过数字签名可以保证发送方不可抵赖。起一个通用方法可接受先对文档进行一种单项散列运算,这种运算几乎不可逆。
文件所有者利用其私钥对散列值进行运算得到D(散列值),该值成为签名块,它被附加在文档之后发送给接收方。
解密若计算后的散列值与签名块中的散列值不一样,则表明,要么文档,要么签名块,要么两者都篡改过。

这种方法仅对E(D(x))=x 且 D(E(x))=x的函数其效果。也就是说,D和E是可交换函数。

要采用这种机制,接收方必须知道发送方的公钥。

消息发送方的一种常用方法是在消息后附加数字证书,证书中包含了用户姓名,公钥和可信任的第三方数字签名。一旦用户获得了可信的第三方认证的公钥,那么对于所有使用这种可信第三方确认来生成自己证书的发送方,该用户都可以使用它们的算法。


可信平台模块

有一种方法是可信平台模块的芯片,TPM是一种加密处理器,使用内部的非易失性存储截至来保存密钥


保护机制

保护域

域是一对(对象,权限)的组合。
一个基本的原则是最低全新原则(POLA),一般而言,当每个域都拥有最少数量的对象和满足其完成工作所需的最底全新时,安全性将达到最好。

UNIX中,进程的域是由UID和GID定义的。给定某个(UID,GID)组合,就能得到可以访问的所有对象列表(文件,包括由特殊文件代表的IO设备等),以及它们是否可以读,写或执行。

每个UNIX进程由两部分——用户部分和核心部分。当执行系统调用时,进程从用户部分切换到核心部分。核心部分可以访问与用户部分不同的对象集。这样,系统调用就引发域切换。

当进程吧SETUID和SETGID位置至于on状态时可以对文件执行exec操作,这时进程获得了新的有效的UID或GID。使用SETUID或SETGID也是一种域切换,因为可用权限改变了。

域的自我切换在矩阵模型中很容易实现,可以通过使用操作enter把域本身作为对线。

访问操作列表

  1. 第一种方法包括一个关联于每个对象的(有序)列表里,列表里包含了所有可访问对象的域以及这些鱼如何访问这些对象的方法,这个列表叫做访问控制表。用户被叫做主题,以便与它们所拥有的对象(如文件)区分开来。

每个文件都有一个相关联的ACL。文件F1在ACL中由两个登录项(用逗号区分)。请注意这里的权限是用户赋予的,而不是进程。

ACL登录项不只针对个人,还可以针对用户组。

在这样的条件下,当出现要求访问对线的请求时,必须使用调用者的UID和GID来进行检查。如果它们出现在ACL中,所列出的权限就是可行的。如果(UID,GID)的组合不再列表中,访问被拒绝。

在有些情况下,用户可以访问特定的文件而与当前登陆组无关。这样的情况下将引入通配符的概念。其缺点在于几乎没有任何封装性。

因为登录项是按顺序扫描的,只要第一个被采用,后续的登录项就不需要再检查。
还有一种处理组用户的方法,无须使用包含(UID,GID)的ACL登录项,而是对每个登录项成为UID或GID。

如果ACL仅仅在打开某个文件时才会检查,那么改变它以后的结果就只有在将来调用open命令时才能奏效。对于已经打开的文件,就会仍然持有原来打开时拥有的权限,即使用户不再拥有这个权限

权能

另一种方法是按行存储,使用这种方法的时候,与每个进程关联的是可访问对象列表,以及每个对线上可执行操作的指示。这一栏叫做全能字列表,而且每个单独的项目叫做权能字。

每一个权能字赋予所有者针对特定对象的权限。一个权能i通常包含了文件i(更一般的情况是对象)。权能字利厄本本身也是对线,也可以从其它权能字列表处指定,这样就有助于共享子域。

目前有三种已知的保护方法:

  1. 建立带标记的体系结构(硬件层面实现)
  2. 在操作系统里保存权能字列表(操作系统)
  3. 吧全嗯那工资列表放在用户空间,并用加密方式进行管理

返回给用户的权能字包括服务器的标识符,对象号(服务器列表索引,主要说是-node码)以及在位图形式存放的权限。对于一个新建的对象来说,所有的权限位都是处于打开状态,这显然是因为该对象的拥有着有权限对该对象做任何事情。

当用户向访问对线时,首先要把全能女子作为发送请求的一部分传送到服务器,然后服务器提取对象编号并通过服务器列表索引找到对线。再计算f(对象,权限和校验)。前两个参数来自权能字本身,而第三个参数来自服务器表。如果计算值符合权能字的第四个字段,那么请求就被接受。。

如果用户想要访问其他人的对象,那么它就不能伪造第四个域,因为它不知道校验字段,所以请求将被拒绝。

权能字中(包括在核心态和密码保护模式下)通常包含了一些可用于所有对象的普通权限。

在核心管理的全能子系统中,撤回对对象的访问是十分困难的。系统很难未任意对象找到它所有的显著的全嗯那工资并撤回。因为它们存储在磁盘各处的权能字列表中,一种方法是吧每个权能字指向间接的对象,而不是对象本身。然后再把间接对象指向真正的对象。这样系统就能通过打断连接关系使权能字无效。

通过改变存放在对象里的校验字段可以使全部在权能字失效。但是不能选择性的撤回权能字。

权能字非常漂亮的饥饿就了移动代码的沙盒问题。当外来程序开始运行时,给出的全嗯那工资列表里只包含了机器所有者想给的权能。如果移动代码被放进了自己的只拥有这些有限权能 的进程中,就无法访问其它任何资源看,相当于被有效地仙子在了沙盒中。

ACL和权能字由一些互补的特性。权能字相对来说效率高,因为无需任何检查。权能字还可以十分容易的封装进程,但是ACL却不想。另一方面,ACL支持由选择的撤回权限,而权能字却不想。最后,如果对线被删除时全能女子未被删除,或者权能字被删除时对线违背删除,问题就会发生。而ACL不会产生这样的问题。

可信系统


可信计算基

在安全领域中,人们通常讨论可信息系统而不是安全系统。

每个可信息头的核心是最小的可信安全基(TCB),其中包含了实施所有安全规则所必须的硬件和软件,如果这些可信的计算基根据系统规约工作,那么,无论发生什么错误,系统安全性都不会受到威胁。

典型的TCB包含了大多数硬件。

TCb的一个重要组成部分是引用监视器。

安全系统的形式化模型

保护矩阵往往不是静态的,它们通常随着创建新的对线,销毁旧的对象而改变,而且所有者决定对线的用户集的增加或限制。

保护矩阵决定了在任何域中的一个进程可以执行那些操作,而不是被i授权执行哪些操作。矩阵是由系统来强制的,而授权与管理策略有关。

在一个不定的保护系统的补丁配置中,其安全性从理论上来说是不确定的。


多级安全

大多数操作系统允许个人用户来决定谁可以读写它们的文件和其他对象。这一策略成为可自由支配的访问策略。这类环境需要强制性的访问控制来确保所阐明的安全策略被系统强制执行,而不是可自由支配的访问控制。这些强制性的访问控制管理整个信息流,确保不会且楼那些不应该泄露的信息。

Bell-la和Biba


隐蔽信道

写作程序能够通过仔细地监控响应时间来检测位流。这种通信方式叫做隐蔽信道。

调节CPU使用率不是唯一方法,还可以调制页率。
在一个计时方式中,几乎任何可以降低系统性能的图九都可能是隐蔽信道的候选。

获取和释放忒的那个资源也可以作为信号方式。

隐写术

认为或自动监视着进程间所有的信息并禁止可疑的数据传递


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值