CN111177717A - 一种恶意进程的识别方法、装置、电子设备和存储介质 - Google Patents

一种恶意进程的识别方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN111177717A
CN111177717A CN201910548080.7A CN201910548080A CN111177717A CN 111177717 A CN111177717 A CN 111177717A CN 201910548080 A CN201910548080 A CN 201910548080A CN 111177717 A CN111177717 A CN 111177717A
Authority
CN
China
Prior art keywords
information
malicious
domain name
system call
application layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910548080.7A
Other languages
English (en)
Inventor
黎潇
林智鑫
向琦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910548080.7A priority Critical patent/CN111177717A/zh
Publication of CN111177717A publication Critical patent/CN111177717A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种恶意进程的识别方法、装置、电子设备及存储介质,所述方法包括:当监测到应用层接口被进程调用时,获取应用层接口对应的域名信息,当监测到系统调用被进程调用时,获取系统调用对应的套接字的连接信息,基于域名信息和连接信息对进程进行恶意识别。由于本申请实施例可以直接根据上述的域名信息和连接信息对进程进行恶意识别,不需要基于对获取的进程的数据包的分析对该进程进行恶意识别,如此,可以提高进程的监控效率。

Description

一种恶意进程的识别方法、装置、电子设备和存储介质
技术领域
本申请涉及互联网技术领域,尤其涉及一种恶意进程的识别方法、装置、电子设备和存储介质。
背景技术
随着互联网技术的飞速发展,云计算中大规模集群带来了强大的计算能力,同时也增加了集群的监控难度。其中,一个关键的任务是对系统中某个进程的网络通信进行监控,进行程序调试、网络安全监测、预警、追溯和处理等一系列任务。现有技术中,对进程进行监控的方式为离线获取所有进程的数据包,通过对数据包的分析获取某个进程的相关信息,以实现对进程的监控。
然而,上述现有的对进程进行监控的方式只有在离线环境下才能获取进程的数据包,且只能通过分析数据包以获取进程的相关信息。这就意味着在需要进行某个进程识别的时候,必须要在特定的离线环境下进行,且从获取数据包到处理数据包以获得必要的数据之间存在着较长的时间,这可以导致识别高延时的问题,如此,导致了进程监控的效率低下。
发明内容
本申请实施例提供了一种恶意进程的识别方法、装置、电子设备和存储介质,可以提高进程的监控效率。
一方面,本申请实施例提供了一种恶意进程的识别方法,该方法包括:
当监测到应用层接口被进程调用时,获取应用层接口对应的域名信息;
当监测到系统调用被该进程调用时,获取系统调用对应的套接字的连接信息;
基于域名信息和连接信息对进程进行恶意识别。
另一方面提供了一种恶意进程的识别装置,该装置包括:
第一获取模块,用于当监测到应用层接口被进程调用时,获取应用层接口对应的域名信息;
第二获取模块,用于当监测到系统调用被该进程调用时,获取系统调用对应的套接字的连接信息;
识别模块,用于基于域名信息和连接信息对进程进行恶意识别。
另一方面提供了一种电子设备,该电子设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或该指令集由处理器加载并执行以实现如上述的恶意进程的识别方法。
另一方面提供了一种计算机可读存储介质,存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或该指令集由处理器加载并执行以实现如上述的恶意进程的识别方法。
本申请实施例提供的恶意进程的识别方法、设备及存储介质,具有如下技术效果:
当监测到应用层接口被进程调用时,获取应用层接口对应的域名信息,当监测到系统调用被进程调用时,获取系统调用对应的套接字的连接信息,基于域名信息和连接信息对进程进行恶意识别。由于本申请实施例可以直接根据上述的域名信息和连接信息对进程进行恶意识别,不需要基于对获取的进程的数据包的分析对该进程进行恶意识别,如此,可以提高进程的监控效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种应用环境的示意图;
图2是本申请实施例提供的一种协议参考模型;
图3是本申请实施例提供的一种恶意进程的识别方法的流程示意图;
图4是本申请实施例提供的一种恶意进程的识别方法的流程示意图;
图5是本申请实施例提供的一种恶意进程的识别方法的流程示意图;
图6是本申请实施例提供的一种恶意进程的识别装置的结构示意图;
图7是本申请实施例提供的一种恶意进程的识别方法的服务器的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1和图2,图1是本申请实施例提供的一种应用环境的示意图,图2是本申请实施例提供的一种协议参考模型。其中,图1包括装载有Lunix系统的设备101。该设备101中转载的Lunix系统包含着3层结构:用户空间102、内核空间103和硬件104。可选的,该设备可以是装载有Lunix系统的台式计算机,笔记本电脑、手机、智能设备等。
其中,如图2所示,本申请实施例中的用户空间对应着5层参考模型中的应用层,而5层参考模型中的应用层对应着OSI模型中应用层、表示层和会话层,OSI模型中的应用层直接和应用程序接口并提供常见的网络应用服务。基于上文,本申请实施例中,应用程序和用户空间的接口被认为位于用户空间中,可以被称为应用层接口。
本申请实施例中,应用层也就是用户空间可以依靠某些特定的协议完成相应的功能。域名系统(Domain Name System,DNS)也就是域名解析协议就是用户空间对应的一个协议,用于将用户提供的主机名解析为网络协议(Internet Protocol,IP)地址。
用户通过应用程序访问网页的时候,通常输入的是有意义的英文字符标识,比如某个域名www.xxxxxxxx.com,然而,设备并不是通过上述的字符去寻找该域名对应的服务器,而是通过IP地址去寻找对应的服务器,为后续和该服务器建立通信连接做准备。下面基于DNS协议阐述DNS协议的工作过程:设备将用户输入的域名发送到一个解析域名的服务器上,解析域名的服务器可以包括多台解析不同域名的服务器,比如,有解析.com的服务器,有解析.org的服务器,有解析.net的服务器。通过解析.com的服务器获取上述域名的IP地址,将IP地址反馈发送域名的设备,以使得设备可以根据IP地址和服务器建立通信连接。
本申请实施例中,进程可以是运行中的应用程序,当进程需要获取IP地址时,都必须通过应用层接口将控制权传输给用户空间,使得用户空间依靠DNS协议完成IP地址的查询。
如图2所示,系统调用是应用程序和操作系统的接口,大多数操作系统使用系统调用在应用程序和操作系统之间传递着控制权,也就是说系统调用是进程的控制权和操作系统的控制权进行转换的接口。当某个进程调用系统调用时,控制权就从进程传递给了系统调用,系统调用将控制权传递给了操作系统,操作系统再传递给内核空间的某个函数,执行所请求的操作。因此,系统调用可以被认为是应用程序和内核空间的接口,位于内核空间中。
本申请实施例中,如图2所示,本申请实施例中的内核空间对应着5层参考模型中的传输层、网络层和数据链路层。进程需要建立网络通信时,不管是基于传输控制协议(Transmission Control Protocol,TCP)还是基于用户数据报协议(User DatagramProtocol,UDP),都需要通过内核空间,因此需要调用系统调用。
本申请实施例中发,Lunix是一种自由和开放源码的类UNIX操作系统。根据图1所示,应用层接口和系统调用可以位于Linux系统。
以下介绍本申请一种恶意进程的识别方法的具体实施例,图3是本申请实施例提供的一种恶意进程的识别方法的流程示意图,本说明书提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图3所示,该方法可以包括:
S301:当监测到应用层接口被进程调用时,获取应用层接口对应的域名信息。
本申请实施例中,进程获取IP地址时,需要通过用户空间的DNS协议完成IP地址的查询。具体的,进程调用应用层接口,通过应用层接口将域名和控制权传输给用户空间,使得用户空间可以基于域名完成IP地址的查询,其中域名就是上述S301中的域名信息。
本申请实施例中,在S301之前,即在监测到应用层接口被进程调用之前,一种可选的实施方式中,可以在应用层接口对应的函数中插入第一探测函数。如此,在获取应用层接口对应的域名信息的时候可以通过该插入的第一探测函数获取应用层接口对应的域名信息。可选的,用户空间中绝大多数函数中可以动态地插入探测函数,以使得通过探测函数获取被探测函数的相关信息。
一种可选的第一探测函数获取域名信息的实施方式中,确定要插入第一探测函数的应用层接口对应的函数,在该应用程接口对应的函数中插入第一探测函数,设备根据用户的操作行为转化的启动指令启动某个应用程序。用户可以在进程(运行中的该应用程序)中输入某个网页的域名信息(通过手动输入的形式或者点击该网页对应的图标或者链接),设备通过应用层接口对应的函数调用应用层接口将域名信息和控制权传输至用户空间时,先暂停应用层接口对应的函数的运行,运行第一探测函数,通过第一探测函数获取上述的域名信息。随后,运行应用层接口对应的函数将域名信息和控制权传输至用户空间,使得用户空间可以基于域名信息完成网页对应的服务器的IP地址的查询。
本申请实施例中,上述的第一探测函数可以是基于Uprobe技术的钩子函数。
S303:当监测到系统调用被该进程调用时,获取系统调用对应的套接字的连接信息。
本申请实施例中,连接信息包括连接方式,网络协议地址和端口号。
本申请实施例中,当进程需要建立通信连接时调用系统调用,设备将控制权从进程传递给了系统调用,系统调用将控制权传递给了内核空间,内核空间建立套接字socket,以便将进程的通信需要的系统资源分配给该进程。
本申请实施例中,在S303之前,即在监测到系统调用被该进程调用之前,一种可选的实施方式中,可以在系统调用对应的函数中插入第二探测函数。如此,在获取系统调用对应的套接字的连接信息的时候可以通过该插入的第二探测函数获取系统调用对应的套接字的连接信息。可选的,内核空间中绝大多数函数中可以动态地插入探测函数,以使得通过探测函数获取被探测函数的相关信息。
一种可选的第二探测函数获取套接字的连接信息的实施方式中,可以确定要插入第二探测函数的系统调用对应的函数,在该系统调用对应的函数中插入第二探测函数。基于上述进程获取某个网页的IP地址继续阐述进程如何调用系统调用,并通过第二探测函数获取系统调用对应的套接字的连接信息。设备将上文中获取的IP地址和控制权由进程通过系统调用传输给内核空间,该内核空间建立套接字socket,并确定IP地址,端口号和连接方式,并将上述的IP地址,端口号和连接方式填入上述的套接字中。当设备运行系统调用对应的函数使得通过套接字socket建立设备和网页对应的服务器的通信连接时,暂停系统调用对应的函数的运行,运行第二探测函数,通过第二探测函数获取上述的IP地址,端口号和连接方式。随后,设备运行系统调用对应的函数使得通过套接字socket建立设备和上述网页对应的服务器之间的通信连接。如此,服务器和设备可以基于建立的通信连接进行数据包的传输。
本申请实施例子中,连接方式可以包括基于TCP协议的连接和基于UDP协议的连接。可选的,端口号可以是目标端口号。可选的,上述的第二探测函数可以是基于Kprobe技术的钩子函数。
S305:基于域名信息和连接信息对进程进行恶意识别。
本申请实施例中,可以将域名信息和/或连接信息与预设恶意进程信息进行匹配,当域名信息或连接信息中任一信息与预设恶意进程信息匹配时,确定该进程为恶意进程。
一种可选的实施方式中,存在一个恶意进程信息库,该恶意进程信息库中包含预设恶意进程信息。若该预设恶意进程信息为每个被确定的恶意进程对应的域名信息,当通过第一探测函数获取域名信息后,可以基于恶意进程信息库中的预设恶意进程信息,和获取的域名信息进程匹配,若该预设恶意进程信息包含获取的域名信息,则匹配成功,确定该进程为恶意进程。
另一种可选的实施方式中,存在一个恶意进程信息库,该恶意进程信息库中包含预设恶意进程信息。若该预设恶意进程信息为每个被确定的恶意进程对应的连接信息中的IP地址,当通过第二探测函数获取连接信息后,可以基于恶意进程信息库中的预设恶意进程信息,和获取的连接信息中的IP地址进程匹配,若该预设恶意进程信息包含获取的连接信息中的IP地址,则匹配成功,确定该进程为恶意进程。
另一种可选的实施方式中,存在一个恶意进程信息库,该恶意进程信息库中包含预设恶意进程信息。若该预设恶意进程信息为每个被确定的恶意进程对应的连接信息中的端口号,当通过第二探测函数获取连接信息后,可以基于恶意进程信息库中的预设恶意进程信息,和获取的连接信息中的端口号进程匹配,若该预设恶意进程信息包含获取的连接信息中的端口号,则匹配成功,确定该进程为恶意进程。
另一种可选的实施方式中,存在一个恶意进程信息库,该恶意进程信息库中包含预设恶意进程信息。若该预设恶意进程信息为每个被确定的恶意进程对应的域名信息和连接信息中的IP地址,当通过第一探测函数获取域名信息,且第二探测函数获取连接信息后,可以基于恶意进程信息库中的预设恶意进程信息,和获取的域名信息和连接信息中的IP地址进程匹配,若该预设恶意进程信息包含获取的域名信息和连接信息中的IP地址,则匹配成功,确定该进程为恶意进程。
本申请实施例中,当确定该进程为恶意进程的时候,还可以获取进程的运行路径和进程的运行时间,并根据进程的运行路径确定运行过恶意进程的设备,根据进程的运行时间确定运行过恶意进程的设备运行恶意进程的时间。如此,可以对运行过恶意进程的设备进行维护,或者可以基于运行恶意进程的时间对某些设备中的软件或者硬件进行维护。
可选的,本申请实施例可以在获取进程的运行路径和进程的运行时间的同时,还获取进程的标记。进程的标记用来标识进程的身份信息,可以是进程的唯一标识符,也就是应用程序的唯一标识符。进程的运行时间可以是指该进程被启动的时间,可以是进程所在的设备和服务器建立好通信连接的时间。
一种可选的实施方式中,上述进程的标记、进程的运行时间和进程的运行径路可以是上述的第一探测函数和第二探测函数获取域名信息和连接信息的同时获取的并记录下来,在确定进程为恶意进程后,将获取记录下的进程的运行路径和进程的运行时间,并根据进程的运行路径确定运行过恶意进程的设备,根据进程的运行时间确定运行过恶意进程的设备运行恶意进程的时间。
另一种可选的实施例中,可以在基于所述域名信息和所述连接信息对所述进程进行恶意识别后,确定该进程的标记,并根据该进程的标记获取进程的运行路径和进程的运行时间。随后,可以根据进程的运行路径确定运行过恶意进程的设备,根据进程的运行时间确定运行过恶意进程的设备运行恶意进程的时间。
下面介绍一种恶意进程的识别方法,用于实时识别某个恶意进程。图4是本申请实施例提供的一种恶意进程的识别方法的流程示意图,具体的如图4所示,该方法可以包括:
S401:在应用层接口对应的函数中插入第一探测函数。
S403:在系统调用对应的函数中插入第二探测函数。
S405:当监测到应用层接口被进程调用时,通过该插入的第一探测函数获取应用层接口对应的域名信息。
S407:当监测到系统调用被该进程调用时,可以通过该插入的第二探测函数获取系统调用对应的套接字的连接信息。
S409:将域名信息和/或连接信息与预设恶意进程信息进行匹配,当域名信息或连接信息中任一信息与预设恶意进程信息匹配时,转至步骤S411,否则,删除获取的域名信息和连接信息。
本申请实施例中,可以如S409中通过判断域名信息是否为预设的域名信息来确定该进程是否为恶意进程。也可以通过判断IP地址是否为预设的IP地址来确定该进程是否为恶意进程。还可以通过判断端口号是否为预设的端口号来确定该进程是否为恶意进程。
S411:确定该进程为恶意进程,并确定该进程的标记。
S413:根据该进程的标记获取进程的运行路径和进程的运行时间。
S415:根据进程的运行路径确定运行过恶意进程的设备。
S417:根据进程的运行时间确定运行过恶意进程的设备运行恶意进程的时间。
上述S401至S417阐述的恶意进程的识别方法可以对恶意进程进行实时识别,及时确定出运行过恶意进程的设备和上述设备运行恶意进程的时间。
下面介绍一种可选的恶意进程的识别方法的具体实施例,图5是本申请实施例提供的一种恶意进程的识别方法的流程示意图,具体的如图5所示,该方法可以包括:
S501:在应用层接口对应的函数中插入第一探测函数。
S503:在系统调用对应的函数中插入第二探测函数。
S505:当监测到应用层接口被进程调用时,通过该插入的第一探测函数获取应用层接口对应的域名信息。
S507:当监测到系统调用被该进程调用时,可以通过该插入的第二探测函数获取系统调用对应的套接字的连接信息。
S509:获取该进程的标记、进程的运行路径和进程的运行时间。
S511:将域名信息和/或连接信息和/或进程的标记与预设恶意进程信息进行匹配,当域名信息、连接信息或进程的标记中任一信息与预设恶意进程信息匹配时,转至步骤S513,否则删除域名信息、连接信息、进程的标记、进程的运行路径和进程的运行时间。
S513:确定该进程为恶意进程。
S515:根据进程的运行路径确定运行过恶意进程的设备。
S517:根据进程的运行时间确定运行过恶意进程的设备运行恶意进程的时间。
本申请实施例中,可以对获取的所有进程相关的信息在某个时间段基于域名信息和/或连接信息和/或进程的标记与预设恶意进程信息对所有进程集中进行恶意进程识别。或者可以用一台设备获取进程的信息,另一台设备基于获取的信息对进程进行恶意进程的识别。因此,可以在获取域名信息、连接信息、进程的标记、进程的运行路径和进程的运行时间后,将域名信息、连接信息、进程的标记、进程的运行路径和进程的运行时间存储在设备的内存缓存区内。
一种可选的实施方案中,内存缓存区中存储有一张映射表,该映射表是用来表示域名信息和域名信息对应的进程的所有信息在内存缓存区中的存放区域的映射关系。其中,所有信息包括上述的域名信息、连接信息、进程的标记、进程的运行路径和进程的运行时间。将域名信息与预设恶意进程信息进行匹配,当域名信息与预设恶意进程信息匹配时,确定该进程为恶意进程,并通过该域名信息可以确定进程的所有信息在存缓存区中的存放区域,并从该存放区域内提取该进程的运行路径和该进程的运行时间,以使根据进程的运行路径确定运行过恶意进程的设备,根据进程的运行时间确定运行过恶意进程的设备运行恶意进程的时间。
另一种可选的实施方案中,内存缓存区中存储有一张映射表,该映射表是用来表示IP地址和IP地址对应的进程的所有信息在内存缓存区中的存放区域的映射关系。其中,所有信息包括上述的域名信息、连接信息、进程的标记、进程的运行路径和进程的运行时间。将IP地址与预设恶意进程信息进行匹配,当IP地址与预设恶意进程信息匹配时,确定该进程为恶意进程,并通过该IP地址可以确定进程的所有信息在存缓存区中的存放区域,并从该存放区域内提取该进程的运行路径和该进程的运行时间,以使根据进程的运行路径确定运行过恶意进程的设备,根据进程的运行时间确定运行过恶意进程的设备运行恶意进程的时间。
另一种可选的实施方案中,内存缓存区中存储有一张映射表,该映射表是用来表示端口号和端口号对应的进程的所有信息在内存缓存区中的存放区域的映射关系。其中,所有信息包括上述的域名信息、连接信息、进程的标记、进程的运行路径和进程的运行时间。将端口号与预设恶意进程信息进行匹配,当端口号与预设恶意进程信息匹配时,确定该进程为恶意进程,并通过该端口号可以确定进程的所有信息在存缓存区中的存放区域,并从该存放区域内提取该进程的运行路径和该进程的运行时间,以使根据进程的运行路径确定运行过恶意进程的设备,根据进程的运行时间确定运行过恶意进程的设备运行恶意进程的时间。
另一种可选的实施方案中,内存缓存区中存储有一张映射表,该映射表是用来表示进程的标记和进程的标记对应的进程的所有信息在内存缓存区中的存放区域的映射关系。其中,所有信息包括上述的域名信息、连接信息、进程的标记、进程的运行路径和进程的运行时间。将进程的标记与预设恶意进程信息进行匹配,当进程的标记与预设恶意进程信息匹配时,确定该进程为恶意进程,并通过该进程的标记可以确定进程的所有信息在存缓存区中的存放区域,并从该存放区域内提取该进程的运行路径和该进程的运行时间,以使根据进程的运行路径确定运行过恶意进程的设备,根据进程的运行时间确定运行过恶意进程的设备运行恶意进程的时间。
另一种可选的实施方案中,内存缓存区中存储有一张映射表,该映射表是用来表示IP地址和端口号和IP地址和端口号对应的进程的所有信息在内存缓存区中的存放区域的映射关系。其中,所有信息包括上述的域名信息、连接信息、进程的标记、进程的运行路径和进程的运行时间。将IP地址和端口号与预设恶意进程信息进行匹配,当IP地址和端口号与预设恶意进程信息匹配时,确定该进程为恶意进程,并通过该IP地址和端口号可以确定进程的所有信息在存缓存区中的存放区域,并从该存放区域内提取该进程的运行路径和该进程的运行时间,以使根据进程的运行路径确定运行过恶意进程的设备,根据进程的运行时间确定运行过恶意进程的设备运行恶意进程的时间。
本申请实施例中,还可以根据IP地址确定提供该进程服务的服务器的IP地址;根据端口号确定提供该进程服务的服务器的端口号;根据连接方式确定设备连接服务器时,是基于TCP协议进行连接的还是基于UDP协议进行连接的;根据进程的标记确定该进程的唯一标识符。
本申请实施例中,由于设备中可以运行很多进程,且监测到每一个进程调用应用层接口,都可以通过第一探测函数获取应用层接口对应的域名信息,监测到每一个进程调用系统调用时,都可以通过第二探测函数获取调用对应的套接字的连接信息,同样的,还可以获取每个进程的标记、运行路径和运行时间。可选的,每个进程基于每一次调用应用层接口和系统调用获取的所有信息都可以归入一个信息文件中,存储在内存缓存区,这种存储方式使得内存缓存区中存储着海量的信息文件。且一个进程还可以在不同的时间被启动,因此,内存缓存区中存储的信息文件越来越多,导致映射表内容也越来越多。一种可选的实施方式中,可以基于同一个信息将所有的信息文件进行分类,存储在内存缓存区的不同区域内。
可选的,可以根据域名信息将所有的进程的文件信息进行分类,将进程A对应的信息文件存储在内存缓存区中的第一区域,将进程B对应的信息文件存储在内存缓存区中的第二区域,将进程C对应的信息文件存储在内存缓存区中的第三区域,将进程D对应的信息文件存储在内存缓存区中的第四区域……依次类推,在进行进程的恶意识别之前就做好分类。
可选的,可以根据IP地址将所有的进程的文件信息进行分类,将进程A对应的信息文件存储在内存缓存区中的第一区域,将进程B对应的信息文件存储在内存缓存区中的第二区域,将进程C对应的信息文件存储在内存缓存区中的第三区域,将进程D对应的信息文件存储在内存缓存区中的第四区域……依次类推,在进行进程的恶意识别之前就做好分类。
可选的,还可以根据端口号或者进程的标记将所有的进程的文件信息进行分类。
本申请实施例中,将基于装载有Lunix系统的设备对如何在应用程接口对应的函数中插入第一探测函数和对在如何在系统调用对应的函数中插入第二探测函数做具体的阐述。
一种可选的实施方式中,第二探测函数可以是基于Kprobe技术的钩子函数。Kprobe是与内核空间相关的调试接口,可选的,设备可以使用ftrace管理Kprobe,ftrace是Linux内核空间提供的调试工具,通过ftrace可以控制Kprobe,通过内核空间提供的调试信息,指定特定的系统调用及参数,可通过一系列命令进行第二探测函数的插入。在系统运行中,动态挂载ftrace的tracefs(/sys/kernel/tracing)文件系统后即可以使ftrace生效。可选的,Lunix内核空间还可以挂载有调试系统文件debugfs,在插入第二探测函数之前,可以通过初始化debugfs为在系统调用对应的函数中插入第二探测函数做准备。可选的,特定的系统调用可以是sys_connect系统调用。
对应的,Uprobe是与用户空间相关的调试接口,在插入第一探测函数之前,可以通过初始化debugfs为在应用程接口对应的函数中插入第一探测函数做准备。可选的,应用程接口可以是gethostbyname,getaddrinfo应用层接口。
本申请实施例中,在通过第一探测函数获取域名信息和通过第二探测函数获取连接信息之前,还可以运行Uprobe对第一探测函数进行初始化,可以运行Kprobe对第二探测函数进行初始换,以使第一探测函数只监控和网络相关的应用层接口,以使第二探测函数只监控和网络相关的系统调用。
可选的,进程的标记、进程的路径和进程的时间可以是第一探测函数和第二探测函数中任一个探测函数获取的,比如,进程的标记和运行时间可以是第一探测函数获取的,进程的路径信息可以是第二探测信息获取的。
本申请实施例还提供了一种恶意进程的识别装置,图6是本申请实施例提供的一种恶意进程的识别装置的结构示意图,如图6所示,该装置包括:
第一获取模块601用于当监测到应用层接口被进程调用时,获取应用层接口对应的域名信息;
第二获取模块602用于当监测到系统调用被该进程调用时,获取系统调用对应的套接字的连接信息;
识别模块603用于基于域名信息和连接信息对进程进行恶意识别。
在一种可选的实施方式中,该装置还包括:
第一获取模块601用于在应用层接口对应的函数中插入第一探测函数;
通过第一探测函数获取应用层接口对应的域名信息。
在一种可选的实施方式中,该装置还包括:
第二获取模块602用于在系统调用对应的函数中插入第二探测函数;
通过第二探测函数获取系统调用对应的套接字的连接信息。
在一种可选的实施方式中,该装置还包括:
识别模块603用于述域名信息和/或连接信息与预设恶意进程信息进行匹配;
当域名信息或连接信息中任一信息与预设恶意进程信息匹配时,确定进程为恶意进程。
在一种可选的实施方式中,该装置还包括:
第一获取模块601获取所述进程的运行路径和所述进程的运行时间;
识别模块603用于根据所述进程的运行路径确定运行过所述恶意进程的设备;
根据所述进程的运行时间确定运行过所述恶意进程的设备运行所述恶意进程的时间。
本申请实施例中的装置与方法实施例基于同样地申请构思。
本申请实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图7是本申请实施例提供的一种恶意进程的识别方法的服务器的硬件结构框图。如图7所示,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)710(处理器710可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器730,一个或一个以上存储应用程序723或数据722的存储介质720(例如一个或一个以上海量存储设备)。其中,存储器730和存储介质720可以是短暂存储或持久存储。存储在存储介质720的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器710可以设置为与存储介质720通信,在服务器700上执行存储介质720中的一系列指令操作。服务器700还可以包括一个或一个以上电源760,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口740,和/或,一个或一个以上操作系统721,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口740可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器700的通信供应商提供的无线网络。在一个实例中,输入输出接口740包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口740可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器700还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。
本申请的实施例还提供了一种存储介质,所述存储介质可设置于服务器之中以保存用于实现方法实施例中一种恶意进程的识别方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述恶意进程的识别方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
由上述本申请提供的恶意进程的识别方法、设备或存储介质的实施例可见,本申请中当监测到应用层接口被进程调用时,获取应用层接口对应的域名信息,当监测到系统调用被进程调用时,获取系统调用对应的套接字的连接信息,基于域名信息和连接信息对进程进行恶意识别。由于本申请实施例可以直接根据上述的域名信息和连接信息对进程进行恶意识别,不需要通过获取进程的数据包进行分析后对该进程进行恶意识别,如此,可以提高进程的监控效率。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种恶意进程的识别方法,其特征在于,所述方法包括:
当监测到应用层接口被进程调用时,获取所述应用层接口对应的域名信息;
当监测到系统调用被所述进程调用时,获取所述系统调用对应的套接字的连接信息;
基于所述域名信息和所述连接信息对所述进程进行恶意识别。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述应用层接口对应的函数中插入第一探测函数;
所述获取所述应用层接口对应的域名信息,包括:
通过所述第一探测函数获取所述应用层接口对应的域名信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述系统调用对应的函数中插入第二探测函数;
所述获取所述系统调用对应的套接字的连接信息,包括:
通过所述第二探测函数获取所述系统调用对应的套接字的连接信息。
4.根据权利要求1所述的方法,其特征在于,
所述连接信息包括连接方式,网络协议地址和端口号。
5.根据权利要求1所述的方法,其特征在于,所述基于所述域名信息和所述连接信息对所述进程进行恶意识别,包括:
将所述域名信息和/或所述连接信息与预设恶意进程信息进行匹配;
当所述域名信息或所述连接信息中任一信息与所述预设恶意进程信息匹配时,确定所述进程为恶意进程。
6.根据权利要求1或5所述的方法,其特征在于,当确定所述进程为恶意进程时,所述方法还包括:
获取所述进程的运行路径和所述进程的运行时间;
根据所述进程的运行路径确定运行过所述恶意进程的设备;
根据所述进程的运行时间确定运行过所述恶意进程的设备运行所述恶意进程的时间。
7.根据权利要求1所述的方法,其特征在于,
所述应用层接口和系统调用位于Linux系统。
8.一种恶意进程的识别装置,其特征在于,所述方法包括:
第一获取模块,用于当监测到应用层接口被进程调用时,获取所述应用层接口对应的域名信息;
第二获取模块,用于当监测到系统调用被所述进程调用时,获取所述系统调用对应的套接字的连接信息;
识别模块,用于基于所述域名信息和所述连接信息对所述进程进行恶意识别。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-7任一所述的恶意进程的识别方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1-7任一所述的恶意进程的识别方法。
CN201910548080.7A 2019-06-21 2019-06-21 一种恶意进程的识别方法、装置、电子设备和存储介质 Pending CN111177717A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910548080.7A CN111177717A (zh) 2019-06-21 2019-06-21 一种恶意进程的识别方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910548080.7A CN111177717A (zh) 2019-06-21 2019-06-21 一种恶意进程的识别方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN111177717A true CN111177717A (zh) 2020-05-19

Family

ID=70655356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910548080.7A Pending CN111177717A (zh) 2019-06-21 2019-06-21 一种恶意进程的识别方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN111177717A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783087A (zh) * 2020-06-02 2020-10-16 Oppo广东移动通信有限公司 可执行文件恶意执行的检测方法及装置、终端、存储介质
CN113572751A (zh) * 2021-07-20 2021-10-29 杭州默安科技有限公司 一种网络流量的分析系统及其方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719846A (zh) * 2008-10-09 2010-06-02 中国移动通信集团天津有限公司 安全监控方法、装置及系统
US20140325650A1 (en) * 2013-04-26 2014-10-30 Kaspersky Lab Zao Selective assessment of maliciousness of software code executed in the address space of a trusted process
CN106650446A (zh) * 2016-12-26 2017-05-10 北京邮电大学 基于系统调用的恶意程序行为识别方法和系统
CN108768934A (zh) * 2018-04-11 2018-11-06 北京立思辰新技术有限公司 恶意程序发布检测方法、装置以及介质
CN108985052A (zh) * 2018-07-05 2018-12-11 北京邮电大学 一种恶意程序识别方法、装置和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719846A (zh) * 2008-10-09 2010-06-02 中国移动通信集团天津有限公司 安全监控方法、装置及系统
US20140325650A1 (en) * 2013-04-26 2014-10-30 Kaspersky Lab Zao Selective assessment of maliciousness of software code executed in the address space of a trusted process
CN106650446A (zh) * 2016-12-26 2017-05-10 北京邮电大学 基于系统调用的恶意程序行为识别方法和系统
CN108768934A (zh) * 2018-04-11 2018-11-06 北京立思辰新技术有限公司 恶意程序发布检测方法、装置以及介质
CN108985052A (zh) * 2018-07-05 2018-12-11 北京邮电大学 一种恶意程序识别方法、装置和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783087A (zh) * 2020-06-02 2020-10-16 Oppo广东移动通信有限公司 可执行文件恶意执行的检测方法及装置、终端、存储介质
CN113572751A (zh) * 2021-07-20 2021-10-29 杭州默安科技有限公司 一种网络流量的分析系统及其方法

Similar Documents

Publication Publication Date Title
CN108282489B (zh) 一种漏洞扫描方法、服务端及系统
US8359378B2 (en) Network system and method of administrating networks
CN111431758B (zh) 云网络设备的测试方法、装置、存储介质和计算机设备
US8825750B2 (en) Application server management system, application server management method, management apparatus, application server and computer program
CN106919485B (zh) 一种基于服务器上配置硬件测试工具的系统
CN110309476B (zh) 网页浏览器调用本地应用程序的方法及装置
CN107196848B (zh) 消息推送方法及装置
CN111177717A (zh) 一种恶意进程的识别方法、装置、电子设备和存储介质
CN111224878A (zh) 路由转发方法、装置、电子设备及存储介质
CN106648722B (zh) 基于大数据的Flume接收端数据处理方法和装置
CN109408376B (zh) 一种配置数据的生成方法、装置、设备及存储介质
CN114036360A (zh) 网络爬虫拦截方法、装置、电子设备及可读存储介质
CN107222365B (zh) 数据处理方法、装置及服务器
CN116820958A (zh) 一种基于代理的多环境自动化测试方法及系统
CN110995489A (zh) 大数据平台服务器管理方法、装置、服务器及存储介质
CN113660134A (zh) 端口探测方法、装置、电子装置和存储介质
CN115604343A (zh) 一种数据传输方法、系统、电子设备和存储介质
US9237127B2 (en) Method and apparatus for dynamic host operating system firewall configuration
CN105703953B (zh) 一种ott业务资源消耗确定方法和系统
CN116932157A (zh) 数据采集方法、装置、电子设备及存储介质
CN112217852A (zh) 一种基于工作流引擎的平台即服务系统及方法
CN113783755A (zh) 网络监测方法、装置、存储介质及电子装置
CN111176782A (zh) 一种在线实验方法和装置
CN112073258B (zh) 一种识别用户的方法及电子设备、存储介质
CN112463751B (zh) 一种日志处理方法、系统、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination