历史安全数据的存储和结构化搜索的制作方法

文档序号:26008503发布日期:2021-07-23 21:27阅读:66来源:国知局
历史安全数据的存储和结构化搜索的制作方法

本公开涉及一种用于历史安全数据的存储和结构化搜索的系统。



背景技术:

身份、接入、数据和资源安全事件继续迅速增长。类似地,可用于被收集和分析的原始安全信号量也呈指数增长。这些安全信号是企业保护自己免受安全漏洞和停机时间影响所需要的关键资源。这种需求驱使人类分析人员和安全工程师在处理该资源时提高效率和优先级。



技术实现要素:

本公开的一个方面提供一种方法,包括由数据处理硬件通过网络摄取用于由与所述数据处理硬件通信的多个不同的计算资源获得的多个事件的事件数据。该事件数据包括用于所述事件数据的每个事件的相应时间戳,所述相应时间戳指示当由所述多个不同的计算资源之一获得所述事件时的时间点。该事件数据还包括与所述事件数据的每个事件相关联的至少一个摄取属性,该至少一个摄取属性满足允许摄取相关事件所需的摄取标准。对于所述事件数据的多个事件中的每一个,该方法包括:由所述数据处理硬件识别相对应的事件是否与由用户定义的用于索引事件的任何自定义索引属性相关联。该方法还包括由所述数据处理硬件基于用于相对应的事件的相应时间戳、与相对应的事件相关联的所述至少一个摄取属性以及与相对应的事件相关联的任何识别的自定义索引属性,将相对应的事件索引到数据存储中作为结构化数据。该方法还包括由数据处理硬件在满足剔除时间段阈值的时间段内,剔除已经被索引到所述数据存储中作为结构化数据的事件数据中的任意事件。该方法还包括在所述数据处理硬件处,接收对所述数据存储中存储的结构化数据的检索请求,所述检索请求请求与由所述检索请求指定的时间范围、由所述检索请求指定的一个或多个摄取属性或者由所述检索请求指定的一个或多个自定义索引属性中的至少一个相关联的结构化数据。该方法还包括由所述数据处理硬件从所述数据存储中检索与由所述检索请求指定的时间范围、由所述检索请求指定的一个或多个摄取属性或者由所述检索请求指定的一个或多个自定义索引属性中的至少一个相关联的结构化数据。

本公开的实施方式可以包括下述可选特征中的一个或多个。在一些示例中,由所述用户定义用于索引事件的所述自定义索引属性分别包括由所述多个不同的计算资源的客户定义的相应的键值对。在一些示例中,对于所述事件数据的多个事件中的每一个,该方法包括:由所述数据处理硬件应用有效性规则集来确定相对应的事件是否有效。当基于所应用的有效性规则集,相对应的事件有效时,该方法包括将相对应的事件索引到数据存储中作为结构化数据。当基于所应用的有效性规则集,所述相对应的事件无效时,该方法包括由所述数据处理硬件拒绝所述相对应的事件被索引到所述数据存储中。所述有效性规则集可以包括用于确定所述相对应的事件的优先级的优先级规则集。在一些实施方式中,当接收所述检索请求时,该方法包括接收结构化数据检索偏移,所述结构化数据检索偏移指示要检索的结构化数据的列表中的位置,以及其中,仅检索结构化数据的列表中的所述位置之后的结构化数据。该方法可以进一步包括由所述数据处理硬件发送所检索的结构化数据的部分;以及页面令牌,并且该页面令牌指示所检索的结构化数据的列表中的位置。所检索的结构化数据的部分仅包括列表中来自比所述页面令牌更早的位置的数据。在一些示例中,所述数据存储包括分布式存储系统。在其他示例中,所述数据存储包括关系数据库。所述事件数据的多个事件中的至少一个可以指示所述多个不同的计算资源中的相对应的一个的测量的特性。所测量的特性的优先级可以基于优先级规则集确定。可选地,请求结构化数据的所述检索请求与第一时间范围和第二时间范围相关联,并且所述第二时间范围不同于所述第一时间范围。在一些实施方式中,摄取所述事件数据包括经由应用编程接口,通过所述网络,从所述多个不同的计算资源获得所述事件数据。该方法可以进一步包括在所述数据处理硬件处接收用于剔除数据的剔除请求,并且用于剔除数据的所述剔除请求可以与由所述剔除请求指定的时间范围、由所述剔除请求指定的一个或多个摄取属性或由所述剔除请求指定的一个或多个自定义索引属性中的至少一个相关联。该方法还可以包括由所述数据处理硬件从所述数据存储中剔除所述结构化数据,所述结构化数据与由所述剔除请求指定的时间范围、由所述剔除请求指定的一个或多个摄取属性或由所述剔除请求指定的一个或多个自定义索引属性中的至少一个相关联。在一些实施方式中,摄取事件数据响应于以下中的至少一个:接收摄取请求;来自时间表的指示;或来自事件的指示。检索所述结构化数据可以包括验证与所述检索请求相关联的所述结构化数据的权限。

本公开的另一方面提供一种系统,包括数据处理硬件以及与所述数据处理硬件通信的存储器硬件。所述存储器硬件存储指令,该指令在所述数据处理硬件上被执行时,使所述数据处理硬件执行操作。操作包括通过网络摄取用于由与所述数据处理硬件通信的多个不同的计算资源获得的多个事件的事件数据。所述事件数据包括用于所述事件数据的每个事件的相应时间戳,所述相应时间戳指示当由所述多个不同的计算资源之一获得所述事件时的时间点。事件数据还包括与所述事件数据的每个事件相关联的至少一个摄取属性,所述至少一个摄取属性满足允许摄取相关事件所需的摄取标准。对于所述事件数据的多个事件中的每一个,操作包括识别相对应的事件是否与由用户定义的用于索引事件的任何自定义索引属性相关联。操作还包括基于用于相对应的事件的相应时间戳,将相对应的事件索引到数据存储中作为结构化数据。至少一个摄取属性与相对应的事件相关联,并且任何所识别的自定义索引属性也与相对应的事件相关联。操作还包括在满足剔除时间段阈值的时间段内,剔除已经被索引到所述数据存储中作为结构化数据的事件数据中的任意事件。操作还包括接收对所述数据存储中存储的结构化数据的检索请求,所述检索请求请求与由所述检索请求指定的时间范围、由所述检索请求指定的一个或多个摄取属性或者由所述检索请求指定的一个或多个自定义索引属性中的至少一个相关联的结构化数据。操作还包括从所述数据存储中检索与由所述检索请求指定的时间范围、由所述检索请求指定的一个或多个摄取属性或者由所述检索请求指定的一个或多个自定义索引属性中的至少一个相关联的结构化数据。

本公开的实施方式可以包括下述可选特征中的一个或多个。在一些示例中,由所述用户定义用于索引事件的所述自定义索引属性分别包括由所述多个不同的计算资源的客户定义的相应的键值对。对于所述事件数据的多个事件中的每一个,所述操作可以进一步包括应用有效性规则集来确定相对应的事件是否有效。然后,操作可以进一步包括当基于所应用的有效性规则集,相应事件有效时,将相对应的事件索引到数据存储中作为结构化数据。所述有效性规则集可以包括用于确定所述相对应的事件的优先级的优先级规则集。在一些实施方式中,操作进一步包括:当基于所应用的有效性规则集,所述相对应的事件无效时,拒绝所述相对应的事件被索引到所述数据存储中。检索请求可以包括接收结构化数据检索偏移,以及所述结构化数据检索偏移可以指示要检索的结构化数据的列表中的位置。仅检索所述结构化数据的列表中的所述位置之后的结构化数据。在一些示例中,所述操作进一步包括发送所检索的结构化数据的部分。然后,操作包括发送页面令牌,并且所述页面令牌指示所检索的结构化数据的列表中的位置。操作还可以包括所检索的结构化数据的部分仅包括列表中来自比所述页面令牌更早的位置的数据。在一些示例中,所述数据存储包括分布式存储系统。在其他示例中,所述数据存储包括关系数据库。所述事件数据的多个事件中的至少一个可以指示所述多个不同的计算资源中的相对应的一个的测量的特性。所述操作可以包括基于优先级规则集来确定所测量的特性的优先级。在一些实施方式中,请求结构化数据的所述检索请求与第一时间范围和第二时间范围相关联,并且所述第二时间范围不同于所述第一时间范围。摄取所述事件数据可以包括经由应用编程接口,通过所述网络,从所述多个不同的计算资源获得所述事件数据。在一些实施方式中,操作进一步包括:接收用于剔除数据的剔除请求,并且用于剔除数据的剔除请求与由所述剔除请求指定的时间范围、由所述剔除请求指定的一个或多个摄取属性或由所述剔除请求指定的一个或多个自定义索引属性中的至少一个相关联。然后,操作包括从所述数据存储中剔除所述结构化数据,该结构化数据与由所述剔除请求指定的时间范围、由所述剔除请求指定的一个或多个摄取属性或由所述剔除请求指定的一个或多个自定义索引属性中的至少一个相关联。在一些实施方式中,摄取所述事件数据响应于以下中的至少一个:接收摄取请求;来自时间表的指示;或来自事件的指示。检索所述结构化数据可以包括验证与所述检索请求相关联的所述结构化数据的权限。

在附图和以下描述中阐述了本公开的一种或多种实施方式的细节。根据描述和附图以及根据权利要求书,其他方面、特征和优点将是显而易见的。

附图说明

图1a和1b是用于存储和搜索结构化事件数据的示例性系统的示意图。

图2是图1a和1b的系统的摄取接口的示例性组件的示意图。

图3是图1a和1b的系统的持久性子系统的示例性组件的示意图。

图4是图1a和1b的系统的检索接口的示例性组件的示意图。

图5是用于存储和结构化事件数据的方法的操作的示例性布置的流程图。

图6是可用于实现本文描述的系统和方法的示例性计算设备的示意图。

在各个附图中,相似的附图标记指示相似的元件。

具体实施方式

随着必须收集和分析的可用原始安全信号量呈指数增长(例如,跨庞大的分布式计算系统的资源的安全发现或事件),企业正在寻找方法来在云环境中提高检测和响应安全问题的效率。

本文的实施方式针对用于使得能够跨先前不同的来源规模化地索引和加入当前和历史原始安全数据的系统和方法,以便加速程序和人为分析及其对数据的优先级划分,以递送见解并推动人类理解以及优先的响应动作。此外,本文的实施方式使得用户能够基于对用户资产、工作负载和相关威胁的抽象化来组织、管理、调查、做出明智的决定并采取行动,同时进一步减轻了用户的认知和工作负载。这些贡献通过提供有效的摄取和检索有关云资源的结构化时间戳信息以及与云资源相关联的安全性信息,减少了检测和修复问题的时间,并最小化事件的风险和爆炸半径。

参考图1a和1b,在一些实施方式中,示例性系统100包括远程系统112。远程系统112可以是具有可扩展/弹性计算资源114(例如,数据处理硬件610(图6))和/或存储资源116(例如,存储器硬件620(图6))的单个计算机、多个计算机或分布式系统(例如,云环境)。远程系统112通过网络120连接到多个不同的计算资源或客户端118、118a-n。存储抽象150(例如,分布式存储系统或数据存储)覆盖在存储资源116上以允许由客户端或计算资源118中的一个或多个可扩展使用存储资源116。远程系统112执行结构化数据搜索系统160。搜索系统160从计算资源118中获得并摄取事件数据162。事件数据162表示与云资源相关联的事件。在一些实施方式中,事件数据162或相关联的事件指示多个不同的计算资源118中的相应一个的测量特性。事件数据162例如包括与云资源、安全性和隐私漏洞和呼叫者提供的注释数据相关联的特性。在一些实施方式中,事件数据162形成具有父子关系的层次结构(例如,云资源的层次结构)。系统160可以基于优先级规则集来确定所测量的特性的优先级。事件数据162还可以形成元素之间的一对多或多对多关系的图。例如,事件数据162可以表示云资源以及与该云资源相关联的所有安全性问题。

由搜索系统160接收的事件数据162进一步包括时间戳164、至少一个摄取属性166和自定义索引属性168。自定义索引属性168可以被包括在或可以不被包括在事件数据162中。在一些示例中,搜索系统160包括摄取接口200、持久性子系统300和检索接口400。摄取接口200接收事件数据162、处理数据162,并且将所摄取的数据162传递给持久性子系统300。持久性子系统300将事件数据162存储在存储抽象150中作为结构化数据。存储抽象150被配置为存储来自计算资源118的事件数据162。分布式存储系统150可以实现被配置为备份所存储的事件数据162的归档190(例如,磁带归档)用于恢复目的。归档190可以包括长保留期(例如,三(3)年)。响应于来自数据请求者119的检索请求410,检索接口400将检索数据420传递给数据请求者119。数据请求者119可以与拥有事件数据162和相对应的检索数据420的用户/客户或实体相关联,因此可以通过传送指定要包括在检索数据420中的内容的检索请求410来访问检索数据420以检查其内容。

参考图1b,在一些实施方式中,分布式系统140包括松散耦合的存储器主机114、114a-n(即,数据处理硬件),每个存储器主机具有与可用于缓存数据的存储资源116(例如,存储器硬件、闪存、动态随机存取存储器(dram)、相变存储器(pcm)和/或磁盘)通信的计算资源122(例如,一个或多个处理器或中央处理单元(cpu))。覆盖在存储资源116上的存储抽象150允许一个或多个客户端118、119可扩展地使用存储资源116。客户端118、119可以通过网络120(例如,经由远程过程调用(rpc))与存储器主机114通信。在一些实施方式中,远程分布式系统112是“单面的”。“单面的”是指存储器主机114上的大多数请求处理在硬件中完成而不是通过在存储器主机114的cpu上执行的软件来完成的方法。

分布式系统112可以将从客户端118、119获得的事件数据162存储到远程存储器主机114的存储资源116(例如,存储抽象150)中,并且经由网络接口控制器(nic)126,从远程存储器主机114获得检索数据420。网络接口控制器126(也称为网络接口卡、网络适配器或lan适配器)可以是将计算设备/资源122连接到网络120的计算机硬件组件。存储器主机114a-n和客户端118、119两者均可分别具有用于网络通信的网络接口控制器126。每个存储器位置124被配置为存储事件数据162。如本文所使用的,客户端118、119可以包括收集/获得/测量由结构化数据系统160摄取的事件数据162的不同的计算资源118,以及与客户/用户相关联的数据请求者119,该客户/用户与由结构化数据系统160摄取的事件数据162和响应于发送检索请求410而从结构化数据系统160检索的相应检索数据410相关联。

现在参考图2,摄取接口200摄取事件数据162。摄取接口200可以通过从不同的计算资源118接收事件数据162和/或通过在网络120(例如经由应用编程接口(api))上从不同的计算资源中主动地提取事件数据162来摄取事件数据162。可选地,可以经由api来写入或更新事件数据162。也就是说,客户端118、119可以经由api将事件数据162推送到摄取接口200。摄取接口200可以响应于任何数量的刺激来摄取数据。例如,摄取事件数据可以响应于接收到摄取请求。即,用户或客户端请求摄取接口200摄取数据。摄取接口200还可以响应于来自时间表的指示而摄取数据。例如,用于摄取接口的时间表可以指定应当摄取事件数据的特定时间或时间范围。可选地,摄取接口200可以响应于来自事件的指示而摄取数据。也就是说,摄取特定事件数据可以触发从相同或不同客户端118的附加事件数据162的摄取。

如先前所论述,事件数据162包含时间戳164。时间戳164指示相应计算资源118获得相应事件的时间点。在一些示例中,事件与云资源相关联,并且可以包括与云资源的操作相关联的特征或一些其他可测量参数。例如,事件数据162可以包括来自已经扫描了远程计算资源118的安全扫描器的结果。在另一个示例中,事件数据162包括已经在与远程数据库相关联的计算资源118上设置了密码的通知。时间戳164可以指示事件发生的时间。即,回到扫描器示例,时间戳164可以指示安全扫描器何时完成扫描或者远程计算资源118何时从扫描器接收到扫描结果。在一些实施方式中,时间戳164可以指示结构化数据搜索系统160摄取事件数据162的时间。在其他实施方式中,摄取接口200在摄取缺少时间戳164的事件数据162时提供(例如当前时间的)时间戳164。

事件数据162还包括一个或多个摄取属性166。摄取接口200需要这些属性166以允许摄取数据162。例如,可以将事件数据162与摄取规则210(即有效性规则或摄取标准)进行比较。如果不满足规则210(例如,漏掉摄取属性166),则可以确定数据162无效,并且可以丢弃212(即,忽略或拒绝)数据162,或者以其他方式不摄取数据162。如果满足规则210(例如,所有摄取属性166均存在且格式正确),则摄取接口200可以确定数据162是有效的摄取数据162,并继续将摄取的数据162发送到持久性子系统300以进行索引。在一些实施方式中,摄取规则210不只是验证摄取属性166的存在。例如,摄取规则210可以实施时间和/或带宽约束(例如,数据162的量或获得数据162的速率)。在另一个示例中,摄取规则210对数据162和/或系统100实施访问控制(即权限)(即,验证数据162对系统100具有访问权或权限和/或系统100对数据162具有访问权或权限)。在又一个示例中,摄取规则210实施排序并且可以拒绝无序更新。摄取规则可以包括确定相应事件的优先级的优先级规则集。可以部分地基于所确定的优先级来摄取或索引数据。摄取属性166可以是强类型的(即,严格地实施属性的类型和格式)。摄取属性166可以被表示为对(例如,键,值)。

继续参考图2,在一些实施方式中,事件数据162包括自定义索引属性168。自定义索引属性168对于摄取接口200摄取数据162不是必需的,而是允许客户端(例如,数据请求者119)在索引和检索事件数据162时具有更多灵活性和自定义性。也就是说,可以与自定义索引属性168的存在无关地摄取事件数据162。例如,由客户端定义的描述属性可以是可选的,并且在缺少该描述时,摄取接口200仍然可以摄取事件数据162。类似于摄取属性166,自定义索引属性168可以表示为客户或客户端定义的(键,值)对。在一些实施方式中,自定义索引属性168利用附加的呼叫者提供的元组(例如,键,值,有效期)来扩充事件数据162。

现在参考图3,持久性子系统300将摄取的数据162(仍包括时间戳164、至少一个摄取属性166和任何自定义索引属性168)接收为预索引数据162a。在一些实施方式中,持久性子系统包括数据索引器310。数据索引器310接受预索引数据162a并且识别预索引数据162a是否与由客户端119(客户端的用户)定义的任何自定义索引属性168相关联。然后,数据索引器310基于相应的时间戳164、摄取属性166以及任何自定义索引属性168,将摄取的数据162作为结构化数据162b索引(即,结构化)到数据存储(例如,存储抽象)150中。即,数据索引器310对数据162进行排序和组织,以在持久性存储中进行有效的更新和检索。在一些实施方式中,数据存储150与关系数据库相关联,并且数据索引器310将数据162索引到关系数据库中。附加地或替代地,数据存储150可以与分布式数据库相关联,并且数据索引器310将数据162b索引到分布式数据库中。

在一些实施方式中,数据索引器310在结构化数据162(例如,预索引数据162a)时,添加自定义索引属性168。例如,数据索引器310可以添加指定的时间段内的时间线属性,该时间线属性包括相应数据162的属性、特性、扩充和关系结构(例如,父子关系)等中的所有变化。

在一些示例中,持久性子系统300包括数据剔除器320。数据剔除器320可以包括保留阈值322。持久性子系统300通过数据剔除器320可以限制在其期间结构化数据162b被存储在数据存储150中的时间量。也就是说,结构化数据162b可以具有相应的保留阈值或剔除时间段阈值322(例如,三个月),并且当数据162b已被存储在数据存储150中的时间量满足该阈值322时,可以从数据存储150中剔除(即,删除)数据162b。数据162的不同元素可以具有不同的保留阈值322。应用于结构化数据162b的元素的阈值可以取决于下述的一个或多个:相应的时间戳164、摄取属性166和任何自定义索引属性168。例如,摄取属性166可以包括结构化数据162b的所有者(即,与结构化数据162b的事件相关联的云资源的所有者)。可以基于所有者摄取属性166的状态,将保留阈值322指派给结构化数据162b。

在一些实施方式中,结构化数据162b具有多于一个的相应保留阈值322。例如,结构化数据162b可以与最后修改的保留阈值324和总保留阈值326相关联。结构化数据162b有时可以是先前接收的摄取数据162的更新。例如,结构化数据162b可以更新云资源的状态(例如,可用性)。子系统300可以以比总保留阈值326更少的时间(即,比“最新”版本更少的时间)存储结构化数据162b的较旧的“版本”。例如,最后修改的保留阈值324可以是三个月,而总保留阈值326可以是十三个月。当结构化数据162b被更新时,可以使数据162的较旧版本(即,被更新之前的数据)保持最后修改的保留阈值324(三个月),而使最新的更新162b保持总保留阈值326(十三个月),除非以后再次更新。

继续参考图3,在一些实施方式中,持久性子系统300从结构化数据搜索系统160的用户或客户端接收剔除请求328。例如,发送剔除请求328的用户或客户端可以是与数据请求者119相同的用户或客户端。剔除请求328请求从数据存储150中剔除与下述至少一项相关联的结构化数据162b:由剔除请求328指定的时间范围165、由剔除请求328指定的一个或多个摄取属性166或由剔除请求328指定的一个或多个自定义索引属性168。数据剔除器320可以基于剔除请求328,剔除任何数量的结构化数据162b。例如,用户或客户端119可以请求剔除与如由相对应的摄取属性166所指定的相应客户端119相关联的所有数据。在另一个示例中,客户端119可以请求剔除具有落在由剔除请求328所指定的时间范围165内的时间戳164的所有数据。数据剔除器320可能需要请求者119被授权剔除所请求的数据162的验证(例如,用户名和密码)。

现在参考图4,检索接口400(即,查询接口)接收对存储在数据存储150中的结构化数据162b的检索请求410。检索请求410可以与图3的剔除请求328基本相似,除了检索请求410正在请求从数据存储150检索结构化数据162b作为检索数据420之外。因此,检索请求410可以从数据存储150中请求与下述至少一项相关联的结构化数据162b:由检索请求410指定的时间范围165、由检索请求410指定的一个或多个摄取属性166或由检索请求410指定的一个或多个自定义索引属性168。由检索请求410指定的自定义索引属性168可以包括由数据索引器310生成的属性(例如,时间线属性)。在一些示例中,检索请求410包括从特定时间点检索数据或者在第一时间范围和第二时间范围之间(也称为“diff”)比较数据162b的请求,其中,每个时间范围不同。diff可能在多于两个的时间范围之间。比较可能会产生附加的属性。例如,比较可以产生指示数据162b是存在于某一时间点还是某两个时间点或者数据162b的任何属性、特性或扩充在两个时间点之间是否已更改的属性。在另一个示例中,检索请求410可以请求与特定云资源118相关联的所有数据162b。检索接口400将从数据存储150中提取所请求的结构化数据162b,并且将数据162b作为检索数据420返回给请求者119。在一些实施方式中,检索接口400基于属性166、168和/或时间戳164对检索数据420进行排序和/或分组。

检索接口400还可以在数据420的任何元素(诸如扩充和关系结构(例如,父子关系))上对检索数据420进行过滤、排序或分组。可以以标准化或专有查询语言来指定过滤。检索接口可以进一步利用聚合函数将检索数据420分组。例如,聚合函数可以包括计数、求和和/或求平均。在一些实施方式中,检索请求410可以被“链接”或以其他方式被序列化在一起以暴露与相应时间戳164、属性166、168或任何其他事件相关联的结构化事件数据162b之间的聚类、相关性和因果关系。

在一些实施方式中,接收检索请求410包括接收结构化数据检索偏移412。结构化数据检索偏移412指示要检索的结构化数据162b的列表中的位置。然后仅检索结构化数据162b列表中的该位置之后的结构化数据162b。例如,如果检索请求410包括为五十(50)的结构化数据检索偏移412,并且检索接口400提取对应于检索请求410的一百(100)个结构化数据162b的元素的列表,则检索接口400穿过一百(100)个元素返回五十(50)个元素,而不是所有数据元素。在其他实施方式中,结构化数据检索偏移412指示要一次返回的结构化数据162b的元素量。例如,检索请求410可以请求检索接口400一次仅返回十(10)个结果。可选地,由检索接口400返回的检索数据420可以包括页面令牌422。当检索接口400仅返回与检索请求410相对应的一部分检索数据420时,页面令牌422可以指示与已经返回的数据420相对应的列表中的位置。也就是说,如果检索接口400在列表中具有一百(100)个检索数据420元素要返回,并且仅返回十(10)个元素,则页面令牌422可以指示检索接口400将返回的检索数据420的下一个元素是第十一个元素。因此,后续检索请求410可以包括页面令牌422,以向检索接口400指示请求者已准备好进行下一“批”或下一组数据420。

因此,系统100使得客户和客户端能够以高抽象级别来保护自己。也就是说,资产、漏洞、威胁和风险评估和检测被大规模地优先排序和个性化为相应客户或客户端已部署的相关业务类别和情境化应用(或工作负载、服务等)。系统100不是从策略上保护单个资源,而是从整体上保护客户端的环境。具体地,系统100使能能够大规模地自动和辅助地发现针对工作负载及其基础服务和资源的已声明和推断的关系。系统100使得能够大规模地自动和辅助地理解和分析(baselining)对于特定工作负载(或工作负载类别)正常的静态和动态行为和关系变化。系统100还使得能够大规模地自动和辅助地检测静态和动态异常,并且使得能够理解在特定应用、工作负载和工作负载类别的上下文中存在的目标数据的类型和/或值。系统100允许自动或辅助地对准和发现映射到针对特定客户端或客户、客户端的特定业务场境、应用、工作负载和工作负载类别个性化的常见威胁作用物方法和漏洞的优先级。

图5是用于存储和结构化事件数据的示例性方法500的流程图。流程图在操作502处开始,包括由数据处理硬件114通过网络120,摄取用于由与数据处理硬件114通信的多个不同的计算资源118获得的多个事件的事件数据162。在一些实施方式中,摄取事件数据响应于下述的至少一项:接收摄取请求、来自时间表的指示或来自事件的指示。事件数据162包括用于事件数据162的每个事件的相应时间戳164,相应时间戳164指示该事件由多个不同的计算资源118中的一个获得的时间点。事件数据162还包括与事件数据162的每个事件相关联的至少一个摄取属性166。至少一个摄取属性166满足允许摄取相关事件所需的摄取标准210。在一些实施方式中,摄取事件数据162包括通过网络120,经由应用编程接口从多个不同的计算资源118提取事件数据162。

对于事件数据162的多个事件中的每一个,方法500在步骤504处包括由数据处理硬件114识别相对应的事件是否与由用户定义的用于索引事件的任何自定义索引属性168相关联。在一些示例中,自定义索引属性168由用户定义用于索引事件,该自定义索引属性168分别包括由多个不同的计算资源118的客户定义的相应键值对。在步骤506处,方法500还包括对事件数据162的多个事件中的每一个,由数据处理硬件114基于用于相对应的事件的相应时间戳164、与相对应的事件相关联的至少一个摄取属性166以及与相对应的事件相关联的任何识别的自定义索引属性168,将相对应的事件索引到数据存储150中作为结构化数据162b。在一些示例中,数据存储150包括分布式存储系统。在其他示例中,数据存储150包括关系数据库。

在步骤508处,方法500包括由数据处理硬件114在满足剔除时间段阈值322的时间段内,剔除已被索引到数据存储150中作为结构化数据162b的事件数据162中的任意事件。在步骤510处,方法500包括在数据处理硬件114处接收对存储在数据存储150中的结构化数据162b的检索请求410,该检索请求410请求与由检索请求410指定的时间范围165、由检索请求410指定的一个或多个摄取属性166或由检索请求410指定的一个或多个自定义索引属性168中的至少一个相关联的结构化数据162b。请求结构化数据162b的检索请求410可以与第一时间范围和第二时间范围相关联。第二时间范围不同于第一时间范围。

在步骤512处,方法500包括由数据处理硬件114从数据存储150中检索与由检索请求410指定的时间范围165、由检索请求410指定的一个或多个摄取属性166或由检索请求410指定的一个或多个自定义索引属性168中的至少一个相关联的结构化数据162b。例如,当结构化数据162b包括落入指定时间范围165内的相对应的时间戳164时,结构化数据162b可以与由检索请求410指定的时间范围165相关联。在一些实施方式中,接收检索请求410包括接收结构化数据检索偏移412,结构化数据检索偏移412指示要检索的结构化数据162b的列表

中的位置,并且其中,仅检索结构化数据162b的列表中的该位置之后

的结构化数据162b。检索结构化数据162b可以包括验证与检索请求

410相关联的结构化数据的权限。

可选地,方法500包括针对事件数据162的多个事件中的每一个,由数据处理硬件114应用有效性规则集210来确定相对应的事件是否有效。方法500还可以包括当基于所应用的有效性规则集210,相对应的事件有效时,将该相对应的事件索引到数据存储150中作为结构化数据162b。有效性规则集210可以包括确定相对应的事件的优先级的优先级规则集。当基于所应用的有效性规则集,相对应的事件无效时,该方法500可以包括由数据处理硬件114拒绝相对应的事件被索引到数据存储150中。在一些示例中,方法500包括由数据处理硬件114发送检索到的结构化数据162b的部分和页面令牌422。页面令牌422指示所检索的结构化数据162b的列表中的位置,并且所检索的结构化数据162b的部分仅包括列表中来自比页面令牌422更早的位置处的数据162b。事件数据162的多个事件中的至少一个可以指示多个不同的计算资源118中的相对应的一个的所测量的特性。可选地,方法500包括基于优先级规则集,确定所测量的特性的优先级。

软件应用(即,软件资源)可以指使得计算设备执行任务的计算机软件。在某些示例中,软件应用可以被称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息传递应用、媒体流应用、社交网络应用以及游戏应用。

图6是可用于实现本文档中所述的系统和方法的示例性计算设备600的示意图。计算设备600旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机以及其它适当的计算机。本文所示的组件、它们的连接和关系以及它们的功能仅是例证性的,并不意味着限制本文档中描述和/或要求保护的发明的实施方式。

计算设备600包括处理器610、存储器620、存储设备630、连接到存储器620和高速扩展端口660的高速接口/控制器640,以及连接到低速总线670和存储设备630的低速接口/控制器660。组件610、620、630、640、650和660中的每个组件使用各种总线互连,并且可以安装在公共主板上或以其它适当的方式安装。处理器610能够处理用于在计算设备600内执行的指令,包括存储在存储器620中或存储在存储设备630上的指令,以在诸如耦合到高速接口640的显示器680之类的外部输入/输出设备上显示用于图形用户界面(gui)的图形信息。在其它实施方式中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和存储器类型。而且,可以连接多个计算设备600,其中每个设备提供必要操作的部分(例如,作为服务器阵列、刀片服务器组或多处理器系统)。

存储器620在计算设备600内非暂时性地存储信息。存储器620可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时性存储器620可以是用于临时或永久地存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备600使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦可编程只读存储器(eprom)/电子可擦可编程只读存储器(eeprom)(例如,通常用于固件,诸如启动程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及磁盘或磁带。

存储设备630能够为计算设备600提供大容量存储。在一些实施方式中,存储设备630是计算机可读介质。在各种不同的实施方式中,存储设备630可以是软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其它类似的固态存储设备或设备阵列,包括在存储区域网络或其它配置中的设备。在附加的实施方式中,计算机程序产品有形地体现为信息载体。该计算机程序产品包含在被执行时执行一种或多种方法,诸如上述那些方法的指令。信息载体是计算机或机器可读介质,诸如存储器620、存储设备630或处理器610上的存储器。

高速控制器640管理计算设备600的带宽密集型操作,而低速控制器660管理较低带宽密集型操作。这种职责分配仅是例证性的。在一些实施方式中,高速控制器640耦合到存储器620、显示器680(例如,通过图形处理器或加速器)和可以接受各种扩展卡(未示出)的高速扩展端口660。在一些实施方式中,低速控制器660耦合到存储设备630和低速扩展端口690。可能包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口690可以例如通过网络适配器耦合到一个或多个输入/输出设备,例如键盘、定点设备、扫描仪或网络设备,例如交换机或路由器。

如图所示,可以以多种不同形式来实现计算设备600。例如,计算设备600可以被实现为标准服务器600a或在一组这样的服务器600a中多次实现,被实现为膝上型计算机600b或被实现为机架服务器系统600c的一部分。

本文所述的系统和技术的各种实施方式能够以数字电子和/或光学电路、集成电路、专门设计的asic(应用专用集成电路)、计算机硬件、固件、软件和/或其组合实现。这些各种实施方式能够包括在一个或多个计算机程序中的实施方式,该计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器(其可以是专用的或通用的)被耦合以从存储系统、至少一个输入设备以及至少一个输出设备接收数据和指令,并将数据和指令发送到这些设备。

这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且能够以高级过程和/或面向对象的编程语言和/或以汇编/机器语言实现。本文中使用的术语“机器可读介质”和“计算机可读介质”是指任何计算机程序产品、非暂时性计算机可读介质、用于向可编程处理器提供机器指令和/或数据的装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。

本说明书中所述的过程和逻辑流程可以由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程处理器(也被称为数据处理硬件)来执行。过程和逻辑流程也能够由专用逻辑电路,例如fpga(现场可编程门阵列)或asic(应用专用集成电路)执行。例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备例如磁盘、磁光盘或光盘,或可操作地耦合至大容量存储设备以从中接收数据或对其传输数据,或者两者。然而,计算机不必具有此类设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cdrom和dvd-rom盘。处理器和存储器能够由专用逻辑电路补充或被并入专用逻辑电路中。

为了提供与用户的交互,本公开的一个或多个方面能够在具有显示设备和可选的键盘与定点设备的计算机上实现,显示设备例如是crt(阴极射线管)、lcd(液晶显示器)监视器或触摸屏,以向用户显示信息,定点设备例如为鼠标和轨迹球,用户能够通过其向计算机提供输入。其它类型的设备也能够用于提供与用户的交互;例如,提供给用户的反馈能够为任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机能够通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应于从web浏览器收到的请求,将网页发送到用户客户端设备上的web浏览器。

已经描述了许多实施方式。然而,应理解,在不脱离本公开的精神和范围的情况下,可以做出各种修改。因而,其它实施方式也在所附权利要求的范围内。

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