收集攻陷指示器用于安全威胁检测的制作方法

文档序号:19286316发布日期:2019-11-29 23:35阅读:280来源:国知局
收集攻陷指示器用于安全威胁检测的制作方法

本公开总体涉及计算机和网络安全。



背景技术:

计算机和数据通信网络经常遭受入侵攻击。入侵攻击可以采取多种形式,诸如蠕虫、病毒、网络钓鱼、间谍软件等。通常,所有这样的攻击都是由某种形式的恶意软件促成的。这种软件通常被称为恶意软件(malware)。恶意软件攻击可能会破坏计算机的操作和/或窃取敏感数据。为了保护计算机免受这样的攻击,网络管理员可以安装检测恶意软件并防止或减轻恶意软件攻击的影响的安全系统,诸如防病毒软件和/或防火墙。



技术实现要素:

本说明书描述了用于收集攻陷指示器并使用攻陷指示器检测计算机系统的遥测数据中安全威胁的存在的系统、方法、设备和其他技术。

总体上,本说明书中描述的主题的一个创新方面可以在一种方法中实现,所述方法包括从多个安全数据提供者接收攻陷指示器。每个攻陷指示器可以包括指定一个或多个计算机安全威胁的一个或多个特性的数据。每个攻陷指示器可以被配置为在由计算机处理时使计算机检测一个或多个计算机安全威胁的指定的一个或多个特性的存在。该方法可以包括从多个用户中的每个用户接收用户的计算系统的遥测数据。所述遥测数据可以包括描述在计算系统处检测的至少一个事件的数据。为给定用户做出给定用户的遥测数据包括由给定攻陷指示器指定的一个或多个特性的确定。该方面的其他实施例包括对应的系统、装置和编码在计算机存储设备上的计算机程序,其被配置为执行方法的动作。

这些和其他实施方式可以可选地包括以下特征中的一个或多个。一些方面可以包括识别由给定攻陷指示器指示的安全威胁的类型,并且基于由给定攻陷指示器指示的安全威胁的类型从一组动作中选择要执行的动作。该一组动作可以包括以下各项中的一个或多个:(i)从给定用户的计算系统中移除由给定攻陷指示器指示的安全威胁、(ii)启动对用户的计算系统的取证调查以及(iii)生成向用户通知由给定攻陷指示器指示的安全威胁的警报。

一些方面可以包括确定每个攻陷指示器的性能分数。攻陷指示器的性能分数可以至少部分地基于在用户的遥测数据中已经检测到由所述攻陷指示器指定的一个或多个特性的次数。可以基于至少一个攻陷指示器的性能分数从对于其监视用户的遥测数据的一组攻陷指示器中移除至少一个攻陷指示器。

一些方面可以包括基于由给定安全数据提供者提供的每个攻陷指示器的性能分数来补偿所述给定安全数据提供者金额(amount)。每个攻陷指示器的性能分数可以基于(i)在用户的遥测数据中由攻陷指示器指定的一个或多个特性的真检测的数量和(ii)在用户的遥测数据中由攻陷指示器指定的一个或多个特性的假检测的数量之间的差。所述金额可以基于以下各项中的至少一个:所述攻陷指示器的相关性或用于识别在用户的遥测数据中由攻陷指示器指定的一个或多个特性的数据处理搜索成本。

一些方面可以包括基于每个攻陷指示器的成本和由用户指定的预算,为给定用户识别所述一组攻陷指示器的适当子组。可以仅针对由攻陷指示器的所述适当子组指定的一个或多个特性来监视给定用户的遥测数据。

一些方面可以包括为给定用户识别给定用户已订阅的一组攻陷指示器的适当子组。可以仅针对由攻陷指示器的所述适当子组指定的一个或多个特性来监视给定用户的遥测数据。

一些方面可以包括更新至少一个用户的计算系统以提供与由接收的攻陷指示器指定的给定特性有关的数据。至少一个攻陷指示器可以包括用于评估用户的遥测数据的一组规则。

在一些方面,由特定攻陷指示器指定的一个或多个安全威胁可以包括全部都属于同一类别的安全威胁的多个安全威胁。由特定攻陷指示器指定的一个或多个安全威胁可以包括作为彼此的变体的多个安全威胁。

可以实现本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。通过评价攻陷指示器的性能,系统可以过滤掉具有低性能(例如,小于阈值性能分数)的攻陷指示器。这种过滤导致系统用于识别遥测数据中的安全威胁的攻陷指示器的数量的减少,这反过来导致系统在检测安全威胁时消耗的计算资源量的减少。通过减少检测安全威胁时消耗的计算资源量,系统可以更快且更有效地识别安全威胁并对其进行响应,这可以减少由安全威胁造成的损害。此外,更多计算资源可用于执行其他任务,诸如评价攻陷指示器的性能、接收新的攻陷指示器等。

通过基于质量和/或性能来补偿攻陷指示器的提供者,提供者被鼓励更快地提供更高质量和更相关的攻陷指示器。此外,使攻陷指示器的性能基于与在遥测数据中检测攻陷指示器相关联的数据处理成本,提供者被鼓励以提供更有效的攻陷指示器。

允许诸如研究人员、事件响应者和信息技术专业人员的用户上传包括用户已检测到或反向工程的安全威胁的特性的攻陷指示器,使先前不可用的安全威胁数据可供其他人使用。例如,已识别安全威胁的用户可以上传指定安全威胁的特性的攻陷指示器,而不是生成和销售防止或纠正威胁的软件。识别和收集未利用的安全威胁数据使威胁检测更稳健,并能够更快地检测更多安全威胁和新安全威胁。

以下参考附图描述前述主题的各种特征和优点。根据本文描述的主题和权利要求,其他特性和优点是显而易见的。

附图说明

图1描绘了示例环境,其中安全情报系统接收攻陷指示器并使用攻陷指示器来检测安全威胁。

图2描绘了用于评价攻陷指示器的性能并从对于其监视用户的遥测数据的一组攻陷指示器中移除低性能攻陷指示器的示例过程的流程图。

图3是用于响应于确定计算系统被攻陷识别要执行的动作并执行所述动作的示例过程的流程图。

图4是用于补偿攻陷指示器提供者的示例过程的流程图。

具体实施方式

总体上,本公开描述了用于收集攻陷指示器(indicatorofcompromise,“ioc”)并使用ioc来识别已经例如被恶意软件或黑客攻击攻陷的计算系统的系统、方法、设备和其他技术。系统可以使诸如研究人员、事件响应者、信息技术专业人员的用户和其他用户能够上传和共享可用于识别被攻陷的计算系统的ioc。ioc可以指定计算机安全威胁的一个或多个特性。例如,用户可以对新僵尸网络(botnet)进行逆向工程并生成指定该新僵尸网络的特性的ioc。

系统可以评价ioc的性能并滤除低性能ioc或阻挡低性能ioc的提供者。因此,该系统使得能够快速评估多个不同的ioc。此外,相对于其他ioc最有效的ioc基于其性能而浮现。这有助于安全检测和缓解的技术领域,因为该系统能够快速且可靠地评估各种竞争ioc并识别最佳性能ioc。

可以激励上传ioc的用户以构建与实际安全威胁相关的高性能ioc。例如,“排行榜”可以列出设计高性能ioc并且同意被包括在排行榜中的用户。甚至可以因高性能ioc(例如,因已经被用于检测计算系统中至少阈值数量的安全威胁的ioc)而补偿用户。可以进一步评估这样的高性能ioc以披露针对ioc设计的“最佳做法”,从而有助于安全检测和缓解的技术领域。

订户可以仅订阅某些ioc或订阅所有ioc。然后,系统可以使用订户已订阅的ioc来监视描述已经在订户的计算系统处发生的事件的数据,例如,从计算系统接收的遥测数据。提供了这些ioc的用户可以基于ioc的性能接收一部分订阅费。在一些实施方式中,系统可以基于ioc的成本和订户指定的预算来为订户选择ioc。

图1描绘了示例环境100,其中安全威胁情报系统110接收ioc142并使用ioc142来检测被攻陷的计算系统。通常,ioc142指定一个或多个安全威胁的一个或多个特性。所述特性可以包括静态数据,诸如安全威胁的源(例如,安全威胁的域、url或ip地址)、与安全威胁相关联的文件、文件特性、脚本、正则表达式(regex)和/或安全威胁的其他适当静态特性。所述特性还可以包括存储器内签名(signature)、动态特性(例如,基于行为简档)和/或网络指示符。所述特性还可以包括机器学习模型,诸如神经网络、支持向量机或检测一个或多个威胁的决策树。

ioc142可以指定一类安全威胁的一个或多个特性。例如,一类安全威胁可以具有相同或重叠的特性。ioc142可以指定特定安全威胁的变体的一个或多个特性。例如,所述变体可以具有相同或重叠的特性。ioc142可以指定检测威胁的变体而不仅仅是单个威胁的算法或一组规则。

ioc142可以包括包含指令的数据,所述指令在由计算机处理时使计算机检测由ioc142指定的一个或多个特性的存在。例如,当计算机访问指定ip地址的ioc142时,计算机可以自动评估一个或多个计算系统的事件数据,以确定事件数据是否包括与该ip地址有关的事件(例如,指示数据被发送到该ip地址或从该ip地址接收的日志条目)。如下面更详细描述的,计算系统的事件数据可以包括在从计算系统接收的遥测数据中。

在一些实施方式中,ioc142可以包括散列函数,该散列函数用于将描述已经在计算系统处发生的事件的事件数据映射到安全威胁的特性。在该示例中,当计算机处理散列函数时,散列函数可以使计算机将事件数据映射到安全威胁的特性。

ioc142还可以包括用于识别描述已经在计算系统处发生的事件的事件数据中的安全威胁的特性的一个或多个规则。例如,规则可以指定一组一个或多个特性,所述一个或多个特性如果在事件数据中被识别则表示安全威胁。规则还可以指定事件数据的什么部分可以发现这样的特性。例如,规则可以指定如果在特定文件中发现特定文件特性,则在计算系统中存在特定安全威胁或攻击。规则可以包括指令,所述指令在由计算机执行时使计算机检测计算系统的事件数据中的由规则指定的一个或多个特性的存在。

基于规则的ioc142可以包括用于识别事件数据中的特性的组合的一组规则。例如,该组规则可以评估计算系统的静态特性(例如,ip地址)、存储器内签名和/或行为简档。在特定示例中,所述规则可以指定如果在特定文件中发现文件特性并且在特定存储器区域中发现存储器内签名,则在计算系统中存在特定安全威胁或攻击,并且因此,计算系统被攻陷。为了确定计算系统是否包括存储器内签名,安全威胁情报系统110可以向计算系统发送扫描计算系统的存储器的代码,例如,用于运行或加载的二进制文件,并且将存储器内签名提供回安全威胁情报系统110。

在一些实施方式中,安全威胁情报系统110可以提供规则定义语言,其使ioc提供者140能够定义基于规则的ioc142。例如,该语言可以是基于正则表达式的工具集,诸如yara。ioc提供者140可以使用该语言来构建ioc142并将ioc142提供给安全威胁情报系统110。例如,安全威胁情报系统110可以提供允许ioc提供者140构建ioc142(包括基于规则的ioc)的用户接口。

安全威胁情报系统110包括ioc收集服务器112,其通过数据通信网络130(例如,局域网(lan)、广域网(wan)、互联网、移动网络或其组合)从ioc提供者140接收ioc142。ioc提供者140可以包括研究人员、事件响应者、信息技术专业人员、业余爱好者或具有安全威胁或一类威胁的知识的其他用户。例如,ioc提供者140可以对僵尸网络、恶意软件或其他安全威胁进行逆向工程并识别安全威胁的特性。在另一示例中,ioc提供者140可以识别从其向计算系统发送恶意代码的ip地址。ioc提供者140可以生成指定安全威胁的特性的ioc142,并将ioc142发送到ioc收集服务器112。例如,如上所述,ioc提供者140可以使用由安全威胁情报系统110提供的用户接口来构建ioc140。

ioc收集服务器112可以将接收的ioc140存储在ioc存储设备120(例如,硬盘驱动器、闪存等)中。在一些实施方式中,ioc收集服务器112可以在用户贡献的遥测数据中应用ioc140之前评估接收的ioc140。例如,ioc收集服务器112可以将接收的ioc142和/或其提供者与指定合法软件和/或可信ioc提供者的白名单进行比较。如果接收的ioc与合法软件的白名单中的文件匹配,或者ioc提供者与白名单指定的ioc提供者不匹配,则ioc收集服务器112可以丢弃接收的ioc。

安全威胁情报系统110可以使用ioc142来监视用户150的计算系统152,以检测计算系统152是否已被攻陷。由威胁检测服务器114监视的计算系统152可以是已经订阅了由安全威胁情报系统110提供的威胁检测服务的用户150的计算系统152。

安全威胁情报系统110包括威胁检测服务器114,其使用ioc140来识别已被攻陷的计算系统152。出于本文档的目的,被攻陷的计算系统是已经受到安全威胁或攻击的计算机、网络或其他适当的计算系统。被攻陷的计算系统可以是其中可以检测到安全威胁或攻击的迹象(evidence)的计算系统。例如,已经受到攻击并因此已经被攻陷的计算系统可能被恶意行为者在其上安装恶意软件、广告软件、间谍软件或其他恶意代码。已经受到安全威胁的计算系统可能已连接到与已知恶意行为者相关联的域或url,但可能尚未被恶意行为者攻击。ioc142可以指定恶意行为者的域或url作为安全威胁的特性,并且威胁检测服务器140可以在计算系统的事件数据中检测到该域或url的连接。

威胁检测服务器114可以基于从计算系统152接收的遥测数据154识别已经被攻陷的计算系统。由计算系统152提供的遥测数据154可以包括描述在计算系统152处检测到的事件的事件数据。例如,遥测数据154可以包括到其他设备的网络连接的日志。所述日志可以包括指定被计算系统152连接到的ip地址、url和/或域的数据。在另一个示例中,由计算系统152提供的遥测数据154还可以包括已经在计算系统152处被存储或修改的文件、文件的特性、存储器内签名、计算系统152的行为特性和/或描述在计算系统152处发生的事件的其他适当数据。

在一些实施方式中,安全威胁情报系统110的遥测数据服务器118可以向计算系统152提供软件、软件模块、脚本或其他代码。当由计算系统152执行时,该代码可以识别要包括在遥测数据154中的适当数据并将遥测数据154提供给遥测数据服务器118。遥测数据服务器118又可以将每个计算系统152的遥测数据154存储在遥测数据库124中。

遥测数据服务器118可以基于由ioc收集服务器112接收的新ioc142更新用于识别和提供遥测数据154的代码。例如,如果新ioc142指定对于其未由计算系统152提供数据的类型的特性,则遥测数据服务器118可以更新或生成新代码,该新代码使计算系统152识别并提供与该特性有关的数据。在特定示例中,新ioc142可以指定存储在计算系统上以窃取敏感数据的特定文件。在该示例中,遥测数据服务器118可以更新代码以针对特定文件对计算系统进行扫描,并且如果发现该文件,则将该文件提供给遥测数据服务器118。在另一个示例中,新ioc142可以指定被恶意软件或黑客攻击调整的特定计算机设置。在该示例中,遥测数据服务器118可以将新的监视规则发送到计算系统152。

示例监视规则可以使计算系统监视特定设置(例如,“设置x”)并向安全威胁情报系统110发送指定特定设置的值或对特定设置的改变的遥测数据154。通过监视在ioc142中识别的特定设置而不是计算系统的所有设置,计算系统152的性能得到改善,因为监视所有设置在计算上将是昂贵的。基于ioc142、新ioc和/或更新ioc对监视规则进行粒度改变(granularchange)的能力允许计算系统152基于改变的设置监视最新的安全威胁,而不会降低计算系统执行其他任务的能力。

威胁检测服务器114可以使用存储在ioc存储设备120中的ioc142和存储在遥测数据库124中的遥测数据154来识别已被攻陷的计算系统。如下面更详细地描述的,威胁检测服务器114可以仅使用ioc的一部分(例如,比全部ioc少)用于特定用户的计算系统。威胁检测服务器114可以访问用于特定计算系统的遥测数据154,并识别在检测特定计算系统是否已被攻陷时使用的ioc。对于每个识别的ioc,威胁检测服务器114可以将ioc应用于遥测数据154。例如,威胁检测服务器114可以处理ioc142的数据以识别由ioc指定的一个或多个特性。然后,威胁检测服务器114可以评估遥测数据154,以确定由ioc142指定的安全威胁的一个或多个特性中的每一个是否存在于遥测数据154中。如果一个或多个特性中的每一个存在于在遥测数据154中,则威胁检测服务器114可以断定计算系统152已经被安全威胁攻陷。

如果威胁检测服务器114确定计算系统152已被攻陷,则威胁检测服务器114可以确定要响应于安全威胁采取的动作156。在一些实施方式中,威胁检测服务器114基于用于检测攻陷的由ioc142指定的安全威胁的类型,从一组可能的动作中选择动作156。例如,该组动作可以包括自动从计算系统152移除安全威胁、启动对计算系统152的取证(forensic)调查或者生成通知计算系统152的用户150的警报。在特定示例中,如果安全威胁是广告软件、恶意软件或间谍软件,则威胁检测服务器114可以移除安全威胁152、与计算系统152交互使得计算系统152移除安全威胁或者与从计算系统152移除安全威胁的第三方交互。在另一个示例中,如果安全威胁复杂和/或已经感染多个计算机,则威胁检测服务器114可以启动对计算系统152的取证调查。

安全威胁情报系统110包括测量ioc142的性能的ioc性能服务器116。例如,ioc性能服务器116可以针对每个ioc142确定ioc142的性能分数,所述性能分数指示ioc142在检测被攻陷的计算系统时性能多好。ioc142的性能分数可以基于已经在从计算系统152接收的遥测数据154(或其他事件数据)中检测到由ioc142指定的一个或多个特性的次数。例如,ioc的性能分数可以随已经在从计算系统152接收的遥测数据154(或其他事件数据)中检测到由ioc142指定的一个或多个特性的次数增加而增加。在遥测数据154中检测到(一个或多个)特性的次数指示ioc的相关性和ioc142的安全威胁的普遍性(prevalence)。

在一些实施方式中,ioc142的性能分数基于由ioc142指定的(一个或多个)特性的真阳性检测(truepositivedetection)的数量和/或由ioc指定的(一个或多个)特性的假阳性检测(falsepositivedetection)的数量。例如,ioc142的性能分数可以等于真阳性检测的数量和假阳性检测的数量之间的差或者与之成比例。ioc性能服务器116可以通过将文件、ip地址、域和/或其他检测的特性与已知干净(clean)文件、ip地址、域/或其他特性的白名单进行比较来确定ioc的检测是真阳性的还是假阳性的。如果检测的特性在白名单上,则ioc性能服务器116可以确定检测是假阳性的。在另一个示例中,人类评估者可以通过执行可疑威胁的人工调查并确定检测的特性是否是恶意的来确定检测是真阳性的还是假阳性的。如果人类评估者确定该特性是恶意的,则人类评估者可以确定该检测是真阳性检测。

ioc142的性能分数可以基于用于确定由ioc指定的(一个或多个)特性是否存在于计算系统152的遥测数据154中的数据处理搜索成本。例如,消耗较多数据处理能力或较多计算资源的ioc142可以具有比消耗较少数据处理能力或较少计算资源的ioc低的分数。

在一些实施方式中,ioc142的性能分数基于对ioc142的用户反馈。例如,用户可以接收指定基于ioc142在其计算系统中的安全威胁的检测(和/或不检测)的数据。用户可以调查他们的计算系统以确定安全威胁是否实际存在,并且然后提供关于ioc在检测其计算系统中的安全威胁时性能多好的反馈。ioc性能服务器116可以基于用户反馈更新ioc的性能分数。

在一些实施方式中,ioc142的性能分数可以基于甚至单个客户环境内该指示器的存在或不存在。某些攻击是针对性的,意味着它们不会跨客户群大量被看到,但它们的检测非常有价值。因此,被标记为与国家支持的攻击者有关的ioc142,即使在客户群内被看到过少数几次,也值得高性能分数。

在一些实施方式中,ioc142的性能分数可以基于指示器的新鲜度。例如,ioc142的新鲜度可以指示在威胁首次发布之后多久ioc142能够检测到其存在。较新鲜的ioc具有在威胁可能造成损害之前在早期停止威胁的潜力,并且因此比覆盖较旧威胁的ioc更有用。

ioc142的性能分数可以基于上述两种或更多种评分技术的组合。另外,用于评价ioc142或其他安全情报数据的性能或质量的其他适当技术可用于对ioc142进行评分。ioc性能服务器116可将每个ioc142的性能分数存储在ioc性能数据库122中。

在一些实施方式中,ioc性能服务器116基于ioc142的性能分数来确定是否使用ioc142来检测被攻陷的计算系统。例如,ioc性能服务器116可以识别一组ioc142,所述一组ioc142适格于被威胁检测服务器114用于检测被攻陷的计算系统。ioc性能服务器116可以识别具有满足(例如,超过)性能分数阈值的性能分数的ioc142以包括在所述一组适格ioc中。在另一个示例中,ioc性能服务器116可以识别具有最高性能分数的指定数量的ioc142以包括在所述一组适格ioc中。

ioc性能服务器116可以从ioc存储设备120移除具有不满足性能分数阈值的性能分数的ioc142。在另一个示例中,ioc性能服务器116可以停用具有不满足性能分数阈值的性能分数的ioc。

在一些实施方式中,用户150可以向拥有和/或操作安全威胁情报系统110的安全情报实体支付费用,以使用ioc142使其遥测数据被评估。安全情报实体可以提供对使用安全威胁情报系统110提供的威胁检测服务的不同类型的订阅。一种类型的订阅可以允许访问安全威胁情报系统110正在使用的所有ioc142而没有约束。在这种类型的订阅中,用户150可以为服务提供固定金额或者提供基于使用ioc142在用户的遥测数据中检测到的安全威胁的数量的金额。ioc提供者可以接收用户的订阅金额的一定百分比,例如,基于在订户的计算系统中发现的其ioc的总数的百分比。

另一类型的订阅可以允许用户150订阅某些ioc142或某些ioc提供者的ioc142。例如,用户可能仅想要其遥测数据154针对由特定类型的ioc142指示的安全威胁被评估。在该示例中,用户150可以基于与用户150已订阅的每个ioc142或ioc提供者140相关联的成本来支付费用。

另一类型的订阅可以允许用户150指定预算并让威胁检测服务器114选择ioc142以用于评估用户的遥测数据。在该示例中,威胁检测服务器114可以基于用户的预算、与每个ioc142相关联的成本、每个ioc142的性能分数和/或与用户150最相关的安全威胁的类型来为用户150选择一个或多个ioc。

另一类型的订阅可以允许用户150基于检测到的安全威胁进行支付。例如,当威胁检测服务器114使用ioc142识别用户的遥测数据154中的安全威胁时,威胁检测服务器114可以通知用户150识别到安全威胁并且提供用于向用户150披露识别的安全威胁的成本。该成本可以基于与用于检测安全威胁的ioc142相关联的成本。如果用户150同意支付成本,则威胁情报服务器114可以向用户150披露安全威胁。此外,威胁情报服务器114可以采取动作来缓解或移除安全威胁,例如,如果用户150同意。在另一个示例中,用户150可以为在用户的计算系统152上识别的每个安全威胁的实例设置出价金额。威胁检测服务器114可以使用该金额来确定哪些ioc用于评估用户的遥测数据154。

在一些实施方式中,激励ioc提供者140以向安全威胁情报系统110提供高性能、可靠和相关的ioc142。例如,安全威胁情报系统110可以发布具有最高性能分数的ioc142的“排行榜”。当然,想要保持匿名的ioc提供者140可以选择不公布他们的身份。

在另一个示例中,安全情报实体可以例如用金钱、奖励、威胁监视服务的折扣或其他类型的补偿来补偿ioc提供者140。每个ioc142的补偿金额可以基于ioc142的性能。例如,ioc142的补偿金额可以与ioc142的性能分数成比例。在特定示例中,如果ioc142的性能分数基于在计算系统152的遥测数据中已经检测到由ioc142指定的一个或多个特性的次数,则补偿金额可以与在计算系统152的遥测数据中已经检测到由ioc142指定的一个或多个特性的次数成比例。

在用户150可以订阅某些ioc142或ioc提供者140的实施方式中,可以给ioc提供者140补偿基于已经订阅ioc提供者140及其ioc142的用户的数量的金额。安全情报实体可以例如周期性地向ioc提供者140提供补偿的ioc金额144。

由于ioc142可以指定实际安全威胁和攻击的特性,因此不止一个ioc提供者140可能提供相同或相似的ioc142。在这样的情况下,威胁检测服务器114可以选择要使用哪个ioc142。例如,威胁检测服务器114可以基于与每个ioc142相关联的成本来选择哪个ioc142。在该示例中,ioc提供者140可以为其ioc提供用于使用ioc来检测用户的遥测数据154中安全威胁的存在的成本。在另一个示例中,提供给定ioc142的最早提供者将占先。威胁检测服务器114可以基于成本、性能和/或其他适当数据来选择ioc。

图2描绘了用于评价ioc的性能并从对于其监视用户的遥测数据的一组ioc中移除低性能ioc的示例过程200的流程图。例如,可以通过包括一个或多个数据处理装置的系统(例如图1的安全威胁情报系统110)来实现过程200的操作。过程200还可以通过存储在计算机存储介质上的指令来实现,其中,由包括数据处理装置的系统执行指令使数据处理装置执行过程200的操作。

威胁情报系统110从多个安全数据提供者接收ioc(202)。安全数据提供者可以是研究人员、事件响应者、信息技术专业人员、业余爱好者或具有安全威胁的知识的其他用户。如上所述,ioc可以指定安全威胁的一个或多个特性。例如,ioc可以包括在由计算机处理时使计算机检测由ioc指定的一个或多个特性的存在的数据。

安全数据提供者可以通过由威胁情报系统110提供的门户或用户接口来定义和/或上传ioc。安全数据提供者还可以识别或选择由ioc指示的一类型的安全威胁和/或ioc的严重程度。在一些实施方式中,威胁情报系统110可以提供对于威胁情报系统110的用户的计算系统上的安全威胁的真阳性检测该安全数据提供者可以接收的金额。该金额可以例如基于假阳性检测数量和/或ioc的性能分数而调整。例如,该金额可以基于真阳性检测和假阳性检测的数量之间的差。或者,例如,对于对阈值数量的用户造成影响的假阳性,可以撤销对ioc的所有补偿。

威胁情报系统110接收用户的计算系统的遥测数据(204)。例如,想要威胁情报系统110针对攻陷监视他们的计算系统的用户可以使他们的计算系统能够向威胁情报系统110提供遥测数据。针对用户的计算系统的遥测数据可以包括描述已经在计算系统处发生的事件的事件数据。在一些实施方式中,遥测数据可以作为流或馈送而被接收。

威胁情报系统110识别对于其监视用户的遥测数据的一组ioc(206)。例如,威胁情报系统110可以仅使用已经被确定为在识别被攻陷的计算系统时有效的一组ioc来监视用户的算系统的遥测数据。所述一组ioc可以包括适格于用于检测被攻陷的计算系统的ioc。例如,该一组ioc可以仅包括具有至少阈值性能分数的ioc。通过将ioc限制为仅具有至少阈值性能分数的那些ioc,可以减少假阳性的数量。另外,通过将被监视的ioc限制为仅具有至少阈值性能分数的那些ioc,可以改进用于使用ioc监视计算系统的遥测数据的威胁情报系统110的计算资源的性能。在另一个示例中,该一组ioc可以仅包括由白名单指定的安全数据提供者提供的ioc。

威胁情报系统110确定该一组ioc中的每个ioc的性能分数(208)。ioc的性能分数可以指示ioc在检测被攻陷的计算系统时性能多好。如上所述,ioc的性能分数可以基于在从计算系统接收的遥测数据(或其他事件数据)中已经检测到由ioc指定的一个或多个特性的次数、由ioc指定的(一个或多个)特性的真阳性检测的数量、由ioc指定的(一个或多个)特性的假阳性检测的数量、用于确定由ioc指定的(一个或多个)特性是否存在于计算系统的遥测数据中的数据处理搜索成本、对ioc的用户反馈、是否在关键计算系统内发现ioc、ioc是否与有组织的犯罪分子或国家支持的攻击者有关(并且也在至少一个系统中检测到)和/或其他适当的标准。

威胁情报系统110可选地基于至少一个ioc的性能分数从该一组ioc中移除至少一个ioc(210)。例如,威胁情报系统110可以从该一组ioc中移除具有不满足性能分数阈值的性能分数的每个ioc。在另一个示例中,威胁情报系统110可以从该一组ioc中移除具有最低性能分数的ioc。在该示例中,威胁情报系统110可以移除具有最低性能分数的指定百分比的ioc。通过移除低性能ioc,威胁情报系统110可以更快速地识别已经攻陷计算系统的安全威胁,而不浪费时间扫描不经常存在于计算系统中或生成大百分比的假阳性的ioc。

威胁情报系统110从用户的计算系统接收遥测数据(212)。遥测数据可以包括描述在计算系统处检测的事件的事件数据。例如,遥测数据可以包括到其他设备的网络连接的日志、已经在计算系统处存储或修改的文件、文件的特性、存储器内签名、计算系统的行为特性和/或描述已经在计算系统152处发生的事件的其他适当数据。

威胁情报系统110确定给定用户的遥测数据包括由给定ioc指定的一个或多个特性(214)。例如,威胁情报系统110可以使用该一组ioc中的ioc监视每个用户的遥测数据。作为监视的一部分,威胁情报系统110可以将由ioc中的每个ioc指定的(一个或多个)特性与遥测数据中包括的计算系统的特性进行比较。威胁情报系统110还可以将ioc的一组规则应用于每个用户的遥测数据,以确定遥测数据是否指示用户的计算系统已被攻陷。如果给定用户的计算系统包括由给定ioc指定的每个特性,则威胁情报系统110可以确定给定用户的计算系统已被攻陷。

图3是用于响应于确定计算系统被攻陷识别要执行的动作并执行所述动作的示例过程300的流程图。例如,可以通过包括一个或多个数据处理装置的系统(诸如图1的安全威胁情报系统110)来实现过程300的操作。过程300还可以通过存储在计算机存储介质上的指令来实现,其中,由包括数据处理装置的系统执行指令使数据处理装置执行过程300的操作。

威胁情报系统110为给定用户识别ioc(302)。例如,给定用户可以仅订阅一组可用ioc的适当子组或由仅一部分ioc提供者提供的ioc。适当子组是包含少于所述一组ioc中的所有ioc的子组。在另一示例中,威胁情报系统110可以基于由给定用户指定的预算、每个ioc的成本和/或每个ioc的性能分数来为给定用户识别一组可用ioc的适当子组。

当ioc提供者提供ioc时,ioc提供者还可以指定用户使用ioc使其遥测数据被评估的成本,或者对于ioc的每次使用或使用ioc检测安全威胁该ioc提供者希望从威胁情报系统110接收的金额。例如,ioc提供者可以指定,对于使用ioc的安全威胁的每次检测,ioc提供者希望接收特定货币金额。如果用于ioc的金额超过用户的预算或将使用用户的预算的大百分比(例如,至少阈值百分比),则系统可以不为该用户选择该ioc。

威胁情报系统110使用识别的ioc确定给定用户的计算系统被攻陷(304)。例如,威胁情报系统110可以扫描从计算系统接收的遥测数据,以试图识别由每个识别的ioc指定的(一个或多个)安全威胁特性。如果在遥测数据中检测到由给定ioc指定的每个特性,则威胁情报系统110可以确定计算系统被由给定ioc指定的(一个或多个)特性指示的安全威胁攻陷。

威胁情报系统110可以周期性地扫描遥测数据,例如,每天一次或每小时一次。当接收新遥测数据时,威胁情报系统110也可以扫描遥测数据。例如,遥测数据可以在流或馈送中从计算系统发送。威胁情报系统110可以在接收流或馈送时使用识别的ioc扫描流或馈送。

威胁情报系统110响应于确定计算系统已被攻陷选择要执行的动作(306)。例如,威胁情报系统110可以基于用于检测攻陷的由ioc指定的安全威胁的类型和/或安全威胁的严重性,从一组可能的动作中选择动作。例如,该一组动作可以包括自动从计算系统移除安全威胁、启动对计算系统的取证调查或者生成通知给定用户的警报。

威胁情报系统110执行选择的动作或使选择的动作被执行(308)。例如,如果用户已经给予系统对计算系统的访问权,则威胁情报系统110可以自动移除安全威胁,如果这是选择的动作。威胁情报系统110还可以使动作例如由已被攻陷的计算系统或第三方执行。

图4是用于补偿攻陷指示器提供者的示例过程400的流程图。例如,可以通过包括一个或多个数据处理装置的系统(诸如,图1的安全威胁情报系统110)来实现过程400的操作。过程400还可以通过存储在计算机存储介质上的指令来实现,其中,由包括数据处理装置的系统执行指令使数据处理装置执行过程400的操作。

威胁情报系统110确定安全数据提供者的一个或多个ioc的性能分数(402)。如上所述,ioc的性能分数可以基于在从计算系统接收的遥测数据(或其他事件数据)中已经检测到由ioc指定的一个或多个特性的次数、由ioc指定的(一个或多个)特性的真阳性检测的数量、由ioc指定的(一个或多个)特性的假阳性检测的数量、用于确定由ioc指定的(一个或多个)特性是否存在于计算系统的遥测数据中的数据处理搜索成本、对ioc的用户反馈和/或其他适当的标准。

威胁情报系统110基于(一个或多个)性能分数确定要补偿安全数据提供者的金额(404)。例如,每个ioc的金额可以与ioc的性能分数成正比。如果安全数据提供者提供了多个ioc,则该金额可以是每个ioc的金额之和。

ioc的金额还可以基于每次使用ioc来成功识别计算系统上的安全威胁的金额。例如,威胁情报系统110可以指定该金额,或者安全数据提供者可以指定该金额。ioc的金额可以是成功识别安全威胁的数量与ioc的性能分数的组合。

威胁情报系统110向安全数据提供者提供补偿(406)。例如,威胁情报系统110可以用确定的金额来记入安全数据提供者的账户。

所描述的特征可以在数字电子电路中实现,或者在计算机硬件、固件、软件或它们的组合中实现。该装置可以在有形地体现在信息载体中的计算机程序产品中实现,例如,在机器可读存储设备中实现,以由可编程处理器执行;并且可以由执行指令的程序的可编程处理器通过对输入数据进行操作并生成输出来执行所描述的实施方式的功能以执行方法步骤。所描述的特征可以有利地在可编程系统上可执行的一个或多个计算机程序中实现,该可编程系统包括至少一个可编程处理器、数据存储系统、至少一个输入设备和至少一个输出设备,所述可编程处理器被联接成从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并将数据和指令发送到数据存储系统、至少一个输入设备和至少一个输出设备。计算机程序是一组指令,其可以直接或间接地在计算机中使用以执行某种活动或带来某种结果。计算机程序可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。

举例来说,用于执行指令的程序的合适处理器包括通用和专用微处理器两者,以及任何类型的计算机的唯一处理器或多个处理器之一。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。通常,计算机还将包括或可操作地联接成与一个或多个大容量存储设备通信以存储数据文件;这样的设备包括磁盘,诸如内部硬盘和可移动磁盘;磁光盘;和光盘。适合于有形地体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,包括例如半导体存储器设备,诸如eprom、eeprom和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;和cd-rom和dvd-rom磁盘。处理器和存储器可以由asic(专用集成电路)补充或并入其中。

为了提供与用户的交互,这些特征可以在具有诸如crt(阴极射线管)或lcd(液晶显示)监视器的显示设备和键盘及诸如鼠标或轨迹球的指示设备的计算机上实现,显示设备用于向用户盘显示信息,用户可以通过键盘和指示设备向计算机提供输入。另外,这样的活动可以经由触摸屏平板显示器和其他适当的机构来实现。

这些特性可以在包括后端组件(诸如数据服务器)或包括中间件组件(诸如应用服务器或互联网服务器)或包括前端组件(诸如具有图形用户界面或互联网浏览器的客户端计算机)或它们的任何组合的计算机系统中实现。系统的组件可以通过任何形式或介质的数字数据通信(诸如通信网络)连接。通信网络的示例包括局域网(“lan”)、广域网(“wan”)、对等网络(具有自组织或静态成员)、网格计算基础设施和互联网。

计算机系统可以包括客户端和服务器。一般来说,客户端和服务器彼此远离,并且通常通过网络(诸如,上述网络)交互。通过运行在各个计算机并且彼此具有客户端-服务器关系的计算机程序而形成的客户端和服务器的关系。

尽管本说明书包含许多具体的实现细节,但是这些细节不应当被解释为对任何发明或可以请求保护的范围进行限制,而作为特定于特定发明的特定实现方式的特征的描述。在本说明书中在分开的实现方式的上下文中描述的某些特征也可以以组合方式实现在单个实现方式中。相反,在单个实现方式的上下文中描述的各种特征也可以分开地实现在多个实现方式中或在任何合适的子组合中。此外,尽管特征可以如上被描述为在某些组合中起作用并且最初也这样地请求,但在一些情况下,来自所请求的组合的一个或多个特征可以从组合中排除,并且所请求的组合可以涉及子组合或子组合的变体。

类似地,尽管在附图中以特定顺序描绘了操作,但是这不应当被理解为需要以示出的特定顺序或以相继的顺序来执行这样的操作或者需要执行所有示意的操作来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。另外,在上述实现方式中对各种系统组件的分离不应当被理解为在所有实现方式中要求这样的分离,而是应当理解,所描述的程序组件和系统可一般地在单个软件产品中被集成在一起或者被封装成多个软件产品。这样,已经描述了主题的特定实施方式。其他实现方式在所附权利要求的范围内。在一些情况下,记载在权利要求中的动作可以以不同的顺序执行而仍然实现期望的结果。此外,附图中描绘的过程不一定需要所示出的特定顺序或者相继的顺序来实现期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。

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