论文部分内容阅读
随着病毒、蠕虫、网络攻击的日益严重,无论是政府部门还是企业都开始高度重视安全操作系统的研究与开发,以提高信息系统的安全性。SELinux作为当前国际前沿的安全操作系统之一,受到了行业内众多研究机构与企业的重视。它基于Linux实现了Flask安全体系结构,支持多安全策略,可以根据具体的安全需求对安全策略进行配置,从而提供了更好的灵活性。SELinux对研究与开发自主安全操作系统具有很好的参考价值和借鉴意义。同时,其应用研究可以帮助开发者在实际场景中更好的应用SELinux来保护信息系统的安全。Linux安全模块通过扩展内核数据结构与在访问路径上放置Hooks函数为其它安全模块提供了一个通用访问控制框架,它是SELinux实现的基础。因此,本文首先详细介绍与分析了Linux安全模块的设计思想与实现原理,给出Linux安全模块的注册流程、对权能机制的支持和Hooks函数的应用点。之后,重点剖析SELinux系统,研究的主要内容有:(1)给出文件系统提供的策略管理接口的实现原理及文件系统的挂载过程;(2)给出二进制策略配置文件的格式,并结合策略描述语言的语法格式和策略数据库相关数据结构,详细描述策略加载过程;(3)通过分析SELinux处理客体访问请求的全过程,给出SELinux中访问向量缓存与安全服务的功能及实现原理。访问向量缓存模块主要负责缓存的查询、结果的缓存及请求的转发,安全服务器则负责根据安全策略库的规则进行访问仲裁。基于以上对SELinux的研究成果,本文将SELinux应用到桌面虚拟化项目中,并给出整体的系统架构。在此方案中,采用sVirt实施虚拟化环境中Guest VMs间的隔离与共享策略,基于SELinux实现TMAC模型用以优化物理主机中的系统用户管理方式,此外,还实现了一个日志管理模块,提供配置管理、日志分析、错误告警等功能,力图提高SELinux的易用性,为其他研究者提供一个参考的研究方向。