发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的宏病毒查杀方法及系统,能够更有效地抵御宏病毒在企业网内部的传播。
依据本发明的一个方面,提供了一种宏病毒查杀方法,应用于企业版病毒查杀应用程序中,其中,所述企业版病毒查杀应用程序包括安装在企业用户管理控制中心计算设备上的企业版服务端,以及安装在企业用户终端设备上的企业版客户端,通过企业版服务端实现对各个企业版客户端所在用户终端设备的统一管理,所述方法包括:
所述企业版客户端对打开特定类型文档的操作进行监控;所述特定类型文档包括办公软件文档;
当监控到打开目标文档的请求时,对所述请求进行拦截,并将所述目标文档上传到企业版服务端;
所述企业版服务端判断所述目标文档中是否含有宏病毒;
根据判断结果向所述企业版客户端返回处理指令。
可选地,所述根据判断结果向所述企业版客户端返回处理指令包括:
如果判断结果为所述目标文档中不含有宏病毒,则向所述企业版客户端返回将所述请求放行的指令。
可选地,所述根据判断结果向所述企业版客户端返回处理指令包括:
如果判断结果为所述目标文档中含有宏病毒,则将所述目标文档中的宏病毒清除,得到安全文档;
向所述企业版客户端返回所述安全文档,以及返回丢弃所述请求、用所述安全文档替换所述目标文档并打开所述安全文档的指令。
可选地,还包括:
所述企业版客户端对所述请求进行拦截之后,加载显示预置的界面,用以显示正在进行宏病毒检测。
可选地,所述判断所述目标文档中是否含有宏病毒,包括:
从所述目标文档包含的脚本中进行特征提取;
将提取到的特征与预置的宏病毒库中保存的特征进行比对,根据比对结果判断是否存在宏病毒。
可选地,还包括:
连接公有云服务器,以便对企业版服务端的宏病毒库进行升级更新。
根据本发明的另一方面,提供了一种宏病毒查杀系统,应用于企业版病毒查杀应用程序中,其中,所述企业版病毒查杀应用程序包括安装在企业用户管理控制中心计算设备上的企业版服务端,以及安装在企业用户终端设备上的企业版客户端,通过企业版服务端实现对各个企业版客户端所在用户终端设备的统一管理,所述系统包括:
监控单元,位于企业版客户端,用于对打开特定类型文档的操作进行监控;所述特定类型文档包括办公软件文档;
上传单元,位于企业版客户端,用于当监控到打开目标文档的请求时,对所述请求进行拦截,并将所述目标文档上传到企业版服务端;
判断单元,位于企业版服务端,用于判断所述目标文档中是否含有宏病毒;
指令返回单元,位于企业版服务端,用于根据判断结果向所述企业版客户端返回处理指令。
可选地,所述指令返回单元包括:
第一指令返回子单元,用于如果判断结果为所述目标文档中不含有宏病毒,则向所述企业版客户端返回将所述请求放行的指令。
可选地,所述指令返回单元包括:
清除子单元,用于如果判断结果为所述目标文档中含有宏病毒,则将所述目标文档中的宏病毒清除,得到安全文档;
第二指令返回子单元,用于向所述企业版客户端返回所述安全文档,以及返回丢弃所述请求、用所述安全文档替换所述目标文档并打开所述安全文档的指令。
可选地,还包括:
显示单元,位于企业版客户端,用于所述对所述请求进行拦截之后,加载显示预置的界面,用以显示正在进行宏病毒检测。
可选地,所述判断单元包括:
特征提取子单元,用于从所述目标文档包含的脚本中进行特征提取;
特征比对子单元,用于将提取到的特征与预置的宏病毒库中保存的特征进行比对,根据比对结果判断是否存在宏病毒。
可选地,还包括:
更新单元,位于企业版服务端,用于连接公有云服务器,以便对企业版服务端的宏病毒库进行升级更新。
根据本发明的宏病毒查杀方法及系统,在需要打开一个文档时,企业版客户端可以将该文档上传至企业版服务端进行宏病毒的查杀,这样,就不必在企业版客户端保存宏病毒特征库,不会出现病毒库过于庞大臃肿而导致查杀效率下降的问题,并且,企业版服务端保存的宏病毒特征库可以及时的更新,这样可以更及时的应对新的宏病毒变种,达到更全面的宏病毒查杀效果。并且,由于单个用户在操作文件时可以及时发现文件中是否存在宏病毒,因此,可以避免从一个用户到企业网内其他用户的宏病毒传播,提高企业网内部抵御宏病毒的能力。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参见图1,本发明实施例提供了一种宏病毒查杀方法,该方法可以应用于企业版病毒查杀应用程序中,其中,所述企业版病毒查杀应用程序包括安装在企业用户管理控制中心计算设备上的企业版服务端,以及安装在企业用户终端设备上的企业版客户端,通过企业版服务端实现对各个企业版客户端所在用户终端设备的统一管理。也就是说,这种企业版病毒查杀应用程序相当于在企业网内部形成了一种“私有云”,企业版的服务端,就相当于该私有云的服务器,相对于公有云而言,私有云仅为企业内网的用户服务,企业网客户端与企业网服务端之间可以通过局域网的方式进行通信,因此,即使在企业网客户端没有连接到互联网的情况下,也能利用企业网服务端获取到所需的应用或者服务。在上述部署了私有云的前提下,该方法可以包括以下步骤:
S101:所述企业版客户端对打开特定类型文档的操作进行监控;所述特定类型文档包括办公软件文档;
其中,所谓的特定类型文档就可以包括word、excel等办公软件文档。在本发明实施例中,并不是进行全盘扫描式的宏病毒查杀,而是在用户想要打开某文档时,针对该文档进行宏病毒的查杀。为此,可以预先在系统中注册钩子函数,对文件编辑类的API(ApplicationProgrammingInterface,应用程序编程接口)函数进行钩挂(HOOK),这样,当通过调用对应的API函数打开某文档时,就会将调用的地址转向本发明实施例提供的宏病毒查杀模块。
S102:当监控到打开目标文档的请求时,对所述请求进行拦截,并将所述目标文档上传到企业版服务端;
监控到打开某文档的请求之后,就可以将该请求进行拦截,也即暂时不会将该请求发送到API函数所在的地址处,而是先进行安全相关的处理。在本发明实施例中,当企业版客户端拦截到打开文档的请求之后,并不是直接在企业版客户端本地对文档进行分析,而是直接将文档上传至企业版服务端,以便在企业版服务端进行具体的分析工作。其中,在部署企业版安全产品时,就可以在各个企业版客户端中保存企业版服务端的地址,因此,在拦截到打开文档的请求之后,就可以根据请求中携带的文档路径等信息找到对应的文档,并按照企业版服务端的地址,将其上传至企业版服务端。
需要说明的是,在对一个打开文档的请求进行拦截之后,由于后续的安全性分析工作需要一段时间,因此,在这段期间内,企业版客户端可以加载显示一个预置的界面,用以显示正在进行宏病毒检测。
S103:所述企业版服务端判断所述目标文档中是否含有宏病毒;
企业版服务端在接收到企业版客户端上传的文档之后,就可以判断文档中是否含有宏病毒。其中,具体在判断一个文档中是否含有宏病毒时,可以根据宏病毒所共有的一些特征进行判断,例如,大多数宏病毒中都含有AutoOpen,AutoClose,AutoNew和AutoExit等自动宏,因为只有这样,宏病毒才能获得文档(模板)操作控制权。有些宏病毒还通过FileNew,FileOpen,FileSave,FileSaveAs,FileExit等宏控制文件的操作。另外,病毒宏中必然含有对文档读写操作的宏指令,宏病毒在.DOC文档、.DOT模板中以BFF(BinaryFileFormat)格式存放,等等。
另外,在本发明实施例中,还可以从文档中进行特征提取,然后将提取到的特征与预先设置的特征库中包括的特征进行比对,进而根据比对的结果判断一个文档中是否包含有宏病毒。其中,根据宏病毒自身的特征,在从待判断的文档中提取宏病毒时,可以首先判断目标文档是否存在脚本文件,如果不存在,则证明该目标文档中不存在宏病毒;如果存在脚本文件,则从脚本中提取特征,例如包含的字符串信息等等,然后再与特征库中的特征进行比对。
其中,特征库里保存的特征可以是已知的宏病毒所具有的特征,也即,该特征库可以是个黑名单,这样,在进行比对时,如果目标文档中提取出的特征出现在该特征库中,则可以证明目标文档中带有宏病毒;如果提取出的特征未出现在该特征库中,则可以认为目标文档中不存在宏病毒,或者也可以作为未知信息提示企业版服务端的技术人员进行进一步的分析判断等等。或者,特征库中保存的特征也可以是一个白名单,这可以看作是一个宏知识库,它记录系统预定义的所有宏,同时还允许用户手工地增加自定义的宏,这样,将目标文档中提取出的特征与特征库中的特征进行匹配时,如果匹配成功,则证明目标文档中不存在宏病毒,否则,如果匹配不成功,则可以认为目标文档中存在宏病毒,或者可能存在宏病毒,提示技术人员进行进一步分析判断,等等。
其中,对于各种形式的特征库,可以是在安装企业版服务端时,就下载最新版本的特征库到企业版服务端所在的计算机本地;而在公有云服务器端,在通过对新的宏病毒变种的分析获得新的宏病毒特征之后,可以及时地对特征库进行更新,而企业版服务端的宏病毒查杀引擎可以定时或者不定时的连接公有云服务器,对特征库进行升级更新。其中,具体在对特征库进行升级时,可以采用覆盖式或者增量式的更新方法。也就是说,由于特征库本身一般是一个文件,因此,当企业版服务端需要更新特征库时,可以从公有云服务器下载完整的最新版本的特征库文件,用新下载到的特征库文件覆盖之前的特征库文件。或者,也可以将当前版本上传到公有云服务器,公有云服务器仅将最新版本中相对于当前版本存在更新的内容返回给企业版服务端,企业版服务端再根据公有云服务器返回的数据,对之前的特征库文件进行更新,包括增加新的特征、修改原有特征、删除原有特征,等等。
需要说明的是,在本发明实施例中,由于病毒库只保存在企业版服务端所在的计算机上,因此,只要企业版服务端所在的计算机能够连接到互联网,即可及时对特征库进行升级更新,而不需要各个企业版客户端分别进行下载及更新,因此,有利于节省企业网的带宽资源。
S104:根据判断结果向所述企业版客户端返回处理指令。
在判断出目标文档中是否存在宏病毒之后,就可以向企业版客户端返回指令。例如,如果判断出目标文档中不存在宏病毒,则证明目标文档是安全的,因此可以直接返回一个将当前截获到的请求放行的指令,这样,打开文档的请求会顺利到达原调用地址,进行文档的打开及后续的编辑操作。
而如果判断出目标文档中存在宏病毒,则证明目标文档是不安全的,则可以将目标文档中存在的宏病毒清除,得到一个安全文档,并下发给企业版客户端。然后,在返回给企业版客户端的指令中可以包括以下几方面的信息:首先,将当前截获到的请求丢弃,也即确保请求打开原目标文档的请求不会再被执行,同时指示企业版客户端将原目标文档删除,替换为清除了宏病毒之后的安全文档,并将安全文档打开。这样,企业版客户端执行的结果是:向用户打开了一个文档,使得用户能够查看到文档中的内容,并且避免触发原来存在于该文档中的宏病毒,保证系统的安全性。
需要说明的是,具体如何判断一个文档中是否包含宏病毒,以及如何清除文档中的宏病毒,属于已有技术中的方法,这里不再详述。
总之,在本发明实施例中,在需要打开一个文档时,企业版客户端可以将该文档上传至企业版服务端进行宏病毒的查杀,这样,就不必在企业版客户端保存宏病毒特征库,不会出现病毒库过于庞大臃肿而导致查杀效率下降的问题,并且,企业版服务端保存的宏病毒特征库可以及时的更新,这样可以更及时的应对新的宏病毒变种,达到更全面的宏病毒查杀效果。并且,由于单个用户在操作文件时可以及时发现文件中是否存在宏病毒,因此,可以避免从一个用户到企业网内其他用户的宏病毒传播,提高企业网内部抵御宏病毒的能力。
与本发明实施例提供的宏病毒查杀方法相对应,本发明实施例还提供了一种宏病毒查杀系统,该系统应用于企业版病毒查杀应用程序中,其中,所述企业版病毒查杀应用程序包括安装在企业用户管理控制中心计算设备上的企业版服务端,以及安装在企业用户终端设备上的企业版客户端,通过企业版服务端实现对各个企业版客户端所在用户终端设备的统一管理,参见图2,所述系统可以包括以下单元:
监控单元201,位于企业版客户端,用于对打开特定类型文档的操作进行监控;所述特定类型文档包括办公软件文档;
上传单元202,位于企业版客户端,用于当监控到打开目标文档的请求时,对所述请求进行拦截,并将所述目标文档上传到企业版服务端;
判断单元203,位于企业版服务端,用于判断所述目标文档中是否含有宏病毒;
指令返回单元204,位于企业版服务端,用于根据判断结果向所述企业版客户端返回处理指令。
具体实现时,根据查杀结果的不同,所述指令返回单元204具体可以包括:
第一指令返回子单元,用于如果判断结果为所述目标文档中不含有宏病毒,则向所述企业版客户端返回将所述请求放行的指令。
或者,所述指令返回单元204也可以包括:
清除子单元,用于如果判断结果为所述目标文档中含有宏病毒,则将所述目标文档中的宏病毒清除,得到安全文档;
第二指令返回子单元,用于向所述企业版客户端返回所述安全文档,以及返回丢弃所述请求、用所述安全文档替换所述目标文档并打开所述安全文档的指令。
在实际应用中,由于宏病毒查杀的过程中可能需要一段时间,因此,在从拦截到请求到接收到企业版服务端返回指令之前,该装置还可以包括:
显示单元,位于企业版客户端,用于所述对所述请求进行拦截之后,加载显示预置的界面,用以显示正在进行宏病毒检测。
具体实现时,所述判断单元203可以包括:
特征提取子单元,用于从所述目标文档包含的脚本中进行特征提取;
特征比对子单元,用于将提取到的特征与预置的宏病毒库中保存的特征进行比对,根据比对结果判断是否存在宏病毒。
另外,该系统还可以包括:
更新单元,位于企业版服务端,用于连接公有云服务器,以便对企业版服务端的宏病毒库进行升级更新。
总之,在本发明实施例中,在需要打开一个文档时,企业版客户端可以将该文档上传至企业版服务端进行宏病毒的查杀,这样,就不必在企业版客户端保存宏病毒特征库,不会出现病毒库过于庞大臃肿而导致查杀效率下降的问题,并且,企业版服务端保存的宏病毒特征库可以及时的更新,这样可以更及时的应对新的宏病毒变种,达到更全面的宏病毒查杀效果。并且,由于单个用户在操作文件时可以及时发现文件中是否存在宏病毒,因此,可以避免从一个用户到企业网内其他用户的宏病毒传播,提高企业网内部抵御宏病毒的能力。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的宏病毒查杀设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明还公开了A1、一种宏病毒查杀方法,应用于企业版病毒查杀应用程序中,其中,所述企业版病毒查杀应用程序包括安装在企业用户管理控制中心计算设备上的企业版服务端,以及安装在企业用户终端设备上的企业版客户端,通过企业版服务端实现对各个企业版客户端所在用户终端设备的统一管理,所述方法包括:
所述企业版客户端对打开特定类型文档的操作进行监控;所述特定类型文档包括办公软件文档;
当监控到打开目标文档的请求时,对所述请求进行拦截,并将所述目标文档上传到企业版服务端;
所述企业版服务端判断所述目标文档中是否含有宏病毒;
根据判断结果向所述企业版客户端返回处理指令。
A2、如A1所述的方法,所述根据判断结果向所述企业版客户端返回处理指令包括:
如果判断结果为所述目标文档中不含有宏病毒,则向所述企业版客户端返回将所述请求放行的指令。
A3、如A1所述的方法,所述根据判断结果向所述企业版客户端返回处理指令包括:
如果判断结果为所述目标文档中含有宏病毒,则将所述目标文档中的宏病毒清除,得到安全文档;
向所述企业版客户端返回所述安全文档,以及返回丢弃所述请求、用所述安全文档替换所述目标文档并打开所述安全文档的指令。
A4、如A1所述的方法,还包括:
所述企业版客户端对所述请求进行拦截之后,加载显示预置的界面,用以显示正在进行宏病毒检测。
A5、如A1至A4任一项所述的方法,所述判断所述目标文档中是否含有宏病毒,包括:
从所述目标文档包含的脚本中进行特征提取;
将提取到的特征与预置的宏病毒库中保存的特征进行比对,根据比对结果判断是否存在宏病毒。
A6、如A5所述的方法,还包括:
连接公有云服务器,以便对企业版服务端的宏病毒库进行升级更新。
本发明还公开了B7、一种宏病毒查杀系统,应用于企业版病毒查杀应用程序中,其中,所述企业版病毒查杀应用程序包括安装在企业用户管理控制中心计算设备上的企业版服务端,以及安装在企业用户终端设备上的企业版客户端,通过企业版服务端实现对各个企业版客户端所在用户终端设备的统一管理,所述系统包括:
监控单元,位于企业版客户端,用于对打开特定类型文档的操作进行监控;所述特定类型文档包括办公软件文档;
上传单元,位于企业版客户端,用于当监控到打开目标文档的请求时,对所述请求进行拦截,并将所述目标文档上传到企业版服务端;
判断单元,位于企业版服务端,用于判断所述目标文档中是否含有宏病毒;
指令返回单元,位于企业版服务端,用于根据判断结果向所述企业版客户端返回处理指令。
B8、如B7所述的系统,所述指令返回单元包括:
第一指令返回子单元,用于如果判断结果为所述目标文档中不含有宏病毒,则向所述企业版客户端返回将所述请求放行的指令。
B9、如B7所述的系统,所述指令返回单元包括:
清除子单元,用于如果判断结果为所述目标文档中含有宏病毒,则将所述目标文档中的宏病毒清除,得到安全文档;
第二指令返回子单元,用于向所述企业版客户端返回所述安全文档,以及返回丢弃所述请求、用所述安全文档替换所述目标文档并打开所述安全文档的指令。
B10、如B7所述的系统,还包括:
显示单元,位于企业版客户端,用于所述对所述请求进行拦截之后,加载显示预置的界面,用以显示正在进行宏病毒检测。
B11、如B7至B10任一项所述的系统,所述判断单元包括:
特征提取子单元,用于从所述目标文档包含的脚本中进行特征提取;
特征比对子单元,用于将提取到的特征与预置的宏病毒库中保存的特征进行比对,根据比对结果判断是否存在宏病毒。
B12、如B11所述的系统,还包括:
更新单元,位于企业版服务端,用于连接公有云服务器,以便对企业版服务端的宏病毒库进行升级更新。