一种进程定位方法、装置、设备及机器可读存储介质与流程

文档序号:27946459发布日期:2021-12-11 14:15阅读:101来源:国知局
一种进程定位方法、装置、设备及机器可读存储介质与流程

1.本公开涉及通信技术领域,尤其是涉及一种进程定位方法、装置、设备及机器可读存储介质。


背景技术:

2.当前,基于安全威胁情报的安全事件检测方法大规模运用在网络安全领域,使得网络安全检测更加便捷和准确。安全威胁情报主要的分类是ip情报,域名情报,url情报,md5情报等。基于安全威胁情报的安全事件检测方法的主要原理是通过捕获网络中的流量,识别并且与威胁情报进行匹配。其中域名情报的使用方式是,截取主机的请求的dns域名请求,再根据已知的黑域名情报库进行匹配,匹配到认为主机具有很大失陷可能。当此类恶意域名请求事情发生后,排查人员第一时间需要对主机进行排查取证,需要找到请求该恶意域名的进程,从而定点判定和清除恶意软件。但这两个过程是隔离的,匹配恶意域名使用的是网络侧的流量,流量中没有具体的进程信息,而主机侧没有域名请求的信息,因而网络侧和主机侧无法关联起来,不能打通整个流程。


技术实现要素:

3.有鉴于此,本公开提供一种进程定位方法、装置及电子设备、机器可读存储介质,以改善上述恶意流量和恶意进程无法关联的问题。
4.具体地技术方案如下:
5.本公开提供了一种进程定位方法,应用于计算机设备,所述方法包括:抓取当前启动的进程,获取进程信息并存储进程信息至信息库;抓取待发送报文,解析待发送报文的dns协议,获取报文关联的域名,根据报文关联的域名是否匹配恶意域名,判断该报文是否是恶意报文;提取恶意报文的五元组信息,根据五元组信息在存储进程信息的信息库中匹配关联的进程。
6.作为一种技术方案,所述提取恶意报文的五元组信息,根据五元组信息在存储进程信息的信息库中匹配关联的进程,包括:认为匹配到的关联的进程为恶意进程,输出恶意进程的进程信息。
7.作为一种技术方案,所述抓取当前启动的进程,获取进程信息并存储进程信息至信息库,包括:为信息库中存储的进程信息设置老化时间,老化存储时间达到老化时间的进程信息。
8.作为一种技术方案,所述抓取当前启动的进程,获取进程信息并存储进程信息至信息库,包括:按照预设周期,周期性地抓取当前启动的进程,获取进程信息并存储进程信息至信息库。
9.本公开同时提供了一种进程定位装置,应用于计算机设备,所述装置包括:进程模块,用于抓取当前启动的进程,获取进程信息并存储进程信息至信息库;报文模块,用于抓取待发送报文,解析待发送报文的dns协议,获取报文关联的域名,根据报文关联的域名是
否匹配恶意域名,判断该报文是否是恶意报文;匹配模块,用于提取恶意报文的五元组信息,根据五元组信息在存储进程信息的信息库中匹配关联的进程。
10.作为一种技术方案,所述提取恶意报文的五元组信息,根据五元组信息在存储进程信息的信息库中匹配关联的进程,包括:认为匹配到的关联的进程为恶意进程,输出恶意进程的进程信息。
11.作为一种技术方案,所述抓取当前启动的进程,获取进程信息并存储进程信息至信息库,包括:为信息库中存储的进程信息设置老化时间,老化存储时间达到老化时间的进程信息。
12.作为一种技术方案,所述抓取当前启动的进程,获取进程信息并存储进程信息至信息库,包括:按照预设周期,周期性地抓取当前启动的进程,获取进程信息并存储进程信息至信息库。
13.本公开同时提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现前述的进程定位方法。
14.本公开同时提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述的进程定位方法。
15.本公开提供的上述技术方案至少带来了以下有益效果:
16.抓取网络侧的报文流量,找到匹配恶意域名的恶意报文,以恶意报文的报文五元组信息去匹配当前计算机设备启动的进程的进程信息,从而匹配到恶意进程,使恶意流量与恶意进程得以关联,打通流程,便于排查处理网络安全问题。
附图说明
17.为了更加清楚地说明本公开实施方式或者现有技术中的技术方案,下面将对本公开实施方式或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施方式,对于本领域普通技术人员来讲,还可以根据本公开实施方式的这些附图获得其他的附图。
18.图1是本公开一种实施方式中的进程定位方法的流程图;
19.图2是本公开一种实施方式中的进程定位装置的结构图;
20.图3是本公开一种实施方式中的电子设备的硬件结构图。
具体实施方式
21.在本公开实施方式使用的术语仅仅是出于描述特定实施方式的目的,而非限制本公开。本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
22.应当理解,尽管在本公开实施方式可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以
被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
23.在window vista以下平台,通过tdi filter驱动,attachdevice到tcp和udp设备,实现irp包过滤功能,该步需要签名后的tdi过滤驱动;tdi_receive和tdi_receive_datagram,接收来自远端53端口udp报文时,认为是dns有关报文。解析得到域名访问日志所需内容(进程id,dns ip、端口,本地ip、端口,调用栈,加载模块,进程启动时间、启动参数、启动路径,进程所属用户)。从驱动上送数据到应用层,解析报文内容得到dns请求类型;返回码,只有域名访问日志能拿到,ip只拦截了请求过程,因此请求结果是否成功也是无法判别的,只能判断进程发起ip访问的请求这一过程,而域名回应则永远认为成功。
24.在window vista以上平台,通过wfp驱动,获取系统所有的网络连接请求,
25.fwpm_layer_inbound_ippacket_v4和fwpm_layer_inbound_ippacket_v6,接收来自远端53端口udp报文时,认为是dns有关报文。解析得到域名访问日志所需内容(进程id,调用栈,加载模块,进程启动时间、启动参数、启动路径,进程所属用户)。从驱动上送数据到应用层,解析报文内容得到dns ip、端,本地ip与端口,dns请求类型;ip只拦截了请求过程,因此请求结果是否成功也是无法判别的,只能判断进程发起ip访问的请求这一过程,而域名回应则永远认为成功。
26.在linux平台,主要是通过安装systemtap来实现,用systemtap hook udp发送消息底层调用,在udp发送消息时获取源ip、源端口、目的ip、目的端口,以及进程pid等信息。域名访问日志:udp访问日志中目的端口是53日志归为域名访问日志。此外,用systemtap hook udp接收消息底层调用,如果来源端口是53,按照dns协议解析报文内容,得到parsed_ip等信息。
27.在solaris平台,使用dtrace监测tcp、udp访问相关系统api调用,获取ip、域名访问的相关信息。
28.以上实现是基于各平台特有的特性进行实现,每个平台都要开发一套软件,开发成本较高,维护成本也较高,且在windows上无法解析其他类型的dns请求,同时需要获取获取难度较高的具有签名的驱动。
29.有鉴于此,本公开提供一种进程定位方法、装置及电子设备、机器可读存储介质,以改善上述恶意流量和恶意进程无法关联的问题。
30.具体地,技术方案如后述。
31.在一种实施方式中,本公开提供了一种进程定位方法,应用于计算机设备,所述方法包括:抓取当前启动的进程,获取进程信息并存储进程信息至信息库;抓取待发送报文,解析待发送报文的dns协议,获取报文关联的域名,根据报文关联的域名是否匹配恶意域名,判断该报文是否是恶意报文;提取恶意报文的五元组信息,根据五元组信息在存储进程信息的信息库中匹配关联的进程。
32.具体地,如图1,包括以下步骤:
33.步骤s11,抓取当前启动的进程,获取进程信息并存储进程信息至信息库;
34.步骤s12,抓取待发送报文,解析待发送报文的dns协议,获取报文关联的域名,根据报文关联的域名是否匹配恶意域名,判断该报文是否是恶意报文;
35.步骤s13,提取恶意报文的五元组信息,根据五元组信息在存储进程信息的信息库
中匹配关联的进程。
36.抓取网络侧的报文流量,找到匹配恶意域名的恶意报文,以恶意报文的报文五元组信息去匹配当前计算机设备启动的进程的进程信息,从而匹配到恶意进程,使恶意流量与恶意进程得以关联,打通流程,便于排查处理网络安全问题。
37.在一种实施方式中,所述提取恶意报文的五元组信息,根据五元组信息在存储进程信息的信息库中匹配关联的进程,包括:认为匹配到的关联的进程为恶意进程,输出恶意进程的进程信息。
38.在一种实施方式中,所述抓取当前启动的进程,获取进程信息并存储进程信息至信息库,包括:为信息库中存储的进程信息设置老化时间,老化存储时间达到老化时间的进程信息。
39.在一种实施方式中,所述抓取当前启动的进程,获取进程信息并存储进程信息至信息库,包括:按照预设周期,周期性地抓取当前启动的进程,获取进程信息并存储进程信息至信息库。
40.在一种实施方式中,启动两个线程。
41.线程一使用抓包模块抓取主机网卡的流量报文,使用基于python的scapy模块或libpacp模块或其他可用的软件模块,对网络流量进行解析。获取到dns协议里的qname作为请求的域名,截取的域名与配置要定位的恶意域名进行匹配。若匹配成功,则认为带有该恶意域名的报文为恶意报文,提取本次dns请求/响应的报文五元组信息,包括源ip地址,源端口,目的ip地址,目的端口,协议。根据五元组信息在后文说明的存储有进程信息的信息库中进行查询匹配。如果匹配到,则认为匹配的进程为恶意进程,输出恶意进程的信息,包括:进程名称、进程id、进程的路径、进程的父进程名称、父进程的路径、祖父进程名称、祖父进程路径等信息。
42.线程二使用进程采集模块抓取当前时刻的所有的udp进程列表,可使用基于python的psutil模块,也可使用其他符合功能要求的软件模块。提取每个udp进程的进程信息,包括进程名称、进程id、进程的路径、进程的父进程名称、父进程的路径、祖父进程名称、祖父进程路径等信息,存入信息库。写入完成后判断线程一是否匹配到恶意进程,如果匹配到恶意进程,线程二结束工作,否则周期性地循环执行自抓取当前时刻的所有的udp进程列表的步骤。
43.此外,可以每分钟对进程库进行清理一次,清理1分钟之前的数据。
44.采用抓包模块获取主机网络流量,从而解析主机发起的dns请求,并结合主机进程采集模块获取进程详细信息,实现对恶意域名请求进程的监控和定位,该方法不需要对特定平台进行特定开发,不需要对windows平台提供驱动签名,全面解析dns协议,不存在遗漏,更好的解决网络侧和主机侧打通这一技术问题。
45.在一种实施方式中,本公开同时提供了一种进程定位装置,如图2,应用于计算机设备,所述装置包括:进程模块21,用于抓取当前启动的进程,获取进程信息并存储进程信息至信息库;报文模块22,用于抓取待发送报文,解析待发送报文的dns协议,获取报文关联的域名,根据报文关联的域名是否匹配恶意域名,判断该报文是否是恶意报文;匹配模块23,用于提取恶意报文的五元组信息,根据五元组信息在存储进程信息的信息库中匹配关联的进程。
46.在一种实施方式中,所述提取恶意报文的五元组信息,根据五元组信息在存储进程信息的信息库中匹配关联的进程,包括:认为匹配到的关联的进程为恶意进程,输出恶意进程的进程信息。
47.在一种实施方式中,所述抓取当前启动的进程,获取进程信息并存储进程信息至信息库,包括:为信息库中存储的进程信息设置老化时间,老化存储时间达到老化时间的进程信息。
48.在一种实施方式中,所述抓取当前启动的进程,获取进程信息并存储进程信息至信息库,包括:按照预设周期,周期性地抓取当前启动的进程,获取进程信息并存储进程信息至信息库。装置实施方式与对应的方法实施方式相同或相似,在此不再赘述。
49.在一种实施方式中,本公开提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现前述的进程定位方法,从硬件层面而言,硬件架构示意图可以参见图3所示。
50.在一种实施方式中,本公开提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述的进程定位方法。
51.这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radom access memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
52.上述实施方式阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
53.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
54.本领域内的技术人员应明白,本公开的实施方式可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本公开实施方式可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
55.本公开是参照根据本公开实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装
置。
56.而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
57.这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
58.本领域技术人员应明白,本公开的实施方式可提供为方法、系统或计算机程序产品。因此,本公开可以采用完全硬件实施方式、完全软件实施方式、或者结合软件和硬件方面的实施方式的形式。而且,本公开可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
59.以上所述仅为本公开的实施方式而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1