首页 理论教育 Linux内核安全模块深入剖析:自主访问控制简单有效

Linux内核安全模块深入剖析:自主访问控制简单有效

时间:2023-11-22 理论教育 版权反馈
【摘要】:自主访问控制的优点是设计简单。有些软件显然在滥用自主访问控制,界面上总是弹出菜单,询问人们是否允许这个,是否允许那个,结果就是训练出不看内容快速点击确定的人。特权机制实际上包含了两类行为,一类是超越第一部分的操作许可控制,比如root用户可以读或写任何文件。

Linux内核安全模块深入剖析:自主访问控制简单有效

1.访问

访问是什么?看一个例子,西游记第十七回的标题是:“孙行者大闹黑风山 观世音收伏熊罴怪”。浓缩一下就是,孙行者闹黑风山,观世音收熊怪。由此可见访问包括三个要素,访问发起者--孙行者、观世音,访问动作——闹、收,被访问者--黑风山、熊怪。在计算机安全领域,访问发起者被称为主体,访问动作就是具体的操作,被访问者被称为客体。比如,进程A读文件a,进程A是主体,读是操作,文件a是客体。

计算机是人发明出来的一种机器。它是为人服务的。但是计算机的世界里没有人,只有代表用户执行任务的进程。程序是静态的,进程是动态的,进程是程序的一次运行。用户甲和用户乙运行同一个程序能做的事情却可能不同,比如普通用户运行vi/etc/passwd不能修改文件内容,而root用户运行vi/etc/passwd就可以修改。这种区别就是访问控制造成的。

本书中提及的用户,在大部分语境下是指代表用户执行任务的进程。因为,在计算机的世界里没有作为实体的人存在。

2.访问控制

访问控制就是对访问进行控制。比如,允许进程A读文件a,不允许进程B读文件b。要实现访问控制,需要两个东西,一个是标记,标记主体和客体,这样才有控制的对象;另一个是策略,允许某主体对某客体做什么。

3.自主访问控制

自主访问控制的自主是指使用计算机的人可以决定访问策略,比如规定某文件只能读不能写,制造出一种“只读”文件,防止文件内容被不小心更改。再比如,张三有个mp3文件,规定李四可以读,但赵五不可以读。(www.xing528.com)

自主访问控制的优点是设计简单。缺点是安全性相对较差,用户往往不清楚潜在的安全问题。在个人电脑和个人移动终端系统上,用户的含义被异化,不再表示使用计算机的人而是表示应用,这个问题很突出。允许应用读通信录,可以吗?允许应用通过Internet发送数据,可以吗?如果既允许读通信录,又允许通过Internet发送数据呢?有些软件显然在滥用自主访问控制,界面上总是弹出菜单,询问人们是否允许这个,是否允许那个,结果就是训练出不看内容快速点击确定的人。

4.UNIX的自主访问控制

UNIX的自主访问控制的设计是简单而有效的。它分为两个部分,第一部分可以概括为进程操作文件。操作分三种:读、写、执行。在进程操作文件时,内核会检查进程有没有对文件的相应操作许可。第二部分可以概括为:拥有特权的进程可以做任何事情,内核不限制。特权机制实际上包含了两类行为,一类是超越第一部分的操作许可控制,比如root用户可以读或写任何文件。另一类是无法纳入上述“进程操作文件”模型之内的行为,比如重启动系统。

5.Linux的自主访问控制

在自主访问控制上,Linux对UNIX的扩展主要有两处,一是提供了访问控制列表(Access Control List),使得能够规定某一个用户或某一个组的操作许可;二是对特权操作细化,将原有属于根用户的特权细化为互不相关的三十几个能力。有些遗憾的是这两个扩展的接受程度不够理想,广大应用程序开发者和系统维护者对它们还不熟悉,还没有频繁地使用它们。

本书对于Linux沿袭UNIX的部分会叙述作UNIX如何如何,对于Linux特有的部分会叙述作Linux如何如何。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈