扫描方法、设备和系统以及云端管理方法和设备的制作方法

文档序号:6382919阅读:223来源:国知局
专利名称:扫描方法、设备和系统以及云端管理方法和设备的制作方法
技术领域
本发明涉及网络信息安全技术领域,具体涉及一种扫描方法、设备和系统以及云端管理方法和设备。
背景技术
现有的恶意程序查杀方法,大多由本地引擎根据内置的扫描位置进行扫描,把本地无法识别的未知程序文件的M D 5等特征发送给云端服务器,由云端服务器根据客户端发送的程序文件特征进行比对并判断是否为恶意程序,如果是恶意程序客户端本地引擎再根据内置客户端本地的清除逻辑清理恶意程序。然而在恶意程序与安全软件白热化的持续对抗中,恶意程序作者总会找到操作系统新的可利用的点和安全软件忽视的点从而绕过安全软件的检测和查杀。此时安全厂商拿到恶意程序的样本后,通常需要修改本地引擎才能查杀新的恶意程序,从拿到样本到人工分析然后把新版本引擎程序文件升级到所有客户端,在这期间恶意程序已经大面积传播。

发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的扫描方法、设备和系统以及云端管理方法和设备。依据本发明的一个方面,提供了一种用于恶意程序查杀的扫描设备,包括第一传输接口,被配置为向服务器端设备传输信息,以及接收服务器端设备传输的信息;第一扫描器,被配置为根据已知扫描逻辑对客户端设备进行扫描,并将扫描得到的未知程序文件的特征数据通过第一传输接口传输至服务器端设备;以及第二扫描器,被配置为通过传输接口获得服务器端设备传输的第二扫描内容指示,第二扫描内容指示包括对未知程序文件的指定属性和/或未知程序文件的上下文环境的指定属性进行扫描,以及根据第二扫描内容指示进行扫描。根据本发明的又一方面,提供了一种用于恶意程序查杀的云端管理设备,包括第二传输接口,被配置为向客户端设备传输信息,以及接收客户端设备传输的信息;第一匹配器,被配置为通过第二传输接口获得客户端设备传输的未知程序文件的特征数据,并据此在已知的恶意程序特征数据记录中进行匹配;以及第二指示器,被配置为当第一匹配器未能匹配到已知记录时生成第二扫描内容指示,第二扫描内容指示包括对未知程序文件的指定属性和/或未知程序文件的上下文环境的指定属性进行扫描,并通过第二传输接口传输至客户端设备。根据本发明的又一方面,提供了一种基于云安全的恶意程序扫描系统,包括如上任一的用于恶意程序查杀的扫描设备,以及如上任一的用于恶意程序查杀的云端管理设备。根据本发明的又一方面,提供了一种用于恶意程序查杀的扫描方法,包括根据已知扫描逻辑对客户端设备进行扫描,并将扫描得到的未知程序文件的特征数据传输至服务器端设备;获得服务器端设备传输的第二扫描内容指示,第二扫描内容指示包括对未知程序文件的指定属性和/或未知程序文件的上下文环境的指定属性进行扫描;以及根据第二扫描内容指示对客户端设备进行扫描。根据本发明的又一方面,提供了一种用于恶意程序查杀的云端管理方法,包括获得客户端设备传输的未知程序文件的特征数据,并据此在已知的恶意程序特征数据记录中进行匹配;当根据未知程序文件的特征数据未能匹配到已知记录时,生成第二扫描内容指示,第二扫描内容指示包括对未知程序文件的指定属性和/或未知程序文件的上下文环境的指定属性进行扫描;将第二扫描内容指示传输至客户端设备。根据本发明的又一方面,提供了一种基于云安全的恶意程序扫描方法,包括客户端设备根据已知扫描逻辑进行扫描,并将扫描得到的未知程序文件的特征数据传输至服务器端设备;服务器端设备根据据未知程序文件的特征数据在已知的恶意程序特征数据记录中进行匹配;当根据未知程序文件的特征数据未能匹配到已知记录时,生成第二扫描内容指示,第二扫描内容指示包括对未知程序文件的指定属性和/或未知程序文件的上下文环境的指定属性进行扫描,以及将第二扫描内容指示传输至客户端设备;客户端设备根据第二扫描内容指示对客户端设备进行扫描。根据本发明提供的实施例可以看出,在仅通过未知程序文件的基本特征数据(如文件名、MD5、SHAl或根据文件内容计算出的其他特征等)无法判断是否为恶意程序或者无法找到准确的修复方案时,可以再通过要求客户端设备进一步扫描未知程序文件的签名、版本等指定属性和/或未知程序文件的上下文环境的属性来做进一步判断,从而能更准确的判断出客户端自己无法确定是否安全的未知程序文件。由于采用这种方案,云端服务器及时下发个性化的扫描内容,并根据程序文件的属性及其所在上下文环境的属性从服务器端动态获取查杀方法,避免了通过升级本地特征库和引擎程序才能检测和清除新生恶意程序,从而加快了对新生恶意程序的打击速度,有效地遏制了其快速蔓延。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式



通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中图1示出了根据本发明一个实施例的基于云安全的恶意程序扫描系统;图2示出了根据本发明一个实施例的基于云安全的恶意程序扫描方法流程图;以及图3示出了根据本发明又一个实施例的基于云安全的恶意程序查杀方法流程图。
具体实施例方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等
坐寸ο计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。请参阅图1,其示出了根据本发明一个实施例的基于云安全的恶意程序扫描系统,包括用于恶意程序查杀的扫描设备110,以及用于恶意程序查杀的云端管理设备210,其中,扫描设备Iio可以设置于客户端,比如客户端设备100中,云端管理设备210可以设置于服务器端,比如服务器端设备200中。扫描设备110可以和云端管理设备210进行通信,具体而言,扫描设备110中的第一传输接口 112可以向服务器端设备200传输信息,以及接收服务器端设备200传输的信息;云端管理设备的第二传输接口 218可以向客户端设备100传输信息,以及接收客户端设备100传输的信息。其中,扫描设备Iio可以包括环境信息读取器112、第一扫描器114、第二扫描器116以及第一传输接口 118。云端管理设备210可以包括第一指示器212、第一匹配器214、第二指示器216以及第二传输接口 218。首先,环境信息读取器112读取客户端设备100当前的系统环境信息,并通过第一传输接口 118传输至服务器端设备200的第二传输接口 218。客户端设备100当前的环境系统信息可以包括很多,比如操作系统的版本信息、系统补丁安装信息、软件安装信息、驱动安装信息以及活动进程和服务信息等信息中的任意一种或多种。其中,操作系统有很多种,比如 windows 98>windows2003>windows XP 以及 Windows Vista等,不同操作系统对应的版本信息也不同,因此通过操作系统的版本信息,服务器端设备200就可以知道客户端设备100当前运行的是哪种具体版本的操作系统。活动进程即为系统中正在运行的进程,可以通过调用相应的API (Application Programming Interface,应用程序编程接口)函数等多种手段在系统中查询到当正在运行的各种进程信息,以及进程相关的标识符,用户名,cpu占用率,内存占用率,描述信息等。在客户端设备100初始化本地引擎和网络环境之后,环境信息读取器112就可以读取当前的系统环境信息,并传输至服务端设备200。位于服务器端设备200中的云端管理设备210中的第二传输接口 218接收到客户端设备100当前的系统环境信息之后,传输给第一指示器212,进而第一指示器212根据新生恶意程序的特性和客户端设备100传输的系统环境信息生成第一扫描内容指示。其中,新生恶意程序的特性可以有很多种,比如根据最新恶意程序的流行趋势分析出的新生恶意程序利用特定位置进行隐藏和/或攻击的特征信息,比如新生恶意程序通常利用的位置,如某游戏的安装目录、常用软件的安装目录、某些特定的注册表项等。进而,服务器端设备200可以根据新生恶意程序通常利用的隐藏和/或攻击位置,结合客户端设备上报的当前系统环境信息,就可以给出针对该客户端设备个性化的扫描内容指示,即第一扫描内容指示。比如通过客户端设备100上报的软件安装信息发现该客户端设备100安装了某个游戏软件,而根据新生恶意程序的特性知道当前很多恶意程序都是利用该游戏软件的安装目录进行隐藏或恶意替换文件,则服务器端设备200就会在第一扫描内容指示中要求客户端设备100扫描该游戏安装目录下的内容,以便发现该客户端设备100中可疑的未知程序文件。可以看出,由于第一扫描内容指示不仅仅依据服务器端掌握的新生恶意程序的特性,还要结合客户端设备100的具体系统环境信息,因此第一扫描内容指示是个性化的,有针对性的,针对不同的客户端设备100下发的第一扫描内容指示往往是不同的。在第一扫描内容指示中至少包括对指定位置的内容进行扫描并要求告知扫描到的未知程序文件的特征数据,具体而言,第一扫描内容指示可以是根据新生恶意程序的特性和客户端设备100当前的系统环境信息生成的一段文本或脚本,即通过该指示可以告知客户端设备100需要扫描哪些内容,以及上报哪些扫描结果。应当注意的是,第一扫描内容指示可以是不附带任何条件的指示,也可以是附条件的指示。如果是附条件的指示,则只有在满足预置条件时,客户端设备100中的扫描设备110才根据第一扫描内容指示进行扫描。第一扫描指示可以附带的条件有很多,比如包括但不限于下述内容中的一种或多种指定文件是否存在、指定目录是否存在、程序文件的属性是否满足指定条件(比如消息摘要MD5是否为指定值)、指定注册表键是否存在、指定注册表键值是否存在、注册表键的内容是否满足指定条件、注册表键值的内容是否满足指定条件(比如是否包含或等于特定字符串或者某个值)、指定进程是否存在、指定服务是否存在以及指定服务是否满足指定的条件(比如是否为特定的服务名称、特定的服务描述或特定的显不名称)等。服务器端在第一指示器212生成第一扫描内容指示之后,就将该第一扫描内容指示通过第二传输接口 218传输至客户端设备100中的第一传输接口 118。然后,位于客户端设备100中的扫描设备110的第一传输接口 118,将接收到的服务器端设备200至少基于系统环境信息判断得到的第一扫描内容指不告知第一扫描器114。进而,第一扫描器114对第一扫描内容指不中的指定位置进行扫描。前面提到,第一扫描内容指示可以是附条件的指示,或者称为扫描条件,那么第一扫描器114需要先判断是否满足第一扫描内容指示所附带的扫描条件,比如前面提到的那些可选条件。当第一扫描器114判断满足第一扫描内容附带的条件时,才对第一扫描内容指示中的指定位置进行扫描。当然,如果第一扫描内容指示不是附条件的指示,则第一扫描器114就无需先判断,直接按照第一扫描内容中指不的扫描位置扫描即可。可选的,第一扫描器114除了按照第一扫描内容指示在客户端设备100中进行个性化的扫描外,第一扫描器114还可以对客户端设备100本地引擎内置的扫描位置进行常规扫描。在第一扫描器114完成扫描之后就会发现未知程序文件,然后提取未知程序文件的特征数据,特征数据可以有很多种,比如下述信息中的一种或多种对未知程序文件的全部或部分关键内容(即从文件中抽取一部分内容)根据特定的算法(如MD5、SHAl或其他算法)计算出的数据以及文件名等。程序文件的这些特征数据,可以理解为是程序文件的基本属性信息。第一扫描器114在获得未知程序文件的特征数据后,就将未知程序文件的特征数据通过第一传输接口 118传输至服务器端设备200中的第二传输接口 218。进而,服务器端的第二传输接口 218将收到的未知程序文件的特征数据提供给第一匹配器214,第一匹配器214据此在已知的恶意程序查杀数据库中进行匹配,在该数据库中记录有恶意程序的一些特征信息,此外还可以记录判断是否为恶意程序的判断逻辑,以及可能的查杀方法(如修复逻辑)等。其中,恶意程序的特征可以包括很多信息,比如文件名、程序文件的摘要、文件大小、签名信息、版本信息等文件的属性信息,再比如还可以包括文件所在目录、注册表中的启动位置、同目录下或指定目录下其他文件的属性等程序文件的上下文环境属性。因为现有恶意程序比较复杂,往往单纯通过一两个特征无法准确判断是否为恶意程序,很多情况下需要根据多种特征综合判断,这种综合判断未知程序文件是否为恶意程序的逻辑就是前述的判断逻辑。查杀方法包括但不限于扫描/判定和修复操作。由于服务器端的存储量、运算量以及收集恶意程序特征信息的能力、更新速度都远远强于客户端,因此,当客户端设备100根据本地引擎无法判断的未知程序文件,服务器端设备200就可以根据已知的数据库判断出来。如果第一匹配器214在已知的恶意程序查杀数据库中匹配成功,即能够判断该未知程序文件是否为恶意程序,可选的,某些情况还可以匹配出对应的修复逻辑,则可以将判断结果和对应的修复逻辑通过第二传输接口 218反馈给客户端设备100的第一传输接口118。可选的,客户端设备100还包括查杀器,客户端设备100中的第一传输接口 118将服务器端设备200基于未知程序文件的特征判断出其是否为恶意程序的判断结果和修复逻辑告知查杀器,查杀器执行对应的操作。比如,如果判断结果发现该未知程序文件是恶意程序,则查杀器根据服务器端设备200返回的修复逻辑对未知程序文件进行修复处理。修复处理包括但不限于删除指定的注册表键/值、修改注册表键/值为指定内容、删除指定系统服务项、修复/删除指定程序文件等。具体到修复指定程序文件,则根据需要修复的文件类型不同有多种修复方案。比如,有些需要修复的是系统文件,有些是常用软件的程序文件,有些是一般的文件。修复这些程序文件的基本原理类似,通常都是服务器端根据客户端需要修复的程序文件的一些属性信息,在云端数据库中进行匹配,查找是否有匹配的未感染病毒的程序文件,如果有,就提供给客户端进行替换,从而完成修复。不同文件在具体匹配时可以根据实际需要设置不同的匹配条件,比如如果是系统文件,可以要求文件的各种属性信息(如文件名称、版本信息等)全部一致,才算匹配成功,即成功找到用于修复的替换文件;而对于非系统的一般文件,如果云端数据库中存储的是基本版本或者是标准版本,则也可以认为匹配成功。此外,即便同样是系统文件,或者同样是非系统的一般文件,也可以根据文件的实际应用环境不同、要求不同、或者是操作系统不同而设置不同的匹配条件。比如,可能某种系统文件,就需要文件名称、版本信息等各种属性全部一致才算匹配成功,但另一种系统文件,只需要文件名称一致、版本为基本版本或标准版本,就可以认为是匹配成功。下面再给以一种常用软件被木马破坏为例,详细说明修复过程中如何对程序文件进行替换。例如,木马破坏了某种常用软件的程序文件后,原程序文件的信息已经不可用了。这种情况下服务器端设备200通过客户端设备100之前提供的有关该软件的信息,如软件名称,版本,程序文件的版本、目录等,就可以知道需要为客户端设备100提供哪些替换文件,进而根据文件名称、版本等信息在云端数据库中进行匹配,找出未感染病毒并且匹配的替换文件提供给客户端设备100,然后客户端设备100将服务器端设备200提供的未感染病毒、与本机一致的程序文件,替换原来被破坏的程序文件即可。如果第一匹配器214在已知的恶意程序查杀数据库中未能匹配成功,即根据未知程序文件的特征数据无法准确匹配,则会通知第二指示器216,进而第二指示器216根据未知程序文件的特征数据提供的基本信息以及已知新生恶意程序的特性,继续生成第二扫描内容指示。因为通过第一指示器已经知道了未知程序文件的特征数据等基本属性信息,然后再结合当前恶意程序的特性,比如这类未知程序文件如果是恶意程序,一般还具有哪些特性,比如该未知程序文件的签名信息可能不是指定名称、该未知程序文件所在目录或相关目录下的其他文件属性可能是指定属性等。具体而言,第二扫描内容指示包括对未知程序文件的指定属性和/或未知程序文件的上下文环境的指定属性进行扫描。例如,第二扫描内容指示可以仅要求客户端设备100扫描未知程序文件的指定属性并上报,也可以仅要求客户端设备100扫描未知程序文件的上下文环境的指定属性并上报,还可以要求客户端设备100将其他指定属性和上下文环境的指定属性一并上报。应当注意,未知程序文件的指定属性包括但不限于下述信息中的一种或多种特征数据、文件大小、安全级别、签名信息以及版本信息等。需要说明的是,虽然此前客户端设备100根据服务器端的第一扫描内容指示扫描后已经上报过未知程序文件的特征数据这一基本属性了,但是由于客户端设备100和服务器端设备200可能不是长连接,因此后续客户端设备100在根据服务器端第二扫描内容指示扫描后上报未知程序文件的指定属性信息时,有可能还需要再将未知程序文件的特征数据等基本信息再上报一次。因此第二扫描内容指示中,可能既有要求扫描并上报未知程序文件特征数据以外的其他指定属性的内容,又有要求扫描并上报未知程序文件特征数据的内容。当然,如果客户端设备100和服务器端设备200之间是长连接,那么第二扫描内容指示中也可以不要求客户端设备100再上报一次曾经上报过的未知程序文件的特征数据等基本信息。安全级别包括但不限于恶意(即属于黑名单)、安全(即属于白名单、可信)、未知以及可疑等。未知程序文件的上下文环境的属性包括但不限于下述信息中的一种或多种未知程序文件所在目录的信息、指定注册表键值的信息、与所述程序文件同目录或指定目录下的其他文件的属性信息、以及指定进程的运行状态等。第二指示器216在生成第二扫描内容指示后,通过第二传输接口 218传输至客户端设备100中的第一传输接口 118,进而第一传输接口 118再将第二扫描内容指示通知第二扫描器116。第二扫描器116再根据第二扫描内容指示对未知程序文件的指定属性信息和/或上下文环境的属性信息进行扫描,最后将扫描结果传输至服务器端设备200的第二传输接口 218。在本发明的一个实施例中,第二传输接口 218将接收到的第二扫描器116提供的扫描结果再告知第二指示器216,进而第二指示器216据此在已知的恶意程序查杀数据库中进行分析比对,前面已经给出过恶意程序查杀数据库的具体内容,由此可知,因为此次客户端设备100提供的未知程序文件的扫描结果包含了更多的信息,比如包含了未知程序文件的签名信息、安全级别、版本信息等其他属性,或者包含了未知程序文件的上下文环境的各种属性信息,再或者未知程序文件的其他属性和上下文环境的属性都扫描到了,那么第二指示器216就可以根据这些更全面的信息,以及恶意程序查杀数据库中的特征信息及判断逻辑进一步分析判断该未知程序文件是否为恶意程序文件,如果判断是恶意程序还可以进一步查看是否有对应的修复逻辑。修复逻辑包括但不限于下述逻辑中的一种或多种删除指定的注册表键和/或键值、修改注册表键和/或键值为指定内容、删除指定系统服务项以及修复或删除指定程序文件。进而,第二指示器216通过第二传输接口 218将未知程序文件是否为恶意程序文件的判断结果传输至客户端设备100。进一步,如果判断结果是恶意程序,并且在已知的恶意程序查杀数据库中能够找到匹配的修复逻辑,则也将匹配的修复逻辑通过第二传输接口218传输至客户端设备。客户端的扫描设备110还包括第一处理器,第一处理器通过第一传输接口 118获得服务器端设备200中第二指示器提供的未知程序文件是否为恶意程序文件的判断结果,并根据该判断结果进行相应的处理。比如,如果判断结果是安全的程序文件,则不用再对未知程序文件进行查杀处理;如果判断结果是恶意程序,并且第二指示器216提供了修复逻辑,则可以提示用户,并询问用户是否进行修复,在得到用户的确认后根据该修复逻辑对未知程序文件进行修复处理。在本发明的另一个实施例中,为了减少客户端设备100和服务器端设备200之间的通信,第二指示器216还可以在将第二扫描内容指示告知客户端设备100的同时,将与第二扫描内容指示相关的判断逻辑,甚至与判断逻辑相关的修复逻辑一起发送给客户端设备100。具体而言,因为第二扫描内容指示主要包括对未知程序文件的特征数据以外的其他指定属性和/或未知程序文件的上下文环境的指定属性进行扫描,因此服务器端可以预知客户端设备100按照第二扫描内容指示扫描后可能会得到哪些扫描结果,然后根据恶意程序查杀数据库可以判断出什么样的扫描结果表明该未知程序文件是恶意程序,因此可以查找出与第二扫描内容指示相关的判断逻辑,即如何根据后续的扫描结果判断出该未知程序文件是否是恶意程序。如果是恶意程序,则还可以进一步根据已知的恶意程序查杀数据库查找是否有与上述第二扫描内容指示、判断逻辑相关的修复逻辑。处于客户端的扫描设备110还可以包括第二处理器,第二处理器通过传输接口118获得服务器端第二指示器216提供的与第二扫描内容指示相关的判断逻辑,然后根据该判断逻辑以及第二扫描器116按照第二扫描内容指示扫描后得到的扫描结果,判断该未知程序文件是否为恶意程序,并进行相应的处理。比如,如果判断结果为该未知程序文件是恶意程序,并且服务器端的第二指示器216还发送了与判断逻辑相关的修复逻辑,则可以在第二扫描器116提供的扫描结果满足该修复逻辑时,根据该修复逻辑进行相应的修复处理。其余处理的具体内容与上个实施例中第一处理器做所的相应处理类似,不再赘述。可以看出在这个实施例中,第二扫描器116就不再需要将按照第二扫描内容指示对未知程序文件进行扫描后的结果上传到服务器端设备了,而是直接提供给第二处理器即可。通过上述实施例可以看出,如果扫描设备110只包括环境信息读取器112、第一扫描器114、第二扫描器116以及第一传输接口,则其为单纯的恶意程序扫描设备,如果还包括第一处理器或第二处理器,则该扫描设备本质上是能够完成恶意程序查杀的设备,可以理解为是用于恶意程序的查杀设备。请参阅图2,其示出了根据本发明一个实施例的基于云安全的恶意程序扫描方法流程图。该方法包括位于客户端侧的一部分流程,还包括位于服务器端侧的一部分流程,在客户端侧的流程即为用于恶意程序查杀的扫描方法,在服务器端侧的流程即为用于恶意程序查杀的云端管理方法。该方法始于步骤S210,在S210中读取客户端设备当前的系统环境信息,并传输至服务器端设备。系统环境信息包括但不限于操作系统的版本信息、系统补丁安装信息、软件安装信息、驱动安装信息以及活动进程和服务信息等信息中的任意一种或多种。本步骤可以通过前述扫描设备Iio中的环境信息读取器112来实现,相关的技术实现可以参考前述环境信息读取器112在各实施例中的相关描述,此处不再赘述。然后,在步骤S220中服务器端设备获得客户端设备的系统环境信息,根据新生恶意程序的特性和客户端设备传输的系统环境信息生成第一扫描内容指示,该第一扫描内容指示至少包括对指定位置的内容进行扫描并告知扫描到的未知程序文件的特征数据,以及将该第一扫描内容指示传输至客户端设备。本步骤可以通过前述位于服务器端的云端管理设备210中的第一指示器212实现,相关技术实现也请参考第一指示器212在前述各实施例中的描述,此处不再赘述。客户端设备在通过步骤S220获得服务器端设备基于其上传的系统环境信息判断的第一扫描内容指示之后,在步骤S230中对第一扫描内容指示中的指定位置进行扫描,并至少将扫描得到的未知程序文件的特征数据再传输至服务器端设备,以便服务器端设备据此进行进一步的判断。本步骤可以通过位于客户端的扫描设备110中的第一扫描器114予以实现,相关技术实现也请参考第一扫描器114在前述各实施例中的描述,此处不再赘述。服务器端设备在通过步骤S230获得客户端设备传输的未知程序文件的特征数据之后,在步骤S240中根据未知程序文件的特征数据在已知的恶意程序查杀数据库中进行匹配,判断该未知程序文件是否为恶意程序。如果匹配成功,判断出该未知程序文件是恶意程序,则还可以进一步查找是否有对应的修复逻辑,如果有,则可以将判断结果和修复逻辑一并传输至客户端;如果没有找到对应的修复逻辑,则可以只将判断结果传输至客户端设备。本步骤可以通过前述位于服务器端的云端管理设备210中的第一匹配器214实现,相关技术实现也请参考第一匹配器214在前述各实施例中的描述,此处不再赘述。如果服务器端设备根据已知的恶意程序查杀数据库无法匹配到已知记录,即无法判断该未知程序文件是否是恶意程序,则在步骤S250中生成第二扫描内容指示,第二扫描内容指示包括对未知程序文件的指定属性和/或未知程序文件的上下文环境的指定属性进行扫描,然后将第二扫描内容指示传输至客户端设备。可以看出,服务器端设备之所以还要向客户端设备发送第二扫描内容指示,是为了获得更多的未知程序文件相关的信息,以便做更进一步的判断。本步骤可以通过前述位于服务器端的云端管理设备210中的第二指示器216实现,相关技术实现也请参考第一指示器212在前述各实施例中的描述,此处不再赘述。客户端设备在通过步骤S250获得第二扫描内容指示后,在步骤S260中根据第二扫描内容指示进行扫描,从而获知未知程序文件的指定属性和/或未知程序文件的上下文环境的指定属性。例如,未知程序文件的指定属性包括但不限于下述信息中的一种或多种未知程序文件的特征数据、文件大小、安全级别、签名信息以及版本信息等。再例如,未知程序文件的上下文环境的属性包括但不限于下述信息中的一种或多种未知程序文件所在目录的信息、注册表中的启动位置的信息、与该程序文件同目录或指定目录下的其他文件的属性信息、以及指定进程的运行状态等。在步骤S260之后,在本发明的一个实施例中,首先客户端设备将按照第二扫描内容指示进行扫描后的扫描结果传输至服务器端设备,该步骤可以通过前述各实施例中的第二扫描器116执行,相关技术特征可以参看该部件的描述,此处不再赘述;进而服务器端设备获得客户端设备按照第二扫描内容指示扫描获得的扫描结果之后,根据这个扫描结果在已经的恶意程序查杀数据库中进一步分析比对,再次判断未知程序文件是否为恶意程序,然后将判断结果(如恶意、安全、未知、可疑)、和/或、与该扫描结果匹配的修复逻辑传输至客户端设备。服务器端执行该步骤可以通过前述各实施例中的云端管理设备210中的第二指示器216予以执行,相关技术特征可以参看该部件的描述,此处不再赘述。应当注意的是,不是所有判断出是恶意程序的情况下都能找到对应的修复逻辑,所以在找到的情况下,判断结果和修复逻辑可以一起传输至客户端设备;在没找到修复逻辑的情况下,可以只将判断结果传输至客户端供其或用户参考;还有可能只传输修复逻辑,因为客户端收到修复逻辑即可理解为未知程序文件就是恶意程序,否则服务器端设备不会向其反馈针对该未知程序文件的修复逻辑。在客户端设备获得服务器端设备反馈的未知程序文件是否为恶意程序的判断结果之后,便可以根据该判断结果进行相应的处理。比如,通过弹窗等安全提醒手段提醒用户,或者在用户确认后根据修复逻辑进行修复处理。客户端设备执行该步骤可以通过前述各实施例中扫描设备110中的第一处理器执行,相关技术特征可以参看该部件的描述,此处不再赘述。从这个实施例后续步骤描述可以看出,客户端设备需要向服务器端设备至少传输两次扫描结果,以便服务器端设备根据扫描结果做判断。为了减少客户端设备和服务器端设备之间的通信次数,提高效率,还可以在本发明又一个实施例中采用下述流程处理。在本发明的又一个实施例中,在前述步骤S250中,服务器端设备除了生成第二扫描内容指示并发送至客户端设备之外,服务器端设备还根据已知的恶意程序查杀数据库获得与第二扫描内容指示相关的判断逻辑和/或修复逻辑,然后将判断逻辑和/或修复逻辑以及第二扫描内容指示一起传输至客户端设备。该步骤可以通过前述各实施例的云端管理设备210中的第二指示器216予以实现,相关技术实现可以参考该部件的相关描述,此处不再赘述。可以看出,在步骤S250之后,客户端设备至少已经接收到了第二扫描内容指示和与第二扫描内容指示相关的判断逻辑,还有可能也一并接收到了与第二扫描内容指示相关修复逻辑,因此客户端设备在通过步骤S260按照第二扫描内容指示进行扫描获得扫描结果之后,客户端设备就可以根据服务器端设备传输的与第二扫描内容指示相关的判断逻辑以及扫描结果,判断该未知程序文件是否为恶意程序,如果是,进一步检测服务器端设备是否还同时传输了相关修复逻辑,如果有则继续根据修复逻辑对未知程序文件进行修复处理,比如删除指定的注册表键和/或键值、修改注册表键和/或键值为指定内容、删除指定系统服务项,以及修复或删除指定程序文件等。该步骤可以通过前面各实施例的扫描设备110中的第二处理器予以执行,相关技术实现可以参考前述该步骤的相关描述,此处不再赘述。
在本发明的又一个实施例中,给出了一种基于云安全的恶意程序查杀方法,请参阅图3所不流程图。该流程始于步骤S310,客户端初始化本地引擎和网络环境。然后,执行步骤S320,客户端读取系统环境信息发送给服务器端。进而,执行步骤S330,服务器端根据客户端的系统环境信息与预置的扫描内容的条件进行判断,把需要扫描的内容发送给客户端。此处需要扫描的内容就相当于前述各实施例中的第一扫描内容指示。然后执行步骤S340,客户端执行本地引擎内置的扫描内容和服务器端返回的扫描内容,获得未知程序文件的特征,比如文件名、MD5或者SHA等。然后执行步骤S350,客户端设备把未知程序文件的特征发送给服务器端。此后,执行步骤S360,服务器端根据程序文件的特征和/或程序文件的上下文环境的属性在数据库中进行查找。然后进入步骤S370,判断是否在数据库中发现匹配记录,即是否找到对应的查杀方法,包括但不限于扫描/判定动作和修复动作。如果找到匹配记录,则执行步骤S380 ;如果没有找到匹配记录,则执行步骤S400。步骤S380 :服务器端把对应的查杀方法返回至客户端。然后执行步骤S390。步骤S390 :客户端根据服务器端返回的查杀方法执行相应动作。然后结束。步骤S400:服务器端判断是否需要进一步检查客户端未知程序文件的其他属性,比如步骤S350反馈过的未知程序文件特征以外的其他属性,和/或未知程序文件的上下文环境的属性等。如果是,则继续执行步骤S410,;如果否,则直接结束。步骤S410:客户端根据服务器端返回的检查条件收集需要的程序文件的指定属性和其上下文环境的属性,然后发送给服务器端。然后返回执行步骤S360,直到流程结束。在本发明的又一个实施例中,给出了一个恶意程序查杀的具体实例。例如某影音软件xxxUpdate. exe会加载同目录下xxxUpdate. dll,该影音软件在中国是一款安装量非常大的软件,但没有对自身的程序文件做足够的保护和防篡改检查,所以恶意程序m可以利用该影音软件的这个安全漏洞,把xxxUpdate. dll替换为恶意程序。采用本方案的检测和查杀步骤如下首先,客户端把xxxUpdate. dll的文件名和MD5值发送给服务器端;然后,服务器端根据文件名和MD5值匹配到有对应的查杀方法,于是进一步向客户端发出扫描指示(相当于前述各实施例中的第二扫描内容指示)、判断逻辑和修复逻辑。其中,扫描指示中要求检查是此文件的安全级别是否为可信,文件的公司签名名称是不是“北京XXX有限公司”;判断逻辑中指明如果此文件的安全级别不为可信、且公司签名名称不是“北京XXX有限公司”,则判断该文件遭恶意程序篡改,是恶意程序;对应的修复逻辑中指出如果扫描结果满足判断逻辑,判断该文件是恶意程序,则对应的修复动作是禁止xxxUpdate. exe随系统启动,并把xxxUpdate. dll替换为原版文件。最后,客户端根据上面的扫描内容对该文件进行扫描,并且根据扫描结果以及服务器端提供的判断逻辑判断该文件是否为恶意程序,如果是,则把恶意程序报告给用户,当用户选择清除时执行服务器端返回的查杀动作,比如修复处理。在本发明的另一个实施例中,客户端设备并不向服务器端设备上报当前的系统环境信息,进而服务器端也就不需要根据客户端设备上报的系统环境信息生成第一扫描内容指示,然后让客户端上设备根据第一扫描内容指示进行扫描。取而代之的是,客户端设备直接根据已知的扫描逻辑(比如本地引擎的扫描逻辑或者此前服务器端告知的扫描逻辑)进行扫描,然后直接将扫描得到的无法判断是否安全的可疑的未知程序文件上报至服务器端设备,其余的处理过程就与前述各实施例中描述的一样,故不再赘述。通过前述本发明提供的各个实施例可以看出,本发明实施例在仅通过可疑的未知程序文件的文件名、MD5、SHA等无法判断是否为恶意程序或者无法找到准确的修复方案时,可以再通过要求客户端设备进一步扫描未知程序文件的签名、版本等其他属性和/或未知程序文件的上下文环境的属性来做进一步判断,从而能更准确的判断出客户端自己无法确定是否安全的未知程序文件。由于采用这种方案,无论是客户端将进一步扫描的各种属性结果发送到服务器端来判断,还是服务器端直接将与扫描结果相关的判断逻辑、修复逻辑一并发送给客户端,让其自己判断,本质都是云端服务器及时下发个性化的扫描内容,并根据程序文件的属性及其所在上下文环境的属性从服务器端动态获取查杀方法,避免了通过升级本地特征库和引擎程序才能检测和清除新生恶意程序,从而加快了对新生恶意程序的打击速度,有效地遏制了其快速蔓延。在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式
的权利要求书由此明确地并入该具体实施方式
,其中每个权利要求本身都作为本发明的单独实施例。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的扫描设备或系统或云端管理设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
权利要求
1.一种扫描设备,用于查杀恶意程序,该扫描设备包括 第一传输接口,被配置为向服务器端设备传输信息,以及接收所述服务器端设备传输的信息; 第一扫描器,被配置为根据已知扫描逻辑对所述客户端设备进行扫描,并将扫描得到的未知程序文件的特征数据通过所述第一传输接口传输至所述服务器端设备;以及 第二扫描器,被配置为通过所述传输接口获得所述服务器端设备传输的第二扫描内容指示,所述第二扫描内容指示包括对所述未知程序文件的指定属性和/或所述未知程序文件的上下文环境的指定属性进行扫描,以及根据所述第二扫描内容指示进行扫描。
2.根据权利要求1所述的扫描设备, 所述第二扫描器还被配置为将按照所述第二扫描内容指示进行扫描后的扫描结果,通过所述第一传输接口传输至所述服务器端设备;所述扫描设备还包括第一处理器,被配置为通过所述第一传输接口获得所述服务器端设备基于所述第二扫描器提供的扫描结果确定的所述未知程序文件是否为恶意程序的判断结果,并根据所述判断结果进行相应的处理。
或者, 所述扫描设备还包括第二处理器,被配置为通过所述第一传输接口获得所述服务器端设备告知的与所述第二扫描内容指示相关的判断逻辑,并根据所述第二扫描器提供的扫描结果和所述判断逻辑判断所述未知程序文件是否为恶意程序,以及进行相应的处理。
3.根据权利要求2所述的扫描设备, 所述第一处理器还被配置为获得所述服务器端设备发送的与所述第二扫描器提供的扫描结果相关的修复逻辑,并根据所述修复逻辑进行相应的修复处理; 所述第二处理器还被配置为获得所述服务器端设备发送的与所述判断逻辑相关的修复逻辑,并在所述第二扫描器提供的扫描结果满足所述修复逻辑时,根据所述修复逻辑进行相应的修复处理。
4.根据权利要求1至3中任一项所述的扫描设备 所述程序文件的特征数据包括下述信息中的一种或多种对所述未知程序文件的全部或部分关键内容采用特定算法获得的数据、文件名; 所述未知程序文件的指定属性包括下述信息中的一种或多种特征数据、文件大小、安全级别、签名信息以及版本信息。
5.根据权利要求1至4中任一项所述的扫描设备,所述未知程序文件的上下文环境的属性包括下述信息中的一种或多种 所述未知程序文件所在目录的信息、注册表中的启动位置的信息、与所述程序文件同目录或指定目录下的其他文件的属性信息、指定进程的运行状态。
6.一种云端管理设备,用于查杀恶意程序,该云端管理设备包括 第二传输接口,被配置为向客户端设备传输信息,以及接收所述客户端设备传输的信息; 第一匹配器,被配置为通过所述第二传输接口获得所述客户端设备传输的未知程序文件的特征数据,并据此在已知的恶意程序特征数据记录中进行匹配;以及 第二指示器,被配置为当所述第一匹配器未能匹配到已知记录时生成第二扫描内容指示,所述第二扫描内容指示包括对所述未知程序文件的指定属性和/或所述未知程序文件的上下文环境的指定属性进行扫描,并通过所述第二传输接口传输至所述客户端设备。
7.根据权利要求6所述的云端管理设备,还包括 所述第二指示器还被配置为通过所述第二传输接口获得所述客户端设备按照所述第二扫描内容指示扫描后得到的扫描结果,并据此判断所述未知程序文件是否为恶意程序,并将判断结果通过所述第二传输接口传输至所述客户端设备; 或者, 所述第二指示器还被配置为将与所述第二扫描内容指示相关的判断逻辑一起通过所述第二传输接口传输至所述客户端设备,所述判断逻辑是用以判断所述未知程序文件是否为恶意程序的逻辑。
8.根据权利要求6或7所述的云端管理设备,所述第一扫描内容指示是附条件的指示,所述条件包括下述内容中的一种或多种 指定文件是否存在、指定目录是否存在、程序文件的属性是否满足指定条件、指定注册表键是否存在、指定注册表键值是否存在、注册表键的内容是否满足指定条件、注册表键值的内容是否满足指定条件、指定进程是否存在、以及指定服务是否存在。
9.根据权利要求6至8中任一项所述的云端管理设备,所述修复逻辑包括下述逻辑中的一种或多种 删除指定的注册表键和/或键值、修改注册表键和/或键值为指定内容、删除指定系统服务项,以及修复或删除指定程序文件。
10.根据权利要求6至9中任一项所述的云端管理设备,所述未知程序文件的上下文环境的属性包括下述信息中的一种或多种 所述未知程序文件所在目录的信息、安全级别信息、注册表中的启动位置的信息、与所述程序文件同目录或指定目录下的其他文件的属性信息、以及指定进程的运行状态。
11.一种基于云安全的恶意程序扫描系统,包括如权利要求1至5中任一项所述的用于恶意程序查杀的扫描设备,以及如权利要求6至10中任一项所述的用于恶意程序查杀的云端管理设备。
12.—种扫描方法,用于查杀恶意程序,该扫描方法包括 根据已知扫描逻辑对所述客户端设备进行扫描,并将扫描得到的未知程序文件的特征数据传输至所述服务器端设备; 获得所述服务器端设备传输的第二扫描内容指示,所述第二扫描内容指示包括对所述未知程序文件的指定属性和/或所述未知程序文件的上下文环境的指定属性进行扫描;以及 根据所述第二扫描内容指示对所述客户端设备进行扫描。
13.根据权利要求12所述的扫描方法,还包括 将按照所述第二扫描内容指示进行扫描后的扫描结果传输至服务器端设备;获得所述服务器端设备基于该扫描结果确定的所述未知程序文件是否为恶意程序的判断结果,并根据所述判断结果进行相应的处理; 或者, 获得所述服务器端设备告知的与所述第二扫描内容指示相关的判断逻辑,并根据按照第二扫描内容指示进行扫描后的扫描结果和所述判断逻辑确定所述未知程序文件是否为恶意程序,以及进行相应的处理。
14.一种云端管理方法,用于查杀恶意程序,该云端管理方法包括 获得客户端设备传输的未知程序文件的特征数据,并据此在已知的恶意程序特征数据记录中进行匹配; 当根据所述未知程序文件的特征数据未能匹配到已知记录时,生成第二扫描内容指示,所述第二扫描内容指示包括对所述未知程序文件的指定属性和/或所述未知程序文件的上下文环境的指定属性进行扫描; 将所述第二扫描内容指示传输至所述客户端设备。
15.根据权利要求14所述的云端管理方法,还包括 获得所述客户端设备按照所述第二扫描内容指示扫描后获得的扫描结果,并据此判断所述未知程序文件是否为恶意程序,将判断结果和/或与所述扫描结果匹配的修复逻辑传输至所述客户端设备; 或者, 将与所述第二扫描内容指示相关的判断逻辑和/或修复逻辑,与所述第二扫描内容指示一起传输至所述客户端设备。
16.—种基于云安全的恶意程序扫描方法,包括 客户端设备根据已知扫描逻辑进行扫描,并将扫描得到的未知程序文件的特征数据传输至服务器端设备; 所述服务器端设备根据所述据未知程序文件的特征数据在已知的恶意程序特征数据记录中进行匹配; 当根据所述未知程序文件的特征数据未能匹配到已知记录时,生成第二扫描内容指示,所述第二扫描内容指示包括对所述未知程序文件的指定属性和/或所述未知程序文件的上下文环境的指定属性进行扫描,以及将所述第二扫描内容指示传输至所述客户端设备; 所述客户端设备根据所述第二扫描内容指示对所述客户端设备进行扫描。
全文摘要
本发明公开了一种扫描方法、设备和系统以及云端管理方法和设备,用于查杀恶意程序。其中,一种扫描方法包括根据已知扫描逻辑对所述客户端设备进行扫描,并将扫描得到的未知程序文件的特征数据传输至所述服务器端设备;获得所述服务器端设备传输的第二扫描内容指示,所述第二扫描内容指示包括对所述未知程序文件的指定属性和/或所述未知程序文件的上下文环境的指定属性进行扫描;以及根据所述第二扫描内容指示对所述客户端设备进行扫描。
文档编号G06F21/56GK103034808SQ20121050618
公开日2013年4月10日 申请日期2012年11月30日 优先权日2012年11月30日
发明者江爱军, 刘智锋, 孔庆龙, 张波, 姚彤 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1