CN113742730B - 恶意代码检测方法、系统及计算机可读存储介质 - Google Patents

恶意代码检测方法、系统及计算机可读存储介质 Download PDF

Info

Publication number
CN113742730B
CN113742730B CN202111297733.2A CN202111297733A CN113742730B CN 113742730 B CN113742730 B CN 113742730B CN 202111297733 A CN202111297733 A CN 202111297733A CN 113742730 B CN113742730 B CN 113742730B
Authority
CN
China
Prior art keywords
malicious code
packet
round
code
target
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.)
Active
Application number
CN202111297733.2A
Other languages
English (en)
Other versions
CN113742730A (zh
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.)
Beijing Centre Biology Co ltd
Original Assignee
Beijing Centre Biology 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 Beijing Centre Biology Co ltd filed Critical Beijing Centre Biology Co ltd
Priority to CN202111297733.2A priority Critical patent/CN113742730B/zh
Publication of CN113742730A publication Critical patent/CN113742730A/zh
Application granted granted Critical
Publication of CN113742730B publication Critical patent/CN113742730B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (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为本申请实施例提供的恶意代码包检测系统的一种结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1是本申请一些实施例中的一种恶意代码检测的流程图。该恶意代码检测方法用于终端设备中,例如手机、电脑等。该恶意代码检测方法,包括以下步骤:
S101、获取待检测的目标代码包。
S102、基于第一恶意代码库对目标代码包进行恶意代码包检测,得到第一轮检测结果,所述第一恶意代码库包括多个第一恶意代码包;所述第一轮检测结果为所述目标代码包不含任一第一恶意代码包,或者含有至少一个第一恶意代码包。
S103、采用预设神经网络模型对所述目标代码包进行特征提取,以获取所述目标代码包的第一特征信息。
S104、采用预先建立的第二恶意代码库对所述第一特征信息进行检测,得到第二轮检测结果,所述第二恶意代码库包括多个第二恶意代码包;所述第二轮检测结果为所述目标代码包不含任一第二恶意代码包,或者含有至少一个第二恶意代码包。
S105、结合所述第一轮检测结果以及所述第二轮检测结果确定所述目标代码包中的恶意代码包情况。
其中,在该步骤S101中,目标代码包可以为直接从访问字段中截取的,也可以是截取后经过清洗的。
其中在一些实施例中,该步骤S101可以包括:获取待检测的原始代码包,并对所述原始代码包进行清洗处理,得到目标代码包。其中,该清洗处理去除的是该原始代码包中的无意义字符或者空格,或者乱码等。
其中,在该步骤S102中,该第一恶意代码库中存储有多个恶意代码包,每一恶意代码包被划分为多个代码段,每一代码段对应一个执行动作。其中,检测时,可以采用该每一恶意代码包与该目标代码包进行逐字匹配,从而计算出对应的匹配度,然后选择出匹配度大于第一预设值的作为第一恶意代码包。
在一些实施例中,该步骤S102还可以包括以下子步骤:S1021、采用多种规则对所述目标代码包进行分词处理,得到多个代码段集;其中,每一所述代码段集为采用一种规则对所述目标代码包进行分词得到的多个代码段的集;每一所述代码段对应一个执行动作;S1022、分别将每一所述代码段集与第一恶意代码库中的每一恶意代码包进行匹配,以计算所述代码段集与每一种第一恶意代码包的匹配度;S1023、筛选出匹配度大于第一预设值的第一恶意代码包作为第一轮检测结果。
其中,在该步骤S1021中,该多种规则对应的是某一局部的,例如,某一局部包括代码:a1、a2、a3、a4、a5、a6、a7、a8。a1、a2、a3、a4、a5、a6可以组成一个执行动作对应的代码段。a3、a4、a5、a6、a7、a8可以组成一个执行动作对应的代码段。因此,针对该局部需要采用两种规则来划分,得到两种不同的划分结果。这样可以避免错漏。其中,在该步骤S1022中,匹配时,以代码段作为基本的匹配单位,主要是看该目标代码包与每一恶意代码包在代码段上的匹配度。其中,在该步骤S1023中,该第一预设值可以设置为80%,当然也可以设置为85%,其并不限于此。
在一些实施例中,该步骤S102还可以包括以下子步骤:S1024、对所述目标代码包进行分词处理,得到一个代码段集;其中,所述代码段集为对所述目标代码包进行分词得到的多个代码段的集;每一所述代码段对应一个执行动作;S1025、将所述代码段集与第一恶意代码库中的每一恶意代码包进行匹配,以计算所述代码段集与每一种恶意代码包的匹配度;S1026、筛选出匹配度大于第一预设值的第一恶意代码包作为第一轮检测结果。
在该步骤S1024中,进行分词时,若某一局部具有多种分词结果,则应当结合该局部的前后语境,选择可能性最高的分词结果作为该局部的分词方式。在该S1025中,匹配时,以代码段作为基本的匹配单位,主要是看该目标代码包与每一恶意代码包在代码段上的匹配度。其中,在该步骤S1026中,该第一预设值可以设置为80%,当然也可以设置为85%,其并不限于此。
其中,在该步骤S103中,第一特征信息包括:代码长度、全抽样的特征向量、定位抽样的初始字符集、定位抽样获得的特征字符集的长度以及所述特征字符集的特征向量。预设神经网络模型为预先训练得到的神经网络模型。
其中,在该步骤S104中,其中,可以将第二恶意代码库中的与该第一特征性信息的相似度大于第二预设值的恶意代码包作为第二恶意代码包。当然,具体检测时,该第一特征信息的各种类型的特征量可以设置对应的权重值,然后基于权重值结合各种特征量的相似度计算出该第一特征信息与每一恶意代码包的相似度。
其中在该步骤S105中,将第一轮检测结果与第二轮检测结果结合可以得到该目标代码包中是否存在恶意代码,或者判断其中存在的恶意代码包的类型。
具体地,在一些实施例中,该步骤S105可以包括以下子步骤:
S1051、若所述第一轮检测结果中的某一第一恶意代码包与所述第二轮检测结果中的任一第二恶意代码包相同,则该相同的恶意代码包作为所述目标代码包包括的目标恶意代码包;S1052、若所述第一轮检测结果某一第一恶意代码包与所述第二轮检测结果中的任意第二恶意代码包均不相同,则对各个第一恶意代码包以及第二恶意代码包进行聚类处理,得到多个恶意代码聚类;每一所述恶意代码聚类包括至少一个第一恶意代码包和/或至少一个第二恶意代码包;S1053、将具有恶意代码包数量最多的一个恶意代码聚类作为目标聚类;S1054、根据所述目标聚类判断出所述目标代码包中的恶意代码包情况。其中,在该步骤S1053中,聚类采用的是基于欧式距离的聚类,计算任意两个恶意代码包的欧式距离,然后将欧式距离小于预设阈值的恶意代码包作为一个聚类。其中,在该步骤S1054中,可以基于目标聚类内的恶意代码包得出该目标代码包中最可能存在的恶意代码包的类型。
具体地,在一些实施例中,该步骤S105可以包括以下子步骤:若所述第一轮检测结果中存在第一恶意代码包或者所述第二轮检测结果中存在第二恶意代码包,则所述目标代码包中存在恶意代码包。
由上可知,本申请实施例提供的恶意代码检测方法,通过获取待检测的目标代码包;基于第一恶意代码库对目标代码包进行恶意代码包检测,得到第一轮检测结果,所述第一轮检测结果为所述目标代码包不包括第一恶意代码包或者包括至少一个第一恶意代码包;采用预设神经网络模型对所述目标代码包进行特征提取,以获取所述目标代码包的第一特征信息;采用预先建立的第二恶意代码库对所述第一特征信息进行检测,得到第二轮检测结果;所述第二轮检测结果为所述目标代码包不包括第二恶意代码包或者包括至少一个第二恶意代码包;结合所述第一轮检测结果以及所述第二轮检测结果确定所述目标代码包中的恶意代码包情况,从而实现恶意代码的检测,由于采用了两轮完全不同的检测方式,并结合,可以提高检测精度以及降低误判率。
根据本发明实施例,还包括:
基于所述第一恶意代码库和第二恶意代码库建立第三恶意代码聚类集库;
根据与所述第一恶意代码库的每一恶意代码包不同的所述第二代码库的恶意代码包与第一恶意代码库的每一恶意代码包进行聚类获得多个第三恶意代码聚类,所述多个第三恶意代码聚类集合成为第三恶意代码聚类集库;
所述第三恶意代码聚类集库的每一第三恶意代码聚类包括至少一个第一恶意代码库的恶意代码包和至少一个第二恶意代码库的恶意代码包;
将目标代码包所述第一轮检测结果和第二轮检测结果任意均不相同的第一恶意代码包与第二恶意代码包进行聚类得到目标聚类;
将所述目标聚类与所述第三恶意代码聚类集库中的每一第三恶意代码聚类进行阈值对比;
将所述第三恶意代码聚类集库中预设阈值大于目标聚类的多个第三恶意代码聚类作为目标恶意代码聚类集;
将所述目标恶意代码聚类集的全部第三恶意代码聚类中出现频次最多的恶意代码包作为目标恶意代码包。
需要说明的是,若目标代码包第一轮检测结果和第二轮检测结果任意第一恶意代码包与第二恶意代码包均不相同,则将第一恶意代码包和第二恶意代码包进行聚类,与第三恶意代码聚类集库中的每一第三恶意代码聚类进行阈值对比筛选出目标恶意代码包,具体为基于第一恶意代码库和第二恶意代码库建立第三恶意代码聚类集库,第三恶意代码聚类集库中的多个第三恶意代码聚类是根据与第一恶意代码库的每一恶意代码包不同的第二代码库的恶意代码包与第一恶意代码库的每一恶意代码包进行聚类获得,每一第三恶意代码聚类包括至少一个第一恶意代码库的恶意代码包和至少一个第二恶意代码库的恶意代码包,将目标代码包第一轮检测结果和第二轮检测结果任意均不相同的第一恶意代码包与第二恶意代码包进行聚类得到目标聚类,与第三恶意代码聚类集库中的每一第三恶意代码聚类进行阈值对比,得到第三恶意代码聚类集库中预设阈值大于目标聚类的多个第三恶意代码聚类作为目标恶意代码聚类集,将目标恶意代码聚类集的全部第三恶意代码聚类中出现频次最多的恶意代码包作为目标恶意代码包。
根据本发明实施例,还包括:
根据目标代码包在所述第一轮检测结果中获取的第一恶意代码包和第二轮检测结果中获取的第二恶意代码包进行所述目标代码包中恶意代码包判断;
若所述第一轮检测结果中不存在第一恶意代码包,而第二轮检测结果中存在第二恶意代码包,则对所述目标代码包重新组合规则进行分词处理得到一个或多个二次代码段集,对每一个二次代码段集与第一恶意代码库中的每一恶意代码包进行匹配计算筛选所述二次代码段集中第一恶意代码包作为第一轮二次检测结果;
根据所述第一轮二次检测结果中获取的第一恶意代码包与第二恶意代码包进行恶意代码包判断;
若所述第一轮检测结果中存在第一恶意代码包,而第二轮检测结果中不存在第二恶意代码包,则对所述目标代码包的第一特征信息在第一恶意代码库中进行恶意代码包检测得到第二轮二次检测结果;
若所述第二轮二次检测结果中所述目标代码包存在第二恶意代码包,则根据第二恶意代码包与第一恶意代码包进行恶意代码包判断;
若所述第二轮二次检测结果中所述目标代码不存在第二恶意代码包,则采用二次神经网络模型对所述目标代码包进行特征提取获取第二特征信息,采用第一恶意代码库和第二恶意代码库分别对所述第二特征信息进行检测,得到第二轮三次检测结果,根据所述第二轮三次检测结果中存在第二恶意代码包与第一恶意代码包进行恶意代码包判断,判断出所述目标代码包中恶意代码包情况。
需要说明的是,根据目标代码包在第一轮检测结果中获取的第一恶意代码包和第二轮检测结果中获取的第二恶意代码包进行目标代码包中恶意代码包判断,若第一轮检测结果中不存在第一恶意代码包,而第二轮检测结果中存在第二恶意代码包,则对目标代码包重新组合规则进行分词处理得到一个或多个二次代码段集,对每一个二次代码段集与第一恶意代码库中的每一恶意代码包进行匹配计算筛选二次代码段集中第一恶意代码包作为第一轮二次检测结果,根据第一轮二次检测结果中获取的第一恶意代码包与第二恶意代码包进行恶意代码包判断;若第一轮检测结果中存在第一恶意代码包,而第二轮检测结果中不存在第二恶意代码包,则对目标代码包的第一特征信息在第一恶意代码库中进行恶意代码包检测得到第二轮二次检测结果,若第二轮二次检测结果中目标代码包存在第二恶意代码包,则根据第二恶意代码包与第一恶意代码包进行恶意代码包判断;若第二轮二次检测结果中目标代码不存在第二恶意代码包,则采用二次神经网络模型对目标代码包进行特征提取获取第二特征信息,采用第一恶意代码库和第二恶意代码库分别对第二特征信息进行检测,得到第二轮三次检测结果,根据第二轮三次检测结果中存在第二恶意代码包与第一恶意代码包进行恶意代码包判断出目标代码包中恶意代码包情况。
根据本发明实施例,还包括:
根据所述目标代码包的第一轮检测结果中获取的第一恶意代码包和第二轮检测结果中获取的第二恶意代码包进行目标代码包中的恶意代码包判断;
若所述第一轮检测结果中不存在第一恶意代码包,所述第二轮检测结果中不存在第二恶意代码包,将所述目标代码包与第三恶意代码聚类集库中的每一第三恶意代码聚类进行相似度对比;
若存在与目标代码包相似度大于预设阈值的第三恶意代码聚类,则筛选满足相似度的第三恶意代码聚类中出现率最高的恶意代码包作为目标恶意代码包;
若不存在与目标代码包相似度满足预设阈值的第三恶意代码聚类,则所述目标代码包中不存在恶意代码包。
需要说明的是,根据目标代码包的第一轮检测结果中获取的第一恶意代码包和第二轮检测结果中获取的第二恶意代码包进行目标代码包中的恶意代码包判断,若第一轮检测结果中不存在第一恶意代码包,第二轮检测结果中也不存在第二恶意代码包,则将目标代码包与第三恶意代码聚类集库中的每一第三恶意代码聚类进行相似度对比,寻找与目标代码包相似度大于预设阈值的第三恶意代码聚类,再筛选满足相似度的第三恶意代码聚类中出现率最高的恶意代码包作为目标恶意代码包;若不存在与目标代码包相似度满足预设阈值的第三恶意代码聚类,则判断目标代码包中不存在恶意代码包。
本申请实施例一种恶意代码包检测系统中,该系统包括:存储器201及处理器202,所述存储器201中包括恶意代码包检测方法的程序,所述恶意代码包检测方法的程序被所述处理器202执行时实现以下步骤:
获取待检测的目标代码包;
基于第一恶意代码库对目标代码包进行恶意代码包检测,得到第一轮检测结果,所述第一恶意代码库包括多个第一恶意代码包;所述第一轮检测结果为所述目标代码包不含任一第一恶意代码包,或者含有至少一个第一恶意代码包;采用预设神经网络模型对所述目标代码包进行特征提取,以获取所述目标代码包的第一特征信息;采用预先建立的第二恶意代码库对所述第一特征信息进行检测,得到第二轮检测结果,所述第二恶意代码库包括多个第二恶意代码包;所述第二轮检测结果为所述目标代码包不含任一第二恶意代码包,或者含有至少一个第二恶意代码包;结合所述第一轮检测结果以及所述第二轮检测结果确定所述目标代码包中的恶意代码包情况。
可选地,在本申请实施例所述的恶意代码包检测系统中,所述恶意代码包检测方法的程序被所述处理器执行时还实现以下步骤:获取待检测的原始代码包,并对所述原始代码包进行清洗处理,得到目标代码包。
其中,目标代码包可以为直接从访问字段中截取的,也可以是截取后经过清洗的。
其中在一些实施例中,所述恶意代码包检测方法的程序被所述处理器202执行时实现以下步骤:获取待检测的原始代码包,并对所述原始代码包进行清洗处理,得到目标代码包。其中,该清洗处理去除的是该原始代码包中的无意义字符或者空格,或者乱码等。该第一恶意代码库中存储有多个恶意代码包,每一恶意代码包被划分为多个代码段,每一代码段对应一个执行动作。其中,检测时,可以采用该每一恶意代码包与该目标代码包进行逐字匹配,从而计算出对应的匹配度,然后选择出匹配度大于第一预设值的作为第一恶意代码包。
在一些实施例中,所述恶意代码包检测方法的程序被所述处理器202执行时实现以下步骤:采用多种规则对所述目标代码包进行分词处理,得到多个代码段集;其中,每一所述代码段集为采用一种规则对所述目标代码包进行分词得到的多个代码段的集;每一所述代码段对应一个执行动作;分别将每一所述代码段集与第一恶意代码库中的每一恶意代码包进行匹配,以计算所述代码段集与每一种第一恶意代码包的匹配度;筛选出匹配度大于第一预设值的第一恶意代码包作为第一轮检测结果。其中,该多种规则对应的是某一局部的,例如,某一局部包括代码:a1、a2、a3、a4、a5、a6、a7、a8。a1、a2、a3、a4、a5、a6可以组成一个执行动作对应的代码段。a3、a4、a5、a6、a7、a8可以组成一个执行动作对应的代码段。因此,针对该局部需要采用两种规则来划分,得到两种不同的划分结果。这样可以避免错漏。其中,匹配时,以代码段作为基本的匹配单位,主要是看该目标代码包与每一恶意代码包在代码段上的匹配度。其中,该第一预设值可以设置为80%,当然也可以设置为85%,其并不限于此。
在一些实施例中,所述恶意代码包检测方法的程序被所述处理器202执行时实现以下步骤:对所述目标代码包进行分词处理,得到一个代码段集;其中,所述代码段集为对所述目标代码包进行分词得到的多个代码段的集;每一所述代码段对应一个执行动作;将所述代码段集与第一恶意代码库中的每一恶意代码包进行匹配,以计算所述代码段集与每一种恶意代码包的匹配度;筛选出匹配度大于第一预设值的第一恶意代码包作为第一轮检测结果。进行分词时,若某一局部具有多种分词结果,则应当结合该局部的前后语境,选择可能性最高的分词结果作为该局部的分词方式。匹配时,以代码段作为基本的匹配单位,主要是看该目标代码包与每一恶意代码包在代码段上的匹配度。其中,在该步骤S1026中,该第一预设值可以设置为80%,当然也可以设置为85%,其并不限于此。
其中,第一特征信息包括:代码长度、全抽样的特征向量、定位抽样的初始字符集、定位抽样获得的特征字符集的长度以及所述特征字符集的特征向量。预设神经网络模型为预先训练得到的神经网络模型。
其中,可以将第二恶意代码库中的与该第一特征性信息的相似度大于第二预设值的恶意代码包作为第二恶意代码包。当然,具体检测时,该第一特征信息的各种类型的特征量可以设置对应的权重值,然后基于权重值结合各种特征量的相似度计算出该第一特征信息与每一恶意代码包的相似度。
其中,将第一轮检测结果与第二轮检测结果结合可以得到该目标代码包中是否存在恶意代码,或者判断其中存在的恶意代码包的类型。
具体地,在一些实施例中,所述恶意代码包检测方法的程序被所述处理器202执行时实现以下步骤:若所述第一轮检测结果中的某一第一恶意代码包与所述第二轮检测结果中的任一第二恶意代码包相同,则该相同的恶意代码包作为所述目标代码包包括的目标恶意代码包;若所述第一轮检测结果某一第一恶意代码包与所述第二轮检测结果中的任意第二恶意代码包均不相同,则对各个第一恶意代码包以及第二恶意代码包进行聚类处理,得到多个恶意代码聚类;每一所述恶意代码聚类包括至少一个第一恶意代码包和/或至少一个第二恶意代码包;将具有恶意代码包数量最多的一个恶意代码聚类作为目标聚类;根据所述目标聚类判断出所述目标代码包中的恶意代码包情况。其中,聚类采用的是基于欧式距离的聚类,计算任意两个恶意代码包的欧式距离,然后将欧式距离小于预设阈值的恶意代码包作为一个聚类。其中,可以基于目标聚类内的恶意代码包得出该目标代码包中最可能存在的恶意代码包的类型。
由上可知,本申请实施例提供的恶意代码检测系统,通过获取待检测的目标代码包;基于第一恶意代码库对目标代码包进行恶意代码包检测,得到第一轮检测结果,所述第一轮检测结果为所述目标代码包不包括第一恶意代码包或者包括至少一个第一恶意代码包;采用预设神经网络模型对所述目标代码包进行特征提取,以获取所述目标代码包的第一特征信息;采用预先建立的第二恶意代码库对所述第一特征信息进行检测,得到第二轮检测结果;所述第二轮检测结果为所述目标代码包不包括第二恶意代码包或者包括至少一个第二恶意代码包;结合所述第一轮检测结果以及所述第二轮检测结果确定所述目标代码包中的恶意代码包情况,从而实现恶意代码的检测,由于采用了两轮完全不同的检测方式,并结合,可以提高检测精度以及降低误判率。
根据本发明实施例,还包括:
基于所述第一恶意代码库和第二恶意代码库建立第三恶意代码聚类集库;
根据与所述第一恶意代码库的每一恶意代码包不同的所述第二代码库的恶意代码包与第一恶意代码库的每一恶意代码包进行聚类获得多个第三恶意代码聚类,所述多个第三恶意代码聚类集合成为第三恶意代码聚类集库;
所述第三恶意代码聚类集库的每一第三恶意代码聚类包括至少一个第一恶意代码库的恶意代码包和至少一个第二恶意代码库的恶意代码包;
将目标代码包所述第一轮检测结果和第二轮检测结果任意均不相同的第一恶意代码包与第二恶意代码包进行聚类得到目标聚类;
将所述目标聚类与所述第三恶意代码聚类集库中的每一第三恶意代码聚类进行阈值对比;
将所述第三恶意代码聚类集库中预设阈值大于目标聚类的多个第三恶意代码聚类作为目标恶意代码聚类集;
将所述目标恶意代码聚类集的全部第三恶意代码聚类中出现频次最多的恶意代码包作为目标恶意代码包。
需要说明的是,若目标代码包第一轮检测结果和第二轮检测结果任意第一恶意代码包与第二恶意代码包均不相同,则将第一恶意代码包和第二恶意代码包进行聚类,与第三恶意代码聚类集库中的每一第三恶意代码聚类进行阈值对比筛选出目标恶意代码包,具体为基于第一恶意代码库和第二恶意代码库建立第三恶意代码聚类集库,第三恶意代码聚类集库中的多个第三恶意代码聚类是根据与第一恶意代码库的每一恶意代码包不同的第二代码库的恶意代码包与第一恶意代码库的每一恶意代码包进行聚类获得,每一第三恶意代码聚类包括至少一个第一恶意代码库的恶意代码包和至少一个第二恶意代码库的恶意代码包,将目标代码包第一轮检测结果和第二轮检测结果任意均不相同的第一恶意代码包与第二恶意代码包进行聚类得到目标聚类,与第三恶意代码聚类集库中的每一第三恶意代码聚类进行阈值对比,得到第三恶意代码聚类集库中预设阈值大于目标聚类的多个第三恶意代码聚类作为目标恶意代码聚类集,将目标恶意代码聚类集的全部第三恶意代码聚类中出现频次最多的恶意代码包作为目标恶意代码包。
根据本发明实施例,还包括:
根据目标代码包在所述第一轮检测结果中获取的第一恶意代码包和第二轮检测结果中获取的第二恶意代码包进行所述目标代码包中恶意代码包判断;
若所述第一轮检测结果中不存在第一恶意代码包,而第二轮检测结果中存在第二恶意代码包,则对所述目标代码包重新组合规则进行分词处理得到一个或多个二次代码段集,对每一个二次代码段集与第一恶意代码库中的每一恶意代码包进行匹配计算筛选所述二次代码段集中第一恶意代码包作为第一轮二次检测结果;
根据所述第一轮二次检测结果中获取的第一恶意代码包与第二恶意代码包进行恶意代码包判断;
若所述第一轮检测结果中存在第一恶意代码包,而第二轮检测结果中不存在第二恶意代码包,则对所述目标代码包的第一特征信息在第一恶意代码库中进行恶意代码包检测得到第二轮二次检测结果;
若所述第二轮二次检测结果中所述目标代码包存在第二恶意代码包,则根据第二恶意代码包与第一恶意代码包进行恶意代码包判断;
若所述第二轮二次检测结果中所述目标代码不存在第二恶意代码包,则采用二次神经网络模型对所述目标代码包进行特征提取获取第二特征信息,采用第一恶意代码库和第二恶意代码库分别对所述第二特征信息进行检测,得到第二轮三次检测结果,根据所述第二轮三次检测结果中存在第二恶意代码包与第一恶意代码包进行恶意代码包判断,判断出所述目标代码包中恶意代码包情况。
需要说明的是,根据目标代码包在第一轮检测结果中获取的第一恶意代码包和第二轮检测结果中获取的第二恶意代码包进行目标代码包中恶意代码包判断,若第一轮检测结果中不存在第一恶意代码包,而第二轮检测结果中存在第二恶意代码包,则对目标代码包重新组合规则进行分词处理得到一个或多个二次代码段集,对每一个二次代码段集与第一恶意代码库中的每一恶意代码包进行匹配计算筛选二次代码段集中第一恶意代码包作为第一轮二次检测结果,根据第一轮二次检测结果中获取的第一恶意代码包与第二恶意代码包进行恶意代码包判断;若第一轮检测结果中存在第一恶意代码包,而第二轮检测结果中不存在第二恶意代码包,则对目标代码包的第一特征信息在第一恶意代码库中进行恶意代码包检测得到第二轮二次检测结果,若第二轮二次检测结果中目标代码包存在第二恶意代码包,则根据第二恶意代码包与第一恶意代码包进行恶意代码包判断;若第二轮二次检测结果中目标代码不存在第二恶意代码包,则采用二次神经网络模型对目标代码包进行特征提取获取第二特征信息,采用第一恶意代码库和第二恶意代码库分别对第二特征信息进行检测,得到第二轮三次检测结果,根据第二轮三次检测结果中存在第二恶意代码包与第一恶意代码包进行恶意代码包判断出目标代码包中恶意代码包情况。
根据本发明实施例,还包括:
根据所述目标代码包的第一轮检测结果中获取的第一恶意代码包和第二轮检测结果中获取的第二恶意代码包进行目标代码包中的恶意代码包判断;
若所述第一轮检测结果中不存在第一恶意代码包,所述第二轮检测结果中不存在第二恶意代码包,将所述目标代码包与第三恶意代码聚类集库中的每一第三恶意代码聚类进行相似度对比;
若存在与目标代码包相似度大于预设阈值的第三恶意代码聚类,则筛选满足相似度的第三恶意代码聚类中出现率最高的恶意代码包作为目标恶意代码包;
若不存在与目标代码包相似度满足预设阈值的第三恶意代码聚类,则所述目标代码包中不存在恶意代码包。
需要说明的是,根据目标代码包的第一轮检测结果中获取的第一恶意代码包和第二轮检测结果中获取的第二恶意代码包进行目标代码包中的恶意代码包判断,若第一轮检测结果中不存在第一恶意代码包,第二轮检测结果中也不存在第二恶意代码包,则将目标代码包与第三恶意代码聚类集库中的每一第三恶意代码聚类进行相似度对比,寻找与目标代码包相似度大于预设阈值的第三恶意代码聚类,再筛选满足相似度的第三恶意代码聚类中出现率最高的恶意代码包作为目标恶意代码包;若不存在与目标代码包相似度满足预设阈值的第三恶意代码聚类,则判断目标代码包中不存在恶意代码包。
本申请实施例提供一种存储介质,所述计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的方法。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random AccessMemory, 简称SRAM),电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable ProgrammableRead Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种恶意代码检测方法,其特征在于,包括:
获取待检测的目标代码包;
基于第一恶意代码库对目标代码包进行恶意代码包检测,得到第一轮检测结果,所述第一恶意代码库包括多个第一恶意代码包;
所述第一轮检测结果为所述目标代码包不含任一第一恶意代码包,或者含有至少一个第一恶意代码包;
采用预设神经网络模型对所述目标代码包进行特征提取,以获取所述目标代码包的第一特征信息;
采用预先建立的第二恶意代码库对所述第一特征信息进行检测,得到第二轮检测结果,所述第二恶意代码库包括多个第二恶意代码包;
所述第二轮检测结果为所述目标代码包不含任一第二恶意代码包,或者含有至少一个第二恶意代码包;
结合所述第一轮检测结果以及所述第二轮检测结果确定所述目标代码包中的恶意代码包情况;
所述基于第一恶意代码库对目标代码包进行恶意代码包检测,得到第一轮检测结果,包括:
采用多种规则对所述目标代码包进行分词处理,得到多个代码段集;其中,每一所述代码段集为采用一种规则对所述目标代码包进行分词得到的多个代码段的集;每一所述代码段对应一个执行动作;
分别将每一所述代码段集与第一恶意代码库中的每一恶意代码包进行匹配,以计算所述代码段集与每一种第一恶意代码包的匹配度;
筛选出匹配度大于第一预设值的第一恶意代码包作为第一轮检测结果;
所述第一特征信息包括:代码长度、全抽样的特征向量、定位抽样的初始字符集、定位抽样获得的特征字符集的长度以及所述特征字符集的特征向量;
所述采用预先建立的第二恶意代码库对所述第一特征信息进行检测,得到第二轮检测结果,包括:
采用预先建立的第二恶意代码库中的每一恶意代码包与所述第一特征信息进行检测,以获取相似度大于第二预设值的第二恶意代码包作为第二轮检测结果;
其中,根据所述第一特征信息各种类型的特征量设置对应的权重值,根据所述权重值结合所述特征量进行相似度计算,获得所述第一特征信息与每一恶意代码包的相似度;
还包括:
基于所述第一恶意代码库和第二恶意代码库建立第三恶意代码聚类集库;
根据与所述第一恶意代码库的每一恶意代码包不同的所述第二恶意代码库的恶意代码包与第一恶意代码库的每一恶意代码包进行聚类获得多个第三恶意代码聚类,所述多个第三恶意代码聚类集合成为第三恶意代码聚类集库;
所述第三恶意代码聚类集库的每一第三恶意代码聚类包括至少一个第一恶意代码库的恶意代码包和至少一个第二恶意代码库的恶意代码包;
将目标代码包所述第一轮检测结果和第二轮检测结果任意均不相同的第一恶意代码包与第二恶意代码包进行聚类得到目标聚类;
将所述目标聚类与所述第三恶意代码聚类集库中的每一第三恶意代码聚类进行阈值对比;
将所述第三恶意代码聚类集库中预设阈值大于目标聚类的多个第三恶意代码聚类作为目标恶意代码聚类集;
将所述目标恶意代码聚类集的全部第三恶意代码聚类中出现频次最多的恶意代码包作为目标恶意代码包;
还包括:
根据目标代码包在所述第一轮检测结果中获取的第一恶意代码包和第二轮检测结果中获取的第二恶意代码包进行所述目标代码包中恶意代码包判断;
若所述第一轮检测结果中不存在第一恶意代码包,而第二轮检测结果中存在第二恶意代码包,则对所述目标代码包重新组合规则进行分词处理得到一个或多个二次代码段集,对每一个二次代码段集与第一恶意代码库中的每一恶意代码包进行匹配计算筛选所述二次代码段集中第一恶意代码包作为第一轮二次检测结果;
根据所述第一轮二次检测结果中获取的第一恶意代码包与第二恶意代码包进行恶意代码包判断;
若所述第一轮检测结果中存在第一恶意代码包,而第二轮检测结果中不存在第二恶意代码包,则对所述目标代码包的第一特征信息在第一恶意代码库中进行恶意代码包检测得到第二轮二次检测结果;
若所述第二轮二次检测结果中所述目标代码包存在第二恶意代码包,则根据第二恶意代码包与第一恶意代码包进行恶意代码包判断;
若所述第二轮二次检测结果中所述目标代码不存在第二恶意代码包,则采用二次神经网络模型对所述目标代码包进行特征提取获取第二特征信息,采用第一恶意代码库和第二恶意代码库分别对所述第二特征信息进行检测,得到第二轮三次检测结果,根据所述第二轮三次检测结果中存在第二恶意代码包与第一恶意代码包进行恶意代码包判断,判断出所述目标代码包中恶意代码包情况。
2.根据权利要求1所述的恶意代码检测方法,其特征在于,所述获取待检测的目标代码包,包括:
获取待检测的原始代码包,并对所述原始代码包进行清洗处理,得到目标代码包。
3.根据权利要求1所述的恶意代码检测方法,其特征在于,所述基于第一恶意代码库对目标代码包进行恶意代码包检测,得到第一轮检测结果,包括:
对所述目标代码包进行分词处理,得到一个代码段集;其中,所述代码段集为对所述目标代码包进行分词得到的多个代码段的集;每一所述代码段对应一个执行动作;
将所述代码段集与第一恶意代码库中的每一恶意代码包进行匹配,以计算所述代码段集与每一种恶意代码包的匹配度;
筛选出匹配度大于第一预设值的第一恶意代码包作为第一轮检测结果。
4.根据权利要求1-3中任一项所述的恶意代码检测方法,其特征在于,所述结合所述第一轮检测结果以及所述第二轮检测结果确定所述目标代码包中的恶意代码包情况,包括:
若所述第一轮检测结果中的某一第一恶意代码包与所述第二轮检测结果中的任一第二恶意代码包相同,则该相同的恶意代码包作为所述目标代码包包括的目标恶意代码包;
若所述第一轮检测结果某一第一恶意代码包与所述第二轮检测结果中的任意第二恶意代码包均不相同,则对各个第一恶意代码包以及第二恶意代码包进行聚类处理,得到多个恶意代码聚类;每一所述恶意代码聚类包括至少一个第一恶意代码包和/或至少一个第二恶意代码包;
将具有恶意代码包数量最多的一个恶意代码聚类作为目标聚类;
根据所述目标聚类判断出所述目标代码包中的恶意代码包情况。
5.根据权利要求1-3中任一项所述的恶意代码检测方法,其特征在于,所述结合所述第一轮检测结果以及所述第二轮检测结果确定所述目标代码包中的恶意代码包情况,包括:
若所述第一轮检测结果中存在第一恶意代码包或者所述第二轮检测结果中存在第二恶意代码包,则所述目标代码包中存在恶意代码包。
6.一种恶意代码检测系统,其特征在于,该系统包括:存储器及处理器,所述存储器中包括恶意代码包检测方法的程序,所述恶意代码包检测方法的程序被所述处理器执行时实现以下步骤:
获取待检测的目标代码包;
基于第一恶意代码库对目标代码包进行恶意代码包检测,得到第一轮检测结果,所述第一恶意代码库包括多个第一恶意代码包;
所述第一轮检测结果为所述目标代码包不含任一第一恶意代码包,或者含有至少一个第一恶意代码包;
采用预设神经网络模型对所述目标代码包进行特征提取,以获取所述目标代码包的第一特征信息;
采用预先建立的第二恶意代码库对所述第一特征信息进行检测,得到第二轮检测结果,所述第二恶意代码库包括多个第二恶意代码包;
所述第二轮检测结果为所述目标代码包不含任一第二恶意代码包,或者含有至少一个第二恶意代码包;
结合所述第一轮检测结果以及所述第二轮检测结果确定所述目标代码包中的恶意代码包情况;
所述基于第一恶意代码库对目标代码包进行恶意代码包检测,得到第一轮检测结果,包括:
采用多种规则对所述目标代码包进行分词处理,得到多个代码段集;其中,每一所述代码段集为采用一种规则对所述目标代码包进行分词得到的多个代码段的集;每一所述代码段对应一个执行动作;
分别将每一所述代码段集与第一恶意代码库中的每一恶意代码包进行匹配,以计算所述代码段集与每一种第一恶意代码包的匹配度;
筛选出匹配度大于第一预设值的第一恶意代码包作为第一轮检测结果;
所述第一特征信息包括:代码长度、全抽样的特征向量、定位抽样的初始字符集、定位抽样获得的特征字符集的长度以及所述特征字符集的特征向量;
所述采用预先建立的第二恶意代码库对所述第一特征信息进行检测,得到第二轮检测结果,包括:
采用预先建立的第二恶意代码库中的每一恶意代码包与所述第一特征信息进行检测,以获取相似度大于第二预设值的第二恶意代码包作为第二轮检测结果;
其中,根据所述第一特征信息各种类型的特征量设置对应的权重值,根据所述权重值结合所述特征量进行相似度计算,获得所述第一特征信息与每一恶意代码包的相似度;
还包括:
基于所述第一恶意代码库和第二恶意代码库建立第三恶意代码聚类集库;
根据与所述第一恶意代码库的每一恶意代码包不同的所述第二恶意代码库的恶意代码包与第一恶意代码库的每一恶意代码包进行聚类获得多个第三恶意代码聚类,所述多个第三恶意代码聚类集合成为第三恶意代码聚类集库;
所述第三恶意代码聚类集库的每一第三恶意代码聚类包括至少一个第一恶意代码库的恶意代码包和至少一个第二恶意代码库的恶意代码包;
将目标代码包所述第一轮检测结果和第二轮检测结果任意均不相同的第一恶意代码包与第二恶意代码包进行聚类得到目标聚类;
将所述目标聚类与所述第三恶意代码聚类集库中的每一第三恶意代码聚类进行阈值对比;
将所述第三恶意代码聚类集库中预设阈值大于目标聚类的多个第三恶意代码聚类作为目标恶意代码聚类集;
将所述目标恶意代码聚类集的全部第三恶意代码聚类中出现频次最多的恶意代码包作为目标恶意代码包;
还包括:
根据目标代码包在所述第一轮检测结果中获取的第一恶意代码包和第二轮检测结果中获取的第二恶意代码包进行所述目标代码包中恶意代码包判断;
若所述第一轮检测结果中不存在第一恶意代码包,而第二轮检测结果中存在第二恶意代码包,则对所述目标代码包重新组合规则进行分词处理得到一个或多个二次代码段集,对每一个二次代码段集与第一恶意代码库中的每一恶意代码包进行匹配计算筛选所述二次代码段集中第一恶意代码包作为第一轮二次检测结果;
根据所述第一轮二次检测结果中获取的第一恶意代码包与第二恶意代码包进行恶意代码包判断;
若所述第一轮检测结果中存在第一恶意代码包,而第二轮检测结果中不存在第二恶意代码包,则对所述目标代码包的第一特征信息在第一恶意代码库中进行恶意代码包检测得到第二轮二次检测结果;
若所述第二轮二次检测结果中所述目标代码包存在第二恶意代码包,则根据第二恶意代码包与第一恶意代码包进行恶意代码包判断;
若所述第二轮二次检测结果中所述目标代码不存在第二恶意代码包,则采用二次神经网络模型对所述目标代码包进行特征提取获取第二特征信息,采用第一恶意代码库和第二恶意代码库分别对所述第二特征信息进行检测,得到第二轮三次检测结果,根据所述第二轮三次检测结果中存在第二恶意代码包与第一恶意代码包进行恶意代码包判断,判断出所述目标代码包中恶意代码包情况。
7.根据权利要求6所述的恶意代码检测系统,其特征在于,所述恶意代码包检测方法的程序被所述处理器执行时还实现以下步骤:
获取待检测的原始代码包,并对所述原始代码包进行清洗处理,得到目标代码包。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括恶意代码检测方法程序,所述恶意代码包检测方法程序被处理器执行时,实现如权利要求1至5中任一项所述的一种恶意代码检测方法的步骤。
CN202111297733.2A 2021-11-04 2021-11-04 恶意代码检测方法、系统及计算机可读存储介质 Active CN113742730B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111297733.2A CN113742730B (zh) 2021-11-04 2021-11-04 恶意代码检测方法、系统及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111297733.2A CN113742730B (zh) 2021-11-04 2021-11-04 恶意代码检测方法、系统及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113742730A CN113742730A (zh) 2021-12-03
CN113742730B true CN113742730B (zh) 2022-02-22

Family

ID=78727349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111297733.2A Active CN113742730B (zh) 2021-11-04 2021-11-04 恶意代码检测方法、系统及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113742730B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489756A (zh) * 2022-01-29 2022-05-13 建信金融科技有限责任公司 一种代码的质量评估方法、装置、设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016082240A1 (zh) * 2014-11-25 2016-06-02 武汉安天信息技术有限责任公司 Elf文件中的恶意代码检测方法及装置
CN106096415A (zh) * 2016-06-24 2016-11-09 康佳集团股份有限公司 一种基于深度学习的恶意代码检测方法及系统
CN109977668A (zh) * 2017-12-27 2019-07-05 哈尔滨安天科技股份有限公司 恶意代码的查询方法及系统
CN112084497A (zh) * 2020-09-11 2020-12-15 国网山西省电力公司营销服务中心 嵌入式Linux系统恶意程序检测方法及装置
CN112307473A (zh) * 2019-08-01 2021-02-02 四川大学 一种基于Bi-LSTM网络和注意力机制的恶意JavaScript代码检测模型
CN113127866A (zh) * 2019-12-31 2021-07-16 奇安信科技集团股份有限公司 恶意代码的特征码提取方法、装置和计算机设备
CN113239354A (zh) * 2021-04-30 2021-08-10 武汉科技大学 一种基于循环神经网络的恶意代码检测方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016082240A1 (zh) * 2014-11-25 2016-06-02 武汉安天信息技术有限责任公司 Elf文件中的恶意代码检测方法及装置
CN106096415A (zh) * 2016-06-24 2016-11-09 康佳集团股份有限公司 一种基于深度学习的恶意代码检测方法及系统
CN109977668A (zh) * 2017-12-27 2019-07-05 哈尔滨安天科技股份有限公司 恶意代码的查询方法及系统
CN112307473A (zh) * 2019-08-01 2021-02-02 四川大学 一种基于Bi-LSTM网络和注意力机制的恶意JavaScript代码检测模型
CN113127866A (zh) * 2019-12-31 2021-07-16 奇安信科技集团股份有限公司 恶意代码的特征码提取方法、装置和计算机设备
CN112084497A (zh) * 2020-09-11 2020-12-15 国网山西省电力公司营销服务中心 嵌入式Linux系统恶意程序检测方法及装置
CN113239354A (zh) * 2021-04-30 2021-08-10 武汉科技大学 一种基于循环神经网络的恶意代码检测方法及系统

Also Published As

Publication number Publication date
CN113742730A (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
CN104915327B (zh) 一种文本信息的处理方法及装置
CN108234347B (zh) 一种提取特征串的方法、装置、网络设备及存储介质
CN111027048B (zh) 一种操作系统识别方法、装置、电子设备及存储介质
CN106294105B (zh) 刷量工具检测方法和装置
CN107707545B (zh) 一种异常网页访问片段检测方法、装置、设备及存储介质
CN107742079B (zh) 恶意软件识别方法及系统
EP2807802A1 (en) Systems and methods for spam detection using character histograms
EP4258610A1 (en) Malicious traffic identification method and related apparatus
CN106960153B (zh) 病毒的类型识别方法及装置
CN103297267A (zh) 一种网络行为的风险评估方法和系统
CN113742730B (zh) 恶意代码检测方法、系统及计算机可读存储介质
CN115025497A (zh) 异常数据检测方法、装置、电子设备及存储介质
CN111325067A (zh) 违规视频的识别方法、装置及电子设备
CN108076032B (zh) 一种异常行为用户识别方法及装置
CN111291824A (zh) 时间序列的处理方法、装置、电子设备和计算机可读介质
CN106358220B (zh) 异常联系人信息的检测方法、装置及系统
CN114513341B (zh) 恶意流量检测方法、装置、终端及计算机可读存储介质
CN112087450A (zh) 一种异常ip识别方法、系统及计算机设备
CN113051571A (zh) 一种误报漏洞的检测方法、装置及计算机设备
US8996638B2 (en) System and method for spam filtering using shingles
CN107016316B (zh) 一种条形码的识别方法和装置
CN115757034A (zh) 日志的分析处理方法、装置、计算机设备和存储介质
CN115391541A (zh) 智能合约代码自动审查方法、存储介质和电子设备
CN112163217B (zh) 恶意软件变种识别方法、装置、设备及计算机存储介质
CN114090850A (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
GR01 Patent grant
GR01 Patent grant