本发明涉及安全防护,具体涉及一种基于内核的防勒索病毒方法。
背景技术:
1、linux系统中在现有技术中有通过对照白名单进行过滤防勒索病毒技术,比如具体的,设置一个管理中心和多个被管理端,被管理端均采用linux操作系统。管理中心为被管理端提供白名单配置文件,记录允许执行的可执行对象清单,包括程序、动态库和内核模块,并使用哈希算法(如sm3)确保唯一标识;被管理端安装有内核监控程序,利用kprobe技术挂接linux内核中加载可执行对象时所必需调用的关键函数,例如针对不同类型的可执行对象:load_elf_phdrs(可执行程序)、init_module和kernel_read_file_from_fd(内核模块)、vm_mmap(动态库和部分可执行程序/文件读写操作),内核监控程序在这些特定内核函数被调用时获取参数并与白名单中的清单比较。若不在白名单中,则阻止加载,返回空值或非法值;否则正常执行加载。但这类技术执行效率非常低,比如该技术白名单以哈希表的方式进行管理,其通过sm3哈希算法对可执行对象的参数进行运算,以获得唯一的32字节值作为该可执行对象的id记录在白名单中。即特定内核函数被调用时也需要获取可执行对象的特征哈希,实际上参与sm3哈希算法的具体信息非常多,除了现有技术中的“模块入口地址、文件设定长度内容、模块映像大小”这些宏观数据,具体信息有:elf头部、程序头表、节头表等等,如果需要白名单过滤通过,具体信息都必须要全部对应才可以。但是实际上这个白名单能够完全对应的概率非常低。在很多情况下,目标的可执行对象并不存在什么安全问题,目标的可执行对象具体信息与白名单上所对应的可执行对象具体信息不完全相同就不能通过sm3哈希算法对应的白名单;但是,这些目标的可执行对象也是安全的,在这种情况下,因为没有办法完成白名单的过滤通过,所以,这些目标的可执行对象就不能够通过安全的检测,这些目标的可执行对象就会被拦截。
技术实现思路
1、本发明的目的在于提供一种基于内核的防勒索病毒方法,以解决上述背景技术中提出的问题。
2、为了解决上述技术问题,本发明提供如下技术方案:
3、基于内核的防勒索病毒方法,包括步骤,
4、s0获取待检测可执行对象的内核检测信息;
5、s1首先将待检测可执行对象的内核检测信息的全部项目参与sm3哈希算法得到待检测可执行对象的第一类sm3哈希算法值,并且与白名单存储的第一类sm3哈希算法值比较,如果待检测可执行对象的第一类sm3哈希算法值与白名单存储的第一类sm3哈希算法值相同则使得待检测可执行对象通过安全检测;如果待检测可执行对象的第一类sm3哈希算法值与白名单存储的第一类sm3哈希算法值不相同则定义一个初始值为零的安全计数值p;
6、s2在待检测可执行对象的内核检测信息的全部项目中挑选若干个内核检测信息参与sm3哈希算法得到待检测可执行对象的第二类sm3哈希算法值,并且与白名单存储的第二类sm3哈希算法值比较,如果待检测可执行对象的第二类sm3哈希算法值与白名单存储的第二类sm3哈希算法值相同则使得安全计数值p增加1;
7、s3运行步骤s2若干次,每一次运行步骤s2时至少更换一个参与sm3哈希算法的内核检测信息的项目;
8、s4判断安全计数值p是否大于阈值,如果安全计数值p大于阈值则待检测可执行对象通过安全检测;否则待检测可执行对象不通过安全检测。
9、进一步,所述待检测可执行对象的内核检测信息全部项目包括:elf头部、程序头表、节头表、入口点地址、动态链接信息、符号表和重定位信息。
10、进一步,所述获取待检测可执行对象的内核检测信息具体包括使用 `readelf`或 `objdump` 可以读取并解析elf头部。
11、进一步,所述获取待检测可执行对象的内核检测信息具体包括通过 `readelf`的 `-l` 参数或者 `objdump` 的 `-p` 参数查看程序头表。
12、进一步,所述获取待检测可执行对象的内核检测信息具体包括使用 `readelf`的 `-s` 参数显示节头表信息。
13、进一步,所述获取待检测可执行对象的内核检测信息具体包括分析 `.dynamic`节或使用 `ldd` 命令以查看动态链接。
14、进一步,所述获取待检测可执行对象的内核检测信息具体包括使用 `readelf`查看符号表和重定位信息。
15、与现有技术相比,本发明具有如下有益效果:本申请不需要要求待检测可执行对象的内核检测信息全部项目完全对应白名单,而是部分对应也能够通过安全检测。所以本申请的执行效率非常高,也就是说与白名单的命中率就非常的高,执行效率就非常的高。既能保证安全性,又能够减少错误拦截的比例。
1.基于内核的防勒索病毒方法,其特征在于,包括步骤,
2.根据权利要求1所述的基于内核的防勒索病毒方法,其特征在于,所述待检测可执行对象的内核检测信息全部项目包括:elf头部、程序头表、节头表、入口点地址、动态链接信息、符号表和重定位信息。
3.根据权利要求1所述的基于内核的防勒索病毒方法,其特征在于,所述获取待检测可执行对象的内核检测信息具体包括使用 `readelf` 或 `objdump` 可以读取并解析elf头部。
4.根据权利要求1所述的基于内核的防勒索病毒方法,其特征在于,所述获取待检测可执行对象的内核检测信息具体包括通过 `readelf` 的 `-l` 参数或者 `objdump` 的 `-p` 参数查看程序头表。
5.根据权利要求1所述的基于内核的防勒索病毒方法,其特征在于,所述获取待检测可执行对象的内核检测信息具体包括使用 `readelf` 的 `-s` 参数显示节头表信息。
6.根据权利要求1所述的基于内核的防勒索病毒方法,其特征在于,所述获取待检测可执行对象的内核检测信息具体包括分析 `.dynamic` 节或使用 `ldd` 命令以查看动态链接。
7.根据权利要求1所述的基于内核的防勒索病毒方法,其特征在于,所述获取待检测可执行对象的内核检测信息具体包括使用 `readelf` 查看符号表和重定位信息。