著录项信息
专利名称 | 一种软件在线检测方法、装置和服务器 |
申请号 | CN201310648832.X | 申请日期 | 2013-12-04 |
法律状态 | 授权 | 申报国家 | 暂无 |
公开/公告日 | 2015-06-10 | 公开/公告号 | CN104700029A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/56 | IPC分类号 | G;0;6;F;2;1;/;5;6查看分类表>
|
申请人 | 中国移动通信集团广东有限公司 | 申请人地址 | 广东省广州市珠江新城珠江西路11号广东全球通大厦13楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国移动通信集团广东有限公司 | 当前权利人 | 中国移动通信集团广东有限公司 |
发明人 | 黄斐一 |
代理机构 | 北京银龙知识产权代理有限公司 | 代理人 | 许静;黄灿 |
摘要
本发明提供一种智能手机应用软件恶意性在线检测方法、装置和服务器,所述方法包括:对上线前的软件进行恶意行为扫描;若软件通过扫描,获得软件的用于表示软件身份的第一识别标识;当软件出现恶意行为时,所述服务器根据所述第一识别标识识别存在恶意行为的软件。在所述服务器上存储所述软件和所述软件对应的所述第一识别标识,该标识即服务器中所存储软件的唯一的识别标识;本发明提供的软件在线检测方法、装置和服务器,在软件安装后以在线更新时,检测用户智能手机上安装的软件具有恶意性。与此同时,获取客户端中安装的软件的识别标识,并比对服务器中存储软件的第一识别标识,及时找出出服务器中存在潜在恶意行为的软件。
1.一种软件在线检测方法,用于服务器,其特征在于,所述方法包括如下步骤:
对上线前的软件进行恶意行为扫描;
若软件通过扫描,获得软件的用于表示软件身份的第一识别标识,包括:为上线的软件分配服务器标识、开发商标识和软件标识;对软件进行MD5加密,得到MD5值;对所述服务器标识、所述开发商标识、所述软件标识和所述MD5值进行哈希运算,得到软件的所述第一识别标识;
在所述服务器上存储所述软件和所述软件对应的所述第一识别标识;
当软件出现恶意行为时,所述服务器根据所述第一识别标识识别存在恶意行为的软件;
获取客户端的软件信息和对应的第二识别标识;
当发现用户下载的软件的第二识别标识和正规的在线网站或者移动商城上的软件的第一识别标识不一致时,在线网站或者移动商城将情况向用户说明,使用户自行处理所安装的软件;
当发现用户下载的软件的第二识别标识和正规的在线网站或者移动商城上的软件的第一识别标识一致,那么对软件进行更深层次的恶意行为扫描,找出本在线网站或者移动商城中通过在线更新方式传播恶意行为的软件,并在第一时间将软件下线。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取客户端所安装软件的软件行为,判定软件行为是否存在恶意行为,得到一判定结果;
当所述判定结果指示客户端所安装的软件存在恶意行为时,将所述第二识别标识与预先存储的所述第一识别标识进行比对,找出与所述第二识别标识相同的所述第一识别标识对应的软件;
将所有标识对应的软件进行恶意行为检测,找出具备在线更新恶意代码功能的软件;
从所述服务器下线所述具备在线更新恶意代码功能的软件,并向所述客户端发送检测结果。
3.根据权利要求1或者2所述的方法,其特征在于,所述方法还包括:
对所述客户端中所安装的软件进行监控;
将客户端所安装软件的软件信息发送至服务器,交由服务器判定客户端所安装软件是否存在恶意行为;
将客户端所安装软件的软件信息和对应的第二识别标识发送至服务器;
接收所述服务器发送的检测结果。
4.根据权利要求3所述的方法,其特征在于,所述将所述客户端中所安装软件的第二识别标识和对应的软件信息发送到服务器包括:
计算所述客户端所安装软件的第二识别标识;
获取所述客户端的软件信息;
将所安装软件的第二识别标识和对应的软件信息发送到服务器。
5.一种软件在线检测装置,用于服务器,其特征在于,所述装置包括:
扫描模块,用于对上线前的软件进行恶意行为扫描;
第一处理模块,用于若软件通过扫描,获得软件的用于表示软件身份的第一识别标识;
存储模块,用于在所述服务器上存储所述软件和所述软件对应的所述第一识别标识;
识别模块,用于当软件出现恶意行为时,所述服务器根据所述第一识别标识识别存在恶意行为的软件;
所述装置还用于:获取客户端的软件信息和对应的第二识别标识;
当发现用户下载的软件的第二识别标识和正规的在线网站或者移动商城上的软件的第一识别标识不一致时,在线网站或者移动商城将情况向用户说明,使用户自行处理所安装的软件;
当发现用户下载的软件的第二识别标识和正规的在线网站或者移动商城上的软件的第一识别标识一致,那么对软件进行更深层次的恶意行为扫描,找出本在线网站或者移动商城中通过在线更新方式传播恶意行为的软件,并在第一时间将软件下线;
所述第一处理模块具体用于:
为上线的软件分配服务器标识、开发商标识和软件标识;
对软件进行MD5加密,得到MD5值;
对所述服务器标识、所述开发商标识、所述软件标识和所述MD5值进行哈希运算,得到软件的所述第一识别标识。
6.根据权利要求5所述的软件在线检测装置,其特征在于,所述软件在线检测装置还包括:
第一获取模块,用于获取所述客户端的软件下载指令,向所述客户端传输所述下载指令中指定的软件;
接收模块,用于接收客户端所安装软件的软件信息和对应的第二识别标识;
第二获取模块,用于获取客户端所安装软件的软件行为,判定软件行为是否存在恶意行为,得到一判定结果;
比对模块,用于当所述判定结果指示客户端所安装的软件存在恶意行为时,将所述第二识别标识与预先存储的所述第一识别标识进行比对,找出与所述第二识别标识相同的所述第一识别标识对应的软件;
第一检测模块,用于将所有标识对应的软件进行恶意行为检测,找出具备在线更新恶意代码功能的软件;
第二处理模块,用于从所述服务器下线所述具备在线更新恶意代码功能的软件,并向所述客户端发送检测结果。
7.根据权利要求5或者6所述的软件在线检测装置,其特征在于,所述软件在线检测装置还包括:
第二检测模块,用于对所述客户端中所安装的软件进行监控;
第一发送模块,用于将客户端所安装软件的软件行为发送至服务器,交由服务器判定客户端所安装软件是否存在恶意行为;
第二发送模块,用于将客户端所安装软件的软件信息和对应的第二识别标识发送至服务器;
第二接收模块,用于接收所述服务器发送的检测结果。
8.根据权利要求7所述的软件在线检测装置,其特征在于,所述第二发送模块具体包括:
计算所述客户端所安装软件的第二识别标识;
获取所述客户端中所安装软件的软件信息;
将所安装软件的第二识别标识和对应的软件信息发送到服务器。
9.一种服务器,包括:权利要求5至权利要求8中任一项所述的软件在线检测装置。
一种软件在线检测方法、装置和服务器\n技术领域\n[0001] 本发明涉及信息安全领域,具体涉及一种软件在线检测方法、装置和服务器。\n背景技术\n[0002] 在互联网领域,应用服务器是终端应用发布和传播的主要媒介。为防止恶意应用的传播和扩散,比较有效的方式在于对终端应用采取上线前的恶意性检测,它主要包括基于特征值匹配技术和基于行为的启发式检测技术两种,而启发式扫描技术包括静态启发式扫描和动态启发式扫描。\n[0003] 现有技术的不足之处在于,很多恶意程序和病毒并没有包含在终端应用的安装文件中,而是在应用安装后,以在线更新的方式下载来的。因此,软件上线前的恶意性检测并不能检查出这种场景的安全威胁;而且,即使找出了有问题的软件,但由于有时同一款软件会有不同的厂商进行研发并改进,这种软件都会叫一个名称,但是会有多个版本,所以当这种软件的某个版本出现恶意行为时,是不易分辨的;再者,软件上线前的恶意性检测需要2至3个小时的时间,而每天在应用服务器上需要上线的软件是成千上万的,所以,为了使软件及时上线,应用服务器并不能及时对所有软件进行上线前的恶意性检测;实际上,对于恶意代码或病毒而言,它们隐藏在终端应用中并在终端上运行,都带有恶意行为。恶意代码或病毒具有的恶意行为包括:不经用户允许上传用户通讯录、短信等隐私,泄露用户的隐私;\n或在用户不知情的情况下订购某项业务,无故增加用户的手机使用费用;因此恶意代码或病毒的出现为用户对终端的使用带来诸多不便。虽然上线前的安全检测尽管极其必要,但是现有的方式很显然不能完全杜绝用户收到恶意代码或病毒危害的可能性。\n发明内容\n[0004] 为克服上述缺陷,本发明提供一种软件在线检测方法、装置和服务器。\n[0005] 第一方面,本发明实施例提供一种软件在线检测方法,用于服务器,所述方法包括如下步骤:\n[0006] 对上线前的软件进行恶意行为扫描;\n[0007] 若软件通过扫描,获得软件的用于表示软件身份的第一识别标识;\n[0008] 在所述服务器上存储所述软件和所述软件对应的所述第一识别标识;\n[0009] 当软件出现恶意行为时,所述服务器根据所述第一识别标识识别存在恶意行为的软件。\n[0010] 优选地,所述若软件通过扫描,则获得软件的用于表示软件身份第一识别标识具体包括:\n[0011] 为上线的软件分配服务器标识、开发商标识和软件标识;\n[0012] 对软件进行MD5加密,得到MD5值;\n[0013] 对所述服务器标识、所述开发商标识、所述软件标识和所述MD5值进行哈希运算,得到软件的所述第一识别标识。\n[0014] 优选地,所述方法还包括:\n[0015] 获取所述客户端的软件信息和对应的第二识别标识;\n[0016] 获取客户端所安装软件的软件行为,判定软件行为是否存在恶意行为,得到一判定结果;\n[0017] 当所述判定结果指示客户端所安装的软件存在恶意行为时,将所述第二识别标识与预先存储的所述第一识别标识进行比对,找出与所述第二识别标识相同的所述第一识别标识对应的软件;\n[0018] 将所有标识对应的软件进行恶意行为检测,找出具备在线更新恶意代码功能的软件;\n[0019] 从所述服务器下线所述具备在线更新恶意代码功能的软件,并向所述客户端发送检测结果。\n[0020] 优选地,所述方法还包括:\n[0021] 对所述客户端中所安装的软件进行监控;\n[0022] 将客户端所安装软件的软件信息发送至服务器,交由服务器判定客户端所安装软件是否存在恶意行为;\n[0023] 将客户端所安装软件的软件信息和对应的第二识别标识发送至服务器;\n[0024] 接收所述服务器发送的检测结果。\n[0025] 优选地,所述将所述客户端中所安装软件的第二识别标识和对应的软件信息发送到服务器包括:\n[0026] 计算所述客户端所安装软件的第二识别标识;\n[0027] 获取所述客户端的软件信息;\n[0028] 将所安装软件的第二识别标识和对应的软件信息发送到服务器。\n[0029] 第二方面,本发明实施例提供一种软件在线检测装置,用于服务器,所述装置包括:\n[0030] 扫描模块,用于对上线前的软件进行恶意行为扫描;\n[0031] 第一处理模块,用于若软件通过扫描,获得软件的用于表示软件身份的第一识别标识;\n[0032] 存储模块,用于在所述服务器上存储所述软件和所述软件对应的所述第一识别标识;\n[0033] 识别模块,用于当软件出现恶意行为时,所述服务器根据所述第一识别标识识别存在恶意行为的软件。\n[0034] 优选地,所述第一处理模块具体用于:\n[0035] 为上线的软件分配服务器标识、开发商标识和软件标识;\n[0036] 对软件进行MD5加密,得到MD5值;\n[0037] 对所述服务器标识、所述开发商标识、所述软件标识和所述MD5值进行哈希运算,得到软件的所述第一识别标识。\n[0038] 优选地,所述装置还包括:\n[0039] 第一获取模块,用于获取所述客户端的软件下载指令,向所述客户端传输所述下载指令中指定的软件;\n[0040] 接收模块,用于接收客户端所安装软件的软件信息和对应的第二识别标识;\n[0041] 第二获取模块,用于获取客户端所安装软件的软件行为,判定软件行为是否存在恶意行为,得到一判定结果;\n[0042] 比对模块,用于当所述判定结果指示客户端所安装的软件存在恶意行为时,将所述第二识别标识与预先存储的所述第一识别标识进行比对,找出与所述第二识别标识相同的所述第一识别标识对应的软件;\n[0043] 第一检测模块,用于将所有标识对应的软件进行恶意行为检测,找出具备在线更新恶意代码功能的软件;\n[0044] 第二处理模块,用于从所述服务器下线所述具备在线更新恶意代码功能的软件,并向所述客户端发送检测结果。\n[0045] 优选地,所述装置还包括:\n[0046] 第二检测模块,用于对所述客户端中所安装的软件进行监控;\n[0047] 第一发送模块,用于将客户端所安装软件的软件行为发送至服务器,交由服务器判定客户端所安装软件是否存在恶意行为;\n[0048] 第二发送模块,用于将客户端所安装软件的软件信息和对应的第二识别标识发送至服务器;\n[0049] 第二接收模块,用于接收所述服务器发送的检测结果。\n[0050] 优选地,所述第二发送模块具体包括:\n[0051] 计算所述客户端所安装软件的第二识别标识;\n[0052] 获取所述客户端中所安装软件的软件信息;\n[0053] 将所安装软件的第二识别标识和对应的软件信息发送到服务器。\n[0054] 第三方面本发明实施例提供一种服务器,包括:所述的软件在线检测装置。\n[0055] 本发明实施例提供的软件在线检测方法、装置和服务器,通过为所存储的软件设置唯一的识别标识,可以在软件出问题时,可以及时的找出有问题的软件,很好的解决了同一软件不同版本不好分辩的问题;在软件出现恶意行为时,获取客户端中安装的软件的识别标识,然后比对客户端中安装的软件和服务器中存储软件的第一识别标识,可以对在安装后以在线更新的方式产生恶意行为的软件进行检测,并能够及时检测出服务器中存在恶意行为的软件,为服务器不能及时对所有软件进行上线前的恶意性检测在第一时间进行补救;再者,服务器在第一时间将存在恶意行为的软件下线,同时通知客户端说明软件存在恶意行为,使客户端可以卸载该软件,以将存在恶意行为的软件给客户端带来的损失减到最小,方便用户对客户端的使用,避免了客户端因存在恶意行为的软件而在使用中存在不必要的麻烦的缺陷。\n附图说明\n[0056] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。\n[0057] 图1表示软件在线检测方法的实施例流程图。\n[0058] 图2表示软件在线检测方法又一实施例的流程图。\n[0059] 图3表示软件在线检测装置实施例的示意图。\n[0060] 图4表示软件在线检测装置又一实施例的示意图。\n具体实施方式\n[0061] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。\n[0062] 软件在线检测方法的流程图如图1所示,所述方法用于服务器,所述方法包括如下步骤:\n[0063] 步骤100.对上线前的软件进行恶意行为扫描;\n[0064] 步骤101.若软件通过扫描,获得软件的用于表示软件身份的第一识别标识;\n[0065] 步骤102.在所述服务器上存储所述软件和所述软件对应的所述第一识别标识;\n[0066] 步骤103.当软件出现恶意行为时,所述服务器根据所述第一识别标识识别存在恶意行为的软件。\n[0067] 通过以上的操作,可为服务器中所存储的软件设置唯一的识别标识,可以在软件出问题时,及时的找出有问题的软件,很好的解决了同一软件不同版本不好分辩的问题。\n[0068] 本实施例所述的软件在线检测方法可以用于各种场合,如向台式机用户提供软件下载服务的在线网站,以及向移动终端用户提供软件下载服务的移动商城;用户操作移动终端联网对软件下载、更新和使用软件,简要说明如下:\n[0069] 在线网站或者移动商城先对待上线的软件进行恶意行为扫描,恶意行为扫描主要包括:基于特征值匹配的应用恶意性检测和基于行为的启发式扫描。当待上线的软件通过恶意行为扫描后,获取对应的第一识别标识,第一识别标识作为软件的身份证,可以在网络上唯一标识软件。对于相同名称多个版本的软件来说,新版本软件上线时,并不会下线旧版本的软件,软件的不同版本之间拥有不同的第一识别标识。例如:当软件“手机营业厅V1.1”在中国移动的MM商店上线前,MM商城先对软件“手机营业厅V1.1”进行恶意性扫描,在软件通过扫描后,分配对应的第一识别标识并将软件上线,同时软件“手机营业厅V1.0”并不下线,亦可供用户下载使用。其中,手机营业厅是软件名称、Vx.x是软件版本。\n[0070] 进一步地,基于特征值匹配的应用恶意性检测技术是目前普遍采用的恶意代码检测技术。主要通过将应用与恶意代码数据库进行匹配的方式判定该应用是否包含恶意代码或者感染病毒。它主要包含两类方案。第一,通过扫描引擎将应用的安装文件(EXE或者APK)进行解压,逐一对单个文件计算特征值,并与恶意代码特征库中的特征值逐一比对,从而判断应用中是否包含恶意性代码;第二,扫描引擎将安装文件反编译成虚拟机识别的dalvik字节码,以每个语句单元的“操作码”为主特征码、以细节信息为辅助特征码,与恶意代码特征库进行匹配,若发现匹配项则可判断该目标包含恶意代码或感染了病毒。\n[0071] 基于行为的启发式扫描它是基于特征值匹配技术上的升级,由于恶意代码要达到感染和破坏的目的,所以具备一定的行为特征。因此可以通过动态的分析和监测应用的代码和行为来判断其是否具有恶意性,而不依赖恶意代码特征库。这种技术从工作原理上可分为静态启发和动态启发两类方案:\n[0072] 静态启发式是一种基于智能分析应用代码的方案。它通过简单的逆向工程手段,在不运行病毒程序的情况下抽取程序的特征,如二进制序列、操作码序列、函数调用序列等,并结合已知的恶意行为模式,从而确定应用恶意性的一种方案。静态启发式技术被广泛用于初步分析具有安全威胁的可疑应用程序。例如,格式化终端的操作几乎从来不出现在正常的应用程序中,而恶意代码程序中则出现的机率极高,于是,这类操作指令序列则可通过静态启发的方式认定为具有安全威胁的可疑应用。驻留内存的功能不仅恶意代码要使用,很多应用程序也要使用,所以不能判定这列操作指令序列为可疑。\n[0073] 在很多场景下,多态和变形的恶意行为和病毒只有在应用安装并开始运行之后才能够显露原型。因此,静态的代码分析就无法达到识别恶意代码和病毒的要求了。而动态启发式检测技术则是解决这类问题的利器,它包括两大类技术,基于虚拟机和基于真机的动态启发式扫描。第一,基于虚拟机的动态启发式扫描便是通过虚拟机技术,给可疑程序构建一个仿真的运行环境,诱使病毒在虚拟机的模拟缓冲区中运行,如果在运行过程中检测到可疑的行为,则判定为危险程序。这种方法有助于识别未知病毒,对加壳病毒依然有效。让可疑的手机应用程序在虚拟机中运行,在运行过程中对其变量层、方法层、消息层及文件层进行动态行为分析,从而判断该程序是否为危险程序。第二,在模拟环境下机器不能模拟人的所有操作行为,因此有另一种基于真机的动态启发式扫描技术。通过人工在终端上实际运行样本应用,并监控和记录样本应用的本地行为和网络行为,对样本应用监控反馈的结果与数据库中的内容进行对比,如发现是恶意行为,即判定为恶意样本。\n[0074] 现在某些恶意网站也会从正规的在线网站或者移动商城下载软件,将恶意行为代码加入软件后将软件上线,当用户从这些恶意网站下载软件并安装使用后,软件中的恶意行为就会爆发并感染用户使用的客户端,给用户带来不必要的损失,而用户在遭受损失后并不知道是安装了某个软件而导致的损失,可能会将客户端恢复出厂设置,这样做虽然避免了用户损失的扩大,但是用户的一些重要资料就会丢失,为用户对软件的使用带来了。\n[0075] 例如,某恶意网站从MM商店中获取手机营业厅V1.1,然后在其中加入上传用户通讯录的恶意代码,然后将修改后的手机营业厅V1.1在网站上上线,而用户不知道恶意网站的手机营业厅V1.1被恶意修改,而从该网站上下载被恶意修改后的手机营业厅V1.1并安装使用,但用户在使用中不会发现该手机营业厅V1.1在使用过程中会上传用户通讯录,而这样的行为侵犯了用户的隐私且会给用户带来很大的困扰。\n[0076] 而在本实施例中,软件在通过恶意行为检测后,会获得代表软件的唯一身份的第一识别标识,具体描述如下:\n[0077] 所述若软件通过扫描,则获得软件的用于表示软件身份的第一识别标识具体包括:\n[0078] 为上线的软件分配服务器标识、开发商标识和软件标识;\n[0079] 对软件进行MD5加密,得到MD5值;\n[0080] 对所述服务器标识、所述开发商标识、所述软件标识和所述MD5值进行哈希运算,得到软件的所述第一识别标识。\n[0081] 通过上述操作,为软件分配服务器标识,可以标注软件的发布服务器,即使是同一款软件,由于服务器标识不同,所以通过计算得到的第一识别标识也是不同的,所以软件的第一识别标识是可以唯一标识软件的;通过在软件中设置代表软件唯一身份的第一识别标识,可以将在软件存在恶意行为时,快速的找到对应的软件并进行相关处理,而且软件修改后与修改前的第一识别标识是不一致的,所以通过设置的第一识别标识,可以对具有恶意行为的软件进行辨别。\n[0082] 例如,MM商店向手机营业厅V1.1分配MM商店对应的服务器标识、中国移动的开发商标识和对应的软件标识,计算手机营业厅V1.1的MD5值,之后对计算得到的MD5值、和之前分配给手机营业厅V1.1的服务器标识、开发商标识和软件标识进行哈希运算,得到手机营业厅V1.1的第一识别标识并存储在MM商店中;将第一识别标识添加到手机营业厅V1.1中;\n而如果是其他的网站将手机营业厅V1.1上线,由于其他网站的服务器标识与MM商店的不一样,甚至某些恶意网站没有服务器标识,那么计算出的手机营业厅V1.1的识别标识一定与MM商店上线的手机营业厅V1.1不一致;再者,当恶意网站往手机营业厅V1.1中添加恶意代码后,手机营业厅V1.1的MD5值就会发生变化,进而使经过哈希运算后的手机营业厅V1.1的识别标识发生变化,也会与MM商店上线的手机营业厅V1.1的识别标识不一致。\n[0083] 现有的在线网站或者移动商城由于没有对软件加上对应的第一识别标识,所以不能识别存在恶意行为的软件是否是由本在线网站或者移动商城发布的。\n[0084] 而在本实施例中,方法还包括:\n[0085] 获取所述客户端的软件信息和对应的第二识别标识;\n[0086] 获取客户端所安装软件的软件行为,判定软件行为是否存在恶意行为,得到一判定结果;\n[0087] 当所述判定结果指示客户端所安装的软件存在恶意行为时,将所述第二识别标识与预先存储的所述第一识别标识进行比对,找出与所述第二识别标识相同的所述第一识别标识对应的软件;\n[0088] 将所有标识对应的软件进行恶意行为检测,找出具备在线更新恶意代码功能的软件;\n[0089] 从所述服务器下线所述具备在线更新恶意代码功能的软件,并向所述客户端发送检测结果。\n[0090] 其中,软件信息包含了整个软件的主要信息摘要和属性,如界面(activity)、服务(service)、接收器(receiver)、权限(permissions)、开发者证书和软件签名等信息。\n[0091] 通过上述操作,可以识别存在恶意行为的软件是否是由本在线网站或者移动商城发布的,当发现用户下载的软件的第二识别标识和正规的在线网站或者移动商城上的软件的第一识别标识不一致时,在线网站或者移动商城将情况向用户说明,使用户自行处理所安装的软件;若发现用户下载的软件的第二识别标识和正规的在线网站或者移动商城上的软件的第一识别标识一致,那么会对软件进行更深层次的恶意行为扫描,找出本在线网站或者移动商城中通过在线更新方式传播恶意行为的软件,并在第一时间将软件下线,并通知用户软件存在恶意行为,使用户可以卸载软件以减小损失。\n[0092] 例如,客户端中安装有安卓市场V2、手机营业厅V1.1和安卓伴侣V1.3,手机营业厅V1.1中设置的检测模块将用户客户端中安装的安卓市场V2、手机营业厅V1.1和安卓伴侣V1.3的软件信息和对应的第二识别标识传递到MM商店;MM商店通过检测模块获取安卓市场V2、手机营业厅V1.1和安卓伴侣V1.3的软件行为,当发现客户端中安装的软件会私自上传用户的通讯录时,则MM商店根据得到的安卓市场V2、手机营业厅V1.1和安卓伴侣V1.3的第二识别标识,与预先存储的软件的第一识别标识进行比对,发现安卓市场V2和手机营业厅V1.1的第二识别标识与预先存储的软件的第一识别标识相对应,然后根据安卓市场V2和手机营业厅V1.1的软件信息对这两个软件进行恶意行为扫描,发现安卓市场V2通过在线更新的方式在用户客户端中安装会私自上传用户通讯录的安卓伴侣V1.3。因此,MM商店在第一时间下线安卓市场V2并通知用户安装的安卓市场V2和安卓伴侣V1.3存在恶意行为,让用户卸载软件以避免损失。\n[0093] 现有的在线网站或者移动商城只能在用户说明某些上线的软件具有恶意行为时,才会要求用户上传软件并进行恶意行为检测,不能在第一时间发现软件的恶意行为并作出反应。\n[0094] 在本实施例中,软件在线检测方法还包括:\n[0095] 对所述客户端中所安装的软件进行监控;\n[0096] 将客户端所安装软件的软件信息发送至服务器,交由服务器判定客户端所安装软件是否存在恶意行为;\n[0097] 将客户端所安装软件的软件信息和对应的第二识别标识发送至服务器;\n[0098] 接收所述服务器发送的检测结果。\n[0099] 通过上述的操作,可以对软件的行为进行实时监控,当软件在运行的过程中出现恶意行为时,可以在第一时间发现软件的恶意行为并找出存在恶意行为的软件,具有反应迅速和处理及时的特点。\n[0100] 进一步地,所述当发现所述客户端所安装的软件出现恶意行为时,将所述客户端中所安装软件的第二识别标识和对应的软件信息发送到服务器包括:\n[0101] 计算所述客户端所安装软件的第二识别标识;\n[0102] 获取所述客户端的软件信息;\n[0103] 将所安装软件的第二识别标识和对应的软件信息发送到服务器。\n[0104] 可选的,计算所述客户端所安装软件的第二识别标识的方式与服务器在将软件上线前计算软件的第一识别标示的过程一致,计算方式简单,可以非常快速的得到用户客户端中安装软件的第二识别标识。\n[0105] 对软件在线检测方法的又一实施例如图2所示,所述方法包括如下步骤:\n[0106] 步骤200.应用开发者在开发好应用B并准备上传至MM商城时,MM商城通过基于特征值的扫描和基于启发式扫描对应用B进行安全扫描;由于应用B中的在线更新行为本身并不属于恶意行为,在线更新后的恶意应用的恶意行为又未能在自动基于启发式扫描中触发,于是应用B通过了该扫描;\n[0107] 步骤201.MM商城按照一定的算法和策略计算出该应用的第一识别标识并存入MM商城应用库中(同一款应用的不同版本认定为不同应用,具有不同的第一识别标识);\n[0108] 步骤202.MM商城向应用B内植入软件行为检测模块,然后将应用B上线;\n[0109] 步骤203.应用B被用户下载并安装使用,应用B通过在线方式在用户的客户端中安装应用b,应用b会私自上传用户的通讯录,泄露用户隐私;\n[0110] 步骤204.软件行为检测模块获取客户端中安装的应用A、B、b的软件信息,计算出应用A、B、b的第二识别标识,并将应用A、B、b的软件信息和对应的第二识别标识上传至服务器的恶意性分析引擎;\n[0111] 步骤205.恶意性分析引擎先通过比对该用户所有应用的第二识别标识和服务器上存储的第一识别标识,判定该手机用户中有从MM商城中下载的应用;\n[0112] 步骤206.在MM商城的基于特征库扫描引擎对应用A、B、b的软件信息进行扫描,发现应用b有上传用户通讯录的恶意行为,则扫描后可判定应用A或B通过某种方式带来了恶意代码;\n[0113] 步骤207.MM商城应用库则将应用B放入基于动态启发式扫描引擎中进行扫描;\n[0114] 步骤208.扫描出应用B通过在线更新的方式带来了恶意应用b。\n[0115] 基于上述描述,本实施例提供的对软件在线检测方法,通过为所存储的软件设置唯一的识别标识,可以在软件出问题时,可以及时的找出有问题的软件,很好的解决了同一软件不同版本不好分辩的问题;在软件出现恶意行为时,获取客户端中安装的软件的识别标识,然后比对客户端中安装的软件和服务器中存储软件的唯一识别标识,可以对在安装后以在线更新的方式产生恶意行为的软件进行检测,并能够及时检测出服务器中存在恶意行为的软件,为服务器不能及时对所有软件进行上线前的恶意性检测在第一时间进行补救;再者,服务器在第一时间将存在恶意行为的软件下线,同时通知客户端说明软件存在恶意行为,使客户端可以卸载该软件,以将存在恶意行为的软件给客户端带来的损失减到最小,方便用户对客户端的使用,避免了客户端因存在恶意行为的软件而在使用中存在不必要的麻烦的缺陷。\n[0116] 图3为对软件在线检测装置的实施例结构示意图,如图3所示,所述装置包括:\n[0117] 扫描模块10,用于对上线前的软件进行恶意行为扫描;\n[0118] 第一处理模块20,用于若软件通过扫描,获得软件的用于表示软件身份的第一识别标识;\n[0119] 存储模块30,用于在所述服务器上存储所述软件和所述软件对应的所述第一识别标识;\n[0120] 识别模块40,用于当软件出现恶意行为时,所述服务器根据所述第一识别标识识别存在恶意行为的软件。\n[0121] 进一步地,所述第一处理模块20具体用于:\n[0122] 为上线的软件分配服务器标识、开发商标识和软件标识;\n[0123] 对软件进行MD5加密,得到MD5值;\n[0124] 对所述服务器标识、所述开发商标识、所述软件标识和所述MD5值进行哈希运算,得到软件的所述第一识别标识。\n[0125] 进一步地,所述装置还包括:\n[0126] 第一获取模块,用于获取所述客户端的软件下载指令,向所述客户端传输所述下载指令中指定的软件;\n[0127] 接收模块,用于接收客户端所安装软件的软件信息和对应的第二识别标识;\n[0128] 第二获取模块,用于获取客户端所安装软件的软件行为,判定软件行为是否存在恶意行为,得到一判定结果;\n[0129] 比对模块,用于当所述判定结果指示客户端所安装的软件存在恶意行为时,将所述第二识别标识与预先存储的所述第一识别标识进行比对,找出与所述第二识别标识相同的所述第一识别标识对应的软件;\n[0130] 第一检测模块,用于将所有标识对应的软件进行恶意行为检测,找出具备在线更新恶意代码功能的软件;\n[0131] 第二处理模块,用于从所述服务器下线所述具备在线更新恶意代码功能的软件,并向所述客户端发送检测结果。\n[0132] 可选地,所述装置还包括:\n[0133] 第二检测模块,用于对所述客户端中所安装的软件进行监控;\n[0134] 第一发送模块,用于将客户端所安装软件的软件行为发送至服务器,交由服务器判定客户端所安装软件是否存在恶意行为;\n[0135] 第二发送模块,用于将客户端所安装软件的软件信息和对应的第二识别标识发送至服务器;\n[0136] 第二接收模块,用于接收所述服务器发送的检测结果。\n[0137] 可选地,所述第二发送模块具体包括:\n[0138] 计算所述客户端所安装软件的第二识别标识;\n[0139] 获取所述客户端中所安装软件的软件信息;\n[0140] 将所安装软件的第二识别标识和对应的软件信息发送到服务器。\n[0141] 通过以下实施例对软件在线检测装置作进一步描述。\n[0142] 软件在线检测装置的又一实施例的示意图如图4所示,所述装置用于服务器,包括:\n[0143] 第一扫描模块50,用于在软件上线前,对软件进行恶意行为扫描;用于客户端上传软件行为特征恶意性扫描;\n[0144] 第二扫描模块60,在服务器上用于匹配了软件身份标识的软件的深度扫描,模拟在线环境,检测在线行为,判定有无在线更新恶意代码等潜在恶意行为;\n[0145] 第三处理模块70,用于若软件通过扫描,获得软件的用于表示软件身份的第一识别标识;\n[0146] 存储模块80,用于在所述服务器上存储所述软件和所述软件对应的所述第一识别标识。\n[0147] 进一步地,所述处理模块70具体用于:\n[0148] 为上线的软件分配服务器标识、开发商标识和软件标识;\n[0149] 对软件进行MD5加密,得到MD5值;\n[0150] 对所述服务器标识、所述开发商标识、所述软件标识和所述MD5值进行哈希运算,得到软件的所述第一识别标识。\n[0151] 进一步地,所述装置还包括:\n[0152] 第一获取模块,用于获取所述客户端的软件下载指令,向所述客户端传输所述下载指令中指定的软件;\n[0153] 第一接收模块,在服务器上用于接收客户端软件行为,接收所述客户端发送的所安装软件的软件信息和对应的第二识别标识;\n[0154] 比对模块,在服务器上用于将所述第二识别标识与预先存储的所述第一识别标识进行比对,找出与所述第二识别标识相同的所述第一识别标识对应的软件;\n[0155] 第四处理模块,在服务器上用于从所述服务器下线所述具有潜在恶意行为的软件,并向所述客户端发送检测结果。\n[0156] 进一步地,所述装置还包括:\n[0157] 第二获取模块,在客户端上用于获取所述客户端中所安装软件的软件行为特征;\n[0158] 发送模块,在客户端上用于将所述客户端中所安装软件的行为特征,第二识别标识和对应的软件信息发送到服务器;\n[0159] 第二接收模块,在客户端上用于接收所述服务器发送的检测结果。\n[0160] 可选地,所述发送模块具体用于:\n[0161] 在客户端上将所安装软件的软件行为特征、第二识别标识和对应的软件信息发送到服务器。\n[0162] 本实施例中提供的装置的功能和处理流程,可以参见上面提供的软件在线检测方法的实施例的流程,此处不再赘述。\n[0163] 更优选地,本发明还提供一种服务器,包括:上述的软件在线检测装置。\n[0164] 本实施例中提供的服务器的功能和处理流程,可以参见上面提供的软件在线检测方法的实施例的流程,此处不再赘述。\n[0165] 基于上述描述,本实施例提供的对软件在线检测装置,通过为所存储的软件设置唯一的识别标识,可以在软件出问题时,可以及时的找出有问题的软件,很好的解决了同一软件不同版本不好分辩的问题;在软件出现恶意行为时,获取客户端中安装的软件的识别标识,然后比对客户端中安装的软件和服务器中存储软件的唯一识别标识,可以对在安装后以在线更新的方式产生恶意行为的软件进行检测,并能够及时检测出服务器中存在恶意行为的软件,为服务器不能及时对所有软件进行上线前的恶意性检测在第一时间进行补救;再者,服务器在第一时间将存在恶意行为的软件下线,同时通知客户端说明软件存在恶意行为,使客户端可以卸载该软件,以将存在恶意行为的软件给客户端带来的损失减到最小,方便用户对客户端的使用,避免了客户端因存在恶意行为的软件而在使用中存在不必要的麻烦的缺陷。\n[0166] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。\n[0167] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
法律信息
- 2018-06-26
- 2015-07-08
实质审查的生效
IPC(主分类): G06F 21/56
专利申请号: 201310648832.X
申请日: 2013.12.04
- 2015-06-10
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-03-18
|
2008-10-20
| | |
2
| |
2013-08-28
|
2013-05-24
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |