一种Linux下基于内核的防勒索病毒的方法技术

技术编号:32854132 阅读:18 留言:0更新日期:2022-03-30 19:21
本发明专利技术公开了一种Linux下基于内核的防勒索病毒的方法,其包括一管理中心以及若干个被管理端,被管理端均采用Linux操作系统,其包括以下步骤:1)管理中心给被管理端提供白名单;2)被管理端均安装有内核监控程序,内核监控程序挂钩特定内核函数;3)内核监控程序将特定内核函数的参数与白名单进行比较,若其在白名单中,则特定内核函数正常执行;反之,则阻止其加载。本发明专利技术的拦截点非常科学,对系统性能影响非常小。系统中文件操作频繁,不在文件过滤中进行分析,而在特定的可执行模块加载的路线中拦截可以实现此点。拦截可以实现此点。拦截可以实现此点。

【技术实现步骤摘要】
一种Linux下基于内核的防勒索病毒的方法


[0001]本专利技术属于软件领域,尤其涉及一种Linux下基于内核的防勒索病毒的方法。

技术介绍

[0002]Linux是一种较为安全的操作系统,被广泛应用于服务器,这也使得其安全性显得更为重要。随着技术的发展,各类针对Linux的恶意病毒、勒索病毒或恶意程序等等层出不穷,其通过加载恶意代码威胁系统数据安全或卸载系统程序来达到破坏系统的目的,如何对这类威胁进行拦截,以提高Linux的安全性是目前亟待解决的技术问题。

技术实现思路

[0003]为了克服上述问题,本专利技术提供一种安全可靠的Linux下基于内核的防勒索病毒方法。
[0004]本专利技术的技术方案是Linux下基于内核的防勒索病毒的方法,其包括一管理中心以及若干个被管理端,所述被管理端均采用Linux操作系统,其包括以下步骤:1)所述管理中心给所述被管理端提供白名单,所述白名单以配置文件的形式记录所述管理中心允许执行的可执行对象的清单;所述可执行对象包括可执行程序、动态库和内核程序;2)所述被管理端均安装有内核监控程序,所述内核监控程序通过Kprobe技术挂钩特定内核函数,并获得所述特定内核函数的参数,所述特定内核函数均是Linux操作系统下加载可执行对象时必须调用的内核函数;3)所述内核监控程序将从所述特定内核函数中获取的参数与所述白名单中的可执行对象清单进行比较,若其在所述白名单中,则所述特定内核函数正常执行;反之,则所述特定内核函数返回空值或非法值,以阻止所述可执行对象的加载;4)所述被管理端向所述管理中心上传拦截日志,所述拦截日志记载所述可执行对象的信息以及是否拦截的情况。
[0005]优选的,针对可执行程序,所述特定内核函数为load_elf_phdrs,所述步骤1)中,通过Kprobe技术拦截该load_elf_phdrs函数。
[0006]优选的,针对内核程序,所述特定内核函数为init_module和kernel_read_file_from_fd,所述步骤1)中,通过Kprobe技术拦截该kernel_read_file_from_fd函数,通过HOOK挂钩init_module函数的方式拦截init_module函数。
[0007]优选的,针对动态库,所述特定内核函数为vm_mmap,所述步骤1)中,通过Kprobe技术拦截该vm_mmap函数。
[0008]优选的,vm_mmap函数是可执行程序、动态库加载的经过点,以及map方式文件读写的经过点;拦截该vm_mmap函数采用如下步骤:1.1)获取vm_mmap函数的参数;
1.2)如获得的vm_mmap函数的参数中,其第四个参数是不带可执行属性,则退出拦截并不执行步骤2),反之则继续;1.3)如获得的vm_mmap函数的参数中,其第二个参数为零,则退出拦截并不执行步骤2),反之则继续。
[0009]优选的,所述白名单以哈希表的方式进行管理,其通过sm3哈希算法对所述可执行对象的参数进行运算,以获得唯一的32字节值作为该可执行对象的ID记录在所述白名单或黑名单中。
[0010]优选的,所述可执行对象的参数包括模块入口地址、文件设定长度内容和模块映像大小其中之一或多个。
[0011]优选的,所述白名单或黑名单使用配置文件描述,所述配置文件通过sm4算法加密。
[0012]优选的,所述配置文件由所述管理中心通过第三方经过病毒查杀后生成的。
[0013]优选的,还包括一防止所述内核监控程序被卸载的方法;其包括以下步骤:5)通过Kprobe技术拦截find_module函数,通过分析find_module函数的加载参数以获得其卸载的所述可执行对象的信息;6)判断步骤5)中得到的所述可执行对象的信息是否为所述内核监控程序;如是,则find_module函数返回空值,阻止卸载所述可执行对象;反之,则find_module函数继续执行。
[0014]本专利技术通过拦截特定的系统加载函数,以对加载的可执行对象与白名单或黑名单上的清单进行比较,从而进行针对性的拦截,达到提高安全性的目的;也采用相同的方法,对卸载的可执行对象进行比较,从而阻止自身被卸载,提高系统安全性。
附图说明
[0015]图1是本专利技术的原理示意图。
具体实施方式
[0016]下面对本专利技术的具体实施方式作进一步详细的描述。
[0017]LSM(Linux Secrity Module)提供一个静态指针security_ops作为指向访问模块的渠道,利用kprobe机制获取该指针的地址,再将该指针所指向的钩子函数(如dentry_oepn,bprm_check_security,file_mmap等)替换成自定义钩子函数,设计一个合理的链式调用方法,在不影响系统原有的安全机制下,也能够让安全模块正常运行,也减少内核代码修改。同理,系统调用函数的替换方法也可以按照该思想进行实现。
[0018]基于此,本专利技术提供一种Linux下基于内核的防勒索病毒的方法,其包括一管理中心以及若干个被管理端,所述被管理端均采用Linux操作系统,1)管理中心定期给被管理端提供白名单,白名单由管理中心通过第三方经过病毒查杀后生成的。
[0019]白名单以配置文件的形式记录管理中心允许执行的可执行对象的清单;可执行对象包括可执行程序、动态库和内核程序;2)被管理端均安装有内核监控程序,内核监控程序通过Kprobe技术挂钩特定内核
函数,并获得特定内核函数的参数,特定内核函数均是Linux操作系统下加载可执行对象时必须调用的内核函数;3)内核监控程序将从特定内核函数中获取的参数与白名单中的可执行对象清单进行比较,若其在白名单中,则特定内核函数正常执行;反之,则特定内核函数返回空值或非法值,以阻止可执行对象的加载;4)被管理端向管理中心上传拦截日志,拦截日志记载可执行对象的信息以及是否拦截的情况。
[0020]针对可执行程序,特定内核函数为load_elf_phdrs,步骤1)中,通过Kprobe技术拦截该load_elf_phdrs函数。
[0021]内核中函数load_elf_phdrs是所有可执行程序加载必须的经过点。此函数的第一个参数即是已经打开的文件结构指针struct file *file,以此可以获取该可执行程序的特征哈希,并与白名单比对。在白名单中则放行。此函数的如果调用成功,则会返回在该函数中分配和赋值的一个结构指针,如果要拒绝调用,则释放该指针所指内存,并将指针赋值为NULL即可。
[0022]针对内核程序,特定内核函数为init_module和kernel_read_file_from_fd,步骤1)中,通过Kprobe技术拦截该kernel_read_file_from_fd函数,通过HOOK挂钩init_module函数的方式拦截init_module函数。
[0023]内核模块的加载通过函数init_module和finit_init_m本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Linux下基于内核的防勒索病毒的方法,其包括一管理中心以及若干个被管理端,所述被管理端均采用Linux操作系统,其特征在于,其包括以下步骤:所述管理中心给所述被管理端提供白名单,所述白名单以配置文件的形式记录所述管理中心允许执行的可执行对象的清单;所述可执行对象包括可执行程序、动态库和内核程序;所述被管理端均安装有内核监控程序,所述内核监控程序通过通过Kprobe技术挂钩特定内核函数,并获得所述特定内核函数的参数,所述特定内核函数均是Linux操作系统下加载可执行对象时必须调用的内核函数;所述内核监控程序将从所述特定内核函数中获取的参数与所述白名单中的可执行对象清单进行比较,若其在所述白名单中,则所述特定内核函数正常执行;反之,则所述特定内核函数返回空值或非法值,以阻止所述可执行对象的加载;所述被管理端向所述管理中心上传拦截日志,所述拦截日志记载所述可执行对象的信息以及是否拦截的情况。2.根据权利要求1所述的一种Linux下基于内核的防勒索病毒的方法,其特征在于:针对可执行程序,所述特定内核函数为load_elf_phdrs,所述步骤1)中,通过Kprobe技术拦截该load_elf_phdrs函数。3.根据权利要求1所述的一种Linux下基于内核的防勒索病毒的方法,其特征在于:针对内核程序,所述特定内核函数为init_module和kernel_read_file_from_fd,所述步骤1)中,通过Kprobe技术拦截该kernel_read_file_from_fd函数,通过HOOK挂钩init_module函数的方式拦截init_module函数。4.根据权利要求1所述的一种Linux下基于内核的防勒索病毒的方法,其特征在于:针对动态库,所述特定内核函数为vm_mmap,所述步骤1)中,通过Kprobe技术拦截该vm_mmap函数。5.根据权利要求4所述...

【专利技术属性】
技术研发人员:赵天耳赵树升
申请(专利权)人:杭州大晚成信息科技有限公司
类型:发明
国别省市:

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

1