CN106878240A - 僵尸主机识别方法及装置 - Google Patents
僵尸主机识别方法及装置 Download PDFInfo
- Publication number
- CN106878240A CN106878240A CN201510927598.3A CN201510927598A CN106878240A CN 106878240 A CN106878240 A CN 106878240A CN 201510927598 A CN201510927598 A CN 201510927598A CN 106878240 A CN106878240 A CN 106878240A
- Authority
- CN
- China
- Prior art keywords
- current process
- network connection
- connection information
- malicious
- file
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/144—Detection or countermeasures against botnets
Abstract
本申请提供了一种僵尸主机识别方法及装置,其中一种方法用于服务器识别云计算网络中的僵尸主机,所述方法包括:接收僵尸主机发送的被确定为恶意进程的当前进程的网络连接信息;基于预先建立的中控机网络连接信息白名单库以及所述当前进程的网络连接信息确定出所述当前进程的网络连接信息中的僵尸网络中控机的网络连接信息;其中,所述僵尸网络中控机的网络连接信息包括僵尸网络中控机IP;查找与所述僵尸网络中控机IP关联的网络五元组;将查找出的网络五元组对应的主机作为识别出的云计算网络中的僵尸主机。本申请实现了快速、准确的识别僵尸主机。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种僵尸主机识别方法及装置。
背景技术
僵尸主机是指感染僵尸程序病毒,从而被黑客程序控制的计算机设备。该计算机设备可以是终端设备,也可以是云端设备,为描述方便,本申请以下实施例将待识别计算机设备称为待识别主机。在主机感染僵尸程序病毒后,该主机将存在一定的安全隐患,其可将僵尸程序病毒恶意传播给其他主机,且该主机中保存的譬如银行帐号及密码等都可被黑客随意“取用”。可见,不论是对网络安全运行还是用户数据安全的保护来说,僵尸程序病毒都是极具威胁的隐患。因此,及时识别僵尸主机从而控制僵尸程序病毒的恶意传播,可有效降低僵尸程序病毒对主机及网络安全造成的威胁。
目前云端对于僵尸主机的识别方法为:在待识别主机网络流量异常时,触发对该主机执行识别操作,具体为:利用部署的专用识别设备(如IDS)根据网络协议包特征来识别。该僵尸主机识别方法的缺点包括:
所述专用识别设备部署成本非常大,而且僵尸网络协议特征更新频率快,协议类型多,因此需要针对不断更新的僵尸网络协议来更新该专用识别设备的识别方法,运营成本会很大。另外,还存在部分比较隐蔽的网络协议不支持从网络特征上进行检测,因此该方法不但成本高且识别准确性低。
发明内容
本申请解决的技术问题之一是,提供一种僵尸主机识别方法及装置,实现了简便、准确的识别出僵尸主机。
根据本申请一方面的一个实施例,提供了一种僵尸主机识别方法,所述方法包括:
获取待识别主机当前进程的恶意代码特征;所述当前进程的恶意代码特征包括以下至少一个:当前进程是否存在对应的进程文件、当前进程对应的进程文件是否加壳、当前进程的进程文件的代码段散列值;
根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程;
若所述当前进程是恶意进程,则将所述待识别主机识别为僵尸主机。
根据本申请另一方面的一个实施例,提供了一种僵尸主机识别方法,用于识别网络中的僵尸主机,所述方法包括:
接收僵尸主机发送的被确定为恶意进程的当前进程的网络连接信息;
基于预先建立的中控机网络连接信息白名单库以及所述当前进程的网络连接信息确定出所述当前进程的网络连接信息中的僵尸网络中控机的网络连接信息;其中,所述僵尸网络中控机的网络连接信息包括僵尸网络中控机IP;
查找与所述僵尸网络中控机IP关联的网络五元组;
将查找出的网络五元组对应的主机作为识别出的云计算网络中的僵尸主机。
根据本申请另一方面的一个实施例,提供了一种僵尸主机识别装置,所述装置包括:
获取单元,用于获取待识别主机当前进程的恶意代码特征;所述当前进程的恶意代码特征包括以下至少一个:当前进程是否存在对应的进程文件、当前进程对应的进程文件是否加壳、当前进程的进程文件的代码段散列值;
判断单元,用于根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程;
识别单元,用于在所述判断单元判断所述当前进程是恶意进程情况下,将所述待识别主机识别为僵尸主机;
发送单元,用于发送所述被确定为恶意进程的当前进程的网络连接信息给服务器,以便服务器依据所述网络连接信息识别出其他僵尸主机。
根据本申请另一方面的一个实施例,提供了一种僵尸主机识别装置,用于识别网络中的僵尸主机,所述装置包括:
接收单元,用于接收僵尸主机发送的被确定为恶意进程的当前进程的网络连接信息;
确定单元,用于基于预先建立的中控机网络连接信息白名单库以及所述当前进程的网络连接信息确定出所述当前进程的网络连接信息中的僵尸网络中控机的网络连接信息;其中,所述僵尸网络中控机的网络连接信息包括僵尸网络中控机IP;
查找单元,用于查找与所述僵尸网络中控机IP关联的网络五元组;
识别单元,用于将查找出的网络五元组对应的主机作为识别出的云计算网络中的僵尸主机。
本申请实施例通过获取待识别主机当前进程的恶意代码特征,利用该恶意代码特征来识别当前进程是否为恶意进程,可有效识别同类型恶意文件的变种。若利用恶意代码特征识别出当前进程是恶意进程,则将该待识别主机识别为僵尸主机。实现了主机本身识别是否为僵尸主机,且在识别为僵尸主机情况下发送恶意进程的网络连接信息给服务器,从而服务器可以依据该网络连接信息快速识别出其他僵尸主机。因此,本申请不但可以识别出同类型恶意文件的变种,而且有效提高了识别效率及识别准确率。
另外,本申请实施例通过接收僵尸主机发送的恶意进程的网络连接信息,对该恶意进程的网络连接信息利用预先建立的中控机网络连接信息白名单库进行误报数据的过滤,从而确定出接收的恶意进程的网络连接信息中的僵尸网络中控机的网络连接信息,并依据该僵尸网络中控机的网络连接信息快速确定出其他僵尸主机,实现了服务器端简便、快速、有效的识别僵尸主机,且有效降低了运营成本。
本领域普通技术人员将了解,虽然下面的详细说明将参考图示实施例、附图进行,但本申请并不仅限于这些实施例。而是,本申请的范围是广泛的,且意在仅通过后附的权利要求限定本申请的范围。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是根据本申请一个实施例的僵尸主机识别方法的流程图。
图2是根据本申请一个实施例的根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程的方法的流程图。
图3是根据本申请另一个实施例的僵尸主机识别方法的流程图。
图4是根据本申请一个实施例的僵尸主机识别装置的结构示意图。
图5是根据本申请另一个实施例的僵尸主机识别装置的结构示意图。
本领域普通技术人员将了解,虽然下面的详细说明将参考图示实施例、附图进行,但本申请并不仅限于这些实施例。而是,本申请的范围是广泛的,且意在仅通过后附的权利要求限定本申请的范围。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本申请,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本申请。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本申请,也应包含在本申请保护范围以内,并以引用方式包含于此。
后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本申请的示例性实施例的目的。但是本申请可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于…之间”相比于“直接处于…之间”,“与…邻近”相比于“与…直接邻近”等等)。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本申请的技术方案作进一步详细描述。
图1是根据本申请一个实施例的僵尸主机识别方法的流程图,用于计算机设备识别设备本身是否为僵尸主机,本申请实施例将所述计算机设备称为待识别主机,本申请实施例适用于使用windows和linux操作系统的计算机设备,该计算机设备可以为终端设备,也可以为云端服务器。所述方法主要包括如下步骤:
S110、获取待识别主机当前进程的恶意代码特征。
S120根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程。
S130、若所述当前进程是恶意进程,则将所述待识别主机识别为僵尸主机。
为进一步理解本申请,下面对上述各步骤做进一步详细介绍。
步骤S110中所述当前进程的恶意代码特征包括:当前进程的进程文件的代码段散列值。在linux操作系统中所述当前进程的恶意代码特征还可包括:当前进程是否存在对应的进程文件及当前进程对应的进程文件是否加壳。可以理解的是,不论是在windows操作系统还是linux操作系统,获取当前进程的进程文件的代码段散列值一定是在当前进程存在对应的进程文件,且在该进程文件未加壳的情况下执行。
其中,获取所述待识别主机当前进程的恶意代码特征的方法可以为,获取当前运行的所有进程(存在至少一个当前进程),再获取当前进程的恶意代码特征。获取当前进程的恶意代码特征包括:获取当前进程的进程文件位置,再依据获取的进程文件位置获取当前进程的恶意代码特征。例如,针对恶意代码特征包括当前进程是否存在对应的进程文件的情况,获取当前进程的恶意代码特征即为:查找当前进程是否存在进程文件位置;或者在当前进程存在进程文件位置情况下,查找当前进程的进程文件位置是否存在进程文件。又如,针对恶意代码特征包括当前进程对应的进程文件是否加壳的情况,获取当前进程的恶意代码特征即为:识别当前进程的进程文件是否加壳。再如,针对恶意代码特征包括当前进程的进程文件的代码段散列值的情况,获取当前进程的恶意代码特征即为:计算当前进程的进程文件的代码段散列值。
从上述获取当前进程的恶意代码特征的过程可以看出,本申请实施例在获取当前进程的恶意代码特征与现有技术中实时计算待识别程序的完整散列值相比,不但大大缩短了获取时间,而且有效减少计算成本。
步骤S120所述的根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程的步骤,在当前进程的恶意代码特征包括不同的信息时判断所述当前进程是否为恶意进程的标准不同,主要包括如下几种场景:
其一、在本实施例所述方法应用于linux操作系统时,若当前进程的恶意代码特征包括:当前进程是否存在对应的进程文件,则所述根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程的步骤包括:
判断所述当前进程是否存在对应的进程文件,若所述当前进程不存在对应的进程文件,则确定所述当前进程为恶意进程。也就是若获取当前进程的进程文件失败(包括获取当前进程的进程文件位置失败),则确定所述当前进程为恶意进程。
其二、在本实施例所述方法应用于linux操作系统时,若当前进程的恶意代码特征包括:当前进程对应的进程文件是否加壳,所述根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程的步骤包括:
判断所述当前进程的进程文件是否加壳,若所述当前进程的进程文件加壳,且进程文件为ELF(Executable and Linkable Format,可执行与可链接格式)格式的进程文件,则确定所述当前进程为恶意进程。发明人经过对病毒样本的搜集及统计分析发现,在linux操作系统中,针对ELF格式的文件,大部分病毒样本都被加壳,因此,本申请实施例将被加壳的、ELF格式的进程文件识别为恶意进程对应的进程文件。
其三、在当前进程的恶意代码特征包括:当前进程的进程文件的代码段散列值情况下,所述根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程的步骤包括:
基于预先建立的、存储于服务器上的代码段散列值病毒库以及所述当前进程的进程文件的代码段散列值确定所述当前进程是否为恶意进程。也就是,本申请实施例需要预先建立一代码段散列值病毒库,该代码段散列值病毒库中保存预先搜集的病毒样本的代码段散列值,也就是在该代码段散列值病毒库中保存有病毒名称与代码段散列值的对应关系。
其中,本申请实施例建立所述代码段散列值病毒库的方法如下:
首先,搜集病毒样本。其中,可以将经杀毒软件鉴别为病毒的恶意文件作为搜集的病毒样本。由于本申请实施例是在应用层实现恶意进程的检测,因此建立该代码段散列值病毒库时,是搜集PE(Portable Executable,可执行文件)及ELF格式的、可计算代码段散列值的病毒样本。因此,本申请实施例对于经杀毒软件鉴别为病毒的恶意文件进行过滤,得到PE及ELF格式的病毒样本。另外,由于加壳的病毒样本的文件结构被改变,无法计算代码段散列值,因此,对搜集的病毒样本进一步过滤,过滤掉加壳的恶意文件,最终过滤得到的病毒样本即为搜集获得的病毒样本。
之后,计算所述病毒样本的代码段散列值存入代码段散列值病毒库中。也就是计算所搜集的病毒样本的代码段散列值,将所有病毒样本的代码段散列值存入代码段散列值病毒库中。该代码段散列值病毒库可存储于服务器中,各计算机设备均可通过该服务器提供的查询接口查询该代码段散列值病毒库。发明人发现,针对同一类型的恶意文件的变种,其变种后的同类型恶意文件的代码段散列值相同,因此,依据该病毒样本的代码段散列值可识别变种的同类型恶意文件。本申请实施例通过代码段散列值代替完整散列值不但减少计算成本,且能够有效识别同类型恶意文件的变种,有效提高恶意文件检测准确性,从而提高僵尸主机的识别准确性。
具体的,基于预先建立的、存储于服务器上的代码段散列值病毒库以及所述当前进程的进程文件的代码段散列值确定所述当前进程是否为恶意进程的方法包括:
通过存储所述代码段散列值病毒库的服务器提供的查询接口查询所述代码段散列值病毒库中是否存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值。也就是在获取到当前进程的进程文件的代码段散列值情况下,通过存储所述代码段散列值病毒库的服务器提供的查询接口查询代码段散列值病毒库中是否存在与当前进程的进程文件的代码段散列值匹配的代码段散列值,若存在,则说明当前进程的进程文件与代码段散列值病毒库中病毒样本的代码段散列值相同,进一步说明该当前进程的进程文件为恶意文件,则该当前进程为恶意进程。若不存在,则确定当前非恶意进程。通过此方法可识别所有当前进程是否为恶意进程。
其四、在本实施例所述方法应用于linux操作系统时,在当前进程的恶意代码特征包括:当前进程是否存在对应的进程文件、当前进程对应的进程文件是否加壳及当前进程的进程文件的代码段散列值情况下,所述根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程的流程如图2中所示,包括如下子步骤:
子步骤210、判断所述当前进程是否存在对应的进程文件。
若当前进程不存在对于的进程文件,则执行子步骤250。
若所述当前进程存在对应的进程文件,则执行子步骤220。
子步骤220、判断所述当前进程的进程文件加壳。
若所述当前进程的进程文件加壳,且为ELF格式的文件,则执行子步骤250。对于当前进程的进程文件加壳,而非ELF格式的文件的情形,本申请实施例可采用如下任一处理方式:将该当前进程的进程文件过滤掉、将该当前进程的进程文件确认为非恶意进程对应的进程文件、或者采用已有完整散列值的方法进行恶意进程的识别。
若所述当前进程的进程文件未加壳,则执行子步骤230。
子步骤230、计算当前进程的进程文件的代码段散列值。
子步骤240、判断所述代码段散列值病毒库中是否存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值。
若所述代码段散列值病毒库中存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值,则执行子步骤250。
若所述代码段散列值病毒库中不存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值,则执行子步骤260。
子步骤250、确定当前进程是恶意进程。
子步骤260、确定当前进程非恶意进程。
由于当前进程存在至少一个,若确定其中一个当前进程非恶意进程,则可继续判断下一当前进程,直到对所有当前进程执行完判断。
步骤S130是在至少一个当前进程被识别为恶意进程的情况下,将所述待识别主机识别为僵尸主机。也就是在当前进程为多个情况下,若其中至少一个当前进程为恶意进程,则该待识别主机即被识别为僵尸主机。则对应的,若当前进程均不是恶意进程,结束本次识别操作。
本申请实施例在识别出恶意进程后,可发送被确定为恶意进程的当前进程的网络连接信息给服务器,以便服务器依据所述网络连接信息识别出其他僵尸主机。即获取该恶意进程的网络连接信息上报给服务器,该服务器可以与存储代码段散列值病毒库的服务器是同一个服务器,也可以是不同的服务器,且该服务器可以是待识别主机所在的云计算网络中的服务器,也可以是所述云计算网络外的服务器。其中,上报给服务器的网络连接信息除包括以下至少一项:IP、域名、URL(Uniform Resource Locator,统一资源定位符)、端口。另外,上报给服务器的恶意进程的网络连接信息时可上报网络连接信息与当前进程信息的对应关系,当前进程信息包括:当前进程的代码段散列值、病毒名及当前进程的进程文件位置。可以理解的是,一个当前进程可能存在多条网络连接信息(一个进程与多方通讯的场景),则在上报网络连接信息给服务器时,可将每条网络连接信息与当前进程信息分别对应上报给服务器。
上报该恶意进程的网络连接信息给服务器的目的在于,服务器可以依据该恶意进程的网络连接信息识别出该其他僵尸主机。
由上面的介绍可以看出,本申请上述实施例所述的僵尸主机识别方法通过获取待识别主机当前进程的恶意代码特征,利用该恶意代码特征来识别当前进程是否为恶意进程,可有效识别同类型恶意文件的变种。若是恶意进程则将该待识别主机识别为僵尸主机,实现了在提高识别效率的同时,有效保证了识别准确性。
如图3中所示为本申请另一实施例的僵尸主机识别方法的流程图,该方法用于服务器识别云计算网络中的僵尸主机,所述方法包括如下步骤:
S310、接收僵尸主机发送的被确定为恶意进程的当前进程的网络连接信息;
S320、基于预先建立的中控机网络连接信息白名单库以及所述当前进程的网络连接信息确定出所述当前进程的网络连接信息中的僵尸网络中控机的网络连接信息;其中,所述僵尸网络中控机的网络连接信息包括僵尸网络中控机IP;
S330、查找与所述僵尸网络中控机IP关联的网络五元组;
S340、将查找出的网络五元组对应的主机作为识别出的云计算网络中的僵尸主机。
下面对上述各步骤做进一步详细介绍。
其中,步骤S310中所述的僵尸主机为采用上面实施例所述的方法识别的僵尸主机。所述当前进程的网络连接信息为上面实施例中所述的被识别为恶意进程的当前进程的网络连接信息,其包括以下至少一项:IP、域名、URL、端口等。可以理解的是,所述僵尸主机也可以为采用其他非上述实施例的方法识别出的僵尸主机,而不论采取任何方式识别出僵尸主机的情况下,均需将该僵尸主机中的恶意进程的网络连接信息发送给服务器。
可以理解的是,针对同一当前进程可以接收至少一条网络连接信息,且同一僵尸主机中可能至少一个当前进程被识别为恶意进程,因此,同一僵尸主机可能发送至少一条当前进程的网络连接信息。
步骤S320所述的中控机网络连接信息白名单库是预先建立的、包含确保非僵尸网络中控机的中控机的网络连接信息的白名单库。也就是在该白名单库中保存的网络连接信息均为正常的、非僵尸网络中控机的网络连接信息。该网络连接信息包括以下至少一个:IP、域名、URL、端口。通过该中控机网络连接信息白名单库可以过滤掉误报的数据,也就是将正常的网络连接信息过滤掉,过滤后得到的当前进程的网络连接信息即为真正恶意进程的网络连接信息,即为所述僵尸主机所在僵尸网络的僵尸网络中控机的网络连接信息。其中可能存在至少一个僵尸网络中控机。
具体的基于预先建立的中控机网络连接信息白名单库以及所述当前进程的网络连接信息确定出所述当前进程的网络连接信息中的僵尸网络中控机的网络连接信息的方法如下:
将当前进程的网络连接信息分别与所述中控机网络连接信息白名单库中对应的网络连接信息匹配;以其中一个当前进程的一条网络联系信息为例,其包括IP、域名、URL、端口,所述中控机网络连接信息白名单库中包括多组网络连接信息,分别将当前进程的IP与中控机网络连接信息白名单库中的所有IP匹配;将当前进程的域名与中控机网络连接信息白名单库中的所有域名匹配;将当前进程的URL与中控机网络连接信息白名单库中的所有URL匹配;当前进程的端口与中控机网络连接信息白名单库中的所有端口匹配。
若当前进程的网络连接信息中存在至少一项网络连接信息与中控机网络连接信息白名单库中对应的网络连接信息匹配,则过滤掉所述网络连接信息,否则将当前进程的网络连接信息作为僵尸主机的僵尸网络中控机的网络连接信息。也就是,若中控机网络连接信息白名单库中的任一网络连接信息与当前进程的网络连接信息匹配,则过滤掉该当前进程的网络连接信息,例如,若在中控机网络连接信息白名单库中存在与当前进程的IP匹配的IP,则不论该当前进程的其他网络连接信息(域名、URL、端口)是否匹配,均认为该条网络连接信息为正常网络连接信息,过滤掉该条网络连接信息。同样,若在中控机网络连接信息白名单库中存在与当前进程的域名(或URL、或端口)匹配的域名,则过滤掉该条网络连接信息。
在过滤掉误报数据后,得到的当前进程的网络连接信息将作为僵尸主机的僵尸网络中控机的网络连接信息。通过上述过滤操作能够将正常的网络连接信息过滤掉,则过滤后得到的网络连接信息即为僵尸网络中控机的网络连接信息。所述僵尸网络是指采用一种或多种传播手段,将大量主机感染僵尸程序病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。僵尸网络中控机即为僵尸网络控制中心服务器。本申请实施例通过上述过滤操作实现了获得僵尸网络中控机网络连接信息,所述僵尸网络中控机的网络连接信息包括僵尸网络中控机IP。根据该僵尸网络中控机的网络连接信息可以确定对应的僵尸网络中控机。获得僵尸网络中控机不但可以有效阻止僵尸程序病毒的恶意传播,而且可以根据该僵尸网络中控机快速查找其他僵尸主机,因此可进一步提高僵尸主机的识别效率。步骤S330及S340即为根据确定的僵尸网络中控机的网络连接信息来快速识别其他僵尸主机。
其中,步骤S330查找与所述僵尸网络中控机IP关联的网络五元组,所述网络五元组包括:源IP地址,源端口,目的IP地址,目的端口和传输层协议。与僵尸网络中控机IP关联的网络五元组即为与僵尸网络中控机IP通讯的网络五元组,包括以僵尸网络中控机IP作为源IP的网络五元组和一僵尸网络中控机IP作为目的IP的网络五元组。依据查找的网络五元组可以确定与该僵尸网络中控机通讯的所有主机。查找的所有主机均有可能被感染僵尸程序病毒。
步骤S340是将查找出的网络五元组对应的所有主机作为识别出的其他僵尸主机。
可以理解的是,在查找与僵尸网络中控机IP关联的网络五元组时,可以查找预设时长范围内与僵尸网络中控机IP关联的网络五元组,例如,查找10天、15天或1个月内与所述僵尸网络中控机IP关联的网络五元组。
本申请实施例通过接收僵尸主机发送的恶意进程的网络连接信息,并对该恶意进程的网络连接信息利用预先建立的中控机网络连接信息白名单库进行误报数据的过滤,从而确定出接收的恶意进程的网络连接信息中的僵尸网络中控机的网络连接信息,并依据该僵尸网络中控机的网络连接信息快速确定出其他僵尸主机,实现了简便、快速、准确的识别僵尸主机,降低运营成本。
本申请实施例还提供一种与上述僵尸主机识别方法对应的僵尸主机识别装置,该装置用于计算机设备识别设备本身是否为僵尸主机,所述计算机设备即为待识别主机,如图4中所示为所述装置结构示意图,该装置包括:
获取单元410,用于获取所述待识别主机当前进程的恶意代码特征;所述当前进程的恶意代码特征包括:当前进程的进程文件的代码段散列值;
判断单元420,用于根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程;
识别单元430,用于在所述判断单元420判断所述当前进程是恶意进程情况下,将所述待识别主机识别为僵尸主机。
其中,所述判断单元420被配置为:
判断预先建立的、存储于服务器上的代码段散列值病毒库中是否存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值;
若存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值,则确定当前进程是恶意进程。
一种实施例所述装置应用于linux操作系统时,所述当前进程的恶意代码特征还包括:当前进程是否存在对应的进程文件,所述判断单元420被配置为:
判断所述当前进程是否存在对应的进程文件;
若所述当前进程不存在对应的进程文件,则确定所述当前进程为恶意进程。
另一种实施例所述装置应用于linux操作系统时,所述当前进程的恶意代码特征还包括当前进程对应的进程文件是否加壳,所述判断单元420被配置为:
判断所述当前进程的进程文件是否加壳;
若所述当前进程的进程文件加壳,且进程文件为ELF格式的进程文件,则确定所述当前进程为恶意进程。
再一种实施例,所述装置应用于linux操作系统时,当前进程的恶意代码特征包括:当前进程是否存在对应的进程文件、当前进程对应的进程文件是否加壳及当前进程的进程文件的代码段散列值情况下,所述判断单元420被配置为:
判断所述当前进程是否存在对应的进程文件;
若所述当前进程存在对应的进程文件,则判断所述当前进程的进程文件加壳;
若所述当前进程的进程文件未加壳,则判断预先建立的、存储于服务器上的代码段散列值病毒库中是否存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值;
若存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值,则确定当前进程是恶意进程。
所述装置还包括:发送单元440,用于发送所述被确定为恶意进程的当前进程的网络连接信息给服务器,以便服务器依据所述网络连接信息识别出其他僵尸主机。所述网络连接信息包括以下至少一项:IP、域名、统一资源定位符、端口。
如图5中所述为本申请实施例提供的与上述僵尸主机识别方法对应的一种僵尸主机识别装置,该装置用于服务器识别云计算网络中的僵尸主机,所述装置包括:
接收单元510,用于接收僵尸主机发送的被确定为恶意进程的当前进程的网络连接信息;
确定单元520,用于基于预先建立的中控机网络连接信息白名单库以及所述当前进程的网络连接信息确定出所述当前进程的网络连接信息中的僵尸网络中控机的网络连接信息;其中,所述僵尸网络中控机的网络连接信息包括僵尸网络中控机IP;
查找单元530,用于查找与所述僵尸网络中控机IP关联的网络五元组;
识别单元540,用于将查找出的网络五元组对应的服务器作为识别出的网络中的僵尸主机。
其中,所述确定单元520被配置为:
将当前进程的网络连接信息分别与所述中控机网络连接信息白名单库中对应的网络连接信息匹配;
若中控机网络连接信息白名单库中存在至少一项网络连接信息与当前进程的网络连接信息中对应的网络连接信息匹配,则过滤掉所述当前进程的网络连接信息;
否则将当前进程的网络连接信息作为僵尸网络中控机的网络连接信息。
综上所述,本申请实施例通过获取待识别主机当前进程的恶意代码特征,利用该恶意代码特征来识别当前进程是否为恶意进程,可有效识别同类型恶意文件的变种。若利用恶意代码特征识别出当前进程是恶意进程,则将该待识别主机识别为僵尸主机。实现了主机本身识别是否为僵尸主机,且在识别为僵尸主机情况下发送恶意进程的网络连接信息给服务器,从而服务器可以依据该网络连接信息快速识别出其他僵尸主机。因此,本申请不但可以识别出同类型恶意文件的变种,而且有效提高了识别效率及识别准确率。
另外,本申请实施例通过接收僵尸主机发送的恶意进程的网络连接信息,对该恶意进程的网络连接信息利用预先建立的中控机网络连接信息白名单库进行误报数据的过滤,从而确定出接收的恶意进程的网络连接信息中的僵尸网络中控机的网络连接信息,并依据该僵尸网络中控机的网络连接信息快速确定出其他僵尸主机,实现了服务器端简便、快速、有效的识别僵尸主机,且有效降低了运营成本。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (18)
1.一种僵尸主机识别方法,其特征在于,包括:
获取待识别主机当前进程的恶意代码特征,所述当前进程的恶意代码特征包括:当前进程的进程文件的代码段散列值;
根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程;
若所述当前进程是恶意进程,则将所述待识别主机识别为僵尸主机。
2.如权利要求1所述的方法,其特征在于,所述根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程的步骤包括:
判断预先建立的代码段散列值病毒库中是否存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值;
若存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值,则确定当前进程是恶意进程。
3.如权利要求1所述的方法,其特征在于,所述当前进程的恶意代码特征还包括:当前进程是否存在对应的进程文件,则所述根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程的步骤包括:
判断所述当前进程是否存在对应的进程文件;
若所述当前进程不存在对应的进程文件,则确定所述当前进程为恶意进程。
4.如权利要求3所述的方法,其特征在于,所述当前进程的恶意代码特征还包括:当前进程对应的进程文件是否加壳,所述根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程的步骤还包括:
在所述当前进程存在对应的进程文件的情况下,判断所述当前进程的进程文件是否加壳;
若所述当前进程的进程文件加壳,且进程文件为可执行与可连接ELF格式的进程文件,则确定所述当前进程为恶意进程。
5.如权利要求4所述的方法,其特征在于,所述根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程的步骤包括:
判断所述当前进程是否存在对应的进程文件;
若所述当前进程存在对应的进程文件,则判断所述当前进程的进程文件加壳;
若所述当前进程的进程文件未加壳,则判断预先建立的、存储于服务器上的代码段散列值病毒库中是否存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值;
若存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值,则确定当前进程是恶意进程。
6.如权利要求1所述的方法,其特征在于,所述网络连接信息包括以下至少一项:
IP、域名、统一资源定位符、端口。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
发送所述被确定为恶意进程的当前进程的网络连接信息给服务器,以便服务器依据所述网络连接信息识别出其他僵尸主机。
8.一种僵尸主机识别方法,其特征在于,用于识别网络中的僵尸主机,所述方法包括:
接收僵尸主机发送的被确定为恶意进程的当前进程的网络连接信息;
基于预先建立的中控机网络连接信息白名单库以及所述当前进程的网络连接信息确定出所述当前进程的网络连接信息中的僵尸网络中控机的网络连接信息;其中,所述僵尸网络中控机的网络连接信息包括僵尸网络中控机IP;
查找与所述僵尸网络中控机IP关联的网络五元组;
将查找出的网络五元组对应的主机作为识别出的云计算网络中的僵尸主机。
9.如权利要求8所述的方法,其特征在于,所述基于预先建立的中控机网络连接信息白名单库以及所述当前进程的网络连接信息确定出所述当前进程的网络连接信息中的僵尸网络中控机的网络连接信息的步骤包括:
将当前进程的网络连接信息分别与所述中控机网络连接信息白名单库中对应的网络连接信息匹配;
若中控机网络连接信息白名单库中存在至少一项网络连接信息与当前进程的网络连接信息中对应的网络连接信息匹配,则过滤掉所述当前进程的网络连接信息;
否则将当前进程的网络连接信息作为僵尸网络中控机的网络连接信息。
10.一种僵尸主机识别装置,其特征在于,所述装置包括:
获取单元,用于获取待识别主机当前进程的恶意代码特征,所述当前进程的恶意代码特征包括:当前进程的进程文件的代码段散列值;
判断单元,用于根据所述当前进程的恶意代码特征判断所述当前进程是否为恶意进程;
识别单元,用于在所述判断单元判断所述当前进程是恶意进程情况下,将所述待识别主机识别为僵尸主机。
11.如权利要求10所述的装置,其特征在于,所述判断单元被配置为:
判断预先建立的代码段散列值病毒库中是否存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值;
若存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值,则确定当前进程是恶意进程。
12.如权利要求10所述的装置,其特征在于,所述当前进程的恶意代码特征还包括:当前进程是否存在对应的进程文件,则所述判断单元被配置为:
判断所述当前进程是否存在对应的进程文件;
若所述当前进程不存在对应的进程文件,则确定所述当前进程为恶意进程。
13.如权利要求12所述的装置,其特征在于,所述当前进程的恶意代码特征还包括:当前进程对应的进程文件是否加壳,则所述判断单元被配置为:
判断所述当前进程的进程文件是否加壳;
若所述当前进程的进程文件加壳,且进程文件为可执行与可连接ELF格式的进程文件,则确定所述当前进程为恶意进程。
14.如权利要求13所述的装置,其特征在于,所述判断单元被配置为:
判断所述当前进程是否存在对应的进程文件;
若所述当前进程存在对应的进程文件,则判断所述当前进程的进程文件加壳;
若所述当前进程的进程文件未加壳,则判断预先建立的、存储于服务器上的代码段散列值病毒库中是否存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值;
若存在与所述当前进程的进程文件的代码段散列值匹配的代码段散列值,则确定当前进程是恶意进程。
15.如权利要求10所述的装置,其特征在于,所述网络连接信息包括以下至少一项:
IP、域名、统一资源定位符、端口。
16.如权利要求10所述的装置,其特征在于,所述装置还包括:
发送单元,用于发送所述被确定为恶意进程的当前进程的网络连接信息给服务器,以便服务器依据所述网络连接信息识别出其他僵尸主机。
17.一种僵尸主机识别装置,其特征在于,用于识别网络中的僵尸主机,所述装置包括:
接收单元,用于接收僵尸主机发送的被确定为恶意进程的当前进程的网络连接信息;
确定单元,用于基于预先建立的中控机网络连接信息白名单库以及所述当前进程的网络连接信息确定出所述当前进程的网络连接信息中的僵尸网络中控机的网络连接信息;其中,所述僵尸网络中控机的网络连接信息包括僵尸网络中控机IP;
查找单元,用于查找与所述僵尸网络中控机IP关联的网络五元组;
识别单元,用于将查找出的网络五元组对应的主机作为识别出的云计算网络中的僵尸主机。
18.如权利要求17所述的装置,其特征在于,所述确定单元被配置为:
将当前进程的网络连接信息分别与所述中控机网络连接信息白名单库中对应的网络连接信息匹配;
若中控机网络连接信息白名单库中存在至少一项网络连接信息与当前进程的网络连接信息中对应的网络连接信息匹配,则过滤掉所述当前进程的网络连接信息;
否则将当前进程的网络连接信息作为僵尸网络中控机的网络连接信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510927598.3A CN106878240B (zh) | 2015-12-14 | 2015-12-14 | 僵尸主机识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510927598.3A CN106878240B (zh) | 2015-12-14 | 2015-12-14 | 僵尸主机识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106878240A true CN106878240A (zh) | 2017-06-20 |
CN106878240B CN106878240B (zh) | 2020-06-02 |
Family
ID=59178439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510927598.3A Active CN106878240B (zh) | 2015-12-14 | 2015-12-14 | 僵尸主机识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106878240B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107733927A (zh) * | 2017-11-28 | 2018-02-23 | 深信服科技股份有限公司 | 一种僵尸网络文件检测的方法、云服务器、装置及系统 |
CN109167797A (zh) * | 2018-10-12 | 2019-01-08 | 北京百度网讯科技有限公司 | 网络攻击分析方法和装置 |
CN110472410A (zh) * | 2018-05-11 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 识别数据的方法、设备和数据处理方法 |
US11366902B2 (en) * | 2019-07-17 | 2022-06-21 | AO Kaspersky Lab | System and method of detecting malicious files based on file fragments |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413142A (zh) * | 2011-11-30 | 2012-04-11 | 华中科技大学 | 基于云平台的主动防御方法 |
CN103051627A (zh) * | 2012-12-21 | 2013-04-17 | 公安部第一研究所 | 一种反弹式木马的检测方法 |
CN103559438A (zh) * | 2013-10-31 | 2014-02-05 | 上海上讯信息技术有限公司 | 进程识别方法及系统 |
US20150074812A1 (en) * | 2008-10-29 | 2015-03-12 | International Business Machines Corporation | Detecting Malicious Use of Computer Resources by Tasks Running on a Computer System |
-
2015
- 2015-12-14 CN CN201510927598.3A patent/CN106878240B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150074812A1 (en) * | 2008-10-29 | 2015-03-12 | International Business Machines Corporation | Detecting Malicious Use of Computer Resources by Tasks Running on a Computer System |
CN102413142A (zh) * | 2011-11-30 | 2012-04-11 | 华中科技大学 | 基于云平台的主动防御方法 |
CN103051627A (zh) * | 2012-12-21 | 2013-04-17 | 公安部第一研究所 | 一种反弹式木马的检测方法 |
CN103559438A (zh) * | 2013-10-31 | 2014-02-05 | 上海上讯信息技术有限公司 | 进程识别方法及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107733927A (zh) * | 2017-11-28 | 2018-02-23 | 深信服科技股份有限公司 | 一种僵尸网络文件检测的方法、云服务器、装置及系统 |
CN110472410A (zh) * | 2018-05-11 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 识别数据的方法、设备和数据处理方法 |
CN110472410B (zh) * | 2018-05-11 | 2023-02-28 | 阿里巴巴集团控股有限公司 | 识别数据的方法、设备和数据处理方法 |
CN109167797A (zh) * | 2018-10-12 | 2019-01-08 | 北京百度网讯科技有限公司 | 网络攻击分析方法和装置 |
US11233819B2 (en) | 2018-10-12 | 2022-01-25 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for analyzing cyberattack |
US11366902B2 (en) * | 2019-07-17 | 2022-06-21 | AO Kaspersky Lab | System and method of detecting malicious files based on file fragments |
Also Published As
Publication number | Publication date |
---|---|
CN106878240B (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106878262B (zh) | 报文检测方法及装置、建立本地威胁情报库的方法及装置 | |
EP3275151B1 (en) | Collecting domain name system traffic | |
EP3068095B1 (en) | Monitoring apparatus and method | |
CN103607399A (zh) | 基于暗网的专用ip网络安全监测系统及方法 | |
CN110858229B (zh) | 数据处理方法、设备、访问控制系统及存储介质 | |
CN102594825A (zh) | 一种内网木马的检测方法和装置 | |
CN106302450B (zh) | 一种基于ddos攻击中恶意地址的检测方法及装置 | |
CN106878240A (zh) | 僵尸主机识别方法及装置 | |
CN108270722B (zh) | 一种攻击行为检测方法和装置 | |
JP6174520B2 (ja) | 悪性通信パターン検知装置、悪性通信パターン検知方法、および、悪性通信パターン検知プログラム | |
CN110414236B (zh) | 一种恶意进程的检测方法及装置 | |
CN109450955A (zh) | 一种基于网络攻击的流量处理方法及装置 | |
CN102737119A (zh) | 统一资源定位符的查找方法、过滤方法和相关设备及系统 | |
CN107566401B (zh) | 虚拟化环境的防护方法及装置 | |
CN104135474A (zh) | 基于主机出入度的网络异常行为检测方法 | |
EP3242240B1 (en) | Malicious communication pattern extraction device, malicious communication pattern extraction system, malicious communication pattern extraction method and malicious communication pattern extraction program | |
CN106686007A (zh) | 一种发现内网被控重路由节点的主动流量分析方法 | |
CN106921612A (zh) | 发现DDoS攻击的方法及装置 | |
CN107426132A (zh) | 网络攻击的检测方法和装置 | |
EP3275150B1 (en) | Extracted data classification to determine if a dns packet is malicious | |
CN112565300A (zh) | 基于行业云黑客攻击识别与封堵方法、系统、装置及介质 | |
CN106790073B (zh) | 一种Web服务器恶意攻击的阻断方法、装置及防火墙 | |
CN111859374A (zh) | 社会工程学攻击事件的检测方法、装置以及系统 | |
CN106209867B (zh) | 一种高级威胁防御方法及系统 | |
CN111563256A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1238029 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |