端点检测和响应系统事件特征数据传输的制作方法

文档序号:20515361发布日期:2020-04-24 19:01阅读:191来源:国知局
端点检测和响应系统事件特征数据传输的制作方法

相关申请的交叉引用

本申请要求均于2017年4月26日提交的美国专利申请序列号为62/490,467和第62/490,480的优先权;这两者的内容通过引用被完全结合于此。

本文中描述的主题涉及用于保持和提供对表征在端点计算机上的计算环境中发生的事件的数据的访问的方法。



背景技术:

对软件执行环境(例如,计算机、服务器、移动设备等)中的潜在危险代码对象(诸如,恶意软件、病毒和其他不需要的或不可信的对象、可执行文件等)的检测和/或阻止(例如,防止对执行或计算环境(诸如,主存储器、本地或网络存储、操作系统等)的不安全部分的执行、下载、打开等,或者限制对执行或计算环境的不安全部分的访问权限)可以作为网络安全和威胁检测、预防和/或评估策略的一部分。例如,可以记录和/或分析由计算机执行的动作或与计算机相关的事件,以提供对影响安全执行、下载等的因素的可见性,以及表征在计算机上运行的应用的性能等等。

保留表征端点计算机(例如,台式机或膝上型计算机、诸如电话或平板计算机等移动设备、或执行软件的任何其他类型的计算机设备)的操作环境的历史的数据(包括但不限于威胁、攻击之前和/或期间的时间,小于最佳执行性能的时间段,或者有关事件的数据在端点计算机的计算环境内或与之相关地发生的任何其他时间)可以有助于诊断恶意代码和/或其他形式的威胁或网络攻击的来源、责任方、潜在威胁的严重程度等中的一个或多个,并且还可以帮助提高检测和预防工作的有效性,另外提供了可以有助于标识和/或修复受威胁影响的软件组件和/或数据的记录。此外,对这样的数据的保留可以有助于支持对端点计算机上或与之相关的任何类型的潜在感兴趣事件或事件序列的调查,而不必限于威胁或恶意代码。

保留这样的数据的努力可以是计算机取证的重要部分,其可以包括检查系统以查找执行可能会影响计算机、计算机组、网络等的有害操作或其他破坏性操作的恶意攻击或其他秘密活动(例如,线程、进程、可执行文件等)的恶意代码和/或残余的进程。



技术实现要素:

在第一方面,端点计算机系统监测与在端点计算机系统的操作环境内发生的多个事件相关的数据。监测可以包括使用在端点计算机系统上执行的一个或多个传感器来接收和/或推断数据。端点计算机系统可以将与多个事件结合使用的伪像存储在这样的端点计算机系统上维护的保管库中。端点计算机系统响应于触发而从保管库标识和获取表征与触发相关联的伪像的元数据。这样的所标识和所获取的元数据然后由端点计算机系统提供给远程服务器。

触发可以在一种或多种类型的条件之后发生。例如,触发可以在定时器到期之后和/或在预定时间量到期之后发生。触发可以响应于在端点计算机系统上确定文件或对象包括恶意软件而发生。触发可以响应于接收到来自远程计算系统的查询而发生。

除了元数据,端点计算机系统可以向远程服务器提供相应的保管库中的、与触发相关联的伪像和/或事件的至少一部分。

在一些变型中,端点计算机系统可以在所标识的元数据被提供给服务器之前对所标识的元数据的至少一部分进行编校。例如,要编校的信息可以包括以下中的至少一项:用户名、ip地址、文件名、进程命令行、url、注册表键、注册表名称、注册表内容、进程名称或dns信息。

所标识的元数据可以以空间有效的数据结构而被提供。示例空间有效的数据结构可以包括例如bloom过滤器、hyperloglog数据结构、count-min草图、minhash数据结构或t-digest数据结构。

伪像可以是感兴趣的数字项,包括以下中的一项或多项:文件、程序、网络连接、注册表键和值、dns连接、用户代理字符串、url、驱动程序、服务、用户或系统特性。

监测还可以包括使用在端点计算机系统外部生成并且由端点计算机系统通过通信接口接收的附加数据来接收和/或推断数据中的至少一些数据。

数据在保管库中的存储可以包括基于一个或多个准则来确定在每个保管库中保留较有可能相关的数据的第一子集并且从相应的保管库中排除较有可能不相关的数据的第二子集。

事件可以包括在端点计算机系统上发生并且涉及端点计算机系统上的至少一个伪像的动作,并且/或者其中事件包括在与至少一个伪像相关的特定时间点发生了什么的捕获。

结果可以包括以下中的一项或多项:在相应的端点计算机系统上访问特定文件的一个或多个时间,特定文件在相应的端点计算机系统上如何被使用,特定文件首次在相应的端点计算机系统上何时被检测,注册表持续性点的位置,以及软件例程对注册表的使用以允许其本身在相应的端点计算系统重启之后持续,注册表键被用于用以在重启之后存活的恶意软件持续性,文件利用能够被直接执行或解释以供执行的内容而被创建或修改,包含可执行或可解释代码的文件被下载,进程利用过多的或意外的权限而被创建,用户具有过多的权限或者用户通过非标准机制获取权限,以非标准方式被使用的网络连接,以展现恶意命令和控制活动的方式被使用的网络连接,用于泄露包含敏感信息的文件的网络连接,连接到由于地理位置或信誉而被认为可疑的ip地址的网络连接,展现对其他进程的控制或将代码注入其他进程中的进程,和/或在执行期间改变用户所有权的进程。

可以通过在端点计算机系统处解释查询并且集中于最有可能与查询的主题相关的结果的特定数据来减轻作为响应数据的一部分而被返回的数据量。

对数据的监测可以由一个或多个传感器执行,该一个或多个传感器包括以下中的至少一项:内核模式收集器,可移动介质传感器,收集关于在端点计算机上执行的计算环境的当前状态的数据的传感器,恶意软件检测和/或拦截进程,用户认证进程,用户认证重新验证进程,系统事件日志收集器,和/或操作系统事件日志传感器。

可以根据第一组数据收集准则监测数据。随后,如果由威胁检测模块确定提高级别的警告是必要的,然后可以根据比第一组数据收集准则更广泛或不同于第一组数据收集准则的第二组数据收集准则来监测数据。威胁检测模块可以包括机器学习组件。这样的机器学习组件可以执行选自以下中的至少一个操作:确定提高级别的警告是必要的,阻止或终止进程或线程的执行,和/或确定警告级别能够被降低回到第一组数据收集准则。机器学习组件可以通过处理已经在保管库中的数据来确定潜在的不期望的事件已经发生和/或通过在所监测的数据被接收到时处理所监测的数据以确定潜在的不期望的事件当前正在发生来完成至少一个操作。

在相关实施例中,端点计算机系统监测与在端点计算机系统的操作环境内发生的多个事件相关的数据。监测可以包括使用在端点计算机系统上执行的一个或多个传感器来接收和/或推断数据。端点计算机系统可以将以下各项存储在这样的端点计算机系统上维护的保管库中:(i)事件,(ii)结合多个事件被使用的伪像,和/或(iii)与事件和/或伪像相关联的元数据。端点计算机系统响应于触发而从保管库标识和获取与触发相关联的数据。这样的所标识和所获取的数据然后由端点计算机系统提供给远程服务器。

当前主题提供了很多技术优势。例如,当前主题可以提供优于传统计算机取证数据收集技术的优势。这样的优势可以通过使用以下各项来提供:在端点计算机系统上本地维护的并且来自本地用户的查询可以访问的保管库、通过网络访问端点计算机的服务器、提供威胁保护(例如,恶意软件检测和/或拦截、认证验证和/或重新验证等)以提供对网络拓扑的一个或多个节点的实时洞察以更早和更准确地标识潜在的恶意活动从而可以采取适当纠正措施的计算机程序或进程。换言之,当前主题通过在每个端点上的分布式即时查询来提供改进的端点检测和响应(从而提供了对相应(多个)网络的安全性的及时洞察)。当前主题也是有利的,因为它限制了在端点计算机系统与后端计算系统之间传送的数据量,从而减少了网络资源消耗,并且还减少了后端服务器上的存储需求。

本文中描述的主题的一个或多个变型的细节在附图和以下描述中阐明。本文中描述的主题的其他特征和优点将从说明书和附图以及从权利要求书中变得清楚。尽管出于关于计算机端点操作环境中的威胁检测和/或预防的说明性目的描述了当前公开的主题的某些特征,但是应当容易理解,这样的特征并非旨在进行限制。本公开之后的权利要求旨在限定所保护的主题的范围。

附图说明

并入本说明书中并且构成本说明书的一部分的附图示出了本文中公开的主题的某些方面,并且与说明书一起帮助解释与所公开的实现相关联的一些原理。在附图中:

图1是图示端点计算机系统的组件的第一逻辑图;

图2示出了图示端点计算机系统的组件的第二逻辑图;

图3示出了图示通过一个或多个网络与形成端点检测和响应系统的部分的服务器通信的多个端点计算机系统的图;

图4是用于生成驻留在端点计算机系统上的多个保管库的查询的图形用户界面的视图;

图5是图示图4的查询结果的图形用户界面的第一视图;

图6是图示图4的查询结果的图形用户界面的第二视图;

图7是图示在计算环境中发生的事件的表征的过程流程图;以及

图8是图示端点发现和响应系统内的数据传输的过程流程图。

在实际中,相似的附图标记表示相似的结构、特征或元素。

具体实施方式

当前用于保留与计算机上的潜在的基于软件的攻击相关的数据的方法通常依赖于从一个或多个计算机端点(其可以包括但不限于膝上型或台式计算机、智能手机、平板电脑、其他计算设备等)到服务器机器的数据传输,在服务器机器处,存储有数据并且在必要的情况下对数据进行分析、聚合等。这样的策略通常被认为对于确保所收集的数据的可靠性和安全性(例如,确保网络威胁或掩盖这样的威胁的原因和/或后果的其他尝试的动作无法删除或破坏取证数据)是必要的。但是,在远程系统上维护这些“取证”数据可以导致各种弊端,诸如,例如需要通过网络将大量数据从端点计算机传输到一个或多个远程服务器。此外,将基于云的服务用于这样的方法可能需要传输与端点计算机处的计算机动作相关的潜在敏感数据(例如,在端点计算机处执行的分析和/或数据聚合的最终结果),这对于各种企业来说可能是不受欢迎的。与现有方法相一致的替代解决方案可以包括使用一个或多个防火墙服务器,这样的数据被传输到该防火墙服务器并且这些数据被保留在其上。如本文中使用的,术语“取证数据”通常是指表征一个或多个端点计算机的计算环境中的事件、文件的任何数据。在最广泛的范围内,与端点计算机上的伪像、事件等相关的任何数据都可以被包括在术语“取证数据”中。取证数据在本文中通常也称为“数据”或“与在端点计算机系统的操作环境内发生的事件相关的数据”。

当“未经授权”的软件试图执行时,或者当检测到某种其他形式的网络威胁时,对这种威胁的执行或其他操作可以例如通过使用一个或多个威胁标识、检测和/或预防技术而被停止。例如,相应一个或多个进程可以被终止或暂停,特定文件可以被删除,用户可以从端点计算机系统或其他系统/软件应用注销,注册表键可以被删除等等。在其他示例中,动作涉及针对先前已经被认证以访问端点计算机系统105和/或端点计算系统所连接的或以其他方式能够访问的网络的一个或多个系统资源(例如,操作系统访问,执行一个或多个应用或其他程序的能力,读取系统存储器/从系统存储器写入/在系统存储器内执行的能力,对存储设备上的数据和/或其他信息/文件/程序的访问,网络资源使用等)的用户的用户认证和/或用户认证的重新验证。

如本文中使用的,术语“用户认证或用户认证进程”通常是指可以在端点计算机系统上和/或通过网络来采用以验证访问各种系统资源的用户的身份和权限的任何类型的凭证认证和/或多因素认证进程。认证重新验证或认证重新验证进程通常是指对用户与系统和/或网络的交互和/或可以指示用户的潜在不正确认证的其他因素的分析。在重新验证进程的某些实现中,对异常行为和/或指示认证中的错误的其他因素的检测可以导致要求用户重复认证进程,可选地具有更高的验证或认证要求。

图1示出了图示保管库110的特征的图100,保管库110被维护在端点计算机系统105上并且被配置为执行与当前主题的实现相一致的操作。保管库110可以是自包含在这样的端点计算机系统105内的一个或多个数据存储(例如,数据库等)。例如,保管库110可以是经加密的sqlite数据库。如所示,与在端点计算机系统105的操作环境内发生的事件相关的数据120被监测并且作为伪像被添加到保管库110。伪像是具有取证意义的电子对象,诸如进程、文件、用户、注册表键或网络连接。事件是一个或多个伪像(例如,正在被创建的文件或正在被创建的tcp网络连接等)之间在特定时间发生的交互。保管库110可用于根据各种潜在的查询发起者生成查询响应,这将在下面更详细地描述。

端点计算机系统105可以包括多个传感器1151...n。这样的传感器1151...n可以收获、监测或以其他方式标识与事件相关联的数据以用于最终存储在保管库110中(即,所监测的数据120)作为伪像。这样的监测的数据120可以包括用于存储在保管库110中的各种伪像、以及表征这样的伪像的元数据。

例如,示例传感器1151...n包括内核模式收集器、可移动介质传感器、收集关于在端点计算机上执行的计算环境的当前状态的数据的传感器、恶意软件检测和/或拦截进程、用户认证进程、和/或用户认证重新验证进程。这些传感器可以基于软件和/或以硬件实现。

存储在保管库110中的所监测的数据120可以另外地或替代地源自外部传感器/事件。这样的监测的数据120可以经由通信接口125被接收,该通信接口125允许端点计算机系统105通过一个或多个网络与远程计算设备(无论是内部公司网络的部分还是其他)通信。

形成所监测的数据120的部分(并且从传感器1151...n和/或通信接口125得到)的伪像可以采取多种形式。在一个示例中,伪像表征导致通过诸如文件/数据源、相关联的ip地址、用户标识、当日时间等防病毒工具在端点计算机系统105上检测恶意软件的操作/进程。

伪像可以枚举防火墙的简档和规则,包括形成端点计算机系统105驻留在其中的网络拓扑的部分的windows防火墙。

伪像可以指定开始时间、相关联的用户和进程、端点计算机系统105正在使用的可执行文件等。

伪像可以表征端点计算机105驻留在其中的网络的各个方面,包括但不限于arp、dns请求、所下载的文件的url、ip连接、wi-fi无线电和接入点、bluetooth无线电和设备、对hosts文件的修改等。这种网络相关数据可以经由通信接口125被接收,并且将url与ip相关联,以及将网络活动与正在运行的进程相关联。另外,网络相关数据可以捕获有关网卡和静态/动态路由的信息。

伪像可以表征由端点计算机系统105之一使用或以其他方式在端点计算机系统105驻留在其中的网络中传输的文件,包括例如创建、修改、删除、所建立的持续性和重命名的伪像、以及元数据和文件属性。这样的伪像数据可以用于将文件与进程关系相关联。

伪像可以包括一个或多个端点计算机系统105的注册表相关信息,包括例如创建、修改、建立持续性和/或删除注册表键和值的事件。在某些变型中,这些伪像可以标识被恶意软件用来在系统重启之后持续的多于一百个持续性点/位置。注册表事件信息可以将注册表键/值与创建它们的进程相关联。此外,注册事件信息可以将持续性注册表键/值与试图通过专用解析器持续的文件相关联。

伪像还可以表征端点计算机系统105处的可移动介质插入事件、以及正被复制到端点计算机系统105/从端点计算机系统105复制的和正被执行的文件。特别地,伪像可以标识在特定端点计算机系统105处检测到的恶意软件是否源自可移动介质。可移动介质事件还可以用于标识要被复制到可移动介质的源代码文件和文档。

伪像还可以表征在端点计算机系统105处执行的各种进程。作为示例,伪像数据可以表征针对进程、线程和模块的创建、删除、挂起、加载和修改事件。这样的伪像可以用于将进程与原始文件、创建/修改/删除的文件、注册表、网络活动等相关联。伪像数据还可以专注于解决远程线程创建,其中现有进程已经将线程注入其中。伪像数据可以通过kernel32!loadlibrarya/w的远程线程创建来标识dll注入。

伪像数据也可以表征用户,包括用户行为。例如,伪像数据可以指定先前登录的用户。它还可以将用户与动作相关联,包括创建/修改/删除事件。伪像数据还可以标识匿名登录、网络登录、非工作时间登录和失败的登录。此外,用户伪像数据可以用于将用户与恶意/可疑活动相关联。

此外,伪像数据可以提供各种设备相关信息。例如,伪像数据可以提供系统的完整视图,包括操作系统、安装的应用、bios、硬件、计算机制造商和语言。设备相关数据还可以枚举所加载的驱动程序和所注册的服务。

当前主题不依赖于任何特定类型的威胁防护技术、认证验证或重新验证协议或安全性方法。相反,在端点计算机系统105上和/或通过端点计算机系统105可访问的网络连接运行的这样的其他进程可以用于触发与监测与操作环境内发生的事件相关的数据,基于在端点计算机系统105处维护的保管库中的数据来引起查询响应的生成等等中的一项或多项相关的各种活动。

本文中描述的数据监测和存储操作可以用于在端点计算机系统105上的保管库110中创建动作的独立记录,而无需在该端点计算机系统105上使用任何类型的威胁检测或预防、认证等。在这样的示例中,端点计算机系统105的操作可能没有免于威胁或其他种类的潜在恶意动作。但是,如果出现负面或意外结果,则可以使用所监测和所存储的数据120来诊断攻击或其他事件是如何发生的并且可能更好地告知其他威胁标识、检测和/或预防方法。另外,所监测和所存储的数据120可以用于其他目的,例如提高性能,评估网络和端点计算机资源的使用等等。本文中关于所监测和所存储的数据120可能使用的示例的描述并非旨在进行限制。术语“所监测的”通常是指与在端点计算机系统105的操作环境内发生的事件相关的数据的任何收集或生成(例如,“取证数据”或有助于诊断、评估等在端点计算机上的一个或多个结果或出现的其他数据)。

在当前主题的一些实现中,保管库(例如,审计日志)可以被加密,以使得其中包含的监测的数据120受到保护以免被篡改并且使得在威胁或可能需要进一步分析的其他事件期间或之后该数据不容易被访问或以其他方式被破坏。还可以通过一个或多个防篡改特征来保护与当前主题的实现相一致的本地审计日志免受篡改(例如,删除其中包含的全部或部分数据)。将审计日志维护为一系列或一连串链接的数据容器是可以提供这些保护的防篡改特征的一个非限制性示例,其中每个容器被加密并且通过密码指纹被进一步保护。

加密可以防止改变审计日志中的数据,并且该系列中的容器的密码指纹可以包括防删除特征,该防删除特征清楚地指示该系列或链接中的一个或多个容器是否被不正确地删除。这些防删除特征可以包括(在每个容器的密码指纹中)对该系列中的至少一个先前容器的密码指纹的一个或多个引用的包括。换言之,当前活动的容器可以包括对至少最近被关闭的容器以及可选地对系列中的多于一个(例如,两个、三个、四个、五个、十个等)先前被关闭的容器的引用作为其密码指纹的部分。以这种方式,如果该系列中的容器被删除,则由于被删除的容器在稍后被关闭的容器或当前活动的容器的密码指纹中被引用,其缺失将是很明显的。

在当前主题的一些实现中,加密散列被存储在容器信封中,该容器信封还可以包括当前容器和一个或多个先前容器的指纹、以及在被保留在该容器中的数据“块”中包括的数据。使用与当前主题的实现相一致的“分块”方法来存储审计日志信息可以允许差异备份,因为通常仅需要备份自上次备份以来被创建和/或写入的新容器。这种容器方法还可以解决潜在的技术挑战,同时激励磁盘或其他物理存储介质(例如,固态驱动器、光盘驱动器等)上的信息。由于数据是在端点计算机的操作以及其他动作和事件发生时被不断地添加到审计日志的,因此使用单个连续文件用于存储审计日志信息可以要求单个文件保持打开以允许此附加操作。当前主题的某些实现可以通过使用连续的数据容器系列来解决这个潜在问题,因为该系列中已经被完成或以其他方式被填充的数据容器可以对其他写入操作永久关闭,而只有当前容器必须保持打开。

其他形式的防篡改特征也可以用于数据容器。例如,每个数据容器也可以被压缩并且用公共密钥签名(例如,使用rsa-4096或某种类似的方法)。数据容器加上签名的组合也可以被加密(例如,使用aes-256或某种类似的方法)。

与当前主题的实现相一致的审计日志可以将原始的取证数据存储在上述一系列经链接的容器中。如本文中使用的,取证数据通常可以包括关于在取证方面感兴趣的事件的信息。这些取证数据(例如,关于取证方面感兴趣的事件的信息)可以包括与如下问题有关的信息:在端点计算机系统105上发生的事件相关的谁、什么、为什么、如何以及何处。例如,“谁”可以包括关于负责已经发生的动作的执行者。如本文中使用,执行者可以指代导致事件发生(例如,“什么”)的用户、程序、函数调用、线程或某种其他进程。

与作为伪像和/或元数据而被存储在保管库110中的“什么”相关的信息可以包括动作的记录,诸如网络连接、远程侧端口和/或互联网协议(ip)地址、针对调用线程或进程或线程或进程的源的域名系统查询、线程或进程执行开始、文件写入、url调用等。

在一些示例中,url调用上的数据记录可能需要浏览器插件。关于执行开始的数据可以包括有关进程树中的任何调用程序或例程的信息,并且可以包括进程的名称、进程何时开始以及进程树中是否包含任何父进程。例如,如果进程c被启动,则关于调用c的父进程b的数据可能是相关的,就像调用b的先前的父进程a可能是相关的一样。该信息在取证方面可能很有用,因为它可以允许反向遍历进程树以查找真实的原始进程以及潜在的(例如,基于审计日志的内容)背景信息,诸如如何在端点计算机上首次安装(或由于存在而以其他方式)真实的原始进程。

另外,在保管库110中作为伪像和/或元数据可用的潜在相关的取证数据可以包括有关阶段的信息,该阶段通常可以是指在威胁或攻击之前和期间的端点的上下文、状态等。阶段信息可以包括围绕一个或多个动作或事件的上下文、线程或进程启动的定时(例如,相对于在端点计算机上执行的其他线程或进程和/或其他动作或事件)、线程或进程从其启动的目录、以及其他可能感兴趣的上下文信息。

在保管库110中作为伪像和/或元数据可用的其他潜在相关的取证数据可以包括以下信息,诸如注册表键被用于用以在重启之后存活的恶意软件持续性,使用能够直接被执行或解释以供执行的内容创建或修改文件,下载包含可执行文件或可解释代码的文件,使用过多或意外权限创建进程,用户具有过多权限或者用户通过非标准机制获取权限,以非标准方式使用的网络连接,以展现恶意命令和控制活动的方式使用的网络连接,用于泄露包含敏感信息的文件的网络连接,连接到由于地理位置或信誉而被认为可疑的ip地址的网络连接,展现对代码的控制或将代码注入其他进程中的进程,和/或在执行期间改变用户所有权的进程。

图2的图200示出了包括一系列容器的保管库/审计日志110的示例。与当前主题的一些实现相一致,审计日志在端点计算机系统105的本地存储器上被维护。在一些变型中,审计日志可以被存储在网络存储装置或物理上不被包含在端点计算机系统105的硬件内的其他外部存储装置上。

在图2的示例中,在保管库/审计日志110中示出了三个容器210a、210b、210c。但是,将容易理解,一系列容器可以包括任何数目的容器,并且当附加事件在端点计算机系统105处发生并且被记录在保管库/审计日志110中时,容器的数目将随着时间继续增长。一个容器(在该示例中为容器210c)是当前活动的容器,所监测的数据120被写入到当前活动的容器中。在当前主题的一些实现中,容器可以保存预设的数据量。替代地,容器可以被配置为在给定的时间段内保存由端点计算机系统105生成的所有数据。当容器已满时(例如,当达到预设的数据量时或如果已经经过预定的时间段),将新容器添加到该系列容器的末尾,并且取证数据被写入到该新容器。如上面讨论的,容器210a、210b、210c都可以是只写的,以使得给定容器中的数据不能被覆盖或删除。最近期的取证数据被附加到当前活动的容器210c。

除了可以存储在一系列容器中的保管库/审计日志110,其中每个容器包括对如上所述的系列中至少一个其他容器的密码指纹的引用,图2还示出了本地高速缓存220(其也可以称为基于时间的本地高速缓存220),本地高速缓存220也在写入审计日志的同时被维护在端点计算机系统105上。与审计日志110相似,在某些变型中,本地高速缓存220位于物理上不被包含在端点计算机系统105的硬件内的存储装置上。与保管库/审计日志110不同,本地高速缓存220不存档取证相关数据的连续记录。代替地,本地高速缓存220存储在预设的时间量、预设数目的事件、当前存储的取证数据量和/或紧接在当前时间之前的这种方法的组合中收集的这样的数据的滚动快照。换言之,在一些实现中,本地高速缓存220可以存储在过去五分钟(或任何其他时间量,其可以可选地是可配置的)中收集的取证数据的拖尾记录。取证数据的这种拖尾记录可以包括有关与系统相关的活动、所执行的动作等的记录。可以选择时间量以具有足够的持续时间来捕获可以与该事件相关的某种感兴趣的事件之前的数据。在其他示例中,本地高速缓存220可以包括在目前之前的指定数目的事件或动作的拖尾记录。如同使用时间来确定将取证数据保留在本地高速缓存220中多长时间,可以选择足以捕获在一事件之前但与该事件相关的取证数据的指定数目的事件。在另外的其他示例中,本地高速缓存220可以具有固定的存储器大小,该固定的存储器大小被选择为足以保留与事件有关并且在事件之前的相关取证数据。还可以选择性地选择本地高速缓存220的参数,以在端点计算机105的性能、存储等方面产生可接受的小负担。

如果使用本地高速缓存220,则本地高速缓存220可以以易于查询的格式来写入,诸如,例如作为具有索引的数据库(例如,基于btree的日期结构,尽管本文中描述的方法不是特定于数据结构的),并且可以可选地从中央服务器或其他用户界面ui、应用程序编程接口(api)等进行访问,以快速查看、分析等与威胁检测或预防事件或端点计算机系统105(或ui、api等也访问其数据的其他端点计算机系统105)上的其他不希望发生的事件相关的数据。在本地高速缓存220被损坏、删除或以其他方式受损的情况下,本地高速缓存220也可以从保管库/审计日志110(例如,一系列数据容器210a、210b、210c等)被重构。

在与当前主题相一致的替代方法中,保管库110可以直接用于响应查询(而不是本地高速缓存220)。然而,可以执行对保管库110中保留的数据的某些处理,以提高查询响应的速度并且改善作为查询的响应而被返回的数据的相关性。例如,一个或多个机器学习模型可以被用来分析数据,因为这些数据被添加到保管库110和/或先前已经被添加到保管库的数据。对数据的分析可以包括对数据的给定子集与预期会引起较大关注的事件相关的可能性的评估。

图3示出了图300,图300图示了可以如何经由api(或可选地,ui)320从服务器310或其他联网的机器按需查询存储在多个端点计算机105上的保管库110中或替代地本地高速缓存220(如果存在的话)中的数据,以提供快速响应以支持对所监测的数据120(例如,保留在端点计算机系统105上的计算机取证数据)的分析。以这种方式,并且与依赖于在被监测时将所有这样的数据传输到中央服务器并且存储在中央服务器处的现有方法相反,当前主题的一些实现可以支持对所监测的数据120的至少一些本地分析以用于威胁评估和/或其他目的。在当前主题的一些实现中,在服务器310处运行的api或ui320可以在一个或多个端点计算机系统105处发送对保管库(或者替代地,如果存在,本地高速缓存220)的查询330并且接收查询应答340。应当理解,还可以或替代地从在端点计算机系统105本身上运行的另一进程查询保管库/审计日志110,诸如,例如恶意软件检测和/或拦截进程、用户认证进程、用户认证重新验证进程等。

服务器330可以并入搜索引擎355以促进对端点计算机系统105的查询。搜索引擎355可以是例如restful搜索和分析引擎,该restful搜索和分析引擎为先前查询的结果编索引以供与后续查询有关的重新使用。搜索引擎355可以提供具有httpweb界面和无模式json文档的分布式多租户的全文本搜索引擎。特别重要的是,搜索引擎可以从各种保管库105提供近乎实时的搜索结果。

可以利用其他数据模式以及来自服务器330的查询和响应的路由。在操作中,如上所述的联网查询方法可以有助于采集和/或聚合关于端点计算机105处的事件的相关摘要日期。这些查询应答340可以以多种可能的方式使用。在当前主题的一些实现中,查询应答340可以用作用于改善端点检测和响应(edr)345的输入数据,其可以在服务器310或另一计算机上实现。在其他实现中,查询330可以通过在一个或多个端点计算机105上接收到近期的或正在进行的威胁或攻击的报告和/或作为检测到可以指示秘密或不期望的活动但本身可能并不构成威胁或攻击的趋势或其他紧急情况的结果而被触发。查询应答340可用于采集有关攻击或威胁的性质的数据,并且可能用于指导响应(例如,向网络管理员提供的警报、端点计算机系统105被指导实现的自动化安全协议等)。响应于查询330而被传输回服务器310的概要数据(例如,查询应答340)可以可选地仅包括提取的或聚合的数据,而不是保管库/审计日志110中所包括的原始监测的数据120。以这种方式,原始监测的数据120不需要从端点计算机105被传输,从而确保了数据安全性并且避免了由于通过网络传输原始监测的数据120而可能出现的潜在漏洞。

在某些变型中,可以通过在计算机端点105上包括威胁检测或预防模块350或其他软件功能来进一步增强数据收集方法。威胁检测模块350可以包括人工智能(即,机器学习,诸如在于2014年6月24日提交的美国专利申请序列号14/313,863中公开的,该专利申请的内容通过引用被完全合并于此)、一组静态响应准则、或响应于检测到指示威胁或攻击的一个或多个准则而操作以扩展被存储在保管库/审计日志110中的数据的范围的其他计算特征。换言之,虽然端点计算机105被检测模块350感知为正在以非威胁或非攻击模式操作,但是第一级数据收集可以用于将数据存储到保管库/审计日志110。如果威胁检测模块350确定威胁或攻击可能正在发生或即将来临,则威胁检测模块350可以执行一个或多个操作,诸如,例如指导保管库/审计日志110监测具有附加细节的数据或添加更精细的分辨率等级和/或引起对所监测的数据120的聚合和分析的改变。在当前主题的各种实现中,威胁检测模块350可以包括恶意软件检测和/或拦截进程、用户认证进程、用户认证重新验证进程等中的一项或多项。

在一些情况下,端点计算机系统105结合触发只能将某些数据从保管库110传送到服务器350。这样的布置在技术上是有利的,因为它限制了直到可能需要这种数据的时间为止所传送的数据的量,和/或替代地减少了所传送的数据总量(因此,降低了包括后端存储要求在内的网络资源的消耗)。触发可以采取多种形式,包括例如检测模块350将某个文件或数据定为潜在恶意软件。其他触发器可以是例如定时器或固定时段的到期、从服务器310接收到查询330。

例如,从保管库110传送的数据可以是伪像、事件和/或表征伪像和事件中的一者或两者的元数据。数据可以使用各种空间有效的数据结构来传送。例如,示例数据结构/协议包括bloom过滤器、hyperloglog数据结构、count-min草图、minhash数据结构和/或t-digest数据结构。

可以利用威胁检测模块350,以便可以调节对要添加到保管库/审计日志110的数据的监测,以使得在威胁或其他攻击的可能性较低的时段期间维护保管库/审计日志110所需要的数据消耗和/或计算能力被最小化。当威胁检测模块350指示有必要提高警告级别时,保管库110可以监测较大的数据量,这将导致计算机端点105的性能降低。另外地或替代地,在较高警告级别的情况下,将原子事件聚合到逻辑视图中可能需要附加处理能力。但是,性能降低可能是对于围绕威胁或攻击收集重要数据的能力的合理权衡。

在当前主题的一些实现中,威胁检测模块350还可以包括能够终止或补救威胁的功能,并且可以能够从较低或较高警告级别中的一者或两者中做到这一点。另外,这样的功能可以能够确定当前警告级别与实际威胁状态不相称,并且因此降低当前警告级别以改善系统(例如,cpu)性能。

先前对具有增加的细节或增加的复杂性、粒度等的数据的监测和/或分析、聚集等的提及可以可选地指代用于在保管库/审计日志110中收集的一组更广泛的数据准则的实现。换言之,保管库/审计日志110可以包括在非威胁或非攻击时段期间使用的第一组数据收集准则、以及在威胁检测模块350指示威胁或攻击正在进行、可能即将来临、刚刚发生等时投入运行的第二组数据收集准则。同样如上所述,可以在“正常”时段期间应用第一分析和/或聚合准则,从而增强,当威胁检测模块350指示威胁或攻击正在进行中、可能即将来临、刚刚发生等时,可以应用第二分析和聚合准则。尽管威胁检测模块350在图3中被示出为在端点计算机105上实现,但是在服务器310或在某些其他外部计算机处实现该功能在当前主题的范围内。

图4是示出了用于由服务器330生成各种端点计算机系统105上的保管库110的查询的示例形式的图形用户界面的视图400。该形式可以包括用于生成查询的各种图形用户界面元素,诸如输入框、下拉菜单等。特别地,输入框410可以用于允许用户输入一个或多个字母数字字符串。可选地,可以指定各种其他过滤准则,诸如伪像类型420(文件、网络连接、进程、用户、注册表键等)、小平面430(其被预先指定为小平面分类系统的部分)和区域440(其通过属性或通过特定标识指定端点计算系统105的预定义分组)。此外,特定查询可以被命名450(以便其可以随后被重用),并且可以提供460关于这种查询的细节(以允许搜索先前定义的查询以供后续重用)。

图5是示出图4的查询结果的图形用户界面的视图500。结果可以分别各自具有一个或多个相关联的图形用户界面元素,这些元素在被激活时导致有关所选择的结果的其他补充信息被显示。在某些情况下,对结果的选择可以充当触发,以从特定的端点计算机系统保管库获取事件数据、伪像和/或元数据。

图6是示出图5所示的结果的图形细分的图形用户界面的视图600。给出图5中的结果表,以同心的方式示出了数据的四个不同方面。在该示例中,对于文件,内环是设备,第二环是用户,第三环是哈希,外环是路径。同心块/切片各自可以分别具有一个或多个相关联的图形用户界面元素,这些元素在被激活时会导致有关所选择的结果的其他补充信息被显示。在某些情况下,对结果的选择可以充当触发,以从特定的端点计算机系统保管库获取事件数据、伪像和/或元数据。

图7是图示作为端点检测和响应的部分的事件表征的过程流程图700。最初,在710,多个端点计算机系统中的每个端点计算机系统监测与在相应端点计算机系统的操作环境内发生的多个事件相关的数据。监测可以例如包括使用在端点计算机系统上执行的一个或多个传感器来接收和/或推断数据。在720,每个端点计算机系统将与事件结合使用的伪像存储在端点计算机系统上维护的保管库中。此后,在730,多个端点计算机系统中的一些或全部从服务器接收查询。然后,在750,接收查询的端点计算机系统响应于该查询(如果有的话)而在其相应的保管库中标识和获取伪像。随后,在760,由接收查询并且具有响应结果的端点计算机系统向服务器提供响应于查询的、包括或表征所标识的伪像的结果。

图8是图示在端点计算机系统与后端服务器之间具有有效数据传输的edr系统的处理流程图800,其中在810,端点计算机系统监测与在端点计算机系统的操作环境内发生的多个事件相关的数据。这样的监测可以包括使用在端点计算机系统上执行的一个或多个传感器来接收和/或推断数据。结合这样的监测,在820,端点计算机将与多个事件结合使用的伪像存储在这样的端点计算机系统上维护的保管库中。接下来,在830,响应于触发,端点计算机系统从保管库标识和获取表征与触发相关联的伪像的元数据。所标识和所获取的元数据随后可以在840由端点计算机系统提供给远程服务器。在一些变型中,事件和伪像或事件元数据也可以被存储和获取。

本主题可以利用在于2016年11月17日提交的美国专利序列号15/354,966中描述的一个或多个方面,该申请要求于2016年2月26日提交的美国专利申请序列号62/300,621的优先权,这两个申请的公开内容通过引用被整体并入本文。

本文中描述的主题的一个或多个方面或特征可以在数字电子电路、集成电路、专门设计的专用集成电路(asic)、现场可编程门阵列(fpga)计算机硬件、固件、软件、和/或其组合中实现。这些各个方面或特征可以包括在一个或多个计算机程序中的实现,该一个或多个计算机程序可以在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用的或通用的,该可编程处理器被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及向其传输数据和指令。可编程系统或计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是借助在各自计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生的。

这些计算机程序(也可以称为程序、软件、软件应用、应用、组件或代码)包括用于可编程处理器的机器指令,并且可以以高级过程语言、面向对象的编程语言、功能性编程语言、逻辑编程语言和/或汇编/机器语言来实现。如本文中使用的,术语“机器可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备,诸如,例如磁盘、光盘、存储器和可编程逻辑设备(pld),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。机器可读介质可以非暂态地存储这样的机器指令,诸如,例如非瞬态固态存储器或磁性硬盘驱动器或任何等效存储介质。机器可读介质可以替代地或另外地以瞬态方式存储这种机器指令,诸如,例如处理器高速缓存或与一个或多个物理处理器核相关联的其他随机存取存储器。

为了提供与用户的交互,本文中描述的主题的一个或多个方面或特征可以在如下计算机上实现,该计算机具有诸如,例如阴极射线管(crt)或液晶显示器(lcd)或发光二极管(led)监测器等用于向用户显示信息的显示设备以及用户可以通过其向计算机提供输入的键盘和指点设备(例如,鼠标或轨迹球)。其他种类的设备也可以用于提供与用户的交互。例如,提供给用户的反馈可以是任何形式的传感反馈,诸如,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以以任何形式被接收,包括但不限于声音、语音或触觉输入。其他可能的输入设备包括但不限于触摸屏或其他触敏设备,诸如单点或多点电阻或电容触控板、语音识别硬件和软件、光学扫描仪、光学指点器、数字图像捕获设备及相关联的解释软件等。这样的示例仅用于说明目的,而非旨在限制。总体上,当前主题涉及用于将结果聚合、分析和进一步解释为专有和第三方应用可消耗的格式以用于进一步解释、显示等的方法。

在上面的描述中以及在权利要求中,诸如“至少一个”或“一个或多个”等短语之后可以出现元素或特征的组合列表。术语“和/或”也可以出现在两个或更多个元素或特征的列表中。除非与其使用的上下文隐含地或明显地相反,否则该短语旨在表示单独列出的任何元素或特征、或者与任何其他所述的元素或特征组合使用任何所述的元素或特征。例如,短语“a和b中的至少一个”、“a和b中的一个或多个”以及“a和/或b”均旨在表示“仅a、仅b或a和b一起”。类似的解释也适用于包含三个或更多个项目的列表。例如,短语“a、b和c中的至少一个”、“a、b和c中的一个或多个”以及“a、b和/或c”均旨在表示“仅a、仅b、仅c、a和b一起、a和c一起、b和c一起、或a和b和c一起”。上面和权利要求中的术语“基于”的使用旨在表示“至少部分基于”,从而未被记载的特征或元素也是允许的。

根据期望的配置,本文中描述的主题可以在系统、装置、方法和/或物品中实施。前述描述中阐述的实现并不代表与本文中描述的主题相一致的所有实现。相反,它们仅是与和所描述的主题相关的方面相一致的一些示例。尽管上面已经详细描述了一些变型,但是其他修改或添加是可能的。特别地,除了本文中阐述的之外,还可以提供其他特征和/或变化。例如,上述实现可以涉及所公开的特征的各种组合和子组合和/或以上公开的若干其他特征的组合和子组合。另外,附图中描绘的和/或本文中描述的逻辑流程不一定要求所示的特定顺序或连续顺序来实现期望的结果。其他实现可以在所附权利要求的范围内。

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