CN115840938B - 一种文件监控的方法及装置 - Google Patents
一种文件监控的方法及装置 Download PDFInfo
- Publication number
- CN115840938B CN115840938B CN202310138862.XA CN202310138862A CN115840938B CN 115840938 B CN115840938 B CN 115840938B CN 202310138862 A CN202310138862 A CN 202310138862A CN 115840938 B CN115840938 B CN 115840938B
- Authority
- CN
- China
- Prior art keywords
- kernel
- component
- monitoring
- user space
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种文件监控的方法及装置,解决现有技术中的文件监控的方法存在监测遗漏,全面监控系统开销较大、严重影响系统性能的技术问题。本发明的文件监控的方法及装置,采用共享存储空间机制,利用用户空间组件、内核监测组件和内核交互组件监控文件。用户空间组件,用于将内核监测组件装载到内核。内核监测组件是字节码程序,由内核解释执行,所述字节码程序是由计算机编译得到;装载过程中会对内核监测组件进行程序安全性检查,将内核监测组件挂载到内核的跟踪点,设置事件回调函数,循环监听事件;当得到事件内容时,输出到终端、或日志文件;可应用于信息安全技术领域。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种文件监控的方法及装置。
背景技术
文件监控主要用于检测恶意软件的行为。恶意软件通过下载额外的攻击程序,或者创建驻留文件,或者修改敏感文件配置,以达到攻击者的意图。而通过文件监控,可以及时发现敏感文件的访问、恶意软件下载等危险行为。虽然操作系统中已有相关的文件监控得到应用,如inotify,但是这种文件监控方式存在着性能瓶颈。特别是当监测服务器端大量文件时,就需要有高性能的文件监控方法。
目前常用的文件监控方法主要有以下几种:一是通过文件防护策略的方式。将文件防护策略与文件列表建立对应关系。通过对列表中的文件进行扫描来判断文件是否被修改。二是通过inotify API进行监控。inotify是一个文件更改通知系统,属于内核的一个功能,它允许应用程序根据事件列表请求监视一组文件。当事件发生时,应用程序会收到通知。
以上文件监控的方法存在以下问题:第一,文件防护策略的方式,虽然减少了监测量,避免了大量的系统开销,但是存在监测遗漏的情况。如果恶意软件修改的文件不在列表中,那么就无法监测到。第二,inotify方式,是通过拦截系统调用进行监控,监控全面,但是在监控记录输出时系统开销较大。如果恶意软件进行大量文件的创建和修改,那么会严重影响系统性能。
因此,需要设计一种高效的文件监控方法及装置来跟踪软件对文件的访问。
发明内容
本发明提供一种文件监控的方法及装置,可有效记录系统中文件的访问情况,并可高效运行,降低系统性能开销。
为了实现上述目的,本发明采用的技术方案如下:
本发明提供一种文件监控的方法,采用用户空间与内核空间的共享存储空间机制,提高监测性能,涉及的组件包括用户空间组件、内核监测组件和内核交互组件。用户空间组件是用户态程序,通过内核交互组件控制内核监测组件。内核交互组件是用户态程序与内核态程序交互的接口,提供相关函数给用户空间组件调用,以控制内核监测组件。内核监测组件是内核态程序,在内核处获取文件监控的相关信息,存入共享存储空间。内核交互组件从共享存储空间取出文件监控信息传递给用户空间组件,用户空间组件处理后形成文件监控记录输出。
优选的,方法包括以下几个步骤:
在步骤S101中,用户空间组件,将内核监测组件装载到内核,内核监测组件是字节码程序,由内核解释执行,所述字节码程序是由计算机编译得到;装载字节码程序过程中会对内核监测组件进行程序安全性检查;
在步骤S102中,用户空间组件,将内核监测组件挂载到内核的跟踪点;跟踪点是内核提供的一种挂钩函数;
在步骤S103中,用户空间组件,设置事件回调函数;当共享存储空间有事件数据时,会触发用户空间程序的回调函数;
在步骤S104中,用户空间组件,循环监听事件;
在步骤S105中,内核监测组件,由用户空间组件挂载到open、openat系统调用函数的入口处;
在步骤S106中,内核监测组件,获取当前进程id号,该进程id号作为数据存储的索引值,存储到特定的共享存储空间;
在步骤S107中,内核监测组件,在被监测进程退出open系统调用,或者退出openat系统调用时,从特定的共享存储空间读取进程号,同时从内核中获取当前进程的进程名、打开文件的完整路径名,查找到对应进程id号的索引值,将当前进程的进程名、打开文件的完整路径名存储到对应的共享存储空间;
在步骤S108中,内核监测组件,发送信号通知用户空间组件;
在步骤S109中,用户空间组件,收到内核监测组件发送的信号,从共享存储空间中得到事件内容,并输出到终端、或日志文件。
第二方面,本发明提供一种文件监控装置,包括:
用户空间组件,用于将内核监测组件装载到内核,内核监测组件是字节码程序,由内核解释执行,所述字节码程序是由计算机编译得到;装载过程中会对内核监测组件进行程序安全性检查,将字节码程序挂载到内核的跟踪点,设置事件回调函数,循环监听事件;当得到事件内容时,输出到终端、或日志文件;
共享存储空间,用于存储内核空间组件传递出来的数据,提供给用户空间组件获取;
内核监测组件,用于由用户空间组件挂载到open、openat系统调用函数的入口处;获取当前进程id号,该进程id号作为数据存储的索引值,存储到特定的共享存储空间;在被监测进程退出open系统调用,或者退出openat系统调用时,从特定的共享存储空间读取进程号,同时从内核中获取当前进程的进程名、打开文件的完整路径名,查找到对应进程id号的索引值,将当前进程的进程名、打开文件的完整路径名存储到对应的共享存储空间;发送信号通知用户空间组件;
内核交互组件,用于用户空间程序与操作系统内核进行交互;
操作系统内核,操作系统的核心部分;解释执行内核监测组件;
文件监控记录,用户空间组件输出的记录。
本发明具有以下优点:
本发明的文件监控的方法及装置,由于是共享存储空间,用户空间和内核空间在进行数据传输时不会引入过高的性能开销,可提高性能,可实现高效的文件监控。
附图说明
图1为本发明提供的文件监控方法的流程图;
图2为本发明提供的文件监控装置的结构图;
图3为本发明提供的文件监控的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一
如图1所示,本发明实施例一提供的文件监控方法,采用共享存储空间机制,利用用户空间组件、内核监测组件和内核交互组件监控文件,包括以下几个步骤:
在步骤S101中,用户空间组件,将内核监测组件装载到内核,内核监测组件是字节码程序,由内核解释执行,所述字节码程序是由计算机编译得到;装载过程中会对内核监测组件进行程序安全性检查。
在步骤S102中,用户空间组件,将内核监测组件挂载到内核的跟踪点;跟踪点是内核提供的一种挂钩函数。
在步骤S103中,用户空间组件,设置事件回调函数,当共享存储空间有事件数据时,会触发用户空间程序的回调函数。
在步骤S104中,用户空间组件,循环监听事件。
在步骤S105中,内核监测组件,由用户空间组件挂载到open、openat系统调用函数的入口处。
在步骤S106中,内核监测组件,获取当前进程id号,该进程id号作为数据存储的索引值,存储到特定的共享存储空间。
在步骤S107中,内核监测组件,在被监测进程退出open系统调用,或者退出openat系统调用时,从特定的共享存储空间读取进程号,同时从内核中获取当前进程的进程名、打开文件的完整路径名,查找到对应进程id号的索引值,将当前进程的进程名、打开文件的完整路径名存储到对应的共享存储空间。
在步骤S108中,内核监测组件,发送信号通知用户空间组件。
在步骤S109中,用户空间组件得到事件内容,并输出到终端、或日志文件。
实施例二
如图2所示,本发明提供的文件监控装置,具体结构详述如下:
用户空间组件21,用于读取内核监测组件,通过内核交互组件将内核监测组件装载到内核,内核监测组件是字节码程序,由内核解释执行,所述字节码程序是由计算机编译得到,装载过程中会对内核监测组件进行程序安全性检查,将字节码程序挂载到内核的跟踪点,设置事件回调函数,循环监听事件,当得到事件内容时,输出到终端、或日志文件。
共享存储空间22,用于存储内核空间组件传递出来的数据,提供给用户空间组件获取,由于是共享存储空间,用户空间和内核空间在进行数据传输时不会引入过高的性能开销,可提高性能,共享存储空间存储的信息为监控文件所需的数据,包括但不限于当前进程的id号、当前进程的进程名、打开文件的完整路径名。
内核监测组件23,用于由用户空间组件挂载到open、openat系统调用函数的入口处,获取当前进程id号,该进程id号作为数据存储的索引值,存储到特定的共享存储空间,在被监测进程退出open系统调用,或者退出openat系统调用时,从特定的共享存储空间读取进程号,同时从内核中获取当前进程的进程名、打开文件的完整路径名,查找到对应进程id号的索引值,将当前进程的进程名、打开文件的完整路径名等信息存储到对应的共享存储空间,发送信号通知用户空间组件。
内核交互组件24,用于用户空间程序与操作系统内核进行交互,内核交互组件提供接口函数给用户空间程序使用,例如获取当前进程id、获取当前进程名称、将数据存放入共享存储空间、查询共享存储空间中的数据、删除共享存储空间中的数据。
实施例三
如图3所示,本发明实施例一的文件监控方法的示意图,详述如下:
用户空间组件21,用于读取内核监测组件,通过内核交互组件将内核监测组件装载到内核,内核监测组件是字节码程序,由内核解释执行,所述字节码程序是由计算机编译得到,装载过程中会对内核监测组件进行程序安全性检查,将内核监测组件挂载到内核的跟踪点,设置事件回调函数,循环监听事件,当得到事件内容时,输出到终端、或日志文件。
共享存储空间22,用于存储内核空间组件传递出来的数据,提供给用户空间组件获取,由于是共享存储空间,用户空间和内核空间在进行数据传输时不会引入过高的性能开销,可提高性能,共享存储空间存储的信息为监控文件所需的数据,包括但不限于当前进程的id号、当前进程的进程名、打开文件的完整路径名。
内核监测组件23,用于由用户空间组件挂载到open、openat系统调用函数的入口处,获取当前进程id号,该进程id号作为数据存储的索引值,存储到特定的共享存储空间,在被监测进程退出open系统调用,或者退出openat系统调用时,从特定的共享存储空间读取进程号,同时从内核中获取当前进程的进程名、打开文件的完整路径名,查找到对应进程id号的索引值,将当前进程的进程名、打开文件的完整路径名存储到对应的共享存储空间,发送信号通知用户空间组件。
内核交互组件24,用于用户空间程序与操作系统内核进行交互,内核交互组件提供接口函数给用户空间程序使用,例如获取当前进程id、获取当前进程名称、将数据存放入共享存储空间、查询共享存储空间中的数据、删除共享存储空间中的数据。
操作系统内核25,操作系统的核心部分,解释执行内核监测组件。
文件监控记录26,用户空间组件输出的记录。
综上,本发明的文件监控的方法及装置,由于是共享存储空间,用户空间和内核空间在进行数据传输时不会引入过高的性能开销,可提高性能,可实现高效的文件监控。
本发明已经通过上述实例进行了说明,但应当理解的是,上述实例知识用于举例和说明的目的。因此,凡在技术领域中通过逻辑分析、推理或者有限实验得到技术方法,皆应当属于描述的实例保护范围内。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (2)
1.一种文件监控的方法,其特征在于,采用共享存储空间机制,利用用户空间组件、内核监测组件和内核交互组件监控文件;
所述方法包括以下几个步骤:
在步骤S101中,用户空间组件,将内核监测组件装载到内核,内核监测组件是字节码程序,由内核解释执行,所述字节码程序是由计算机编译得到;装载字节码程序过程中会对内核监测组件进行程序安全性检查;
在步骤S102中,用户空间组件,将内核监测组件挂载到内核的跟踪点;
在步骤S103中,用户空间组件,设置事件回调函数;当共享存储空间有事件数据时,会触发用户空间程序的回调函数;
在步骤S104中,用户空间组件,循环监听事件;
在步骤S105中,内核监测组件,由用户空间组件挂载到open、openat系统调用函数的入口处;
在步骤S106中,内核监测组件,获取当前进程id号,该进程id号作为数据存储的索引值,存储到特定的共享存储空间;
在步骤S107中,内核监测组件,在被监测进程退出open系统调用,或者退出openat系统调用时,从特定的共享存储空间读取进程号,同时从内核中获取当前进程的进程名、打开文件的完整路径名,查找到对应进程id号的索引值,将当前进程的进程名、打开文件的完整路径名存储到对应的共享存储空间;
在步骤S108中,内核监测组件,发送信号通知用户空间组件;
在步骤S109中,用户空间组件得到事件内容,并输出到终端、或日志文件。
2.一种文件监控装置,其特征在于,包括:
用户空间组件,用于将内核监测组件装载到内核,内核监测组件是字节码程序,由内核解释执行,所述字节码程序是由计算机编译得到;装载过程中会对内核监测组件进行程序安全性检查,将内核监测组件挂载到内核的跟踪点,设置事件回调函数,循环监听事件;当得到事件内容时,输出到终端、或日志文件;
共享存储空间,用于存储内核空间组件传递出来的数据,提供给用户空间组件获取;
内核监测组件,用于由用户空间组件挂载到open、openat系统调用函数的入口处;获取当前进程id号,该进程id号作为数据存储的索引值,存储到特定的共享存储空间;在被监测进程退出open系统调用,或者退出openat系统调用时,从特定的共享存储空间读取进程号,同时从内核中获取当前进程的进程名、打开文件的完整路径名,查找到对应进程id号的索引值,将当前进程的进程名、打开文件的完整路径名存储到对应的共享存储空间;发送信号通知用户空间组件;
内核交互组件,用于用户空间程序与操作系统内核进行交互;
操作系统内核,操作系统的核心部分;解释执行内核监测组件;
文件监控记录,用户空间组件输出的记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310138862.XA CN115840938B (zh) | 2023-02-21 | 2023-02-21 | 一种文件监控的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310138862.XA CN115840938B (zh) | 2023-02-21 | 2023-02-21 | 一种文件监控的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115840938A CN115840938A (zh) | 2023-03-24 |
CN115840938B true CN115840938B (zh) | 2023-05-09 |
Family
ID=85579924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310138862.XA Active CN115840938B (zh) | 2023-02-21 | 2023-02-21 | 一种文件监控的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115840938B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116644423A (zh) * | 2023-07-25 | 2023-08-25 | 山东捷讯通信技术有限公司 | 一种容器攻击的监控的方法及装置 |
CN117312099B (zh) * | 2023-11-28 | 2024-04-05 | 麒麟软件有限公司 | 文件系统事件监控方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115391834A (zh) * | 2022-08-26 | 2022-11-25 | 绿盟科技集团股份有限公司 | 一种监测文件篡改的方法、系统及电子设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102878B (zh) * | 2013-04-10 | 2017-02-08 | 中国科学院计算技术研究所 | 一种Linux平台下的恶意代码分析方法及系统 |
CN103399812B (zh) * | 2013-07-22 | 2016-04-13 | 西安电子科技大学 | 基于Xen硬件虚拟化的磁盘文件操作监控系统及监控方法 |
CN109388538B (zh) * | 2018-09-13 | 2020-12-08 | 西安交通大学 | 一种基于内核的文件操作行为监控方法及装置 |
CN109460671B (zh) * | 2018-10-21 | 2021-10-26 | 北京亚鸿世纪科技发展有限公司 | 一种基于操作系统内核实现网页内容防篡改的方法 |
CN111159117B (zh) * | 2019-12-17 | 2023-07-04 | 复旦大学 | 一种低开销的文件操作日志采集方法 |
US11314662B2 (en) * | 2020-03-05 | 2022-04-26 | Fortinet, Inc. | Providing a secure communication channel between kernel and user mode components |
CN111597089B (zh) * | 2020-05-18 | 2020-12-18 | 广州锦行网络科技有限公司 | 一种Linux系统调用事件采集和缓存装置及方法 |
CN113704179B (zh) * | 2020-05-21 | 2023-12-05 | 奇安信网神信息技术(北京)股份有限公司 | 文件监控方法、装置、计算机系统及存储介质 |
CN114281431A (zh) * | 2020-09-28 | 2022-04-05 | 阿里巴巴集团控股有限公司 | 函数调用方法、装置、介质及嵌入式设备和操作系统 |
CN112231007B (zh) * | 2020-11-06 | 2022-08-19 | 中国人民解放军国防科技大学 | 基于用户态与内核态驱动协同处理框架的设备驱动方法 |
CN114003408A (zh) * | 2021-10-29 | 2022-02-01 | 杭州迪普科技股份有限公司 | 在内核态与用户态之间交换报文的系统和方法 |
CN114328097A (zh) * | 2021-12-23 | 2022-04-12 | 北京字跳网络技术有限公司 | 一种文件监控方法、装置、电子设备和存储介质 |
CN115033930A (zh) * | 2022-07-05 | 2022-09-09 | 斑马网络技术有限公司 | 用户态文件完整性度量方法、装置、设备和介质 |
-
2023
- 2023-02-21 CN CN202310138862.XA patent/CN115840938B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115391834A (zh) * | 2022-08-26 | 2022-11-25 | 绿盟科技集团股份有限公司 | 一种监测文件篡改的方法、系统及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115840938A (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115840938B (zh) | 一种文件监控的方法及装置 | |
CN109688097B (zh) | 网站防护方法、网站防护装置、网站防护设备及存储介质 | |
CN102902909B (zh) | 一种防止文件被篡改的系统和方法 | |
CN102314561B (zh) | 基于api hook的恶意代码自动分析方法和系统 | |
US10176327B2 (en) | Method and device for preventing application in an operating system from being uninstalled | |
CN1690957A (zh) | 通过安全虚拟机器实施安全政策的方法和系统 | |
CN111782416A (zh) | 数据上报方法、装置、系统、终端及计算机可读存储介质 | |
CN104239797B (zh) | 主动防御方法及装置 | |
CN116303290B (zh) | 一种office文档检测方法及装置、设备及介质 | |
CN111191243A (zh) | 一种漏洞检测方法、装置和存储介质 | |
CN101599113A (zh) | 驱动型恶意软件防御方法和装置 | |
CN103617396B (zh) | 一种漏洞利用的检测方法和系统 | |
CN106997313B (zh) | 一种应用程序的信号处理方法、系统及终端设备 | |
CN113486335B (zh) | 一种基于rasp零规则的jni恶意攻击检测方法及装置 | |
CN109784054B (zh) | 行为堆栈信息获取方法及装置 | |
EP2228722B1 (en) | System and method for file integrity monitoring using timestamps | |
CN106682512B (zh) | 一种防止程序被修改的方法及其装置、系统 | |
CN112257065A (zh) | 一种进程事件处理方法和装置 | |
CN111259392A (zh) | 一种基于内核模块的恶意软件拦截方法及装置 | |
CN113792294B (zh) | 一种恶意类检测方法、系统、装置、设备及介质 | |
CN115118481A (zh) | 一种主机信息采集方法、装置、设备及介质 | |
CN108959915A (zh) | 一种rookit检测方法、装置及服务器 | |
CN107798240B (zh) | 一种用于监控pc端操作移动设备的方法及装置 | |
CN116204398B (zh) | 页面缓存的方法、处理设备及计算机可读存储介质 | |
KR20100049514A (ko) | 웹 사이트 점검 방법 및 그 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A Method and Device for File Monitoring Effective date of registration: 20230626 Granted publication date: 20230509 Pledgee: SHANDONG WEIHAI RURAL COMMERCIAL BANK Co.,Ltd. Pledgor: SHANDONG JIEXUN COMMUNICATION TECHNOLOGY Co.,Ltd. Registration number: Y2023980045770 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |