一种识别捆绑软件的方法及装置与流程

文档序号:12734584阅读:583来源:国知局
一种识别捆绑软件的方法及装置与流程

本申请涉及计算机领域,尤其涉及一种识别捆绑软件的方法及装置。



背景技术:

随着计算机与网络技术的发展,应用软件已经成为人们生活中不可或缺的一部分,人们可通过安装应用软件来使用该应用软件对应的服务,如,通过即时通信应用软件与好友进行聊天。

目前,有些软件为了能够让更多的用户使用,通常会捆绑在其他的应用软件(如,即时通信应用软件)上,后续,人们在安装某个应用软件时,捆绑在该应用软件中的其他应用软件则也会自动进行安装,但是,如果安装的捆绑软件过多,则会导致终端的系统性能严重降低,开机、运行速度慢,因此,为了提高终端的开机、运行速度,需要对已经安装的捆绑软件进行清理。

在对已经安装的捆绑软件进行清理之前,首先要识别出终端中已经安装的捆绑软件,在现有技术中,终端首先获取到待识别软件的特征信息,并直接在本地建立的捆绑特征库中的捆绑特征信息进行比对,如果特征信息与捆绑特征信息完全相同,则说明待识别软件是捆绑软件。

但是,在现有技术中,由于每天都可能会有大量新的捆绑软件出现,这样就导致需要每天都要更新本地捆绑特征库中的捆绑特征信息,因此,势必会给终端造成更多的运行压力。



技术实现要素:

本申请实施例提供一种识别捆绑软件的方法及装置,用以解决现有技术中每天更新本地捆绑特征库中的捆绑特征信息,给终端造成更多的运行压力的问 题。

本申请实施例提供的一种识别捆绑软件的方法,包括:

获取终端发送的待识别软件的特征信息;

根据所述特征信息,在预先建立的共有捆绑特征库与特有捆绑特征库中,分别确定出与所述特征信息相匹配的捆绑特征;

根据在共有捆绑特征库中确定出的捆绑特征,确定出待识别软件的共有特征表征值,根据在特有捆绑特征库中确定出的捆绑特征,确定出待识别软件对应的特有特征表征值;

根据所述共有特征表征值与特有特征表征值,识别待识别软件是否是捆绑软件,并将识别结果返回给所述终端。

本申请实施例提供的一种识别捆绑软件的装置,装置包括:

获取模块,用于获取终端发送的待识别软件的特征信息;

特征确定模块,用于根据所述特征信息,在预先建立的共有捆绑特征库与特有捆绑特征库中,分别确定出与所述特征信息相匹配的捆绑特征;

表征值确定模块,用于根据在共有捆绑特征库中确定出的捆绑特征,确定出待识别软件的共有特征表征值,根据在特有捆绑特征库中确定出的捆绑特征,确定出待识别软件对应的特有特征表征值;

识别模块,用于根据所述共有特征表征值与特有特征表征值,识别待识别软件是否是捆绑软件,并将识别结果返回给所述终端。

本申请实施例提供一种识别捆绑软件的方法及装置,该方法针对待识别的软件,服务器获取终端发送的待识别软件的特征信息,根据该特征信息,在预先建立的共有捆绑特征库与特有捆绑特征库中,分别确定出与该特征信息相匹配的捆绑特征,根据在共有捆绑特征库中确定出的捆绑特征,确定出待识别软件的共有特征表征值,根据在特有捆绑特征库中确定出的捆绑特征,确定出待识别软件对应的特有特征表征值,根据确定出的共有特征表征值与特有特征表征值,识别待识别软件是否是捆绑软件,并将识别结果返回给所述终端,通过 上述方法,由于共有捆绑特征库与特有捆绑特征库位于云端,并且,处理识别捆绑软件的整个过程都是位于云端的服务器完成的,因此,大幅度降低了终端的运行压力。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的识别捆绑软件的过程;

图2为本申请实施例提供的识别捆绑软件的装置结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请实施例提供的识别捆绑软件的过程,具体包括以下步骤:

S101:获取终端发送的待识别软件的特征信息。

S102:根据所述特征信息,在预先建立的共有捆绑特征库与特有捆绑特征库中,分别确定出与所述特征信息相匹配的捆绑特征。

S103:根据在共有捆绑特征库中确定出的捆绑特征,确定出待识别软件的共有特征表征值,根据在特有捆绑特征库中确定出的捆绑特征,确定出待识别软件对应的特有特征表征值。

S104:根据所述共有特征表征值与特有特征表征值,识别待识别软件是否是捆绑软件,并将识别结果返回给所述终端。

由于共有捆绑特征库与特有捆绑特征库位于云端,并且,处理识别捆绑软件的整个过程都是位于云端的服务器完成的,因此,大幅度降低了终端的运行压力。

在实际应用中,每个软件都会有属于自己的特征信息,所述特征信息是用于表征软件特征的信息,如,软件的名称,也就是说,通过软件的特征信息能够识别出软件到底是哪一种软件,其中,所述特征信息包括:用户使用待识别软件的频率信息、待识别软件的签名信息、待识别软件的标识信息、待识别软件的发布者的标识信息、待识别软件的大小信息、待识别软件的命令行信息、所述待识别软件的代码信息中的至少一种。

在步骤S101中,终端首先获取待识别软件的特征信息,并将获取到的特征信息发送给服务器,服务器在获取到待识别软件的特征信息后,做出相应的响应,所述服务器可以是位于云端的服务器,即,云服务器。

例如,假设服务器接收到终端发送的某软件(即,待识别软件)的特征信息:用户使用软件的频率信息0次、签名信息ANO、软件的标识信息BGHYI、软件的发布者的标识信息CBOU、软件的大小30M,并根据接收到的信息作出相应的响应。

进一步的,在本申请中,由于服务器是通过将获取到待识别软件的特征信息与捆绑特征进行比对来识别该软件是否是捆绑软件的,因此,首先需要建立捆绑特征库,又由于有些软件为了避免抵御软件的识别,其特征信息往往存在一定程度的缺失或者变动,但是,这些特征信息即使发生了变动,也很有可能是具有某种共性的,如,软件的大小即使发生变化,但是,大小一直处于某个变化范围之内,因此,在本申请中,可以建立两个捆绑特征库,即,一个是共有捆绑特征库,一个是特有捆绑特征库。所述共有捆绑特征库中包含的捆绑特征是软件的具有共性的特征信息,所述共性的特征信息可以是某种类型中的特征信息都处于某一范围,如,捆绑软件的大小处于30M~40M之间,也即,共有捆绑特征库中的捆绑特征包括:软件的大小处于30M~40M,也可以是某种 类型中的特征信息中的部分特征信息是相同的或者相似的,如,捆绑软件的标识信息中都包含BGH,也即,共有捆绑特征库中的捆绑特征包括:捆绑软件的标识信息中的部分信息为BGH。所述特有捆绑特征库中包含的捆绑特征是软件的特有的特征信息,如,某捆绑软件的发布者的标识信息为CBOU。

由此,本申请还提供了一种建立共有捆绑特征库的方式:获取各样本捆绑软件,根据各样本捆绑软件,确定各样本捆绑软件对应的特征信息,在各样本捆绑软件对应的特征信息中,确定出相同的特征信息,作为捆绑特征,并添加到共有捆绑特征库中。当然,建立共有捆绑特征库的方式也可以是,获取各样本捆绑软件,根据各样本捆绑软件,确定各样本捆绑软件对应的特征信息,在各样本捆绑软件对应的特征信息中,确定相同类型的、且以数值为表达方式的特征信息中,数值之差的绝对值在设定范围以内的各特征信息,再根据确定出的各特征信息的数值确定数值范围,将该数值范围作为捆绑特征,添加到共有捆绑特征库中,也可以在各样本捆绑软件对应的特征信息中,将相同类型的特征信息中相同的部分信息,作为捆绑特征,添加到共有捆绑特征库中。

延续上例,假设有三个样本捆绑软件:样本捆绑软件1、样本捆绑软件2、样本捆绑软件3,确定出三个样本捆绑软件对应的特征信息如表1所示:

表1

服务器在确定出各样本捆绑软件对应的特征信息中,确定出相同的特征信 息为“用户使用软件的频率信息0次、软件的发布者的标识信息CBOU”,并将其作为捆绑特征,添加到共有捆绑特征库中,确定出相同类型的、且以数值为表达式的特征信息为“软件的大小信息30M、软件的大小信息31M、软件的大小信息29M”,假设预设范围为5,并确定出在特征信息中数值之差的绝对值在5以内的各特征信息为“软件的大小信息30M、软件的大小信息31M、软件的大小信息29M”,再根据确定出各特征信息的数值确定数值范围为“29M~31M”,将“软件的大小信息29M~31M”作为捆绑特征,添加到共有捆绑特征库中。

当然,本申请也提供了一种建立特有捆绑特征库的方式:将各样本捆绑软件对应的特征信息中除添加到共有捆绑特征库以外的其他特征信息,作为捆绑特征,添加到特有捆绑特征库中。

延续上例,服务器将“软件的签名信息ANO、软件的标识信息BGHYI、软件的签名信息JIU、软件的标识信息ANK、软件的签名信息JIO、软件的标识信息AHK”作为捆绑特征,添加到特有捆绑特征库中。

在步骤S102中,服务器在获取到待识别软件的特征信息后,根据特征信息,在共有捆绑特征库中确定出与特征信息相匹配的捆绑特征,并且,根据特征信息,在特有捆绑特征库中确定出与特征信息相匹配的捆绑特征。

延续上例,服务器在共有捆绑特征库中,确定出与特征信息相匹配的捆绑特征为:用户使用软件的频率信息0次、软件的发布者的标识信息CBOU、软件的大小30M,在特有捆绑特征库中,确定出与特征信息相匹配的捆绑特征为:签名信息ANO、软件的标识信息BGHYI。

进一步的,在步骤S103中,服务器在共有捆绑特征库中,确定出相匹配的捆绑特征后,根据确定出的捆绑特征,确定出待识别软件的共有特征表征值,所述共有特征表征值表示待识别软件的特征信息与共有捆绑特征库中的捆绑特征的相似性大小,也就是说,共有特征表征值越大,则说明待识别软件的特征信息与共有捆绑特征库中的捆绑特征的相似性越大,共有特征表征值越小, 则说明待识别软件的特征信息与共有捆绑特征库中的捆绑特征的相似性越小,与此同时,服务器在特有捆绑特征库中,确定出相匹配的捆绑特征后,根据确定出的捆绑特征,确定出待识别软件的特有表征值,同样的,特有表征值也是表示待识别软件的特征信息与特有捆绑特征库中的捆绑特征的相似性大小。

由于无论在共有捆绑特征库还是在特有捆绑特征库中,与待识别软件的特征信息相匹配的捆绑特征越多,则说明待识别软件是捆绑软件的可能性就越大,因此,本申请可提供以下方式来确定共有特征表征值和特有特征表征值:

服务器在共有捆绑特征库中,确定出相匹配的捆绑特征后,根据确定出的捆绑特征的数量,确定出待识别软件的共有特征表征值,根据在特有捆绑特征库中确定出的捆绑特征的数量,确定出待识别软件对应的特有特征表征值。也就是说,在共有捆绑特征库中,与特征信息相匹配的捆绑特征的数量越多,则共有特征表征值越大,反之越小,在特有捆绑特征库中,与特征信息相匹配的捆绑特征的数量越多,则特有表征值越大,反之越小。

延续上例,假设在确定共有特征表征值以及特有特征表征值时,采用以下的方式来确定:在确定共有表征值时,设定一个满分,计算出确定出的捆绑特征的数量与获取到的待识别软件的特征信息的数量的比值,再将满分乘以该比值的结果作为共有特征表征值,确定特有表征值的方式与确定共有表征值的方式一样。

假设设定满分为100,服务器在共有捆绑特征库中,确定出与特征信息相匹配的捆绑特征的数量为3,而在特有捆绑特征库中,确定出与特征信息相匹配的捆绑特征的数量为2,因此,共有特征表征值为60,而特有特征表征值为40。

在步骤S104中,服务器是通过共有特征表征值与特有特征表征值共同识别待识别软件是否是捆绑软件的,具体可以是,根据预设的与共有捆绑特征库对应的权重、预设的与特有捆绑特征库对应的权重、所述共有特征表征值和特有特征表征值,确定出所述共有特征表征值和特有特征表征值的加权和值,判 断所述加权和值是否大于预设的阈值,若是,则将该软件识别为捆绑软件,若否,则将该软件识别为非捆绑软件。其中,所述加权和值的大小表示了待识别软件是捆绑软件的可能性大小,加权和值越大,则说明该待识别软件是捆绑软件的可能性越大,反之则越小,另外,共有捆绑特征库对应的权重、特有捆绑特征库对应的权重可以根据实际情况进行设定,由于共有捆绑特征库中的捆绑特征比特有捆绑特征库中的捆绑特征更能说明待识别的软件是否是捆绑软件,因此,在设置共有捆绑特征库对应的权重、特有捆绑特征库对应的权重的时候,可以使得共有捆绑特征库对应的权重大于特有捆绑特征库对应的权重。

继续沿用上例,假设共有捆绑特征库对应的权重为0.6,特有捆绑特征库对应的权重为0.4,采用共有特征表征值和特有特征表征值的加权和值来识别捆绑软件,因此,服务器根据共有捆绑特征库对应的权重为0.6、特有捆绑特征库对应的权重为0.4、共有特征表征值为60、特有表征值为40,确定出共有特征表征值和特有特征表征值的加权和值为52,假设预设的阈值为30,也就是说,52大于30,服务器判定该软件是捆绑软件。

最后,服务器对识别结果是捆绑软件的软件作为样本捆绑软件,同时对共有捆绑特征库与特有捆绑特征库中的捆绑特征进行更新。

服务器在将确定出的识别结果返回给终端,后续,终端根据识别结果对待识别软件进行相应的处理,也就是说,如果是捆绑软件就进行清理,如果不是捆绑软件,则终端可不对该软件进行清理,并把该软件添加到白名单中,后续,终端在识别软件是否是捆绑软件时,可不用识别白名单中的所有软件,这样可以提高软件清理的效率。

在实际应用中,有些捆绑软件为了抵御清理软件的识别,其特征信息往往存在一定程度的缺失或者变动,如,捆绑软件中不包含签名信息,这也导致识别捆绑软件的准确率较低。

对于上述识别捆绑软件的准确率较低的问题,由于本申请中是通过先对确定出的共有特征表征值与特有特征表征值的加权和值,再将加权和值与预设的 阈值进行比较的方式来识别待识别软件是否是捆绑软件,因此,待识别软件中的特征信息即使存在缺失,最后只是降低了加权和值,但是,也同样可大于预设的阈值,从而识别出待识别软件是捆绑软件。

以上为本申请实施例提供的识别捆绑软件的方法,基于同样的思路,本申请实施例还提供一种识别捆绑软件的装置,如图2所示。

图2为本申请实施例提供的识别捆绑软件的装置结构示意图,包括:

获取模块201,用于获取终端发送的待识别软件的特征信息;

特征确定模块202,用于根据所述特征信息,在预先建立的共有捆绑特征库与特有捆绑特征库中,分别确定出与所述特征信息相匹配的捆绑特征;

表征值确定模块203,用于根据在共有捆绑特征库中确定出的捆绑特征,确定出待识别软件的共有特征表征值,根据在特有捆绑特征库中确定出的捆绑特征,确定出待识别软件对应的特有特征表征值;

识别模块204,用于根据所述共有特征表征值与特有特征表征值,识别待识别软件是否是捆绑软件,并将识别结果返回给所述终端。

所述特征信息包括:用户使用所述待识别软件的频率信息、所述待识别软件的签名信息、所述待识别软件的标识信息、所述待识别软件的发布者的标识信息、所述待识别软件的大小信息、所述待识别软件的命令行信息、所述待识别软件的代码信息中的至少一种。

所述特征确定模块202具体用于,预先获取各样本捆绑软件,根据各样本捆绑软件,确定各样本捆绑软件对应的特征信息,在各样本捆绑软件对应的特征信息中,确定出相同的特征信息,作为捆绑特征,并添加到共有捆绑特征库中。

所述特征确定模块202具体用于,预先将各样本捆绑软件对应的特征信息中除添加到共有捆绑特征库以外的其他特征信息,作为捆绑特征,添加到特有捆绑特征库中。

所述识别模块204具体用于,根据预设的与共有捆绑特征库对应的权重、 预设的与特有捆绑特征库对应的权重、所述共有特征表征值和特有特征表征值,确定出所述共有特征表征值和特有特征表征值的加权和值,判断所述加权和值是否大于预设的阈值,若是,则将该软件识别为捆绑软件,若否,则将该软件识别为非捆绑软件。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程 序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1