首页 / 专利库 / 软件 / 软件 / 恶意软件检测方法及装置

恶意软件检测方法及装置

阅读:104发布:2021-06-14

专利汇可以提供恶意软件检测方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种恶意 软件 检测方法及装置,属于软件检测技术领域。所述方法包括:获取待检测软件的软件名称;提取待检测软件的软件名称中包含的目标类型字符;检测是否存在与待检测软件的软件名称中包含的目标类型字符相匹配的 恶意软件 字符,恶意软件字符是指恶意软件的软件名称中包含的目标类型字符;若存在,则确定待检测软件为恶意软件。本发明利用恶意软件的软件名称与正常的非恶意软件的软件名称存在明显区别这一特性,通过获取待检测软件的软件名称,根据待检测软件的软件名称检测待检测软件是否为恶意软件,有助于提高检出成功率、降低误报率以及提升检测效率。,下面是恶意软件检测方法及装置专利的具体信息内容。

1.一种恶意软件检测方法,其特征在于,所述方法包括:
获取待检测软件的软件名称;
提取所述待检测软件的软件名称中包含的目标类型字符;
检测是否存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符,所述恶意软件字符是指恶意软件的软件名称中包含的目标类型字符;
若存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符,则确定所述待检测软件为恶意软件。
2.根据权利要求1所述的方法,其特征在于,所述检测是否存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符,包括:
获取所述待检测软件的软件名称中包含的目标类型字符对应的特征值;
检测恶意软件特征值集合中是否存在与所述待检测软件对应的特征值相同的恶意软件特征值,其中,所述恶意软件特征值集合中包括至少一个恶意软件特征值,每一个恶意软件特征值是指一个恶意软件字符对应的特征值;
若所述恶意软件特征值集合中存在与所述待检测软件对应的特征值相同的恶意软件特征值,则确定存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符。
3.根据权利要求2所述的方法,其特征在于,所述获取所述待检测软件的软件名称中包含的目标类型字符对应的特征值,包括:
采用消息摘要算法计算所述待检测软件的软件名称中包含的目标类型字符对应的消息摘要,并将所述消息摘要作为所述待检测软件对应的特征值;
或者,
采用哈希算法计算所述待检测软件的软件名称中包含的目标类型字符对应的哈希值,并将所述哈希值作为所述待检测软件对应的特征值。
4.根据权利要求1所述的方法,其特征在于,所述检测是否存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符之前,还包括:
获取恶意软件样本的软件名称;
提取所述恶意软件样本的软件名称中包含的目标类型字符;
检测所述恶意软件样本的软件名称中包含的目标类型字符是否符合预设条件,其中,所述预设条件包括以下至少一项:软件名称中包含的目标类型字符间隔排列且间隔数大于预设间隔数、软件名称中包含的目标类型字符之后存在预设字符或预设字符串、软件名称中包含的目标类型字符之后紧接着非目标类型字符且非目标类型字符的数量大于预设限值;
若所述恶意软件样本的软件名称中包含的目标类型字符符合所述预设条件,则确定所述恶意软件样本的软件名称中包含的目标类型字符为所述恶意软件字符。
5.根据权利要求4所述的方法,其特征在于,所述检测所述恶意软件样本的软件名称中包含的目标类型字符是否符合预设条件之后,还包括:
若所述恶意软件样本的软件名称中包含的目标类型字符符合所述预设条件,则确定所述恶意软件样本的软件名称中包含的目标类型字符为候选恶意软件字符;
获取所述候选恶意软件字符对应的提取次数,所述提取次数是指从所述恶意软件样本的软件名称中提取到所述候选恶意软件字符的次数;
检测所述提取次数是否大于预设次数;
若所述提取次数大于所述预设次数,则将所述候选恶意软件字符确定为所述恶意软件字符。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
对于每一个恶意软件字符,检测所述恶意软件字符是否与从非恶意软件样本的软件名称中提取的目标类型字符相匹配;
若所述恶意软件字符与所述从非恶意软件样本的软件名称中提取的目标类型字符相匹配,则删除所述恶意软件字符。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述获取待检测软件的软件名称,包括:
读取所述待检测软件的应用程序包中的信息描述文件;
读取所述信息描述文件中的软件名称条目中的数据,并将读取到的所述数据作为所述待检测软件的软件名称。
8.根据权利要求1至5任一项所述的方法,其特征在于,所述获取待检测软件的软件名称之后,还包括:
检测所述待检测软件的软件名称中包含的目标类型字符的字符数量是否大于预设字符数量;
若所述字符数量大于所述预设字符数量,则执行所述提取所述待检测软件的软件名称中包含的目标类型字符的步骤。
9.一种恶意软件检测装置,其特征在于,所述装置包括:
第一获取模,用于获取待检测软件的软件名称;
第一提取模块,用于提取所述待检测软件的软件名称中包含的目标类型字符;
第一检测模块,用于检测是否存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符,所述恶意软件字符是指恶意软件的软件名称中包含的目标类型字符;
第一确定模块,用于若存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符,则确定所述待检测软件为恶意软件。
10.根据权利要求9所述的装置,其特征在于,所述第一检测模块,包括:
标识获取单元,用于获取所述待检测软件的软件名称中包含的目标类型字符对应的特征值;
标识检测单元,用于检测恶意软件特征值集合中是否存在与所述待检测软件对应的特征值相同的恶意软件特征值,其中,所述恶意软件特征值集合中包括至少一个恶意软件特征值,每一个恶意软件特征值是指一个恶意软件字符对应的特征值;
检测确定单元,用于若所述恶意软件特征值集合中存在与所述待检测软件对应的特征值相同的恶意软件特征值,则确定存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取恶意软件样本的软件名称;
第二提取模块,用于提取所述恶意软件样本的软件名称中包含的目标类型字符;
第二检测模块,用于检测所述恶意软件样本的软件名称中包含的目标类型字符是否符合预设条件,其中,所述预设条件包括以下至少一项:软件名称中包含的目标类型字符间隔排列且间隔数大于预设间隔数、软件名称中包含的目标类型字符之后存在预设字符或预设字符串、软件名称中包含的目标类型字符之后紧接着非目标类型字符且非目标类型字符的数量大于预设门限值;
第二确定模块,用于若所述恶意软件样本的软件名称中包含的目标类型字符符合所述预设条件,则确定所述恶意软件样本的软件名称中包含的目标类型字符为所述恶意软件字符。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于若所述恶意软件样本的软件名称中包含的目标类型字符符合所述预设条件,则确定所述恶意软件样本的软件名称中包含的目标类型字符为候选恶意软件字符;
第三获取模块,用于获取所述候选恶意软件字符对应的提取次数,所述提取次数是指从所述恶意软件样本的软件名称中提取到所述候选恶意软件字符的次数;
第三检测模块,用于检测所述提取次数是否大于预设次数;
所述第二确定模块,还用于若所述提取次数大于所述预设次数,则将所述候选恶意软件字符确定为所述恶意软件字符。
13.根据权利要求9至12任一项所述的装置,其特征在于,所述装置还包括:
第四检测模块,用于对于每一个恶意软件字符,检测所述恶意软件字符是否与从非恶意软件样本的软件名称中提取的目标类型字符相匹配;
删除模块,用于若所述恶意软件字符与所述从非恶意软件样本的软件名称中提取的目标类型字符相匹配,则删除所述恶意软件字符。

说明书全文

恶意软件检测方法及装置

技术领域

[0001] 本发明实施例涉及软件检测技术领域,特别涉及一种恶意软件检测方法及装置。

背景技术

[0002] 恶意软件是指在计算机系统上执行恶意任务的应用程序。终端安装恶意软件之后,恶意软件会进行恶意扣费、发送欺诈信息或窃取用户个人信息等操作,严重影响安全性。因此,需要对恶意软件进行自动检测。
[0003] 在相关技术中,通过对待检测软件的代码进行分析,提取待检测软件的代码特征,将待检测软件的代码特征与恶意软件的代码特征进行比对,如果两者匹配,则将待检测软件确定为恶意软件。
[0004] 由于大部分的恶意软件所执行的恶意操作为恶意扣费、发送欺诈信息或窃取用户个人信息,从软件的代码所实现的操作来看,其与正常的非恶意软件并无明显差异。因此,上述相关技术提供的基于代码特征比对的恶意软件检测方法,存在检出成功率低、误报率高的问题。

发明内容

[0005] 为了解决相关技术提供的基于代码特征比对的恶意软件检测方法所存在的检出成功率低、误报率高的问题,本发明实施例提供了一种恶意软件检测方法及装置。所述技术方案如下:
[0006] 第一方面,提供了一种恶意软件检测方法,所述方法包括:
[0007] 获取待检测软件的软件名称;
[0008] 提取所述待检测软件的软件名称中包含的目标类型字符;
[0009] 检测是否存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符,所述恶意软件字符是指恶意软件的软件名称中包含的目标类型字符;
[0010] 若存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符,则确定所述待检测软件为恶意软件。
[0011] 第二方面,提供了一种恶意软件检测装置,所述装置包括:
[0012] 第一获取模,用于获取待检测软件的软件名称;
[0013] 第一提取模块,用于提取所述待检测软件的软件名称中包含的目标类型字符;
[0014] 第一检测模块,用于检测是否存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符,所述恶意软件字符是指恶意软件的软件名称中包含的目标类型字符;
[0015] 第一确定模块,用于若存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符,则确定所述待检测软件为恶意软件。
[0016] 本发明实施例提供的技术方案可以带来如下有益效果:
[0017] 利用恶意软件的软件名称与正常的非恶意软件的软件名称存在明显区别这一特性,通过获取待检测软件的软件名称,根据待检测软件的软件名称检测待检测软件是否为恶意软件,有助于提高检出成功率及降低误报率。
[0018] 另外,相较于相关技术提供的基于代码特征比对的恶意软件检测方法,本发明实施例无需对软件代码进行分析,仅需对软件名称进行分析处理,因此检测效率会得到大幅提升。附图说明
[0019] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020] 图1A是本发明一个实施例提供的恶意软件检测方法的流程图
[0021] 图1B是本发明实施例涉及的一个界面示意图;
[0022] 图2是本发明一个实施例提供的确定恶意软件字符的方法的流程图;
[0023] 图3是本发明另一个实施例提供的恶意软件检测方法的流程图;
[0024] 图4A是本发明另一个实施例提供的恶意软件检测方法的流程图;
[0025] 图4B是图4A实施例涉及的步骤403的流程图;
[0026] 图5是本发明一个实施例提供的恶意软件检测装置的框图
[0027] 图6是本发明一个实施例提供的终端的结构示意图。

具体实施方式

[0028] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0029] 在本发明实施例中,尝试从其它维度对恶意软件进行检测。通过对一些恶意软件进行分析发现,这些恶意软件的软件名称与正常的非恶意软件的软件名称存在明显区别。因此,在本发明实施例中,通过获取待检测软件的软件名称,根据待检测软件的软件名称检测待检测软件是否为恶意软件,以达到提高检出成功率、降低误报率的目的。
[0030] 本发明实施例提供的方法,各步骤的执行主体可以是终端。例如,终端可以是诸如手机、平板电脑电子书阅读器、多媒体播放设备、PDA(Personal Digital Assistant,个人数字助理)、PC(Personal Computer,个人计算机)等电子设备。可选地,终端是基于Android(安卓)操作系统的移动终端。当然,本发明实施例并不限定终端的操作系统还可以是iOS操作系统、Windows Phone操作系统等其它操作系统。
[0031] 下面将基于上面所述的本发明实施例涉及的共性方面,对本发明实施例进一步详细说明。
[0032] 请参考图1A,其示出了本发明一个实施例提供的恶意软件检测方法的流程图。该方法可以包括如下步骤。
[0033] 步骤101,获取待检测软件的软件名称。
[0034] 软件名称(soft name)也称为软件名,是软件的标识符。不同的软件对应于不同的软件名称。
[0035] 在一个示例中,步骤101包括如下几个子步骤:
[0036] 步骤101a,读取待检测软件的应用程序包中的信息描述文件;
[0037] 待检测软件的应用程序包即是指待检测软件的安装包。信息描述文件是待检测软件的基础配置文件,软件的应用程序包中包含信息描述文件。
[0038] 以待检测软件为Android应用程序为例,Android应用程序的应用程序包称为APK(Android application package)。Android应用程序的信息描述文件是manifest文件,也即AndroidManifest.4ml文件。在信息描述文件中,开发者可以说明软件的基础信息,比如软件名称、入口页面、所需要的权限信息、版本信息等。信息描述文件也可称为清单文件。
[0039] 步骤101b,读取上述信息描述文件中的软件名称条目中的数据,并将读取到的数据作为待检测软件的软件名称。
[0040] 待检测软件的信息描述文件中存在一个记录有待检测软件的软件名称的条目(可称为软件名称条目),终端从该条目中读取待检测软件的软件名称。
[0041] 以待检测软件为Android应用程序为例,从Android应用程序的manifest文件中读取软件名称。
[0042] 步骤102,提取待检测软件的软件名称中包含的目标类型字符。
[0043] 软件名称中可以包含中文字符(也即汉字)、韩文字符、日文字符、英文字母、希腊字母、拉丁字母、俄文字母、数字、符号、标点等多种不同类型的字符。目标类型字符可以是一种类型的字符,也可以是多种类型的字符。在本发明实施例中,主要以目标类型字符为中文字符进行介绍说明。但是,在本发明实施例中,并不限定目标类型字符还可以是其它某一类型的字符,如日文字符;或者也可以是其它多种类型的字符,如中文字符和日文字符。
[0044] 终端首先识别待检测软件的软件名称中包含的目标类型字符,然后提取识别出的目标类型字符。以目标类型字符为中文字符为例,终端首先识别待检测软件的软件名称中包含的中文字符,然后提取识别出的中文字符。
[0045] 可选地,终端获取待检测软件的软件名称之后,检测待检测软件的软件名称中包含的目标类型字符的字符数量是否大于预设字符数量;若字符数量大于预设字符数量,则执行步骤102;若字符数量不大于预设字符数量,则不执行步骤102,结束流程。
[0046] 以目标类型字符为中文字符为例,软件名称中包含的中文字符的字符数量是指软件名称中包含的汉字的个数。例如,待检测软件的软件名称为“蜜ぃ汁ぃ影ぃ城”,其包含的中文字符为“蜜汁影城”,中文字符的字符数量为4。
[0047] 预设字符数量可以是预先根据经验设定的经验值,例如3或4。
[0048] 通过上述方式,当待检测软件的软件名称中包含的目标类型字符的字符数量大于预设字符数量时,执行后续的检测流程,否则不执行后续的检测流程,可以避免进行非必要的检测,且有助于降低误报率。
[0049] 步骤103,检测是否存在与待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符。
[0050] 恶意软件字符是指恶意软件的软件名称中包含的目标类型字符。恶意软件是指在计算机系统上执行恶意任务的应用程序。终端安装恶意软件之后,恶意软件会进行恶意扣费、发送欺诈信息或窃取用户个人信息等操作。一些恶意软件通常会以情色、中奖、危险告警等信息为噱头,引导用户在终端中下载安装恶意软件。
[0051] 可选地,若采用精确匹配方式,则待检测软件的软件名称中包含的目标类型字符与恶意软件字符相匹配,是指待检测软件的软件名称中包含的目标类型字符与恶意软件字符完全相同。若采用模糊匹配方式,则待检测软件的软件名称中包含的目标类型字符与恶意软件字符相匹配,是指待检测软件的软件名称中包含的目标类型字符与恶意软件字符的匹配度达到预设匹配度;其中,匹配度可以是指待检测软件的软件名称中包含的目标类型字符与恶意软件字符中相同字符的数量占待检测软件的软件名称中包含的目标类型字符的字符数量的比值。
[0052] 可选地,终端检测恶意软件字符集合中是否存在与待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符,恶意软件字符集合中包括至少一个恶意软件字符。有关恶意软件字符的确定方式可参见下文图2实施例中的介绍说明。
[0053] 步骤104,若存在与待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符,则确定待检测软件为恶意软件。
[0054] 仍然以待检测软件的软件名称为“蜜ぃ汁ぃ影ぃ城”为例,假设存在恶意软件字符“蜜汁影城”,则确定该待检测软件为恶意软件。
[0055] 另外,若不存在与待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符,则确定待检测软件为非恶意软件。非恶意软件即是指不是恶意软件的软件。
[0056] 在本发明实施例中,对上述步骤101至步骤104涉及的检测流程的执行时机不作限定。例如,终端可以在已下载待检测软件但未安装待检测软件时(也即在安装待检测软件之前),执行上述检测流程;终端也可以在安装待检测软件的过程中,执行上述检测流程;终端还可以在安装待检测软件之后,执行上述检测流程;或者终端还可以在下载待检测软件之前或者在下载待检测软件的过程中,执行上述检测流程。
[0057] 结合参考图1B,假设终端中安装运行有目标应用,该目标应用具备本发明实施例提供的恶意软件检测功能,例如该目标应用为“手机管家”应用11。终端中还安装有一款软件名称为“蜜ぃ汁ぃ影ぃ城”的应用12,目标应用通过上述流程对这款应用的软件名称“蜜ぃ汁ぃ影ぃ城”进行分析,确定这款应用为恶意软件,生成并显示相应的提示信息13,通过该提示信息13提示用户这款应用为恶意软件。可选地,用户可以基于上述提示信息13删除恶意软件。
[0058] 综上所述,本发明实施例提供的方法,利用恶意软件的软件名称与正常的非恶意软件的软件名称存在明显区别这一特性,通过获取待检测软件的软件名称,根据待检测软件的软件名称检测待检测软件是否为恶意软件,有助于提高检出成功率及降低误报率。
[0059] 另外,相较于相关技术提供的基于代码特征比对的恶意软件检测方法,本发明实施例无需对软件代码进行分析,仅需对软件名称进行分析处理,因此检测效率会得到大幅提升。
[0060] 在基于图1A所示实施例提供的一个可选实施例中,结合参考图2,本实施例提供一种确定恶意软件字符的方法,该方法可以包括如下几个步骤。
[0061] 步骤201,获取恶意软件样本的软件名称。
[0062] 恶意软件样本是指预先被确定为恶意软件的软件样本。恶意软件样本也可称为黑样本。恶意软件样本的数量为至少一个,在通常情况下,恶意软件样本的数量为多个。恶意软件样本的数量越多,后续确定的恶意软件字符越齐全,恶意软件的检出成功率越高。
[0063] 另外,恶意软件样本的软件名称的获取方式可以参考上述图1A实施例中有关步骤101的介绍,本实施例对此不再赘述。
[0064] 步骤202,提取恶意软件样本的软件名称中包含的目标类型字符。
[0065] 终端首先识别恶意软件样本的软件名称中包含的目标类型字符,然后提取识别出的目标类型字符。
[0066] 可选地,终端获取恶意软件样本的软件名称之后,检测恶意软件样本的软件名称中包含的目标类型字符的字符数量是否大于预设字符数量;若字符数量大于预设字符数量,则执行步骤202;若字符数量不大于预设字符数量,则不执行步骤202,结束流程。
[0067] 步骤203,检测恶意软件样本的软件名称中包含的目标类型字符是否符合预设条件。
[0068] 预设条件是指根据恶意软件的软件名称的特征所预先设定的判定条件(或规则)。
[0069] 例如,一些恶意软件的软件名称如下:情て趣て影て院-38581,情つ趣つ影つ院-38797,情と趣と影と院-85479。上述软件名称存在一些共同特征,例如中文字符间隔排列且间隔数为3,又例如中文字符之后存在相同字符串“-”和5个数字,因此可以将上述共同特征设定为预设条件。
[0070] 可选地,预设条件包括以下至少一项:软件名称中包含的目标类型字符间隔排列且间隔数大于预设间隔数、软件名称中包含的目标类型字符之后存在预设字符或预设字符串、软件名称中包含的目标类型字符之后紧接着非目标类型字符且非目标类型字符的数量大于预设限值。预设间隔数可以是预先根据经验设定的经验值,例如2或3。预设字符是指某一个特定字符,预设字符串是指多个特定字符。预设门限值可以是预先根据经验设定的经验值,例如6或8。
[0071] 示例性地,以目标类型字符为中文字符为例,预设条件包括如下几项:
[0072] (1)软件名称中包含的中文字符间隔排列且间隔数大于或等于3;
[0073] 例如,软件名称为“蜜ぃ汁ぃ影ぃ城”;又例如,“蜜aa汁bb影cc城”。
[0074] (2)软件名称中包含的中文字符之后存在预设字符串“(vip”;
[0075] 例如,软件名称为“桃つ涩つ视つ频(vip64796)”。
[0076] (3)软件名称中包含的中文字符之后存在预设字符串“_v”或“v_”;
[0077] 例如,软件名称为“快播成人版_v2.6”;又例如,软件名称为“快播成人版v_2.6”。
[0078] (4)软件名称中包含的中文字符之后紧跟着非中文字符,且非中文字符的数量大于或等于8;
[0079] 例如,软件名称为“快播4成人版lkYbPLPFiph”,软件名称中包含的中文字符的形式不作限定,中文字符之间也可间隔有非中文字符。
[0080] 需要说明的是,上文介绍的预设条件进行示例性和解释性的,在实际应用中,可根据实际情况设定预设条件。
[0081] 步骤204,若恶意软件样本的软件名称中包含的目标类型字符符合预设条件,则确定恶意软件样本的软件名称中包含的目标类型字符为恶意软件字符。
[0082] 可选地,终端在确定恶意软件样本的软件名称中包含的目标类型字符为恶意软件字符之后,将恶意软件字符添加至恶意软件字符集合中。
[0083] 另外,若恶意软件样本的软件名称中包含的目标类型字符不符合预设条件,则确定恶意软件样本的软件名称中包含的目标类型字符不是恶意软件字符。
[0084] 可选地,上述步骤203之后还包括如下步骤:
[0085] 1、若恶意软件样本的软件名称中包含的目标类型字符符合预设条件,则确定恶意软件样本的软件名称中包含的目标类型字符为候选恶意软件字符;
[0086] 2、获取候选恶意软件字符对应的提取次数;
[0087] 3、检测提取次数是否大于预设次数;
[0088] 4、若提取次数大于预设次数,则将候选恶意软件字符确定为恶意软件字符。
[0089] 提取次数是指从恶意软件样本的软件名称中提取到候选恶意软件字符的次数。例如,恶意软件样本的数量为100个,从这100个恶意软件样本中提取到候选恶意软件字符“蜜汁影城”的次数为20次,则候选恶意软件字符“蜜汁影城”的提取次数即为20。预设次数可以是预先根据经验设定的经验值,例如4或5。另外,若提取次数不大于预设次数,则确定候选恶意软件字符不是恶意软件字符。
[0090] 可选地,上述有关提取次数的检测步骤也可在将恶意软件字符添加至恶意软件字符集合中之后执行。例如,对于已添加至恶意软件字符集合中的每一个恶意软件字符,终端获取该恶意软件字符对应的提取次数,检测提取次数是否大于预设次数,若提取次数大于预设次数,则将该恶意软件字符在恶意软件字符集合中保留,若提取次数不大于预设次数,则将该恶意软件字符从恶意软件字符集合中删除。
[0091] 通过上述方式,确保最终确定的恶意软件字符是具有通用性的,有助于降低误报率,且有助于提高时效性。
[0092] 可选地,对于每一个恶意软件字符,终端检测该恶意软件字符是否与从非恶意软件样本的软件名称中提取的目标类型字符相匹配;若该恶意软件字符与从非恶意软件样本的软件名称中提取的目标类型字符相匹配,则删除该恶意软件字符;若该恶意软件字符与从非恶意软件样本的软件名称中提取的目标类型字符相匹配,则保留该恶意软件字符。
[0093] 非恶意软件样本是指预先被确定为非恶意软件的软件样本。非恶意软件样本也可称为白样本。非恶意软件样本的数量为至少一个,在通常情况下,非恶意软件样本的数量为多个。上述将非恶意软件样本的软件名称中提取的目标类型字符与恶意软件字符的匹配过程可以参考图1A实施例中有关步骤103的介绍,本实施例对此不再赘述。
[0094] 通过上述方式,有助于提高最终确定的恶意软件字符的准确性,降低误报率。
[0095] 请参考图3,其示出了本发明另一个实施例提供的恶意软件检测方法的流程图。该方法可以包括如下步骤。
[0096] 步骤301,获取待检测软件的软件名称。
[0097] 本步骤与图1A实施例中的步骤101相同,可以参考图1A实施例中有关步骤101的介绍,本实施例对此不再赘述。
[0098] 步骤302,提取待检测软件的软件名称中包含的目标类型字符。
[0099] 本步骤与图1A实施例中的步骤102相同,可以参考图1A实施例中有关步骤102的介绍,本实施例对此不再赘述。
[0100] 步骤303,获取待检测软件的软件名称中包含的目标类型字符对应的特征值。
[0101] 特征值通常为一个字符串,不同的目标类型字符所对应生成的特征值也不同。终端可以采用预设算法根据目标类型字符生成相应的特征值,该预设算法包括但不限于消息摘要算法、哈希算法
[0102] 在一种可能的实施方式中,采用消息摘要算法计算待检测软件的软件名称中包含的目标类型字符对应的消息摘要,并将该消息摘要作为待检测软件对应的特征值。例如,消息摘要算法可以是MD5(Message Digest algorithm 5,消息摘要算法第五版)。
[0103] 在另一种可能的实施方式中,采用哈希算法计算待检测软件的软件名称中包含的目标类型字符对应的哈希值,并将该哈希值作为待检测软件对应的特征值。例如,哈希算法可以是SHA1(Secure Hash Algorithm,安全哈希算法)。
[0104] 步骤304,检测恶意软件特征值集合中是否存在与待检测软件对应的特征值相同的恶意软件特征值。
[0105] 其中,恶意软件特征值集合中包括至少一个恶意软件特征值,每一个恶意软件特征值是指一个恶意软件字符对应的特征值。恶意软件字符对应的特征值也可采用上述举例的消息摘要算法或哈希算法对恶意软件字符进行计算得到。
[0106] 如果存在与待检测软件对应的特征值相同的恶意软件特征值,则说明存在与待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符;反之,如果不存在与待检测软件对应的特征值相同的恶意软件特征值,则说明不存在与待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符。
[0107] 步骤305,若恶意软件特征值集合中存在与待检测软件对应的特征值相同的恶意软件特征值,则确定待检测软件为恶意软件。
[0108] 另外,若恶意软件特征值集合中不存在与待检测软件对应的特征值相同的恶意软件特征值,则确定待检测软件为非恶意软件。
[0109] 可选地,采用如下方法生成恶意软件特征值集合:在生成恶意软件字符集之后,获取恶意软件字符集中的每一个恶意软件字符对应的恶意软件特征值,得到恶意软件特征值集合。
[0110] 综上所述,本发明实施例提供的方法,还通过获取待检测软件的软件名称中包含的目标类型字符对应的特征值,通过将待检测软件对应的特征值和恶意软件特征值进行比对,来确定待检测软件是否为恶意软件,相较于直接比对匹配目标类型字符,比对效率会得到提升。
[0111] 下面,在图4A实施例中,以目标类型字符为中文字符为例,对本发明实施例提供的方法流程进行介绍。
[0112] 步骤401,从样本数据库中获取至少一个恶意软件样本和至少一个非恶意软件样本;
[0113] 例如,样本数据库包括恶意软件样本库和非恶意软件样本库。恶意软件样本库中包括多个恶意软件,从恶意软件样本库中获取至少一个恶意软件样本。非恶意软件样本库中包括多个非恶意软件,从非恶意软件样本库中获取至少一个非恶意软件样本。
[0114] 步骤402,获取每一个恶意软件样本的软件名称;
[0115] 步骤403,对于每一个恶意软件样本,确定该恶意软件样本的软件名称中包含的中文字符是否为恶意软件字符;
[0116] 可选地,如图4B所示,步骤403包括如下几个子步骤:
[0117] 步骤403a,检测第i个恶意软件样本的软件名称中包含的中文字符的字符数量是否大于预设字符数量;
[0118] 若是,则执行下述步骤403b;若否,则令i=i+1,并执行下述步骤403f;
[0119] 其中,i的初始值为1,1≤i≤n,n表示恶意软件样本的总数量,i、n均为正整数。
[0120] 步骤403b,提取第i个恶意软件样本的软件名称中包含的中文字符;
[0121] 步骤403c,检测第i个恶意软件样本的软件名称中包含的中文字符是否符合第j个预设条件;
[0122] 若是,则执行下述步骤403d;若否,则令j=j+1,并执行下述步骤403e;
[0123] 其中,j的初始值为1,1≤j≤m,m表示预设条件的总数量,j、m均为正整数。在一个示例中,预设条件的总数量m为4,例如:
[0124] 第1个预设条件为:软件名称中包含的中文字符间隔排列且间隔数大于或等于3;
[0125] 第2个预设条件为:软件名称中包含的中文字符之后存在预设字符串“(vip”;
[0126] 第3个预设条件为:软件名称中包含的中文字符之后存在预设字符串“_v”或“v_”;
[0127] 第4个预设条件为:软件名称中包含的中文字符之后紧跟着非中文字符,且非中文字符的数量大于或等于8。
[0128] 步骤403d,确定第i个恶意软件样本的软件名称中包含的目标类型字符为恶意软件字符;
[0129] 在步骤403d之后,令i=i+1,并执行下述步骤403f;
[0130] 步骤403e,判断j是否大于m;
[0131] 若是,则令i=i+1,并执行下述步骤403f;若否,则再次从上述步骤403c开始执行;
[0132] 步骤403f,判断i是否大于n;
[0133] 若是,则结束流程;若否,则再次从上述步骤403a开始执行。
[0134] 步骤404,将恶意软件字符添加至恶意软件字符集合中;
[0135] 步骤405,对于已添加至恶意软件字符集合中的每一个恶意软件字符,检测该恶意软件字符对应的提取次数是否大于预设次数;
[0136] 若是,则执行下述步骤406;若否,则执行下述步骤407;
[0137] 步骤406,检测该恶意软件字符是否与从非恶意软件样本的软件名称中提取的中文字符相匹配;
[0138] 若是,则执行下述步骤407;若否,则将该恶意软件字符保留在恶意软件字符集合中。
[0139] 步骤407,将该恶意软件字符从恶意软件字符集合中删除;
[0140] 步骤408,采用恶意软件字符集合中最终剩余的恶意软件字符,根据待检测软件的软件名称进行恶意软件检测。
[0141] 下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
[0142] 请参考图5,其示出了本发明一个实施例提供的恶意软件检测装置的框图。该装置具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:第一获取模块510、第一提取模块520、第一检测模块530和第一确定模块540。
[0143] 第一获取模块510,用于获取待检测软件的软件名称。
[0144] 第一提取模块520,用于提取所述待检测软件的软件名称中包含的目标类型字符。
[0145] 第一检测模块530,用于检测是否存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符,所述恶意软件字符是指恶意软件的软件名称中包含的目标类型字符。
[0146] 第一确定模块540,用于若存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符,则确定所述待检测软件为恶意软件。
[0147] 在基于图5所示实施例提供的一个可选实施例中,所述第一检测模块,包括:标识获取单元、标识检测单元和检测确定单元。
[0148] 标识获取单元,用于获取所述待检测软件的软件名称中包含的目标类型字符对应的特征值。
[0149] 标识检测单元,用于检测恶意软件特征值集合中是否存在与所述待检测软件对应的特征值相同的恶意软件特征值,其中,所述恶意软件特征值集合中包括至少一个恶意软件特征值,每一个恶意软件特征值是指一个恶意软件字符对应的特征值。
[0150] 检测确定单元,用于若所述恶意软件特征值集合中存在与所述待检测软件对应的特征值相同的恶意软件特征值,则确定存在与所述待检测软件的软件名称中包含的目标类型字符相匹配的恶意软件字符。
[0151] 可选地,所述标识获取单元,用于:
[0152] 采用消息摘要算法计算所述待检测软件的软件名称中包含的目标类型字符对应的消息摘要,并将所述消息摘要作为所述待检测软件对应的特征值;
[0153] 或者,
[0154] 采用哈希算法计算所述待检测软件的软件名称中包含的目标类型字符对应的哈希值,并将所述哈希值作为所述待检测软件对应的特征值。
[0155] 在基于图5所示实施例提供的另一个可选实施例中,所述装置还包括:第二获取模块、第二提取模块、第二检测模块和第二确定模块。
[0156] 第二获取模块,用于获取恶意软件样本的软件名称。
[0157] 第二提取模块,用于提取所述恶意软件样本的软件名称中包含的目标类型字符。
[0158] 第二检测模块,用于检测所述恶意软件样本的软件名称中包含的目标类型字符是否符合预设条件。
[0159] 第二确定模块,用于若所述恶意软件样本的软件名称中包含的目标类型字符符合所述预设条件,则确定所述恶意软件样本的软件名称中包含的目标类型字符为所述恶意软件字符。
[0160] 可选地,所述预设条件包括以下至少一项:软件名称中包含的目标类型字符间隔排列且间隔数大于预设间隔数、软件名称中包含的目标类型字符之后存在预设字符或预设字符串、软件名称中包含的目标类型字符之后紧接着非目标类型字符且非目标类型字符的数量大于预设门限值。
[0161] 可选地,所述装置还包括:第三确定模块、第三获取模块和第三检测模块。
[0162] 第三确定模块,用于若所述恶意软件样本的软件名称中包含的目标类型字符符合所述预设条件,则确定所述恶意软件样本的软件名称中包含的目标类型字符为候选恶意软件字符。
[0163] 第三获取模块,用于获取所述候选恶意软件字符对应的提取次数,所述提取次数是指从所述恶意软件样本的软件名称中提取到所述候选恶意软件字符的次数。
[0164] 第三检测模块,用于检测所述提取次数是否大于预设次数。
[0165] 所述第二确定模块,还用于若所述提取次数大于所述预设次数,则将所述候选恶意软件字符确定为所述恶意软件字符。
[0166] 在基于图5所示实施例提供的另一个可选实施例中,所述装置还包括:第四检测模块和删除模块。
[0167] 第四检测模块,用于对于每一个恶意软件字符,检测所述恶意软件字符是否与从非恶意软件样本的软件名称中提取的目标类型字符相匹配。
[0168] 删除模块,用于若所述恶意软件字符与所述从非恶意软件样本的软件名称中提取的目标类型字符相匹配,则删除所述恶意软件字符。
[0169] 在基于图5所示实施例提供的另一个可选实施例中,所述第一获取模块,包括:文件读取单元和名称读取单元。
[0170] 文件读取单元,用于读取所述待检测软件的应用程序包中的信息描述文件。
[0171] 名称读取单元,用于读取所述信息描述文件中的软件名称条目中的数据,并将读取到的所述数据作为所述待检测软件的软件名称。
[0172] 在基于图5所示实施例提供的另一个可选实施例中,所述装置还包括:第五检测模块。
[0173] 第五检测模块,用于检测所述待检测软件的软件名称中包含的目标类型字符的字符数量是否大于预设字符数量。
[0174] 所述第一提取模块,还用于若所述字符数量大于所述预设字符数量,则提取所述待检测软件的软件名称中包含的目标类型字符。
[0175] 图5实施例中未披露的细节可参见上述各个方法实施例。
[0176] 需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0177] 请参考图6,其示出了本发明一个实施例提供的终端的结构示意图。该终端用于实施上述实施例中提供的恶意软件检测方法。具体来讲:
[0178] 终端600可以包括RF(Radio Frequency,射频)电路610、包括有一个或一个以上计算机可读存储介质的存储器620、输入单元630、显示单元640、传感器650、音频电路660、WiFi(wireless fidelity,无线保真)模块670、包括有一个或者一个以上处理核心的处理器680、以及电源690等部件。本领域技术人员可以理解,图6中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0179] RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器680处理;另外,将涉及上行的数据发送给基站。通常,RF电路610包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路610还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
[0180] 存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端600的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器620还可以包括存储器控制器,以提供处理器680和输入单元630对存储器
620的访问
[0181] 输入单元630可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元630可包括图像输入设备631以及其他输入设备632。图像输入设备631可以是摄像头,也可以是光电扫描设备。除了图像输入设备631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0182] 显示单元640可用于显示由用户输入的信息或提供给用户的信息以及终端600的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元640可包括显示面板641,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板
641。进一步的,触敏表面631可覆盖在显示面板641之上,当触敏表面631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图6中,触敏表面631与显示面板641是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面631与显示面板641集成而实现输入和输出功能。
[0183] 终端600还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在终端600移动到边时,关闭显示面板641和/或背光。作为运动传感器的一种,重加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端600还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0184] 音频电路660、扬声器661,传声器662可提供用户与终端600之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一终端,或者将音频数据输出至存储器620以便进一步处理。音频电路660还可能包括耳塞插孔,以提供外设耳机与终端600的通信。
[0185] WiFi属于短距离无线传输技术,终端600通过WiFi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块670,但是可以理解的是,其并不属于终端600的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0186] 处理器680是终端600的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行终端600的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器680可包括一个或多个处理核心;优选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
[0187] 终端600还包括给各个部件供电的电源690(比如电池),优选的,电源可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源690还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0188] 尽管未示出,终端600还可以包括蓝牙模块等,在此不再赘述。
[0189] 具体在本实施例中,终端600还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述恶意软件检测方法的指令。
[0190] 在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令由终端的处理器执行以完成上述方法实施例中的各个步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
[0191] 应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0192] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0193] 以上所述仅为本发明的示例性实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈