访问控制是信息安全中重要的一个技术领域。它定义了在信息系统中,主体对于客体能够进行哪些操作和动作。这里的主体,包括用户、账户、程序、进程等,而客体是指数据、文件、程序、功能等;操作和动作则包括读取、写入、删除、执行等。简而言之,访问控制就是规定在信息系统中,每个用户对不同的资源分别能做哪些操作。由此可见,访问控制只有好不好的问题,.而不存在有没有的问题。只要是信息系统,必定有自己的访问控制机制。哪怕一个完全不设置控制的系统,也有它的访问控制策略:即所有的用户可以对所有的资源进行所有的操作。
目前常用的访问控制类型有三种:
1.自主访问控制模型(DAC, Discretionary Access Control)
自主访问控制机制中客体的拥有者可以任意修改或授予此客体相应的权限。我们常用的操作系统都采用这种机制,比如某用户对于其所有的文件或目录可以随意设定其用户/组/其他所有者的读/写/执行权限。这一点我们应该都很熟悉,比如在Window操作系统里, 可以在文件的属性对话框里直接对文件的读写权限进行设置。
自主访问控制最大特点是客体的所有者可以将权限赋予任何其他用户,让其他用户也称为客体的所有者,并可以继续向其他用户授权。这种机制的好处就是灵活;缺点就是不够安全,权限可以不受控制的传播,因此容易成为攻击者的目标,被木马利用。