专利名称:基于内核层技术实现对win平台文件读写操作访问控制方法
技术领域:
本发明涉及一种基于内核层对服务器操作系统文件读写访问控制的方法,针 对win操作系统文件更改和泄密等各种攻击分析和操作系统内核原理分析,给出 一种基于内核层的文件访问控制方法,属于计算机信息安全领域。
背景技术:
人们保护信息系统安全的传统手段通常是运用安全防护软件和硬件,包括防火 墙、安全路由器/安全网关、入侵监测系统、漏洞扫描系统等在系统外围进行围堵 检査。但随着攻击技术的不断发'展,新的安全问题不断出现,传统的安全手段越 来越暴露它们的局限性。在计算机安全涉及到的各方面内容中,操作系统、网络 系统、数据库管理系统的安全是主要问题,其中操作系统的安全尤为关键的。操 作系统是计算机资源的直接管理者,所有应用软件都是基于操作系统来运行的, 没有操作系统的安全,就无法保障数据库安全、网络安全和其它应用软件安全。 因此开发安全的操作系统,成为提高计算机信息系统安全性的重要手段。实际上, 正是服务器上的主流操作系统上安全保护机制的不完善和不健全才是安全问题层 出不穷的原因所在。
操作系统的安全问题早己引起人们的广泛关注,国际上对操作系统安全性的研 究已有相当的历史。自20世纪70年代以来,起初出于军事目的,美国政府由国 防部牵 头,投入了大量的人力、物力,从操作系统底层开始,对安全问题开展了 广泛、深入的研究,取得了一系列有影响的重要成果,如Multics、可证明的安全 操作系统、军用安全操作系统、V基于内核层技术实现对WIN平台文件读写操作访 问控制方法X体系的V丽安全内核等。这些成果对操作系统安全性的研究起了重 要的推动作用。
但长期以来,我国的计算机操作系统市场基本上被国外产品所占领,因此研 制具有自主知识产权的操作系统是关系到我国信息安全未来的一项战略决策。
安全操作系统的含义是在操作系统的工作范围内,提供尽可能强的访问控制 和审计机制,在用户或应用程序和系统硬件或资源之间进行符合安全策略的调度, 限制非法的访问,在整个软件信息系统的最底层进行保护,按照有关信息系统安 全标准的定义,安全的操作系统要有这样的特征
a)最小特权原则,即每个特权用户只拥有能进行其工作的权力;b)访问控制原则,包括保密性访问控制和完整性访问控制; C)安全审计; d)安全域隔离。
只要有了这些最底层的安全功能,各种病毒、木马程序、网络入侵行为和人 为非法操作才能被真正抵制,因为它们违背了操作系统的安全规则,也就失去了 运行的基础。
发明内容
本发明的目的是提供一种基于内核层技术实现对WIN平台文件读写操作访问 控制方法,具体内容如下
在操作系统内核层实现对win平台下文件读写操作进行权限分配和访问控制。 当用户程序对某一敏感文件读写发起调用,子系统DLL将转化为内部windows文 件读写系统服务调用。内核创建相应的文件读写系统线程。系统线程通过正常的 系统调用或通过陷阱分发机制中断或异常把相关参数传到系统服务分发器。系统 服务分发器利用传递进来的文件读写参数,找到系统服务分发表中的文件读写系 统服务信息。系统服务分发表中的每个表项都包含了一个指向某个系统服务的指 针。系统服务函数地址被保存在内核中的系统服务分发表中。
为达到对文件读写强制访问控制的目的,使用钩子驱动程序,首先将系统服务 分发表中的文件读写地址保存起来,编写钩子函数,用该钩子函数的地址来替换 该表项,替换对应的文件读写系统服务调用地址。当文件读写线程调用系统服务 分发表时,文件读写相应调用参数会通过钩子函数传递给策略比对程序。
策略程序根据文件读写相应调用参数与预先定义的访问控制策略将该文件读 写系统服务调用相关信息遍历策略数据库与相应安全策略相比对。符合安全要求 的调用内核模式对应接U执行该文件读写系统服务调用。不符合安全要求转入 GUI,显示给管理员。因为所有的windows文件读写线程都会调用系统服务分发器 进行文件读写系统服务分发,所以用户对内核层的所有文件读写操作都会被系统 监控,从而达到win平台下文件读写操作内核级访问控制的目的。
附图1是本发明的系统调用原理图。
具体实施例方式
以下通过具体的实施例对本发明做详细的说明,
本发明的基于内核层对服务器操作系统文件读写访问控制的实现方法,其工作
原理如下
41. 环境及要求 一政府部门核心电子政务所用服务器,操作系统是
windows2003server,其中有一机密文件——jimi.txt,此文件只能是级别是3级 以上的管理员阅读,4级以上的管理员更改,需要防止随意拿到操作系统权限的人 就可以进行对此文件的读写操作。操作系统管理员基于内核层技术实现对win平 台文件读写操作访问控制方法dml是3级管理员
2. 当基于内核层技术实现对win平台文件读写操作访问控制方法dml操作系 统管理员对jimi. txt文件发起读操作要求,windows子系统DLL将应用程序调用 信息转化为内部读windows文件系统服务调用。内核创建读jimi. txt文件的系统 线程。系统线程通过系统调用机制把相关参数包括jimi. txt和基于内核层技术实 现对win平台文件读写操作访问控制方法dml等传到系统服务分发器。系统服务 分发器发现这是对读文件服务调用,找到系统服务分发表中的读文件系统服务信 息地址。
3. 为达到对文件读写强制访问控制的目的,事先使用钩子驱动程序,首先将 系统服务分发表中的读文件地址保存起来,编写duhook函数,用该钩子函数的地 址来替换该表项,替换对应的文件读系统服务调用地址。当读文件系统服务地址 被调用时,包括jimi. txt和基于内核层技术实现对win平台文件读写操作访问控 制方法dml等相关参数会通过duhook函数传递给策略模块。
4. 策略模块通过遍历策略数据库找到jimi. txt是3级以上的管理员阅读,而 基于内核层技术实现对win平台文件读写操作访问控制方法dml是3级管理员, 即符合安全要求,调用读文件系统服务信息地址执行该文件读写系统服务调用; 同理,若是写操作,策略模块发现jimi.txt是4级以上管理员更改,而基于内核 层技术实现对win平台文件读写操作访问控制方法dml是级系统管理员,权限不 够,属于非法访问,即中断调用,禁止访问,并把相关信息转入GU工,作为安全事 件显示给安全管理员。这样对jimi. txt文件就实现了强访问控制的目的。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
权利要求
1、基于内核层技术实现对WIN平台文件读写操作访问控制方法,其特征在于步骤如下1)在操作系统内核层实现对win平台下文件读写操作进行权限分配和访问控制,当用户程序对某一敏感文件读写发起调用,子系统DLL将转化为内部windows文件读写系统服务调用,内核创建相应的文件读写系统线程,系统线程通过正常的系统调用或通过陷阱分发机制中断或异常把相关参数传到系统服务分发器,系统服务分发器利用传递进来的文件读写参数,找到系统服务分发表中的文件读写系统服务信息,系统服务分发表中的每个表项都包含了一个指向某个系统服务的指针,系统服务函数地址被保存在内核中的系统服务分发表中;2)使用钩子驱动程序实现对文件读写强制访问控制,首先将系统服务分发表中的文件读写地址保存起来,编写钩子函数,用该钩子函数的地址来替换该表项,替换对应的文件读写系统服务调用地址,当文件读写线程调用系统服务分发表时,文件读写相应调用参数会通过钩子函数传递给策略比对程序;3)策略程序根据文件读写相应调用参数与预先定义的访问控制策略将该文件读写系统服务调用相关信息遍历策略数据库与相应安全策略相比对,符合安全要求的调用内核模式对应接口执行该文件读写系统服务调用,不符合安全要求转入GUI,显示给管理员,所有的windows文件读写线程都会调用系统服务分发器进行文件读写系统服务分发,用户对内核层的所有文件读写操作都会被系统监控,从而实现win平台下文件读写操作内核级访问控制的目的。
全文摘要
本发明提供一种基于内核层技术实现对WIN平台文件读写操作访问控制方法该方法是在Windows内核执行体中放置一组“钩子”(Hooks)函数来控制对内核文件的访问权限。这样用户进程执行系统调用时,采用线程钩子函数拦截和监控用户线程对系统敏感文件的访问,进行强制访问控制检查,确定是否允许或禁止其访问。实现了对操作系统超级用户权限合理的分散与制约。从而大大的降低了万一出现的超级用户“大权旁落”时,非法人员对文件更改和泄密的威胁风险。
文档编号G06F21/00GK101493873SQ20091001962
公开日2009年7月29日 申请日期2009年3月4日 优先权日2009年3月4日
发明者波 孙, 进 张, 张吉志 申请人:浪潮电子信息产业股份有限公司