技术领域
[0001] 本发明总体上涉及计算机领域。具体地,涉及安全应用的动态优化。
相关背景技术
[0002] 安全设备可以位于用户设备与服务器设备(例如,与网站相关联的服务器设备)之间。安全设备可以被配置设备以检测(例如,使用统一资源定位器(URL)信誉、黑名单、防病毒扫描、防恶意软件技术等)由服务器设备提供的恶意对象(例如,特洛伊木马、蠕虫、间谍程序等),和/或可以被配置以防止恶意对象被用户设备接收。
具体实施方式
[0013] 示例性实施方式的以下详细描述涉及附图。不同附图中相同附图标记可以标识相同或相似的元件。
[0014] 安全设备可以托管或访问与确定对象(例如,可执行对象、网页对象、文本对象、图像对象、页面对象、压缩对象等)是否是恶意对象相关联的安全函数的集合。例如,安全设备可以托管或访问防病毒扫描函数、静态分析函数、代码仿真器函数、虚拟沙盒函数、和/或另一类型安全函数。在一些实施方式中,安全设备可以接收对象,并且可以对对象执行一个或多个安全函数以便确定对象是否是恶意对象。然而,当对对象执行特定安全函数和/或相对少量安全函数可以足以确定对象是否是恶意对象时,对对象执行大量和/或所有可应用的安全函数可以导致计算资源(例如,中央处理单元(CPU)时间、金钱等)浪费。
[0015] 在此所述的实施方式可以提供具有可以用于标识安全函数集合的安全函数子集的威胁预测模型的安全设备,当对未知对象执行时可以提供对未知对象是否是恶意对象的确定而同时有效地使用计算资源。
[0016] 图1A至图1D是在此所述示例性实施方式100的概述的示意图。对于示例性实施方式100的目的,假设安全设备托管了与确定未知对象(例如,将要提供至客户端设备,由客户端设备接收,存储在客户端设备上,将要提供至服务器设备,由服务器设备接收,存储在服务器设备上等)是否是恶意对象相关联的安全函数的集合(例如,安全函数1(SF1)至安全函数X(SFX))。此外,假设安全设备管理了与预测对未知对象执行安全函数(例如,SF1至SFX)的结果相关联的威胁预测模型(并不对未知对象执行SF1至SFX)。
[0017] 如图1A以及由附图标记105所示,安全设备可以接收与更新威胁预测模型相关联的第一训练对象(例如,训练对象A)。如附图标记110所示,安全设备可以确定与训练对象A相关联的特征的集合(例如,基于检查训练对象A,分析训练对象A等)。如附图标记115所示,安全设备可以确定训练对象A并非恶意对象(例如,基于训练对象A中包括的信息)。如附图标记120所示,安全设备可以对训练对象执行每个安全函数(例如,SF1至SFX),以便确定与SF1至SFX相关联的威胁得分的集合(例如,SF1威胁得分至SFX威胁得分)。
[0018] 如附图标记125所示,安全设备可以随后基于威胁得分的集合以及指示了训练对象A并非恶意对象的信息确定与SF1至SFX相关联的实用价值的集合(例如,SF1实用程序至SFX实用程序)。在一些实施方式中,对应于安全函数的实用价值可以包括指示了安全函数如何有助于确定对象(例如,具有特定的特征集合)是否是恶意的信息。
[0019] 如图1B以及由附图标记130所示,安全设备可以对于额外的训练对象(例如,训练对象B至训练对象Z)重复该方法。通过此方式,安全设备可以基于具有各种特征集合的多个训练对象而确定与SF1至SFX相关联的使用程序数值。如附图标记130所示,安全设备可以基于与每个训练对象相关联的特征集合、威胁得分集合以及使用程序数值集合而更新威胁预测模型。以此方式,安全设备可以训练威胁预测模型以用于确定未知对象是否是恶意对象(例如,基于与未知对象相关联的特征集合)。
[0020] 如图1C以及由附图标记135所示,服务器设备可以向安全设备提供未知对象(例如,基于来自由安全设备所保护的客户端设备的请求)。如附图标记140所示,安全设备可以确定与未知对象相关联的特征集合。如附图标记145所示,安全设备可以基于向威胁预测模型提供与特征集合相关联的信息作为输入而对于SF1至SFX确定预测威胁得分的集合。如附图标记150所示,基于预测威胁得分集合以及当前威胁得分(例如,默认威胁得分,因为尚未对未知对象执行安全函数),安全设备可以确定对应于SF1至SFX的预测实用价值的集合。如附图标记155所示,安全设备也可以确定对应于SF1至SFX的函数成本的集合(例如,执行每个安全函数所需的时间长度,执行每个安全函数所需的计算资源的量等)。
[0021] 如图1D以及由附图标记160所示,并且基于实用价值集合和函数成本集合,安全设备可以确定对应于SF1至SFX的预测效率的集合。通过此方式,当标识将要对未知对象执行的特定安全函数时,可以考虑成本。如附图标记165所示,安全设备可以标识SF1作为具有最大预测效率的安全函数,并且可以对未知对象执行SF1。如由附图标记170所示,安全设备可以对未知对象执行SF1并且确定修订的当前威胁得分(例如,对未知对象执行SF1的结果M)。如附图标记175所示,安全设备可以确定是否将要对未知对象执行另一安全函数(例如,基于修订的当前威胁得分)。如所示,如果安全设备确定将要对未知对象执行另一安全函数,随后安全设备可以基于修订的当前威胁得分(例如,以及与对未知对象执行SF1相关联的其他信息)重复以上方法。然而,如果安全设备确定并非将要对未知对象执行另一安全函数,随后安全设备可以基于修订的当前威胁得分而对未知对象分类和/或可以采取另一类型动作(例如,提供修订的当前威胁得分,存储修订的当前威胁得分等)。此外,安全设备可以进一步基于特征集合、修订的当前威胁得分和/或由如上所述安全设备确定的其他信息而更新威胁预测模型。以该方式,安全设备可以动态地更新威胁预测模型。
[0022] 以通过此方式,安全设备可以管理和/或使用威胁预测模型以标识安全函数集合的安全函数子集,当对未知对象执行时可以提供对未知对象是否是恶意对象的确定而同时有效地使用计算资源。
[0023] 图2是其中可以实施在此所述系统和/或方法的示例性环境200的示意图。如图2所示,环境200可以包括一个或多个客户端设备210-1至210-N(N≥1)(下文中共同地称作客户端设备210,以及单独地称作客户端设备210),客户端网络220,安全设备230,服务器设备240,以及网络250。环境200的设备可以经由有线连接、无线连接、或者有线和无线连接的组合而互连。
[0024] 客户端设备210可以包括能够经由网络(例如,客户端网络220、网络250等)与其他设备(例如,其他客户端设备210、安全设备230、服务器设备240等)通信的一个或多个设备。例如,客户端设备210可以包括计算设备,诸如膝上型计算机、平板计算机、手持计算机、台式计算机、移动电话(例如,智能电话、无线电话等)、个人数字助理、或类似设备。在一些实施方式中,客户端设备210可以包括在客户端网络220中。
[0025] 客户端网络220可以包括与客户端设备210的群组相联接的一个或多个有线和/或无线网络。例如,客户端网络220可以包括有线局域网(WLAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网(例如,公用交换电话网(PSTN))、蜂窝网、公用国土移动网(PLMN)、专用网、内联网、互联网、基于光纤的网路、云计算网络和/或这些或其他类型网络的组合。在一些实施方式中,客户端网络220可以包括一个或多个客户端设备210和/或一个或多个安全设备230。在一些实施方式中,客户端网络210可以是与商行、企业、服务提供商的客户等相关联的私用网络。
[0026] 安全设备230可以包括能够接收、产生、确定、提供和/或存储与威胁预测模型相关联的信息、诸如与未知对象相关联的预测威胁得分的一个或多个设备。例如,安全设备230可以包括计算设备,诸如服务器设备或者服务器设备的群组。附加地或者备选地,安全设备230可以使用一个或多个虚拟机实施在云计算网络内。在一些实施方式中,安全设备
230可以托管与确定对于未知对象的威胁得分相关联的安全函数的集合。在一些实施方式中,由安全设备230托管的一个或多个安全函数可以涉及云服务(例如,散列查找服务、云扫描服务等)和/或由另一设备(例如,额外的现场设备)提供的服务。
[0027] 在一些实施方式中,安全设备230可以包括能够处理和/或转移与包括在客户端网络220中的客户端设备210相关联的通信量的一个或多个设备。例如,安全设备230可以包括网络设备,诸如反向代理服务器、服务器(例如,代理服务器)、通信量转移设备、防火墙、路由器、负载平衡器等。
[0028] 在一些实施方式中,安全设备230可以能够管理、更新、存储和/或提供与威胁预测模型相关联的信息。附加地或者备选地,安全设备230可以能够基于与威胁预测模型相关联的训练对象而训练威胁预测模型。附加地或者备选地,安全设备230可以能够基于威胁预测模型而确定与未知对象相关联的预测威胁得分。附加地或者备选地,安全设备230可以能够应用机器学习技术至威胁预测模型(例如,基于与未知对象相关联的预测威胁得分,基于与训练对象相关联的威胁得分等)以便动态地更新威胁预测模型、管理威胁预测模型等。
[0029] 安全设备230可以用于与单个客户端网络220或者客户端网络220的群组连接。可以通过安全设备230而布线通信以到达一个或多个客户端设备210。例如,安全设备230可以位于网络内作为至包括一个或多个客户端设备210的客户端网络220的网关。附加地或者备选地,安全设备230可以用于与单个服务器设备240或者服务器设备240的群组(例如,数据中心)连接。可以通过安全设备230布线通信以到达一个或多个服务器设备240。
例如,安全设备230可以位于网络内作为至包括一个或多个服务器设备240的私用网络的网关。
[0030] 服务器设备240可以包括能够接收、产生、存储和/或提供未知对象至安全设备230和/或客户端设备210的一个或多个设备。例如,服务器设备240可以包括计算设备,诸如服务器(例如,应用服务器、内容服务器、主服务器、网页服务器等)或者服务器的集群。
[0031] 网络250可以包括一个或多个有线和/或无线网络。例如,网络250可以包括WLAN、LAN、WAN、MAN、电话网、蜂窝网、PLMN、专用网、内联网、互联网、基于光纤的网路、云计算网络和/或这些或其他类型网络的组合。在一些实施方式中,网络250可以允许设备之间的通信,设备诸如客户端设备210、安全设备230和/或服务器设备240。
[0032] 提供图2中所示设备和网络的数目以及设置作为示例。实际中,可以有额外的设备和/或网络,更少的设备和/或网络,不同的设备和/或网络,或者与图2中所示不同设置的设备和/或网络。此外,图2中所示两个或更多设备可以实施在单个设备内,或者图2中所示单个设备可以实施作为多个分布式设备。附加地或者备选地,环境200的设备的集合(例如,一个或多个设备)可以执行描述作为由环境200的另一设备集合所执行的一个或多个函数。
[0033] 图3是设备300的示例性部件的示意图。设备300可以对应于客户端设备210、安全设备230和/或服务器设备240。在一些实施方式中,客户端设备210、安全设备230和/或服务器设备240可以包括一个或多个设备300和/或设备300的一个或多个部件。如图3中所示,设备300可以包括总线310、处理器320、存储器330、存储部件340、输入部件350、输出部件360以及通信接口370。
[0034] 总线310可以包括允许在设备300的部件之间通信的部件。处理器320可以包括处理器(例如,中央处理单元(CPU)、图像处理单元(GPU)、加速处理单元(APU)等),微处理器,和/或解释和/或执行指令的任何处理部件(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)。存储器330可以包括随机访问存储器(RAM)、只读存储器(ROM)和/或存储了由处理器330使用的信息和/或指令的另一类型动态或静态存储设备(例如,闪存、磁存储器、光学存储器等)。
[0035] 存储部件340可以存储与设备300的操作和使用相关联的信息和/或软件。例如,存储部件340可以包括硬盘(例如,磁盘、光盘、磁-光盘、固态硬盘等),小型盘(CD),数字通用盘(DVD),软盘,盒式磁带,磁带,和/或另一类型计算机可读媒介,以及对应的驱动器。
[0036] 输入部件350可以包括允许设备300诸如经由用户输入而接收信息的部件(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风等)。附加地或者备选地,输入部件350可以包括用于感测信息的传感器(例如,全球定位系统(GPS)部件,加速度计,陀螺仪,促动器等)。输出部件360可以包括提供来自设备300的输出信息的部件(例如,显示器、扬声器、一个或多个发光二极管(LED)等)。
[0037] 通信接口370可以包括使得设备300与其他设备通信的类似收发机的部件(例如,收发机,分立的接收器和发射器等),诸如经由有线连接、无线连接、或者有线和无线连接的组合。通信接口370可以允许设备300从另一设备接收信息和/或向另一设备提供信息。例如,通信接口370可以包括以太网接口、光学接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。
[0038] 设备300可以执行在此所述的一个或多个方法。设备300可以响应于处理器320执行由诸如存储器330和/或存储部件340的计算机可读媒介所存储的软件指令而执行这些方法。计算机可读媒介在此限定为非临时性存储设备。存储设备包括在单个物理存储设备内的存储空间或者分布在多个物理存储设备之间的存储空间。
[0039] 软件指令可以经由通信接口370从另一计算机可读媒介或者从另一设备而读入存储器330和/或存储部件340中。当执行时,存储器330和/或存储部件340中存储的软件指令可以使得处理器320执行在此所述的一个或多个方法。附加地或者备选地,硬连线的电路可以替代或者与软件指令组合使用以执行在此所述的一个或多个方法。因此,在此所述的实施方式不限于硬件电路和软件的任何具体组合。
[0040] 图3中所示部件的数目和设置提供作为示例。实际中,设备300可以包括额外的部件、更少的部件、不同的部件、或者与图3中所示不同设置的部件。附加地或者备选地,设备300的部件的集合(例如,一个或多个部件)可以执行描述作为设备300的另一部件集合所执行的一个或多个函数。
[0041] 图4是示例性方法400的流程图,用于基于与训练对象相关联的特征集合、威胁得分集合以及实用价值集合而更新威胁预测模型。在一些实施方式中,图4的一个或多个方法框可以由安全设备230执行。在一些实施方式中,图4的一个或多个方法框可以由另一设备或者与安全设备230分离或者包括安全设备230的设备群组执行,诸如客户端设备210或操作用于训练威胁预测模型以由安全设备230使用的另一设备。
[0042] 如图4所示,方法400可以包括接收与威胁预测模型相关联的训练对象(框405)。例如,安全设备230可以接收与威胁预测模型相关联的训练对象。在一些实施方式中,安全设备230可以从另一设备(例如,与产生训练对象相关联的设备)接收训练对象。在一些实施方式中,安全设备230可以基于用户输入(例如,当安全设备230的用户产生训练对象时)而接收训练对象。
[0043] 训练对象可以包括与训练威胁预测模型相关联的对象。例如,训练对象可以包括可执行对象(例如,Windows可执行文件(EXE)、Windows脚本文件(WSF)等),网页对象(例如超文本标示语言(HTML)文档等),文本对象(例如,微软Word文档(DOC),纯文本文件(TXT)),页面对象(例如,可移植文件格式文件(PDF),图画文件(PCT)),图像对象(例如,联合摄像专家组(JEPG)文件,标签图像文件格式(TIFF)文件等),压缩对象(例如,压缩文件(ZIP),WinRAR压缩档案(RAR)等),或者另一类型对象。在一些实施方式中,训练对象可以由特征的集合(例如,大小、签名、类型、源、平台等)描述。在一些实施方式中,训练对象可以是已知的恶意对象类型的恶意对象(例如,特洛伊木马、蠕虫、间谍软件、恶意软件、敲诈软件等)。附加地或者备选地,训练对象可以是非恶意的恶意对象。在一些实施方式中,训练对象可以包括指示了训练对象是恶意对象或非恶意对象(例如,良性对象)的信息。在一些实施方式中,安全设备230可以使用训练对象以训练(例如,更新、管理、调整等)由安全设备230存储或者可访问的威胁预测模型。在一些实施方式中,安全设备230可以接收多个训练对象以便训练威胁预测模型。
[0044] 威胁预测模型可以包括设计用于预测与对未知对象执行安全函数集合的一个或多个安全函数相关联的威胁得分(例如,恶意病毒的概率,恶意病毒的可能性等)的模型。例如,在一些实施方式中,威胁预测模型可以包括机器学习模型,诸如支持程序向量机。附加地或备选地,威胁预测模型可以包括另一类型模型。在一些实施方式中,安全设备230可以存储与威胁预测模型相关联的信息。附加地或者备选地,安全设备230可以向另一设备(例如,客户端设备210)提供与威胁预测模型相关联的信息以使得威胁预测模型可以用于预测与对由客户端设备210接收的未知对象执行安全函数相关联的威胁得分。
[0045] 在一些实施方式中,威胁预测模型可以使用与描述了未知对象的特征集合相关联的信息作为输入,并且可以提供与对未知对象执行一个或多个安全函数相关联的预测威胁得分作为输出(例如,不对未知对象实际执行一个或多个安全函数)。附加地或者备选地,威胁预测模型可以使用与对对象执行第一安全函数相关联的第一威胁得分作为输入,并且可以提供与对对象执行第二安全函数相关联的预测威胁得分作为输出(例如,不对未知对象执行第二安全函数)。附加地或者备选地,威胁预测模型提供与对未知对象执行安全函数相关联的预测实用价值作为输出。以下描述与威胁预测模型相关联的额外细节,诸如训练威胁预测模型、管理威胁预测模型、使用威胁预测模型。
[0046] 如图4进一步所示,方法400可以包括标识与训练对象相关联的特征的集合(框410)。例如,安全设备230可以标识与训练对象相关联的特征集合。在一些实施方式中,安全设备230可以在安全设备230接收了训练对象之后标识与训练对象相关联的特征集合。
附加地或者备选地,当安全设备230接收了指示安全设备230将要标识与训练对象相关联的特征集合的信息时,安全设备230可以标识与训练对象相关联的特征集合。
[0047] 如上所述,特征集合可以包括与训练对象的大小(例如,训练对象的总大校,训练对象区段的大小等)相关的信息,与训练对象相关联的签名(例如,与验证训练对象相关联的信息),训练对象的类型(例如,EXE、TIFF、PDF等),训练对象的来源(例如地理位置、互联网协议(IP)地址、标识了源网络的信息等),与训练对象相关联的平台(例如,标识了操作系统的信息,标识了操作系统版本的信息等),与训练对象相关联的恶意信息(例如,对象是否包括恶意软件,对象中包括的恶意软件类型等),与训练对象相关联的元数据信息和/或另一类型信息。
[0048] 在一些实施方式中,安全设备230可以基于分析训练对象、审查训练对象、检查训练对象等而标识特征集合。附加地或者备选地,安全设备230可以基于接收到标识了特征集合的信息而标识特征集合(例如,当安全设备230接收到标识了特征集合与训练对象的信息时)。
[0049] 如图4进一步所示,方法400可以包括确定与训练对象相关联并且对应于与威胁预测模型相关联的安全函数集合的威胁得分的集合(框415)。例如,安全设备230可以确定与训练对象相关联并且对应于与威胁预测模型相关联的安全函数集合的威胁得分的集合。在一些实施方式中,安全设备230可以在安全设备230接收训练对象之后确定威胁得分的集合。附加地或者备选地,当安全设备230标识了与训练对象相关联的特征集合时(例如,在安全设备230标识与训练对象相关联的特征集合之前,在安全设备230标识与训练对象相关联的特征集合之后,与安全设备230标识与训练对象相关联的特征集合同时),安全设备230可以确定威胁得分的集合。附加地或者备选地,当安全设备230接收到指示了安全设备230将要确定威胁得分的集合的信息时,安全设备230可以确定威胁得分的集合。
[0050] 威胁得分可以包括与对对象(例如,训练对象或未知对象)执行安全函数相关联的结果。例如,威胁得分可以包括指示了安全函数是否将对象标识为恶意对象或良性对象的信息。作为另一示例,威胁得分可以包括由安全函数确定的标识了对象是恶意对象的可能性的数值(例如,从0至1,从0至100等)。作为又一示例,威胁得分可以包括由安全函数确定的恶意等级(例如,其中0的威胁得分可以指示对象是非恶意的,1的威胁得分可以指示对象是恶意的)。附加地或者备选地,威胁得分可以包括由安全函数确定的其他信息,诸如与对象相关联的恶意类型(例如,对象是否包括恶意软件、病毒、特洛伊木马、间谍软件、敲诈软件等)。在一些实施方式中,威胁得分可以用于将对象分类为恶意软件,如以下进一步详述。
[0051] 在一些实施方式中,安全设备230可以通过使得将要对训练对象执行安全函数集合而确定威胁得分集合。例如,安全设备230可以托管或者访问防病毒扫描函数,静态分析函数,代码仿真器函数,虚拟沙盒函数,恶意软件检测函数,间谍软件检测函数,敲诈软件检测函数,和/或另一类型安全函数。在该示例中,安全设备230可以使得将要对训练对象执行安全函数集合的每个安全函数,并且可以确定与安全函数集合的各自安全函数相关联的威胁得分。在一些实施方式中,安全设备230可以对训练对象执行安全函数集合的一个或多个(例如,当安全设备230托管了安全函数时)。附加地或者备选地,安全设备230可以使得由另一设备或设备集合将要对对象执行安全函数集合的一个或多个,并且可以基于从其他设备接收的信息而确定威胁得分。在一些实施方式中,安全设备230可以确定与安全函数相关联的成本(例如,对训练对象执行安全函数所需的时间长度,对训练对象执行安全函数所需的CPU时间量,对训练对象执行安全函数所需的存储器量等)。在一些实施方式中,安全设备230也可以对于每个安全函数确定与威胁得分集合相关联的准确度(例如,基于威胁得分集合,每个安全函数是否正确地将训练对象标识为恶意对象)。
[0052] 如图4进一步所示,方法400可以包括基于威胁得分集合而确定与安全函数集合相关联的实用价值的集合(框420)。例如,安全设备230可以基于威胁得分集合而确定与安全函数集合相关联的实用价值的集合。在一些实施方式中,安全设备230可以在安全设备230确定了威胁得分集合之后确定实用价值的集合。附加地或者备选地,当安全设备230接收到指示了安全设备将要确定实用价值集合的信息时,安全设备230可以确定实用价值的集合。
[0053] 实用价值可以包括标识了对于与对象相关联并且由安全函数确定的威胁得分的有用程度的信息。例如,实用价值可以包括指示了当对对象执行时安全函数是否正确和/或准确地确定了指示恶意对象是恶意对象的威胁得分、不正确和/或不准确地确定指示恶意对象是良性对象的威胁得分、正确地和/或准确地确定指示良性对象是良性对象的威胁得分、不正确和/或不准确地确定指示良性对象是恶意对象的威胁得分等的信息(例如,在0与1之间的数值,在0与100之间的数值等)。
[0054] 在一些实施方式中,实用价值可以基于安全函数是否确定指示了恶意对象是恶意对象的威胁得分。例如,对于由第一安全函数确定的第一威胁得分、指示了恶意对象是恶意对象的实用价值可以比对于由第二安全函数确定的第二威胁得分、指示了恶意对象是良性对象的实用价值更高。在一些实施方式中,实用价值可以基于安全函数是否确定了指示良性对象是良性对象的威胁得分。例如,对于由第一安全函数确定的第一威胁得分、指示了良性对象是良性对象的实用价值可以比对于由第二安全函数确定的第二威胁得分、指示了良性对象是恶意对象的实用价值更高。
[0055] 在一些实施方式中,安全设备230可以基于威胁得分集合以及指示了训练对象是否是恶意对象的信息而确定实用价值。例如,安全设备230可以对于确定正确地标识恶意对象为恶意对象的威胁得分的安全函数而确定高的实用价值(例如,1.0,100等)。作为另一示例,安全设备230可以对于确定了不正确地将恶意对象标识为良性对象的威胁得分的安全函数而确定低的实用价值(例如,0)。作为又一示例,安全设备230可以对于正确地标识良性对象为良性对象的安全函数而确定中间的实用价值(例如,0.1,0.5等)。在一些实施方式中,安全设备230可以基于由安全设备230存储的信息而确定该实用价值(例如,静态实用价值的集合,实用价值函数等)。
[0056] 如图4中进一步所示,方法400可以包括基于特征集合、威胁得分集合以及实用价值集合而更新威胁预测模型(框425)。例如,安全设备230可以基于特征集合、威胁得分集合以及实用价值集合而更新威胁预测模型。在一些实施方式中,安全设备230可以在安全设备230计算了实用价值集合之后更新威胁预测模型。附加地或者备选地,当安全设备230接收到指示了安全设备230将要更新威胁预测模型的信息时,安全设备230可以更新威胁预测模型。
[0057] 在一些实施方式中,安全设备230可以基于特征集合、威胁得分集合和/或安全函数集合而更新威胁预测模型。例如,安全设备230可以标识与训练对象相关联的特征集合,确定与训练对象相关联的威胁得分集合,以及确定与训练对象相关联的实用价值集合,并且可以基于特征集合而更新威胁预测模型(例如,当未知对象包括与训练对象相关联的特征集合类似的特征时,以使得威胁预测模型更可能确定近似等于威胁得分集合的预测威胁得分集合,以及近似等于实用价值集合的预测实用价值集合)。
[0058] 在一些实施方式中,安全设备230也可以基于与未知对象相关联的信息而更新威胁预测模型。例如,如下所述,安全设备230可以确定预测威胁得分集合和/或预测实用价值集合(例如,基于向威胁预测模型提供与特征集合相关联的信息作为输入),可以标识将要对未知对象执行的一个或多个安全函数,以及可以确定与安全函数集合相关联的威胁得分集合和/或实用价值集合(例如,基于对未知对象执行一个或多个安全函数)。在该示例中,安全设备230可以基于与未知对象相关联的特征集合、威胁得分集合以及实用价值集合而更新威胁预测模型。
[0059] 在一些实施方式中,安全设备230也可以存储和/或更新与威胁预测模型相关联的准确信息。例如,安全设备230可以确定与每个安全函数是否将训练对象分类为恶意对象相关联的准确信息,并且可以因此存储准确信息。在一些实施方式中,准确信息可以应用于与安全函数相关联的实用价值,如以下所述。
[0060] 以通过此方式,安全设备230可以接收训练对象,可以标识与训练对象相关联的特征集合,可以确定威胁得分集合,并且可以确定与训练对象相关联的实用价值集合。安全设备230可以基于与训练对象相关联的特征集合、威胁得分集合和/或实用价值集合而训练(例如,更新、修改、调整等)威胁预测模型(例如,设计用以预测与未知对象相关联的威胁得分的模型)。安全设备230可以接收任意数目训练对象以便改进威胁预测模型的性能和/或准确度。
[0061] 尽管图4示出了方法400的示例性框,在一些实施方式中,方法400可以包括额外的框、更少的框、不同的框、或者与图4中所示不同设置的框。附加地或者备选地,可以并行执行方法400的两个或更多框。
[0062] 图5A和图5B是关于图4中所示示例性方法400的示例性实施方式500的示意图。对于示例性实施方式500的目的,假设安全设备(例如,SD1)托管了与确定未知对象(例如,将要提供至客户端设备210,由客户端设备210接收等)是否是恶意对象相关联的安全函数的集合(例如,防病毒扫描函数,静态分析函数以及沙盒)。此外,假设SD1管理了威胁预测模型,与预测对未知对象执行安全函数(例如,防病毒扫描函数,静态分析函数和/或沙盒)的结果相关联。
[0063] 如图5A以及由附图标记505所示,SD1可以接收与更新威胁预测模型相关联的训练对象(例如,训练对象A)。如附图标记510所示,SD1可以确定(例如,基于检查训练对象A,分析训练对象A等)与训练对象A相关联的特征集合(例如,大小:1.4兆字节(Mb),类型:EXE,平台:Win 7,源位置:俄罗斯,恶意=是)。如附图标记515所示,SD1可以对训练对象A执行每个安全函数(例如,防病毒扫描函数,静态分析函数和/或沙盒函数)以便确定与防病毒扫描函数、静态分析函数和沙盒函数相关联的威胁得分的集合。对于示例性实施方式500的目的,假设配置每个安全函数以确定实质了对象是否是恶意对象或良性对象(例如,是或否)的威胁得分。如所示,威胁得分的集合可以包括指示了防病毒扫描函数将训练对象A标识为恶意对象的威胁得分(例如,是),指示了静态分析函数将训练对象A标识为恶意对象的威胁得分(例如,是),指示了沙盒函数并不将训练对象A标识为恶意对象的威胁得分(例如,否)。
[0064] 如所示,SD1可以基于威胁得分集合而确定与防病毒扫描函数、静态分析函数和沙盒函数相关联的实用价值集合。如所示,SD1可以确定对于防病毒扫描函数1.0的实用价值(例如,因为防病毒扫描函数正确地标识了训练对象A为恶意对象),对于静态分析函数的1.0的实用价值(例如,因为静态分析函数正确地标识训练对象A为恶意对象),以及对于沙盒函数0.0的实用价值(例如,因为沙盒函数不正确地标识训练对象A为良性对象)。如附图标记520所示,SD1可以基于特征集合、威胁得分集合和实用价值而更新威胁预测模型。
[0065] 如图5B以及由附图标记525所示,SD1可以接收与更新威胁预测模型相关联的另一训练对象(例如,训练对象B)。如附图标记530所示,SD1可以确定(例如,基于检查训练对象B,分析训练对象B等)与训练对象B相关的特征集合(例如,大小:0.5Mb,类型:.EXE,平台:Win 8,源位置:英国,恶意=否)。如附图标记535所示,SD1可以对训练对象B执行每个安全函数(例如防病毒扫描函数,静态分析函数和/或沙盒函数)以便确定与防病毒扫描函数、静态分析函数和沙盒函数相关联的威胁得分的集合。如所示,威胁得分集合可以包括指示了防病毒扫描函数将训练对象B标识为恶意对象的威胁得分(例如,是),指示了静态分析函数并不标识训练对象B为恶意对象的威胁得分(例如,否),以及指示了沙盒函数并不标识训练对象B为恶意对象的威胁得分(例如,否)。
[0066] 如所示,SD1可以基于威胁得分集合而确定与防病毒扫描函数、静态分析函数和沙盒函数相关联的实用价值集合。在该示例中,假设正确地标识恶意对象为恶意对象比正确地标识良性对象为良性对象更有价值。如所示,SD1可以确定对于防病毒扫描函数0.0的实用价值(例如,因为防病毒扫描函数不正确地标识训练对象A为恶意对象),对于静态分析函数0.1的实用价值(例如,因为静态分析函数正确地标识训练对象A为良性对象),以及对于沙盒函数0.1的实用价值(例如,因为沙盒函数正确地标识训练对象A为良性对象)。如附图标记540所示,SD1可以基于特征集合、威胁得分集合和实用价值而再次更新威胁预测模型。
[0067] 以通过此方式,SD1可以训练威胁预测模型以用于确定未知对象是否是恶意对象,如以下所述。
[0068] 如上所示,图5A和图5B仅提供作为示例。其他示例是可能的并且可以不同于参照图5A和图5B所述。
[0069] 图6A和图6B是示例性方法600的流程图,用于基于与包括在威胁预测模型中安全函数集合相关联的预测效率集合而标识将要对未知对象执行的特定安全函数,以及使得将要对未知对象执行特定安全函数以确定与未知对象相关联的威胁得分。在一些实施方式中,图6A和图6B的一个或多个方法框可以由安全设备230执行。在一些实施例中,图6A和图6B的一个或多个方法框可以由与安全设备230分离或者包括安全设备230的另一设备或者设备群组执行,诸如客户端设备210。
[0070] 如图6A中所示,方法600可以包括接收未知对象(框605)。例如,安全设备230可以接收未知对象。在一些实施方式中,当服务器设备240向客户端设备210提供未知对象时(例如,当定位安全设备230以接收向客户端设备210提供的对象时),安全设备230可以接收未知对象。附加地或者备选地,当另一设备向安全设备230、诸如客户端设备210或网络250中包括的设备提供未知对象时,安全设备230可以接收未知对象。
[0071] 未知对象可以包括其恶意信息是未知的对象。在一些实施方式中,安全设备230可以基于由客户端设备210提供的请求而接收未知对象。例如,客户端设备210的用户可以提供(例如,经由客户端设备210的输入机制)指示了客户端设备210将要接收未知对象的信息,并且客户端设备210可以向服务器设备240发送请求(例如,当服务器设备240存储了未知对象时)。在该示例中,服务器设备240可以接收请求,并且可以向安全设备230提供未知对象(例如,当定位安全设备230以在未知对象发送至客户端设备210之前接收未知对象时)。在一些实施方式中,用户可以并不察觉客户端设备210已经发送了对于未知对象的请求(例如,当配置运行在客户端设备210上的程序以自动地使得客户端设备210请求对象时等)。在一些实施方式中,安全设备230可以基于由服务器设备240提供的未知对象而接收未知对象。例如,服务器设备240可以向客户端设备210发送未知对象(例如,客户端设备210并不请求未知对象),并且安全设备230可以从服务器设备240接收未知对象。
[0072] 附加地或者备选地,安全设备230可以从客户端设备210接收未知对象。例如,客户端设备210可以从服务器设备240接收未知对象。在该示例中,客户端设备210可以向安全设备210提供未知对象(例如,以便允许安全设备230以对未知对象执行一个或多个安全函数)。
[0073] 如图6A中进一步所示,方法600可以包括标识与未知对象相关联的特征集合(框610)。例如,安全设备230可以标识与未知对象相关联的特征集合。在一些实施方式中,安全设备230可以在安全设备230接收未知对象之后标识与未知对象相关联的特征集合。附加地或者备选地,当安全设备230接收到指示了安全设备230将要标识与未知对象相关联的特征集合的信息时,安全设备230可以标识与未知对象相关联的特征集合。
[0074] 与未知对象相关联的特征集合可以包括与未知对象的大小相关联的信息(例如,未知对象的总大小,未知对象的区段大小等),与未知对象相关联的签名(例如,与验证未知对象相关联的信息),未知对象的类型(例如,EXE、TIFF、PDF等),未知对象的源(例如,地理位置、互联网协议(IP)地址、标识了源网络的信息等),与未知对象相关联的平台(例如,标识了操作系统的信息,标识了操作系统版本的信息等),与未知对象相关联的元数据信息,和/或另一类型信息。
[0075] 在一些实施方式中,安全设备230可以基于分析未知对象、审查未知对象、检查未知对象等而标识特征集合。附加地或者备选地,安全设备230可以基于接收标识了特征集合的信息而标识特征集合(例如,当安全设备230接收到标识了特征集合以及未知对象的信息时)。
[0076] 如图6A中进一步所示,方法600可以包括基于特征集合和当前威胁得分而确定对应于与威胁预测模型相关联的安全函数集合的预测威胁得分的集合(框615)。例如,安全设备230可以基于特征集合和当前威胁得分而确定对应于与威胁预测模型相关联的安全函数集合的预测威胁得分的集合。在一些实施方式中,安全设备230可以在安全设备230标识了与未知对象相关联的特征集合之后确定预测威胁得分的集合。附加地或者备选地,当安全设备230接收到指示了安全设备230将要确定威胁得分集合的信息时,安全设备230可以确定威胁得分的集合。
[0077] 在一些实施方式中,安全设备230可以基于特征集合而确定预测威胁得分的集合。例如,安全设备230可以向威胁预测模型提供与特征集合相关联的信息作为输入(例如,由安全设备230存储或者可访问),并且可以接收与对应于安全函数集合的预测威胁得分集合相关联的信息作为输出。
[0078] 附加地或者备选地,安全设备230可以基于当前威胁得分确定预测威胁得分的集合。在一些实施方式中,当前威胁得分可以包括默认的威胁得分。例如,安全设备230可以在对未知对象执行任何安全函数之前存储和/或访问标识了默认威胁得分、将要向威胁预测模型提供作为输入的信息。附加地或者备选地,当前威胁得分可以包括与对未知对象执行一个或多个安全函数相关联的威胁得分。例如,安全设备230可以向威胁预测模型提供与特征集合相关联的信息以及与当前威胁(例如,默认威胁得分)得分相关联的信息作为输入,可以确定对应于安全函数集合的预测效率的第一集合(例如,如以下所述),并且可以使得将要对未知对象执行第一安全函数以便确定修订的当前威胁得分。在该示例中,假设安全设备230确定了将要对未知对象执行另一安全函数。安全设备230随后可以向威胁预测模型提供与特征集合相关联的信息以及与修订的当前威胁得分相关联的信息作为输入,可以确定对应于安全函数集合的预测效率的第二集合,并且可以使得将要对未知对象执行第二安全函数以便确定另一修订的当前威胁得分。
[0079] 如图6A中进一步所示,方法600可以包括基于预测威胁得分集合和当前威胁得分而确定与安全函数集合相关联的预测实用价值的集合(框620)。例如,安全设备230可以基于预测威胁得分集合和当前威胁得分而确定与安全函数集合相关联的预测实用价值的集合。在一些实施方式中,安全设备230可以在安全设备230确定了预测威胁得分集合之后确定预测实用价值的集合。附加地或者备选地,当安全设备230接收到指示了安全设备230将要确定预测实用价值集合的信息时,安全设备230可以确定预测实用价值的集合。
[0080] 预测实用价值可以包括标识了对于与未知对象和安全函数相关联的预测威胁得分的预测有用程度的信息。例如,预测实用价值可以包括指示了当对对象执行时安全函数是否可以正确地和/或准确地确定指示了恶意对象是恶意对象的威胁得分、不正确地和/或不准确地确定指示了恶意对象是良性对象的威胁得分、正确地和/或准确地确定指示了良性对象是良性对象的威胁得分、不正确地和/或不准确地确定良性对象是恶意对象的威胁得分等的预测数值(例如,在0与1之间的数值,在0与100之间的数值等)。在一些实施方式中,安全设备230可以基于威胁预测模型而确定预测实用价值的集合。例如,安全设备230可以向威胁预测模型提供与未知对象相关联的特征集合相关联的信息作为输入,并且可以接收对应于安全函数集合的预测实用价值集合作为输出。
[0081] 如图6A中进一步所示,方法600可以包括确定与安全函数相关联的成本的集合(框625)。例如,安全设备230可以确定与安全函数集合相关联的成本集合。在一些实施方式中,当安全设备230计算了与安全函数集合相关联的预测实用价值的集合时,安全设备230可以确定成本的集合。附加地或者备选地,当安全设备230接收到指示了安全设备230将要确定成本集合的信息时,安全设备230可以确定成本的集合。
[0082] 与安全函数相关联的可以包括标识了与对未知对象执行安全函数相关联的资源量的信息。例如,成本可以标识计算资源的量(例如,CPU时间量、存储器量等),时间长度(例如,与对应于安全函数的队列相关联的时间长度,由安全函数对未知对象执行安全函数所需的时间长度等)。
[0083] 在一些实施方式中,安全设备230可以基于由安全设备230存储并且可访问的信息而确定成本的集合(例如,当与安全函数相关联的成本是已知的和/或恒定成本时)。附加地或者备选地,安全设备230可以基于与安全函数集合相关联的信息确定成本的集合。例如,安全设备230可以确定与安全函数相关联的序列长度相关联的信息,并且可以基于与队列长度相关联的信息确定与安全函数相关联的成本。附加地或者备选地,安全设备230可以基于与威胁预测模型相关联的信息而确定成本的集合(例如,当安全设备230更新威胁预测模型以在训练期间包括与安全函数成本相关联的信息时)。
[0084] 如图6B中进一步所示,方法600可以包括基于预测实用价值集合与成本集合而确定与安全函数集合相关联的预测效率的集合(框630)。例如,安全设备230可以基于预测实用价值集合和成本集合而确定与安全函数集合相关联的预测效率集合。在一些实施方式中,安全设备230可以在安全设备230确定了预测实用价值集合之后确定预测效率的集合。附加地或者备选地,安全设备230可以在安全设备230确定了成本集合之后确定预测效率集合。附加地或者备选地,当安全设备230接收到指示了安全设备230将要确定预测效率集合的信息时,安全设备230可以确定预测效率集合。
[0085] 预测效率可以包括相对于与对未知对象执行安全函数相关联的成本、标识了与对未知对象执行安全函数相关联的预测实用价值的信息。换言之,预测效率可以指示考虑了执行安全函数的成本而对未知对象执行安全函数的增值价值(例如,以使得资源可以有效地使用以便最大化实用价值-成本的比值)。
[0086] 在一些实施方式中,安全设备230可以基于预测实用价值集合和成本集合而确定预测效率的集合。例如,假设安全设备230已经确定了预测实用价值集合和成本集合,如上所述。在该示例中,安全设备230可以通过将每个预测实用价值除以对应的成本而确定预测效率的集合。在一些实施方式中,安全设备230可以应用不同技术以便基于预测实用价值集合和成本集合而确定预测效率的集合。
[0087] 如图6B中进一步所示,方法600可以包括基于预测效率集合而标识将要对未知对象执行的特定安全函数(框635)。例如,安全设备230基于预测效率的集合而标识将要对未知对象执行的特定安全函数。在一些实施方式中,安全设备230可以在安全设备230确定了预测效率集合之后标识特定的安全函数。
[0088] 在一些实施方式中,安全设备230可以基于预测效率集合而标识特定安全函数。例如,安全设备230可用标识特定安全函数作为对应于预测效率集合的最大预测效率的安全函数。附加地或者备选地,安全函数230可以基于效率阈值标识特定安全函数。例如,安全设备230可以存储和/或访问标识了效率阈值的信息,并且可以标识满足效率阈值的预测效率的群组。在此,安全设备230可以标识特定安全函数作为安全函数群组之一(例如,安全函数群组的具有最低成本的安全函数等)。在一些实施方式中,安全设备230可以标识多个特定安全函数(例如,安全函数群组的具有最低成本的安全函数等)。附加地或者备选,安全设备230可以以另一方式标识特定安全函数。
[0089] 如图6B中进一步所示,方法600可以包括使得将要对未知对象执行特定安全函数以便确定与未知对象相关联的修订当前威胁得分(框640)。例如,安全设备230可以使得将要对未知对象执行特定安全函数。在一些实施方式中,安全设备230可以在安全设备230标识了特定安全函数之后使得将要对未知对象执行特定安全函数。附加地或者备选地,当安全设备230接收到指示了安全设备230将要使得对于未知对象执行特定安全函数的信息时,安全设备230可以使得将要对未知对象执行特定安全函数。
[0090] 在一些实施方式中,安全设备230可以通过对未知对象执行特定安全函数而使得将要对未知对象执行特定安全函数(例如,当安全设备230托管了特定安全函数时)。附加地或者备选,安全设备230可以通过向另一设备提供未知对象而使得将要对未知对象执行特定安全函数(例如,当其他设备托管安全函数时)。
[0091] 在一些实施方式中,安全设备230可以使得并行或者串行地对未知对象执行多个特定安全函数。
[0092] 附加地或者备选地,安全设备230可以将未知对象放置在与特定安全函数相关联的优先队列中(例如,与在对未知对象执行以较低效率执行安全函数之前对未知对象以较高效率执行安全函数相关联的队列),并且当未知对象到达优先队列的前端时可以对未知对象执行安全函数。备选地,未知对象可以以阈值时间量而保留在优先队列中(例如,此后未知对象返回至安全设备230和/或提供至客户端设备210)。
[0093] 在一些实施方式中,安全设备230可以确定修订的当前威胁得分作为使得将要对未知对象执行特定安全函数的结果。例如,假设与未知对象相关联的当前威胁得分是默认威胁得分(例如,当尚未对未知对象执行安全函数时)。在此,安全设备230可以接收与对未知对象执行特定安全函数相关联的威胁得分作为使得将要对未知对象执行特定安全函数的结果。在该示例中,安全设备230可以确定修订的当前威胁得分作为与对未知对象执行特定安全函数相关联的威胁得分(例如,替代了默认威胁得分)。
[0094] 在一些实施方式中,安全设备230可以基于之前修订的当前威胁得分而确定修订的当前威胁得分。例如,安全设备230可以确定与对未知对象执行第一安全函数相关联的第一修订当前威胁得分。在此,安全设备230可以使得将要对未知对象执行第二安全函数,并且可以基于第一修订当前威胁得分和基于第二安全函数确定的威胁得分而确定第二修订当前威胁得分(例如,第一修订当前威胁得分和基于第二安全函数确定的威胁得分的平均值,第一修订当前威胁得分和基于第二安全函数确定的威胁得分的最高威胁得分,等)。
[0095] 如图6B中进一步所示,方法600可以包括确定是否将要对未知对象执行另一安全函数(框645)。例如,安全设备230可以确定是否要对未知对象执行另一安全函数。在一些实施方式中,安全设备230可以在安全设备230使得将要对未知对象执行特定安全函数之后确定是否要对未知对象执行另一安全函数。附加地或者备选地,安全设备230可以在安全设备230确定了与未知对象相关联的修订当前威胁得分之后确定是否要对对象执行另一安全函数。
[0096] 在一些实施方式中,安全设备230可以基于阈值确定是否要对未知对象执行另一安全函数。例如,安全设备230可以存储和/或访问威胁得分阈值,并且安全设备230可以基于威胁得分阈值确定是否要对未知对象执行另一安全函数(例如,如果修订的当前威胁得分并不满足威胁得分阈值,则安全设备230可以确定将要对未知对象执行另一安全函数,如果修订的当前威胁得分满足了威胁得分阈值,则安全设备230可以确定不会对未知对象执行另一安全函数)。作为另一示例,安全设备230可以基于安全函数阈值(例如,指示了将要对未知对象执行韩全函数的阈值量的阈值)确定是否要对未知对象执行另一安全函数。作为又一示例,安全设备230可以基于实用价值阈值确定是否要对未知对象执行另一安全函数(例如,满足了指示与特定安全函数相关联并且基于威胁预测模型确定的实用价值的阈值)。在一些实施方式中,安全设备230可以确定是否以另一方式执行另一安全函数。
[0097] 附加地或者备选地,安全设备230可以基于安全函数集合而确定是否要对未知对象执行另一安全函数。例如,如果已经对未知对象执行了包括在安全函数集合中的所有安全函数,则安全设备230可以确定不会对未知对象执行另一安全函数。
[0098] 如图6B中进一步所示,如果将要对未知对象执行另一安全函数(框645-是),则方法600可以包括返回至图6A的框615。例如,安全设备230可以确定将要对未知对象执行另一安全函数,并且安全设备230可以基于特征集合和修订的当前威胁得分而确定对应于与威胁预测模型相关联的安全函数的另一集合(例如,并不包括已经对未知对象执行的特定安全函数的安全函数集合)的预测威胁得分的另一集合。
[0099] 在一些实施方式中,安全设备230可以重复方法600直至安全设备230确定不会对未知对象执行另一安全函数,如上所述。
[0100] 如图6B中进一步所示,如果不会对未知对象执行另一安全函数(框645-是),则方法600可以包括基于修订的当前威胁得分而对对象分类(框650)。例如,安全设备230可以确定不会对未知对象执行另一安全函数,并且安全设备230可以基于修订的当前威胁得分对对象分类。
[0101] 在一些实施方式中,安全设备230可以基于修订的当前威胁得分将未知对象分类为恶意对象。例如,安全设备230可以基于将修订的当前威胁得分与由安全设备230存储和/或可访问的威胁得分阈值作比较而将未知对象分类为恶意对象。备选地,安全设备230可以基于修订的当前威胁得分(例如,当修订的当前威胁得分满足威胁得分阈值时)将未知对象分类为良性对象。例如,安全设备230可以基于将修订的当前威胁得分与由安全设备230存储和/或可访问的威胁得分阈值作比较而将未知对象分类为非恶意对象(例如,当修订的当前威胁得分并不满足威胁得分阈值时安全设备230可以将未知对象分类为非恶意对象)。附加地或者备选地,安全设备230可以以另一和/或通过向另一设备提供修订的当前威胁得分而对对象分类。
[0102] 在一些实施方式中,安全设备230可以(例如,向客户端设备210,向服务器设备240等)提供与对未知对象分类相关联的信息(例如,关于未知对象是否分类为恶意对象和非恶意对象的指示信息)。附加地或者备选地,安全设备230可以向客户端设备提供对象(例如,当未知对象分类为非恶意对象时)。
[0103] 在一些实施方式中,安全设备230可以基于特征集合、修订的当前威胁得分、和/或与未知对象相关联的其他信息而更新威胁预测模型,如上所述。
[0104] 尽管图6A和图6B示出了方法600的示例性框,在一些实施方式中,方法600可以包括额外的框、更少的框、不同的框、或者与图6A和图6B中所示不同设置的框。附加地或者备选地,可以并行执行方法600的两个和更多框。
[0105] 图7A至图7C是关于图6A和图6B中所示示例性方法600的示例性实施方式700的示意图。为了示例性实施方式700的目的,假设安全设备(例如,SD1)托管了与确定未知对象(例如,将要提供至客户端设备210,由客户端设备210接收等)是否是恶意对象相关联的安全函数的集合(例如,防病毒扫描函数,静态分析函数,和沙盒)。此外,假设SD1管理了与预测对未知对象执行一个或多个安全函数(例如,防病毒扫描函数、静态分析函数、和/或沙盒)的结果相关联的威胁预测模型。
[0106] 如图7A中以及由附图标记702所示,服务器设备240(例如,站点X服务器)可以向SD1提供未知对象(例如,基于来自由SD1保护的客户端设备210的请求)。如附图标记704所示,SD1可以确定(例如,基于检查未知对象,分析未知对象等)与未知对象相关联的特征集合(例如大小:2.6Mb,类型:.exe,平台:Win 8,源位置:俄罗斯)。如附图标记706所示,SD1可以向威胁预测模型提供与特征集合相关联的信息(例如,以及与默认威胁得分相关联的信息)作为输入,并且可以接收与未知对象相关联的预测威胁得分的第一集合作为来自威胁预测模型的输出。为了示例性实施方式700的目的,假设配置每个安全函数以确定指示了对象是否是恶意对象或良性对象的威胁得分(例如,是或否)。如所示,预测威胁得分的集合可以包括用于防病毒扫描函数的预测威胁得分(例如,是),用于静态分析函数的预测威胁得分(例如,是),以及用于沙盒函数的预测威胁得分(例如,否)。
[0107] 如所示,SD1也可以基于威胁预测模型的输出而确定与防病毒扫描函数、静态分析函数和沙盒函数相关联的预测实用价值的第一集合。如所示,预测实用价值的第一集合可以包括0.75的对未知对象执行防病毒扫描函数的预测实用价值,0.80的对未知对象执行静态分析函数的预测实用价值,以及0.20的对未知对象执行沙盒函数的预测实用价值。如附图标记710所示,SD1可以确定与防病毒扫描函数、静态分析函数和沙盒函数相关联的成本的集合(例如,基于由SD1储存和/或可访问的信息)。如所示,成本集合可以包括指示了对未知对象执行防病毒扫描函数具有0.5分钟成本、对未知对象执行静态分析函数具有1.0分钟的成本、以及对未知对象执行沙盒函数具有5.0分钟成本的信息。
[0108] 如图7B中以及由附图标记712所示,SD1可以基于预测实用价值的第一集合和成本集合而确定与防病毒扫描函数、静态分析函数以及沙盒函数相关联的预测效率的第一集合。如所示,预测效率的第一集合可以包括指示了对未知对象执行防病毒扫描函数的预测效率是1.50(例如,0.75/0.5=1.50)、对未知对象执行静态分析函数的预测效率是0.80(例如,0.80/1.0=0.80)、以及对未知对象执行沙盒函数的预测效率是0.04(例如,
0.20/5.0=0.04)的信息。
[0109] 如附图标记714所示,SD1可以基于预测效率的第一集合而将防病毒扫描函数标识作为具有最大预测效率(例如,1.50>0.80,1.50>0.04)的安全函数,并且可以对未知对象执行防病毒扫描函数。如所示,假设对未知对象执行防病毒扫描函数导致防病毒扫描函数将未知对象标识为恶意对象。如所示,SD1可以因此修订当前威胁得分。如附图标记716所示,SD1可以确定(例如,基于由SD1存储或者可访问的信息)与确定是否将要对未知对象执行另一安全函数相关联的阈值信息。如所示,当修订的当前威胁将对象标识为恶意的时、以及当最近预测威胁得分的预测实用价值大于0.90时,阈值信息可以指示不会对未知对象执行另一安全函数。如附图标记718所示,SD1可以确定将要对未知对象执行另一安全函数(例如,因为并不满足阈值)。
[0110] 如图7C中以及由附图标记720所示,SD1可以向威胁预测模型提供与由防病毒扫描函数所确定的修订当前威胁得分(例如,AV=恶意)以及特征集合相关联、与未知对象相关联的信息作为输入,并且如附图标记722所示,可以接收与未知对象相关联的预测威胁得分的第二集合作为威胁预测模型的输出。如所示,预测威胁得分的第二集合可以包括与静态分析函数相关联的预测威胁得分(例如,是),以及与沙盒函数相关联的预测威胁得分(例如,是)。
[0111] 如所示,SD1也可以基于预测威胁模型的输出而确定与静态分析函数和沙盒函数相关联的预测实用价值的第二集合。如所示,预测实用价值的第二集合可以包括0.97的对未知对象执行静态分析函数的预测实用价值,以及0.72的对未知对象执行沙盒函数的预测实用价值。如附图标记724所示,SD1可以确定与静态分析函数和沙盒函数相关联的成本集合。如所示,成本集合可以包括指示了对未知对象执行静态分析函数具有1.0分钟成本、以及对未知对象执行沙盒函数具有5.0分钟成本的信息。
[0112] 如附图标记726所示,SD1可以基于预测实用价值的第二集合和成本集合而确定与静态分析函数和沙盒函数相关联的预测效率的第二集合。如所示,预测效率的第二集合可以包括指示了对未知执行静态分析函数的预测效率是0.97(例如,0.97/1.0=0.97)、以及对未知对象执行沙盒函数的预测效率是0.14(例如,0.72/5.0=0.14)的信息。
[0113] 如附图标记728所示,SD1可以基于预测效率的第二集合而将静态分析函数标识作为具有最大预测效率(例如,0.97>0.14)的安全函数,并且可以对未知对象执行静态分析函数。如所示,假设对未知对象执行静态分析函数,静态分析函数也将对象标识作为恶意对象,以及SD1因此确定了另一修订的当前威胁得分。如附图标记730所示,SD1可以确定与是否将要对未知对象执行另一安全函数相关联的阈值信息。如附图标记732所示,因为修订的当前威胁得分指示了对象是恶意对象,并且因为最近预测实用价值(例如,与静态分析函数相关联)是0.97(例如,因为0.97>0.90),SD1可以确定不会对未知对象执行另一安全函数。
[0114] SD1可以随后将未知对象分类作为恶意的(例如,基于修订的当前威胁得分)和/或可以提供(例如,向站点X服务器,向客户端设备210)指示了未知对象是恶意对象的信息。附加地,SD1可以进一步基于特征集合、修订的当前威胁得分和/或由SD1如上所述确定的其他信息而更新威胁预测模型。
[0115] 如上所示,图7A至图7C仅提供作为示例。其他示例是可能的并且可以不同于参照图7A至图7C所述。
[0116] 在此所述的实施方式可以提供具有威胁预测模型的安全设备,其可以用于标识安全函数集合的安全函数子集,当对未知对象执行安全函数时可以提供对于未知对象是否是恶意对象的确定而同时有效地使用计算机资源。
[0117] 前述公开提供了示意和说明,但是并非意在穷举或者将实施方式限制于所述的精确形式。修改和变形在以上公开的教导下是可能的,或者可以从实施方式的实践而获取。
[0118] 如在此使用的,术语部件意在广泛地构造为硬件、固件、和/或硬件和软件的组合。
[0119] 一些实施方式在此结合阈值而描述。如在此使用的,满足阈值可以涉及数值大于阈值、多于阈值、高于阈值、大于或等于阈值、小于阈值、少于阈值、低于阈值、小于或等于阈值、等于阈值等。
[0120] 容易理解,在此所述的系统和/或方法可以以不同形式硬件、固件、或者硬件和软件的组合而实施。用于实施这些系统和/或方法的真实专用控制硬件或软件代码不限于实施方式。因此,在此描述系统和/或方法的操作和行为而并不参照具体软件代码-应该理解的是可以设计软件和硬件以实施基于此处说明书的系统和/或方法。
[0121] 即使在权利要求中引用和/或在说明书中公开了特征的特定组合,这些组合并非意在限定可能实施方式的公开。实际上,这些特征的许多可以以权利要求中并不具体引述和/或说明书中并不公开的方式而组合。尽管以下所列的每个从属权利要求可以仅直接从属于一个权利要求,可能的实施方式的公开包括与权利要求集合中所有其他权利要求组合的每个从属权利要求。
[0122] 在此使用的元件、动作或指令不应构造为关键的或者必需的,除非明确给出此种指示。此外,如在此使用的,冠词“一”和“该”意在包括一个或多个项目,并且可以与“一个或更多”可交换的使用。此外,如在此使用的,术语“集合”意在包括一个或多个项目,并且可以与“一个或多个”可交换地使用。当意在仅一个项目时,使用术语“一个”或类似语言。此外,如在此使用的,术语“具有”等意在为开放式术语。此外,短语“基于”意在意味着“至少部分地基于”,除非明确给出相反指示。