一种基于Linux内核的伪装进程可执行程序检测方法及装置制造方法及图纸

技术编号:38929165 阅读:10 留言:0更新日期:2023-09-25 09:35
本发明专利技术公开了一种基于Linux内核的伪装进程可执行程序检测方法及装置,方法包括如下步骤:获取待执行进程命令行的参数;判断命令行的第一个参数是否为绝对路径;如是,则获取待执行进程的真实路径,判断命令行参数中的指定路径与真实路径是否相同,相同则允许待执行进程执行,不相同则判定待执行进程存在伪装行为,并终止待执行进程;如否,则允许待执行进程执行。基于内核对恶意程序实时检测,检测进程启动时是否存在可执行程序路径伪装行为以及阻断进程执行,以解决其伪装可执行程序路径的问题,具有实时性强、检测准确性高等优点。检测准确性高等优点。检测准确性高等优点。

【技术实现步骤摘要】
一种基于Linux内核的伪装进程可执行程序检测方法及装置


[0001]本专利技术涉及软件检测
,特别涉及一种基于Linux内核的伪装进程可执行程序检测方法及装置。

技术介绍

[0002]许多的恶意程序为了隐藏自身,躲避追踪,常常会利用伪装手段混淆自己。常见的一种伪装手段是伪装命令行信息为常见的系统进程的命令行信息,特别是伪装可执行程序路径,这样就造成ps命令查看到的进程信息是正常的系统进程信息,以此达到隐藏自身的目的。Linux调用execve函数执行新程序时可以设置一系列参数以及环境变量,第一个命令行参数一般是可执行程序的路径,人们往往依据ps命令展示的命令行信息去判断一个进程的异常,基于此,恶意程序常常在调用execve时通过伪装第一个命令行参数为一个常见系统命令的方式伪装自己。
[0003]为了解决伪装可执行程序路径的问题,本专利技术公开了一种基于内核的实时检测方法,可以检测进程启动时是否存在可执行程序路径伪装行为以及阻断进程执行。

技术实现思路

[0004]本专利技术实施例的目的是提供一种基于Linux内核的伪装进程可执行程序检测及装置,基于内核对恶意程序实时检测,检测进程启动时是否存在可执行程序路径伪装行为以及阻断进程执行,以解决其伪装可执行程序路径的问题,具有实时性强、检测准确性高等优点。
[0005]为解决上述技术问题,本专利技术实施例的第一方面提供了一种基于Linux内核的伪装进程可执行程序检测方法,包括如下步骤:
[0006]获取待执行进程命令行的参数;
[0007]判断所述命令行的第一个参数是否为绝对路径;
[0008]如是,则获取所述待执行进程的真实路径,判断所述命令行参数中的指定路径与所述真实路径是否相同,相同则允许所述待执行进程执行,不相同则判定所述待执行进程存在伪装行为,并终止所述待执行进程;
[0009]如否,则允许所述待执行进程执行。
[0010]进一步地,所述判定所述待执行进程存在伪装行为之后,还包括:
[0011]判断所述待执行进程是否为误报;
[0012]如所述待执行进程位于伪装进程白名单中,则允许所述待执行进程执行;
[0013]如所述待执行进程未位于所述伪装进程白名单中,则终止所述待执行进程。
[0014]进一步地,所述获取待执行进程命令行的参数,包括:
[0015]向LSM的security_bprm_check_security hook点注册回调函数;
[0016]计算argv和environ的字节数;
[0017]获取预设字节长度的缓存,所述预设字节长度的字节数为bprm

>p

bprm

>exec;
[0018]调用access_remote_vm函数,获取从bprm

>p开始的所述预设字节长度个字节到所述缓存中;
[0019]处理所述缓存并得到所述命令行的参数。
[0020]进一步地,所述终止所述待执行进程之后,还包括:
[0021]解注册LSM的security_bprm_check_security hook函数。
[0022]相应地,本专利技术实施例的第二方面提供了一种基于Linux内核的伪装进程可执行程序检测装置,包括:
[0023]参数获取模块,其用于获取待执行进程命令行的参数;
[0024]第一判断模块,其用于判断所述命令行的第一个参数是否为绝对路径;
[0025]第二判断模块,其用于在所述命令行的第一个参数为绝对路径时,获取所述待执行进程的真实路径,判断所述命令行参数中的指定路径与所述真实路径是否相同,相同则允许所述待执行进程执行,不相同则判定所述待执行进程存在伪装行为,并终止所述待执行进程;
[0026]所述第一判断模块还用于在所述命令行的第一个参数不为绝对路径时,允许所述待执行进程执行。
[0027]进一步地,所述基于Linux内核的伪装进程可执行程序检测装置还包括:误报判断模块,所述误报判断模块包括:
[0028]误报判断单元,其用于判断所述待执行进程是否为误报;
[0029]控制单元,其用于在所述待执行进程位于伪装进程白名单中时,允许所述待执行进程执行;
[0030]所述控制单元还用于在所述待执行进程未位于所述伪装进程白名单中,终止所述待执行进程。
[0031]进一步地,所述参数获取模块包括:
[0032]回调函数注册单元,其用于向LSM的security_bprm_check_security hook点注册回调函数;
[0033]字节计算单元,其用于计算argv和environ的字节数;
[0034]缓存获取单元,其用于获取预设字节长度的缓存,所述预设字节长度的字节数为bprm

>p

bprm

>exec;
[0035]参数缓存单元,其用于调用access_remote_vm函数,获取从bprm

>p开始的预设字节长度个字节到所述缓存中;
[0036]参数处理单元,其用于处理所述缓存并得到所述命令行的参数。
[0037]进一步地,所述参数获取模块还包括:
[0038]回调函数解注册单元,其用于解注册LSM的security_bprm_check_security hook函数。
[0039]相应地,本专利技术实施例的第三方面还提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述一个处理器执行,以使所述至少一个处理器执行上述基于Linux内核的伪装进程可执行程序检测方法。
[0040]相应地,本专利技术实施例的第四方面还提供了一种计算机可读存储介质,其上存储
有计算机指令,该指令被处理器执行时实现上述基于Linux内核的伪装进程可执行程序检测方法。
[0041]本专利技术实施例的上述技术方案具有如下有益的技术效果:
[0042]基于内核对恶意程序实时检测,检测进程启动时是否存在可执行程序路径伪装行为以及阻断进程执行,以解决其伪装可执行程序路径的问题,具有实时性强、检测准确性高等优点。
附图说明
[0043]图1是本专利技术实施例提供的基于Linux内核的伪装进程可执行程序检测方法流程图;
[0044]图2是本专利技术实施例提供的基于Linux内核的伪装进程可执行程序检测方法逻辑图;
[0045]图3是本专利技术实施例提供的驱动安装示意图;
[0046]图4是本专利技术实施例提供的驱动卸载示意图;
[0047]图5是本专利技术实施例提供的基于Linux内核的伪装进程可执行程序检测装置模块框图;
[004本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Linux内核的伪装进程可执行程序检测方法,其特征在于,包括如下步骤:获取待执行进程命令行的参数;判断所述命令行的第一个参数是否为绝对路径;如是,则获取所述待执行进程的真实路径,判断所述命令行参数中的指定路径与所述真实路径是否相同,相同则允许所述待执行进程执行,不相同则判定所述待执行进程存在伪装行为,并终止所述待执行进程;如否,则允许所述待执行进程执行。2.根据权利要求1所述的基于Linux内核的伪装进程可执行程序检测方法,其特征在于,所述判定所述待执行进程存在伪装行为之后,还包括:判断所述待执行进程是否为误报;如所述待执行进程位于伪装进程白名单中,则允许所述待执行进程执行;如所述待执行进程未位于所述伪装进程白名单中,则终止所述待执行进程。3.根据权利要求1或2所述的基于Linux内核的伪装进程可执行程序检测方法,其特征在于,所述获取待执行进程命令行的参数,包括:向LSM的security_bprm_check_security hook点注册回调函数;计算argv和environ的字节数;获取预设字节长度的缓存,所述预设字节长度的字节数为bprm

>p

bprm

>exec;调用access_remote_vm函数,获取从bprm

>p开始的所述预设字节长度个字节到所述缓存中;处理所述缓存并得到所述命令行的参数。4.根据权利要求3所述的基于Linux内核的伪装进程可执行程序检测方法,其特征在于,所述终止所述待执行进程之后,还包括:解注册LSM的security_bprm_check_security hook函数。5.一种基于Linux内核的伪装进程可执行程序检测装置,其特征在于,包括:参数获取模块,其用于获取待执行进程命令行的参数;第一判断模块,其用于判断所述命令行的第一个参数是否为绝对路径;第二判断模块,其用于在所述命令行的第一个参数为绝对路径时,获取所述待执行进程的真实路径,判断所述命令行参数中的指令路径与所述真实路径是否相同,相同则允许所述待执行进程执行,不相同则判定所述待执行进程存在伪装行为,并终...

【专利技术属性】
技术研发人员:赵克奉姜向前姚纪卫
申请(专利权)人:安芯网盾北京科技有限公司
类型:发明
国别省市:

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

1