基于行为增量标识躲避的恶意对象的制作方法

文档序号:11842724阅读:184来源:国知局
基于行为增量标识躲避的恶意对象的制作方法与工艺

本发明涉及基于行为增量标识躲避的(evasive)恶意对象。



背景技术:

安全设备可以被放置在用户设备和服务器设备(例如,与网站相关联的服务器设备)之间。安全设备可以被配置为检测(例如,使用URL名誉、黑名单、反病毒扫描、反恶意软件技术等)由服务器设备提供的恶意对象(例如,木马、蠕虫、间谍程序、包含漏洞利用的文件等),并且可以被配置为阻止恶意对象被用户设备接收。



技术实现要素:

根据一些可能的实现方式,一种安全设备可以包括一个或者多个处理器以:接收与对象相关联的实际行为信息,其中实际行为信息可以标识与在真实环境(live environment)中执行对象相关联的第一行为集合;确定与对象相关联的测试行为信息,其中测试行为信息可以标识与在测试环境中测试对象相关联的第二行为集合;比较第一行为集合和第二行为集合以确定在第一行为集合和第二行为集合之间的差别;基于在第一行为集合和第二行为集合之间的差别标识对象是否为躲避的恶意对象;以及提供对象是否为躲避的恶意对象的指示。

根据一些可能的实现方式,一种计算机可读介质可以存储一条或者多条指令,该一条或者多条指令当由一个或者多个处理器执行时,致使该一个或者多个处理器:确定与对象相关联的测试行为信息,其中测试行为信息可以标识与在测试环境中测试对象相关联的测试行为集合;获得与对象相关联的实际行为信息,其中实际行为信息可以标识与在真实环境中执行或者安装对象相关联的实际行为集合;比较 实际行为集合和测试行为集合以确定在实际行为集合和测试行为集合之间的差别;基于在实际行为集合和测试行为集合之间的差别确定对象是否为躲避的恶意对象;以及提供指示对象是否为躲避的恶意对象的信息。

根据一些可能的实现方式,一种方法可以包括:由安全设备接收与对象相关联的实际行为信息,其中实际行为信息可以标识与在用户设备上执行对象相关联的第一行为组;由安全设备确定与对象相关联的测试行为信息,其中测试行为信息可以标识与在用户设备上测试对象相关联的第二行为组;由安全设备确定在第一行为组和第二行为组之间的差别;由安全设备基于在第一行为组和第二行为组之间的差别将对象标识为躲避的恶意对象;以及由安全设备提供与将对象标识为躲避的恶意对象相关联的信息。

附图说明

图1是在此描述的示例实现方式的概述的示图;

图2是在其中可以实现在此描述的系统和/或方法的示例环境的示图;

图3是图2的一个或者多个设备的示例组件的示图;

图4是用于确定与对象相关联的测试行为信息以及存储与对象相关联的测试行为信息的示例过程的流程图;

图5是与在图4中所示的示例过程有关的示例实现方式的示图;

图6是用于确定与对象相关联的实际行为信息以及提供实际行为信息的示例过程的流程图;

图7是与在图6中所示的示例过程有关的示例实现方式的示图;

图8是用于基于比较与对象相关联的实际行为信息和与对象相关联的测试行为信息来将对象标识为躲避的恶意对象的示例过程的流程图;

图9是与在图8中所示的示例过程有关的示例实现方式的示图。

具体实施方式

示例实现方式的以下详细的描述参考附图。在不同附图中的相同的标号可以标识相同的或者相似的元素。

安全设备可以试图检测正被向用户设备提供的恶意对象(例如,包括恶意软件、病毒或者另一类型的恶意代码的对象)。然而,如果恶意对象已经被设计为躲避检测,则安全设备可能不能检测恶意对象。一种这样的躲避策略涉及如果恶意对象确定它正在仿真环境、沙盒环境中等被测试,则阻止恶意对象展现任何恶意行为。例如,安全设备可以实现沙盒以测试(例如,分析、执行、检查等)运行在虚拟机(VM)上的完整的操作系统内的对象。可以概括对象的测试行为并且可以应用启发以便确定对象是否是躲避的。然而,恶意对象可以被设计为检测恶意对象是否正在沙盒中被测试,并且可以在这样的检测时避免展现恶意行为。这样,安全设备可能不正确地确定对象不是恶意的,并且可能向用户设备提供恶意对象。需要一种解决方案,该解决方案允许安全设备确定当对象在用户设备上被执行时与当对象由安全设备测试时相比,对象表现不同(例如,实际行为和测试行为之间的差别可以指示对象是躲避的恶意对象)。

在此所述的实现方式允许安全设备基于比较与对象相关联、并且由用户设备确定的实际行为信息和与对象相关联、并且由安全设备确定的测试行为信息来将对象标识为躲避的恶意对象。

图1是在此描述的示例实现方式100的概述的示图。为了示例实现方式100的目的,假设对象正由服务器设备向用户设备提供(例如,基于由用户设备提出的请求)。进一步地,假设安全设备被放置在用户设备和服务器设备之间,并且安全设备被配置为检测正被向用户设备提供的对象是否为恶意对象。

如在图1中以及由标号105所示,安全设备可以接收由服务器设备提供的对象。如由标号110所示,安全设备可以接下来测试(例如,执行、分析、检查等)对象以便确定与对象相关联的测试行为信息。如由标号115所示,安全设备可以向用户设备提供对象。如由标号120 所示,用户可以确定(例如,通过执行对象、打开对象、运行对象、安装对象等)与对象相关联的实际行为信息。如由标号125所示,用户设备可以向安全设备提供与对象相关联的实际行为信息。

如由标号130所示,安全设备可以接收实际行为信息,并且可以比较实际行为信息和测试行为信息。如由标号135所示,基于比较实际行为信息和测试行为信息,安全设备可以确定实际行为信息与测试行为信息不同(例如,实际行为信息示出了在测试行为信息中没有示出的行为)。如由标号140所示,基于确定实际行为信息与测试行为信息不同,安全设备可以将对象标识为躲避的恶意对象(例如,通过进行对象的附加分析;通过将与实际行为相关联的信息、与测试行为相关联的信息和/或具有在实际行为和测试行为之间的差别的信息输入到机器学习模型中,该机器学习模型被训练为将对象分类为恶意的或者善意的;等),并且可以相应地动作(例如,通过通知用户设备的用户等)。

以这种方式,基于比较对象相关联的(例如,由用户设备确定的)实际行为信息和与对象相关联的(例如,由安全设备确定的)测试行为信息,安全设备可以将对象标识为躲避的恶意对象。

图2是其中可以实现在此描述的系统和/或方法的示例环境200的示图。如在图2中所示,环境200可以包括用户设备210、安全设备220、服务器设备230和网络240。环境200的设备可以经由有线连接、无线连接或者有线和无线连接的结合来互连。

用户设备210可以包括能够经由网络(例如,网络240)与其他设备(例如,服务器设备230)通信和/或能够接收由另一设备(例如,服务器设备230)提供的信息的一个或者多个设备。例如,用户设备210可以包括计算设备,诸如膝上型计算机、平板计算机、手持计算机、台式计算机、移动电话(例如,智能电话、无线电话等)、个人数字助理或者类似的设备。在一些实现方式中,用户设备210可以主控被配置为确定由用户设备210接收的与对象相关联的实际行为信息的安全客户端。附加地或者备选地,用户设备210可以能够向安全设 备220提供实际行为信息。

安全设备220可以包括能够接收、生成、确定、提供和/或存储与对象相关联的行为信息(例如,测试行为信息或者实际行为信息)的一个或者多个设备。例如,安全设备220可以包括计算设备,诸如服务器。在一些实现中,安全设备220可以能够确定与对象相关联的测试行为信息。例如,安全设备220可以主控沙盒环境,该沙盒环境允许安全设备220执行对象、分析对象、运行对象、安装对象等以便确定与对象相关联的测试行为信息。附加地或者备选地,安全设备220可以能够以另一方式确定测试行为信息。

在一些实现中,基于与对象相关联的测试行为信息和与对象相关联的实际行为信息,安全设备220可以能够标识对象是否为躲避的恶意对象。附加地或者备选地,安全设备220可以包括能够处理和/或传送在用户设备210和服务器设备230之间的通信(例如,请求、响应等)的一个或者多个设备。例如,安全设备220可以包括网络设备,诸如反向代理、服务器(例如,代理服务器)、流量转移设备、防火墙、路由器、负载均衡器等。

安全设备220可以与单个服务器设备230或者服务器设备230的组(例如,数据中心)结合而被使用。通信可以通过安全设备220被路由以到达一个或者多个服务器设备230。例如,安全设备220可以被放置在网络内作为去往包括一个或者多个服务器设备230的私有网络的网关。附加地或者备选地,安全设备220可以与单个用户设备210或者用户设备210的组结合而被使用。通信可以通过安全设备220被路由以到达一个或者多个用户设备210。例如,安全设备220可以被放置在网络内作为去往包括一个或者多个用户设备210的私有网络的网关。

服务器设备230可以包括能够接收、提供、生成、存储和/或处理与对象相关联的信息的一个或者多个设备。例如,服务器设备230可包括计算设备,诸如服务器(例如,应用服务器、内容服务器、主机服务器、web服务器等)。

网络240可以包括一个或者多个有线和/或无线网络。例如,网络240可以包括无线局域网(WLAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网(例如,公共交换电话网(PSTN))、蜂窝网络、公众陆地移动电话网(PLMN)、自组网、内联网、因特网、基于光纤的网络或者这些或者其他类型的网络的结合。在一些实现方式中,网络250可以允许在诸如用户设备210、服务器设备230和/或安全设备220的设备之间的通信。

在图2中所示的设备和网络的数目和布置作为示例被提供。在实践中,与在图2中所示的那些设备和/或网络相比,可以存在附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络或者被不同地布置的设备和/或网络。此外,在图2中所示的两个或者更多个设备可以在单个设备内被实现,或者在图2中所示的单个设备可以被实现为多个、分布式的设备。附加地或者备选地,环境200的设备的集合(例如,一个或者多个设备)可以执行如正由环境200的设备的另一集合执行的描述的一个或者多个功能。

图3是设备300的示例组件的示图。设备300可以与用户设备210、安全设备220和/或服务器设备230相对应。在一些实现方式中,用户设备210、安全设备220和/或服务器设备230可以包括一个或者多个设备300和/或设备300的一个或者多个组件。如在图3中所示,设备300可以包括总线310、处理器320、存储器330、存储组件340、输入组件350、输出组件360和通信接口370。

总线310可以包括允许设备300的组件之中的通信的组件。处理器320可以包括处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)等)、微处理器和/或解译和/或执行指令的任何处理组件(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)。存储器330可以包括随机存取存储器(RAM)、只读存储器(ROM)和/或存储信息和/或指令以用于被处理器320使用的其他类型的动态或者静态存储设备(例如,闪存、磁存储器、光存储器等)。

存储组件340可以存储与设备300的操作和使用有关的信息和/或软件。例如,存储组件340可以包括硬盘(例如,磁盘、光盘、磁光盘、固态硬盘等)、光盘(CD)、数字通用磁盘(DVD)、软盘、盒式磁盘、磁带和/或其他类型的计算机可读介质,连同对应的驱动。

输入组件350可以包括允许设备300诸如经由用户输入(例如,触摸屏显示、键盘、键区、鼠标、按钮、开关、麦克风等)接收信息的组件。附加地或者备选地,输入组件350可以包括用于感测信息的传感器(例如,全球定位系统(GPS)组件、加速计、陀螺仪、行器等)。输出组件360可以包括提供来自设备300的输出信息的组件(例如,显示器、扬声器、一个或者多个发光二极管(LED)等)。

通信接口370可以包括使得设备300能够与其他设备诸如经由有线连接、无线连接或者有线和无线连接的结合进行通信的类似收发器的组件(例如,收发器、单独的接收器和发射器等)。通信接口370可以允许设备300接收来自另一设备的信息和/或向另一设备提供信息。例如,通信接口370可以包括以太网接口、光接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。

设备300可以执行在此描述的一个或者多个过程。设备300可以响应于处理器320执行由诸如存储器330和/或存储组件340的计算机可读介质存储的软件指令来执行这些过程。计算机可读介质在此被定义为非瞬态存储器设备。存储器设备包括单个物理存储设备内的存储空间或者遍布多个物理存储设备的存储空间。

可以经由通信接口370从另一计算机可读介质或者从另一设备将软件指令读入存储器330和/或存储器组件340中。在存储器330和/或存储器组件340中存储的软件指令当被执行时,可以致使处理器320执行在此描述的一个或者多个过程。附加地或者备选地,硬接线的电路可以被用于替代软件指令或者与软件指令结以来执行在此描述的一个或者多个过程。因此,在此描述的实现方式不被限制于硬件电路和软件的任何特定结合。

在图3中所示的组件的数目和布置作为示例被提供。在实践中,与在图3中所示的那些组件相比,设备300可以包括附加的组件、更少的组件、不同的组件或者被不同地布置的组件。附加地或者备选地,设备300的组件的集合(例如,一个或者多个组件)可以执行如正由设备300的组件的另一集合执行的描述的一个或者多个功能。

图4是用于确定与对象相关联的测试行为信息以及存储与对象相关联的测试行为信息的示例过程的流程图。在一些实现方式中,图4的一个或者多个过程框可以由安全设备220来执行。在一些实现中,图4的一个或者多个过程框可以由另一设备或者与安全设备220分离的或者包括安全设备220的设备的集合(诸如用户设备210)来执行。

如在图4中所示,过程400可以包括接收与用户设备相关联的对象(框410)。例如,安全设备220可以接收与用户设备210相关联的对象。在一些实现方式中,当服务器设备230提供用于向用户设备210传输的对象时(例如,当放置安全设备220以接收向用户设备210提供的对象时),安全设备220可以接收对象。附加地或者备选地,当另一设备(诸如用户设备210或者在网络240中包括的设备)向安全设备220提供对象时,安全设备220可以接收对象。

对象可以包括可执行对象(例如,Windows可执行文件(EXE)、Windows脚本文件(WSF)等)、网页对象(例如,超文本标记语言(HTML)文档等)、文本对象(例如,微软Word文档(DOC)、纯文本文件(TXT))、页面布局对象(例如,可移植文档格式文件(PDF)、图片文件(PCT))、压缩的对象(例如,压缩文件(ZIP)、WinRAR压缩的档案(RAR)等)或者另一类型的对象。

在一些实现方式中,基于由用户设备210提供的请求,安全设备220可以接收对象。例如,用户设备210的用户可以提供(例如,经由用户设备210的输入机制)指示用户设备210将接收对象的信息,并且用户设备210可以向服务器设备230发送请求(例如,当服务器设备230存储对象时)。在这一示例中,服务器设备230可以接收请求,并且可以向安全设备220提供对象(例如,当放置安全设备220 以在对象被发送至用户设备210之前接收该对象时)。在一些实现方式中,用户可能不知道用户设备210已经发送了对于对象的请求(例如,当运行在用户设备210上的程序被配置为自动地使得用户设备210请求对象时,等)。在一些实现方式中,基于正由服务器设备230提供的对象,安全设备220可以接收对象。例如,服务器设备230可以将对象发送至用户设备210(例如,在用户设备210没有请求该对象的情况下),并且安全设备220可以接收来自服务器设备230的对象。

附加地或者备选地,安全设备220可以接收来自用户设备210的对象。例如,如下所述,用户设备210可以接收来自服务器设备230的对象,并且可以确定与该对象相关联的实际行为信息。在这一示例中,用户设备210可以向安全设备210提供对象连同实际行为信息(例如,以便允许安全设备220确定与对象相关联的测试行为信息)。

如在图4中进一步示出的,过程400可以包括确定与对象相关联的测试行为信息(框420)。例如,安全设备220可以确定与对象相关联的测试行为信息。在一些实现方式中,在安全设备220接收对象以后,安全设备220可以确定测试行为信息。附加地或者备选地,当安全设备220接收安全设备220将确定测试行为信息的指示时,安全设备220可以确定测试行为信息。

测试行为信息可以包括标识与在测试环境(例如,沙盒环境、仿真环境、由VM主控的环境等)中测试对象相关联的一种或者多种行为的信息。在一些实现方式中,如下所述,测试行为信息可以被与实际行为信息比较以便将对象标识为躲避的恶意对象。在一些实现中,基于在仿真环境中执行对象,安全设备220可以确定测试行为信息。例如,安全设备220可以实现运行在VM上的完整的操作系统内的沙盒环境。在此,安全设备220可以在沙盒环境中执行对象以便确定测试行为信息。在测试环境中测试对象可以允许安全设备220执行对象的动态分析(例如,以便确定对象是否为恶意对象),而不冒在用户设备210上发生任何恶意活动的风险。

附加地或者备选地,安全设备220可以通过执行对象的静态分析(诸如使用反病毒软件扫描对象)、执行对象的字符串搜索、对对象进行反汇编等来确定测试行为。附加地或者备选地,安全设备220可以以与分析对象、执行对象、检查对象、运行对象、安装对象或者以其他方式测试对象相关联的另一方式确定测试行为信息。

附加地或者备选地,基于与另一用户设备210相关联的信息,安全设备220可以确定测试行为。例如,第一用户设备210可以在较早的时间向安全设备220提供与对象相关联的实际行为信息(例如,当第一用户设备210在较早的时间接收该对象时)。在这一示例中,安全设备220可以确定(例如,基于实际行为信息以及基于由安全设备220确定的测试行为信息)对象是躲避的恶意对象。安全设备220可以存储对象是躲避的恶意对象的指示和/或可以存储与对象相关联的测试行为信息。在此,当安全设备220将基于第二用户设备210接收对象(例如,在较晚的时间)来确定测试行为信息时,安全设备220可以取回指示和/或测试行为信息。以这一方式,安全设备220可以使用之前确定的测试行为信息和/或可以基于存储的与对象相关联的指示将对象标识为躲避的恶意对象。

在一些实现方式中,测试行为信息可以指示对象是恶意对象。例如,安全设备220可以在沙盒环境内执行对象,并且可以标识与执行对象相关联的一个或者多个恶意的和/或可疑的行为,诸如文件的创建、文件的编辑、注册表项的创建、注册表项的编辑、注册表项的删除、自动化任务的调度、网络连接的建立等。在这一示例中,基于测试行为信息和/或基于执行对象的附加分析(例如,使用另一种恶意软件检测技术、病毒检测技术、间谍软件检测技术、勒索软件检测技术等),安全设备220可以确定对象是恶意对象。在一些实现方式中,安全设备220可以不允许向用户设备210提供对象(例如,当测试行为信息足够允许安全设备220结论性地(具有特定程度的确定性)确定该对象是恶意的时)。备选地,即使当安全设备220标识一个或者多个恶意的和/或可疑的行为时(例如,当测试行为信息不足以允许安 全设备220确定对象是恶意的时),安全设备220可以允许向用户设备210提供对象。

备选地,测试行为信息可以指示对象不是恶意的对象。例如,安全设备220可以在沙盒环境内执行对象,并且可以不标识与执行对象相关联的恶意的和/或可疑的对象(即,对象可以不使得任何可疑的和/或恶意的行为被展示)。在此,安全设备220可以确定测试行为信息,该测试行为信息标识一个或者多个正常的行为(例如,非恶意行为、非可疑行为、典型行为、预期行为等)。在这一示例中,基于测试行为信息和/或基于执行对象的附加分析(例如,使用另一种恶意软件检测技术、病毒检测技术、间谍软件检测技术、勒索软件检测技术等),安全设备220可以确定对象不是恶意对象,并且可以允许向用户设备210提供该对象。在一些实现方式中,安全设备220可以向用户设备210提供对象(例如,在安全设备220确定测试行为信息之后、在安全设备220确定测试行为信息之前、在安全设备220确定测试行为信息的同时等)。附加地或者备选地,安全设备220可以提供指示用户设备210将确定与对象相关联的实际行为信息的信息,并且向安全设备220提供实际行为信息。

在一些实现方式中,安全设备220可以向用户设备210提供与对象相关联的测试行为信息(例如,如下所述,以使得用户设备210可以确定与对象相关联的实际行为信息何时偏离测试行为信息)。

如在图4中进一步示出的,过程400可以包括存储与对象相关联的测试行为信息(框430)。例如,安全设备220可以存储与对象相关联的测试行为信息。在一些实现方式中,当安全设备220确定测试行为信息时(例如,在安全设备220确定测试行为信息之后),安全设备220可以存储测试行为信息。附加地或者备选地,基于接收安全设备220将存储测试行为信息的指示,安全设备220可以存储测试行为信息。

在一些实现方式中,安全设备220可以在安全设备220的存储器位置(例如,RAM、ROM、缓存、硬盘等)中存储测试行为信息。 在一些实现方式中,安全设备220可以在由安全设备220存储或者可访问的测试行为信息数据结构中存储测试行为信息。附加地或者备选地,安全设备220可以向另一设备提供测试行为信息以用于存储。

在一些实现方式中,安全设备220可以存储测试行为信息,以使得安全设备220可以在较晚的时间取回测试行为信息。在一些实现方式中,安全设备220可以存储关于用户设备210的测试行为信息。附加地或者备选地,安全设备220可以存储关于对象的测试行为信息。

尽管图4示出了过程400的示例框,但是在一些实现方式中,与在图4中描绘的那些框相比,过程400可以包括附加的框、更少的框、不同的框、或者被不同地布置的框。附加地或者备选地,过程400的框中的两个或者更多个框可以被并行地执行。

图5是关于在图4中所示的示例过程400的示例实现方式500的示图。为了图5的目的,假设安全设备220(例如,SD1)被放置在用户设备210(例如,UD1)和服务器设备230(例如,站点X服务器)之间。进一步地,假设SD1被配置为确定与将向UD1提供的对象相关联的测试行为信息。

如在图5中以及由标号505所示,UD1可以经由SD1向站点X服务器发送对于由站点X服务器存储的对象(例如,game.exe)的请求。如由标号510所示,基于由UD1提供的请求,站点X服务器可以向SD1提供对象。如由标号515所示,SD1可以接收对象并且可以在由SD1主控的沙盒环境中执行该对象。如由标号520所示,基于执行对象(例如,与game.exe相关联的游戏文件夹的创建以及与game.exe相关联的图像文件的下载),SD1可以标识两种行为。如由标号525所示,SD1可以确定两种行为为正常的行为(例如,非恶意的、非可疑的等),对象不是恶意对象,并且SD1可以存储与对象相关联的测试行为信息。如由标号530所示,SD1可以接下来向UD1提供该对象。

如上所述,图5仅作为示例被提供。其他示例是有可能的并且可以与关于图5而被描述的内容不同。

图6是用于确定与对象相关联的实际行为信息并且提供实际行为信息的示例过程600的流程图。在一些实现方式中,图6的一个或者多个过程框可以由用户设备210执行。在一些实现中,图6的一个或者多个过程框可以由另一设备或者与用户设备210分离的或者包括用户设备210的设备的组(诸如安全设备220)来执行。

如在图6中所示,过程600可以包括接收对象(框610)。例如,用户设备210可以接收对象。在一些实现方式中,当安全设备220提供对象时,用户设备210可以接收对象。附加地或者备选地,当服务器设备230提供对象时(例如,基于来自用户设备210的请求),用户设备210可以接收对象。附加地或者备选地,用户设备210可以从另一设备和/或在另一时间接收对象。

在一些实现方式中,在安全设备220确定与对象相关联的测试行为信息之后,用户设备210可以接收对象。换言之,在过程400(如上所述)由安全设备220执行之后(例如,当安全设备220被配置为在用户设备210接收对象之前确定测试行为信息时),用户设备210可以接收对象。备选地,在安全设备220确定与对象相关联的测试行为信息之前,用户设备210可以接收对象。换言之,在过程400由安全设备220执行之前(例如,当安全设备220被配置为在用户设备210接收对象和/或向安全设备220提供对象之后确定测试行为信息时),用户设备210可以接收对象。备选地,在安全设备220确定与对象相关联的测试行为信息的同时,用户设备210可以接收对象。

如在图6中进一步示出的,过程600可以包括确定与对象相关联的实际行为信息(框620)。例如,用户设备210可以确定与对象相关联的实际行为信息。在一些实现方式中,在用户设备210接收对象之后,用户设备210可以确定实际行为信息。附加地或者备选地,当用户设备210接收执行对象、运行对象、打开对象、安装对象等的指示(例如,用户输入)时,用户设备210可以确定实际行为信息。附加地或者备选地,当用户设备210接收用户设备210将确定实际行为信息的指示时,用户设备210可以确定实际行为信息。

实际行为信息可以包括标识在真实环境内(例如,当对象在用户设备210上被执行、在用户设备210上运行、由用户设备210打开、在用户设备210上安装时等)由对象展示的一种或者多种行为的信息。在一些实现方式中,用户设备210可以通过在与用户设备210相关联的真实环境中执行对象、运行对象、打开对象等以及监控对象的行为来确定实际行为信息。在一些实现方式中,如下所述,可以比较实际行为信息与测试行为信息以便将对象标识为躲避的恶意对象。

在一些实现方式中,用户设备210可以基于来自用户的指示来确定实际行为信息。例如,当用户提供指示用户设备210将执行对象的指示时,用户设备210可以被配置为(例如,自动地)确定与对象相关联的实际行为信息。

附加地或者备选地,用户设备210可以基于用户设备210的配置来确定实际行为信息。例如,用户设备210可以被配置为(例如,基于由用户设备210主控的安全应用)当用户设备210执行对象、运行对象、打开对象、安装对象等时确定实际行为信息。

附加地或者备选地,用户设备210可以基于由安全设备220提供的指示来确定实际行为。例如,安全设备220可以向用户设备210提供对象连同用户设备210将确定与对象相关联的实际行为信息的指示(例如,如上所述),并且用户设备210可以因此确定实际行为信息。

如在图6中进一步示出的,过程600可以包括提供实际行为信息(框630)。例如,用户设备210可以提供实际行为信息。在一些实现方式中,在用户设备210确定实际行为信息之后,用户设备210可以提供实际行为信息。附加地或者备选地,当用户设备210接收指示用户设备210将提供实际行为信息的信息时,用户设备210可以提供实际行为信息。

在一些实现方式中,用户设备210可以基于阈值时间量来提供实际行为信息。例如,用户设备210可以存储信息,该信息指示用户设备210将对于在用户设备210开始执行对象之后的阈值时间量(例如,30秒、5分钟等)确定实际行为信息,并且用户设备210可以因此确 定并且提供实际行为信息。附加地或者备选地,用户设备210可以周期性地提供实际行为信息(例如,每隔1分钟当对象是打开时、每隔10分钟当对象正在运行时等)。

在一些实现方式中,用户设备210可以基于检测从与对象相关联的测试行为信息的偏差提供实际行为信息。例如,安全设备220可以向用户设备210提供测试行为信息(例如,当安全设备210被配置为在向用户设备210提供对象之前确定测试行为信息时)。在此,用户设备210可以接收测试行为信息并且可以开始确定实际行为信息(例如,用户设备210可以开始执行对象并且监控与执行对象相关联的行为)。在这一示例中,用户设备210可以确定(例如,在用户设备210开始执行对象之后的时间)实际行为信息已经偏离了测试行为信息(例如,当用户设备210在执行期间0标识在测试行为信息中没有标识的行为时),并且用户设备210可以向安全设备220提供实际行为信息。

在一些实现方式中,用户设备210可以提供对象连同实际行为信息。例如,在安全设备220确定与对象相关联的测试行为信息之前,用户设备210可以接收对象,并且用户设备210可以执行该对象。在此,用户设备210可以向安全设备220提供实际行为信息连同对象(例如,以使得安全设备220可以在测试环境(例如,在沙盒环境、仿真环境、使用由安全设备220主控的VM等)中执行对象以便确定与对象相关联的测试行为信息)。

附加地或者备选地,用户设备210可以提供与一个或者多个用户动作相关联的信息,该一个或者多个用户动作与对象相关联。例如,用户设备210可以提供与用户输入(例如,用户名、密码、特定按键的选择、用户界面的特定区域的选择等)相关联的信息,该用户输入由用户提供并且与对象相关联(例如,以使得安全设备210可以重新创建该一个或者多个用户动作以便执行与对象相关联的附加测试)。附加地或者备选地,用户设备210可以提供与对象相关联的存储器快照。例如,用户设备210可以提供与在用户设备210上运行的过程的 存储器空间相关联的信息(例如,以使得安全设备220可以在沙盒环境内重新建立匹配的存储器空间以便执行与对象相关联的附加测试)。

尽管图6示出了过程600的示例框,在一些实现方式中,与在图6中描绘的那些框相比,过程600可以包括附加的框、更少的框、不同的框或者被不同地布置的框。附加地或者备选地,过程600的框中的两个或者更多个框可以被并行地执行。

图7是与在图6中所示的示例过程600有关的示例实现方式700的示图。为了图7的目的,假设用户设备210(例如,UD1)已经从服务器设备230(例如,站点X服务器)请求了对象(例如,game.exe)。进一步地,假设被放置在UD1和站点X服务器之间的安全设备220(例如,SD1)已经接收了对象、确定并存储了与对象相关联的测试行为信息,并且已经确定了(例如,基于测试行为信息)UD1可以接收对象。最后,假设UD1被配置为确定与对象相关联的实际行为信息,以及向SD1提供实际行为信息。

如在图7中以及由标号705所示,SD1可以向UD1提供对象。如由标号710所示,UD1可以接收对象,并且可以(例如,基于来自用户的指示)执行对象。如由标号715所示,在UD1开始执行对象后的一分钟时间段期间,UD1可以确定与对象相关联的实际行为对象(例如,假设UD1被配置为在开始对象的执行以后的一分钟提供实际行为信息)。如所示,UD1可以确定实际行为信息,该实际行为信息标识与执行对象相关联的三种行为(例如,与game.exe相关联的游戏文件夹的创建、注册表项Y的编辑以及任务X的调度)。如由标号720所示,UD1可以向SD1提供与对象相关联并且由UD1确定的实际行为信息。

如上所述,图7仅作为示例被提供。其他示例是有可能的并且可以与关于图7而被描述的内容不同。

图8是用于基于比较与对象相关联的实际行为信息和与对象相关联的测试行为信息将对象标识为躲避的恶意对象的示例过程800的流 程图。在一些实现方式中,图8的一个或者多个过程框可以由安全设备220执行。在一些实现方式中,图8的一个或者多个过程框可以由另一设备或者与安全设备220分离的或者包括安全设备220的设备(诸如用户设备210)的集合来执行。

如在图8中所示,过程800可以包括接收与对象相关联的实际行为信息(框810)。例如,安全设备220可以接收与对象相关联的实际行为信息。在一些实现方式中,如以上关于过程600所描述的,当用户设备210提供实际行为信息时,安全设备220可以接收与对象相关联的实际行为信息。

在一些实现方式中,安全设备220可以基于用户设备210的配置(例如,当用户设备被配置为在特定时间、以特定时间间隔等提供实际行为信息时)接收实际行为信息。附加地或者备选地,安全设备220可以基于由安全设备220提供的请求(例如,当安全设备220从用户设备210请求实际行为信息时),接收实际行为信息。附加地或者备选地,安全设备220可以在另一时间接收实际行为信息。

如在图8中进一步示出的,过程800可以包括与对象相关联的测试行为信息(框820)。例如,安全设备220可以确定与对象相关联的测试行为信息。在一些实现方式中,在安全设备220接收实际行为信息之后,安全设备220可以确定测试行为信息。附加地或者备选地,当安全设备220接收对象时(例如,如上所述),安全设备220可以确定测试行为信息。附加地或者备选地,当安全设别220接收指示安全设备220将确定测试行为信息的信息时,安全设备220可以确定测试行为信息。

在一些实现方式中,安全设备220可以基于由安全设备220存储的信息确定与对象相关联的测试行为信息。例如,如以上关于过程400所描述的,安全设备220可以确定和存储测试行为信息,并且可以基于存储的信息确定测试行为信息。

附加地或者备选地,安全设别220可以基于测试对象来确定测试行为信息(例如,当在用户设备210接收对象之前安全设备220没有 测试对象时)。换言之,在用户设备210提供与对象相关联的实际行为信息之后,安全设备220可以执行过程400。

如在图8中进一步示出的,过程800可以包括比较实际行为信息和测试行为信息(框830)。例如,安全设备220可以比较实际行为信息和测试行为信息。在一些实现方式中,在安全设备220确定测试行为信息之后,安全设备220可以比较实际行为信息和测试行为信息。附加地或者备选地,在安全设备220接收实际行为信息之后,安全设备220可以比较实际行为信息和测试行为信息。附加地或者备选地,在安全设备220接收指示安全设备220将比较实际行为信息和测试行为信息的信息之后,安全设备220可以比较实际行为信息和测试行为信息。

在一些实现方式中,安全设备220可以比较实际行为信息和测试行为信息以便确定当对象由安全设备220测试时与对象由用户设备210执行、运行、打开、安装等相比,对象是否表现不同(例如,在实际行为信息和测试行为信息之间的差别可以指示对象是躲避的恶意对象)。在一些实现方式中,安全设备220可以基于比较实际行为信息和测试行为信息标识在实际行为信息和测试行为信息之间的差别。例如,安全设备220可以确定实际行为信息标识了在测试行为信息中没有标识的行为、测试行为信息标识了在实际行为信息中没有标识的行为、实际行为信息标识了与在测试行为信息中标识的行为相比不同的行为等。在一些实现方式中,安全设备220可以标识在实际行为信息和测试行为信息之间的一个或者多个差别。

如在图8中进一步示出的,过程800可以包括基于比较实际行为信息和测试行为信息将对象标识为躲避的恶意对象(框840)。例如,安全设备220可以基于比较实际行为信息和测试行为信息将对象标识为躲避的恶意对象。在一些实现方式中,在安全设备220比较实际行为信息和测试行为信息之后,安全设备220可以将对象标识为躲避的恶意对象。在一些实现方式中,当安全设备220接收指示安全设备220要将对象标识为躲避的恶意对象的信息时,安全设备220可以将对象 标识为躲避的恶意对象。

在一些实现方式中,基于比较实际行为信息和测试行为信息,安全设备220可以将对象标识为躲避的恶意对象。例如,安全设备220可以比较实际行为信息和测试行为信息,并且可以确定对象在用户设备210上展示了一种或者多种恶意行为,以及对象在安全设备220上没有展示一种或者多种恶意行为(例如,在沙盒环境中该对象的测试期间)。在这一示例中,安全设备220可以基于确定对象在用户设备210上展示了一种或者多个恶意行为将对象标识为躲避的恶意对象(例如,当安全设备220被配置为当对象在用户设备210上展示一种或者多种恶意行为,但在安全设备220上没有展示该一种或者多种恶意行为时将对象标识为躲避的恶意对象时)。

附加地或者备选地,安全设备220可以基于与对象相关联的附加测试将对象标识为躲避的恶意对象。例如,安全设备220可以比较实际行为信息和测试行为信息,并且可以确定对象在用户设备210上展示了恶意行为,以及对象在安全设备220上没有展示恶意行为。在这一示例中,假设安全设备220已经从用户设备210接收了与一个或者多个用户动作相关联的信息,该一个或者多个用户动作与执行对象相关联。在此,安全设备220可以使用与该一个或者多个用户动作相关联的信息以便在用户设备上重新创建对象的执行,并且安全设备220可以执行对象的附加测试(例如,使用另一种恶意软件检测技术、病毒检测技术、间谍软件检测技术、勒索软件检测技术等)以便确定对象是否为躲避的恶意对象。

附加地或者备选地,安全设备220可以基于实际行为信息区别于测试行为信息的方式将对象标识为恶意对象。例如,如果对象在客户端设备210上展示了包括第一特征(例如,在回收站中的文件的创建)和相关联的第二特征(例如,致使文件被自动地执行)的行为,并且在安全设备220上没有展示第一特征或者第二特征,则安全设备220可以将对象标识为躲避的恶意对象。换言之,可以将展示的行为分解成特征,并且安全设备220可以确定(例如,基于由安全设备220存 储的静态规则、基于由安全设备220使用机器学习技术确定的动态规则等)对象是否为躲避的恶意对象。

在一些实现方式中,在将对象标识为躲避的恶意对象之后,安全设备220可以提供指示。例如,安全设备220可以将对象标识为躲避的恶意对象,并且安全设备220可以提供(例如,向与用户设备210相关联的管理员设备、向用户设备210等)用户设备210已经接收了躲避的恶意对象的通知。作为另一示例,安全设备220可以将对象标识为躲避的恶意对象,并且可以从网络240移除用户设备210(例如,以使得用户设备210不能将躲避的恶意对象传染给其他的用户设备210)。作为又一示例,安全设备220可以使得躲避的恶意对象从用户设备210被移除。附加地或者备选地,安全设备220可以采取与对象和/或用户设备210相关联的另一种类型的纠正动作。例如,安全设备220可以通知防火墙过滤与该对象类似的对象,可以向黑名单添加与该对象相关联的信息等。

尽管图8示出了过程800的示例框,在一些实现方式中,与在图8中描绘的那些框相比,过程800可以包括附加的框、更少的框、不同的框、或者被不同地布置的框。附加地或者备选地,过程800的框中的两个或者更多个框可以被并行地执行。

图9是与在图8中所示的示例过程900有关的示例实现方式的示图。为了图9的目的,假设安全设备220(例如,SD1)已经确定并存储了与对象(例如,game.exe)相关联的测试行为信息,该测试行为信息标识了与在测试环境(例如,沙盒环境)中测试对象相关联的两种行为(例如,游戏文件夹的创建和游戏图像的下载)。进一步地,假设用户设备210(例如,UD1)已经接收了对象并且确定了与对象相关联的实际行为,该实际行为标识了与在UD1上执行对象相关联的三种行为(例如,游戏文件夹的创建、注册表项X的编辑和任务Y的调度)。

如在图9中以及由标号905所示,UD1可以向SD1提供与对象相关联的实际行为信息。如由标号910所示,SD1可以接收实际行为 信息,并且可以确定(例如,基于由SD1存储的信息)与对象相关联的测试行为信息。如由标号915所示,SD1可以比较实际行为信息和测试行为信息,并且如由标号920所示,可以确定实际行为信息与测试行为信息不同(例如,因为测试行为信息没有标识与编辑注册表项X或者调度任务Y相关联的行为,并且因为测试行为信息没有标识与下载游戏图像文件相关联的行为)。为了示例实现方式900的目的,假设SD1被配置为将注册表项的编辑标识为恶意行为以及将任务的调度标识为恶意行为。如由标号925所示,SD1可以将对象标识为躲避的恶意对象(例如,因为实际行为信息标识了在测试行为信息中没有包括的两种恶意行为)。如由标号930所示,SD1可以向UD1提供对象是躲避的恶意对象的指示(例如,以使得用户可以删除该对象、停止执行该对象等)。

如上所述,图9仅作为示例被提供。其他示例是有可能的并且可以与关于图9而被描述的内容不同。

在此所述的实现方式可以允许安全设备基于比较与对象相关联的并且由用户设备确定的实际行为信息和与对象相关联的并且由安全设备确定的测试行为信息来确定对象是否为躲避的恶意对象。

前述公开内容提供了说明和描述,但是并未旨在于为穷尽或者将实现方式限制于所公开的精确形式。根据上述公开内容的修改和变化是有可能的或者修改和变化可以从实现方式的实践中被获取。

如在此使用的,术语“组件”旨在于被广泛地解释为硬件、固件和/或硬件和软件的结合。

一些实现在此结合阈值而被描述。如在此使用的,满足阈值可以指代值大于阈值、多于阈值、高于阈值、大于或等于阈值、小于阈值、少于阈值、低于阈值、小于或者等于阈值、等于阈值等。

在此所述的系统和/或方法可以按照硬件、固件或者硬件和软件的结合的不同形式而被实现将是明显的。用于实现这些系统和/或方法的实际的具体化的控制硬件或者软件代码不限于本实现方式。因此,系统和/或方法的操作和行为在此没有参考具体的软件代码而被描 述——应当理解,基于在此的描述能够设计软件和硬件以实现系统和/或方法。

尽管特征的特定组合被记载在权利要求中和/或被公开在说明书中,这些组合并未旨在于限制可能的实现方式的公开内容。事实上,这些特征中的许多特征可以按照在权利要求中未被具体记载的方式和/或在说明书中未被具体公开的方式结合。尽管以下列出的每个从属权利要求可以直接地依赖于仅一个权利要求,可能的实现方式的公开内容包括每个从属权利要求与在权利要求集合中的每个其他权利要求相结合。

在此使用的元素、动作或者指令均不应被解释为关键的或者必不可少的,除非如此明确地描述。并且,如在此使用的,冠词“一个”和“一种”旨在于包括一个或者多个项目,并且可以与“一个或者多个”可交替地使用。此外,如在此使用的,术语“集合”旨在于包括一个或者多个项目,并且可以与“一个或者多个”可交替地使用。当仅指一个项目时,使用术语“一个”或者类似的语言。并且,如在此使用的,术语“有”、“具有”、“含有”等旨在于为开放的术语。进一步地,短语“基于”旨在于表示“至少部分基于”的意思,除非另外明确地说明。

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