一种文件监控的方法及装置制造方法及图纸

技术编号:36987880 阅读:11 留言:0更新日期:2023-03-25 18:05
本发明专利技术公开了一种文件监控的方法及装置,解决现有技术中的文件监控的方法存在监测遗漏,全面监控系统开销较大、严重影响系统性能的技术问题。本发明专利技术的文件监控的方法及装置,采用共享存储空间机制,利用用户空间组件、内核监测组件和内核交互组件监控文件。用户空间组件,用于将内核监测组件装载到内核。内核监测组件是字节码程序,由内核解释执行,所述字节码程序是由计算机编译得到;装载过程中会对内核监测组件进行程序安全性检查,将内核监测组件挂载到内核的跟踪点,设置事件回调函数,循环监听事件;当得到事件内容时,输出到终端、或日志文件;可应用于信息安全技术领域。可应用于信息安全技术领域。可应用于信息安全技术领域。

【技术实现步骤摘要】
一种文件监控的方法及装置


[0001]本专利技术涉及信息安全
,尤其涉及一种文件监控的方法及装置。

技术介绍

[0002]文件监控主要用于检测恶意软件的行为。恶意软件通过下载额外的攻击程序,或者创建驻留文件,或者修改敏感文件配置,以达到攻击者的意图。而通过文件监控,可以及时发现敏感文件的访问、恶意软件下载等危险行为。虽然操作系统中已有相关的文件监控得到应用,如inotify,但是这种文件监控方式存在着性能瓶颈。特别是当监测服务器端大量文件时,就需要有高性能的文件监控方法。
[0003]目前常用的文件监控方法主要有以下几种:一是通过文件防护策略的方式。将文件防护策略与文件列表建立对应关系。通过对列表中的文件进行扫描来判断文件是否被修改。二是通过inotify API进行监控。inotify是一个文件更改通知系统,属于内核的一个功能,它允许应用程序根据事件列表请求监视一组文件。当事件发生时,应用程序会收到通知。
[0004]以上文件监控的方法存在以下问题:第一,文件防护策略的方式,虽然减少了监测量,避免了大量的系统开销,但是存在监测遗漏的情况。如果恶意软件修改的文件不在列表中,那么就无法监测到。第二,inotify方式,是通过拦截系统调用进行监控,监控全面,但是在监控记录输出时系统开销较大。如果恶意软件进行大量文件的创建和修改,那么会严重影响系统性能。
[0005]因此,需要设计一种高效的文件监控方法及装置来跟踪软件对文件的访问。

技术实现思路

[0006]本专利技术提供一种文件监控的方法及装置,可有效记录系统中文件的访问情况,并可高效运行,降低系统性能开销。
[0007]为了实现上述目的,本专利技术采用的技术方案如下:本专利技术提供一种文件监控的方法,采用用户空间与内核空间的共享存储空间机制,提高监测性能,涉及的组件包括用户空间组件、内核监测组件和内核交互组件。用户空间组件是用户态程序,通过内核交互组件控制内核监测组件。内核交互组件是用户态程序与内核态程序交互的接口,提供相关函数给用户空间组件调用,以控制内核监测组件。内核监测组件是内核态程序,在内核处获取文件监控的相关信息,存入共享存储空间。内核交互组件从共享存储空间取出文件监控信息传递给用户空间组件,用户空间组件处理后形成文件监控记录输出。
[0008]优选的,方法包括以下几个步骤:在步骤S101中,用户空间组件,将内核监测组件装载到内核,内核监测组件是字节码程序,由内核解释执行,所述字节码程序是由计算机编译得到;装载字节码程序过程中会对内核监测组件进行程序安全性检查;
在步骤S102中,用户空间组件,将内核监测组件挂载到内核的跟踪点;跟踪点是内核提供的一种挂钩函数;在步骤S103中,用户空间组件,设置事件回调函数;当共享存储空间有事件数据时,会触发用户空间程序的回调函数;在步骤S104中,用户空间组件,循环监听事件;在步骤S105中,内核监测组件,由用户空间组件挂载到open、openat系统调用函数的入口处;在步骤S106中,内核监测组件,获取当前进程id号,该进程id号作为数据存储的索引值,存储到特定的共享存储空间;在步骤S107中,内核监测组件,在被监测进程退出open系统调用,或者退出openat系统调用时,从特定的共享存储空间读取进程号,同时从内核中获取当前进程的进程名、打开文件的完整路径名,查找到对应进程id号的索引值,将当前进程的进程名、打开文件的完整路径名存储到对应的共享存储空间;在步骤S108中,内核监测组件,发送信号通知用户空间组件;在步骤S109中,用户空间组件,收到内核监测组件发送的信号,从共享存储空间中得到事件内容,并输出到终端、或日志文件。
[0009]第二方面,本专利技术提供一种文件监控装置,包括:用户空间组件,用于将内核监测组件装载到内核,内核监测组件是字节码程序,由内核解释执行,所述字节码程序是由计算机编译得到;装载过程中会对内核监测组件进行程序安全性检查,将字节码程序挂载到内核的跟踪点,设置事件回调函数,循环监听事件;当得到事件内容时,输出到终端、或日志文件;共享存储空间,用于存储内核空间组件传递出来的数据,提供给用户空间组件获取;内核监测组件,用于由用户空间组件挂载到open、openat系统调用函数的入口处;获取当前进程id号,该进程id号作为数据存储的索引值,存储到特定的共享存储空间;在被监测进程退出open系统调用,或者退出openat系统调用时,从特定的共享存储空间读取进程号,同时从内核中获取当前进程的进程名、打开文件的完整路径名,查找到对应进程id号的索引值,将当前进程的进程名、打开文件的完整路径名存储到对应的共享存储空间;发送信号通知用户空间组件;内核交互组件,用于用户空间程序与操作系统内核进行交互;操作系统内核,操作系统的核心部分;解释执行内核监测组件;文件监控记录,用户空间组件输出的记录。
[0010]本专利技术具有以下优点:本专利技术的文件监控的方法及装置,由于是共享存储空间,用户空间和内核空间在进行数据传输时不会引入过高的性能开销,可提高性能,可实现高效的文件监控。
附图说明
[0011]图1为本专利技术提供的文件监控方法的流程图;图2为本专利技术提供的文件监控装置的结构图;
图3为本专利技术提供的文件监控的示意图。
具体实施方式
[0012]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0013]以下结合具体实施例对本专利技术的具体实现进行详细描述:
实施例一
[0014]如图1所示,本专利技术实施例一提供的文件监控方法,采用共享存储空间机制,利用用户空间组件、内核监测组件和内核交互组件监控文件,包括以下几个步骤:在步骤S101中,用户空间组件,将内核监测组件装载到内核,内核监测组件是字节码程序,由内核解释执行,所述字节码程序是由计算机编译得到;装载过程中会对内核监测组件进行程序安全性检查。
[0015]在步骤S102中,用户空间组件,将内核监测组件挂载到内核的跟踪点;跟踪点是内核提供的一种挂钩函数。
[0016]在步骤S103中,用户空间组件,设置事件回调函数,当共享存储空间有事件数据时,会触发用户空间程序的回调函数。
[0017]在步骤S104中,用户空间组件,循环监听事件。
[0018]在步骤S105中,内核监测组件,由用户空间组件挂载到open、openat系统调用函数的入口处。
[0019]在步骤S106中,内核监测组件,获取当前进程id号,该进程id号作为数据存储的索引值,存储到特定的共享存储空间。
[0020]在步骤S107中,内核监测组件,在被监测进程退出open系统调用,或者退出openat系统调用时,从特定的共享存储空间读取进程号,同时从内核中获取当前进程的进程名、打开文件的完整路径名,查找到对应进程id号的索引值,将当前进程的进程名、打开文件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件监控的方法,其特征在于,采用共享存储空间机制,利用用户空间组件、内核监测组件和内核交互组件监控文件。2.根据权利要求1所述的一种文件监控的方法,其特征在于,所述方法包括以下几个步骤:在步骤S101中,用户空间组件,将内核监测组件装载到内核,内核监测组件是字节码程序,由内核解释执行,所述字节码程序是由计算机编译得到;装载字节码程序过程中会对内核监测组件进行程序安全性检查;在步骤S102中,用户空间组件,将内核监测组件挂载到内核的跟踪点;在步骤S103中,用户空间组件,设置事件回调函数;当共享存储空间有事件数据时,会触发用户空间程序的回调函数;在步骤S104中,用户空间组件,循环监听事件;在步骤S105中,内核监测组件,由用户空间组件挂载到open、openat系统调用函数的入口处;在步骤S106中,内核监测组件,获取当前进程id号,该进程id号作为数据存储的索引值,存储到特定的共享存储空间;在步骤S107中,内核监测组件,在被监测进程退出open系统调用,或者退出openat系统调用时,从特定的共享存储空间读取进程号,同时从内核中获取当前进程的进程名、打开文件的完整路径名,查找到对应进程id号的索引值,将当前进程的进程名、打开文件的完整路径名存储到对应的共享存储空间;在步骤S1...

【专利技术属性】
技术研发人员:谷永辉张庆贤宋乐明林杰刘川意
申请(专利权)人:山东捷讯通信技术有限公司
类型:发明
国别省市:

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

1