配置用于恶意件测试的沙箱环境的制作方法

文档序号:10655908阅读:380来源:国知局
配置用于恶意件测试的沙箱环境的制作方法
【专利摘要】本发明的各实施方式总体上涉及配置用于恶意件测试的沙箱环境。具体地,设备可以接收要在沙箱环境中分析的文件,并且可以确定用于配置沙箱环境的配置信息。配置信息可以基于以下项中的至少一项来确定:与待分析的文件相关联的文件信息,或者与文件所针对的客户端设备相关联的客户端设备信息。设备可以使用配置信息来配置沙箱环境。配置信息可以标识用于沙箱环境的系统配置。基于使用配置信息来配置沙箱环境,设备可以在沙箱环境中分析文件。
【专利说明】
配置用于恶意件测试的沙箱环境
技术领域
[0001]本发明的各实施方式总体上涉及计算机领域,具体地涉及配置用于恶意件测试的沙箱环境。
【背景技术】
[0002]恶意软件(“恶意件”)可以指代用于破坏计算机操作、收集敏感信息、取得访问私人计算机系统等的任何软件。恶意件可以指代各种类型的敌意或侵入软件,包括计算机病毒、蠕虫、特洛伊木马、勒索软件、间谍软件、广告软件、伪安全软件、或其它恶意软件。
[0003]沙箱环境可以指代其可以用于针对恶意件进行测试的计算环境。例如,沙箱环境可以用于执行未经测试的代码、不受信任的软件(例如,来自未经验证的第三方)等。沙箱环境可以提供用于执行软件程序的严密控制的资源集,而不许可软件程序损害托管沙箱环境的设备。例如,沙箱环境可以限制向软件程序提供的访问(例如,可以限制网络访问、监测主机系统的访问、读和/或写访问等)以阻止对主机设备的损害。

【发明内容】

[0004]设备可以接收要在沙箱环境中分析的文件,并且可以确定用于配置沙箱环境的配置信息。配置信息可以基于以下项中的至少一项来确定:与待分析的文件相关联的文件信息,或者与文件所针对的客户端设备相关联的客户端设备信息。设备可以使用配置信息来配置沙箱环境。配置信息可以标识用于沙箱环境的系统配置。基于使用配置信息来配置沙箱环境,设备可以在沙箱环境中分析文件。
[0005]本发明的一方面涉及一种设备,包括:用于接收要在沙箱环境中分析的文件的装置;用于确定用于配置所述沙箱环境的配置信息的装置,所述配置信息基于以下项中的至少一项来确定:与待分析的所述文件相关联的文件信息,或者与所述文件所针对的客户端设备相关联的客户端设备信息;用于使用所述配置信息来配置所述沙箱环境的装置,所述配置信息标识用于所述沙箱环境的系统配置;以及用于基于使用所述配置信息来配置所述沙箱环境来在所述沙箱环境中分析所述文件的装置。
[0006]在一个示例性实施方式中,所述设备进一步包括:用于分析所述文件以确定所述文件信息的装置;以及其中用于确定所述配置信息的装置包括:用于基于分析所述文件以确定所述文件信息而使用所述文件信息来确定所述配置信息的装置。
[0007]在一个示例性实施方式中,其中所述文件信息标识以下项中的至少一项:能够在其上执行所述文件的操作系统,或者能够执行所述文件的应用;其中用于确定所述配置信息的装置包括:用于基于所述操作系统或所述应用来确定所述配置信息的装置;以及其中用于配置所述沙箱环境的装置包括:用于配置所述沙箱环境以包括所述操作系统或所述应用的装置。
[0008]在一个示例性实施方式中,所述设备进一步包括:用于接收所述客户端设备信息的装置;以及其中用于确定所述配置信息的装置包括:用于基于接收所述客户端设备信息而使用所述客户端设备信息来确定所述配置信息的装置。
[0009]在一个示例性实施方式中,其中所述客户端设备信息标识以下项中的至少一项:在所述客户端设备上执行的操作系统,或者在所述客户端设备上安装的应用;其中用于确定所述配置信息的装置包括:用于基于所述操作系统或所述应用来确定所述配置信息的装置;以及其中用于配置所述沙箱环境的装置包括:用于配置所述沙箱环境以包括所述操作系统或所述应用的装置。
[0010]在一个示例性实施方式中,其中用于确定所述配置信息的装置包括:用于基于所述文件信息和所述客户端设备信息来确定所述配置信息的装置。
[0011]在一个示例性实施方式中,其中用于确定所述配置信息的装置包括:用于检测在基于所述文件信息标识的第一配置信息和基于所述客户端设备信息标识的第二配置信息之间的冲突的装置;用于基于检测所述冲突来选择所述第一配置信息或所述第二配置信息的装置;以及用于基于选择所述第一配置信息或所述第二配置信息来确定所述配置信息的
目.0
[0012]在一个示例性实施方式中,所述设备进一步包括:用于确定当使用所述配置信息来配置时所述沙箱环境会将所述文件标识为恶意件的第一似然的装置;用于确定当使用其他配置信息来配置时所述沙箱环境会将所述文件标识为恶意件的第二似然的装置;用于基于所述第一似然和所述第二似然来选择所述配置信息的装置;以及其中用于使用所述配置信息来配置所述沙箱环境的装置包括:用于基于选择所述系统配置来配置所述沙箱环境的
目.ο
[0013]计算机可读介质可以存储一个或多个指令,当由一个或多个处理器执行时,一个或多个指令使得一个或多个处理器接收要使用沙箱环境针对恶意件分析的文件。一个或多个指令可以使得一个或多个处理器确定用于配置沙箱环境的系统配置的配置信息。配置信息可以基于以下项中的至少一项来确定:与要针对恶意件进行分析的文件相关联的文件信息,或者与文件所针对的客户端设备相关联的客户端设备信息。一个或多个指令可以使得一个或多个处理器使用配置信息来配置沙箱环境的系统配置。一个或多个指令可以使得一个或多个处理器基于使用配置信息来配置沙箱环境的系统配置,使用沙箱环境针对恶意件分析文件。
[0014]在一个示例性实施方式中,其中使得所述一个或多个处理器确定所述配置信息的所述一个或多个指令进一步使得所述一个或多个处理器:基于所述文件信息,而非基于所述客户端设备信息,确定所述配置信息。
[0015]在一个示例性实施方式中,其中使得所述一个或多个处理器确定所述配置信息的所述一个或多个指令进一步使得所述一个或多个处理器:基于所述客户端设备信息,而非基于所述文件信息,确定所述配置信息。
[0016]在一个示例性实施方式中,其中所述配置信息标识以下项中的至少一项:要用于所述沙箱环境的所述系统配置的操作系统;要用于所述沙箱环境的所述系统配置的应用;或者要用于所述沙箱环境的所述系统配置的处理器架构。
[0017]在一个示例性实施方式中,其中当配置所述沙箱环境的所述系统配置时,所述一个或多个指令进一步用于:从多个系统配置中标识所述系统配置;以及在所述沙箱环境中加载所述系统配置。
[0018]在一个示例性实施方式中,其中当由所述一个或多个处理器执行时,所述一个或多个指令进一步使得所述一个或多个处理器:确定当使用所述系统配置来配置时,所述沙箱环境将会将所述文件标识为恶意件的第一似然;确定当使用另一系统配置来配置时,所述沙箱环境将会将所述文件标识为恶意件的第二似然;基于所述第一似然和所述第二似然,从包括所述系统配置和所述另一系统配置的多个系统配置中,选择所述系统配置;以及其中使得所述一个或多个处理器配置所述沙箱环境的所述系统配置的所述一个或多个指令进一步使得所述一个或多个处理器:基于选择所述系统配置,配置所述沙箱环境的所述系统配置。
[0019]在一个示例性实施方式中,其中当由所述一个或多个处理器执行时,所述一个或多个指令进一步使得所述一个或多个处理器:确定当使用所述系统配置来配置时,所述沙箱环境将准确地标识所述文件是否包括恶意件的第一似然;确定当使用另一系统配置来配置时,所述沙箱环境将准确地标识所述文件是否包括恶意件的第二似然;基于所述第一似然和所述第二似然,从包括所述系统配置和所述另一系统配置的多个系统配置中,选择所述系统配置;以及其中使得所述一个或多个处理器配置所述沙箱环境的所述系统配置的所述一个或多个指令进一步使得所述一个或多个处理器:基于选择所述系统配置,配置所述沙箱环境的所述系统配置。
[0020]方法可以包括由设备接收要在计算环境中分析的文件。方法可以包括由设备确定用于配置计算环境的配置信息。配置信息可以基于以下项中的至少一项来确定:待分析的文件,或者文件所针对的客户端设备。方法可以包括由设备使用配置信息来配置计算环境。配置信息可以标识用于计算环境的系统配置。方法可以包括由设备基于使用配置信息来配置计算环境,在计算环境中分析文件。
[0021]在一个示例性实施方式中,其中确定所述配置信息进一步包括:确定与待分析的所述文件相关联的文件信息;以及基于所述文件信息,确定所述配置信息。
[0022]在一个示例性实施方式中,其中所述文件信息标识以下项中的至少一项:能够在其上执行所述文件的操作系统,用于获得所述文件的第一应用,用于执行所述文件的第二应用,或者能够执行所述文件的处理器架构;以及其中确定所述配置信息进一步包括:基于以下项中的至少一项,确定所述配置信息:所述操作系统,所述第一应用,所述第二应用,或者所述处理器架构。
[0023]在一个示例性实施方式中,其中确定所述配置信息进一步包括:确定与所述文件所针对的所述客户端设备相关联的客户端设备信息;以及基于所述客户端设备信息,确定所述配置信息。
[0024]在一个示例性实施方式中,其中所述客户端设备信息标识以下项中的至少一项:在所述客户端设备上执行的操作系统,在所述客户端设备上安装的应用集,在所述客户端设备上的用于执行特定类型的文件的默认应用集,或者所述客户端设备的处理器架构;以及其中确定所述配置信息进一步包括:基于以下项中的至少一项,确定所述配置信息:所述操作系统,所述应用集,所述默认应用集,或者所述处理器架构。
[0025]在一个示例性实施方式中,所述方法进一步包括:基于以下项中的至少一项,执行概率分析:与所述文件相关联的文件信息,或者与所述客户端设备相关联的客户端设备信息;以及其中确定所述配置信息进一步包括:基于执行所述概率分析,确定所述配置信息。
【附图说明】
[0026]图1是本文中描述的示例实施方式的概览的图;
[0027]图2是其中可以实现本文中描述的系统和/或方法的示例环境的图;
[0028]图3是图2的一个或多个设备的示例部件的图;
[0029]图4是用于配置用于恶意件测试的沙箱环境的示例处理的流程图;以及
[0030]图5A至图5F是与图4所示示例处理有关的示例实施方式的图。
【具体实施方式】
[0031 ] 以下对示例实施方式的详细描述参照附图。不同附图中的相同附图标记可以标识相同或相似元件。
[0032]安全设备(例如,防火墙、服务器等)可以使用沙箱环境来针对恶意件测试文件,诸如通过在沙箱环境中执行文件并且监控文件是恶意件的指示。不同恶意件可被设计成利用不同系统配置的漏洞(例如,不同操作系统、不同类型的设备、不同应用等)。此外,安全设备可以使用沙箱环境来保护具有不同系统配置的不同类型的客户端设备。从而,不论针对恶意件正被测试的文件或者正被保护免受恶意件影响的客户端设备,使用标准沙箱环境(例如,基于诸如公司操作系统映像之类的默认系统配置)比起配置自定义沙箱环境对于针对恶意件进行测试来说可能不太有效。本文中描述的实施方式可以帮助基于正被测试的文件和/或正被保护的客户端设备来配置用于恶意件测试的沙箱环境,由此增加恶意件测试的有效性和改善计算机安全性。
[0033]图1是本文中描述的示例实施方式100的概览的图。如图1所示,安全设备可以接收文件以用于恶意件分析。如进一步所示,安全设备可以分析文件以确定用于配置用于恶意件分析的沙箱环境的文件信息。例如,安全设备可以分析文件以确定操作系统类型(例如,能够执行文件的操作系统、易受文件攻击的操作系统等)、从其获得文件的源统一资源标识符(URI)(例如,其可以指示浏览器配置等)、与文件相关联的文件元数据等。文件信息可以指示当配置沙箱环境时要使用的系统配置。如示出的,安全设备可以基于文件信息来配置沙箱环境,以用于针对恶意件测试文件。以这种方式,比起默认沙箱环境被用于针对恶意件分析文件的情况,沙箱环境可以被配置和/或自定义为更有效地针对恶意件分析文件。
[0034]在一些实施方式中,安全设备可以标识文件所针对的客户端设备(例如,请求文件的客户端设备、文件被推送到的客户端设备等)。如进一步所示,安全设备可以确定客户端设备信息以用于配置用于恶意件分析的沙箱环境。例如,安全设备可以确定客户端设备上执行的操作系统、与客户端设备相关联的默认浏览器、客户端设备上安装的一个或多个应用等。客户端设备信息可以指示当配置沙箱环境时要使用的系统配置,使得沙箱环境可以密切表示客户端设备的系统配置。如示出的,安全设备可以基于客户端设备信息来配置沙箱环境,以用于针对恶意件测试文件。以这种方式,当保护特定客户端设备时,比起默认沙箱环境用于针对恶意件分析文件的情况,沙箱环境可以被配置和/或自定义为更有效地针对恶意件分析文件。
[0035]通过配置和/或自定义用于针对恶意件测试文件的沙箱环境,本文中描述的实施方式可以帮助安全设备。在一些实施方式中,安全设备可以基于与要针对恶意件进行分析的文件相关联的文件信息来配置沙箱环境。另外,或备选地,安全设备可以基于与文件所针对的客户端设备相关联的客户端设备信息来配置沙箱环境。本文中其它地方更详细地描述文件信息和客户端设备信息。在一些实施方式中,如本文中其它地方更详细地描述的,安全设备可以使用概率分析(例如,机器学习)来配置沙箱环境。以这种方式,安全设备可以使用最适合于分析的沙箱环境来针对恶意件分析文件。
[0036]图2是其中可以实现本文中描述的系统和/或方法的示例环境200的图。如图2所示,环境200可以包括一个或多个客户端设备210-1至210-N(N彡I)(下文中统称为“客户端设备210”,并且单独称为“客户端设备210”)、安全设备220、客户网络230和网络240。环境200的设备可以经由有线连接、无线连接、或者有线和无线连接的组合而互连。
[0037]客户端设备210可以包括与系统配置相关联的一个或多个设备。例如,客户端设备210可以包括台式计算机、膝上型计算机、平板计算机、移动电话(例如,智能电话、无线电话等)、服务器、或相似类型的设备。在一些实施方式中,不同客户端设备210可以具有不同系统配置,并且可以以不同方式受到恶意件的影响。在一些实施方式中,客户端设备210可以能够执行包括恶意件的文件,这会造成对客户端设备210、客户端设备210存储的信息、客户端设备210的用户、和/或另一客户端设备210的损害。在一些实施方式中,客户端设备210可以驻留在客户网络230上。在一些实施方式中,客户端设备210可以配置和/或执行客户端设备210上的用于恶意件测试的沙箱环境(例如,代替或除了安全设备220配置和/或执行安全设备220上的用于恶意件测试的沙箱环境)。
[0038]安全设备220可以包括能够处理和/或传送与客户端设备210相关联的网络流量、和/或能够为客户端设备210和/或客户网络230提供安全服务(例如,恶意件检测服务)的一个或多个设备。例如,安全设备220可以包括网关、防火墙、路由器、桥接器、集线器、交换机、负载平衡器、接入点、反向代理、服务器(例如,代理服务器)、或者相似类型的设备。安全设备220可以与单个客户端设备210或者客户端设备210组(例如,与私人网络、数据中心等相关联的客户端设备210)结合使用。在一些实施方式中,通信可以被路由通过安全设备220,以到达客户端设备210组。例如,安全设备220可以位于网络内作为包括客户端设备210组的客户网络230的网关。另外,或备选地,来自客户端设备210的通信可以被编码,使得通信在被路由到别处之前被路由到安全设备220。
[0039]在一些实施方式中,安全设备220可以配置和/或执行其可以用于针对恶意件分析文件的沙箱环境。例如,安全设备220可以配置和/或使用沙箱环境来监控客户端设备210请求的和/或向客户端设备210提供的文件(例如,在向客户端设备210提供文件之前、在向客户端设备210提供文件之后等),以检测文件是否包括恶意件。在一些实施方式中,基于文件信息(例如,与针对恶意件待测试的文件相关联)、客户端设备信息(例如,与文件所针对的客户端设备210相关联)等,安全设备220可以确定配置信息,配置信息标识用于配置沙箱环境的系统配置。安全设备220可以基于配置信息来配置沙箱环境,并且可以在配置的沙箱环境中执行文件以检测文件是否包括恶意件。
[0040]客户网络230可以包括一个或多个有线和/或无线网络。例如,客户网络230可以包括局域网(LAN)、私人网络、内联网、云计算网络、蜂窝网络(例如,长期演进(LTE)网络、3G网络、码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网(PSTN))、自组织网络、因特网、基于光纤的网络等、和/或这些或其他类型的网络的组合。在一些实施方式中,客户网络230可以是与客户端设备210相关联的私人网络。
[0041]网络240可以包括一个或多个有线和/或无线网络。例如,网络240可以包括蜂窝网络、PLMN、LAN、WAN、MAN、电话网络(例如,PSTN)、私人网络、自组织网络、内联网、因特网、基于光纤的网络、云计算网络等、和/或这些或其他类型的网络的组合。在一些实施方式中,安全设备220可以配置用于文件(由客户端设备210从与网络240相关联的设备(例如,服务器)请求的)的恶意件测试的沙箱环境,以确定文件是否包括恶意件。另外,或备选地,文件可以被推送到客户端设备210 (例如,从与网络240相关联的设备),并且安全设备220可以配置沙箱环境,以用于分析文件以确定文件是否包括恶意件。
[0042]图2所示的设备和网络的数目和布置被提供作为示例。在实践中,可以存在附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者与图2所示的那些不同布置的设备和/或网络。此外,图2所示的两个或更多设备可以实现在单个设备内,或者图2所示的单个设备可以实现为多个分布式设备。例如,在一些实施方式中,客户端设备210和安全设备220可以实现为单个设备。另外,或备选地,环境200的设备集(例如,一个或多个设备)可以执行被描述为由环境200的另一设备集执行的一个或多个功能。例如,客户端设备210可以执行本文中描述为由安全设备220执行的一个或多个操作。
[0043]图3是设备300的示例部件的图。设备300可以对应于客户端设备210和/或安全设备220。在一些实施方式中,客户端设备210和/或安全设备220可以包括一个或多个设备300和/或设备300的一个或多个部件。如图3所示,设备300可以包括总线310、处理器320、存储器330、存储部件340、输入部件350、输出部件360和通信接口 370。
[0044]总线310可以包括许可设备300的部件之间的通信的部件。处理器320以硬件、固件、或者硬件和软件的组合来实现。处理器320可以包括处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)等)、微处理器、和/或解译和/或执行指令的任何处理部件(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)。存储器330可以包括随机存取存储器(RAM)、只读存储器(ROM)、和/或存储用于处理器320使用的信息和/或指令的另一类型的动态或静态存储设备(例如,闪速存储器、磁存储器、光存储器等)O
[0045]存储部件340可以存储与设备300的操作和使用有关的信息和/或软件。例如,存储部件340可以包括连同对应驱动的硬盘(例如,磁盘、光盘、磁光盘、固态盘等)、紧凑盘(CD)、数字多功能盘(DVD)、软盘、磁片盒、磁带、和/或另一类型的计算机可读介质。
[0046]输入部件350可以包括许可设备300接收信息的部件,诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风等)。另外,或备选地,输入部件350可以包括用于感测信息的传感器(例如,全球定位系统(GPS)部件、加速计、陀螺仪、致动器等)。输出部件360可以包括提供来自设备300的输出信息的部件(例如,显示器、扬声器、一个或多个发光二极管(LED)等)。
[0047]通信接口 370可以包括像收发器那样的部件(例如,收发器、分立的接收器和发射器等),其使得设备300能够诸如经由有线连接、无线连接、或有线和无线连接的组合与其它设备通信。通信接口 370可以许可设备300从另一设备接收信息和/或向另一设备提供信息。例如,通信接口 370可以包括以太网接口、光学接口、同轴接口、红外线接口、射频(RF)接口、通用串行总线(USB)接口、W1-Fi接口、蜂窝网络接口等。
[0048]设备300可以执行本文中描述的一个或多个处理。响应于处理器320执行由诸如存储器330和/或存储部件340之类的计算机可读介质存储的软件指令,设备300可以执行这些处理。计算机可读介质在本文中限定为非瞬态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或者跨多个物理存储设备散布的存储器空间。
[0049]软件指令可以经由通信接口 370从另一计算机可读介质或者从另一设备读取到存储器330和/或存储部件340中。当被执行时,存储器330和/或存储部件340中存储的软件指令可以使得处理器320执行本文中描述的一个或多个处理。另外,或备选地,硬接线电路可以代替软件指令或者与软件指令组合用于执行本文中描述的一个或多个处理。从而,本文中描述的实施方式不限于硬件电路和软件的任何特定组合。
[0050]图3所示部件的数目和布置被提供作为示例。在实践中,设备300可以包括附加的部件、更少的部件、不同的部件、或者与图3所示的那些不同布置的部件。另外,或备选地,设备300的部件集(例如,一个或多个部件)可以执行被描述为由设备300的另一部件集执行的一个或多个功能。
[0051]图4是用于配置用于恶意件测试的沙箱环境的示例处理400的流程图。在一些实施方式中,图4的一个或多个处理块可以由安全设备220来执行。在一些实施方式中,图4的一个或多个处理块可以由与安全设备220分离或包括安全设备220的另一设备或设备集(诸如客户端设备210)来执行。
[0052]如图4所示,处理400可以包括接收要在沙箱环境中进行分析的文件(块410)。例如,安全设备220可以接收要在沙箱环境中进行分析的文件(例如,可执行文件、应用、程序等)。在一些实施方式中,文件可以与客户端设备210相关联(例如,可以由客户端设备210存储,可以在客户端设备210上执行,可以由客户端设备210请求,可以被发送到客户端设备210等)。作为示例,客户端设备210可以请求文件(例如,从网站,经由电子邮件链接等),并且安全设备220可以接收文件,和/或在向客户端设备210提供文件之前对文件进行分析。作为另一示例,文件可以被推送到客户端设备210,并且安全设备220可以接收文件(例如,可以在客户端设备210接收文件之前拦截文件,可以在客户端设备210接收文件之后获得文件等)。
[0053]在一些实施方式中,安全设备220可以在沙箱环境中分析文件。沙箱环境可以包括用于针对恶意件测试文件的计算环境,并且可以与特定系统配置相关联。例如,沙箱环境可以包括具有特定系统配置的虚拟机上执行的虚拟计算环境。安全设备220可以自定义沙箱环境的系统配置,以提供比起沙箱环境使用标准或默认系统配置的情况更有效的文件分析,如本文中其它地方更详细描述的。
[0054]如图4进一步所示,处理400可以包括基于文件和/或文件所针对的客户端设备,来确定用于配置沙箱环境的配置信息(块420)。例如,安全设备220可以确定标识用于配置沙箱环境的系统配置的配置信息。在一些实施方式中,安全设备210可以基于文件信息、客户端设备信息等来确定配置信息。在一些实施方式中,文件信息可以包括基于要针对恶意件进行分析的文件所确定的信息(例如,基于分析文件所确定的文件信息)。在一些实施方式中,客户端设备信息可以包括基于文件所针对的客户端设备210 (例如,请求文件的客户端设备210、文件被推送向的客户端设备210、接收文件的客户端设备210、文件去往的客户端设备210等)所确定的信息。在针对恶意件测试文件之前,安全设备220可以使用配置信息来配置沙箱环境。
[0055]配置信息可以标识系统配置,诸如沙箱环境要使用的操作系统(例如,操作系统类型和 / 或版本,诸如 Windows XP、Windows Vista、Windows 7、Windows 8、Android、1S、OS X等)、要在沙箱环境上安装的和/或沙箱环境要使用的应用集(例如,诸如InternetExplorer、Chrome、Firefox、Safari等之类的浏览器应用;文档处理机;文字处理器;电子表格应用;便携式文档格式(Pdf)处理机;视频播放器;Flash播放器;安全应用;防火墙;防病毒程序;等)、要在沙箱环境上安装的和/或沙箱环境要使用的应用的版本(例如,Internet Explorer版本7、8、9、10、11等)、沙箱环境要使用的处理器(例如,CPU)架构(例如,ARM架构、x86架构、32位架构、64位架构等)、沙箱环境要使用的编译器和/或解译器(例如,要用于编译和/或解译Java代码的Java虚拟机)、要在沙箱环境中使用的文件结构、沙箱环境要使用的网络配置(例如,用于与其它设备通信的通信协议、用于端口集的端口配置等)等。
[0056]在一些实施方式中,安全设备220可以基于与文件相关联的文件信息来确定配置信息。文件信息可以标识系统配置,诸如能够在其上执行文件的操作系统、用于获得文件的应用和/或应用版本(例如,浏览器和/或用于下载文件的其它应用)、用于执行文件的应用和/或应用版本(例如,浏览器、文档处理机、文字处理器、电子表格应用、Pdf处理机、视频播放器、Flash播放器等)、能够执行文件的处理器架构、能够编译文件的编译器、能够解译文件的解译器、与文件相关联的网络配置(例如,由文件用于通信的通信协议)等。
[0057]在一些实施方式中,安全设备220可以通过针对文件指示符分析文件来确定文件信息,文件指示符指示将用于文件的配置信息。例如,文件指示符可以包括:文件中包括的文本串(例如,文件的二进制样本)、从其获得文件的源(例如,用于获得文件的统一资源标识符(URI)、用于获得文件的网站、用于获得文件的应用、用于获得文件的电子邮件等)、文件元数据(例如,诸如文件中包括的信息大小、文件中包括的信息的熵或随机性等之类的静态文件信息)等。
[0058]另外,或备选地,安全设备220可以基于与文件所针对的客户端设备210相关联的客户端设备信息,来确定配置信息。客户端设备信息可以标识系统配置,诸如客户端设备210上执行的操作系统(例如,操作系统类型和/或版本)、客户端设备210上安装和/或执行的应用集和/或一个或多个应用的一个或多个版本(例如,浏览器和/或用于下载文件的其它应用)、客户端设备210上用于执行特定类型的文件的默认应用集(例如,默认浏览器、默认文档处理机应用、默认文字处理器、默认电子表格应用、默认Pdf处理机应用、默认视频播放器、默认Flash播放器等)、客户端设备210使用的运行时库和/或运行时系统、客户端设备210的处理器架构、客户端设备210使用的编译器、客户端设备210使用的解译器、与客户端设备210相关联的文件结构、客户端设备210的网络配置等。
[0059]在一些实施方式中,安全设备220可以通过分析客户端设备210和/或接收来自客户端设备210和/或另一设备的客户端设备信息,来确定客户端设备信息。作为示例,安全设备220可以请求和/或接收来自客户端设备210和/或另一设备的客户端设备信息,该另一设备存储客户端设备信息和/或针对客户端设备信息对客户端设备210进行分析。在一些实施方式中,安全设备220可以使用用于管理客户端设备210的端点代理、远程管理代理等来确定客户端设备信息。另外,或备选地,安全设备220可以使用与客户端设备210相关联的指纹识别技术(例如,操作系统指纹识别)来确定客户端设备信息。另外,或备选地,安全设备220可以通过分析与客户端设备210相关联的网络流量(例如,通过分析历史网络流量)来确定客户端设备信息。
[0060]另外,或备选地,安全设备220可以从数据结构加载客户端设备信息。例如,安全设备220 (或另一设备)可以存储数据结构,数据结构指示在特定客户端设备210 (例如,使用诸如网络地址、因特网协议(IP)地址、介质访问控制(MAC)地址、设备名称等之类的客户端设备标识符)和与该特定客户端设备210相关联的客户端设备信息(例如,客户端设备210的系统配置)之间的关系。通过使用客户端设备标识符来针对客户端设备信息搜索数据结构,安全设备220可以标识与客户端设备210相关联的客户端设备信息。
[0061]在一些实施方式中,安全设备220可以基于文件信息(例如,基于文件信息指示的操作系统、应用集等)来确定配置信息。在一些实施方式中,安全设备220可以基于客户端设备信息(例如,基于客户端设备信息指示的操作系统、应用集等)来确定配置信息。在一些实施方式中,安全设备220可以基于文件信息和客户端设备信息两者来确定配置信息。
[0062]在一些实施方式中,对于不同类型的配置信息,文件信息和客户端设备信息可以指示冲突(例如,不同)的系统配置(例如,可以指示不同操作系统、不同应用等)。在这种情况下,安全设备220可以选择文件信息指示的配置信息或者客户端设备信息指示的配置信息来解决冲突(例如,基于用户偏好、基于规则集等)。
[0063]在一些实施方式中,安全设备220可以配置具有不同系统配置的多个沙箱环境,并且可以在该多个沙箱环境中的每个沙箱环境中对文件进行分析。例如,安全设备220可以基于文件信息来配置第一沙箱环境,可以基于客户端设备信息来配置第二沙箱环境,并且可以使用第一沙箱环境和第二沙箱环境来对文件进行分析。
[0064]在一些实施方式中,安全设备220可以执行对文件的概率分析(例如,基于文件信息)以确定配置信息。例如,安全设备220可以确定不同系统配置(例如,使用不同配置信息配置的)将会将文件标识为恶意件的似然(likelihood)。在这种情况下,对于沙箱环境,安全设备220可以选择与最有可能将文件标识为恶意件(例如,相比于其它系统配置)的系统配置相关联的配置信息。另外,或备选地,安全设备220可以确定不同系统配置将准确地标识文件是否包括恶意件的似然。在这种情况下,对于沙箱环境,安全设备220可以选择与最有可能准确地标识文件是否是恶意件(例如,相比于其它系统配置)的系统配置相关联的配置信息。
[0065]当安全设备220使用概率分析来确定配置信息时,安全设备220可以通过使用文件训练集(例如,其中一些已知是恶意件并且其中一些已知不是恶意件)来训练(例如,使用机器学习)不同系统配置而生成概率模型。以这种方式,安全设备220可以训练概率模型,以指示基于与文件相关联的文件信息,特定系统配置将会将文件标识为恶意件的似然、特定系统配置将准确地标识文件是否是恶意件的似然等。然后,当配置沙箱环境时,安全设备220可以使用与待测试文件相关联的文件信息,来确定这些似然中的一个或多个。
[0066]在一些实施方式中,安全设备220可以基于文件信息确定第一类型的配置信息,可以基于客户端设备信息确定第二类型的配置信息,和/或可以基于概率分析确定第三类型的配置信息。基于用户偏好(例如,基于用户输入接收的)、基于规则集、基于启发(heuristics)集等,安全设备220可以确定配置信息的类型,以确定使用这些不同的技术。
[0067]在一些实施方式中,安全设备220可以基于文件信息和/或客户端设备信息确定第一类型的配置信息,但是可能不能够基于文件信息和/或客户端设备信息确定第二类型的配置信息,因为文件信息和/或客户端设备信息不指示第二类型的配置信息。在这种情况下,安全设备220可以使用概率分析来确定第二类型的配置信息。
[0068]如图4进一步所示,处理400可以包括基于配置信息来配置沙箱环境(块430)。例如,安全设备220可以使用配置信息来配置沙箱环境。配置信息可以标识用于沙箱环境的系统配置,并且安全设备220可以利用标识的系统配置来加载和/或配置沙箱环境。在一些实施方式中,安全设备220可以存储与用于沙箱环境的不同系统配置相关联的沙箱简档,并且可以加载与确定的配置信息匹配(例如,在阈值相似度内)的特定沙箱简档。
[0069]例如,安全设备220可以利用特定操作系统、沙箱环境中安装的特定应用、用于在沙箱环境中执行特定文件类型的特定默认应用等来配置和/或加载沙箱环境。在一些实施方式中,安全设备220可以利用不同系统配置来配置和/或加载多个沙箱环境。
[0070]如图4进一步所示,处理400可以包括基于配置沙箱环境而在沙箱环境中对文件进行分析(块440),以及确定文件是否包括恶意件(块450)。例如,安全设备220可以在沙箱环境中针对恶意件分析文件。在一些实施方式中,通过在沙箱环境中执行文件,并且通过针对指示恶意件的行为监控文件和/或沙箱环境,安全设备220可以分析文件。通过在自定义沙箱环境而不是标准沙箱环境中分析文件,安全设备220可以增加沙箱环境正确地标识文件是否是恶意件的似然,由此改善信息安全性。
[0071]如图4进一步所示,如果文件不包括恶意件(块450—一否),则处理400可以包括许可文件被访问(块460)。例如,如果安全设备220无法确定文件包括恶意件(例如,在沙箱环境中监控文件阈值时间量之后),然后安全设备220可以执行动作以许可文件被访问。在一些实施方式中,安全设备220可以通过将文件标识为不可疑来许可文件被访问。在这种情况下,安全设备220可以存储指示文件不可疑(例如,不是恶意件)的与文件相关联的恶意件指不符。
[0072]作为另一示例,假定客户端设备210请求来自与网络240相关联的设备(例如,web服务器、主机服务器等)的文件。在这种情况下,安全设备220可以接收请求,可以请求来自设备的文件,可以接收来自设备的文件,并且可以在向客户端设备210发送文件之前在配置的沙箱环境中对文件进行测试。另外,或备选地,假定与网络240相关联的设备向客户端设备210推送文件。在这种情况下,安全设备220可以接收文件,并且可以在向客户端设备210发送文件之前在配置的沙箱环境中对文件进行分析。如果安全设备220确定文件不包括恶意件,则安全设备220可以通过向客户端设备210提供文件而许可文件被访问。以这种方式,安全设备220可以保护客户网络230的客户端设备210免受安全威胁。
[0073]如图4进一步所示,如果文件包括恶意件(块450——是),则处理400可以包括执行动作以抵抗恶意件(块470)。例如,如果安全设备220确定文件包括恶意件,则安全设备220可以执行动作以抵抗恶意件。在一些实施方式中,安全设备220可以通过将文件标识为可疑的而抵抗恶意件。在这种情况下,安全设备220可以存储指示文件可疑(例如,是恶意件)的与文件相关联的恶意件指示符。以这种方式,安全设备220和/或另一设备可以使用恶意件指示符来将文件标识为恶意件,并且可以执行动作以抵抗恶意件。
[0074]另外,或备选地,安全设备220可以通过标识文件(例如,在存储器中)并且从存储器删除文件来抵抗恶意件。以这种方式,安全设备220可以阻止文件损害安全设备220和/或客户端设备210。
[0075]作为另一示例,假定客户端设备210请求来自与网络240相关联的设备的文件(例如,web服务器、主机服务器等)。在这种情况下,安全设备220可以接收请求,可以请求来自设备的文件,可以接收来自设备的文件,并且可以在向客户端设备210发送文件之前在配置的沙箱环境中对文件进行测试。另外,或备选地,假定与网络240相关联的设备向客户端设备210推送文件。在这种情况下,安全设备220可以接收文件,并且可以在向客户端设备210发送文件之前在配置的沙箱环境中对文件进行分析。如果安全设备220确定文件包括恶意件,则安全设备220可以通过阻止向客户端设备210提供文件来执行动作以抵抗恶意件。以这种方式,安全设备220可以保护客户网络230的客户端设备210免受安全威胁。
[0076]在一些实施方式中,如果安全设备220确定文件包括恶意件,则通过监控文件(例如,通过监控文件发送的通信)以标识文件与其通信的设备(例如,以标识命令和控制服务器),安全设备220可以抵抗恶意件。在这种情况下,安全设备220可以阻挡与设备相关联的通信,可以向客户端设备210和/或与客户网络230相关联的另一设备(例如,防火墙、路由器、网关等)提供指令以阻挡与设备相关联的通信(例如,以阻挡去向和/或来自设备的通信)等。以这种方式,安全设备220可以阻止恶意文件损害客户端设备210。
[0077]另外,或备选地,安全设备220可以提供通知,通知标识正与设备(例如,命令和控制服务器)通信的客户端设备210,以标识和保护这些客户端设备210。以这种方式,安全设备220可以保护客户网络230的客户端设备210免受安全威胁。
[0078]通过基于配置信息(例如,与要针对恶意件测试的文件相关联的文件信息、与文件所针对的客户端设备210相关联的客户端设备信息等)配置沙箱环境,安全设备220可以改善针对旨在客户端设备210的文件的恶意件测试的有效性。例如,安全设备220可以减少基于测试生成的假阳性结果和/或假阴性结果,由此提供更准确的恶意件测试结果并且改善客户端设备210的信息安全性。
[0079]虽然图4示出处理400的示例块,但是在一些实施方式中,处理400可以包括附加的块、更少的块、不同的块、或者与图4中描绘的那些不同布置的块。另外,或备选地,处理400的块中的两个或更多块可以并行执行。
[0080]图5A至图5F是与图4所示示例处理400有关的示例实施方式500的图。图5A至图5F示出配置用于恶意件测试的沙箱环境的示例。
[0081]如图5A所示,并且如附图标记505所示,假定用户与客户端设备210交互以使用浏览器导航到网站,并且以请求示为“badfile.exe”的文件。如附图标记510所示,假定请求在被路由到与网站相关联的web服务器之前,从客户端设备210被路由到安全设备220。如附图标记515所示,假定在向客户端设备210提供文件之前,安全设备220接收(例如,拦截)文件以待分析。
[0082]图5B至图示出经由其安全设备220可以确定用于配置用于分析文件(例如,badfile.exe)的沙箱环境的配置信息的不同选项。图5B示出其中安全设备220基于文件信息确定配置信息的示例。图5C示出其中安全设备220基于客户端设备信息确定配置信息的示例。图示出其中安全设备220基于文件信息和客户端设备信息确定配置信息的示例。
[0083]如图5B所示,并且如附图标记520所示,在一些实施方式中,安全设备220可以确定与待分析文件(例如,badfile.exe)相关联的文件信息。例如,且如示出的,安全设备220可以分析文件以确定:文件旨在于在Windows操作系统中执行,并且旨在于由浏览器A执行。如附图标记525所示,基于这一文件信息,安全设备220可以加载和/或配置沙箱环境,沙箱环境包括Windows操作系统,其中浏览器A安装和/或用作默认浏览器。
[0084]如图5C所示,并且如附图标记530所示,在一些实施方式中,安全设备220可以确定与请求文件的客户端设备210相关联的客户端设备信息。例如,且如示出的,安全设备220可以接收客户端设备信息,客户端设备信息指示客户端设备210正在执行Mac操作系统,并且具有安装的应用B。如附图标记535所示,基于这一客户端设备信息,安全设备220可以加载和/或配置沙箱环境,沙箱环境包括Mac操作系统,其中应用B安装和/或用作用于处理特定类型的文件(例如,诸如badfile.exe之类的可执行文件)的默认应用。
[0085]如图所示,并且如附图标记540所示,在一些实施方式中,安全设备220可以确定与待测试文件相关联的文件信息、以及与请求文件的客户端设备210相关联的客户端设备信息。例如,且如示出的,安全设备220可以接收文件信息,文件信息指示文件能够使用Windows操作系统来执行,以及使用浏览器C来请求。如进一步所示,安全设备220可以接收客户端设备信息,客户端设备信息指示客户端设备210正在执行Windows操作系统,并且使用了浏览器C来请求文件。假定安全设备220使用这一文件信息和客户端设备信息来配置和/或加载沙箱环境,沙箱环境包括Windows操作系统和浏览器C。
[0086]如图5E所示,并且如附图标记545所示,假定安全设备220可以在用于配置沙箱环境的Windows操作系统的多个版本(示为Windows版本A、Windows版本B和Windows版本C)之中选择。如进一步所示,假定安全设备220已经使用训练数据来生成概率模型,并且已经将badfile.exe的文件信息应用于概率模型以确定:Windows版本A具有将badfile.exe标识为恶意件的30%似然,Windows版本B具有将badfile.exe标识为恶意件的60%似然,以及Windows版本C具有将badfile.exe标识为恶意件的90%似然。如附图标记550所示,假定安全设备220选择Windows版本C以用于配置沙箱环境,因为Windows版本C具有将badfile.exe标识为恶意件的最高似然(例如,相比于Windows版本A和Windows版本B)。例如,假定安全设备220加载和/或配置包括Windows版本C的沙箱环境。
[0087]如图5F所示,并且如附图标记555所示,假定安全设备220在包括Windows版本C的沙箱环境中对badfile.exe进行分析,并且确定badfile.exe是恶意件。如果附图标记560所示,基于这一确定,假定安全设备220执行动作来抵抗恶意件。例如,并且如附图标记565所示,假定安全设备220阻止向请求badfile.exe的客户端设备210提供badfile.exe ο
[0088]以这种方式,基于正被分析的文件、基于请求文件的客户端设备等,安全设备220可以配置自定义沙箱环境以增加恶意件检测的有效性。以这种方式,安全设备220可以改善信息安全性。
[0089]如上所示,提供图5A至图5F仅作为示例。其它示例是可能的,并且可以不同于关于图5A至图5F描述的内容。
[0090]本文中描述的实施方式可以帮助基于正被测试的文件和/或正被保护的客户端设备来配置用于恶意件测试的沙箱环境,由此增加恶意件测试的有效性和改善计算机安全性。
[0091]前述公开内容提供了说明和描述,但并非旨在是穷举式的或将实施方式限于所公开的精确形式。根据上述公开内容,修改和变化是可能的,或者可以从实施方式的实践中获取。
[0092]如本文中使用的,术语部件旨在于被广义地解释为硬件、固件、和/或硬件和软件的组合。
[0093]本文中结合阈值描述一些实施方式。如本文中使用的,满足阈值可以指代值大于阈值、多于阈值、高于阈值、大于或等于阈值、小于阈值、少于阈值、低于阈值、小于或等于阈值、等于阈值等。
[0094]应当理解,本文中描述的系统和/或方法可以以硬件、固件、或硬件和软件的组合的不同形式来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不是对实施方式的限制。从而,系统和/或方法的操作和行为被描述于此,而未参照特定软件代码一一要理解的是,软件和硬件可以被设计为实现基于本文中描述的系统和/或方法。
[0095]虽然特定特征组合被记载在权利要求书中和/或公开在说明书中,但是这些组合并非旨在限制可能实施方式的公开内容。实际上,这些特征中的许多特征可以以未具体记载在权利要求书中和/或公开在说明书中的方式组合。虽然下面列出的每项从属权利要求可直接从属于仅一项权利要求,但是可能实施方式的公开内容包括每项从属权利要求与权利要求集中的每项其它权利要求的组合。
[0096]本文中使用的元件、动作或指令不应被解释为关键或必不可少的,除非明确如此描述。而且,如本文中使用的,冠词“一(a)”和“一个(an)”旨在于包括一个或多个项,并且可以与“一个或多个”互换使用。此外,如本文中使用的,术语“组”和“集”旨在于包括一个或多个项(例如,相关项、无关项、相关项和无关项的组合等),并且可以与“一个或多个”互换使用。在旨在仅一个项的情况下,使用术语“一个”或类似语言。而且,如本文中使用的,术语“有”、“拥有”、“具有”等旨在于是开放式术语。进一步地,短语“基于”旨在于意指“至少部分地基于”,除非另外明确声明。
【主权项】
1.一种设备,包括: 用于接收要在沙箱环境中分析的文件的装置; 用于确定用于配置所述沙箱环境的配置信息的装置,所述配置信息基于以下项中的至少一项来确定: 与待分析的所述文件相关联的文件信息,或者 与所述文件所针对的客户端设备相关联的客户端设备信息; 用于使用所述配置信息来配置所述沙箱环境的装置, 所述配置信息标识用于所述沙箱环境的系统配置;以及 用于基于使用所述配置信息来配置所述沙箱环境来在所述沙箱环境中分析所述文件的装置。2.根据权利要求1所述的设备,进一步包括: 用于分析所述文件以确定所述文件信息的装置;以及 其中用于确定所述配置信息的装置包括: 用于基于分析所述文件以确定所述文件信息而使用所述文件信息来确定所述配置信息的装置。3.根据权利要求1所述的设备,其中所述文件信息标识以下项中的至少一项: 能够在其上执行所述文件的操作系统,或者 能够执行所述文件的应用; 其中用于确定所述配置信息的装置包括: 用于基于所述操作系统或所述应用来确定所述配置信息的装置;以及 其中用于配置所述沙箱环境的装置包括: 用于配置所述沙箱环境以包括所述操作系统或所述应用的装置。4.根据权利要求1所述的设备,进一步包括: 用于接收所述客户端设备信息的装置;以及 其中用于确定所述配置信息的装置包括: 用于基于接收所述客户端设备信息而使用所述客户端设备信息来确定所述配置信息的装置。5.根据权利要求1所述的设备,其中所述客户端设备信息标识以下项中的至少一项: 在所述客户端设备上执行的操作系统,或者 在所述客户端设备上安装的应用; 其中用于确定所述配置信息的装置包括: 用于基于所述操作系统或所述应用来确定所述配置信息的装置;以及 其中用于配置所述沙箱环境的装置包括: 用于配置所述沙箱环境以包括所述操作系统或所述应用的装置。6.根据权利要求1所述的设备,其中用于确定所述配置信息的装置包括: 用于基于所述文件信息和所述客户端设备信息来确定所述配置信息的装置。7.根据权利要求1所述的设备,其中用于确定所述配置信息的装置包括: 用于检测在基于所述文件信息标识的第一配置信息和基于所述客户端设备信息标识的第二配置信息之间的冲突的装置; 用于基于检测所述冲突来选择所述第一配置信息或所述第二配置信息的装置;以及 用于基于选择所述第一配置信息或所述第二配置信息来确定所述配置信息的装置。8.根据权利要求1所述的设备,进一步包括: 用于确定当使用所述配置信息来配置时所述沙箱环境会将所述文件标识为恶意件的第一似然的装置; 用于确定当使用其他配置信息来配置时所述沙箱环境会将所述文件标识为恶意件的第二似然的装置; 用于基于所述第一似然和所述第二似然来选择所述配置信息的装置;以及 其中用于使用所述配置信息来配置所述沙箱环境的装置包括: 用于基于选择所述系统配置来配置所述沙箱环境的装置。9.一种方法,包括: 由设备接收要在计算环境中分析的文件; 由所述设备确定用于配置所述计算环境的配置信息,所述配置信息基于以下项中的至少一项来确定: 待分析的所述文件,或者 所述文件所针对的客户端设备; 由所述设备使用所述配置信息来配置所述计算环境, 所述配置信息标识用于所述计算环境的系统配置;以及 由所述设备基于使用所述配置信息来配置所述计算环境,在所述计算环境中分析所述文件。10.根据权利要求9所述的方法,其中确定所述配置信息进一步包括: 确定与待分析的所述文件相关联的文件信息;以及 基于所述文件信息,确定所述配置信息。11.根据权利要求10所述的方法,其中所述文件信息标识以下项中的至少一项: 能够在其上执行所述文件的操作系统, 用于获得所述文件的第一应用, 用于执行所述文件的第二应用,或者 能够执行所述文件的处理器架构;以及 其中确定所述配置信息进一步包括: 基于以下项中的至少一项,确定所述配置信息: 所述操作系统, 所述第一应用, 所述第二应用,或者 所述处理器架构。12.根据权利要求9所述的方法,其中确定所述配置信息进一步包括: 确定与所述文件所针对的所述客户端设备相关联的客户端设备信息;以及 基于所述客户端设备信息,确定所述配置信息。13.根据权利要求12所述的方法,其中所述客户端设备信息标识以下项中的至少一项:在所述客户端设备上执行的操作系统,在所述客户端设备上安装的应用集,在所述客户端设备上的用于执行特定类型的文件的默认应用集,或者所述客户端设备的处理器架构;以及其中确定所述配置信息进一步包括:基于以下项中的至少一项,确定所述配置信息:所述操作系统,所述应用集,所述默认应用集,或者所述处理器架构。14.根据权利要求9所述的方法,进一步包括:基于以下项中的至少一项,执行概率分析:与所述文件相关联的文件信息,或者与所述客户端设备相关联的客户端设备信息;以及其中确定所述配置信息进一步包括:基于执行所述概率分析,确定所述配置信息。
【文档编号】G06F21/53GK106022112SQ201510454389
【公开日】2016年10月12日
【申请日】2015年7月29日
【发明人】J·A·兰顿, K·亚当斯, D·J·奎因兰, 詹臻新
【申请人】瞻博网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1