操作系统 - 安全与保护
如果一个计算机系统有多个用户,并且允许并发地执行多个进程,那么对于数据的读取必须有一定的规则。为了这个目的,这个机制必须确保文件,内存段,CPU以及其他能被操作的资源只能被操作系统赋予合理权限的进程才能操作。 举例来说,内存寻址硬件memory-addressing hardware确保了一个进程只能在它自己的地址空间运行。定时器确保了没有进程可以能保持对CPU的一直占用。用户无法访问设备控制寄存器,因此各种外围设备的完整性得到保护。 那么,保护Protection就是控制进程或用户访问计算机系统定义的资源的任何机制。该机制必须提供方法以指定要施加的控制并强制执行这些控制。 保护可以通过检测组建子系统之间的潜在错误而提高系统可靠性。对于接口错误的早期发现进程可以避免一个健康的子系统被另一个有故障的子系统污染。此外,一个不受保护的资源没有办法防御未经授权或不合格的用户的使用或滥用。而面向保护的系统提供了一种区分授权和未授权的方法。 一个有合适的保护机制的系统还是可能会失效并且允许不合法的访问。比方说一个用户的授权信息(也就是他自己对于系统的身份认证手段)被偷了。那么他的数据,可能在文件和内存保护仍然工作的情况下,仍被复制或删除。 而这是安全security的职责所在,它被定义用来保护系统免受外部和内部攻击。这样攻击可以在大范围内迅速扩散。这其中包括病毒和蠕虫,拒绝访问攻击(它将会使用系统中所有的资源,而使得合法的用户不能访问到系统内的任何资源。),身份偷窃已经,服务盗用(未经授权的使用系统)。对于上述这些的防护是被一下操作系统包含在内的系统功能,然而有有一些操作系统会把这个一些法规或附加软件。由于安全事故的惊人增加,操作系统安全特性正在成为一个研究和实现的快速发展领域。 保护和安全需要操作系统有能力区分所有的用户。大多数操作系统维护一个一份用户名字和用户身份标识user identifier(user IDS)的列表。在Windows中,这被称为安全标识security ID(SID)。这些数字中,每个用户都是独一无二的。当一个用户登录进操作系统时,身份验证阶段会决定合适的用户ID。这个用户ID会与用户所有的进程和线程相关联。当一个用户通过解读这个ID时,它会通过用户名列表反向查询出用户名。 在一些环境中,比起单个用户,我们更希望按集合区分用户。比如说UNI系统中一个文件的拥有者,他拥有对这个文件的所有操作权限,同时,一组被挑选的用户对这个文件可读。为了达到这个目标。我们需要一个组名并且属于这个组的一组用户。这个分组功能可以由系统范围内的的组名和组标识(group identifier)实现。一个用户可以是一个或多个这种的一员,当然这取决于操作系统设计时的取舍。用户的组标识也可以包含在每一个相关连的进程和线程中。 在正常系统的使用过程中,用户标识和组标识对于用户来说足够了。然而电脑系统安全,用户有时需要提升特权才能获取执行一个行为的额外权限。比方说用户需要访问一个受限的设备。操作系统提供了各种各样的方式去允许权限的提升。比方说在UNIX中,一个程序中的setuid属性使该程序以文件所有者的用户ID运行该程序,而不是当前的用户ID。该进程将使用此有效的UID运行,直到关闭其额外的特权或终止。 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |