病毒查杀的方法及装置与流程

文档序号:12123303阅读:310来源:国知局
病毒查杀的方法及装置与流程

本发明涉及数据安全技术领域,特别是涉及一种病毒查杀的方法及装置。



背景技术:

flash是交互式矢量图和web动画的标准,人们可以使用flash制作出各式各样的、具有奇特效果的动画作品,并将其应用于网页或者office(如word)当中。因此,使用flash制作页面的设计者越来越多。

但也因为flash的普及,使得越来越多的黑客利用flash软件现存的漏洞在其中插入破坏计算机功能或者毁坏数据的病毒,从而使得用户利益受损。因此,如何对flash病毒进行查杀是亟待解决的。



技术实现要素:

有鉴于此,本发明提供的病毒查杀的方法及装置,能够对浏览器、office等应用程序中的flash病毒进行查杀,从而保证应用程序甚至整个终端设备的安全。

本发明的目的是采用以下技术方案来实现的:

一方面,本发明提供了一种病毒查杀的方法,所述方法包括:

为应用程序的特定函数挂接钩子,所述特定函数用于获取flash文件;

利用所述钩子截获通过所述特定函数获得的flash文件;

获取对所述flash文件进行病毒扫描的扫描结果;

若所述扫描结果为所述flash文件中没有病毒,则将所述flash文件发送给flash组件进行渲染。

可选的,所述为应用程序的特定函数挂接钩子包括:

当所述应用程序为浏览器时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子;

当所述应用程序为office时,为所述office中用于读取flash文件的函数挂接所述钩子;其中,所述office中嵌入有flash组件。

可选的,所述当所述应用程序为浏览器时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子包括:

当输出显示渲染后的flash文件的应用程序也为浏览器时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子;

当输出显示渲染后的flash文件的应用程序为office,且所述office中嵌入有用于获取flash文件的URL时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子。

可选的,当所述应用程序为office时,所述利用所述钩子截获通过所述特定函数获得的flash文件包括:

利用所述钩子监控所述office是否调用所述用于读取flash文件的函数来读取flash数据;

当所述用于读取flash文件的函数读取flash数据时,将读取的flash数据进行缓存,直至调用结束获得flash文件。

可选的,所述方法还包括:

若所述扫描结果为所述flash文件中含有病毒,则不将所述flash文件发送给所述flash组件进行渲染,并输出数据拦截提示信息。

可选的,所述方法还包括:

若所述扫描结果为所述flash文件中含有病毒和/或可疑数据,则获取所述flash文件的URL;

根据所述flash文件的URL,记录所述flash文件的基本属性信息,所述基本属性信息包括所述flash文件的URL中的参数和所述参数对应的参数值;

将所述基本属性信息发送给云服务器。

可选的,所述获取所述flash文件的URL包括:

获取当前线程所在进程的浏览器的窗口句柄;

获取所述窗口句柄对应的网页的源代码;

从所述源代码中获取满足flash地址格式的URL;

将所述满足flash地址格式的URL确定为所述flash文件的URL。

可选的,所述获取对所述flash文件进行病毒扫描的扫描结果包括:

获取缓存中保存的已扫描flash文件的扫描结果,所述扫描结果包括已扫描flash文件的文件属性信息以及确定所述flash文件中是否包括病毒和/或可疑数据的病毒确定结果,所述文件属性信息包括文件大小、文件修改时间和文件路径;

将待扫描flash文件的文件属性信息与所述缓存中存储的文件属性信息进行匹配;

若匹配成功,则将匹配成功的文件属性信息对应的病毒确定结果确定为所述待扫描flash文件的扫描结果;

若匹配失败,则将所述待扫描flash文件发送给云服务器进行病毒扫描,并接收所述云服务器反馈的扫描结果。

另一方面,本发明提供了一种病毒查杀的装置,所述装置包括:

挂接单元,用于为应用程序的特定函数挂接钩子,所述特定函数用于获取flash文件;

截获单元,用于利用所述挂接单元挂接的所述钩子截获通过所述特定函数获得的flash文件;

获取单元,用于获取对所述截获单元获得的所述flash文件进行病毒扫描的扫描结果;

发送单元,用于当所述获取单元获取的所述扫描结果为所述flash文件中没有病毒时,将所述flash文件发送给flash组件进行渲染。

可选的,所述挂接单元包括:

第一挂接模块,用于当所述应用程序为浏览器时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子;

第二挂接模块,用于当所述应用程序为office时,为所述office中用于读取flash文件的函数挂接所述钩子;其中,所述office中嵌入有flash组件。

可选的,所述第一挂接模块用于当输出显示渲染后的flash文件的应用程序为浏览器时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子;当输出显示渲染后的flash文件的应用程序为office,且所述office中嵌入有用于获取flash文件的URL时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子。

可选的,所述截获单元用于当所述应用程序为office时,利用所述钩子监控所述office是否调用所述用于读取flash文件的函数来读取flash数据;当所述用于读取flash文件的函数读取flash数据时,将读取的flash数据进行缓存,直至调用结束获得flash文件。

可选的,所述装置还包括:

拦截单元,用于当所述扫描结果为所述flash文件中含有病毒时,不将所述flash文件发送给所述flash组件进行渲染;

输出单元,用于输出数据拦截提示信息。

可选的,所述获取单元还用于当所述扫描结果为所述flash文件中含有病毒和/或可疑数据时,获取所述flash文件的URL;

所述装置还包括:

记录单元,用于根据所述获取单元获取的所述flash文件的URL,记录所述flash文件的基本属性信息,所述基本属性信息包括所述flash文件的URL中的参数和所述参数对应的参数值;

所述发送单元还用于将所述基本属性信息发送给云服务器。

可选的,所述获取单元包括:

第一获取模块,用于获取当前线程所在进程的浏览器的窗口句柄;

所述第一获取模块还用于获取所述窗口句柄对应的网页的源代码;

所述第一获取模块还用于从所述源代码中获取满足flash地址格式的URL;

第一确定模块,用于将所述第一获取模块获取的所述满足flash地址格式的URL确定为所述flash文件的URL。

可选的,所述获取单元包括:

第二获取模块,用于获取缓存中保存的已扫描flash文件的扫描结果,所述扫描结果包括已扫描flash文件的文件属性信息以及确定所述flash文件中是否包括病毒和/或可疑数据的病毒确定结果,所述文件属性信息包括文件大小、文件修改时间和文件路径;

匹配模块,用于将待扫描flash文件的文件属性信息与所述缓存中存储的文件属性信息进行匹配;

第二确定模块,用于当匹配成功时,将匹配成功的文件属性信息对应的病毒确定结果确定为所述待扫描flash文件的扫描结果;

发送模块,用于当匹配失败时,将所述待扫描flash文件发送给云服务器进行病毒扫描;

接收模块,用于接收所述云服务器反馈的扫描结果。

借由上述技术方案,本发明提供的病毒查杀的方法及装置,能够在将flash文件发送给flash组件进行渲染之前,先通过在应用程序(如浏览器或者office)的特定函数处挂接的钩子提前截获这些flash文件,并对这些flash文件进行病毒扫描,当确定安全无毒时,才将flash文件发送给flash组件进行渲染,并基于浏览器或者office进行输出显示,从而保证了浏览器、office甚至整个终端设备的安全。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种病毒查杀的方法的流程图;

图2示出了本发明实施例提供的另一种病毒查杀的方法的流程图;

图3示出了本发明实施例提供的一种病毒查杀的装置的组成框图;

图4示出了本发明实施例提供的另一种病毒查杀的装置的组成框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

在实际应用中,往往会通过一些方式使得用户的终端设备本地获取一些可执行文件(例如后缀为.exe的文件)、flash文件等,例如该文件可能通过即时通信工具传输给用户所在的终端设备,也可能通过下载或分享的方式诱导用户下载到其所在的终端设备,也可能通过挂木马或病毒传播等非法方式传播到用户所在的终端设备,也可能在拷贝移动存储设备中的文件时传输到用户所在的终端设备。然而获取的这些文件可能为安全的文件,也可能是危险的文件。尤其当用户使用浏览器等应用程序进行在线支付的过程中,很可能会接收到恶意第三方传输过来的携带病毒的危险文件。因此,为了及时对病毒进行查杀,从而保证终端设备的安全,本发明实施例提供了一种病毒查杀的方法,如图1所示,该方法主要包括:

101、为应用程序的特定函数挂接钩子。

其中,所述特定函数用于获取flash文件,flash文件可以为swf(shock wave flash)格式的文件,也可以为fla等其他格式的文件,在此不做限定。在为应用程序的特定函数挂接钩子后,钩子可以对该特定函产生的数据进行监控,从而在将产生的flash文件反馈给flash组件进行渲染之前,可以先截获这些flash文件,并执行步骤103-104。

在实际应用中,当需要使用浏览器下载flash文件时,需要为浏览器挂接钩子;当需要使用office读取flash文件时,需要为office挂接钩子。

具体的,对于需要使用浏览器下载flash文件主要涉及以下两种情况:

(1)当输出显示渲染后的flash文件的应用程序为浏览器时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子。

具体的,可以先为urlmon.dll的导出函数RegisterBindStatusCallback挂接钩子,通过该钩子监控flash*.ocx是否向urlmon.dll注册回调对象,当检测到flash*.ocx向urlmon.dll注册回调对象时,再为IBindStatusCallback接口的onDataAvailable函数(即数据下载回调函数)挂接钩子,从而通过监控onDataAvailable函数,等待flash文件(如swf文件)的下载。

需要补充的是,在实际应用中,不同版本的浏览器中的urlmon.dll的数据结构可能存在差异,从而使得挂钩的具体函数发生变化。但是,最终所挂接的函数的功能一定是用于下载flash文件的函数。

(2)当输出显示渲染后的flash文件的应用程序为office,且所述office中嵌入有用于获取flash文件的URL(Uniform Resource Locator,统一资源定位符)时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子。

此外,对于需要使用office读取flash文件主要涉及以下内容:

若是在office中嵌入flash组件的情况下,需要使用office输出渲染后的flash文件,则为了监控flash文件的读取,需要为office中用于读取flash文件的函数挂接钩子;然后利用所述钩子监控所述office是否调用所述用于读取flash文件的函数;当所述用于读取flash文件的函数读取flash数据时,将读取的flash数据进行缓存,直至调用结束获得整个flash文件。

具体的,可以先为flash*.ocx的工厂类对象的IClassFactory-GreateInstance函数挂接钩子,以便通过该钩子监控flash对象的创建;当有flash对象创建时,再为IPersistStreamInit接口的load函数挂接钩子,以便通过该钩子监控load函数实现中,是否存在flash对象加载内嵌的flash文件;当flash对象加载内嵌的flash文件时,再为IPersistStream接口的read函数挂接钩子,以便通过该钩子监控read函数对flash数据的读取。

102、利用所述钩子截获通过所述特定函数获得的flash文件。

在实际应用中,客户端可以通过预设的进程列表对登录过程或支付过程中的危险进程进行监控;或者通过预设的安全的文件列表对登录过程或支付过程中传输的文件进行监控;或者对登录过程或支付过程中的浏览器调用行为进行监控;或者对登录过程或支付过程中的键盘输入内容的调用进行监控;或者对登录过程或支付过程中客户端传输的数据对象进行监控,例如,当监控到客户端向与登录过程或支付过程无关的对象传输与登录或支付相关的数据时,则应当拦截所传输的数据对象;或者对登录过程或支付过程中所开启的网页进行监控,例如,在登录过程或支付过程中,用户可能开启的支付网页为恶意第三方伪造的与真实支付网页类似的网页,因此需要对所开启的网页进行监控。其中,在监控可执行文件等文件时,不仅可以监控到文件的实时下载情况,还可以监控文件被启动时以及被启动后的实时运行情况。

在为浏览器中的urlmon.dll的数据下载回调函数挂接钩子后,可以通过该钩子监控数据下载,并通过下载文件的文件名后缀等信息来确定当前下载的文件是否为flash文件,当确定当前下载的文件是flash文件时,对下载的文件截获。

在为office中的用于读取flash文件的函数挂接钩子后,可以通过该钩子监控数据的读取,当确定读取flash文件时,对读取的flash文件进行截获。

103、获取对所述flash文件进行病毒扫描的扫描结果。

其中,在对病毒进行扫描时,可以利用客户端进行本地扫描,也可以将flash文件发送给云服务器进行扫描。并且在进行扫描时,所使用的病毒扫描引擎可以为脚本扫描引擎,也可以为其他引擎。

在实际应用中,flash文件与脚本文件类似,且flash文件中也可以包含一些脚本语句。因此,在对flash文件进行扫描时,可以使用脚本扫描引擎进行扫描,以便对flash文件的静态特征进行分析,判断其中是否含有病毒。

其中,脚本扫描引擎的数量可以为多个,且每个脚本扫描引擎对应至少一个脚本类型,用于根据预设的至少一个脚本类型对应的病毒样本特征来检测属于该至少一个脚本类型的待检测脚本中是否携带病毒。

通常情况下,脚本类型与脚本扫描引擎是一一对应的关系,即:一个类型的脚本对应一个脚本扫描引擎。例如,JS(JavaScript,爪哇脚本)类型的脚本对应JS脚本扫描引擎,VBS(Microsoft Visual Basic Script Editon,微软公司可视化BASIC脚本版)类型的脚本对应VBS脚本扫描引擎,HTML(HyperText Markup Language,超文本标记语言)类型的脚本对应HTML脚本扫描引擎等。其中,flash文件与JS类型的脚本类似,因此可以使用JS脚本扫描引擎来扫描flash文件。

104、若所述扫描结果为所述flash文件中没有病毒,则将所述flash文件发送给flash组件进行渲染。

当确定flash文件中没有病毒时,可以确定该flash文件是安全文件,从而可以将flash文件发送给flash组件进行渲染,并在浏览器或者office中进行输出显示;当确定flash文件中含有病毒时,为了避免浏览器、office甚至整个终端设备造成危害,可以直接拦截该flash文件,而不将其发送给flash组件进行渲染,并输出数据拦截提示信息,提示用户数据已被拦截,无法显示。

需要说明的是,本发明实施例既可以应用于开源的浏览器中,又可以用于非开源的浏览器中,对于实现该技术方案的开发者来说,其所面对的浏览器的权限不受限定。

本发明实施例提供的病毒查杀的方法,能够在将flash文件发送给flash组件进行渲染之前,先通过在应用程序(如浏览器或者office)的特定函数处挂接的钩子提前截获这些flash文件,并利用flash扫描引擎对这些flash文件进行病毒扫描,当确定安全无毒时,才将flash文件发送给flash组件进行渲染,并基于浏览器或者office进行输出显示,从而保证了浏览器、office甚至整个终端设备的安全。

进一步的,依据图1所示的实施例,本发明的另一个实施例还提供了一种病毒查杀的方法,如图2所示,该方法主要包括:

201、为应用程序的特定函数挂接钩子。

该步骤中相关的介绍请参考图1对应的步骤101中的相关描述,本步骤不再赘述。

202、利用所述钩子截获通过所述特定函数获得的flash文件。

该步骤中相关的介绍请参考图1对应的步骤102中的相关描述,本步骤不再赘述。

203、获取对所述flash文件进行病毒扫描的扫描结果。

在上述步骤103中提及,在对flash进行病毒扫描时,可以由客户端扫描,也可以将flash文件发送给云服务器扫描。在实际应用中,关于客户端和云服务器扫描的策略可以有多种:

策略一:在获得flash文件后,先判断所述flash文件的大小是否小于或者等于预设阈值;若所述flash文件的大小小于或者等于所述预设阈值,则对所述flash文件进行病毒扫描;若所述flash文件的大小大于所述预设阈值,则将所述flash文件发送给云服务器进行扫描,以获得所述云服务器对所述flash文件的扫描结果。其中,预设阈值为根据实际经验获得的经验值,例如可以为300KB。

当flash文件的数据量较大时,通过将flash文件发送给云服务器进行扫描,不仅可以减轻终端设备的压力,还可以在云服务器扫描完成后,若确定含有病毒,则可以直接对病毒的基本属性信息进行记录,并及时对网络中的其他终端进行病毒扫描。

策略二:由于在实际应用中,预设时间段内往往会下载相同的flash文件,所以为了提高扫描效率,可以采用如下方案:

获取缓存中保存的已扫描flash文件的扫描结果,所述扫描结果包括已扫描flash文件的文件属性信息以及确定所述flash文件中是否包括病毒和/或可疑数据的病毒确定结果,所述文件属性信息包括文件大小、文件修改时间和文件路径;将待扫描flash文件的文件属性信息与所述缓存中存储的文件属性信息进行匹配;若匹配成功,则将匹配成功的文件属性信息对应的病毒确定结果确定为所述待扫描flash文件的扫描结果;若匹配失败,则将所述待扫描flash文件发送给云服务器进行病毒扫描,并接收所述云服务器反馈的扫描结果。

其中,匹配成功是指待扫描flash文件的文件属性信息与缓存中的文件属性信息完全相同,如文件大小、文件修改时间和文件路径都相同。

204、若所述扫描结果为所述flash文件中没有病毒,则将所述flash文件发送给flash组件进行渲染;若所述扫描结果为所述flash文件中含有病毒,则不将所述flash文件发送给所述flash组件进行渲染,并输出数据拦截提示信息。

该步骤中相关的介绍请参考图1对应的步骤104中的相关描述,本步骤不再赘述。

205、若所述扫描结果为所述flash文件中含有病毒和/或可疑数据,则获取所述flash文件的URL。

在确定flash文件中含有病毒和/或可疑数据后,为了防止其他终端受病毒侵害以及为了进一步确定可疑数据是否为病毒,可以将flash文件的基本属性信息发送给云服务器,以便云服务器根据基本属性信息对其他终端中的病毒进行查杀,以及继续根据基本属性信息对flash文件的URL进行扫描,以便确定该URL是否为恶意URL,从而可疑数据进行二次鉴定。其中,flash文件的基本属性信息包括flash文件的URL中的参数和所述参数对应的参数值。例如涉及的参数主要包括:操作系统版本、应用名称、flash版本、flash类型、flash的MD5(Message Digest Algorithm 5,信息摘要算法5)以及病毒名称等。

在获取flash文件的基本属性信息的过程中,需要先获取flash文件的URL,然后根据该URL获取flash文件的基本属性信息。其中,获取flash文件的URL的具体实现方式可以分为以下几种:

(a)若基于浏览器输出显示渲染后的flash文件,则需要先获取当前线程所在进程的浏览器的窗口句柄;然后获取所述窗口句柄对应的网页的源代码;并从所述源代码中获取满足flash地址格式的URL;最后将所述满足flash地址格式的URL确定为所述flash文件的URL。

其中,flash地址格式为:(1)URL以flash文件的后缀为结尾,例如以.swf为结尾;或者(2)本地保存的文件的文件名以flash文件的后缀为结尾,例如含有.swf为后缀的文件名。

(b)若是在office中嵌入用于获取flash文件的URL的情况下,基于office输出渲染后的flash文件,则可以直接将office中嵌入的URL确定为flash文件的URL。

(c)若是在office中嵌入flash组件的情况下,基于office输出渲染后的flash文件,则可以将读取flash文件的本地路径确定为flash文件的URL。

206、根据所述flash文件的URL,记录所述flash文件的基本属性信息。

在获取flash文件的URL后,可以对该URL进行分析,从中获取各个参数以及对应的参数值,并进行记录。

207、将所述基本属性信息发送给云服务器。

在确定flash文件的基本属性信息后,可以将该基本属性信息发送给云服务器;云服务器接收到这些信息后,能够根据基本属性信息进一步对可疑数据进行分析,以确定其是否为病毒,还可以基于该基本属性信息为网络中的其他终端查杀病毒,从而保证全网的安全。

需要补充的是,当flash文件中只有可疑数据,而没有病毒时,若将flash文件的基本属性信息发送给云服务器进行二次鉴定,则当云服务器根据该基本属性信息确定该flash文件的URL为安全网址时,可以向客户端发送数据安全指示;当云服务器根据基本属性信息确定该flash文件的URL为恶意URL(也就是说,可疑数据为病毒)时,可以向客户端发送数据危险指示以及病毒查杀指示。

此外,云服务器端可以预先保存文件特征值和安全等级信息的对应关系。其中,云服务器端确定的安全等级信息可以自定义,例如可以采用“安全、未知、可疑、高度可疑、恶意”的等级划分方式进行划分,也可以采用“一级、二级、三级、四级”的等级划分方式进行划分,其具体划分方式不限定。

示例性的,等级设置可以如下:当文件特征值为(10,20)时,为安全等级;当文件特征值为[20,40]时,为未知等级;当文件特征值为(40,50)时,为可疑等级;当文件特征值为[50,60]时,为高度可疑等级;当文件特征值大于60时,为恶意等级。

本发明实施例提供的病毒查杀的方法,不仅能够保证flash组件渲染的flash文件是安全数据,还能够在确定扫描的flash文件中含有病毒或者可疑数据时,能够记录其基本属性信息,并将基本属性信息反馈给云服务器,以便云服务器根据基本属性信息对可疑数据做进一步分析,以及根据基本属性信息对网络中的其他终端进行病毒查杀操作,保证网络安全。

进一步的,依据上述方法实施例,本发明的另一个实施例还提供了一种病毒查杀的装置,如图3所示,所述装置主要包括:挂接单元31、截获单元32、获取单元33以及发送单元34。其中,

挂接单元31,用于为应用程序的特定函数挂接钩子,所述特定函数用于获取flash文件;

截获单元32,用于利用所述挂接单元31挂接的所述钩子截获通过所述特定函数获得的flash文件;

获取单元33,用于获取对所述截获单元32获得的所述flash文件进行病毒扫描的扫描结果;

发送单元34,用于当获取单元33获取的所述扫描结果为所述flash文件中没有病毒时,将所述flash文件发送给flash组件进行渲染。

进一步的,如图4所示,所述挂接单元31包括:

第一挂接模块311,用于当所述应用程序为浏览器时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子;

第二挂接模块312,用于当所述应用程序为office时,为所述office中用于读取flash文件的函数挂接所述钩子;其中,所述office中嵌入有flash组件。

进一步的,所述第一挂接模块311用于当输出显示渲染后的flash文件的应用程序为浏览器时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子;当输出显示渲染后的flash文件的应用程序为office,且所述office中嵌入有用于获取flash文件的URL时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子。

进一步的,所述截获单元32用于当所述应用程序为office时,利用所述钩子监控所述office是否调用所述用于读取flash文件的函数来读取flash数据;当所述用于读取flash文件的函数读取flash数据时,将读取的flash数据进行缓存,直至调用结束获得flash文件。

进一步的,如图4所示,所述装置还包括:

拦截单元35,用于当所述扫描结果为所述flash文件中含有病毒时,不将所述flash文件发送给所述flash组件进行渲染;

输出单元36,用于输出数据拦截提示信息。

进一步的,如图4所示,所述获取单元33还用于当所述扫描结果为所述flash文件中含有病毒和/或可疑数据时,获取所述flash文件的URL;

所述装置还包括:

记录单元37,用于根据所述获取单元33获取的所述flash文件的URL,记录所述flash文件的基本属性信息,所述基本属性信息包括所述flash文件的URL中的参数和所述参数对应的参数值;

所述发送单元34还用于将所述基本属性信息发送给云服务器。

进一步的,如图4所示,所述获取单元33包括:

第一获取模块331,用于获取当前线程所在进程的浏览器的窗口句柄;

所述第一获取模块331还用于获取所述窗口句柄对应的网页的源代码;

所述第一获取模块331还用于从所述源代码中获取满足flash地址格式的URL;

第一确定模块332,用于将所述获取模块331获取的所述满足flash地址格式的URL确定为所述flash文件的URL。

进一步的,如图4所示,所述获取单元33包括:

第二获取模块333,用于获取缓存中保存的已扫描flash文件的扫描结果,所述扫描结果包括已扫描flash文件的文件属性信息以及确定所述flash文件中是否包括病毒和/或可疑数据的病毒确定结果,所述文件属性信息包括文件大小、文件修改时间和文件路径;

匹配模块334,用于将待扫描flash文件的文件属性信息与所述缓存中存储的文件属性信息进行匹配;

第二确定模块335,用于当匹配成功时,将匹配成功的文件属性信息对应的病毒确定结果确定为所述待扫描flash文件的扫描结果;

发送模块336,用于当匹配失败时,将所述待扫描flash文件发送给云服务器进行病毒扫描;

接收模块337,用于接收所述云服务器反馈的扫描结果。

本发明实施例提供的病毒查杀的装置,能够在将flash文件发送给flash组件进行渲染之前,先通过在应用程序(如浏览器或者office)的特定函数处挂接的钩子提前截获这些flash文件,并利用flash扫描引擎对这些flash文件进行病毒扫描,当确定安全无毒时,才将flash文件发送给flash组件进行渲染,并基于浏览器或者office进行输出显示,从而保证了浏览器、office甚至整个终端设备的安全。

本发明实施例还提供了如下方案:

A1、一种病毒查杀的方法,所述方法包括:

为应用程序的特定函数挂接钩子,所述特定函数用于获取flash文件;

利用所述钩子截获通过所述特定函数获得的flash文件;

获取对所述flash文件进行病毒扫描的扫描结果;

若所述扫描结果为所述flash文件中没有病毒,则将所述flash文件发送给flash组件进行渲染。

A2、根据A1所述的方法,所述为应用程序的特定函数挂接钩子包括:

当所述应用程序为浏览器时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子;

当所述应用程序为office时,为所述office中用于读取flash文件的函数挂接所述钩子;其中,所述office中嵌入有flash组件。

A3、根据A2所述的方法,所述当所述应用程序为浏览器时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子包括:

当输出显示渲染后的flash文件的应用程序为浏览器时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子;

当输出显示渲染后的flash文件的应用程序为office,且所述office中嵌入有用于获取flash文件的URL时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子。

A4、根据A2所述的方法,当所述应用程序为office时,所述利用所述钩子截获通过所述特定函数获得的flash文件包括:

利用所述钩子监控所述office是否调用所述用于读取flash文件的函数来读取flash数据;

当所述用于读取flash文件的函数读取flash数据时,将读取的flash数据进行缓存,直至调用结束获得flash文件。

A5、根据A1所述的方法,所述方法还包括:

若所述扫描结果为所述flash文件中含有病毒,则不将所述flash文件发送给所述flash组件进行渲染,并输出数据拦截提示信息。

A6、根据A1所述的方法,所述方法还包括:

若所述扫描结果为所述flash文件中含有病毒和/或可疑数据,则获取所述flash文件的URL;

根据所述flash文件的URL,记录所述flash文件的基本属性信息,所述基本属性信息包括所述flash文件的URL中的参数和所述参数对应的参数值;

将所述基本属性信息发送给云服务器。

A7、根据A6所述的方法,所述获取所述flash文件的URL包括:

获取当前线程所在进程的浏览器的窗口句柄;

获取所述窗口句柄对应的网页的源代码;

从所述源代码中获取满足flash地址格式的URL;

将所述满足flash地址格式的URL确定为所述flash文件的URL。

A8、根据A1至A7中任一项所述的方法,所述获取对所述flash文件进行病毒扫描的扫描结果包括:

获取缓存中保存的已扫描flash文件的扫描结果,所述扫描结果包括已扫描flash文件的文件属性信息以及确定所述flash文件中是否包括病毒和/或可疑数据的病毒确定结果,所述文件属性信息包括文件大小、文件修改时间和文件路径;

将待扫描flash文件的文件属性信息与所述缓存中存储的文件属性信息进行匹配;

若匹配成功,则将匹配成功的文件属性信息对应的病毒确定结果确定为所述待扫描flash文件的扫描结果;

若匹配失败,则将所述待扫描flash文件发送给云服务器进行病毒扫描,并接收所述云服务器反馈的扫描结果。

B9、一种病毒查杀的装置,所述装置包括:

挂接单元,用于为应用程序的特定函数挂接钩子,所述特定函数用于获取flash文件;

截获单元,用于利用所述挂接单元挂接的所述钩子截获通过所述特定函数获得的flash文件;

获取单元,用于获取对所述截获单元获得的所述flash文件进行病毒扫描的扫描结果;

发送单元,用于当所述获取单元获取的所述扫描结果为所述flash文件中没有病毒时,将所述flash文件发送给flash组件进行渲染。

B10、根据B9所述的装置,所述挂接单元包括:

第一挂接模块,用于当所述应用程序为浏览器时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子;

第二挂接模块,用于当所述应用程序为office时,为所述office中用于读取flash文件的函数挂接所述钩子;其中,所述office中嵌入有flash组件。

B11、根据B10所述的装置,所述第一挂接模块用于当输出显示渲染后的flash文件的应用程序为浏览器时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子;当输出显示渲染后的flash文件的应用程序为office,且所述office中嵌入有用于获取flash文件的URL时,为所述浏览器中用于下载flash文件的数据下载回调函数挂接所述钩子。

B12、根据B10所述的装置,所述截获单元用于当所述应用程序为office时,利用所述钩子监控所述office是否调用所述用于读取flash文件的函数来读取flash数据;当所述用于读取flash文件的函数读取flash数据时,将读取的flash数据进行缓存,直至调用结束获得flash文件。

B13、根据B9所述的装置,所述装置还包括:

拦截单元,用于当所述扫描结果为所述flash文件中含有病毒时,不将所述flash文件发送给所述flash组件进行渲染;

输出单元,用于输出数据拦截提示信息。

B14、根据B9所述的装置,所述获取单元还用于当所述扫描结果为所述flash文件中含有病毒和/或可疑数据时,获取所述flash文件的URL;

所述装置还包括:

记录单元,用于根据所述获取单元获取的所述flash文件的URL,记录所述flash文件的基本属性信息,所述基本属性信息包括所述flash文件的URL中的参数和所述参数对应的参数值;

所述发送单元还用于将所述基本属性信息发送给云服务器。

B15、根据B14所述的装置,所述获取单元包括:

第一获取模块,用于获取当前线程所在进程的浏览器的窗口句柄;

所述第一获取模块还用于获取所述窗口句柄对应的网页的源代码;

所述第一获取模块还用于从所述源代码中获取满足flash地址格式的URL;

第一确定模块,用于将所述第一获取模块获取的所述满足flash地址格式的URL确定为所述flash文件的URL。

B16、根据B9至B15中任一项所述的装置,所述获取单元包括:

第二获取模块,用于获取缓存中保存的已扫描flash文件的扫描结果,所述扫描结果包括已扫描flash文件的文件属性信息以及确定所述flash文件中是否包括病毒和/或可疑数据的病毒确定结果,所述文件属性信息包括文件大小、文件修改时间和文件路径;

匹配模块,用于将待扫描flash文件的文件属性信息与所述缓存中存储的文件属性信息进行匹配;

第二确定模块,用于当匹配成功时,将匹配成功的文件属性信息对应的病毒确定结果确定为所述待扫描flash文件的扫描结果;

发送模块,用于当匹配失败时,将所述待扫描flash文件发送给云服务器进行病毒扫描;

接收模块,用于接收所述云服务器反馈的扫描结果。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的病毒查杀的方法及装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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