可疑病毒应用上传的方法和装置的制造方法
[0029]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0030]图1示出了可以应用本申请实施例的示例性系统架构100。
[0031]如图1所示,系统架构100可以包括终端设备101、102、网络103和服务器104。网络103用以在终端设备101、102和服务器104之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0032]终端设备101、102可以通过网络103与服务器104交互,以接收或发送消息等。终端设备101、102上可以安装有各种通讯客户端应用,例如杀毒类应用、搜索类应用、社交平台应用、邮箱客户端、即时通信工具等。
[0033]终端设备101、102可以是支持杀毒类应用、搜索类应用等安装于其上的各种电子设备,包括但不限于智能手机、智能手表、平板电脑、个人数字助理、电子书阅读器、MP3播放器(Moving Picture Experts Group Aud1 Layer III,动态影像专家压缩标准音频层面3)、MP4 (Moving Picture Experts Group Aud1 Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
[0034]服务器104可以是提供各种服务的服务器。例如对终端设备101、102的杀毒类应用、搜索类应用等提供支持的后台服务器等。服务器可以对接收到的数据进行存储、生成等处理,并将处理结果反馈给终端设备。
[0035]需要说明的是,本申请实施例所提供的可疑病毒应用上传的方法可以由终端设备101、102执行,本申请实施例所提供的病毒特征码获取的方法可以由服务器104执行,可疑病毒应用上传的装置可以设置在终端设备101、102中,病毒特征码获取的装置可以设置在服务器104中。
[0036]应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0037]请参考图2,其示出了可疑病毒应用上传的方法的一个实施例的流程200。为了便于理解,本实施例中,结合该可疑病毒应用上传的方法具体应用于具有运行终端应用能力的终端设备(例如图1所示的终端设备101、102)中。该流程200包括以下步骤:
[0038]步骤201,获取至少一段可疑病毒特征码。
[0039]在本实施例中,终端设备可以从本地或远程地获取至少一段可疑病毒特征码。具体而言,当至少一段可疑病毒特征码储存在杀毒类应用运行于其上的终端设备时,其可以直接从本地获取至少一段可疑病毒特征码;而当至少一段可疑病毒特征码储存在对杀毒类应用进行支持的后台服务器时,其可以通过有线连接方式或者无线连接方式从后台服务器获取至少一段可疑病毒特征码。上述无线连接方式包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB (ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
[0040]可疑病毒特征码可以包括从病毒应用样本中获取的体现病毒特征的代码。这里,病毒特征例如可以包括破坏终端功能或数据(如删除终端内存数据)、获取终端数据(如读取终端的通讯录数据)或者恶意传播(如主动向终端的通讯录中的联系人发送恶意信息)等。对于一个病毒应用,可能同时包含多个病毒特征,例如一个病毒应用可以同时具有病毒特征“读取终端的通讯录数据”和“主动向终端的通讯录中的联系人发送恶意信息”。本领域技术人员可以理解,包含体现病毒特征的代码的应用不一定都是病毒应用,例如,一款包括好友推荐功能的应用,在从网络中获取待向用户推荐的用户信息后,可以读取终端的通讯录数据,以将待向用户推荐的用户信息与终端的通讯录数据相比较,从待向用户推荐的用户信息中筛除已存在于终端通讯录中的用户信息。因此,体现某一病毒特征的代码可以作为一段可疑病毒特征码,例如读取终端的通讯录数据的代码。在一些实现中,可疑病毒特征码可以是由源代码转换成的二进制代码。
[0041]可疑病毒特征码可以通过多种途径获得,例如,通过对已知的病毒应用进行反编译,获取病毒应用的源代码,然后截取体现该病毒应用的某个病毒特征的代码;或者,已知病毒应用的某个病毒特征,从其他应用中获取实现与该病毒特征对应的功能的代码,等等。
[0042]可以理解,在一些实现中,可疑病毒特征码的数量较少,可以是单独的一段可疑病毒特征码,或者多段可疑特征码的集合。在另一些实现中,可疑病毒特征码的数量较多,可以以特征数据库的方式储存这些可疑病毒特征码数据。例如,当应用于杀毒类应用时,这些可疑病毒特征码可以存储在病毒特征库中。
[0043]步骤202,将终端应用的代码与可疑病毒特征码进行匹配,如果终端应用包含与至少一段可疑病毒特征码中任一段可疑病毒特征码的相似度高于相似度阈值的代码,将终端应用确定为可疑病毒应用;
[0044]在本实施例中,终端设备可以获取安装于其上的终端应用的代码,然后将终端应用的代码与可疑病毒特征码进行匹配,如果在终端应用的代码中,匹配到与任一段可疑病毒特征码的相似度高于相似度阈值的一段代码,则可以认为终端应用的代码与可疑病毒特征码相匹配,并将该终端应用确定为可疑病毒应用。
[0045]终端设备可以获取终端应用的可执行代码(由目标代码连接组成的可由机器执行的代码,一般由机器代码或接近于机器语言的代码组成,例如二进制代码),并将可执行代码与可疑病毒特征码进行匹配。执行代码与可疑病毒特征码之间的匹配可以通过多种方式实现,例如可疑病毒特征码整段匹配,将终端应用的可执行代码按段落与一段可疑病毒特征码进行匹配,或者按可疑病毒特征码的关键字进行匹配,在终端应用的可执行代码中查找可疑病毒特征码的关键字,当查找到该关键字时,获取可执行代码中该关键字上下文的代码(如上文或下文个数分别等于可以病毒特征码字符个数的范围内的代码)。
[0046]终端设备可以计算终端应用的可执行代码与可疑病毒特征码的相似度,该相似度可以通过字符串的匹配程度来衡量。终端设备也可以采用余弦相似度(cosinesimilarity)算法、Jaccard系数之类的公知的文本相似度计算方法来进行相似度计算。以Jaccard系数方法为例,终端设备可以采用如下的公式计算可执行代码中的一段代码A与可疑病毒特征码B之间的相似度:该段代码A与可疑病毒特征码B之间的相似度=该段代码A与可疑病毒特征码B在具有相同字符的位数/该段代码A与可疑病毒特征码B总共具有的字符的位数。
[0047]当该方法用于杀毒类应用时,步骤202可以是杀毒应用客户端对终端进行病毒扫描的过程。
[0048]步骤203,检测用户对可疑病毒应用的预定操作。
[0049]在本实施例中,在将终端应用确定为可疑病毒应用之后,终端设备接着可以将确定的可疑病毒应用信息呈现给用户,并对用户和终端设备的交互性操作进行检测,继而根据检测到的操作进行后继处理。在这里,用户对可疑病毒应用的预定操作可以是单一的交互性操作,例如显示可疑病毒应用信息的操作;也可以是几种交互性操作的组合,例如显示可疑病毒应用信息,之后对可以病毒应用进行删除等的组合操作。
[0050]作为示例,当本实施例的方法用于杀毒类应用时,如果通过步骤202对终端进行病毒扫描,匹配到可疑病毒应用之后,可以将可疑病毒应用的信息呈献给用户,并提供交互操作的选项,例如“卸载应用”和“忽略信息”的选择框。假设用户单击“卸载应用”的选择框的操作为预定操作,则预定操作也可以被描述为卸载可疑应用的操作。在一些实现中,预定操作还可以是允许将可疑病毒应用上传的操作,例如对“上传应用”选择框的选择操作等。
[0051]步骤204,响应于预定操作,将可疑病毒应用上传。
[0052]在本实施例中,终端设备在检测到用户对可疑病毒应用的预定操作(例如卸载可疑应用的操作)后,可以响应于该操作,将可疑病毒应用上传至本地或服务器。这里,服务器可以是本地服务器或远程服务器(例如为杀毒类应用提供支持的后台服务器)。例如,在一些实现中,终端设备
文档序号 :
【 9471857 】
技术研发人员:周志勇,周远
技术所有人:百度在线网络技术(北京)有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
技术研发人员:周志勇,周远
技术所有人:百度在线网络技术(北京)有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除