深入解析SELinux:操作系统安全的革新力量
1. 软件故障的必然性
在当今的计算机时代,软件故障是一个不可避免的问题。自1998年相关论文指出软件存在缺陷以来,有太多的软件开发默认应用程序可以在没有底层操作系统支持的情况下实施安全措施。但实际上,操作系统安全对于整体系统安全至关重要,如果操作系统无法承担起这一责任,就会导致系统级别的漏洞。
如今,有缺陷的应用程序软件问题几乎每天都成为新闻头条,新的病毒、计算机盗窃或系统漏洞不断被曝光。尽管人们努力使软件变得更好、更可靠,但软件缺陷在可预见的未来仍将是一个持续存在的问题,总会有人试图利用这些缺陷。
因此,SELinux的目标应运而生,即推广一种更好的操作系统安全形式。它是Linux操作系统的安全增强,能够有效缓解有缺陷的应用程序软件带来的问题,包括那些尚未发现或产生的缺陷,还能实现从数据机密性到应用程序完整性再到提高健壮性等众多安全目标。
2. 操作系统访问控制安全的演变
早期的操作系统几乎没有安全措施,用户只需知道资源名称就能访问任何文件或资源。后来,访问控制机制逐渐出现,如今占主导地位的是自主访问控制(DAC)。DAC的主要特点是,单个用户(通常是资源的“所有者”)可以指定谁可以或不可以访问该资源。然而,DAC存在一些固有的基本安全弱点,为了克服这些弱点,计算机安全界一直在努力开发有用的强制访问控制(MAC)机制。
2.1 引用监视器概念
要理解访问控制,就必须了解引用监视器概念。这一概念由美国国防部在20世纪70 - 80年代的操作系统安全早期研究中提出。在引用监视器中,操作系统将被动资源隔离成不同的对象(如文件),将活动实体(如运行的