一种文件完整性的检测方法和装置与流程

文档序号:19156623发布日期:2019-11-16 00:53阅读:152来源:国知局
一种文件完整性的检测方法和装置与流程

本发明涉及数据处理技术领域,尤其涉及一种文件完整性的检测方法和装置。



背景技术:

由于网络环境的复杂性,电脑病毒和木马泛滥,网络陷阱,黑客攻击等时时刻刻威胁着装置上应用程序(包括至少一个文件目录,每个文件目录包括至少一个应用文件)的正常运行,而应用程序的正常运行是基于应用文件不被破坏。而应用程序中的重要文件一旦被破坏,应用程序自身往往没办法知道该情况,此时应用程序去访问被破坏的文件将会获取到非法数据,进而导致预期外的执行结果,甚至会因为文件读写访问异常引起应用程序的崩溃。对于某些全球广域网(worldwideweb,web)应用程序,超文本标记语言(hypertextmarkuplanguage,html)页面被篡改了后,并不影响应用程序的启动,但从安全性角度来说,该文件在满足可以被加载的情况下,可能会存在被非文件属主进行篡改的恶意行为。直接结果就是,当某些文件被恶意修改后,即使能被正常加载或运行,但该文件原始完整性的安全要素已被破坏,导致该文件处在较高安全风险状态。

因此,如何及时的检测出应用程序中的文件目录或者应用文件是否完整成为了一个亟待解决的问题。



技术实现要素:

本发明的实施例提供一种文件完整性的检测方法和装置,解决了如何及时的检测出应用程序中的文件目录或者应用文件是否完整的问题。

为达到上述目的,本发明的实施例采用如下技术方案:

第一方面,本发明的实施例提供一种文件完整性的检测方法,包括:获取待检测的文件目录;其中,文件目录包括至少一个应用文件,每个应用文件对应一个文件属性,文件属性包括:文件权限、所属用户、所属用户组、文件大小、修改日期和文件名;根据文件目录,确定当前检测周期内的检测参数;其中,检测参数包括文件目录包含应用文件的总数、应用文件的hash校验码和告警类别分析码中的一项或多项,hash校验码由应用文件的文件属性确定的,告警类别分析码由上一个检测周期内应用文件的文件属性和当前检测周期内应用文件的文件属性确定的;根据上一检测周期内的检测参数与当前检测周期内的检测参数,确定满足预设条件时,生成提示信息;其中,提示信息用于指示文件目录或者应用文件已发生改变。

由上述方案可知,本发明的实施例提供的文件完整性的检测方法,通过判别待检测的文件目录在上一检测周期内的检测参数与当前检测周期内的检测参数是否满足预设条件,从而可以判别文件目录或者应用文件是否发生改变;当确定上一检测周期内的检测参数与当前检测周期内的检测参数满足预设条件时,生成提示信息;因此,运维人员可以根据该提示信息判别指示文件目录或者应用文件是否发生改变;当运维人员根据本发明的实施例提供的文件完整性的检测方法检测应用程序的文件目录或者应用文件是否发生改变时,可以通过提示信息帮助运维人员尽快的找到发生改变的文件目录或者应用文件,降低排查的范围提高了运维人员的工作效率;进而解决了如何及时的检测出应用程序中的文件目录或者应用文件是否完整的问题。

第二方面,本发明的实施例提供一种文件完整性的检测装置,包括:收发单元,用于获取待检测的文件目录;其中,文件目录包括至少一个应用文件,每个应用文件对应一个文件属性,文件属性包括:文件权限、所属用户、所属用户组、文件大小、修改日期和文件名;处理单元,用于根据收发单元获取的文件目录,确定当前检测周期内的检测参数;其中,检测参数包括文件目录包含应用文件的总数、应用文件的hash校验码和告警类别分析码中的一项或多项,hash校验码用于指示应用文件的文件属性,每个文件属性对应一个告警类别分析码;处理单元,还用于根据上一检测周期内的检测参数与当前检测周期内的检测参数,确定满足预设条件时,生成提示信息;其中,提示信息用于指示文件目录或者应用文件已发生改变。

第三方面,本发明的实施例提供一种文件完整性的检测装置,包括:通信接口、处理器、存储器、总线;存储器用于存储计算机执行指令,处理器与存储器通过总线连接,当文件完整性的检测装置运行时,处理器执行存储器存储的计算机执行指令,以使文件完整性的检测装置执行如上述第一方面提供的方法。

第四方面,本发明的实施例提供一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上述第一方面提供的方法。

可以理解地,上述提供的任一种文件完整性的检测装置用于执行上文所提供的第一方面对应的方法,因此,其所能达到的有益效果可参考上文第一方面的方法以及下文具体实施方式中对应的方案的有益效果,此处不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的实施例提供的一种文件完整性的检测方法的网络架构图;

图2为本发明的实施例提供的一种文件完整性的检测方法的流程示意图之一;

图3为本发明的实施例提供的一种文件完整性的检测方法的流程示意图之二;

图4为本发明的实施例提供的一种文件完整性的检测方法的流程示意图之三;

图5为本发明的实施例提供的一种文件完整性的检测方法的流程示意图之四;

图6为本发明的实施例提供的一种文件完整性的检测装置的结构示意图之一;

图7为本发明的实施例提供的一种文件完整性的检测装置的结构示意图之二;

图8为本发明的实施例提供的一种文件完整性的检测装置的运行逻辑示意图;

图9为本发明的实施例提供的一种文件完整性的检测装置的结构示意图之三。

附图标记:

文件完整性的检测装置-10;

收发单元-101;处理单元-102。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。

在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个网络是指两个或两个以上的网络。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。本文中符号“/”表示关联对象是或者的关系,例如a/b表示a或者b。

图1为本发明的实施例提供的文件完整性的检测方法的网络架构图,包括用户,xx系统负载均衡高可用性(highavailability,ha),xx系统和文件完整性的检测装置;其中,用户通过xx系统负载均衡ha访问xx系统时,文件完整性检测装置会周期性的检测应用文件是否完整,从而保证用户的体验;示例性的,该xx系统为银行营销系统,则xx系统负载均衡ha可以是具备访问该银行营销系统的应用程序,用户通过用户设备上安装的应用程序访问银行营销系统时,文件完整性检测装置会周期性的检测用户访问的业务对应的应用文件是否完整,从而保证用户的体验。

实施例一

本发明的实施例提供一种文件完整性的检测方法,如图2所示包括:

s101、获取待检测的文件目录;其中,文件目录包括至少一个应用文件,每个应用文件对应一个文件属性,文件属性包括:文件权限、所属用户、所属用户组、文件大小、修改日期和文件名。

s102、根据文件目录或者文件属性,确定当前检测周期内的检测参数;其中,检测参数包括文件目录包含应用文件的总数、应用文件的hash校验码和告警类别分析码中的一项或多项,hash校验码用于指示应用文件的文件属性,每个文件属性对应一个告警类别分析码。

具体的,根据文件目录或者文件属性,确定当前检测周期内的检测参数,包括:

根据文件目录,确定文件目录包含应用文件的总数。

可选的,根据文件目录或者文件属性,确定当前检测周期内的检测参数,如图3所示包括:

s1020、根据hash校验码生成函数和应用文件的文件属性,确定应用文件的hash校验码。

需要说明的是,在实际的应用中,修改日期包括:修改年份,修改月份,修改日和修改时间;如:修改日期为jun-20-10:39,则修改月份为6六月(june,jun)月,修改日为20日,修改时间为10:39;hash校验码生成函数可以表示为function(‘文件权限’,‘所属用户’,‘所属用户组’,‘文件大小’,‘修改日前(月份)’,‘修改日期(日)’,‘修改日期(时间)’,‘文件名’)。

示例性的,hash校验码生成函数为hash(str(sorted{‘文件权限’,‘所属用户’,‘所属用户组’,‘文件大小’,‘修改日期(月份)’,‘修改日期(日)’,‘修改日期(时间)’,‘文件名’}))。

其中,hash校验码是18位十进制的字符串,并且hash校验码是不可逆的;例如:根据hash校验码生成函数和应用文件的文件属性,确定当前检测周期的hash校验码可以是359141506837671062。

可选的,根据文件目录或者文件属性,确定当前检测周期内的检测参数,如图4所示包括:

s1021、根据告警类别分析码生成函数、应用文件在上一个检测周期内的文件属性和应用文件在当前检测周期内的文件属性,确定应用文件的告警类别分析码。

需要说明的是,在实际的应用中告警类别分析码生成函数可以表示为function1(文件权限)+function2(所属用户)+function3(所属用户组)+function4(文件大小)+function5(修改日期)+function6(文件名)。

示例性的,告警类别分析码生成函数为hash(‘权限’)+hash(‘所属用户’)+hash(‘所属用户组’)+hash(‘文件大小’)+hash(‘修改日期’)+hash(‘文件名’)。

其中,告警类别分析码是6位二进制的字符串,初始的告警类别分析码是000000,从左到右分别表示应用文件的文件权限、所属用户、所属用户组、文件大小、修改日期和文件名;如:告警类别分析码为011111时,表示文件权限没有发生改变,所属用户发生了改变、所属用户组发生了改变、文件大小发生了改变、修改日期发生了改变、文件名发生了改变。

具体的,在判别文件权限、所属用户、所属用户组、文件大小、修改日期和文件名是否发生改变时,可以通过对比应用文件在上一个检测周期内的文件属性和应用文件在当前检测周期内的文件属性,判别发生了改变的文件属性,并将该文件属性对应的告警类别分析码置1。

需要说明的是,应用文件的文件属性在当前检测周期内发生改变时,此时该文件属性对应的告警类别分析码是1;而到了下一个检测周期时,该文件属性对应的告警类别分析码是0,从而始终可以通过对比应用文件在上一个检测周期内的文件属性和应用文件在当前检测周期内的文件属性,判别该文件属性是否发生了改变。

s103、根据上一检测周期内的检测参数与当前检测周期内的检测参数,确定满足预设条件时,生成提示信息;其中,提示信息用于指示文件目录或者应用文件已发生改变。

可选的,检测参数包括文件名和文件目录包含应用文件的总数;根据上一检测周期内的检测参数与当前检测周期内的检测参数,确定满足预设条件时,生成提示信息,如图5所示包括:

s1030、根据上一检测周期内文件目录包含应用文件的第一总数与当前检测周期内文件目录包含应用文件的第二总数,确定第一总数与第二总数不同时,生成文件目录已发生改变的提示信息。

或者,

s1031、确定第一总数与第二总数相同时,获取上一检测周期内文件目录包含的第一文件名和当前检测周期内文件目录包含的第二文件名。

s1032、确定第一文件名和第二文件名中存在不同的文件名时,生成文件目录已发生改变的提示信息。

可选的,检测参数包括应用文件的hash校验码和告警类别分析码;如图5所示该法还包括:

s1033、确定第一总数等于第二总数,并且第一文件名和第二文件名中不存在不同的文件名,并且上一检测周期内的应用文件的第一hash校验码与当前检测周期内的应用文件的第二hash校验码相同时,重新在下一个检测周期获取文件目录。

或者,

s1034、确定第一总数等于第二总数,并且第一文件名和第二文件名中不存在不同的文件名,并且第一hash校验码与第二hash校验码不同,并且上一检测周期内的应用文件的告警类别分析码与当前检测周期内的应用文件的告警类别分析码不同时,生成应用文件已发生改变的提示信息。

具体的,确定第一总数等于第二总数,并且第一文件名和第二文件名中不存在不同的文件名,并且第一hash校验码与第二hash校验码不同,并且上一检测周期内的应用文件的告警类别分析码与当前检测周期内的应用文件的告警类别分析码相同时,重新在下一个检测周期获取文件目录。

由上述方案可知,本发明的实施例提供的文件完整性的检测方法,通过判别待检测的文件目录在上一检测周期内的检测参数与当前检测周期内的检测参数是否满足预设条件,从而可以判别文件目录或者应用文件是否发生改变;当确定上一检测周期内的检测参数与当前检测周期内的检测参数满足预设条件时,生成提示信息;因此,运维人员可以根据该提示信息判别指示文件目录或者应用文件是否发生改变;当运维人员根据本发明的实施例提供的文件完整性的检测方法检测应用程序的文件目录或者应用文件是否发生改变时,可以通过提示信息帮助运维人员尽快的找到发生改变的文件目录或者应用文件,降低排查的范围提高了运维人员的工作效率;进而解决了如何及时的检测出应用程序中的文件目录或者应用文件是否完整的问题。

实施例二

本发明的实施例提供一种文件完整性的检测装置10,如图6所示包括:

收发单元101,用于获取待检测的文件目录;其中,文件目录包括至少一个应用文件,每个应用文件对应一个文件属性,文件属性包括:文件权限、所属用户、所属用户组、文件大小、修改日期和文件名。

处理单元102,用于根据收发单元101获取的文件目录或者收发单元101获取的文件属性,确定当前检测周期内的检测参数;其中,检测参数包括文件目录包含应用文件的总数、应用文件的hash校验码和告警类别分析码中的一项或多项,hash校验码用于指示应用文件的文件属性,每个文件属性对应一个告警类别分析码。

处理单元102,还用于根据上一检测周期内的检测参数与当前检测周期内的检测参数,确定满足预设条件时,生成提示信息;其中,提示信息用于指示文件目录或者应用文件已发生改变。

可选的,检测参数包括文件名和文件目录包含应用文件的总数;处理单元102,具体用于根据上一检测周期内文件目录包含应用文件的第一总数与当前检测周期内文件目录包含应用文件的第二总数,确定第一总数与第二总数不同时,生成文件目录已发生改变的提示信息;或者,收发单元101,具体用于处理单元102确定第一总数与第二总数相同时,获取上一检测周期内文件目录包含的第一文件名和当前检测周期内文件目录包含的第二文件名;处理单元102,具体用于确定收发单元101获取的第一文件名和收发单元101获取的第二文件名中存在不同的文件名时,生成文件目录已发生改变的提示信息。

可选的,检测参数包括应用文件的hash校验码和告警类别分析码;处理单元102,还用于确定第一总数等于第二总数,并且第一文件名和第二文件名中不存在不同的文件名,并且上一检测周期内的应用文件的第一hash校验码与当前检测周期内的应用文件的第二hash校验码相同时,重新在下一个检测周期获取文件目录;或者,处理单元102,还用于确定第一总数等于第二总数,并且第一文件名和第二文件名中不存在不同的文件名,并且第一hash校验码与第二hash校验码不同,并且上一检测周期内的应用文件的告警类别分析码与当前检测周期内的应用文件的告警类别分析码不同时,生成应用文件已发生改变的提示信息。

可选的,处理单元102,具体用于根据hash校验码生成函数和收发单元101获取的应用文件的文件属性,确定应用文件的hash校验码。

可选的,处理单元102,具体用于根据告警类别分析码生成函数、应用文件在上一个检测周期内的文件属性和收发单元101获取的应用文件在当前检测周期内的文件属性,确定应用文件的告警类别分析码。

具体的,本发明的实施例提供的文件完整性的检测装置如图7所示,包括配置待检测目录模块、信息接收模块、hash校验码生成模块、告警类别分析码生成模块、内容判断模块、日志生成模块和发送告警日志模块;其中,收发单元包括配置待检测目录模块、信息接收模块和发送告警日志模块,处理单元包括hash校验码生成模块、告警类别分析码生成模块、内容判断模块和日志生成模块;具体的,如图8所示,配置待检测目录模块用于获取调度装置定时调用的检测程序(即本发明的实施例提供的文件完整性的检测方法);信息接收模块用于获取待检测的文件目录;hash校验码生成模块用于对初次检测的应用文件生成初始hash校验码;告警类别分析码生成模块用于对初次检测的应用文件生成初始告警类别分析码;存储模块用于存储该文件目录在每个检测周期内的包含的应用文件,该应用文件对应的文件名,hash校验码,告警类别分析码,以及该应用文件的文件属性;hash校验码生成模块还用于对再次检测的应用文件生成hash校验码;告警类别分析码生成模块还用于再次检测的应用文件生成告警类别分析码;内容判断模块用于根据hash校验码生成模块、告警类别分析码生成模块上一检测周期的检测参数和当前检测周期的检测参数判别上一检测周期内文件目录包含应用文件的第一总数与当前检测周期内文件目录包含应用文件的第二总数是否相同、上一检测周期内文件目录包含的第一文件名和当前检测周期内文件目录包含的第二文件名是否相同、上一检测周期内的应用文件的第一hash校验码与当前检测周期内的应用文件的第二hash校验码是否相同、上一检测周期内的应用文件的告警类别分析码与当前检测周期内的应用文件的告警类别分析码是否相同;其中,上一检测周期的检测参数和当前检测周期的检测参数判别上一检测周期内文件目录包含应用文件的第一总数与当前检测周期内文件目录包含应用文件的第二总数相同时,不做任何处理;如果第一总数与第二总数,则日志生成模块根据内容判别模块的判别结果,将多余的文件名或者缺少的文件名记录到日志中(告警类别是新增文件或者丢失文件);内容判别模块还用于确定第一总数等于第二总数,并且第一文件名和第二文件名中不存在不同的文件名时,获取文件目录中相同的文件名,分别比较每个应用文件在上一个检测周期和当前检测周期两次生成的hash校验码、告警类别分析码是否相等。如果hash校验码相同,则不做任何处理;如果两个hash校验码的比较结果不相等,则说明应用文件被修改了,进一步对比上一个检测周期和当前检测周期两次生成的告警类别分析码,根据对比结果找出应用文件的哪个文件属性(文件权限、所属用户、所属用户组、文件大小、修改日期、文件名)被修改,此时日志生成模块根据内容判别模块的判别结果,将应用文件的文件名及修改的文件属性记录到日志(告警类别是修改文件);发送告警日志模块,用于将日志生成模块生成的日志通过短信、邮件等形式告知运维人员。

其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,其作用在此不再赘述。

在采用集成的模块的情况下文件完整性的检测装置10包括:存储单元、处理单元以及收发单元。处理单元用于对文件完整性的检测装置的动作进行控制管理,例如,处理单元用于支持文件完整性的检测装置执行图2中的过程s101、s102和s103;收发单元用于支持文件完整性的检测装置与其他设备的信息交互。存储单元,用于存储文件完整性的检测装置的程序代码和数据。

其中,以处理单元为处理器,存储单元为存储器,收发单元为通信接口为例。其中,文件完整性的检测装置参照图9中所示,包括通信接口501、处理器502、存储器503和总线504,通信接口501、处理器502通过总线504与存储器503相连。

处理器502可以是一个通用中央处理器(centralprocessingunit,cpu),微处理器,特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本申请方案程序执行的集成电路。

存储器503可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。

其中,存储器503用于存储执行本申请方案的应用程序代码,并由处理器502来控制执行。通信接口501用于与其他设备进行信息交互,例如与遥控器的信息交互。处理器502用于执行存储器503中存储的应用程序代码,从而实现本申请实施例中所述的方法。

此外,还提供一种计算存储媒体(或介质),包括在被执行时进行上述实施例中的文件完整性的检测装置执行的方法操作的指令。另外,还提供一种计算机程序产品,包括上述计算存储媒体(或介质)。

应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,装置,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文简称:rom)、随机存取存储器(英文全称:randomaccessmemory,英文简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

可以理解地,上述提供的任一种文件完整性的检测装置用于执行上文所提供的实施例一对应的方法,因此,其所能达到的有益效果可参考上文实施例一的方法以及下文具体实施方式中对应的方案的有益效果,此处不再赘述。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1