一种感染型病毒修复方法及系统与流程

文档序号:11601872阅读:197来源:国知局
本发明涉及计算机安全
技术领域
,特别是涉及一种感染型病毒修复方法及系统。
背景技术
:随着互联网技术的发展,在线生活日益丰富和多元化,相应的,计算机病毒也层出不穷,互联网用户在网络购物、在线虚拟物品买卖、基于用户账号及密码访问的网络聊天等网络操作过程中,容易受到计算机病毒的侵扰,产生各种安全问题,甚至直接遭受财产损失。在各种计算机病毒中,感染型病毒通过修改正常文件实现恶意行为的感染和传播,危害性最大。目前市场上的安全软件大多提供感染型病毒的修复功能,但是,感染型病毒不断推陈出新,现有的互联网信息安全解决方案需要客户端定期、及时更新病毒库以及进行产品模块升级更新,过于依赖客户端,而相当一部分互联网用户的安全软件使用观念不正确,忽视安全软件客户端病毒库及产品模块的升级和更新,导致现有的基于客户端的病毒识别和清除并不能无法完全实现实时防护的目的。因此,亟需一种感染型病毒修复方案用以解决上述问题。技术实现要素:本发明的目的在于提供一种感染型病毒修复方法及系统,用以解决现有的互联网信息安全解决方案存在的响应速度差的问题,以及对客户端的依赖性问题。为此,本发明实施例采用如下技术方案:一种感染型病毒修复方法,基于云服务技术实现,所述方法包括:接收客户端发送的文件特征值;根据所述文件特征值在病毒样本数据库中查询所述文件的属性;若未查询到所述文件的属性,则向客户端发送上传文件请求,其中,所述文件属性是表示文件是否感染了感染型病毒的文件属性;接收客户端根据所述上传文件请求上传的文件,并对所述文件进行病毒鉴定;根据病毒鉴定结果判断所述文件是否被感染了感染型病毒,若是,则对所述文件进行修复;将修复后的文件的存储位置信息发送给所述客户端,以使客户端根据所述存储位置信息下载修复后的文件并替换感染了感染型病毒的文件。本发明实施例还提供一种病毒修复系统,所述病毒修复系统应用云服务技术,该系统设置有病毒样本数据库,用于存储文件特征值以及用于存储表示文件是否感染了感染型病毒的文件属性,所述病毒修复系统包括:样本查询接入服务器,用于接收客户端发送的文件特征值;当所述样本收集服务器未查询到文件的属性时,向客户端发送上传文件请求;以及将所述病毒修复服务器修复后的文件的存储位置信息发送给所述客户端,以使客户端根据所述存储位置信息下载修复后的文件并替换感染了感染型病毒的文件;以及接收客户端上传的文件;样本收集服务器,用于根据所述特征值,在所述病毒样本数据库中查询所述文件的属性;病毒鉴定服务器,用于当所述样本收集服务器未查询到所述文件的属性时,对所述文件进行病毒鉴定;病毒修复服务器,用于根据所述病毒鉴定服务器的病毒鉴定结果判断所述文件是否被感染了感染型病毒,若是,则对所述文件进行修复。与现有技术相比,本发明的实施例具有如下优点:本发明的实施例通过应用云服务技术实现,在云端存储文件特征值以及表示文件是否感染了感染型病毒的文件属性,只要新发现一例感染型病毒,与云服务相连的其他所有客户端均能识别该病毒,提高了病毒识别的有效性和快捷性;服务器端接收到客户端发送的文件特征值后,查询文件的属性,若未查询到文件的属性,则对文件进行病毒鉴定,在云端实现病毒的鉴别;在判断出文件被感染了感染型病毒时,在云端实现感染型病毒的修复,提高了互联网信息安全解决方案的响应速度;将修复后的文件的存储位置信息发送给所述客户端,以使客户端下载修复后的文件并替换感染了感染型病毒的文件,省去客户端升级、更新产品模块的操作,有效降低了客户端的负载和对客户端的依赖性。附图说明图1为本发明实施例提供的感染型病毒修复系统及应用的网络架构示意图;图2为本发明实施例提供的病毒修复系统架构示意图;图3为本发明实施例提供的感染型病毒修复方法流程示意图。具体实施方式下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。参见图1,为本发明实施例提供的病毒修复系统及应用的网络架构示意图。如图所示,该网络架构包括:病毒修复系统10和客户端20,病毒修复系统10基于云服务技术实现,云服务技术是指将计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行与互联网相似,使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。病毒修复系统10设置有病毒样本数据库,用于存储文件特征值以及用于存储表示文件是否感染了感染型病毒的文件属性。客户端20用于在特定条件下收集文件样本(文件特征值)上报给云端,以及在云端未查询到文件属性时,上报文件给病毒修复系统10,用以进行病毒鉴定,当该文件为感染型病毒文件时,接收病毒修复系统10发送的修复后文件存储URL(UniformResourceLocator,统一资源定位符),并替换本地的该感染型病毒文件;病毒修复系统10用于根据客户端20发送的文件特征值查询文件属性,当判断该文件为可疑样本(在病毒样本数据库中未查询到文件属性的文件)时,对该文件进行病毒鉴定,对鉴定出的感染型病毒文件进行修复,记录修复后的文件存储URL,发送给客户端20,其中,可疑样本的来源包括:挂马网站、色情资源、陌生来源共享等。基于云服务的感染型病毒修复方案,能够很好满足互联网时代的反病毒形势。通过云端与客户端的实时交互,云端能够在新病毒或者新变种出现的最短时间内发现并收集样本文件,实现可疑样本的实时收集。云端强大的计算能力能够及时对新发现的可疑样本进行病毒鉴定和判别,并且依赖云端海量的存储能力,保存病毒鉴定结果。通过云端与终端的实时交互,云可以在最短时间内将云端形成的反病毒能力同步到云覆盖范围内的所有客户端,因此,只要新发现一例感染型病毒,与云服务相连的其他所有客户端均能识别该病毒,提高了感染型病毒识别的有效性和快捷性。如图2所示,病毒修复系统10设置有病毒样本数据库102,用于存储文件特征值、用于存储表示文件是否感染了感染型病毒的文件属性、修复后的文件的存储URL,及其之间的对应关系。该系统包括:样本查询接入服务器101、样本收集服务器103、病毒鉴定服务器104以及病毒修复服务器105。其中,样本查询接入服务器101与样本收集服务器103相连,样本收集服务器103与病毒鉴定服务器104相连,病毒鉴定服务器104与病毒修复服务器105相连。样本查询接入服务器101,用于接收客户端20发送的文件及其特征值;以及将病毒修复服务器105修复后的文件的存储URL发送给客户端20,以使客户端20根据存储位置信息下载修复后的文件并替换感染了感染型病毒的文件。样本收集服务器103,用于根据文件特征值,在病毒样本数据库102中查询该文件的属性。病毒鉴定服务器104,用于当样本收集服务器103在病毒样本数据库102中未查询到该文件的属性时,对该文件进行病毒鉴定。病毒修复服务器105,用于根据病毒鉴定服务器104的病毒鉴定结果判断该文件是否被感染了感染型病毒,若是,则对该文件进行修复。其中,病毒鉴定服务器104和病毒修复服务器105可以由数台服务器构成服务器集群,每台服务器构成一个计算节点,利用分布式计算技术,每个计算节点根据一定的规则实现各自的功能。病毒样本数据库102用于存储云端收集过的文件样本(客户端20上报的文件特征值)、病毒鉴定服务器104的病毒鉴定结果(表示文件是否感染了感染型病毒的文件属性)、病毒修复服务器105得到的修复后的文件及对应的存储URL,及其之间的对应关系。以下以一种基于数据库的表结构为例说明病毒样本数据库102存储的上述信息,在具体实施时,实现方式可不仅限于此。如表1所示,病毒样本数据库102记录的信息包括:表1病毒样本数据库表结构1-文件Hash(哈希),文件Hash值在病毒样本数据库102中全局唯一,可以使用业界所广泛使用的MD5(MessageDigestAlgorithm,消息摘要算法第五版)、SHA1(SecureHashAlgorithm,安全哈希)等算法获得。2-文件属性,用于病毒鉴定服务器104内分布式结算节点对该文件的属性判定,例如,文件属性值可以如表2所示:表2文件属性值3-是否可以修复标识,表示病毒鉴定服务器104内分布式节点对判定为感染型病毒的文件是否可修复的判定结果。4-修复后文件Hash,修复后文件的Hash值可能全局不一致,比如,同一个正常文件被不同的病毒感染后,文件Hash会发生改变,但修复后会得到原始文件,这里同样可以使用业界所广泛使用的MD5、SHA1等算法获得。5-修复后生成文件的存储链接,修复后的文件会在云端存储,其URL用以标识其存储位置,用以下发给客户端下载相应的修复后的文件。以下结合图3详细说明本发明实施例的感染型病毒修复方法流程,如图所示,该方法包括以下步骤:步骤301,接收客户端发送的文件特征值。对应于图2所示的病毒修复系统架构,样本查询接入服务器101接收客户端20发送的文件特征值。具体的,当客户端20生成新文件时,计算并发送文件特征值,即,在生成文件或者启动特定文件的特定时刻,计算该文件特征值,并向病毒修复系统10上报该文件特征值,以查询该文件的属性。所述特定时刻包括但不仅限于:文件下载完成时、RAR/ZIP等常见格式压缩包解压后生成文件时、用户启动运行可执行文件时等。客户端20可以采用MD5或SHA1等算法计算文件特征值。步骤302,根据特征值,在病毒样本数据库中查询文件的属性。对应于图2所示的病毒修复系统架构,样本收集服务器103在病毒样本数据库102中查询文件的属性。文件属性对应病毒样本数据库102中存储的曾经从病毒鉴定服务器104获得的样本病毒鉴定结果,鉴定结果包括:普通病毒、感染型病毒、正常文件、无法判定结果等,其中,无法判定结果说明病毒鉴定服务器104无法判定其是否为病毒,客户端20暂时放行,反病毒流程自此完成退出。文件属性通过不同的数值表示文件是否感染了感染型病毒(例如前述表2所示),样本收集服务器103根据文件特征值在病毒样本数据库102中查找相应的文件及其对应的文件属性值,若未找到匹配的文件特征值,则说明病毒样本数据库102中未存储该文件信息,该文件被认为是可疑样本。优选的,在上述进行文件特征值匹配过程之前,也可以由客户端20进行判定,例如,客户端20可以维护某种形式的数据结构,以存储该客户端20上传过的所有文件列表,当该文件不在此列表中时,将文件特征值上报给病毒修复系统10进一步查询文件属性。步骤303,若未查询到文件的属性,则执行步骤304;若查询到文件属性,则执行步骤311。对应于图2所示的病毒修复系统架构,样本收集服务器103根据文件属性查询结果,分别进行相应的处理,具体的,若样本收集服务器103在病毒样本数据库102中未查询到文件的属性,则执行步骤304,向客户端20发送上传文件请求;若样本收集服务器103在病毒样本数据库102中能够查询到文件属性,则执行步骤311,判断该文件是否为感染型病毒。当样本收集服务器103在病毒样本数据库102中未查询到文件的属性时,样本收集服务器103还可以进一步对文件的可疑程度进行判定,即,通过判定文件中包含的敏感字符串、可执行代码中使用的敏感API(ApplicationProgrammingInterface,应用程序编程接口)函数、PE(PortableExecute,可移植执行体)文件不同寻常的节数据分布等确定可疑样本,这些方法是已被业界广泛使用的成熟的方法,且其实施过程中的个体差异不会影响本发明的实施,故不再赘述。步骤304,向客户端发送上传文件请求。对应于图2所示的病毒修复系统架构,当样本收集服务器103确定该文件为可疑样本时,样本查询接入服务器101向客户端发送上传文件请求。步骤305,接收客户端上传的文件。对应于图2所示的病毒修复系统架构,样本查询接入服务器101接收客户端20上传的文件(即客户端上报的文件特征值对应的文件),以便云端进行病毒鉴定。步骤306,对文件进行病毒鉴定,得到并存储鉴定结果。对应于图2所示的病毒修复系统架构,当样本查询接入服务器101接收到客户端20上传的文件时,对相应文件进行病毒鉴定,得到病毒鉴定结果,并将病毒鉴定结果存储于病毒样本数据库102中。具体的,病毒鉴定服务器104可以由数台服务器构成服务器集群,每台服务器构成一个计算节点,利用分布式计算技术,每个计算节点根据一定的规则进行病毒样本鉴定。每个计算节点可以基于云服务的安全厂商所开发的病毒鉴定引擎、基于第三方安全厂商提供的病毒鉴定引擎或者基于对外开放接口形式的普通用户自定义病毒鉴定引擎进行病毒样本鉴定。其中,基于第三方安全厂商提供的病毒鉴定引擎的病毒鉴定,可以由云服务提供商和第三方安全厂商共同协商通信协议,以实现第三方病毒鉴定引擎介入云服务。病毒鉴定服务器104可以依据分配策略为各分布式计算节点分配病毒鉴定任务,分配策略可以包括:按照计算节点的负载情况进行分配(即选择较为空闲或没有病毒鉴定任务的节点)和/或按照计算节点的可信程度进行分配(即选择病毒鉴定能力较高的节点,病毒鉴定能力可以包括病毒检出率以及误报率等)。当需要进行可疑样本病毒鉴定时,各执行病毒鉴定任务的计算节点会以并行方式进行病毒鉴定,即,按照一定规则或者算法判定可疑样本是病毒还是正常文件,常见的判定方法包括:样本特征码比对、主动防御技术、静态启发式检测以及虚拟机技术等,上述判定方法采用现有的技术实现,在此不再赘述。当各个计算节点完成病毒鉴定任务后,病毒鉴定服务器104在预设的时间范围内,对各计算节点的病毒鉴定结果进行汇总,依据病毒鉴定结果汇总策略从所有反馈的病毒鉴定结果中确定最终的病毒鉴定结果(病毒鉴定结果包括:普通病毒、感染型病毒、正常文件、无法判定结果等),并存储到病毒样本数据库102中,且发送病毒鉴定结果给病毒修复服务器105。病毒鉴定结果汇总策略可以为以下列举策略之一或者几种的组合(不仅限于本实施例列举的这些):1、优先采信最先反馈病毒鉴定结果的计算节点;2、按照计算节点的可信程度,优先采信可信程度高的计算节点;例如,可以规定第三方安全厂商接入的病毒鉴定结果相对于用户自定义病毒鉴定结果更加可信。3、优先采信根据历史数据表明的误报率最低的计算节点。步骤307,判断是否为感染型病毒,若是,则执行步骤308;否则执行步骤310。对应于图2所示的病毒修复系统架构,若样本收集服务器103在病毒样本数据库102中查询到的文件属性值为1,则说明文件为感染了感染型病毒的文件,执行步骤308,对其进行修复;若样本收集服务器103在病毒样本数据库102中查询到的文件属性值为0,则说明文件为感染了普通病毒的文件,执行步骤310,通知客户端20按照现有的方式处理。步骤308,对感染了感染型病毒的文件进行修复。对应于图2所示的病毒修复系统架构,病毒修复服务器105接收病毒鉴定服务器104发送的病毒鉴定结果,由病毒修复服务器105对感染了感染型病毒的文件(该文件即为客户端20发送的文件)进行修复,得到修复后的文件。具体的,病毒修复服务器105可以由数台服务器构成服务器集群,每台服务器构成一个计算节点,利用分布式计算技术,每个计算节点根据一定的规则进行感染型病毒文件修复。在每个计算节点上,可以根据其采用的病毒鉴定引擎或者病毒鉴定引擎选择相应的修复方式,例如,针对选用基于云服务的安全厂商所开发的病毒鉴定引擎获得的病毒鉴定结果,选用基于云服务的安全厂商所开发的感染型病毒修复引擎进行文件修复;针对基于第三方安全厂商提供的病毒鉴定引擎获得的病毒鉴定结果,选用第三方安全厂商提供的修复引擎进行文件修复;针对基于对外开放接口形式的普通用户自定义病毒鉴定引擎获得的病毒鉴定结果,选用基于对外开放接口形式的普通用户自定义修复引擎进行文件修复。病毒修复服务器105可以依据分配策略为各分布式计算节点分配修复任务,分配策略可以包括:按照计算节点的负载情况分配和/或按照计算节点的修复能力分配。当各个计算节点完成病毒文件修复任务后,病毒修复服务器105需要依据修复结果汇总策略对各计算节点的修复结果进行汇总,从所有反馈的修复结果中确定最终的修复结果(修复后的文件)。修复结果汇总策略可以为以下列举策略之一或者几种的组合(不仅限于本实施例列举的这些):1、优先采信最先反馈修复结果的计算节点;2、按照计算节点的可信程度,优先采信可信程度高的计算节点;例如,可以规定第三方安全厂商接入的修复结果相对于用户自定义修复结果更加可信。3、优先采信根据历史数据表明的修复率高的计算节点。优选的,病毒修复服务器105还可以将修复后的文件的存储位置信息对应于该文件修复前的特征值存储于病毒样本数据库102中,以便其他客户端或者本客户端在下次遇到同样的感染了感染型病毒的文件时,可以直接根据该URL下载修复后的文件。步骤309,将修复后文件的存储URL发送给客户端。对应于图2所示的病毒修复系统架构,样本查询接入服务器101将病毒样本数据库102中存储的修复后的文件的存储URL发送给客户端20,以使客户端20根据该URL下载修复后的文件,并替换本地的感染了感染型病毒的文件。云端通过下发修复后的文件的存储URL,客户端用户即能将正常文件下载并替换本地被感染文件,达到清除风险的目的。因此,只要新发现一例感染型病毒,所有与云服务相连的其他客户端均具备对该病毒的识别,根据URL下载修复后的文件,提高了病毒识别的有效性和快捷性。步骤310,通知客户端,以使其进行相应处理。对应于图2所示的病毒修复系统架构,若该文件为普通病毒,则样本查询接入服务器101通知客户端20,以使客户端20删除该普通病毒文件;若该文件为正常文件,则通知客户端20,客户端20不做处理;若无法判定该文件是否为病毒,客户端20暂时放行。具体的,客户端20可以直接调用WindowsAPIDeleteFile函数,进行文件(普通病毒)删除,或者调用WindowsAPIMoveFileEx函数,在提示用户重启计算机后依赖Windows系统机制进行文件(普通病毒)删除。在上述感染型病毒修复流程的步骤308中,常见的感染型病毒实现方式及相应的修复方法,通常包括以下几种:1、将病毒代码包含到正常程序代码中,比如,将其放到PE文件自身的资源节里面,在病毒文件中的恶意代码执行完毕后再释放出正常的程序执行。修复方法:找到正常程序的代码/数据起始点,并拷贝出来生成目标文件(即修复后的文件),同时删除恶意程序文件。2、将恶意程序与正常程序一起压缩为RAR/ZIP等常见的压缩包格式文件。修复方法:解压后删除恶意程序,并重新压缩,生成目标文件。3、在PE文件中加入一个节存放恶意代码,并修改该PE文件的入口点(EntryPoint),使其直接执行恶意代码。修复方法:删除多余的节的数据,并将入口点还原。4、在PE文件的节间间隙或者某个节中直接存放恶意代码。修复方法:通过反汇编找到恶意代码并进行删除。5、直接修改原始文件的执行逻辑,例如,将第一条指令改为JMP***,恶意代码执行完毕后再JMP回正常代码的开始位置。修复方法:删除多余的指令,修正为原始的执行逻辑。本发明的实施例通过应用云服务技术实现,在云端存储文件特征值以及表示文件是否感染了感染型病毒的文件属性,只要新发现一例感染型病毒,与云服务相连的其他所有客户端均能识别该病毒,提高了病毒识别的有效性和快捷性;服务器端接收到客户端发送的文件特征值后,查询文件的属性,若未查询到文件的属性,则对文件进行病毒鉴定,在云端实现病毒的鉴别;在判断出文件被感染了感染型病毒时,在云端实现感染型病毒的修复,提高了互联网信息安全解决方案的响应速度;将修复后的文件的存储位置信息发送给所述客户端,以使客户端下载修复后的文件并替换感染了感染型病毒的文件,省去客户端升级、更新产品模块的操作,有效降低了客户端的负载和对客户端的依赖性。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1