应用推送方法、装置、计算机设备和存储介质与流程

文档序号:18620124发布日期:2019-09-06 22:24阅读:128来源:国知局
应用推送方法、装置、计算机设备和存储介质与流程

本发明涉及计算机设备领域,特别是涉及应用推送方法、装置、计算机设备和存储介质。



背景技术:

随着终端技术的快速发展,终端的功能也逐渐得到完善,基于终端开发的应用(applications,app)也越来越多,可以通过终端与互联网连接,并安装各种应用。

目前,通常根据应用的热度推送对应的应用,然而,热门的应用可能并非是用户需要安装的应用,因此目前的应用推送效率低,浪费网络推送资源。



技术实现要素:

基于此,有必要针对上述的问题,提供一种应用推送方法、装置、计算机设备和存储介质,可通过在检测到终端存在恶意应用时,获取与恶意应用对应的目标安全应用,推送恶意应用对应的应用推送信息,以提示采用目标安全应用对恶意应用进行替换。因此应用推送效率高,且可以提高终端的安全性。

一种应用推送方法,所述方法包括:对终端安装的应用进行恶意应用检测;当检测到所述终端中存在恶意应用时,确定所述恶意应用对应的目标安全应用;展示所述恶意应用对应的应用推送信息,所述应用推送信息用于提示采用所述目标安全应用对所述恶意应用进行替换。

一种应用推送方法,所述方法包括:获取对终端安装的应用进行恶意应用检测得到的恶意应用检测结果;当所述恶意应用检测结果为所述终端中存在恶意应用时,确定所述恶意应用对应的目标安全应用;向所述终端发送所述恶意应用对应的应用推送信息,所述应用推送信息用于提示采用所述目标安全应用对所述恶意应用进行替换。

一种应用推送装置,所述装置包括:恶意检测模块,用于对终端安装的应用进行恶意应用检测;第一目标安全应用确定模块,用于当检测到所述终端中存在恶意应用时,确定所述恶意应用对应的目标安全应用;推送信息展示模块,用于展示所述恶意应用对应的应用推送信息,所述应用推送信息用于提示采用所述目标安全应用对所述恶意应用进行替换。

一种应用推送装置,所述装置包括:恶意结果获取模块,用于获取对终端安装的应用进行恶意应用检测得到的恶意应用检测结果;第二目标安全应用确定模块,用于当所述恶意应用检测结果为所述终端中存在恶意应用时,确定所述恶意应用对应的目标安全应用;应用推送信息发送模块,用于向所述终端发送所述恶意应用对应的应用推送信息,所述应用推送信息用于提示采用所述目标安全应用对所述恶意应用进行替换。

一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述应用推送方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述应用推送方法的步骤。

上述应用推送方法、装置、计算机设备和存储介质,可通过在检测到终端存在恶意应用时,获取与恶意应用对应的目标安全应用,推送恶意应用对应的应用推送信息,以提示采用目标安全应用对恶意应用进行替换。因此应用推送效率高,且可以提高终端的安全性。

附图说明

图1a为一个实施例中提供的应用推送方法的应用环境图;

图1b为一个实施例中提供的应用推送方法的应用环境图;

图2为一个实施例中应用推送方法的流程图;

图3a为一个实施例中应用推送方法的流程图;

图3b为一个实施例中应用推送方法对应的展示界面图;

图3c为一个实施例中应用推送方法对应的展示界面图;

图4a为一个实施例中应用推送方法的流程图;

图4b为一个实施例中应用推送信息的展示界面图;

图5a为一个实施例中确定恶意应用对应的目标安全应用的流程图;

图5b为一个实施例中采用应用推荐算法得到目标安全应用的流程图;

图6为一个实施例中应用推送方法的流程图;

图7为一个实施例中提供的应用推送方法的时序图;

图8为一个实施例中应用推送装置的结构框图;

图9为一个实施例中应用推送装置的结构框图;

图10为一个实施例中目标安全应用确定模块的结构框图;

图11为一个实施例中应用推送装置的结构框图;

图12为一个实施例中计算机设备的内部结构框图;

图13为一个实施例中计算机设备的内部结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一应用特征称为第二应用特征,且类似地,可将第二应用特征称为第一应用特征。

图1a为一个实施例中提供的应用推送方法的应用环境图,如图1a所示,在该应用环境中,包括终端110以及服务器120。服务器120中存储有计算恶意应用对应的目标安全应用的应用推荐算法,终端110中安装有一个或多个应用,终端110以及服务器120中的一个或多个可以对对终端安装的应用进行恶意应用检测,当检测到终端110中存在恶意应用时,利用服务器120中的应用推荐算法获取得到恶意应用对应的目标安全应用,服务器120向终端110发送应用推送信息,应用推送信息用于提示采用目标安全应用对恶意应用进行替换。

可以理解,上述应用场景仅是一种示例,并不能构成对本发明实施例提供的应用推送方法的限制。例如,应用推荐算法也可以存储在终端110中,由终端110根据应用推荐算法计算得到目标安全应用。在一个实施例中,终端110可以通过安装在终端110中的终端客户端例如病毒查杀应用执行本发明实施例提供的应用推送方法,因此可以在进行病毒查杀的基础上实现应用的推送。对应的应用环境图如图1b所示,图1b中,服务端指服务器所在的一端,客户端指终端110中安装的病毒查杀应用,例如手机管家等应用。客户端可以向服务端发送恶意应用检测指令,客户端以及服务端可以利用病毒检测模块对对终端安装的应用进行病毒检测,如果客户端以及服务端中的任意一个或多个检测到终端存在恶意应用,则服务端触发应用推送服务模块根据服务端存储的应用推荐模型计算得到与恶意应用对应的目标安全应用,并发送应用推送信息到客户端中,客户端展示应用推送信息,如果接收到应用下载指令,则应用推送模块确定需要安装的目标安全应用,通过应用安装模块安装目标安全应用。其中应用推荐模型可以是预先配置的,服务端中还可以包括模型更新模块,用于更新应用推荐模型,例如调整应用推荐算法。在这种基于病毒查杀进行应用推荐的推荐场景下,一方面用户更愿意接受推送的应用并在终端上安装目标安全应用,应用推送效率高,另一方面也避免用户再次搜索此类应用时再次搜索到同样存在的恶意行为的应用,因此可以更好地保护用户的终端安全。

服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和cdn等基础云计算服务的云服务器。终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端110以及服务器120可以通过网络进行连接,本发明在此不做限制。

如图2所示,在一个实施例中,提出了一种应用推送方法,本实施例主要以该方法应用于上述图1中的终端110来举例说明。具体可以包括以下步骤:

步骤s202,对终端安装的应用进行恶意应用检测。

具体地,恶意应用是指在计算机设备中通过执行恶意任务,达到不良的目的的应用,恶意应用的评判标准可以根据需要确定。例如可以包括存在恶意扣费、隐私窃取、远程控制、恶意传播、资费消耗、系统破坏、诱骗欺诈以及流氓行为等行为中的一种或多种的应用。终端中安装的应用是指已安装完成的应用和/或正在处于安装状态的应用。例如,可以是当接收到安装应用的安装指令时,触发对正在安装的应用进行恶意应用检测的步骤。

在一个实施例中,在进行恶意应用检测时,通过获取应用中的应用数据进行检测。应用数据是应用中用于进行恶意检测的数据,应用数据可以是应用对应的全部数据也可以是部分数据,应用数据例如可以包括应用的代码数据以及应用的行为数据中的一个或多个。应用的代码数据是指安装包中所包含的代码。应用的行为数据是记录应用运行行为的数据,可以包括行为对应的时间、次数以及类型等。例如应用行为数据可以是应用每隔预设时间发送一次短信、应用在2017年8月1日进行了恶意扣费等。具体需要获取的应用数据的类型可以根据恶意检测的方式确定。例如,如果是需要对应用的代码进行检测,则可以获取应用的安装包。如果是要对软件的异常行为进行检测,则可以获取应用在运行过程中产生的行为数据。在对应用数据进行恶意检测时,可以在本地进行恶意应用检测,也可以将应用数据发送到服务器中,由服务器进行恶意应用检测。因此对应用数据进行恶意应用检测包括在本地进行恶意应用检测以及请求服务器进行恶意应用检测的一种或者两种。恶意应用的检测方法根据所需要检测的恶意行为进行设置,例如如果要确定应用是否会自动发送订阅一些不良信息的订阅短信,则可以检测该应用中是否存在自动发送短信的函数以及该函数对应的所要订阅的内容,如果是要检测是否存在隐私窃取的行为,则可以检测该恶意应用是否存在访问用户隐私数据的行为。

在一个实施例中,对终端安装的应用进行恶意应用检测包括以下步骤中的至少一种:获取在终端中安装当前应用的安装指令,根据安装指令触对当前应用进行恶意应用检测;获取对终端中已安装应用的恶意检测指令,根据恶意检测指令触发对已安装应用进行恶意应用检测。

具体地,当前应用是指当前需要进行安装的应用。用户在使用终端的过程中,通常会根据需要在终端中安装一些应用,例如游戏应用。如果检测到终端接收到安装应用的指令,则将该指令对应的需要安装的应用作为当前应用,根据安装指令触发对当前应用进行恶意应用检测,可以及时发现当前要安装的应用是否为恶意应用,减少终端安装当前应用后对终端的安全造成威胁,提高终端的安全性。可以在终端中设置当检测到安装指令时触发进行恶意应用检测的任务,以获取当前应用对应的应用数据,对该应用数据进行恶意检测。当然也可以对已安装的应用进行检测,已安装的应用可以是终端中已安装的全部或者部分应用。恶意检测指令可以是根据用户实时的操作触发的也可以是终端自动触发的。例如,手机中的病毒检测应用可以开启自动检测功能,每隔预设时长对终端进行恶意应用检测。当用户需要检测手机安装的应用是否存在病毒时,也可以点击病毒检测应用对应的病毒检测功能控件,终端根据对病毒检测功能控件的操作触发恶意应用检测指令,对终端已安装的应用进行恶意应用检测。

步骤s204,当检测到终端中存在恶意应用时,确定恶意应用对应的目标安全应用。

具体地,进行恶意应用检测的结果为终端中存在恶意应用或者不存在恶意应用。目标安全应用是安全的,不存在恶意行为的应用。确定应用是否安全的标准可以根据需要设置,可以根据应用的来源、应用的检测结果确定应用的安全性。例如如果该应用是来自于国家权威机构开发的应用,则可以确认为安全的应用。当然也可以对应用进行恶意检测,当检测结果为不是恶意应用时,确定为安全应用。可以将安全应用预先存储在应用数据库中,当检测到恶意应用时,在应用数据库中获取该恶意应用对应的安全应用作为目标安全应用。

在一个实施例中,目标安全应用是根据与恶意应用的相似度获取的,与目标安全应用相似的安全应用。可以根据应用相似度算法计算得到的与恶意应用相似的目标安全应用。是否相似的条件可以根据需要设置,例如可以是满足相似度大于预设相似度,以及相似度排名按照从大到小进行排序位于预设排名之前的条件中的一个或多个条件的应用为相似的应用。目标安全应用与恶意应用的相似关系可以是在检测到存在恶意应用再计算得到,也可以预先存储恶意应用与对应的安全应用的相似对应关系。当检测到恶意应用时,如果预先存储有相似对应关系,则可以根据相似对应关系获取到目标安全应用,如果没有预先存储相似对应关系,则可以根据相似度算法计算得到对应的相似应用。例如,可以在数据库中存储a1恶意应用对应的相似应用为a2安全应用,b1恶意应用对应的相似应用为b2安全应用。因此,如果在终端中检测到存在b1恶意应用,则将b2作为目标安全应用。

应用之间是否相似可以根据相似度算法计算得到的相似度确定。相似度用于衡量应用的相似程度,相似度高,则越相似。相似度可以用相似度分数、相似度排名、相似度等级中的一个或多个进行表示。根据相似度得到与恶意应用相似的安全应用,例如可以是相似度分数大于预设分数的应用为相似应用且相似度排名为预设排名之前的应用为相似应用,相似度等级高于预设等级的为相似应用。得到相似应用后,可以将相似度最高的应用作为目标安全应用,也可以获取多个相似的安全应用作为目标安全应用,如果有多个目标安全应用,则可以展示目标安全应用选择提示信息,根据用户的选择操作确定其中的一个或多个目标安全应用为最终确定的目标安全应用。

应用之间的相似度可以包括代码相似度以及标识相似度中的一个或多个。标识相似度是恶意应用的标识与安全应用的标识之间的相似度。应用的标识数据是用于标识应用的,例如可以包括应用的名称、应用的图标、应用的安装包的包名以及证明应用身份的数字证书中的一个或多个。代码相似度是指恶意应用的代码与安全应用的代码之间的相似度。当计算得到多个相似度时,可以结合多个相似度得到恶意应用与安全应用的总相似度。例如,可以计算多个相似度的平均值作为总相似度,也可以将相似度与对应的权重相乘,得到总相似度,相似度对应的权重可以根据需要设置。

步骤s206,展示恶意应用对应的应用推送信息,推送信息用于提示采用目标安全应用对恶意应用进行替换。

具体地,应用推送信息用于提示用户在终端上安装目标安全应用,以替换恶意应用。应用推送信息可以是利用声音、视频、文字以及图片中的一种或多种形式体现的。例如,终端可以发出“是否要对应用进行替换”的声音。也可以在终端的显示界面上显示如“该应用存在病毒,是否安装正版软件”的提示文字,提示用户对恶意应用进行替换。

在一个实施例中,展示的应用推送信息中可以包括目标安全应用的标识也可以是根据应用推送信息确定要安装目标安全应用时再获取目标安全应用标识并展示。例如,可以是在接收到安装目标安全应用的指令后,显示目标安全应用的下载页面,目标安全应用的下载页面上展示了目标安全应用对应的标识。当接收到下载指令后,向服务器发送目标安全应用下载请求,接收服务器返回的目标安全应用。

在一个实施例中,应用推送信息可以是在卸载安全应用之后展示的,也可以是在卸载安全应用之前展示的。例如,应用推送信息上可以包括“卸载并安装官方正版安全软件”的功能控件,当接收到对该功能控件的点击操作时,卸载恶意软件并安装目标安全应用。

在一个实施例中,应用推送信息还可以包括恶意应用的恶意等级信息,恶意等级用于表示该恶意应用的恶意程度,等级越高,则说明恶意的风险越高。

上述应用推送方法,通过对终端安装的应用进行恶意应用检测,当检测到终端中存在恶意应用时,确定恶意应用对应的目标安全应用,展示恶意应用对应的应用推送信息,应用推送信息用于提示采用目标安全应用对恶意应用进行替换。由于可通过在检测到终端存在恶意应用时,获取与恶意应用对应的目标安全应用,推送恶意应用对应的应用推送信息,以提示采用目标安全应用对恶意应用进行替换。因此应用推送效率高,且可以提高终端的安全性。

目前,恶意应用开发者可以通过仿冒热门的应用获取利益,例如通过非法手段窃取安全应用的代码,更换应用标识并添加一些恶意代码后得到恶意应用,在侵害他人的著作权的同时会给安装该恶意应用的用户造成损失。恶意应用开发者也可以通过设置与热门的应用相似的图标、软件名、包名中的一个或多个使得用户很难辨别出安装的应用是否为官方应用,这些恶意应用通常会通过恶意扣费,隐私窃取,短信拦截,电话监听,恶意广告,恶意下载中的一种或多种行为获取利益,因此安装此类仿冒的恶意应用会给用户带来利益损失和安全隐患。但是用户往往会由于大意安装了这些恶意应用。本发明实施例提供的应用推送方法在检测恶意应用的基础上,可以基于恶意应用和安全应用的相似性,正确找到恶意应用所仿冒的安全应用,以此保证推荐的应用是用户真正所需应用,而且是安全的应用,应用推送效率高且能够提高终端的安全性。

在一个实施例中,在利用目标安全应用对恶意应用进行替换时,可以是先安装目标安全应用再删除恶意应用,也可以是先删除恶意应用再安装目标安全应用。当然也可以是删除恶意应用以及安全目标安全应用同时进行。

在一个实施例中,如图3a所示,应用推送方法还可以包括步骤s302:接收对恶意应用进行卸载的卸载指令,根据卸载指令卸载恶意应用;步骤s206即展示恶意应用对应的应用推送信息包括:当恶意应用卸载完成时,展示恶意应用对应的应用推送信息。

具体地,卸载指令用于指示对恶意应用进行删除。卸载是指从终端中删除该应用的程序文件。卸载指令可以是根据用户的操作得到也可以是终端自动触发的。例如,可以在终端的展示界面上展示存在恶意应用的提示信息以及对应的“卸载”功能控件,如果接收到对“卸载”功能控件的选择操作,则触发卸载指令。终端中也可以预先设置当检测到存在恶意应用时自动触发卸载指令,当恶意应用卸载完毕,触发信息展示任务,在终端中展示恶意应用对应的应用推送信息。

如图3b所示,当检测到非官方的xx应用存在诱导扣费风险时,将非官方的xx应用作为恶意应用,并展示提示xx应用为恶意应用,存在风险的风险提示界面,风险提示界面上展示有“移入信任区”以及“卸载”两个功能控件,如果接收到对“移入信任区”的点击操作,则不对该应用进行卸载。如果接收到对“卸载”的点击操作时,可以展示提示“要卸载此应用吗”的提示信息,如果接收到确定指令,则可以对非官方的xx应用进行卸载,卸载完成后,展示恶意应用对应的应用推送信息,例如,所展示的应用推送信息可如图3c中位于左边的界面图所示,在展示界面上展示有“病毒已成功清楚,是否安装安全正版软件”提示信息以及“取消”、“安装安全正版软件”两个功能控件,如果接收到对“安装安全正版软件”的点击操作,则进入xx软件的官方正版软件的下载页面,如果接收到对“取消”的点击操作,不进入下载页面。

在一个实施例中,如图4a所示,应用推送方法还可以包括步骤s402:根据应用推送信息获取应用替换指令,根据应用替换指令卸载恶意应用并安装目标安全应用。

具体地,应用替换指令可以是通过语音操作、手势操作以及触摸操作中的一种或多种操作触发得到的,具体可以根据应用推送信息的指示确定。例如如果应用推送信息指示用户通过发出“确定替换”的语音信息触发应用替换指令,则应用替换指令是通过获取对应的语音信息得到的。如果应用推送信息展示界面上展示有对应用进行替换的功能控件,则终端可以根据对功能控件的点击操作触发应用替换指令。接收到替换指令后,终端卸载恶意应用以及安装目标安全应用是同时进行的,即在卸载恶意应用的同时,安装目标安全应用。这样,可以快速实现对恶意应用的卸载以及目标安全应用的安装,操作简单方便。

如图4b,为一个实施例中应用推送信息的展示界面图,该展示界面图上包括“移入信任区”、“卸载并安装”以及“仅卸载”三个功能控件,“卸载并安装”为应用替换指令对应的功能控件,如果接收到对“卸载并安装”的操作,则获取得到应用替换指令,根据应用替换指令卸载恶意应用并安装目标安全应用。

在一个实施例中,如图5a所示,确定恶意应用对应的目标安全应用的步骤具体可以包括以下步骤:

s502,获取候选安全应用集合,候选安全应用集合包括一个或多个候选安全应用。

具体地,候选安全应用中的候选安全应用数量可以是一个或多个,具体根据实际需要确定。可以将安全应用数据库中的全部应用作为候选安全应用。也可以根据恶意应用的类型、候选安全应用的属性特征中的一个或多个从安全应用数据库中筛选得到对应的候选安全应用,组成候选安全应用集合。例如,如果恶意应用的类型为游戏类型,则可以获取安全应用数据库中游戏类型的安全应用作为候选安全应用。或者,筛选发布时间为近两年的安全应用作为候选安全应用。

s504,获取候选安全应用对应的第一应用特征以及恶意应用对应的第二应用特征,应用特征包括代码特征以及标识特征中的至少一个。

具体地,代码特征是与代码有关的特征,可以是代码本身也可以是根据代码计算得到的特征。例如可以是根据代码进行哈希计算得到的哈希值。标识特征是用于标识应用的,例如可以包括应用的名称、包名、图标中的一个或多个。

s506,计算第一应用特征与对应的第二应用特征的特征相似度。

具体地,特征相似度是指特征之间的相似程度,相似度越大,则说明越相似。应用特征之间的相似度可以根据应用特征的类型选择相应的相似度算法进行计算。例如,第一应用特征以及第二应用特征为图标,为图片格式的数据,则可以利用感知哈希算法例如ahash(averagehash,平均哈希算法)算法计算得到恶意应用的图标与候选安全应用图标对应的哈希值的汉明距离,根据汉明距离衡量图标的相似度。如果第一应用特征以及第二特征为文字,则可以采用jaro-winklerdistance(编辑距离算法)、jaccard-index(杰卡德指数)等相似度算法进行计算。如果应用特征为代码对应的特征,则在计算代码的相似度时,可以采用哈希算法计算得到代码文件中的代码对应的哈希值,再利用局部敏感哈希算法例如simhash算法计算得到根据多个代码文件的哈希值计算得到的哈希计算结果,根据恶意应用对应的哈希计算结果以及候选安全应用的哈希计算结果的汉明距离得到代码相似度。由于恶意应用往往只是通过修改安全应用的部分代码来达到作恶目的,其他资源文件等一般都是原样不动的,因此选用局部哈希敏感算法来计算应用特征之间的相似度,能够保证相似的精度,还能保证较高的计算性能。

其中,两个等长字符串之间的汉明距离是指:两个字符串对应位置的不同字符的个数。也就是说,它是指将一个字符串变换成另外一个字符串所需要替换的字符个数,举个实际的例子,如果第一应用特征对应的第一字符串为1101,第二应用特征对应的第二字符串为1011,则第一字符串与第二字符串中的第2个字符以及第3个字符不一样,故汉明距离为2。可以预设汉明距离与相似度的对应关系,其中汉明距离与相似度是成负相关关系的,即汉明距离越大,相似度越小。例如可以设置汉明距离为0的相似度为1,汉明距离为1至3的相似度为0.9,汉明距离为4至8的相似度为0.75等。在一个实施例中,还可以按照汉明距离从小到大的顺序进行排名,将预设值与汉明距离排名的差作为相似度,其中预设值大于所选取的候选安全应用的个数。例如,可以按照汉明距离的排名选取位于预设名次之前的候选安全应用,将预设值减去候选安全应用对应的汉明距离排名,得到对应的相似度。例如相似度可以为11-汉明距离排名,如果有10个候选安全应用,则汉明距离排名第一的应用的相似度为11-1=10,汉明距离排名第二的应用的相似度为11-2=9。

s508,根据各个候选安全应用对应的特征相似度从候选安全应用集合中筛选得到恶意应用对应的目标安全应用。

具体地,目标安全应用是根据特征相似度筛选得到的。例如可以将特征相似度最大、大于预设相似度以及排名位于预设排名之前中的一个或多个候选安全应用作为目标安全应用,如果包括多个特征相似度,则结合多个特征相似度筛选得到目标安全应用。例如可以根据特征相似度以及对应的权重进行加权求和得到总相似度,根据总相似度得到目标安全应用。特征相似度对应的权重可以根据需要或者经验设定,例如,代码相似度的权重可以为0.3,标识相似度的权重可以为0.7。当然也可以结合其他因素确定目标安全应用,例如,结合候选安全应用的下载量、好评数量等计算得到候选安全应用对应的推荐分数,选择分数最高的候选安全应用作为目标安全应用。

在一个实施例中,可以根据候选安全应用对应的特征相似度以及用户交互特征从候选安全应用集合中筛选得到目标安全应用。用户交互特征是指候选安全应用对应的通过与用户对应的终端进行交互得到的特征,例如可以包括用户终端下载候选安全应用的下载量、用户对候选安全应用的评分、候选安全应用对应的活跃用户数中的一个或多个。根据各个特征相似度、各个用户交互特征以及对应的分数得到候选安全应用的推荐分数。在一个实施例中,推荐分数的公式可以表示如下:推荐分数=a*(11-汉明距离排名)+b*用户评分+c*下载量+d*活跃用户数。其中a、b、c以及d可以根据需要设置。例如,a可以取8,b取0.1,c取0.0001,d取0.001。用户交互特征能够体现出该候选安全应用在市场上的受欢迎程度,因此结合相似度以及用户交互特征能够提高应用推送成功率。

在一个实施例中,步骤s504包括:获取候选安全应用对应的第一应用特征以及恶意应用对应的第二应用特征包括:获取候选安全应用的多个第一代码哈希值作为第一应用特征,以及获取恶意应用的多个第二代码哈希值作为第二应用特征,代码哈希值根据应用对应的代码文件进行哈希计算得到。步骤s506即计算第一应用特征与对应的第二应用特征的特征相似度包括:利用局部敏感哈希算法对第一代码哈希值进行计算得到第一哈希计算结果,利用局部敏感哈希算法对第二代码哈希值进行计算,得到第二哈希计算结果;根据第一哈希计算结果以及第二哈希计算结果的差异得到第一应用特征与对应的第二应用特征的特征相似度。

具体地,代码文件是用于存储应用的代码的文件,一个应用中包括多个代码文件。例如,一个应用可以具有多个功能,可以将一个或多个应用的功能对应的代码存储在一个文件中,当然也可以在一个代码文件中存储多个应用功能对应的代码。代码哈希值可以是执行应用推送方法的计算机设备计算得到的,也可以是从安装包中获取的,例如应用安装包中后缀名为mf的文件中通常存储有各个代码文件的代码哈希值,因此可以将候选安全应用中mf文件的代码哈希值作为第一应用特征,将恶意应用中mf文件中的代码哈希值作为第二应用特征。局部敏感哈希算法(localitysensitivehash)是一种相似性哈希算法,假定两个字符串具有一定的相似性,那么在进行哈希计算之后,仍然能保持这种相似性,称之为局部敏感哈希。例如可以采用simhash(文档指纹去重算法)算法对第一代码哈希值计算得到第一哈希计算结果,采用simhash算法对第二代码哈希值计算得到第二哈希计算结果,得到第一哈希计算结果以及第二哈希计算结果后,第一哈希计算结果以及第二哈希结果的差异可以用汉明距离表示。

在一个实施例中,利用局部敏感哈希算法对第一代码哈希值进行计算的步骤包括以下步骤:将第一代码哈希值中的各个数值与对应的权重进行特殊加权计算,得到各个第一代码哈希值对应的第一数字串,将各个第一数字串相同位置的数字进行相加,得到总数字串,将总数字串的值与预设值进行比较,将总数字串中大于预设值的数字变更为第一预设数字,将总数字串中小于以及等于预设值的数字变更为第二预设数字。利用局部敏感哈希算法对第二代码哈希值进行计算的步骤包括以下步骤:将第二代码哈希值中的各个数值与对应的权重进行特殊加权计算,得到各个第二代码哈希值对应的第二数字串,将各个第二数字串相同位置的数字进行相加,得到总数字串,将总数字串的值与预设值进行比较,将总数字串中大于预设值的数字变更为第一预设数字,将总数字串中小于以及等于预设值的数字变更为第二预设数字。

其中,特殊加权计算是指如果第一代码哈希值中的数字为1,则与权重相乘,如果为0,则变为-1与权重相乘。代码哈希值对应的权重可以根据需要设置,例如根据代码文件在安装包的出现次数确定,其中权重与出现次数成负相关关系,即出现次数越多,权值越小。因为出现的越多,说明这个代码文件只是常用普通文件,代码的篡改对应用的影响较小。

以下以预设值为0,第一代码哈希值包括100101以及101011,100101对应的权重为4,101011对应的权重为5,对第一哈希计算结果的计算过程进行说明。首先将100101与4进行特殊加权计算,得到由4、-4、-4、4、-4以及4依次排列组成的第一数字串,将101011与5进行特殊加权计算,得到由5、-5、5、-5、5以及5依次排列组成的第一数字串。将这两个第一数字串相同位置的数字进行相加,得到由9、-9、1、-1、1、9组成的总数字串,如果总数字串的数字大于0则变更为1,小于0则变更为0。最后算出结果为:101011。可以理解,第二哈希计算结果与第一哈希计算结果的过程相同,在此不再赘述,假设得到的第二哈希计算结果为:111001,由于第二哈希计算结果与第一哈希计算结果的第2位以及第5位数字不同,可以得到汉明距离为2。

如图5b为本发明实施例提供的采用应用推荐算法得到目标安全应用的流程图,可以解析恶意应用中的mf文件提取得到代码文件对应的哈希值,根据恶意应用代码文件对应的哈希值计算得到simhash值,可以解析候选安全应用中的mf文件提取得到代码文件对应的哈希值,根据候选安全应用代码文件对应的哈希值计算得到simhash值。此外提取恶意应用中的包名、证书、软件以及图标等标识特征,通过标识特征计算恶意应用与各个候选安全应用的标识相似度。通过simhash值计算恶意应用与各个候选安全应用的代码相似度,根据代码相似度以及标识相似度得到总相似度,例如,总相似度可以是代码相似度乘以0.3,标识相似度乘以0.7得到的。得到相似度后,获取相似度排名为前10位的候选安全应用的用户交互特征,结合用户交互特征得到需要推送的目标安全应用。

在一个实施例中,判断与恶意应用相似的目标安全应用可以是由服务器以及终端中的一个或多个执行的。确定恶意应用对应的目标安全应用包括:获取终端确定的第一安全应用以及服务器确定的第二安全应用,第一安全应用根据恶意应用与第一安全应用的相似度得到,第二安全应用根据恶意应用与第二安全应用的相似度得到;从第一安全应用以及第二安全应用中筛选恶意应用对应的目标安全应用。

具体地,可以由终端根据应用的相似度计算方法计算得到恶意应用对应的相似的安全应用,作为第一安全应用。以及由服务器根据应用的相似度计算方法计算得到恶意应用对应的相似的安全应用,作为第二安全应用。第一安全应用以及第二安全应用可以为一个或多个。得到第一安全应用以及第二安全应用后,从第一安全应用以及第二安全应用中筛选得到目标安全应用。可以将第一安全应用以及第二安全应用中与恶意应用相似度最大的应用作为目标安全应用。也可以结合其他因素进行筛选,例如,结合安全应用的下载量、评价数量等得到目标安全应用。也可以将第一安全应用以及第二安全应用中相同的应用作为目标安全应用。

如图6所示,在一个实施例中,提出了一种应用推送方法,本实施例主要以该方法应用于上述图1中的服务器120来举例说明。具体可以包括以下步骤:

步骤s602,获取对终端安装的应用进行恶意应用检测得到的恶意应用检测结果。

具体地,恶意应用检测将包括存在恶意应用或者不存在恶意应用,恶意应用检测结果可以是终端中检测的,也可以是在服务器中检测的。如果是在终端中检测的,则终端可以将恶意应用检测结果发送到服务器中,恶意应用检测结果中包括恶意应用的标识。

步骤s604,当恶意应用检测结果为终端中存在恶意应用时,确定恶意应用对应的目标安全应用。

具体地,确定与恶意应用对应的目标安全应用的方法可以参照步骤s204中描述的方法,本发明在此不再赘述。如果存在恶意应用,则获取目标安全应用,如果不存在恶意应用,则不执行步骤s606。

步骤s606,向终端发送恶意应用对应的应用推送信息,应用推送信息用于提示采用目标安全应用对恶意应用进行替换。

具体地,应用推送信息用于提示用户利用目标安全应用替换恶意应用。以使得用户在终端上安装目标安全应用,将恶意应用进行删除。应用推送信息可以是利用声音、视频、文字以及图片中的一个或多个形式体现的。服务器可以是在检测到终端中的恶意应用卸载完成时,发送应用推送信息。也可以是当获取到目标安全应用时,向终端发送恶意应用对应的应用推送信息。

在一个实施例中,应用推送信息中可以包括目标安全应用的标识,终端可以根据应用推送信息发送应用下载请求,应用下载请求中携带目标安全应用的标识,服务器可以根据目标安全应用的标识将目标安全应用的安装包发送到终端中。

如图7为本发明实施例提供的应用推送方法的时序图,以下结合图7对本发明提供的应用推送方法进行说明。

s701,控制模块接收用户触发的应用检测指令。

其中,当用户需要对终端中的应用进行病毒检测时,可以点击终端中病毒查杀软件的病毒查杀控件,触发应用检测指令。

s702,终端中的控制模块向终端病毒检测模块发送恶意应用检测指令。

其中,终端病毒检测模块是终端中的病毒检测模块,用于检测终端中的应用是否存在病毒。

s703,终端中的控制模块向云端病毒检测模块发送恶意应用检测指令。

其中,云端病毒检测模块是服务器中的病毒检测模块,用于检测终端中的应用是否存在病毒。恶意应用检测指令中可以携带用于检测病毒的数据,例如应用的安装包以及应用的行为数据中的一种或多种等。可以理解,s702以及s703的执行顺序还可以是同时进行也可以是先执行s703。

s704,终端病毒检测模块进行恶意应用检测。

s705,云端病毒检测模块进行恶意应用检测。

可以理解,s704以及s705的执行顺序还可以是同时进行也可以是先执行s705。

s706,当检测到存在恶意应用时,终端病毒检测模块向终端应用推送模块发送恶意应用检测结果。

其中,终端应用推送模块是终端中的应用推送模块。

s707,当检测到存在恶意应用时,云端病毒检测模块向云端应用推送模块发送恶意应用检测结果。

其中,终端应用推送模块是服务器中的应用推送模块。

s708,当确定恶意应用检测结果为存在恶意应用时,终端应用推送模块利用应用推荐算法计算得到目标安全应用。应用推荐算法包括相似度算法。

s709,当确定恶意应用检测结果为存在恶意应用时,云端应用推送模块利用应用推荐算法计算得到目标安全应用。

s710,终端应用推送模块向控制模块返回应用推送信息。

其中,在返回应用推送信息时,还可以返回恶意检测结果。当然,恶意检测结果也可以是由终端病毒检测模块返回的

s711,云端应用推送模块向控制模块返回应用推送信息。

其中,在返回应用推送信息时,还可以返回恶意检测结果。当然,恶意检测结果也可以是由云端病毒检测模块返回的。终端的控制模块可以结合应用推送信息的第一安全应用以及第二安全应用确定目标安全应用。可以理解,上述实施例仅是一种实例,在一些实施例中,服务器端不可以不进行病毒检测,终端可以不存储应用推荐算法,由服务器端执行应用推荐算法,得到目标安全应用。

如图8所示,在一个实施例中,提供了一种应用推送装置,该应用推送装置可以集成于上述的终端110中,具体可以包括恶意检测模块802、第一目标安全应用确定模块804以及推送信息展示模块806。

恶意检测模块802,用于对终端安装的应用进行恶意应用检测;

第一目标安全应用确定模块804,用于当检测到终端中存在恶意应用时,确定恶意应用对应的目标安全应用;

推送信息展示模块806,用于展示恶意应用对应的应用推送信息,应用推送信息用于提示采用目标安全应用对恶意应用进行替换。

在一个实施例中,恶意检测模块802用于:

获取在终端中安装当前应用的安装指令,根据安装指令触发对当前应用进行恶意应用检测;和/或

获取对终端中已安装应用的恶意检测指令,根据恶意检测指令触发对已安装应用进行恶意应用检测。

在一个实施例中,如图9所示,应用推送装置还包括替换模块902,用于根据应用推送信息获取应用替换指令,根据应用替换指令卸载恶意应用并安装目标安全应用。

在一个实施例中,应用推送装置还包括:卸载模块,用于接收对恶意应用进行卸载的卸载指令,根据卸载指令卸载恶意应用;推送信息展示模块806用于:当恶意应用卸载完成时,展示恶意应用对应的应用推送信息。

在一个实施例中,如图10所示,第一目标安全应用确定模块804以及第二目标安全应用确定模块804中的一个或多个包括:

候选应用集合获取单元804a,用于获取候选安全应用集合,候选安全应用集合包括一个或多个候选安全应用;

特征获取单元804b,用于获取候选安全应用对应的第一应用特征以及恶意应用对应的第二应用特征,应用特征包括代码特征以及标识特征中的至少一个;

相似度计算单元804c,用于计算第一应用特征与对应的第二应用特征的特征相似度;

筛选单元804d,用于根据各个候选安全应用对应的特征相似度从候选安全应用集合中筛选得到恶意应用对应的目标安全应用。

在一个实施例中,特征获取单元804b用于:获取候选安全应用的多个第一代码哈希值作为第一应用特征,以及获取恶意应用的多个第二代码哈希值作为第二应用特征,代码哈希值根据应用对应的代码文件进行哈希计算得到;相似度计算单元804c用于:利用局部敏感哈希算法对第一代码哈希值进行计算得到第一哈希计算结果,利用局部敏感哈希算法对第二代码哈希值进行计算,得到第二哈希计算结果;根据第一哈希计算结果以及第二哈希计算结果的差异得到第一应用特征与对应的第二应用特征的特征相似度。

在一个实施例中,筛选单元用于:根据各个候选安全应用对应的特征相似度以及用户交互特征从候选安全应用集合中筛选得到恶意应用对应的目标安全应用。

在一个实施例中,第一目标安全应用确定模块804用于:获取终端确定的第一安全应用以及服务器确定的第二安全应用,第一安全应用根据恶意应用与第一安全应用的相似度得到,第二安全应用根据恶意应用与第二安全应用的相似度得到;从第一安全应用以及第二安全应用筛选恶意应用对应的目标安全应用。

如图11所示,在一个实施例中,提供了一种应用推送装置,该应用推送装置可以集成于上述的服务器120中,具体可以包括恶意结果获取模块1102、第二目标安全应用确定模块1104以及应用推送信息发送模块1106。

恶意结果获取模块1102,用于获取对终端安装的应用进行恶意应用检测得到的恶意应用检测结果。

第二目标安全应用确定模块1104,用于当恶意应用检测结果为终端中存在恶意应用时,确定恶意应用对应的目标安全应用。

可以理解,第二目标安全应用确定模块1104在确定目标安全应用时,所执行的步骤与第一目标安全应用确定模块可以是一致的。

应用推送信息发送模块1106,用于向终端发送恶意应用对应的应用推送信息,应用推送信息用于提示采用目标安全应用对恶意应用进行替换。

图12示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图12所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现应用推送方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行应用推送方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

图13示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图13所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现应用推送方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行应用推送方法。

本领域技术人员可以理解,图12以及13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的应用推送装置可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行。计算机设备的存储器中可存储组成该应用推送装置的各个程序模块,比如,图8所示的恶意检测模块802、第一目标安全应用确定模块804以及推送信息展示模块806。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的应用推送方法中的步骤。

例如,图12所示的计算机设备可以通过如图8所示的应用推送装置中的恶意检测模块802对终端安装的应用进行恶意应用检测;通过第一目标安全应用确定模块804当检测到终端中存在恶意应用时,确定恶意应用对应的目标安全应用;通过推送信息展示模块806展示恶意应用对应的应用推送信息,应用推送信息用于提示采用目标安全应用对恶意应用进行替换。

在一个实施例中,本申请提供的应用推送装置可以实现为一种计算机程序的形式,计算机程序可在如图13所示的计算机设备上运行。计算机设备的存储器中可存储组成该应用推送装置的各个程序模块,比如,图11所示的恶意结果获取模块1102、第二目标安全应用确定模块1104以及应用推送信息发送模块1106。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的应用推送方法中的步骤。

例如,图13所示的计算机设备可以通过如图11所示的应用推送装置中的恶意结果获取模块1102获取对终端安装的应用进行恶意应用检测得到的恶意应用检测结果。当恶意应用检测结果为终端中存在恶意应用时,通过第二目标安全应用确定模块1104确定恶意应用对应的目标安全应用。通过应用推送信息发送模块1106向终端发送恶意应用对应的应用推送信息,应用推送信息用于提示采用目标安全应用对恶意应用进行替换。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述应用推送方法的步骤。此处应用推送方法的步骤可以是上述各个实施例的应用推送方法中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述应用推送方法的步骤。此处应用推送方法的步骤可以是上述各个实施例的应用推送方法中的步骤。

应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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