CN116204883B - 一种基于Linux内核的文件自删除的检测与阻断方法和系统 - Google Patents

一种基于Linux内核的文件自删除的检测与阻断方法和系统 Download PDF

Info

Publication number
CN116204883B
CN116204883B CN202310041760.6A CN202310041760A CN116204883B CN 116204883 B CN116204883 B CN 116204883B CN 202310041760 A CN202310041760 A CN 202310041760A CN 116204883 B CN116204883 B CN 116204883B
Authority
CN
China
Prior art keywords
file
cache table
executable program
deleting
cache
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
Application number
CN202310041760.6A
Other languages
English (en)
Other versions
CN116204883A (zh
Inventor
赵克奉
姚纪卫
姜向前
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anxin Wangdun Beijing Technology Co ltd
Original Assignee
Anxin Wangdun Beijing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Anxin Wangdun Beijing Technology Co ltd filed Critical Anxin Wangdun Beijing Technology Co ltd
Priority to CN202310041760.6A priority Critical patent/CN116204883B/zh
Publication of CN116204883A publication Critical patent/CN116204883A/zh
Application granted granted Critical
Publication of CN116204883B publication Critical patent/CN116204883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的实施例公开了一种基于Linux内核的文件自删除的检测与阻断方法和系统。方法包括:安装驱动,注册创建缓存表和查询缓存表的回调函数;创建缓存表,所述缓存表记录运行进程的可执行程序和运行进程与可执行程序关系;文件删除操作发生时,查询缓存表,根据待删除的文件是否是运行进程的可执行程序文件判断是否为自删除行为,处理该文件删除操作;退出进程时,查询缓存表,判断该退出进程是否与可执行程序关联,根据判断结果处理该退出进程操作;卸载驱动,解注册函数。系统包括:驱动安装模块,缓存表创建模块,自删除判断模块,退出进程判断模块和驱动卸载模块。本发明能够避免应用级Rootkit绕过普通的恶意程序检测,具有实时高效的特点。

Description

一种基于Linux内核的文件自删除的检测与阻断方法和系统
技术领域
本发明涉及计算机程序检测技术领域,特别涉及一种基于Linux内核的文件自删除的检测与阻断方法和系统。
背景技术
Rootkit通常用来代指一类恶意计算机程序,其通过一组在恶意软件中获得root访问权限、完全控制目标操作系统和其底层硬件的技术编码对系统进行控制。通过Rootkit恶意程序,攻击者可以完全控制用户的个人电脑、更改其设置并远程执行其他恶意任务。Rootkit恶意程序能够在系统中隐藏其存在,并保持活动状态且不会被检测到,被认为是最危险的恶意程序之一。
目前市面上常见的恶意程序检测技术,大多是基于对磁盘文件扫描分析完成的,这样的分析方法存在一些天然的弊端,就是对于已删除的文件是失效的。因此许多的应用级Rootkit为了绕过此种检测,清理入侵痕迹,常常会在进程启动之后,删除相应的可执行程序文件,也就是常见的自删除行为。现有技术中没有通过对自删除行为进行检测,从而发现并清除Rootkit恶意程序的方法。
发明内容
有鉴于此,本发明实施例的目的在于提供一种基于Linux内核的文件自删除的检测与阻断方法和系统,基于内核态的文件自删除检测,能够避免应用级Rootkit绕过普通的恶意程序检测,具有实时高效的特点。
第一方面,本发明实施例提供了一种基于Linux内核的文件自删除的检测与阻断方法,其中,包括:
安装驱动,注册创建缓存表和查询缓存表的回调函数。
创建缓存表,所述缓存表记录分别运行进程的可执行程序的缓存对象和运行进程与可执行程序关系的缓存对象。
文件删除操作发生时,查询缓存表,根据待删除的文件是否是运行进程的可执行程序文件判断是否为自删除行为,处理该文件删除操作。
退出进程时,查询缓存表,判断该退出进程是否与可执行程序关联,根据判断结果处理该退出进程操作。
卸载驱动,解注册函数。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述安装驱动,注册创建缓存表和查询缓存表的回调函数前,还包括:
初始化记录运行进程的可执行程序文件的缓存表。
初始化记录运行进程与可执行程序关系的缓存表。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述安装驱动,注册创建缓存表和查询缓存表的回调函数包括:
注册LSM框架下的security_bprm_check_security的回调函数。
注册LSM框架下的security_inode_unlink的回调函数。
注册profile event框架下的profile_task_exit事件回调函数。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述创建缓存表包括:
在security_bprm_check_security的回调函数中,根据struct linux_binprm中的file对象,创建缓存表。
创建记录运行进程可执行程序文件的缓存对象,并将该缓存对象插入记录运行进程可执行程序文件的缓存表中。
创建记录运行进程与可执行程序关系的缓存对象,并将该缓存对象插入记录运行进程与可执行程序关系的缓存表中。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述文件删除操作发生时,查询缓存表,根据待删除的文件是否关联正在运行的进程判断是否为自删除行为,处理该文件删除操作,,包括:
删除文件时,在security_inode_unlink的回调函数中,根据文件信息,在记录运行进程的可执行程序文件的缓存表中进行查询。
若查询到记录待删除的文件的可执行程序文件的缓存对象存在,则判定当前文件删除操作为自删除行为。
根据待删除文件信息,查询用户下发的策略库,如果存在相应策略,则根据策略判定是否阻断该文件删除操作的相关进程运行,如果不存在则允许文件删除。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述根据策略判定是否阻断该文件删除操作的相关进程运行,包括:
若策略判定需要阻断,则发送阻断信号到可执行程序关联的相关进程,杀死进程,并发送当前文件删除操作。
若恶意程序检测策略判定不需要阻断,则发送当前文件删除操作。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述退出进程时,查询缓存表,判断该退出进程是否与可执行程序关联,根据判断结果处理该退出进程操作,包括:
在profile_task_exit事件回调函数中,根据该退出进程的属性,在记录运行进程与可执行程序关系的缓存表中进行查询。
若查询到记录该退出进程与可执行程序关系的缓存对象的存在,则从记录运行进程与可执行程序关系的缓存表中摘除所述缓存对象。
解除该退出进程与可执行程序关系的关联,释放所述缓存对象。
结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,所述卸载驱动,解注册函数,包括:
解注册LSM框架下的security_bprm_check_security的回调函数。
解注册LSM框架下的security_inode_unlink的回调函数。
解注册profile event框架下的profile_task_exit事件回调函数。
结合第一方面,本发明实施例提供了第一方面的第八种可能的实施方式,其中,所述卸载驱动,解注册函数后,还包括:
清除所有运行进程的可执行程序的缓存表。
清除所有运行进程与可执行程序关系的缓存表。
第二方面,本发明实施例还提供了一种基于Linux内核的文件自删除的检测与阻断系统,其中,包括:
驱动安装模块,用于安装驱动,注册创建缓存表和查询缓存表的回调函数。
缓存表创建模块,用于创建缓存表,所述缓存表分别记录运行进程的可执行程序的缓存对象和运行进程与可执行程序关系的缓存对象。
自删除判断模块,用于文件删除操作发生时,查询缓存表,根据待删除的文件是否是运行进程的可执行程序文件判断是否为自删除行为,处理该文件删除操作。
退出进程判断模块,用于退出进程时,查询缓存表,判断该退出进程是否与可执行程序关联,根据判断结果处理该退出进程操作。
驱动卸载模块,用于卸载驱动,解注册函数。
本发明实施例的有益效果是:
本发明通过注册LSM框架下的security_bprm_check_security的回调函数、security_inode_unlink的回调函数和profile event框架下的profile_task_exit事件回调函数,文件删除操作发生时,查询缓存表,根据待删除的文件是否是运行进程的可执行程序文件判断是否为自删除行为,判断运行进程是否为恶意进程,并进行相应的操作。检测方式简单、高效,能够精确捕捉自删除行为,并且可以自由选择对该行为做拦截或者放行操作,存在较为现实的意义。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明基于Linux内核的文件自删除的检测与阻断方法的流程图;
图2为本发明基于Linux内核的文件自删除的检测与阻断方法中安装驱动的流程示意图;
图3为本发明基于Linux内核的文件自删除的检测与阻断方法中创建缓存表流程示意图;
图4为本发明基于Linux内核的文件自删除的检测与阻断方法中自删除行为判断流程示意图;
图5为本发明基于Linux内核的文件自删除的检测与阻断方法中退出进程判断流程示意图;
图6为本发明基于Linux内核的文件自删除的检测与阻断方法中卸载驱动的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件能够以各种不同的配置来布置和设计。
请参照图1,本发明的第一个实施例提供一种基于Linux内核的文件自删除的检测与阻断方法,包括:
S100,安装驱动,注册创建缓存表和查询缓存表的回调函数。
S200,创建缓存表,所述缓存表分别记录运行进程的可执行程序的缓存对象和运行进程与可执行程序关系的缓存对象。
S300,文件删除操作发生时,查询缓存表,根据待删除的文件是否是运行进程的可执行程序文件判断是否为自删除行为,处理该文件删除操作。
S400,退出进程时,查询缓存表,判断该退出进程是否与可执行程序关联,根据判断结果处理该退出进程操作。
S500,卸载驱动,解注册函数。
具体的,如图2所示,所述安装驱动,注册创建缓存表和查询缓存表的回调函数前,还包括:
S101,初始化记录运行进程的可执行程序文件的缓存表。
S102,初始化记录运行进程与可执行程序关系的缓存表。
具体的,如图2所示,所述安装驱动,注册创建缓存表和查询缓存表的回调函数包括:
S103,注册LSM框架下的security_bprm_check_security的回调函数。
其中,LSM是Linux Security Module的简写,作为一种安全框架,它定义了很多钩子函数,安插在内核的关键路径上,当执行到这些关键路径时,调用安插的钩子进行安全检查。每个钩子上安装一个函数指针链,当调用钩子时,依次执行挂载在钩子上的函数,为linux实现的不同的安全模块实际上就是在这些钩子上安装函数。
其中,security_bprm_check_security是LSM安全框架在进程执行路径上设置的检测点,通过对该检测点注册函数,可以采集可执行程序的相关信息以及进行一些业务处理。
S104,注册LSM框架下的security_inode_unlink的回调函数。
其中,security_inode_unlink是LSM安全框架在文件删除执行路径上设置的检测点,通过对该监测点注册函数,可以采集待删除文件信息以及进行一些业务处理。
S105,注册profile event框架下的profile_task_exit事件回调函数。
其中,profile event框架是用于性能分析的框架。
其中,profile_task_exit是profile event框架下用于捕获进程退出的回调函数。
具体的,如图3所示,所述创建缓存表包括:
S201,在security_bprm_check_security的回调函数中,根据struct linux_binprm中的file对象,创建缓存表。
其中,struct linux_binprm为用于记录待执行进程上下文信息的结构体。
S202,创建记录运行进程可执行程序文件的缓存对象,并将该缓存对象插入记录运行进程可执行程序文件的缓存表中。
S203,创建记录运行进程与可执行程序关系的缓存对象,并将该缓存对象插入记录运行进程与可执行程序关系的缓存表中。
具体的,如图4所示,所述文件删除操作发生时,查询缓存表,根据待删除的文件是否关联正在运行的进程判断是否为自删除行为,处理该文件删除操作,包括:
删除文件时,在security_inode_unlink的回调函数中,根据文件信息,在记录运行进程的可执行程序文件的缓存表中进行查询。
若查询到记录待删除的文件的可执行程序文件的缓存对象存在,则判定当前文件删除操作为自删除行为。
根据待删除文件信息,查询用户下发的策略库,如果存在相应策略,则,根据策略判定是否阻断该文件删除操作的相关进程运行,如果不存在则允许文件删除。
其中,所述根据策略判定是否阻断该文件删除操作的相关进程运行,包括:
若策略判定需要阻断,则发送阻断信号到可执行程序关联的相关进程,杀死进程,并发送当前文件删除操作。
若恶意程序检测策略判定不需要阻断,则发送当前文件删除操作。
具体的,如图5所示,所述退出进程时,查询缓存表,判断该退出进程是否与可执行程序关联,根据判断结果处理该退出进程操作,包括:
在profile_task_exit事件回调函数中,根据该退出进程的属性,在记录运行进程与可执行程序关系的缓存表中进行查询。
若查询到记录该退出进程与可执行程序关系的缓存对象的存在,则从记录运行进程与可执行程序关系的缓存表中摘除所述缓存对象。
解除该退出进程与可执行程序关系的关联,释放所述缓存对象。
具体的,如图6所示,所述卸载驱动,解注册函数,包括:
S501,解注册LSM框架下的security_bprm_check_security的回调函数。
S502,解注册LSM框架下的security_inode_unlink的回调函数。
S503,解注册profile event框架下的profile_task_exit事件回调函数。
其中,如图6所示,所述卸载驱动,解注册函数后,还包括:
S504,清除所有运行进程的可执行程序的缓存表。
S505,清除所有运行进程与可执行程序关系的缓存表。
本发明实施例旨在保护一种基于Linux内核的文件自删除的检测与阻断方法和系统,具备如下效果:
本发明通过注册LSM框架下的security_bprm_check_security的回调函数、security_inode_unlink的回调函数和profile event框架下的profile_task_exit事件回调函数,文件删除操作发生时,查询缓存表,根据待删除的文件是否是运行进程的可执行程序文件判断是否为自删除行为,判断运行进程是否为恶意进程,并进行相应的操作。检测方式简单、高效,能够精确捕捉自删除行为,并且可以自由选择对该行为做拦截或者放行操作,存在较为现实的意义。
本发明实施例所提供的基于Linux内核的文件自删除的检测与阻断方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述基于Linux内核的文件自删除的检测与阻断方法,从而能够避免应用级Rootkit绕过普通的恶意程序检测,具有实时高效的特点。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种基于Linux内核的文件自删除的检测与阻断方法,其特征在于,包括:
安装驱动,注册创建缓存表和查询缓存表的回调函数;
创建缓存表,所述缓存表分别记录运行进程的可执行程序的缓存对象和运行进程与可执行程序关系的缓存对象;
文件删除操作发生时,查询缓存表,根据待删除的文件是否是运行进程的可执行程序文件判断是否为自删除行为,处理该文件删除操作;
退出进程时,查询缓存表,判断该退出进程是否与可执行程序关联,根据判断结果处理该退出进程操作;
卸载驱动,解注册函数;
所述文件删除操作发生时,查询缓存表,根据待删除的文件是否关联正在运行的进程判断是否为自删除行为,处理该文件删除操作,包括:
删除文件时,在security_inode_unlink的回调函数中,根据文件信息,在记录运行进程的可执行程序文件的缓存表中进行查询;
若查询到记录待删除的文件的可执行程序文件的缓存对象存在,则判定当前文件删除操作为自删除行为;
根据待删除文件信息,查询用户下发的策略库,如果存在相应策略,则根据策略判定是否阻断该文件删除操作的相关进程运行,如果不存在则允许文件删除。
2.根据权利要求1所述的基于Linux内核的文件自删除的检测与阻断方法,其特征在于,所述安装驱动,注册创建缓存表和查询缓存表的回调函数前,还包括:
初始化记录运行进程的可执行程序文件的缓存表;
初始化记录运行进程与可执行程序关系的缓存表。
3.根据权利要求1所述的基于Linux内核的文件自删除的检测与阻断方法,其特征在于,所述安装驱动,注册创建缓存表和查询缓存表的回调函数包括:
注册LSM框架下的security_bprm_check_security的回调函数;
注册LSM框架下的security_inode_unlink的回调函数;
注册profile event框架下的profile_task_exit事件回调函数。
4.根据权利要求3所述的基于Linux内核的文件自删除的检测与阻断方法,其特征在于,所述创建缓存表包括:
在security_bprm_check_security的回调函数中,根据struct linux_binprm中的file对象,创建缓存表;
创建记录运行进程可执行程序文件的缓存对象,并将该缓存对象插入记录运行进程可执行程序文件的缓存表中;
创建记录运行进程与可执行程序关系的缓存对象,并将该缓存对象插入记录运行进程与可执行程序关系的缓存表中。
5.根据权利要求3所述的基于Linux内核的文件自删除的检测与阻断方法,其特征在于,所述根据策略判定是否阻断该文件删除操作的相关进程运行,包括:
若策略判定需要阻断,则发送阻断信号到可执行程序关联的相关进程,杀死进程,并发送当前文件删除操作;
若恶意程序检测策略判定不需要阻断,则发送当前文件删除操作。
6.根据权利要求3所述的基于Linux内核的文件自删除的检测与阻断方法,其特征在于,所述退出进程时,查询缓存表,判断该退出进程是否与可执行程序关联,根据判断结果处理该退出进程操作,包括:
在profile_task_exit事件回调函数中,根据该退出进程的属性,在记录运行进程与可执行程序关系的缓存表中进行查询;
若查询到记录该退出进程与可执行程序关系的缓存对象的存在,则从记录运行进程与可执行程序关系的缓存表中摘除所述缓存对象;
解除该退出进程与可执行程序关系的关联,释放所述缓存对象。
7.根据权利要求1所述的基于Linux内核的文件自删除的检测与阻断方法,其特征在于,所述卸载驱动,解注册函数,包括:
解注册LSM框架下的security_bprm_check_security的回调函数;
解注册LSM框架下的security_inode_unlink的回调函数;
解注册profile event框架下的profile_task_exit事件回调函数。
8.根据权利要求1所述的基于Linux内核的文件自删除的检测与阻断方法,其特征在于,所述卸载驱动,解注册函数后,还包括:
清除所有运行进程的可执行程序的缓存表;
清除所有运行进程与可执行程序关系的缓存表。
9.一种基于Linux内核的文件自删除的检测与阻断系统,其特征在于,包括:
驱动安装模块,用于安装驱动,注册创建缓存表和查询缓存表的回调函数;
缓存表创建模块,用于创建缓存表,所述缓存表分别记录运行进程的可执行程序的缓存对象和运行进程与可执行程序关系的缓存对象;
自删除判断模块,用于文件删除操作发生时,查询缓存表,根据待删除的文件是否是运行进程的可执行程序文件判断是否为自删除行为,处理该文件删除操作;
退出进程判断模块,用于退出进程时,查询缓存表,判断该退出进程是否与可执行程序关联,根据判断结果处理该退出进程操作;
驱动卸载模块,用于卸载驱动,解注册函数;
所述自删除判断模块执行的操作包括:
删除文件时,在security_inode_unlink的回调函数中,根据文件信息,在记录运行进程的可执行程序文件的缓存表中进行查询;
若查询到记录待删除的文件的可执行程序文件的缓存对象存在,则判定当前文件删除操作为自删除行为;
根据待删除文件信息,查询用户下发的策略库,如果存在相应策略,则根据策略判定是否阻断该文件删除操作的相关进程运行,如果不存在则允许文件删除。
CN202310041760.6A 2023-01-11 2023-01-11 一种基于Linux内核的文件自删除的检测与阻断方法和系统 Active CN116204883B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310041760.6A CN116204883B (zh) 2023-01-11 2023-01-11 一种基于Linux内核的文件自删除的检测与阻断方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310041760.6A CN116204883B (zh) 2023-01-11 2023-01-11 一种基于Linux内核的文件自删除的检测与阻断方法和系统

Publications (2)

Publication Number Publication Date
CN116204883A CN116204883A (zh) 2023-06-02
CN116204883B true CN116204883B (zh) 2023-08-22

Family

ID=86515437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310041760.6A Active CN116204883B (zh) 2023-01-11 2023-01-11 一种基于Linux内核的文件自删除的检测与阻断方法和系统

Country Status (1)

Country Link
CN (1) CN116204883B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868625A (zh) * 2016-06-22 2016-08-17 北京金山安全软件有限公司 一种拦截文件被重启删除的方法及装置
CN112668008A (zh) * 2021-01-06 2021-04-16 上海湖顶大数据科技有限公司 一种基于lsm来实现动态的系统调用劫持的方法
US11526456B1 (en) * 2021-09-02 2022-12-13 Cynet Security Ltd System and method for filtering process i/o operations in kernel-mode

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101174751B1 (ko) * 2010-09-27 2012-08-17 한국인터넷진흥원 커널 콜백 매커니즘을 이용한 악성코드 자동 분석 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868625A (zh) * 2016-06-22 2016-08-17 北京金山安全软件有限公司 一种拦截文件被重启删除的方法及装置
CN112668008A (zh) * 2021-01-06 2021-04-16 上海湖顶大数据科技有限公司 一种基于lsm来实现动态的系统调用劫持的方法
US11526456B1 (en) * 2021-09-02 2022-12-13 Cynet Security Ltd System and method for filtering process i/o operations in kernel-mode

Also Published As

Publication number Publication date
CN116204883A (zh) 2023-06-02

Similar Documents

Publication Publication Date Title
US12026257B2 (en) Method of malware detection and system thereof
US9858416B2 (en) Malware protection
KR101880375B1 (ko) 네트워크 활동을 보이는 실행파일들의 분리
JP6829718B2 (ja) 複数のソフトウェアエンティティにわたって悪意あるビヘイビアを追跡するためのシステムおよび方法
US9679136B2 (en) Method and system for discrete stateful behavioral analysis
RU2531861C1 (ru) Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
KR101174751B1 (ko) 커널 콜백 매커니즘을 이용한 악성코드 자동 분석 방법
CA2856268C (en) Methods of detection of software exploitation
US8627478B2 (en) Method and apparatus for inspecting non-portable executable files
US8307434B2 (en) Method and system for discrete stateful behavioral analysis
US11363058B2 (en) Detecting execution of modified executable code
US20090038011A1 (en) System and method of identifying and removing malware on a computer system
EP2515250A1 (en) System and method for detection of complex malware
US7581250B2 (en) System, computer program product and method of selecting sectors of a hard disk on which to perform a virus scan
US20190147163A1 (en) Inferential exploit attempt detection
JP2012501028A (ja) コード解析の発見的方法
CN103839003A (zh) 恶意文件检测方法及装置
JP2016536667A (ja) マルウェア検出のための複雑なスコアリング
CN115688106A (zh) 一种Java agent无文件注入内存马的检测方法及装置
Liu et al. A system call analysis method with mapreduce for malware detection
US20150199516A1 (en) Execution profile assembly using branch records
CN111259392B (zh) 一种基于内核模块的恶意软件拦截方法及装置
CN116204883B (zh) 一种基于Linux内核的文件自删除的检测与阻断方法和系统
EP3563281A1 (en) Persistence probing to detect malware
CN110610086B (zh) 非法代码识别方法、系统、装置及存储介质

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