一种系统启动后加载的强制访问控制方法及系统技术方案

技术编号:19098864 阅读:71 留言:0更新日期:2018-10-03 02:47
本发明专利技术提供了一种系统启动后加载的强制访问控制方法,包括系统启动后在内核中初始化一个主客体标记链表,所述主客体标记链表用于存储主客体标记;系统启动后加载用于实现强制访问控制逻辑的可加载模块;通过应用层工具对所述主客体标记链表进行维护。本发明专利技术基于Linux LSM框架,无需大量修改内核,实现访问控制策略的模块与内核完全解耦,且实现访问控制策略的模块在系统启动后加载,使用灵活,不影响系统启动,不需要服务节点,且模块相较于内核编译快、调试简单、开发周期短,还可以实现自定义的访问控制模型。本发明专利技术还公开了一种系统启动后加载的强制访问控制系统。

【技术实现步骤摘要】
一种系统启动后加载的强制访问控制方法及系统
本专利技术涉及计算机系统安全
,尤其涉及一种系统启动后加载的强制访问控制方法及系统。
技术介绍
很多商用和研究使用系统是基于Linux内核开发的,Linux内核源码十分庞大,有很多已知漏洞且漏洞一直在持续挖掘中。操作系统安全问题十分重要。一个安全的系统需要在自主访问控制、强制访问控制、标记、身份鉴别等等十多个方面满足相应的技术要求。其中,Linux强制访问控制基于LSM框架实现,通过在内核数据结构中加入安全域,在进程、文件等主客体访问时候调用的系统调用中插入钩子函数,来实现特定的策略。其访问控制模型的一个实现模块为Selinux,在应用中使用最为广泛。包括基于角色类型的访问控制和基于安全级别的访问控制。Selinux中基于安全级别的访问控制实现了机密性模型(BLP)即低级别主体不向上读取高级别客体、高级别主体不向下写低级别客体。在实际应用中,为达到安全操作系统的要求,需要实现完整性保护模型,或在一些应用中需要按照自定义的安全模型进行强制访问控制。而这些需求的实现通常通过修改主客体的标记和系统调用相应的钩子函数以实现特定的模型。或者抛弃本文档来自技高网...

【技术保护点】
1.一种系统启动后加载的强制访问控制方法,其特征在于,包括:系统启动后在内核中初始化一个主客体标记链表,所述主客体标记链表用于存储主客体标记;系统启动后加载用于实现强制访问控制逻辑的可加载模块;通过应用层工具对所述主客体标记链表进行维护。

【技术特征摘要】
1.一种系统启动后加载的强制访问控制方法,其特征在于,包括:系统启动后在内核中初始化一个主客体标记链表,所述主客体标记链表用于存储主客体标记;系统启动后加载用于实现强制访问控制逻辑的可加载模块;通过应用层工具对所述主客体标记链表进行维护。2.根据权利要求1所述的方法,其特征在于,在所述系统启动后加载用于实现强制访问控制逻辑的可加载模块之前还包括:在所述可加载模块中复制capabilitiy相关内核初始化接口;调用所述capabilitiy相关内核初始化接口,向LSM框架注册所述可加载模块。3.根据权利要求1所述的方法,其特征在于,所述系统启动后在内核中初始化一个主客体标记链表包括:系统启动后在所述主客体标记链表中初始化需要访问控制的所述主客体标记为equal,其中,所述主客体标记中的主体包括用户,所述主客体标记中的客体包括文件、文件系统和进程;将所述主客体标记以一个无符号整形进行表示;将所述主客体标记设为0-15级,其中,0级为最低级,15级为最高级。4.根据权利要求1所述的方法,其特征在于,所述系统启动后加载用于实现强制访问控制逻辑的可加载模块包括:基于LSM框架在所述内核中的各个系统调用插入用于访问控制的钩子函数;所述可加载模块加载时将所述钩子函数指向所述可加载模块的钩子;所述钩子函数从所述主客体标记链表中读取所述主客体标记;按照自定义的访问控制模型对所述主客体标记进行对比;根据对比规则允许或禁止访问。5.根据权利要求1所述的方法,其特征在于,所述通过应用层工具对所述主客体标记链表进行维护包括:使用伪文件系统提供与所述内核的接口,通过所述应用层工具从用户空间获得所述主客体标记的文本表示;对所述主客体标记的文本表示进行解析,获得解析结果;基于所述...

【专利技术属性】
技术研发人员:田兆楠
申请(专利权)人:北京搜狐新媒体信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1