首页> 中国专利> 基于Linux平台的恶意样本检测收集方法及系统、存储介质、设备

基于Linux平台的恶意样本检测收集方法及系统、存储介质、设备

摘要

本发明提供一种基于L i nux平台的恶意样本检测收集方法及系统、终端设备、存储介质,该方法包括内核层模块获取若干路径上的埋点数据;内核层模块对所述埋点数据进行数据处理并判断所述埋点数据是否存在异常情况;当判断所述埋点数据存在异常情况时,所述内核层模块收集存在异常的所述埋点数据、与异常的所述埋点数据对应的进程可执行程序及对应的路径并上报云端服务器。该方法通过在L i nux平台上的若干关键流程上埋入埋点的方式发现和定位恶意样本可执行文件,并将捕获恶意程序样本通过守护进程的方式上报给云端服务器,实现收集捕获本地提权攻击样本,降低网络攻击造成的不良影响。

著录项

  • 公开/公告号CN112784274A

    专利类型发明专利

  • 公开/公告日2021-05-11

    原文格式PDF

  • 申请/专利权人 斑马网络技术有限公司;

    申请/专利号CN202110279790.1

  • 发明设计人 申晨;

    申请日2021-03-16

  • 分类号G06F21/56(20130101);

  • 代理机构31300 上海华诚知识产权代理有限公司;

  • 代理人徐颖聪

  • 地址 200030 上海市徐汇区淮海西路55号2楼D1座

  • 入库时间 2023-06-19 10:57:17

说明书

技术领域

本申请涉及网络安全技术领域,尤其涉及一种基于Linux平台的恶意样本检测收集方法。

背景技术

网络安全技术经过多年演进,无论是防御技术还是攻击技术相比于以往都有很大的发展。虽然现在网络安全防御技术已经非常先进,但事实上安全事故仍然层出不穷。所以无论安全防御技术有多先进,入侵者仍可能对网络实现进攻。网络安全具有很强的隐蔽性,当我们的设备被攻击时,如果没有监测机制,我们会对这些攻击行为和攻击细节一无所知。因此,如何捕获这些攻击行为和攻击细节是我们急需要解决的。

发明内容

有鉴于此,本申请提供一种基于Linux平台的恶意样本检测收集方法及系统,通过在Linux平台的内添加若干埋点,以发现和定位恶意样本可执行文件并进行上报,以解决上述问题。

为解决上述技术问题,本申请采用以下技术方案:

根据本发明实施例提供一种基于Linux平台的恶意样本检测收集方法,所述方法包括:

内核层模块获取若干路径上的埋点数据;

所述内核层模块对所述埋点数据进行数据处理并判断所述埋点数据是否存在异常情况;

当判断所述埋点数据存在异常情况时,所述内核层模块收集存在异常的所述埋点数据、与异常的所述埋点数据对应的进程可执行程序及对应的路径并上报云端服务器。

优选地,内核层模块获取若干路径上的埋点数据,包括:

所述内核层模块结合LSM框架,在所述路径上埋入通过自定义检查判断的埋点,以获取不同类型的所述埋点数据。

优选地,所述内核层模块对所述埋点数据进行数据处理并判断所述埋点数据是否存在异常情况,包括:

所述内核层模块对所述埋点数据中的进程进行用户凭证检查时,获取当前所述进程的权限等级,若当前所述进程权限等级为非特权进程,则将所述进程标记为非特权进程;

所述内核层模块获取所述进程进行访问操作或执行所述进程的子进程时的所述标记与当前所述进程的权限等级;若所述标记为非特权进程且所述权限等级为特权等级,则判断所述埋点数据存在异常情况。

优选地,所述内核层模块对所述埋点数据进行数据处理并判断所述埋点数据是否存在异常情况,包括:

所述内核层模块结合强制访问控制方案,当所述内核层模块获取到所述埋点数据中的进程对设备节点的非预期访问时,则判断所述埋点数据存在异常情况。

优选地,当判断所述埋点数据存在异常情况时,所述内核层模块收集存在异常的所述埋点数据、与异常的所述埋点数据对应的进程可执行程序及对应的路径并上报云端服务器,包括:

所述内核层模块将收集的存在异常的所述埋点数据、与异常的所述埋点数据对应的进程可执行程序及对应的路径输出至用户态进程,所述用户态进程通过proc文件系统监测所述内核层模块输出的数据信息并上报所述云端服务器。

本发明还提供一种基于Linux平台的恶意样本检测收集系统,包括:

获取模块,所述获取模块被配置用于内核层模块获取若干路径上的埋点数据;

判断模块,所述判断模块被配置用于所述内核层模块对所述埋点数据进行数据处理并判断所述埋点数据是否存在异常情况;

收集模块,所述收集模块被配置用于当判断所述埋点数据存在异常情况时,所述内核层模块收集存在异常的所述埋点数据、与异常的所述埋点数据对应的进程可执行程序及对应的路径并上报云端服务器。

优选地,所述获取模块包括结合单元;

所述结合单元被配置用于所述内核层模块结合LSM框架,在所述路径上埋入通过自定义检查判断的埋点,以获取不同类型的所述埋点数据。

优选地,所述判断模块包括第一判断单元;

所述第一判断单元被配置用于所述内核层模块对所述埋点数据中的进程进行用户凭证检查时,获取当前所述进程的权限等级,若当前所述进程权限等级为非特权进程,则将所述进程标记为非特权进程;

所述内核层模块获取所述进程进行访问操作或执行所述进程的子进程时的所述标记与当前所述进程的权限等级;若所述标记为非特权进程且所述权限等级为特权等级,则判断所述埋点数据存在异常情况。

优选地,所述判断模块还包括第二判断单元;

所述第二判断单元被配置用于所述内核层模块结合强制访问控制方案,当所述内核层模块获取到所述埋点数据中的进程对设备节点的非预期访问时,则判断所述埋点数据存在异常情况。

优选地,所述收集模块还包括上传单元;

所述上传单元被配置用于所述内核层模块将收集的存在异常的所述埋点数据、与异常的所述埋点数据对应的进程可执行程序及对应的路径输出至用户态进程,所述用户态进程通过proc文件系统监测所述内核层模块输出的数据信息并上报所述云端服务器。

本发明实施例还提供一种终端设备,所述终端设备包括:

处理器;

存储器;以及程序,其中,所述程序被存储在所述存储器中,并且被配置成由处理器执行,以使得所述终端设备实现所述一种基于Linux平台的恶意样本检测收集方法。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序:所述计算机程序被处理器执行实现所述一种基于Linux平台的恶意样本检测收集方法。

本申请的上述技术方案至少具有如下有益效果之一:

根据本申请实施例的一种基于Linux平台的恶意样本检测收集方法及系统,该方法通过在Linux平台上的若干关键流程上埋入埋点的方式发现和定位恶意样本可执行文件,并将捕获恶意程序样本通过守护进程的方式上报给云端服务器,实现收集捕获本地提权攻击样本,降低网络攻击造成的不良影响。

附图说明

图1为本申请实施例的基于Linux平台的恶意样本检测收集方法的整体流程图;

图2为本申请实施例的基于Linux平台的恶意样本检测收集方法的整体逻辑示意图;

图3为本申请实施例的基于Linux平台的恶意样本检测收集系统的模块图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在现有技术中,传统的蜜罐主要用于针对网络攻击行为,多为针对开放端口攻击的行为,例如:口令破解和特定端口的服务漏洞利用。且传统的杀毒软件主要针对PC端特别是Windows等操作系统上的病毒查杀,在PC端或服务器端通过开放特定服务端口,模拟存在缺陷的服务用于监控捕获针对网络攻击行为。而针对移动端的本地提权攻击行为没有得到很好的监控,比如:采用Linux系统的手机、车载设备等。知己知彼才能百战不殆,如果能将这些攻击时的攻击行为进行监测,捕获并上报攻击样本将能方便我们分析还原攻击路径。

针对上述技术问题,本发明提供一种基于Linux平台的恶意样本检测收集方法,该方法通过在Linux平台上的若干关键流程上埋入埋点的方式发现和定位恶意样本可执行文件,并将捕获恶意程序样本通过守护进程的方式上报给云端服务器,实现收集捕获本地提权攻击样本,降低网络攻击造成的不良影响。

下面通过结合具体的附图对本申请的各个实施例进行详细的说明。

图1为本申请一实施例提供的基于Linux平台的恶意样本检测收集方法的流程图。本发明实施例提供的方法是基于IDS(intrusion detection system,入侵检测系统),入侵检测系统包括内核层与用户态层,用于在攻击者对系统进行攻击的时候可以检测到攻击,并把攻击者的恶意程序打包上报。具体的,如图1和图2所示,包括如下步骤:

S1、内核层模块获取若干路径上的埋点数据。在内核层的若干关键路径上设置若干埋点,如图2中的攻击者a对内核层进行攻击时会触发内核层中预先设置的埋点1、埋点2和埋点n,若干埋点用以监控恶意行为,内核层模块获取触发后的埋点产生的埋点数据。

S2、内核层模块对埋点数据进行数据处理并判断埋点数据是否存在异常情况。在本发明一实施例中,内核层模块结合LSM框架(Linux security Module,安全框架)在内核层的关键路径上埋入通过自定义检查判断的埋点,以获取不同类型的埋点数据。

在一具体示例中,内核层模块对埋点数据中的进程进行用户凭证检查时,获取当前进程的权限等级,若当前进程权限等级为非特权进程,则将进程标记为非特权进程。

内核层模块获取进程进行访问操作或执行进程的子进程时的标记与当前进程的权限等级;若标记为非特权进程且权限等级为特权等级,特权等级即用户ID为root或CAP_SETUID,则判断埋点数据存在异常情况,说明该进程经过了非法提权。

在一具体示例中,在当前进程尝试对只读分区remount为可读写分区时,通常认为是高风险操作,说明该进程存在异常情况。

本发明一具体示例,在当前进程通过chmod命令为某个二进制可执行程序添加SUID时,或者尝试执行带SUID标志的二进制时,通常认为是高风险操作,当前进程存储异常情况。其中,chmod命令为控制用户对文件的权限的命令。Set UID简称为SUID,SUID是Linux系统中的一个基本特性,SUID的目的是让本来没有相应权限的用户运行这个进程后,可以访问他没有权限访问的资源,因此这个特性通常被用来在提权成功后维持永久权限。例如:攻击者在获取到root权限后,通常会置入su到/sbin/su,然后执行chmod a+x/sbin/su可以添加SUID用于维持root权限,下次直接执行su即可再次获取root权限,因此二进制程序添加SUID以及执行带SUID的可执行程序通常认为是高风险操作。

在一具体示例中,在syscall(system call,系统调用)入口处添加对uid等关键数据进行结构校验,如果校验不通过,则通常认为是高风险操作,当前进程存在异常情况。Linux系统中,一般进程是通过syscall来与内核交互的,当发起系统调用时,例如读取某个文件,当前进程执行过程将通过read系统调用从用户态切换到内核态;当内核中处理完底层文件读取逻辑时,会再次从系统调用出口返回至用户态。将埋点埋于syscall入口处并设置uid检查,当在syscall入口处检查发现uid校验不通过,可以认为是该进程存在异常情况,可能通过某些方式提升了自身权限。

在本发明一个实施例中,内核层模块结合强制访问控制方案,当内核层模块获取到埋点数据中的进程对/dev设备节点的非预期访问时,则判断埋点数据存在异常情况,认为是高风险操作。一般的,系统中的访问行为,如果是预设规则所允许的,才能发起访问;反之如果预设规则没有允许某个进程主体访问某个对象,则会拒绝访问。强制访问控制方案用预设的规则进行访问行为管控,当某些进程尝试访问一些可能存在漏洞的/dev设备节点,而这些设备节点通常在正常功能逻辑中是不需要访问也是不容许进行访问的,则判定当前进程存在异常情况。

S3、当判断埋点数据存在异常情况时,内核层模块收集存在异常的埋点数据、与异常的埋点数据对应的进程可执行程序及对应的路径并上报云端。内核层模块将收集的存在异常的所述埋点数据、与异常的埋点数据对应的进程可执行程序及对应的路径输出至用户态进程,用户态进程优选deamon进程通过proc文件系统监测内核层模块输出的数据信息并上报云端。云端服务器接收上报的异常进程对应的可执行程序,以供后续分析和还原攻击手法。其中,proc文件系统是一种伪文件系统也做虚拟文件系统,deamon进程通过proc文件系统获取内核层模块内的输出的信息。

本发明还提供一种基于Linux平台的恶意样本检测收集系统,如图3所示,包括获取模块10、判断模块20和收集模块30;其中,

获取模块10被配置用于内核层模块获取若干路径上的埋点数据;

判断模块20被配置用于所述内核层模块对所述埋点数据进行数据处理并判断所述埋点数据是否存在异常情况;

收集模块30被配置用于当判断所述埋点数据存在异常情况时,所述内核层模块收集存在异常的所述埋点数据、与异常的所述埋点数据对应的进程可执行程序及对应的路径并上报云端服务器。

进一步的,所述获取模块10包括结合单元110;

所述结合单元110被配置用于所述内核层模块结合LSM框架,在所述路径上埋入通过自定义检查判断的埋点,以获取不同类型的所述埋点数据。

进一步的,所述判断模块20包括第一判断单元210;

所述第一判断单元210被配置用于所述内核层模块对所述埋点数据中的进程进行用户凭证检查时,获取当前所述进程的权限等级,若当前所述进程权限等级为非特权进程,则将所述进程标记为非特权进程;

所述内核层模块获取所述进程进行访问操作或执行所述进程的子进程时的所述标记与当前所述进程的权限等级;若所述标记为非特权进程且所述权限等级为特权等级,则判断所述埋点数据存在异常情况。

进一步的,所述判断模块20还包括第二判断单元220;

所述第二判断单元220被配置用于所述内核层模块结合强制访问控制方案,当所述内核层模块获取到所述埋点数据中的进程对设备节点的非预期访问时,则判断所述埋点数据存在异常情况。

进一步的,所述收集模块30还包括上传单元310;

所述上传单元被配置用于所述内核层模块将收集的存在异常的所述埋点数据、与异常的所述埋点数据对应的进程可执行程序及对应的路径输出至用户态进程,所述用户态进程通过proc文件系统监测所述内核层模块输出的数据信息并上报所述云端。

本发明实施例还提供一种终端设备,终端设备包括:处理器;存储器;以及程序,其中,程序被存储在存储器中,并且被配置成由处理器执行,以使得终端设备实现一种基于Linux平台的恶意样本检测收集方法。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序:计算机程序被处理器执行实现一种基于Linux平台的恶意样本检测收集方法。

需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。

以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号