用户态文件完整性度量方法、装置、设备和介质制造方法及图纸

技术编号:34901576 阅读:17 留言:0更新日期:2022-09-10 14:08
本申请提供一种用户态文件完整性度量方法、装置、设备和介质。该方法包括:当通过内核空间的fanotify机制监控到文件变化的事件时,向用户空间的完整性守护线程池发送事件通知,其中,所述事件是通过应用程序访问所述文件产生的;通过所述线程池中的工作线程对所述文件进行完整性度量;在所述文件满足完整性度量后,向所述内核空间发送事件响应,所述事件响应用于指示所述应用程序可访问所述文件。本申请的方法能够保证完整性度量能够安全进行,且能够在闭源系统中使用。能够在闭源系统中使用。能够在闭源系统中使用。

【技术实现步骤摘要】
用户态文件完整性度量方法、装置、设备和介质


[0001]本申请涉及文件检测
,尤其涉及一种用户态文件完整性度量方法、装置、设备和介质。

技术介绍

[0002]Linux(GNU/Linux)系统,是以网络为核心的一个性能稳定的多用户网络操作系统。
[0003]在Linux系统下进行文件操作的时候往往需要进行完整性度量,需要对被篡改文件的进行实时阻止操作,以保证文件的安全交互,而现在的完整性度量方法中一般都涉及对内核的侵入式修改或者以内核模块方式提供整体功能。
[0004]但是,如果需要针对三方未开发源码的系统(闭源系统)使能完整性度量机制,已有涉及内核修改的完整性度量方案就不适用。

技术实现思路

[0005]本申请提供一种用户态文件完整性度量方法、装置、设备和介质,用以解决现有技术对闭源系统不适用的问题。
[0006]第一方面,本申请提供一种用户态文件完整性度量方法,包括:
[0007]当通过内核空间的fanotify机制监控到文件变化的事件时,向用户空间的完整性守护线程池发送事件通知,其中,所述事件是通过应用程序访问所述文件产生的;
[0008]通过所述线程池中的工作线程对所述文件进行完整性度量;
[0009]在所述文件满足完整性度量后,向所述内核空间发送事件响应,所述事件响应用于指示所述应用程序可访问所述文件。
[0010]在一种可能的实现方式中,所述向用户空间的完整性守护线程池发送事件通知,包括:
[0011]向所述用户空间的文件监控进程发送所述事件通知,所述文件监控进程将所述事件通知发送至所述完整性守护线程池;
[0012]所述通过所述线程池中的工作线程对所述文件进行完整性度量,包括:
[0013]通过所述工作线程判断待访问所述文件的进程是否为所述文件监控进程,其中,所述事件通知中携带待访问所述文件的进程的PID,所述工作线程根据所述PID确定待访问所述文件的进程是否为所述文件监控进程;
[0014]若否,则获取预先存储的所述文件的第一检验数据,根据所述第一检验数据对所述文件进行完整性度量。
[0015]在一种可能的实现方式中,所述根据所述第一检验数据对所述文件进行完整性度量,包括:
[0016]获取所述文件的元数据;
[0017]判断文件的元数据与预存的元数据是否匹配,若匹配,则根据所述文件的元数据
获取第二检验数据;
[0018]判断所述第一检验数据和所述第二检验数据是否匹配;
[0019]若匹配,则确定所述文件满足完整性度量。
[0020]在一种可能的实现方式中,所述确定所述文件满足完整性度量之后,所述方法还包括:
[0021]对所述文件进行度量标记,所述度量标记用于指示所述文件满足完整性度量。
[0022]在一种可能的实现方式中,所述方法还包括:
[0023]开启进程隐藏功能,所述进程隐藏功能用于隐藏设置在用户空间的完整性守护线程池以及所述文件监控进程文件监控进程。
[0024]在一种可能的实现方式中,所述方法还包括:
[0025]获取访问所述文件监控进程的访问进程的PID;
[0026]判断所述访问进程的PID是否为所述文件监控进程的PID;
[0027]若否,则拒绝所述访问进程访问所述文件监控进程的PID目录。
[0028]在一种可能的实现方式中,所述方法还包括:
[0029]在初始化流程中,生成监控文件列表,所述监控文件列表中存储有待监控的文件;所述内核空间的fanotify机制用于监控所述监控文件列表中的文件是否发送变化。
[0030]第二方面,本申请提供一种用户态文件完整性度量装置,包括:
[0031]通知模块,用于当通过内核空间的fanotify机制监控到文件变化的事件时,向用户空间的完整性守护线程池发送事件通知,其中,所述事件是通过应用程序访问所述文件产生的;
[0032]处理模块,用于通过所述线程池中的工作线程对所述文件进行完整性度量;
[0033]响应模块,用于在所述文件满足完整性度量后,向所述内核空间发送事件响应,所述事件响应用于指示所述应用程序可访问所述文件。
[0034]第三方面,本申请提供一种用户态文件完整性度量设备,包括:至少一个处理器和存储器;
[0035]所述存储器存储计算机执行指令;
[0036]所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上述的用户态文件完整性度量方法。
[0037]第四方面,本申请提供一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现如上述中任意一项所述的用户态文件完整性度量方法的步骤。
[0038]本申请提供的用户态文件完整性度量方法、装置、设备和介质,当通过内核空间的fanotify机制监控到文件变化的事件时,向用户空间的完整性守护线程池发送事件通知,其中,所述事件是通过应用程序访问所述文件产生的;通过所述线程池中的工作线程对所述文件进行完整性度量;在所述文件满足完整性度量后,向所述内核空间发送事件响应,所述事件响应用于指示所述应用程序可访问所述文件。能够实现将处理完整性度量的工作交接给应用层完成,适用于闭源系统。
附图说明
[0039]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0040]图1为本专利技术实施例提供的用户态文件完整性度量的应用场景图;
[0041]图2为本专利技术实施例提供的一种用户态文件完整性度量方法的流程图一;
[0042]图3为本专利技术实施例提供的一种用户态文件完整性度量方法的度量示意图;
[0043]图4为本专利技术实施例提供的一种用户态文件完整性度量方法的流程图二;
[0044]图5为本专利技术实施例提供的一种用户态文件完整性度量方法的流程图三;
[0045]图6为本专利技术实施例提供的一种用户态文件完整性度量装置图;
[0046]图7为本专利技术实施例提供的用户态文件完整性度量设备的硬件示意图。
具体实施方式
[0047]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0048]现有技术中一般是在内核层进行完整性度量,例如,预先定义需要度量的文件,并对预先定义的文件进行挂载,在挂载过程中,指定文件的version选项,并以此选项为对比内本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用户态文件完整性度量方法,其特征在于,包括:当通过内核空间的fanotify机制监控到文件变化的事件时,向用户空间的完整性守护线程池发送事件通知,其中,所述事件是通过应用程序访问所述文件产生的;通过所述线程池中的工作线程对所述文件进行完整性度量;在所述文件满足完整性度量后,向所述内核空间发送事件响应,所述事件响应用于指示所述应用程序可访问所述文件。2.根据权利要求1所述的方法,其特征在于,所述向用户空间的完整性守护线程池发送事件通知,包括:向所述用户空间的文件监控进程发送所述事件通知,所述文件监控进程将所述事件通知发送至所述完整性守护线程池;所述通过所述线程池中的工作线程对所述文件进行完整性度量,包括:通过所述工作线程判断待访问所述文件的进程是否为所述文件监控进程,其中,所述事件通知中携带待访问所述文件的进程的PID,所述工作线程根据所述PID确定待访问所述文件的进程是否为所述文件监控进程;若否,则获取预先存储的所述文件的第一检验数据,根据所述第一检验数据对所述文件进行完整性度量。3.根据权利要求2所述的方法,其特征在于,所述根据所述第一检验数据对所述文件进行完整性度量,包括:获取所述文件的元数据;判断文件的元数据与预存的元数据是否匹配,若匹配,则根据所述文件的元数据获取第二检验数据;判断所述第一检验数据和所述第二检验数据是否匹配;若匹配,则确定所述文件满足完整性度量。4.根据权利要求3所述的方法,其特征在于,所述确定所述文件满足完整性度量之后,所述方法还包括:对所述文件进行度量标记,所述度量标记用于指示所述文件满足完整性度量。5.根据权利要求2所述的方法,其特征在于,所述方法还包括...

【专利技术属性】
技术研发人员:隆春
申请(专利权)人:斑马网络技术有限公司
类型:发明
国别省市:

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

1