本发明专利技术中公开了一种内核级的文件防护方法及系统,所述方法应用于所述系统中,通过获取所述内核级的文件的文件操作表和索引节点操作表后,将所述文件操作表和所述索引节点操作表中的参数进行修改,得到指向结果,依据所述指向结果得到规则检查函数,通过所述规则检查函数判断所述内核级的文件操作是否符合预设防护规则,如果是,则阻止所述内核级的文件操作,如果否,则完成所述内核级的文件操作,所述方法不需要劫持与文件操作相关的所有系统调用,而只是修改了所述内核文件对应的文件操作表和索引节点操作表,就可以实现对所述内核级的文件操作层的劫持,这样不会给整个操作系统带来很大的影响,并且稳定性好。
【技术实现步骤摘要】
一种内核级的文件防护方法及系统
本专利技术涉及系统安全
,特别是一种内核级的文件防护方法及系统。
技术介绍
文件防护是系统安全、入侵检测、网页防篡改等产品中常用的技术,其功能是保护特定的目录或文件,使其不被非法篡改。从机制上来说,文件防护大致分为两大类:一种是实时阻断类,即在篡改发生前即阻止;另一种是事后恢复类,即在篡改发生后及时发现并进行恢复。而内核级的文件防护机制作为一种实时阻断的文件防护机制被很多Linux用户所使用。目前,Linux下常用的一种内核级的文件防护机制是劫持与文件操作相关的系统调用(如open、write、rename、unlink等),在自定义的系统调用实现函数中进行合法性检查。其工作原理是:Linux系统调用表的每个表项都存储着某个系统调用的实现函数的地址。Linux在执行系统调用中断例程时,会以系统调用号为索引查找系统调用表,确定系统调用实现函数的地址。通过修改系统调用表的全部或部分表项,可以使其指向自定义的处理函数,从而实现对系统调用的劫持。但是,这种内核级的文件防护机制中存在的问题为:与文件操作相关的系统调用多达几十个,且随着Linux内核版本的更新而不断增加,全部劫持与文件操作相关的系统调用对原来的系统影响很大,而只劫持部分系统调用又会导致防护上的漏洞,并且对系统调用全部劫持的话,将会影响整个操作系统中所有文件的操作。
技术实现思路
本专利技术提供一种内核级的文件防护方法及系统,以解决现有技术中全部劫持对文件操作相关的系统调用时,会造成整个操作系统的稳定性差并且对整个操作系统影响大的问题。具体技术方案如下:一种内核级的文件防护方法,所述方法包括:接收内核级的文件防护请求;获取所述内核级的文件的文件操作表和索引节点操作表;分别修改所述文件操作表和索引节点操作表中的参数,得到指向结果,依据所述指向结果得到规则检查函数;通过所述规则检查函数判断所述内核级的文件操作是否符合预设防护规则,如果是,则阻止所述内核级的文件操作,如果否,则完成所述内核级的文件操作。优选地,所述通过所述规则检查函数判断所述内核级的文件操作是否符合预设防护规则的过程包括:通过所述规则检查函数判断所述内核级的文件操作是否有禁止进程对所述内核级的文件进行更改的操作,如果是,则阻止所述内核文件操作,如果否,则完成所述内核级的文件操作。优选地,所述通过所述规则检查函数判断所述内核级的文件操作是否符合预设防护规则的过程包括:通过所述规则检查函数判断所述内核级的文件操作是否有禁止用户对所述内核级的文件进行更改的操作,如果是,则阻止所述内核级的文件操作,如果否,则完成所述内核级的文件操作。优选地,所述通过所述规则检查函数判断所述内核级的文件操作是否符合预设防护规则的过程包括:通过所述规则检查函数判断所述内核级的文件操作是否有禁止进程对所述内核级的文件进行更改和禁止用户对所述内核级的文件进行更改的操作,如果是,则阻止所述内核级的文件操作,如果否,则完成所述内核级的文件操作。优选地,在获取所述内核级的文件的文件操作表和索引节点操作表之后,在修改所述文件操作表和索引节点操作表中的参数之前,还包括:将所述文件操作表和索引节点操作表进行备份。一种内核级的文件防护系统,所述系统包括:接收模块、获取模块、修改模块和判断模块;其中,所述接收模块用于,接收内核级的文件防护请求;所述获取模块用于,获取所述内核级的文件的文件操作表和索引节点操作表;所述修改模块用于,分别修改所述内核级的文件操作表和索引节点操作表中的参数,得到指向结果,依据所述指向结果得到规则检查函数;所述判断模块用于,通过所述规则检查函数判断所述内核级的文件操作是否符合预设防护规则,如果是,则阻止所述内核级的文件操作,如果否,则完成所述内核级的文件操作。优选地,所述判断模块用于,通过所述规则检查函数判断所述内核级的文件操作是否有禁止进程对所述内核级的文件进行更改的操作,如果是,则阻止所述内核文件操作,如果否,则完成所述内核级的文件操作。优选地,所述判断模块用于,通过所述规则检查函数判断所述内核级的文件操作是否有禁止用户对所述内核级的文件进行更改的操作,如果是,则阻止所述内核级的文件操作,如果否,则完成所述内核级的文件操作。优选地,所述判断模块用于,通过所述规则检查函数判断所述内核级的文件操作是否有禁止进程对所述内核级的文件进行更改和禁止用户对所述内核级的文件进行更改的操作,如果是,则阻止所述内核级的文件操作,如果否,则完成所述内核级的文件操作。优选地,还包括:备份模块;所述备份模块用于,将所述文件操作表和索引节点操作表进行备份。从以上技术方案可以看出,本专利技术提供了一种内核级的文件防护方法及系统,所述方法应用于所述系统中,通过获取所述内核级的文件的文件操作表和索引节点操作表后,将所述文件操作表和所述索引节点操作表中的参数进行修改,得到指向结果,依据所述指向结果得到规则检查函数,通过所述规则检查函数判断所述内核级的文件操作是否符合预设防护规则,如果是,则阻止所述内核级的文件操作,如果否,则完成所述内核级的文件操作,所述方法不需要劫持与文件操作相关的所有系统调用,而只是修改了所述内核文件对应的文件操作表和索引节点操作表,就可以实现对所述内核级的文件操作层的劫持,这样不会给整个操作系统带来很大的影响,并且稳定性好。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对专利技术或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术公开的虚拟文件系统分层结构示意图;图2为本专利技术公开的实现一个文件操作的基本步骤示意图;图3为本专利技术实施例一公开的一种内核级的文件防护方法流程示意图;图4为本专利技术实施例二公开的一种内核级的文件防护方法流程示意图;图5为本专利技术实施例三公开的一种内核级的文件防护方法流程示意图;图6为本专利技术公开的一个具体实例;图7为本专利技术实施例四公开的一种内核级的文件防护系统结构示意图;图8为本专利技术实施例五公开的一种内核级的文件防护系统结构示意图。具体实施方式文件防护是系统安全、入侵检测、网页篡改等产品常用的技术,其功能是保护特定的目录或文件,使其不被非法篡改。从机制上来说,文件防护大致分为两大类:一种是实时阻断类,即在篡改发生前即阻止;另一种是事后恢复类,即在篡改发生后及时发现并进行恢复。而内核级的文件防护机制作为一种实时阻断的文件防护机制被很多Linux用户所使用。目前,Linux下常用的一种内核级的文件防护机制是劫持与文件操作相关的系统调用(如open、write、rename、unlink等),在自定义的系统调用实现函数中进行合法性检查。其工作原理是:Linux系统调用表的每个表项都存储着某个系统调用的实现函数的地址。Linux在执行系统调用中断例程时,会以系统调用号为索引查找系统调用表,确定系统调用实现函数的地址。通过修改系统调用表的全部或部分表项,可以使其指向自定义的处理函数,从而实现对系统调用的劫持。Linux之所以能支持ext3、reiserfs、nfs等众多的各种文件系统,是因为Linux提供了本文档来自技高网...
【技术保护点】
一种内核级的文件防护方法,其特征在于,所述方法包括:接收内核级的文件防护请求;获取所述内核级的文件的文件操作表和索引节点操作表;分别修改所述文件操作表和索引节点操作表中的参数,得到指向结果,依据所述指向结果得到规则检查函数;通过所述规则检查函数判断所述内核级的文件操作是否符合预设防护规则,如果是,则阻止所述内核级的文件操作,如果否,则完成所述内核级的文件操作。
【技术特征摘要】
1.一种内核级的文件防护方法,其特征在于,所述方法包括:接收内核级的文件防护请求;获取所述内核级的文件的文件操作表和索引节点操作表,其中,与索引节点对象相关的操作集合称为索引节点操作表,与文件对象相关的操作集合称为文件操作表;分别修改所述文件操作表和索引节点操作表中的参数,得到指向结果,依据所述指向结果得到规则检查函数;通过所述规则检查函数判断所述内核级的文件操作是否符合预设防护规则,如果是,则阻止所述内核级的文件操作,如果否,则完成所述内核级的文件操作。2.根据权利要求1所述的方法,其特征在于,所述通过所述规则检查函数判断所述内核级的文件操作是否符合预设防护规则的过程包括:通过所述规则检查函数判断所述内核级的文件操作是否有禁止进程对所述内核级的文件进行更改的操作,如果是,则阻止所述内核级的文件操作,如果否,则完成所述内核级的文件操作。3.根据权利要求1所述的方法,其特征在于,所述通过所述规则检查函数判断所述内核级的文件操作是否符合预设防护规则的过程包括:通过所述规则检查函数判断所述内核级的文件操作是否有禁止用户对所述内核级的文件进行更改的操作,如果是,则阻止所述内核级的文件操作,如果否,则完成所述内核级的文件操作。4.根据权利要求1所述的方法,其特征在于,所述通过所述规则检查函数判断所述内核级的文件操作是否符合预设防护规则的过程包括:通过所述规则检查函数判断所述内核级的文件操作是否有禁止进程对所述内核级的文件进行更改和禁止用户对所述内核级的文件进行更改的操作,如果是,则阻止所述内核级的文件操作,如果否,则完成所述内核级的文件操作。5.根据权利要求1所述的方法,其特征在于,在获取所述内核级的文件的文件操作表和索引节点操作表之后,在修改所述文件操作表和索引节点操...
【专利技术属性】
技术研发人员:吴明桥,高隆林,韩峰,张青,
申请(专利权)人:山东中创软件商用中间件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。