WO2023059411A1 PCT指定期内 多租户共享异常网络攻击活动检测
[0001] 多租户共享异常网络攻击活动检测 [0002] 背景 [0003] 对计算系统的攻击有许多不同的形式,包括一些难以预测的形式,以及可能因情况而异的形式。 因此,网络安全的指导原则之一是“纵深防御”。 在实践中,纵深防御通常是通过迫使攻击者在计算系统周围或计算系统内的多个不同位置遇到多种不同类型的安全机制来实现的。 没有任何单一的安全机制能够检测到每一种网络攻击,或者能够结束每一种检测到的网络攻击。 但有时组合和分层足够数量和种类的防御将阻止攻击者,或者至少限制攻击的危害范围。 [0004] 为了实施纵深防御,网络安全专业人员会考虑可能进行的不同类型的攻击。 他们根据以下标准选择防御措施:哪些攻击最有可能发生,哪些攻击最有可能成功,哪些攻击如果成功则危害最大,哪些防御措施到位,哪些防御措施可以到位,以及成本 实施特定防御所涉及的程序变更和培训。 在给定环境中,某些防御措施可能不可行或不划算。 然而,网络安全方面的改进仍然是可能的,并且值得追求。 [0005] 概括 [0006] 本文教导的一些实施例通过分析活动数据来检测针对多个云租户的网络攻击活动,例如,以确定是否存在共享异常。 一个实施例可以检测到租户本地化检测工具遗漏的攻击,或者加强由租户本地化检测工具引起的怀疑。 当在其他租户的活动数据中发现相同或相似的数据时,在单个租户活动的上下文中看似良性的数据可能表明存在攻击。 [0007] 检测结果可能取决于活动发生的时间范围、活动彼此之间的相似程度、不同租户共享特定活动的异常程度以及本文讨论的其他因素。 [0008] 为了响应攻击迹象,可以执行缓解措施以提高资源访问要求、增加日志记录和审计、暂停帐户访问等。 [0009] 与本文的教导有关的其他技术活动和特征对于本领域技术人员来说也将变得显而易见。 给出的例子仅仅是说明性的。 本发明内容不旨在识别要求保护的主题的关键特征或基本特征,也不旨在用于限制要求保护的主题的范围。 相反,提供此摘要是为了以简化的形式介绍一些技术概念,这些概念将在下文中进一步描述 下面的详细说明。 本发明以正确理解的权利要求来定义,并且在本摘要与权利要求冲突的范围内,应以权利要求为准。 [0010] 附图说明 [0011] 将参考附图给出更具体的描述。 这些附图仅说明选定的方面,因此不完全确定覆盖范围或范围。 [0012] 图1是一般说明计算机系统的方框图,也一般说明配置的存储介质; [0013] 图 2 是一个数据流图,说明了传统的客户本地化攻击检测架构的各个方面; [0014] 图3是说明本文教导的多租户攻击检测架构的方面的数据流图; [0015] 图4是说明攻击活动检测系统的框图; [0016] 图 5 是说明一些攻击活动检测系统的一些附加方面的框图; [0017] 图6是说明活动数据中一些实体的一些例子和方面的框图; [0018] 图 7 是说明活动数据中某些事件类型的一些示例和方面的框图; [0019]图 8 是说明活动数据中某些共享异常的某些方面的框图; 图 9 是说明一些攻击活动检测方法的步骤的流程图; 图10是进一步说明一些攻击活动检测方法的步骤的流程图。 详细说明 [0020] 概述 [0021] 创新可能会超越其起源,但了解创新的起源可以帮助人们更充分地理解创新。 在当前情况下,此处描述的一些教导受到微软创新者获得的见解的启发,他们致力于提高 Azure® 云安全性以抵御恶意软件活动(微软公司的标志)。 [0022] 创新者指出,一些恶意软件活动试图在短时间内(例如不到一天,甚至一两个小时)传播恶意软件,并从该恶意软件中获益。 这种快速攻击的方式是希望在发现恶意软件并采取应对措施之前,恶意软件至少对某些目标系统执行其操作。 [0023] 因此,恶意软件目标面临的技术挑战之一是如何足够快地检测到快速攻击,以减少甚至可能避免攻击造成的重大损害。 创新者指出,微软和其他为多个客户提供服务的云服务提供商可能 被授权访问服务提供商的任何特定单个客户可用数据以外的数据。 云服务提供商拥有云范围的视图,超出了任何给定的单个云租户的视角创新者考虑了服务提供商对其他数据的访问是否可以支持改进对恶意软件活动的检测。 [0024] 但他们也认识到,仅仅拥有更多数据本身并不是一种防御。 简单地说“获取更多数据”并不能回答诸如使用哪些特定数据进行攻击检测以及如何使用这些数据等问题。 某种数据选择标准与重点检测工作有关。 一天的云活动数据量可能以兆字节为单位,甚至更多,即使对于只有两个客户、每个客户只有十个用户的小型云也是如此。 脑力或纸笔方法不足以快速执行保护小型云免受相对较慢的恶意软件攻击所涉及的计算。 因此,一个新兴的技术挑战是如何自动有效地选择和使用来自多个客户的数据,以改进对恶意软件活动或其他网络安全攻击的检测。 [0025] 本文中的一些实施例通过基于以下一个或多个因素自动分析客户活动数据来解决这些和其他技术挑战:(a)归因于不同客户的活动数据是否相似,以及任何此类相似性的程度,(b) 发生类似活动的时间范围,以及 (c) 归因于不同客户的此类活动相似性的可能性。 这在本文中称为“多租户”、“多客户”、“共享活动”或“云视图”方法,与下文所述的本地化方法相反。 多租户共享活动分析可以确定租户共享的某些活动数据指示攻击,然后客户或服务提供商或两者可以采取攻击对策。 [0026]作为澄清,此处的讨论通常指的是云或其他网络中的活动被“归因于”特定客户,而不是被该客户“执行”。 “归因”术语承认名义上由客户执行的活动实际上可能是由恶意软件或其他未经授权的行为者引起的。 例如,当活动在客户的一个帐户中执行时,或者使用发给客户的其中一个用户的安全令牌或密码执行时,名义上由客户执行。 此外,“客户”在本文中可与“租户”互换使用,以表示与服务提供商具有合同关系的企业、代理机构、机构或其他组织或法人。 通常,客户将有多名员工、学生或其他个人根据服务提供商与客户的服务合同从服务提供商处接收账户; 这些通常被称为“用户”。 但是,个人也可能是某些服务提供商的客户。 [0027] 多租户共享活动方法对网络攻击检测的优势可能更好 通过考虑其他方法来理解。 一种不同于多租户共享活动方法的检测方法是一种仅依赖于来自单个客户的数据的方法。 这种方法在本文中称为“客户本地化”、“租户本地化”或“本地化”攻击检测方法。 在某些情况下,可以通过任何一种方法(本地化或多租户)检测到攻击。 但在其他情况下,多租户共享活动方法可能会检测到本地化方法无法检测到的攻击。 [0028] 例如,在归因于特定客户的数十个或数百个其他用户帐户创建中,使用用户名“DVader”创建的帐户很可能不会被注意到。 一般来说,“DVader”帐户创建可能不会自动引起来自租户本地化入侵检测系统的警报。 但是,在一个小时内为六个不同客户中的每一个创建“DVader”帐户可能非常不寻常,以至于多租户分析会自动将这组帐户创建定性为可疑。 表征然后可以使实施例自动触发攻击对策。 [0029] 但是,并非所有共享活动都是可疑的。 在有几十个客户的云中,每个客户有几十个或数百个用户,在给定的时间内为两个不同的客户创建具有相同用户名的各自帐户可能很常见,因此可能不会被视为可疑, 即使两个用户名都是不寻常的,甚至是不祥的,例如“DVader”。 此外,对于“DVader”以外的某些用户名,例如“Alex”或“Maria”等常用名称,在给定时间内为具有相同用户名的相应帐户创建六个不同客户可能很常见。 此外,在给定的较长时期内(例如六个月)为六个不同的客户创建具有相同用户名的各个帐户可能很常见,即使对于诸如“DVader”之类的新用户名也是如此。 [0030] 此外,即使在一组用户名中没有重复的个人名称,模式也可以由一组用户名共享。 例如,在给定的两小时内创建 1014 用户名“Alexaaaaa”、“Alexaaaab”、“Alexaacav”和“Alexbbmxa”帐户的各个客户的帐户可能不寻常到足以被自动视为可疑。 [0031] 在一些实施例中,不太可能共享多个客户的活动数据被视为攻击指示符,除非另有压倒一切的指示。 例如,假设一个云的所有客户都不太可能在 90 分钟内从同一域下载软件。 就其本身而言,这种共享活动是可疑的。 但是,如果该软件是由一家信誉良好的供应商签署的,其安全性没有受到破坏,并且如果所有客户都从该供应商拥有的域下载该软件,那么共享下载活动就不会成为攻击指标。 [0032] 这些示例有助于说明本文提供的教导的优点。 而不仅仅是 聚合来自多个租户的事件,一些实施例分析活动数据以确定是否存在共享异常。 共享异常分析可以基于历史数据,并且可以使用解析、正则表达式和其他模式匹配、机器学习和其他计算工具和技术来执行,这些工具和技术适用于评估为特定活动选择活动数据的可能性 活动期间将在服务提供商的多个客户之间共享。 [0033] 了解本公开的技术人员将认识到这些示例中的值(例如,两个不同的客户、六个不同的客户、一小时、六个月、各种用户名)仅仅是说明性的。 在其他情况下和在各种实施例中,其他值将与可疑共享活动或非可疑共享活动相关联。 [0034] 上述示例和场景并不全面。 在阅读本文的完整公开内容后,其他场景、技术挑战和创新对于技术人员来说将是显而易见的。 操作环境 [0035] 参考图1,一个实施例的操作环境100包括至少一个计算机系统102。计算机系统102可以是多处理器计算机系统,也可以不是。 操作环境可以包括给定计算机系统中的一台或多台机器,这些机器可以是集群的、客户端-服务器联网的和/或云内的对等联网的。 一台单独的机器是一个计算机系统,一个网络或其他一组协作的机器也是一个计算机系统。 给定的计算机系统102可以被配置用于最终用户,例如,具有应用程序、用于管理员、作为服务器、作为分布式处理节点,和/或以其他方式。 [0036] 人类用户104可以通过使用显示器、键盘和其他外围设备106,经由键入的文本、触摸、语音、移动、计算机视觉、手势和/或其他形式的I/O来与计算机系统102交互。 屏幕126可以是可移除的外围设备106或者可以是系统102的组成部分。用户界面可以支持实施例与一个或多个人类用户之间的交互。 用户界面可以包括命令行界面、图形用户界面(GUI)、自然用户界面(NUI)、语音命令界面和/或其他用户界面(UI)呈现,它们可以呈现为不同的选项或者可以是 融合的。 [0037] 系统管理员、网络管理员、云管理员、安全分析师和其他安全人员、操作人员、开发人员、测试人员、工程师、审计人员和最终用户都是特定类型的用户 104。自动化代理、脚本、回放软件、设备、 代表一个或多个人行事的设备等也可以是用户 104,例如,以便于测试系统 102。存储设备和/或网络设备在一些实施例中可以被认为是外围设备,而在其他实施例中可以被认为是系统 102 的一部分 , 取决于它们与处理器 110 的可拆卸性。图 1 中未显示的其他计算机系统可以交互 以技术方式与计算机系统102或与另一系统实施例一起使用例如经由网络接口​​设备到网络108的一个或多个连接。 [0038]每个计算机系统102包括至少一个处理器110。与其他合适的系统一样,计算机系统102还包括一个或多个计算机可读存储介质112,也称为计算机可读存储设备112。存储介质112可以是 不同的物理类型。 存储介质112可以是易失性存储器、非易失性存储器、就地固定介质、可移动介质、磁性介质、光学介质、固态介质和/或其他类型的物理耐用存储介质(与仅仅传播信号相反 或仅仅是能量)。 具体而言,配置的存储介质 114,例如便携式(即外部)硬盘驱动器、CD、DVD、记忆棒或其他可移动非易失性存储介质,在插入或以其他方式安装时可能在功能上成为计算机系统的技术部分,使得 其内容可访问以与处理器110交互并由处理器110使用。可移动配置的存储介质114是计算机可读存储介质112的示例。计算机可读存储介质112的一些其他示例包括内置RAM、ROM、硬盘 ,以及其他不易被用户移除的存储设备 104. 为了符合当前美国专利要求,计算机可读介质、计算机可读存储介质或计算机可读存储器本身都不是信号或仅仅是信号 在美国未决或已批准的任何索赔下的能源。 [0039] 存储设备114配置有可由处理器110执行的二进制指令116; “可执行”在这里广义上使用,例如包括机器代码、可解释代码、字节代码和/或在虚拟机上运行的代码。 存储介质 114 还配置有数据 118,数据 118 通过指令 116 的执行而创建、修改、引用和/或以其他方式用于技术效果。指令 116 和数据 118 配置存储器或其他存储介质 114,其中 他们居住; 当该存储器或其他计算机可读存储介质是给定计算机系统的功能部分时,指令116和数据118也配置该计算机系统。 在一些实施例中,数据118的一部分代表现实世界的项目,例如产品特性、库存、物理测量、设置、图像、读数、目标、体积等等。 此类数据还通过备份、恢复、提交、中止、重新格式化和/或其他技术操作进行转换。 [0040] 尽管一个实施例可以被描述为被实现为由计算设备(例如,通用计算机、服务器或集群)中的一个或多个处理器执行的软件指令,但是这样的描述并不意味着穷尽所有可能的实施例。 技术人员会理解,相同或相似的功能通常也可以全部或部分地直接在硬件逻辑中实现,以提供相同或相似的技术效果。 或者,或者 除了软件实现之外,这里描述的技术功能可以至少部分地由一个或多个硬件逻辑组件来执行。 例如,在不排除其他实现的情况下,一个实施例可以包括硬件逻辑组件 110、128,例如现场可编程门阵列 (FPGA)、专用集成电路 (ASIC)、专用标准产品 (ASSP)、系统- 片上组件 (SOC)、复杂可编程逻辑设备 (CPLD) 和类似组件。 例如,一个实施例的组件可以基于它们的输入、输出和/或它们的技术效果被分组为交互功能模块。 [0041] 除了处理器 110(例如,CPU、ALU、FPU、TPU 和/或 GPU)、存储器/存储介质 112 和显示器 126 之外,操作环境还可以包括其他硬件 128,例如电池、总线、电源、 例如,有线和无线网络接口卡。 名词“屏幕”和“显示器”在本文中可互换使用。 显示器126可包括一个或多个触摸屏、响应于来自笔或写字板的输入的屏幕、或仅用于输出的屏幕。 在一些实施例中,诸如人类用户I/O设备(屏幕、键盘、鼠标、平板电脑、麦克风、扬声器、运动传感器等)的外围设备106将存在于与一个或多个处理器110和存储器的可操作通信中。 [0042] 在一些实施例中,该系统包括通过有线和/或无线网络108连接的多台计算机。网络接口设备128可以使用诸如分组交换网络接口卡、无线收发器或 例如,电话网络接口可能存在于给定的计算机系统中。 网络接口设备和其他网络组件(例如交换机或路由器或防火墙)的虚拟化也可能存在,例如,在软件定义网络或沙盒或其他安全云计算环境中。 在一些实施例中,一台或多台计算机由于断开连接或仅间歇性地连接到另一联网设备或远程云而部分或完全“气隙”。 特别地,本文教导的用于攻击检测增强的多租户共享分析的功能可以安装在诸如高度安全的云或高度安全的内部部署网络的气隙网络上,然后定期或偶尔使用可移动媒体进行更新。 给定的实施例还可以通过直接存储器访问、可移动非易失性存储介质或其他信息存储-检索和/或传输方法来传送技术数据和/或技术指令。 [0043] 本领域技术人员将理解,前述方面和本文在“操作环境”下呈现的其他方面可以形成给定实施例的一部分。 本文档的标题并非旨在将特征严格分类为具体化和非具体化特征集。 一个或多个项目在图中以轮廓形式显示,或在括号内列出,以强调它们不一定是所示操作环境或所有实施例的一部分,但可以与操作环境或本文讨论的一些实施例中的项目互操作 . 这并不意味着在任何附图或任何实施例中,任何不以轮廓或括号形式存在的项目都是必需的。 特别地,图1是为了方便而提供的; 在图 1 中包含某个项目并不意味着该项目或所描述的该项目的用途在当前创新之前就已为人所知。 [0044] 更多关于系统 [0045] 图 2 说明了客户本地化攻击检测架构 200。服务提供商 210 向多个客户 204(例如,云 130 中的帐户)提供服务 208。特定客户 204 的活动数据 202 被提交给客户本地化分析 206,用于 攻击检测。 客户204是云130或另一网络108的租户或其他客户。所示版本的客户本地化分析206使用仅来自特定客户204的活动数据202作为检测网络攻击的基础。 因此,这不是多租户共享异常分析。 [0046] 另一种分析(未显示)可以从一个以上的客户接收数据 202,但不依赖于某些活动数据被多个客户 204 共享的可能性作为攻击检测的基础。 例如,电力中断或针对云服务器或通信线路的物理攻击可能会影响多个客户,无论他们是否共享一项活动,例如几乎同时创建名称相似的帐户。 因此,电源中断、通信线路中断或服务器硬件失能的检测不是用于攻击检测的多租户共享异常分析。 [0047] 图3与图2形成对比。在图3架构300中,归因于客户X的活动数据202和归因于客户Y的活动数据202流入多租户攻击检测共享异常分析302。来自X的一些活动数据202 (但通常不是全部)与来自 Y 的一些活动数据 202 重叠或相似; 这在图 3 中显示为共享活动数据 304。 [0048]数据 304 可以被共享,例如,因为它表示相同类型的事件,例如帐户创建,或者因为它包括相同的实体数据,例如相同的用户名或相同的 IP 地址或相同的进程名称。 在某些情况下,对于某些实施例,实体数据不需要完全相同才能共享。 由于两个数据都匹配诸如正则表达式、IP 子网掩码或无上下文语法的模式,因此两条数据 202 可以改为在计算上被识别为相似并因此被识别为共享数据 304。 [0049] 图 4 显示了增强系统 402 的一些方面。系统 402 是用执行网络攻击 404 活动 406 检测的创新功能 420 增强的系统 102 至少部分基于多租户共享异常 408。 [0050] 例如,所示系统402包括数据集搜索界面414,软件410通过该界面获取或搜索(或两者)客户的数据集436的客户活动数据202。活动数据202可以存储在日志、数据包流或其他 数据存储工件 434,在此统称为“存储”434。在操作中,数据集搜索界面 414 可以关注特定客户 204、特定活动 306(如由例如帐户创建事件 432 表示)、 在特定时间段418,或其组合。 [0051] 所示系统402还包括由活动检测软件410配置的处理器110。在操作中,软件410以服务提供商210的两个或更多客户204的活动数据202的共享活动子集304的形式识别共享活动412 软件 410 还检查由共享活动子集 304 表示的共享 422 是否异常 408。系统 402 可以将多租户共享异常 408 的存在视为攻击活动 406 的指示符 424。这甚至可能发生 当攻击活动 406 的足迹 426 已逃避一个或多个客户本地化检测工具的检测时。 [0052] 在检测到活动406时,所示系统可以通过一个或多个接口428与一个或多个攻击缓解工具430通信,以努力减少来自检测到的攻击活动406的损害的范围或严重性。 [0053] 图 5 显示了一些增强系统 402 的某些方面。这并不是一个完整的列表。 这些项目和一般与功能420相关的其他项目,包括一些增强系统402的方面,在本文的各个点进行讨论,并且在本公开文件稍后的参考数字列表的讨论中提供关于它们的附加细节。 [0054] 图6示出了可能出现在活动数据202中的一些实体602的一些例子和方面。这并不意味着是一个完整的列表。 这些项目和与功能性 420 一般相关的其他项目,包括活动数据 202 的方面,例如事件 432 和实体 602,在本文的各个点进行了讨论,并且在稍后的参考数字列表的讨论中提供了关于它们的附加细节 本披露文件。 [0055] 图7示出了可能出现在活动数据202中的一些事件类型702的一些例子和方面。这并不意味着是一个完整的列表。 这些项目和与功能 420 一般相关的其他项目,包括活动数据 202 的方面,例如事件 432,在本文的不同点进行了讨论,并且在本公开文件后面的参考数字列表的讨论中提供了关于它们的附加细节 . [0056] 图 8 显示了一些活动数据 202 共享异常 408 的一些示例和方面。这并不意味着是一个全面的列表。 这些项目和其他与功能相关的项目 420 通常,包括活动数据202和异常408定义和识别的方面,在本文的不同点处讨论,并且在本公开文件后面的参考数字列表的讨论中提供关于它们的额外细节。 [0057]在一些实施例中,增强系统402针对感兴趣的一个或多个时间段418搜索第一客户204的事件432和第二客户204的事件432。 时间段418对于不同的客户可以是不同的,例如,客户A从午夜到凌晨2点,客户B从凌晨2点到凌晨2点。两个客户的时间段418也可以相同。 [0058] 为简单起见和便于客户命名,此示例仅提及两个客户 A 和 B。 但是可以预期,许多实施例将被配备和配置为搜索两个或更多客户的事件432,并且一些共享异常408将以三个、四个、五个或更多客户的可疑共享活动的形式被检测到,特别是 情况。 在此示例中,事件搜索 432 试图识别两个客户共享的活动 412。 共享活动可以由彼此一对一匹配的事件394、432表示。 然而,在一些实施例中也检测到其他可能性,例如,表示共享活动 412 的匹配事件可能具有客户 A 的用户名 foobarl 和客户 B 的用户名 foobar2,或者匹配事件可能具有各自的 IP 地址 只有前 28 位是相同的。 [0059] 在识别共享活动 412 之后,增强系统 402 确定共享活动的共享是否异常 408。多个客户 204 共享活动是否异常与共享活动是否异常是不同的问题。 客户A事件。 例如,客户 A 的任何本地化安全工具都不会认为名为“pozvond”的进程的创建不正常,而 A 和 B 在 30 分钟内(显然)创建了“pozvond”进程 另一个是不寻常的,因为“pozvond”不在 A 和 B 在过去六个月中任何时候都在一个小时内彼此创建的进程名称列表中。 [0060] 多个客户 204 对活动的共享是否异常也是一个不同的问题,这与共享的活动在通过合并客户 A 和客户 B 的事件但忽略给定事件来自哪个客户而创建的一组事件中是否异常是不同的问题。 例如,进程名称“pozvond”可能并不比 A 或 B 在过去 24 小时内显然创建的数百个其他进程名称更不寻常。 [0061] 共享活动异常确定的重点之一是,当这些事件具有特定值(例如,特定或相似的用户名、IP 地址、进程名称等)时,两个不同的客户具有相同(或相似)的事件是否异常? . 例如,两个客户都有许多名为“init”的进程,即使在很短的时间内(例如一个小时)也很常见,因为“init”是每个 Linux® 系统上的根进程的名称(标记 莱纳斯·托沃兹)。 但是,例如,两个客户都有一个名为“pwn”的进程,或者他们都有一个名为“pozvond”的进程,这是不寻常的。 [0062] 如果共享是异常的,则该增强系统402将该异常视为攻击指示器424。如果共享不是异常的,则该共享可能是攻击的一部分或者它可能是良性的——系统402不知道,除非其他工具 用于确定攻击是否正在进行。 [0063] 一些实施例使用或提供功能增强的系统,例如系统402或如本文教导的那样增强的另一个系统102。 在一些实施例中,配备用于检测针对服务提供商的多个客户的网络安全攻击活动的增强系统包括数字存储器112和与存储器可操作通信的处理器110。 该系统402还包括可连接到第一客户事件数据集436和第二客户事件数据集436的数据集搜索接口414,第一客户事件数据集表示第一时间段418内的活动306,其被归于1004第一客户204 ,第二客户事件数据集表示第二时间段418内的活动306,其归因于1004第二客户204。一些实施例省略时间段限制。 [0064]在该示例中,处理器110被配置为通过执行网络安全攻击活动406检测步骤来增强网络安全,这些步骤包括(a)至少经由数据集搜索界面414识别代表共享活动412的数据集的共享活动子集304, 共享活动是归于每个客户的活动,(b)确定客户对共享活动的共享422是否异常,(c)当共享异常时将共享活动表征为活动攻击的指标424 ,以及(d)当共享没有异常时,将共享活动表征为非指示符504。 以这种方式,计算系统402的操作降低了忽视攻击活动的安全风险512,其足迹426在任何单个客户的数据集中看起来是良性的。 [0065] 一些实施例进一步与攻击缓解工具430通信或包括攻击缓解工具430,并且将共享活动表征为活动攻击的指示符424触发攻击缓解工具430的缓解操作914。缓解操作可以包括警告管理人员的一个或多个 或安全人员或两者兼而有之,增强安全要求(通过要求多因素身份验证,要求对访问请求进行人工审查等),增加日志记录或审计或两者兼而有之,暂停帐户或调用其他缓解工具。 [0066] 一些实施例使用超几何概率来检查异常共享。 因此,在一些实施例中,计算系统402驻留在具有M个客户事件数据集436的环境100中,这些客户事件数据集表示归属于M个相应客户204的活动306,并且 共享活动412是恰好归因于M个客户中的N个的活动,其中N是大于一的整数,并且M大于或等于N。系统的处理器被配置为基于以下计算超几何概率502 至少N和M,并且处理器还被配置成至少部分地基于计算的超几何概率来确定共享活动的共享422是否异常408。 [0067] 其中一个技能将承认超几何分布是一种离散概率分布,它描述了 n 次抽取中 k 次成功的概率 502,没有替换,来自大小为 TV 的有限总体,其中正好包含具有指定特征 F 的 K 个对象,每次抽取都是 随机抽取,当抽取的项目具有指定的特征 F 时,每次抽取都被认为是成功的,否则被认为是失败的。 [0068] 为在 R、Python、C 和其他编程语言环境中计算 1006 超几何概率而设计的软件库可以根据本文提供的教导用于多租户共享异常检测。 定义成功抽取的指定特征F对应于共享活动数据304,例如,在指定时间段内由具有相同名称的各个进程或各个帐户的多个租户(显然)创建。 在一些实施例中,超几何分布产生概率 502 基于四个参数:(1)环境总数(例如,计算机;统计术语中的“人口规模”),(2)具有事件的环境总数 (例如,新用户创建;“样本大小”),(3) 具有该实体的环境数量(例如,特定用户名 DVader;“总体中的成功数量”),以及 (4) 环境数量 已将事件和实体配对(例如,新用户创建事件中的 DVader;“示例中的成功次数”)。 [0069] 更一般地,一些实施例对客户204之间的异常共享使用统计检查506。这包括使用超几何概率502但也包括其他统计检查506,例如Z分数、四分位数间距、无监督异常检测、时间序列数据异常检测、 和机器学习(这里被认为是一种统计机制)。 设计用于计算 R、Python、C 和其他编程语言环境中的统计量度 506 的软件库可根据本文提供的教导用于多租户共享异常检测。 [0070]因此,在一些实施例中,计算系统402驻留在具有M个客户事件数据集436的环境100中,这些客户事件数据集表示活动306归于1004 M个相应客户204,并且共享活动412是恰好归于M个客户中的N个的活动 ,其中N是大于一的整数,并且M大于或等于N。系统的处理器被配置为至少基于N和M来计算1012统计量度506,并且处理器还被配置为确定是否共享 422 的共享活动 至少部分地基于计算的统计量度是异常的408。 [0071] 一些实施例捕获攻击指示符 424,这些指示符被仅查看一个客户活动的本地化工具 122 遗漏。 也就是说,攻击活动的足迹 426 存在于特定客户 204 的活动数据 202 中,但是本地化入侵检测工具 122(或其他本地化安全工具 122,或两者)未能将足迹 426 视为攻击指示 424 . [0072] 例如,在一些实施例中,计算系统 402 驻留在具有至少一个客户本地化网络安全攻击检测工具 122 的环境 100 中,该工具 122 被配置为执行分析 206,该分析暴露于共享活动子集 304 的特定客户部分 代表共享活动的数据集。 客户本地化网络安全攻击检测工具 122 是客户本地化的,因为工具 122 不能访问一个以上的客户事件数据集 436。客户本地化网络安全攻击检测工具 122 将共享活动子集部分视为正常活动 不指示攻击404。然而,计算系统402确定共享活动的共享是异常的408,并且将共享活动表征为活动攻击的指示符424。 [0073] 本文还描述了其他系统实施例,直接或可导出为所描述过程或配置媒体的系统版本,由本文对计算硬件的广泛讨论适当地告知。 [0074] 尽管特定系统402操作、数据和硬件示例在图中被讨论和示出,但是实施例可以脱离那些示例。 例如,不同图中所示的项目可以一起包含在一个实施例中,图中所示的项目可以省略,不同项目中所示的功能可以组合成更少的项目或单个项目,项目可以重命名,或者项目可以 以不同的方式相互联系。 [0075] 本公开中提供示例以帮助说明该技术的各方面,但本文档中给出的示例并未描述所有可能的实施例。 给定的实施例可以包括额外的或不同的活动数据接口或源或事件、共享的活动定义或示例、异常检测标准或技术或工具、时间段、技术特征、机制、操作序列、数据结构或其他功能,例如, 否则可能会偏离此处提供的示例。 [0076] 流程(又名方法) [0077] 图9和10图示了可以由增强系统执行或协助的过程族900、1000,例如系统402或如本文教导的另一个多租户共享异常检测功能增强系统。 此类过程也可称为该词法律意义上的“方法”。 [0078] 图中所示或以其他方式披露的技术过程将自动执行, 例如,通过增强系统 402,除非另有说明。 一些相关过程也可以部分自动地和部分手动地执行到牵涉到人类的动作的程度,例如,人类用户104可以选择时间段418,但是没有被认为是创新的过程是完全手动的 . [0079]在给定的实施例中,可以重复过程的零个或多个所示步骤,可能使用不同的参数或数据进行操作。 实施例中的步骤也可以以与图9和10中布置的从上到下的顺序不同的顺序来完成。可以以部分重叠的方式连续地或完全并行地执行步骤。 特别地,遍历图9和10的动作项以指示在过程期间执行的步骤的顺序可以从过程的一次执行到过程的另一次执行而变化。 如果执行的过程是可操作的并且符合至少一项权利要求,步骤也可以被省略、组合、重命名或重新组合,在一台或多台机器上执行,或者以其他方式偏离所示流程。 [0080] 一些实施例使用或提供网络安全方法,包括以下自动步骤:以电子方式获取902数字数据202,其表示共同归因于服务提供商210的至少两个客户204的活动306; 在所获得的数据202内计算地识别904共享活动子集304,其表示共享活动412,共享活动是归于N个客户的活动,其中N是大于一的整数; 通过计算确定 906 共享活动 412 在客户 204 之间的共享 422 是异常的 408; 并且将共享活动子集304作为网络安全攻击活动406的指标424来处理908。 [0081] 除非存在对活动数据使用的限制,否则任何可用活动数据202都可能是共享活动子集304的一部分,共享活动子集304表示归于一个以上客户的活动。 [0082] 然而,一些实施例限制哪些活动数据202被允许代表潜在共享的活动,例如,通过将共享标识904限制到特定种类的实体602。可以设想,一些种类的实体602将更可能既存在又被共享 攻击活动中的客户比其他类型的实体 602 更重要。虽然一些实体可能被一个实施例视为比其他实体更有趣,但最感兴趣的实体不一定也在它们之间排名。 [0083] 因此,一些实施例将共享活动标识 904 或异常确定 906 或两者集中在以下一种或多种实体上:用户名 604、用户代理 608、进程名称 614、文件名 620、域名 624,或 IP地址628。这种关注通过减少或避免计算资源在被认为与多租户共享异常分析不太相关的实体602上的花费来提高计算效率。 一些实施例仅在实体602对于每个客户的价值相同时才考虑共享该实体。 例如,当实体值相同是共享标准时,创建名为“xmmmldmm”的流程不被视为与创建名为“xmmm2dmm”的流程的共享活动。 [0084] 然而,一些实施例基于同一性和遵守随机化模式632的逻辑并集来执行共享标识904。例如,“foobarOOO”和“foobarOOl”是不同的名称,但它们都遵守相同的随机化模式632,因为它们各自形成 通过将递增的数字计数器值附加到根名称。 类似地,“xmmmldmm”和“xmmm2dmm”都遵循可以由诸如“xmmm.dmm”或“xmmm[0-9]dmm”的正则表达式定义的随机化模式632。 [0085] 遵守给定随机化模式632的实体602不需要符合任何特定的随机分布。 此处使用的术语“随机化模式”的“随机化”部分是对威胁行为者可能会尝试随机化实体以推迟或逃避攻击检测的认识。 但是这样的尝试并不一定会导致真正的随机分布。 [0086]可以以各种方式对随机化模式632进行分类。 一种分类是根据实施机制。 在特定实施例中,可以使用诸如正则表达式识别器、IP子网掩码、上下文无关语法解析器和无监督机器学习的机制来实现通过一个或多个随机化模式的识别。 随机化模式632也可以或备选地根据它们识别的事件432的类型702来分类。 例如,用户名随机化模式606、632识别用户名604,并且可以例如基于帐户创建事件或登录尝试事件的词法分析。 相比之下,IP 地址随机化模式 630、632 识别 IP 地址 628,例如基于上传事件 432 或下载事件 432。给定的 IP 地址或 IP 地址集可由活动 406 用于命令和控制, 例如。 [0087] 在一些实施例中,共享活动412包括实体602,该实体602对于N个客户中的每一个都符合以下至少一项:特定用户名604、特定用户名随机化模式606、特定用户代理608、特定用户代理随机化模式 610、特定IP地址628、特定IP地址子网630、特定域名624、特定域名随机化模式626、特定过程名称614、特定过程名称随机化模式616、特定文件名620,或 特定文件名随机化模式 622. [0088] 例如,以下事件可能被识别 904 为表示共享活动:客户 A 创建用户名为“DVader”的管理员帐户,从 IP 地址 10.255.255.99 下载名为“innosent359”的文件; 客户B创建用户名为“DVader”的管理员账户,从IP地址10.255.255.96下载名为“innosent359”的文件; [0089] 客户 F 创建管理员帐户,用户名为“DVader”,从 IP 地址 10.255.255.98 下载文件名为“innosent359”。 [0090] 在该特定示例中,共享活动标识904可能已经首先识别出在三个客户中、在数十个甚至数百个客户中具有相同用户名的账户创建事件的存在。 对这三个客户 A、B 和 F 的活动数据的进一步分析可能导致识别出具有相同文件名的文件下载。 下载源IP地址不尽相同,但都属于同一个子网10.255.255.x。 或者,共享活动标识904可能已经首先识别出相同文件名的使用,然后识别出不同客户使用的相同用户名。 [0091] 上述关于客户 A、B 和 F 的假设仅仅是一个示例。 技术人员将承认,使用其他事件和其他事件实体的共享活动标识904的许多其他示例也符合本文呈现的教导。 [0092] 除了将共享标识 904 限制到特定种类的实体 602 之外,或者代替将共享标识 904 限制到特定种类的实体 602,一些实施例将共享活动标识 904 限制到特定事件类型 702。可以设想,一些事件类型 702 将更可能同时存在并跨 攻击活动中的客户比其他类型的事件类型 702。 [0093] 具体而言,一些实施例将共享活动标识904或异常确定906或两者集中在以下事件类型702中的一种或多种上:帐户522的创建706、二进制文件708、618的接收710、创建712 过程612的接收714,从IP地址628或域624接收714数据118,或数据118到IP地址628或域624的传输716。这种关注通过减少或避免计算资源的消耗来提高计算效率 关于被认为与多租户共享异常分析不太相关的事件类型702。 [0094]此外,一些实施例将共享活动标识 904 或异常确定 906 或两者集中在以下事件-实体对 808 中的一个或多个上:为特定用户名 604 创建帐户 522 的创建 706,二进制文件的接收 710 特定名称620的708、618,具有特定进程名称614的进程612的创建712,从特定IP地址628或特定域624接收714数据118,从特定域624接收718数据118, 数据118到特定IP地址628的传输716,或数据118到特定域624的传输716。 [0095] 在一个变体中,特定实体(用户名、文件名、域名、IP地址)的相同性是允许的,但不需要找到共享,只要不同客户的相应实体遵守特定的随机化模式632。 不管怎样,这样的专注 通过减少或避免在被认为与多租户共享异常分析不太相关的事件类型702和实体602对上花费计算资源来提高计算效率。 [0096] 一些实施例减少了由攻击检测程序分析的数据中的噪声,例如,以控制在客户之间观察公共(即,共享)实体的概率。 例如,一些实施例考虑观察到事件的客户数量、在事件中观察到共同实体的客户数量、过去在其日志中具有该实体的客户数量,以及 系统402具有活动数据的客户总数。 [0097] 在一些实施例中,共享活动数据304包括至少一个事件-实体对808,事件-实体对包括事件类型702的实例并且还包括特定实体602,并且确定906共享活动是否在其中共享 根据超几何或其他统计计算,客户是异常的 408 至少部分取决于至少以下各项:事件计数 802,指示所获得的数据 202 中有多少客户具有与事件相同的事件类型 702 的事件 432 -实体对808事件; 配对计数810,指示所获得的数据202中有多少客户具有事件-实体对808; 实体计数804,指示所获得的数据202中有多少客户具有与事件-实体对808具有相同实体602的事件432; 以及指示有多少顾客204出现在获得的数据中的顾客计数806。 [0098] 其中一项技能将承认不同的攻击活动可能有不同的时间范围。 例如,针对相对坚固的目标的低速和缓慢攻击可能会在数月甚至数年内渗透到网络中。 相比之下,一些针对数十或数百个客户的许多帐户喷洒受损密码的攻击活动往往会在一天或更短的时间内发生,甚至可能在一两个小时内发生。 本文提供的教导可用于改进对针对客户的低速和慢速攻击的检测,或改进对针对客户的快速攻击的检测。 [0099] 然而,一些实施例专注于快速攻击活动的检测,因此在较短时间段内的共享活动使得异常408更有可能发生的基础上进行操作。 在一些实施例中,获得的数据 202 表示指定时间段 418 内的活动,并且确定 906 客户之间共享活动的共享是否异常至少部分取决于时间段的长度,使得对于给定的共享 在所有其他因素(共享活动、客户数量等)都相同的情况下,较短时间段的活动比较长时间段的活动更有信心 824 确定异常。 [0100] 其中一项技能将承认异常置信度 824 对时间的依赖性 周期418的长度可以以各种方式实现,具有离散或连续的行为。 例如,对于 30 分钟内的共享行为,离散依赖行为可以将归一化异常度量乘以 1.0,对于 60 分钟内的共享行为乘以 0.8,对于 60 分钟内的共享行为乘以 0.6 120 分钟的时间段,对于不在 120 分钟的时间段内的共享行为,减去 0.2。 例如,连续依赖行为可能会将归一化异常度量乘以 100 / (100 + t),其中 t 是以分钟为单位的时间段长度。 这些仅仅是例子; 在给定的实施例中也可以或替代地实现许多其他依赖行为。 [0101] 如前所述,并非每个共享行为都表示攻击活动,而且并非每个异常共享行为都表示攻击活动。 特别是,一些授权更新可能是异常但良性的。 因此,一些实施例在共享活动数据304中寻找授权供应商。 例如,对多个客户使用的应用程序 124 的更新可能很少发生,并且还可能在每个客户系统上使用相同的更新进程名称,从而使更新成为异常共享活动。 但是,如果更新来自公认的授权来源,则不会将其视为攻击活动指标 424。 [0102] 因此,一些实施例识别1026共享活动的至少一部分中的授权供应商826,并且响应于识别授权供应商从共享活动数据304中排除攻击检测将基于的那部分活动。 [0103] 授权供应商的存在可以被识别1026,例如,从签名代码或其他数字签名的更新内容118上的数字签名。替代地或另外,授权供应商826可以通过其对IP地址块的所有权被识别1026 628,其包括从其接收更新内容的IP地址1020。 [0104] 在一些实施例中,用于评估异常的统计量度 506 是使用确定性规则 820 来定义的,确定性规则 820 指定具有规定阈值的实体频率,例如,如果共享数据包括给定实体的超过五个实例(例如,用户名“D”,则发现异常 Vader”)在最近的六十分钟内。 更一般地,在一些实施例中,确定906客户之间共享活动的共享是否异常408包括应用1028管理实体频率1030的确定性规则820。 [0105] 服务提供商 210 应尊重客户的隐私和机密。 技术人员将承认,在没有本教导的情况下,客户 A 的大部分(如果不是全部)活动数据通常被服务提供商与客户 B 的活动数据完全分离。服务提供商 210 可以访问两个客户各自的 活动数据,例如准备各自的发票,但不同客户的数据 202 不作为一个单元共同处理。 此外,通常会采取安全措施来防止一个云租户访问另一个云租户的数据。 这种数据分离和安全措施使目前创新的共享分析令人惊讶,因为不同客户的数据被集中处理。 实际上,一些人可能觉得共享活动标识904和共享活动数据子集304的使用906引起了隐私问题或机密性问题。 [0106] 然而,可以在适当尊重隐私和保密的情况下实施根据本教导的实施例。 实施例与防止一个云租户访问另一个云租户的数据的安全措施兼容并且独立于这些安全措施。 此外,服务提供商仍可将每个客户的活动数据与其他客户的活动数据完全分开,而不是为了识别共享的活动数据。 无需修改现有客户发票流程,例如,执行多租户共享活动分析以检测攻击活动。 [0107]一些实施例进一步以特定方式支持隐私和机密性。 在一些实施例中,服务提供商根据协议508​​向特定客户提供1032安全服务,特定客户通过该协议同意在所获得的数据202中包含特定种类的数据; 因此,客户也同意可能将指定种类的数据包含在共享活动数据子集 304 中。例如,该协议可以声明仅特定事件类型 702、或特定实体 602、或特定被监控系统 102、或特定 时间段 418 或其某种组合可能包含在共享活动数据子集 304 中。对处理数据 202 的限制可能是协议 508 的一部分。所提供的安全服务可能包括活动攻击检测 1000,如本文教导的, 这对同意的客户有利,因为这种检测不能由同意的客户执行,因为没有任何个人客户可以访问其他客户的必要活动数据。 [0108] 在一些实施例中,服务提供者通过从对应的非散列数据202产生1034散列数据510、202,然后包括904共享活动子集304中的散列数据的一些或全部来支持客户隐私和机密性。散列可以用作 实体 ID 或作为其他机密活动数据 202 的 ID,用于异常分析。 服务提供商还从共享活动子集中排除 1036 对应的非散列数据。 在一些实施例中,服务提供商通过从共享活动子集中排除任何非散列数据而走得更远。 可以采用熟悉的散列机制。 [0109] 一些实施例可以使用实体商店来实现。 在这样的实施例中,确定906客户之间共享活动的共享是否异常包括维护1038多个客户的相应实体商店634。 每个实体商店包括多个实体602或多个实体组636中的每一个的实体计数804。异常确定906还包括跟踪1040实体计数的变化 随着时间的推移; 并且利用1042两个或更多客户的实体计数中随时间的匹配变化的存在作为针对那些客户的攻击活动的指示424,其中攻击活动涉及相应的实体或实体组。 [0110] 例如,假设客户 A、B 和 C 拥有各自的实体商店 634,一组 636 个已知过程名称定义为两周前到两个月前遇到的过程名称,一组 636 个新过程名称定义为过程 names not in known-processnames,一组636个known-domain-names定义为两周前到两个月前遇到的域名,以及一组636个new-domain-names定义为不在known-domain-names中的域名。 进一步假设每个组的大小(名称的数量,又名“计数”)每周存储在实体存储中,并且组及其计数每周更新一次。 [0111] 然后客户规模的增加(百分比或绝对值) 新进程名称组本身可能不会令人怀疑。 但是一个实施例可以将客户A新进程名称组、客户B新进程名称组和客户C新进程名称组各自大小的相应增加视为攻击指标424。如果 三个客户的新域名组的大小也相应增加,则指示攻击的置信度 824 会更高。 这是一个例子。 技术人员将理解,基于其他实体、其他实体组、其他时间段和其他客户计数的实体商店的异常也可用于检测攻击。 [0112] 在一些实施例中,服务提供商210是云服务提供商。 在某些情况下,服务提供商 210 还或替代地担任以下角色中的一个或多个:托管服务提供商、互联网服务提供商、存储服务提供商、托管服务提供商、软件即服务 (SaaS) 提供商、基础设施即服务 (laaS) ) 提供商或平台即服务 (PaaS) 提供商。 [0113] 配置的存储介质 [0114]一些实施例包括配置的计算机可读存储介质112。存储介质112可以包括盘(磁、光或其他)、RAM、EEPROMS或其他ROM、和/或其他可配置存储器,特别包括计算机可读存储介质( 它们是设备,因此不仅仅是传播的信号或能量)。 所配置的存储介质具体可以是可移动存储介质114,例如CD、DVD或闪存。 通用存储器可以是可移动的或不可移动的,并且可以是易失性的或非易失性的,可以使用诸如数据集搜索界面414、已被识别为代表 由多个客户 204 共享的活动 412,活动数据存储 434,软件或硬件或两者都实现超几何概率 502 计算或其他异常统计 测量 506、散列软件或结果散列 510、或完全或部分实现图 9 或 10 所示流程的软件,用于以数据 118 和指令 116 的形式,从可移动存储介质 114 和读取的多租户共享基于异常的攻击活动检测 / 或另一个来源,例如网络连接,以形成配置的存储介质。 配置的存储介质112能够使计算机系统102执行用于多租户共享基于异常的攻击活动检测的技术处理步骤,如本文所公开的。 因此,附图有助于说明配置的存储介质实施例和过程(也称为方法)实施例,以及系统和过程实施例。 特别地,图9或10中所示的或本文以其他方式教导的任何过程步骤可用于帮助配置存储介质以形成配置的存储介质实施例。 [0115] 一些实施例使用或提供配置有数据118和指令116的计算机可读存储设备112、114,其在由至少一个处理器110执行时使云或其他计算系统执行网络安全方法。 该方法包括:以电子方式获取902数字数据202,其表示共同归因于服务提供商210的至少三个客户204的活动306; 在所获得的数据202内计算地识别904共享活动子集304,其代表共享活动412,共享活动412是归于N个客户的活动306,其中N是大于一的整数; 通过计算确定 906 在客户之间共享 422 共享活动是异常的 408 ; 并且将共享活动视为908网络安全攻击活动406的指标424。 [0116] 在一些实施例中,计算系统402没有任何基于共享活动子集的一部分的任何警报,该共享活动子集恰好归因于客户之一。 也就是说,该创新方法捕获 1044 攻击 404 被所有本地化攻击检测分析 206 和本地化检测工具 122 遗漏 1046 。这可能发生,因为在单个租户活动的上下文中看起来良性的数据 202 可以帮助指示 当在附加租户204的活动数据中发现相同或相似的数据时,攻击404,这取决于这里讨论的因素。 [0117] 一个这样的因素是相似性的程度,例如,实体值是相同的还是仅匹配模式 632。在一些实施例中,不相同但匹配容易生成的模式的实体值,例如,产生具有 相同的根部分加上递增或随机部分,被认为比仅仅相同的值更可疑。 该模式的使用被解释为通过避免重用给定值来避免检测的努力。 [0118] 另一个因素是时间框架。 如本文别处所述,一些实施例认为在较短时间范围418内发生的共享活动比在较长时间范围418内发生的共享活动更可疑。 另一个因素是共享的可能性。 找到特定共享数据304的概率越低对应于当共享数据存在时共享数据指示攻击的置信度越高。 可以相对于假定未受到攻击的基线系统计算概率。 [0119] 在一些实施例中,归于特定客户的共享活动子集的每个部分归于相应的时间段418,并且所有时间段彼此重叠,即时间段的并集不为空。 在其他实施例中,共享活动发生在不同客户的非重叠时间。 [0120] 在一些实施例中,将共享活动视为网络安全攻击活动的指标908包括以下至少一项:生成1048安全警报514; 增强 1050 安全要求 516; 增加 1052 日志记录 518 或审计 520 或两者; 或暂停1054帐户522。这些操作中的每一个都可以使用熟悉的工具和技术来执行,作为使用本文教导的增强来指示攻击的确定的结果。 [0121] 在一些实施例中,通过满足以下性能水平约束920中的至少一个,在生产性能水平918执行该方法:约束920指定所获得的数字数据202表示共同归因于至少十个客户204的活动306 服务提供商210; 约束920,指定共享活动子集304表示归属于服务提供商210的至少五个客户204中的每一个的活动306; 或者约束920指定共享活动412导致针对服务提供商210的至少三个客户204中的每一个的网络安全攻击活动406的过去或当前存在的指示424。 [0122] 其他示例和观察 [0123] 技术人员将认识到,并非本公开的每个部分或其中的任何特定细节都必须满足法律标准,例如启用、书面描述或最佳模式。 与任何其他专利公开的任何明显冲突,即使来自本创新的所有者,在解释本专利公开中提出的权利要求时也没有任何作用。 基于与本公开的所有部分相关的这种理解,在以下部分中提供了一些额外的示例和观察。 [0124] 一些实施例通过公共实体304、602识别904执行安全活动406检测。安全攻击活动406具有显着的跨客户影响,因此它们的早期检测是有利的。 本文描述的一些实施例比较跨多个客户204的某个定义的时间窗口418(例如,1天)内的显着事件432(例如,新用户创建)。识别共享公共实体602(例如,用户名)的事件432 ) 跨不同的客户 204 可能会揭示异常 408,指示 424 值得注意的事件是攻击活动 406 的一部分。 [0125] 一些实施例减少检测程序面临的噪音,以控制在这些客户中观察到共同实体 602 的概率 502。降噪可以考虑观察到事件的客户数量、事件发生的客户数量。 事件中观察到的共同实体、过去在其日志中具有该实体的客户数量,以及检测系统402具有其数据的客户总数。 可以在此基础上计算超几何 p 值 502 以评估异常性,即在没有攻击的情况下随机检测到该共同实体的概率。 [0126] 在一些实施例中,增强系统402使用以下组件构成。 [0127] 数据收集器414从相关数据源收集系统402中使用的数据202,并提取实体602、事件432或两者。 例如,可以获取902数据202作为警报数据、资源管理器数据、登录事件或其他活动数据。 数据202可以流式或批量模式收集,并且可以存储在系统的数据库或其他存储634中。 [0128]第二个组件是软件 410 的公共实体标识符部分。该组件处理数据收集器收集的数据 202 以识别 904 个实体 602,这些实体 602 重复出现在不同客户 204 的数据 202 中,因此可能是安全活动的一部分 406.例如,该组件可以在短时间帧418内识别从同一IP地址628到属于不同客户204的虚拟机的多个登录事件。该共享活动数据304可以指示攻击者设法获得许多凭证的攻击者 虚拟机正在尝试访问这些虚拟机。 这些和其他共享活动信号可以定义为确定性规则,例如,如果在最近 60 分钟内有超过 5 个实体实例在事件中,则发现共享。 [0129] 软件410的另一部分执行置信度824评估。 由先前提到的组件突出显示的可疑实体 304、602 进入软件 410 的降噪器部分。降噪器的目标是通过去除被认为不够可疑的情况来改进结果,例如,其置信度 824 或 概率502或其他度量506低于指定阈值。 [0130] 降噪可以考虑,例如,观察到事件的客户数量、在事件中观察到公共实体的客户数量、过去在其日志中具有该实体的客户数量, 以及可用数据的客户总数。 置信度评估组件使用统计模型来决定哪些实体602是可疑的。 例如,可以使用超几何p值502。 [0131] 本例中增强系统 402 的另一个组件是 软件 410。该组件获取数据 304 并将其包装到要发送给客户的对象中,例如,发送给给定客户 204 指定的相应安全或管理人员。这样的警报 514 可以包含附加信息,如警报名称, 指示符 424 的自由文本描述、向客户建议采取的行动 914、可疑实体列表 602 等。 [0132] 通过利用多租户共享分析,一个实施例可以补充甚至避免依赖于任何特定客户看到的攻击量的活动检测方法。 应用统计评估可以补充其他方法,提高整体检测灵敏度并允许更早地检测到攻击活动。 例如,检测警报可能由服务提供商内部的安全研究人员处理,并可能作为云 SIEM 中的活动警报传递给客户。 [0133] 下面提供了对上述讨论的额外支持。 为方便起见,此附加支持材料出现在不同的标题下。 尽管如此,所有这些都旨在被理解为本公开对所设想的实施例的讨论的集成和组成部分。 [0134] 技术特征 [0135]此处描述的实施例的技术特征对于本领域的普通技术人员来说是显而易见的,并且对于范围广泛的细心的读者来说也将以多种方式显而易见。 一些实施例解决技术活动,例如识别计算系统活动数据 202 的共享活动子集 304,确定 906 由数据子集 304 表示的共享 422 是否异常 408,以及减轻 914 网络攻击 404,这些都是深深植根于计算技术的活动 . 所讨论的一些技术机制包括,例如,数据集搜索界面 414、攻击活动检测软件 410、攻击缓解工具 430、数据存储 634、用于计算超几何概率的软件 502、用于识别系统活动数据中的随机化模式的各种机制 632 202,并警告 514 发电机。 所讨论的一些技术效果包括,例如,捕获 1044 被本地化检测工具 122 遗漏(至少到目前为止)的网络攻击 404,检测 1000 包括针对多个云租户 204 的攻击 404 的活动 406,区分 1026 异常但合法的 来自指示攻击的异常活动的活动 404,以及保护 1034、1036、1032 客户隐私和机密,同时监控云以检测攻击 404。因此,显然排除了仅限于笔和纸的纯心理过程和活动。 根据所提供的描述,基于教导的技术特征的其他优点对于技术人员来说也将是显而易见的。 [0136] 一些人可以在更广泛的上下文中查看本文描述的一些实施例。 例如,计算成本、效率、隐私、新近度或安全性等概念可能是 被认为与特定实施例相关。 然而,并不能从广泛的上下文中得出抽象概念的专有权; 他们不是。 相反,本公开的重点是提供适当的具体实施例,其技术效果完全或部分地解决了特定的技术问题,例如如何在现有本地化工具无法快速检测攻击活动的情况下快速检测攻击活动。 其他涉及计算成本、效率、隐私、新近度或安全性的配置存储介质、系统和过程不在本范围内。 相应地,在正确理解本公开的情况下,也避免了含糊不清、过于抽象、缺乏技术特征以及伴随的证明问题。 [0137] 额外的组合和变化 [0138] 代码、数据结构、逻辑、组件、通信和/或它们的功能等同物的任何这些组合也可以与上述任何系统及其变体组合。 过程可以包括本文描述的任何可操作的子集或组合或序列中的任何步骤。 每个变体可以单独出现,或与任何一个或多个其他变体组合出现。 每个变体可以与任何过程一起出现,并且每个过程可以与任何一个或多个其他过程组合。 每个过程或过程的组合,包括变体,可以与上述任何配置的存储介质组合和变体组合。 [0139] 更一般地,技术人员将认识到并非本公开的每个部分或其中的任何特定细节都必须满足法律标准,例如启用、书面描述或最佳模式。 此外,实施例不限于特定的激励示例和场景、威胁、事件、实体、时间段示例、软件过程、安全工具、标识符、数据结构、数据选择、命名约定、符号、分组、计算、公式或 此处描述的其他实施选择。 与任何其他专利公开的任何明显冲突,即使来自本创新的所有者,在解释本专利公开中提出的权利要求时也没有任何作用。 [0140] 首字母缩写词、缩写词、名称和符号 [0141] 下面定义了一些首字母缩写词、缩写词、名称和符号。 其他在本文别处定义,或不需要在此处定义以便技术人员理解。 [0142] ALU:算术和逻辑单元 [0143]API:应用程序接口 [0144] BIOS:基本输入/输出系统 [0145] CD:光盘 [0146] CPU:中央处理器 [0147] DVD:数字通用光盘或数字视频光盘 FPGA:现场可编程门阵列 [0148] FPU:浮点处理单元 [0149] GPU:图形处理单元 [0150] GUI:图形用户界面 [0151] HTTP(S):超文本传输​​协议(安全)laaS 或 IAAS:基础设施即服务 [0152] ID:标识或身份 loT:物联网 [0153] IP:互联网协议 [0154] LAN:局域网 [0155] 操作系统:操作系统 [0156] PaaS 或 PAAS:平台即服务 [0157] RAM:随机存取存储器 [0158] ROM:只读存储器 [0159] TCP:传输控制协议 [0160] TLS:传输层安全 [0161] TPU:张量处理单元 [0162] UDP:用户数据报协议 [0163] UEFI:统一可扩展固件接口 [0164] URI:统一资源标识符 [0165] URL:统一资源定位符 [0166] WAN:广域网 [0167] 一些额外的术语 [0168] 在此参考附图中所示的示例性实施例,并且在此使用特定的语言来描述相同的示例性实施例。 但是,对于相关领域的技术人员并拥有本公开内容的本文中所示特征的变更和进一步修改,以及本文特定实施例所示的抽象原理的附加技术应用,应被视为在本发明的范围内。 权利要求的范围。 [0169] 术语的含义在本公开中得到澄清,因此在阅读权利要求时应仔细注意这些澄清。 给出了具体示例,但是相关领域的技术人员将理解其他示例也可以落入所使用的术语的含义内,并且落入一个或多个权利要求的范围内。 术语在此处的含义不一定与它们在一般用法(特别是非技术用法)、特定行业的用法或特定词典或词典集中的含义相同。 参考数字可用于各种 措辞,以帮助显示术语的广度。 从给定的文本中省略参考数字并不一定意味着文本未讨论图的内容。 发明人主张并行使对特定和选择的词典编纂的权利 引用的术语被明确定义,但术语也可以在不使用引号的情况下被隐含地定义。 可以在此处的详细说明和/或申请文件的其他地方明确或隐含地定义术语。 [0170] “计算机系统”(又名“计算系统”)可能包括,例如,一个或多个服务器、主板、处理节点、笔记本电脑、平板电脑、个人电脑(便携式或非便携式)、个人数字助理、智能手机、智能手表、智能手环 、蜂窝或移动电话、至少具有处理器和存储器的其他移动设备、视频游戏系统、增强现实系统、全息投影系统、电视、可穿戴计算系统和/或提供一个或多个处理器控制的其他设备 至少部分是根据指示。 这些指令可以是存储器和/或专用电路中的固件或其他软件的形式。 [0171] “管理员”(或“管理员”)是指通过使用自己帐户的凭据对其他用户的多个帐户具有合法访问权限(直接或间接)的任何用户。 管理员的一些示例包括网络管理员、系统管理员、域管理员、特权用户、服务提供商人员和安全基础设施管理员。 [0172]“多线程”计算机系统是支持多个执行线程的计算机系统。 术语“线程”应该被理解为包括能够或服从调度并且可能服从于同步的代码。 线程也可以在本公开之外被称为另一个名称,例如“任务”、“进程”或“协程”。 然而,这里对线程和进程进行了区分,线程定义了进程内部的执行路径。 此外,进程的线程共享给定的地址空间,而不同的进程具有不同的各自地址空间。 进程的线程可以并行、顺序或并行执行和顺序执行的组合(例如,时间片)运行。 [0173] “处理器”是线程处理单元,例如同步多线程实现中的核心。 处理器包括硬件。 一个给定的芯片可能包含一个或多个处理器。 处理器可以是通用的,也可以是为特定用途定制的,例如矢量处理、图形处理、信号处理、浮点运算处理、加密、VO 处理、机器学习等。 [0174] “内核”包括操作系统、管理程序、虚拟机、BIOS 或 UEFI 代码,以及类似的硬件接口软件。 [0175] “代码”是指处理器指令、数据(包括常量、变量和数据结构),或指令和数据。 “代码”和“软件”在本文中可互换使用。 可执行代码、解释代码和固件是代码的一些示例。 “程序”在本文中广泛使用,包括应用程序、内核、驱动程序、中断处理程序、固件、状态机、库和其他由程序员(也称为开发人员)编写和/或自动生成的代码。 [0176] “例程”是一段可调用的代码,它通常将控制权返回到紧接在调用例程的程序执行点之后的指令。 根据所使用的术语,“函数”和“过程”有时会在其他地方有所区别:函数通常会返回一个值,而过程则不会。 如本文所用,“例程”包括功能和程序。 例程可能包含返回值的代码(例如 sin(x)),或者它可能只是返回而不提供值(例如 void 函数)。 [0177] “服务”是指在云计算环境或其他网络或计算系统环境中提供的可消费程序,它为多个程序提供资源或为多个程序提供资源访问,或两者兼而有之。 [0178] “云”是指用于计算、存储和网络的池化资源,这些资源可弹性地用于按需测量的服务。 云可以是私有云、公共云、社区云或混合云,云服务可以以基础设施即服务 (laaS)、平台即服务 (PaaS)、软件即服务 (SaaS) 或其他形式提供 服务。 除非另有说明,否则任何关于从文件读取或写入文件的讨论都包括读取/写入本地文件或通过网络读取/写入,网络可能是云网络或其他网络,或两者都进行(本地和网络读取/ 写)。 [0179]“物联网”或“物联网”是指可寻址嵌入式计算或数据生成或执行器节点的任何网络集合。 此类节点可以是本文定义的计算机系统的示例,并且可以包括或称为“智能”设备、“端点”、“芯片”、“标签”或“标签”,例如,物联网可以是 被称为“信息物理系统”。 物联网节点和系统通常至少具有以下两个特征:(a) 没有本地人类可读的显示; (b) 没有本地键盘; (c) 输入的主要来源是跟踪从物联网设备上传的非语言数据源的传感器; (d) 无本地旋转磁盘存储——RAM 芯片或 ROM 芯片提供唯一的本地内存; (e) 没有 CD 或 DVD 驱动器; (f) 嵌入家用电器或家用固定装置; (g) 嵌入植入式或可穿戴式医疗设备中; (h) 嵌入车辆; (i) 嵌入过程自动化控制系统; (j) 专注于以下其中一项的设计:环境监测、市政基础设施监测、农业、工业设备监测、能源使用监测、人类或动物健康或健身监测、人身安全、物理运输系统监测、物体跟踪、库存 控制、供应链控制、车队管理或制造。 物联网通信可能使用 TCP/IP、受限应用协议 (CoAP)、消息队列遥测传输 (MQTT)、高级消息队列等协议 协议 (AMQP)、HTTP、HTTPS、传输层安全性 (TLS)、UDP 或简单对象访问协议 (SOAP),例如,用于有线或无线(蜂窝或其他)通信。 物联网存储或执行器或数据输出或控制可能成为未经授权访问的目标,无论是通过云、通过另一个网络,还是通过直接本地访问尝试。 [0180] 对计算资源的“访问”包括使用许可或其他能力来读取、修改、写入、执行、移动、删除、创建或以其他方式利用资源。 尝试访问可以与实际访问明确区分,但是没有“尝试”限定词的“访问”包括尝试访问和实际执行或提供的访问。 [0181] “有保障”只是提供了一定的保障,并不保证保障的有效性。 [0182] 如本文所用,“包括”允许附加元素(即,包括意味着包括),除非另有说明。 [0183] “优化”意味着改进,而不一定是完美。 例如,可以对已经优化的程序或算法进行进一步改进。 [0184] “进程”有时在本文中用作计算科学领域的术语,并且在该技术意义上涵盖计算资源用户,其还可以包括或称为协程、线程、任务、中断处理程序、应用程序进程、内核进程, 例如,过程或对象方法。 实际上,“进程”是由系统实用程序(例如 Windows® 任务管理器、Linux® ps 或其他操作系统环境中的类似实用程序(分别为 Microsoft Corporation、Linus Torvalds 的标记)等系统实用程序标识的计算实体。 “过程”在本文中也用作专利法术语,例如,在描述与系统权利要求或制造品(配置的存储介质)权利要求相对的过程权利要求时。 同样,“方法”在本文中有时用作计算科学领域的技术术语(一种“例程”),也用作专利法术语(“过程”)。 专利法意义上的“过程”和“方法”在本文中可互换使用。 技术人员将理解在特定情况下的含义,并且还将理解给定的要求保护的过程或方法(在专利法意义上)有时可以使用一个或多个过程或方法(在计算科学意义上)来实施 . [0185]“自动”是指通过使用自动化(例如,由软件配置的通用计算硬件以实现本文讨论的特定操作和技术效果),而不是没有自动化。 特别地,“自动”执行的步骤不是通过手在纸上或在人的脑海中执行的,尽管它们可以由人启动或由人交互地引导。 用机器执行自动步骤以获得一个或多个技术效果,如果没有由此提供的技术交互将无法实现。 假定自动执行的步骤包括至少执行的一项操作 主动。 [0186] 技术人员理解技术效果是技术实施例的推定目的。 例如,在一个实施例中涉及计算,并且一些计算也可以在没有技术组件的情况下执行(例如,通过纸和铅笔,或者甚至作为心理步骤)这一事实不会消除技术效果的存在或改变 实施例的具体和技术性质,特别是在现实世界的实施例中。 多租户共享异常分析操作,例如在 RAM 中获取 902 活动数据 202,通过计算识别 904 数据的共享活动子集 304,以及通过计算确定 906 子集 304 是否表示异常共享以及该异常是否表示攻击 404,以及许多 此处教导的其他方法被理解为本质上是数字的并且涉及每秒处理千字节的数据202(在许多实施例中为每秒兆字节)。 人类思维无法直接与 CPU 或其他处理器,或与 RAM 或其他数字存储接口,以读取和写入必要的数据,以充分执行此处教导的攻击活动检测 1000 的多租户共享异常分析步骤。 鉴于本公开,本领域技术人员都将很好地理解这一点。 铅笔和纸,或单靠人的思维,根本无法完成所需的处理。 需要定制的计算能力。 [0187] “计算”同样意味着正在使用计算设备(至少是处理器加内存),并且不包括仅通过人类思想或人类行为获得结果。 例如,用纸和铅笔做算术不是如本文所理解的计算地做算术。 计算结果更快、更广泛、更深入、更准确、更一致、更全面,和/或以其他方式提供超出人类性能范围的技术效果。 “计算步骤”是以计算方式执行的步骤。 “自动”和“计算”都不一定意味着“立即”。 “计算地”和“自动地”在本文中可互换使用。 [0188] “主动”是指没有用户的直接请求。 事实上,用户甚至可能没有意识到实施例的主动步骤是可能的,直到步骤的结果已经被呈现给用户。 除非另有说明,本文描述的任何计算和/或自动步骤也可以主动完成。 [0189] 在本文档中,使用可选的复数“(s)”、“(es)”或“(ies)”表示存在一个或多个指定特征。 例如,“处理器”是指“一个或多个处理器”或等效的“至少一个处理器”。 [0190] 出于美国法律和惯例的目的,在本文、权利要求或其他地方使用“步骤”一词并非旨在援引手段加功能、步骤加功能或 35 美国法典第 112 节第六节 段落/第 112(f) 节要求解释。 对此的任何假设 特此明确反驳效果。 [0191]出于美国法律和惯例的目的,权利要求无意援引手段加功能解释,除非它们使用了“手段”一词。 旨在被解释为手段加功能语言的权利要求语言(如果有)将通过使用短语“手段”来明确地背诵该意图。 当手段加功能解释适用时,无论是通过使用“手段”和/或通过法院对权利要求语言的法律解释,说明书中对给定名词或给定动词所列举的手段都应理解为链接到 权利要求的语言并通过以下任何一项链接在一起:在附图的框图中出现在同一块内,以相同或相似的名称表示,以相同的附图标记表示,以任何方式描述的功能关系 附图的功能关系在本公开文本中注明。 例如,如果权利要求限制引用了“zac widget”,并且该权利要求限制受制于手段加功能解释,那么至少在任何图形块、段落或示例中提及“zac”的说明书中任何地方标识的所有结构 widget”,或通过分配给 zac widget 的任何参考数字联系在一起,或披露为与 zac widget 的结构或操作具有功能关系,将被视为 zac widget 申请中确定的结构的一部分,并将有助于 为 zac 小部件结构定义一组等价物。 [0192] 技术人员将认识到本创新公开讨论了各种数据值和数据结构,并且认识到这些项目驻留在存储器(RAM、磁盘等)中,从而配置存储器。 技术人员还将认识到,本发明公开讨论了在给定实现中将体现在可执行代码中的各种算法步骤,并且此类代码也驻留在内存中,并且它有效地配置了执行它的任何通用处理器, 从而将其从通用处理器转变为功能专用硬件的专用处理器。 [0193] 因此,技术人员不会错误地将 (a) 权利要求中记载的存储器和 (b) 权利要求中记载的数据结构或数据值或代码视为非重叠项目。 数据结构、数据值和代码被理解为驻留在内存中,即使声明没有明确说明每个数据结构或数据值或提到的代码段的驻留情况。 因此,不需要明确说明这种居住情况。 然而,它们也不被禁止,并且可能会出现一两个选择的独奏以强调,而不会因此排除所有其他数据值和数据结构以及驻留代码。 同样,权利要求中记载的代码功能被理解为配置处理器,而不管该配置质量是否在权利要求中明确记载。 [0194] 在整个文档中,除非另有明确说明,否则任何对过程中步骤的引用均假定该步骤可由相关方直接执行和/或间接执行 由一方通过干预机制和/或干预实体,仍然在该步骤的范围内。 也就是说,除非直接执行是明确规定的要求,否则不需要相关方直接执行该步骤。 例如,涉及利益方的行动的步骤,例如分析、应用、确定、归因、评估、计算、捕获、表征、创建、依赖、确定、增强、生成、散列、识别、增加、维护、减轻、 获取、生产、提供、接收、识别、搜索、发送、暂停、跟踪、触发、利用(以及分析、分析、应用、应用等)关于目的地或其他主题可能涉及干预行动,例如 前述或其他方转发、复制、上传、下载、编码、解码、压缩、解压缩、加密、解密、认证、调用等,包括本文档中所述的任何动作,但仍应理解为直接执行 由利益方。 [0195]每当提及数据或说明时,应理解这些项目配置计算机可读存储器和/或计算机可读存储介质,从而将其转化为特定物品,而不是简单地存在于人的脑海中 ,或者仅仅作为在电线上传播的信号,例如。 出于美国专利保护的目的,存储器或其他计算机可读存储介质不是传播信号或载波,也不是美国专利商标局 (USPTO) 解释的可授予专利主题范围之外的单纯能量 In re Nuijten 案。 在美国,没有任何权利要求涵盖信号本身或仅仅是能量,并且鉴于本公开的任何其他主张的权利要求解释从表面上看是不合理的。 除非在美国境外授予的权利要求中另有明确规定,否则权利要求不涵盖信号本身或单纯的能量。 [0196] 此外,尽管本文其他地方有任何明显相反的内容,但在(a)计算机可读存储介质和计算机可读存储器(一方面)和(b)传输介质(也称为信号介质)之间有明确的区别, 另一方面。 传输介质是传播信号或载波计算机可读介质。 相反,计算机可读存储介质和计算机可读存储器不是传播信号或载波的计算机可读介质。 除非权利要求中另有明确说明,否则“计算机可读介质”是指计算机可读存储介质,而不是传播信号本身,也不仅仅是能量。 [0197] 这里的“实施例”是示例。 术语“实施例”不能与“发明”互换。 实施例可以自由地共享或借用方面以创建其他实施例(假设结果是可操作的),即使所产生的方面的组合本身未在本文中明确描述。 要求明确和单独描述每个允许的组合对于本领域技术人员来说是不必要的,并且会违反政策 承认专利说明书是为本领域技术人员编写的。 关于由甚至少量可组合特征产生的可能组合的数量的正式组合计算和非正式的共同直觉也将指示对于本文描述的方面存在大量方面组合。 因此,要求明确叙述每一个组合将违反要求专利说明书简明扼要和要求读者了解相关技术领域的政策。 [0198] 参考数字列表 [0199] 提供以下列表是为了方便和支持附图并作为说明书文本的一部分,其通过参考多项来描述创新。 此处未列出的项目仍然可以是给定实施例的一部分。 为了文本的更好易读性,在文本中引用项目的一些(但不是全部)引用附近引用了给定的参考编号。 相同的参考数字可用于参考给定项目的不同示例或不同实例。 参考数字列表是: [0200] 100 运行环境,也称为计算环境 [0201] 102 计算机系统,也称为“计算系统”或“计算系统”,在网络中时可称为“节点” [0202] 104个用户,例如增强系统402的用户 [0203] 106个外设 [0204] 108 网络通常包括 LAN、WAN、软件定义网络、云和其他有线或无线网络 [0205] 110处理器 [0206] 112 计算机可读存储介质,例如RAM、硬盘; 也广泛称为“内存”,它可以是易失性或非易失性的,或者混合 [0207] 114 可移动配置的计算机可读存储介质 [0208] 处理器可执行的 116 条指令; 可能在可移动存储介质或其他内存中(易失性或非易失性或两者) [0209] 118数据一般 [0210]120 个内核,例如操作系统、BIOS、UEFI、设备驱动程序 [0211] 122 种工具,例如防病毒软件、防火墙、数据包嗅探器软件、入侵检测系统、入侵防御系统、其他网络安全工具、调试器、分析器、编译器、解释器、反编译器、汇编器、反汇编器、源代码编辑器、自动完成软件、模拟器 、模糊器、存储库访问工具、版本控制工具、优化器、协作工具、其他软件开发工具和工具套件(包括集成开发环境)、硬件开发工具和工具套件、诊断等 124 个应用程序,例如文字处理器、网络浏览器、电子表格、游戏、电子邮件工具、命令 [0212] 126个显示屏,也称为“显示屏” [0213] 128 与参考编号 106、108、110、126 130 云没有其他关联的计算硬件,有时也称为云计算环境 [0214] 200 计算环境 100 没有此处教导的创新或其他增强; 这种环境的架构 [0215] 202活动数据; 数字数据118; 表示计算系统102或环境100中的活动; 一些示例包括提供给 SIEM、入侵检测系统或其他安全控制或由其生成的那种数据 [0216] 204客户,例如租户、组织、公司或与服务提供者210有服务协议或服务关系的其他服务接受者; 个人用户 104 不是客户 204,因为至少大部分客户的活动数据 202 被安全机制或架构与同一服务提供商 210 的其他客户(甚至包括管理用户)的活动数据 202 隔离或分开, 但是客户 C 的管理员用户可以访问同一客户 C 的普通用户的活动数据; 客户与服务提供商有直接的服务和法律关系,而大多数(如果不是全部)用户 104 仅通过用户的包围客户与服务提供商有间接关系; SIEM 服务、内部安全人员和有关渗漏的安全策略通常也是基于每个客户而不是每个用户; 客户通常对多个帐户负有责任和权限 [0217] 206 客户本地化分析,例如,基于仅来自一个客户 204 的活动数据执行的攻击检测分析; 也指执行此类分析的软件或硬件或两者 [0218] 208 服务提供商提供的服务 210,例如访问云 130、SaaS、laaS、PaaS、laaS、互联网访问 [0219] 210服务提供商,例如,向客户204提供一项或多项服务208的企业,例如,云服务提供商; 也指服务提供商的数字存在 [0220] 300 环境 100 包括至少一项创新或本文教导的其他改进; 这种环境的架构 [0221] 302多租户共享异常分析,例如,至少部分地基于确定多个客户204的活动共享是否异常而执行的攻击检测分析; 也指执行此类分析的软件或硬件或两者 [0222] 304 共享活动数据,例如,数据 202 表示由多个客户共享的活动 306 客户活动一般在计算环境中; 该活动由活动数据202表示; 将一般活动306与特别是共享活动412进行对比; 活动 306 或 412 在计算系统中由活动数据 202 表示,特别是通常由事件 432 数据结构表示 [0223] 402 计算系统 102 使用本文教导的基于多租户共享异常的攻击检测功能得到增强,例如,使用一个或多个基于共享活动数据 304 的异常 408 评估 502 或 506 或两者,活动检测软件 410,根据图的功能 9 或 10,或本文首次教导的任何其他功能 [0224]404 网络攻击,例如,违反有关访问级别、授权使用、隐私、机密性、可用性或客户 204 计算系统的设计功能的政策或法规或法律 [0225] 406 攻击活动,例如针对多个客户 204 的一组协调攻击 404 [0226] 408 多个客户分享活动异常; 也指异常,包括多个客户的活动共享; 数字表示 [0227] 410活动检测软件,例如,至少执行共享活动子集识别906和共享异常确定906的软件 [0228] 由多个客户204共享的412活动306; 活动是否共享取决于给定情况下的共享参数,例如操作的时间范围以及实体是否必须相同或也可以匹配模式 632,例如,客户 A 和客户 B 可以共享创建帐户的活动 在过去十小时内包含字符串“DVader”的用户名,共享活动由 A 的数据包捕获和 B 的日志条目表示 [0229] 414数据集搜索接口,例如为获取902活动数据而定制的接口428; 可以被定制以仅获取特定活动数据,例如仅特定事件432或仅来自指定时间范围418的数据; 也可以定制以识别 904 共享活动数据 [0230] 418时间段; 也称为时间范围或窗口; 可以是特定的单一时间、相对时间范围(例如,最近的三十分钟、昨天)或绝对时间范围(例如,2021 年 9 月 13 日从 13:00 到 14:00 美国东部时间 标准时间); 数字表示 [0231] 420 此处教导的基于多租户共享异常的攻击检测功能,通常; 也指在执行时执行或提供此类功能的软件或硬件或两者; 一些示例包括活动检测软件410、增强系统402、方法900及其实现、方法1000及其至少包括步骤904和906的实现 [0232] 422 两个或多个客户共享活动; 共享可能是非异常的,或异常但良性的,或异常且无意中对隐私或资源可用性或数据造成危险 完整性或数据机密性,或异常和恶意危险,例如 [0233] 424活动指示器,例如,指示攻击活动406的存在的数据配置; 可以根据找到的数据 202(例如,帐户创建事件)或未找到的数据 202(例如,没有认可供应商的数字签名)或两者来定义配置; 一个指标可能有一个相关的严重性,例如,在几个客户中创建异常管理员帐户可能会收到比在这些客户中创建异常非管理员帐户会收到更高的严重性评级 [0234] 426 攻击活动 406 的足迹,例如,记录的事件、修改的文件、加密的文件、下载的文件、消耗的存储空间、消耗的带宽、消耗的处理周期、由攻击活动引起的系统 102 状态的其他变化 [0235] 428通常与系统102或其部分接口; 可能包括,例如,外壳、图形或其他用户界面、网络地址、API、网络接口卡、端口 [0236] 430 攻击缓解工具,例如防病毒软件、防火墙、数据包嗅探器软件、入侵检测系统、入侵防御系统或其他在执行时降低风险的网络安全工具,例如通过缓解操作 914 [0237] 计算系统中的 432 事件; 也指表示计算系统中事件的数字数据 [0238] 434数据存储神器持有活动数据202 [0239] 436数据集保存特定客户的活动数据202; 可以存储在一个或多个商店434中; 除非另有说明,否则每个数据集436仅保存一个客户204 502超几何概率的活动数据; 数字的; 也指计算超几何概率的软件,以及超几何概率在功能 420 中的使用 [0240] 504 共享活动或数据 202 代表共享活动,不表示攻击活动 [0241] 506共享异常的统计度量; 数字的; 也指计算这种统计量度的软件,以及这种统计量度在功能420中的使用 [0242] 508 事实或正式协议,允许服务提供商或功能 420 服务的其他提供商使用数据 202,否则他们将无法合法访问这些数据 [0243] 510哈希软件; 也指散列软件产生的散列; 可以使用任何熟悉的或以后制定的哈希算法产生 [0244] 512 安全风险,例如,计算系统中数据或资源的机密性、完整性或可用性的风险 102 [0245] 514安全警报; 数字的; 例如,特定安全风险的通知 [0246] 516 安全要求,例如,多因素身份验证要求、访问请求的人工审查和批准、审计、日志记录 518事件登录系统102; 也指数字事件日志 [0247] 520 系统 102 中的事件审计,例如日志的审查 [0248] 系统102中的522账户 [0249] 602实体; 数字的; 根据上下文,指代事件 432 实体类型,或特定实体或特定实体值; 不要与法律实体混淆,例如企业或公司; 例如,在 Microsoft Azure® Sentinel® 环境中,实体类型被定义为表示用户帐户、主机、IP 地址和类似项目(Microsoft Corporation 的标记); 实体也可以称为属性、字段、属性或事件数据结构604用户名的其他部分; 数字表示 [0250] 606 用户名随机化模式,例如识别或生成一组用户名的机制 [0251] 608 网络通信中的用户代理,例如 HTTP 或 HTTPS 通信; 数字表示 [0252] 610 用户代理随机化模式,例如,识别或生成一组用户代理的机制 [0253] 612 过程,在计算意义上与专利法意义上相反 [0254] 614 进程名称; 数字表示 [0255] 616 进程名称随机化模式,例如,识别或生成一组进程名称的机制 [0256] 618文件; 数字存储单元,通常带有名称和文件系统中的位置 [0257] 620 文件名; 数字表示 [0258] 622 文件名随机化模式,例如识别或生成一组文件名的机制 [0259] 624域名; 也可以指域本身; 以数字表示; 可以指信任域或域名系统域或两者 [0260] 626 域名随机化模式,例如识别或生成一组域名的机制 [0261] 628 IP地址; 以数字表示; 可能是 IPv4 或 IPv6 [0262] 630 IP地址子网; 一组 IP 地址的数字表示; 当使用与子网匹配的地址时,可以用作 IP 地址随机化模式 [0263] 一般为632随机化模式; 一些示例在本文中用参考数字606、610、616、622、626、630指代 [0264] 634实体店; 实体 602 和相关标记的数字存储 [0265] 636组实体602; 数字表示 [0266] 702 事件类型; 数字的; 事件 432 的类别,例如帐户创建、进程创建、登录 尝试等 [0267] 706创建账户522; 根据上下文,指计算动作或表示动作的数据202或两者 [0268] 708 fde 618 包含软件的二进制版本或软件使用的资源的二进制版本(例如,数据库表、图像) [0269] 710接收文件618; 根据上下文,指计算动作或表示动作的数据202或两者 [0270]712创建进程612; 根据上下文,指计算动作的结果或表示动作的数据202或两者 [0271] 714接收(receiving)通过网络通信的数据118; 根据上下文,指计算动作或表示动作的数据202或两者 [0272] 716通过网络通信传输(发送)数据118; 根据上下文,指计算动作或表示动作的数据202或两者 [0273] 802 事件计数 432; 数字的 [0274] 804 实体计数 602; 数字的 [0275] 806 客户数 204; 数字的 [0276] 808事件和实体对,例如用户名为DVader的账户创建事件、用户名为DVader的账户登录事件、进程名称为DVader的进程名称创建事件各为不同的一对808; 数字的 [0277] 810 计数对 808; 数字的 [0278] 统计意义上的812人口; 数字表示 [0279] 814 人口规模 812; 数字的 [0280] 统计意义上的 816 个样本; 数字表示 [0281] 818 样品尺寸 816; 数字的 [0282] 820 确定性规则作为异常 408 阈值或其他异常 408 标准运行; 在计算系统中实现 [0283] 822 在统计意义上在样本中发现的命中或成功或匹配的数量; 数字表示 [0284] 824 置信度或值,应用于活动指标; 数字的; 通常较高的置信度意味着该活动更有可能存在 [0285] 826 软件或服务供应商,或其标识,例如姓名或 ID 号; 数字的 [0286] 828 在统计意义上,在人口中发现的命中或成功或匹配的数量; 数字表示 [0287] 900流程图; 900也指攻击活动检测方法说明或一致 与图 9 流程图 [0288] 902通过计算获得多个客户204的活动数据202,即客户C1的活动数据DI、C2的数据D2等,认识到一些活动(虽然不是基础数据202)可以由多个客户共享 ; 可以使用例如文件读取、日志读取、SIEM 通信、数据包嗅探和其他计算机制来完成 [0289] 904在计算上识别共享活动子集304,例如,通过针对特定事件类型或实体值搜索数据集436、计算数据集交集、过滤公共值、比较排序结果、执行数据库查询或其他计算过程906在计算上确定是否 共享是异常的,例如,通过计算找到共享数据的概率的统计度量并将该统计度量与阈值进行比较 [0290] 908 在计算上将共享活动表征为攻击指示器,例如,通过记录 910 确定共享活动是异常的,并且还注意到没有合法性指示器(例如授权供应商 ID)已被识别 1026 作为共享活动的一部分 [0291] 910计算发现共享异常; 也指确定步骤的可能结果——没有发现异常是另一种可能的结果,没有结果(例如,计算错误)是第三种可能的结果 [0292] 912 在计算上将共享活动表征为不是攻击指示器,例如,通过记录 910 共享活动不是异常的确定,或者通过记录诸如授权供应商 ID 之类的合法性指示器已被识别 1026 为共享活动的一部分, 或两者 [0293]914计算减轻攻击,例如,通过执行缓解工具430或其他操作,例如(a)在文本消息、电子邮件、生成的语音消息、打印输出、警报、屏幕显示或其他中报告明显的攻击 与管理员或安全人员或两者的通信,(b) 触发防御,例如,通过进行远程过程调用,或通过向入侵防御系统等工具发送消息、信号或其他数字操作或通信 、防火墙或防渗漏工具,以请求(作为可能的操作或作为命令)触发的工具施加访问限制,(c) 施加访问限制,(d) 锁定帐户,(e) 阻止 位置,例如 IP 地址或设备或地理位置,(f) 在允许访问之前需要额外的身份验证,例如通过短信或电子邮件发送或由身份验证应用程序生成的一次性密码 (OTP),或生物特征凭证,例如 指纹扫描结果、声纹、人脸识别或虹膜扫描结果,或硬件令牌、数字令牌或证书的验证存在,或 (g) 采取此处确定为风险缓解或熟悉的任何其他计算操作 网络攻击风险缓解 916 在计算上评估是否继续监视活动攻击,例如,检查命令或条件以停止监视 [0294] 918 在特定情况下执行活动检测方法的性能级别 [0295] 920 性能等级约束; 约束的满足有助于指示性能水平 [0296] 1000流程图; 1000 还指代图 10 流程图所示或与图 10 流程图一致的攻击活动检测方法(其中包含图 9 的步骤) [0297] 1002计算触发缓解操作914 [0298] 1004通过计算将活动归于客户,例如,通过将活动数据202存储在分配给客户的存储器112中或将活动数据202与客户的数字标识相关联 [0299] 1006计算超几何概率; 由计算系统 102 而非人脑执行 [0300] 1008在计算上利用客户本地化工具,例如,通过执行客户本地化缓解工具430 [0301] 1010通过计算确定随机化模式632的使用,例如,通过(a)将一组实体值馈送到正则表达式生成器并作为响应接收正则表达式,该正则表达式生成(匹配)所有那些实体值而不是指示结果 没有生成匹配的正则表达式(除了一个简单的正则表达式,例如重复值的简单列表),或者通过(b)识别一组实体值共有的根字符串; 给定的实施例可以从可用实体值的适当子集(例如多数子集或包括至少三个实体值的子集)中确定1010随机化模式632的使用,其中根字符串至少具有指定长度,例如 至少四个字符 [0302] 1012计算统计量度506; 由计算系统 102 而非人脑执行 [0303] 1014计算创建账户522; 由计算系统 102 而非人脑执行 [0304] 1016在计算上创建过程612; 由计算系统 102 而非人脑执行 [0305] 1018计算发送数据118; 由计算系统102执行而不是由人类思维1020计算地接收数据118; 由计算系统 102 而非人脑执行 [0306] 1022在多租户共享异常的分析906期间在计算上依赖于事件-实体对的异常分析,例如,通过针对不同的事件-实体对值产生906不同的结果或通过针对不同的不同的软件执行路径来进行 事件实体对值; 由计算系统 102 而非人脑执行 [0307]1024在多租户共享异常的分析906期间在计算上取决于时间段长度,例如,通过针对不同的时间段长度值产生906不同的结果或者通过针对不同的时间段长度值遵循不同的软件执行路径; 由计算系统 102 而非人脑执行 [0308] 1026 在计算上识别授权供应商,例如,通过与授权供应商名称列表进行字符串匹配或通过与授权供应商名称或其他授权供应商标识的散列进行哈希匹配; 由计算系统 102 而非人脑执行 [0309] 1028在多租户共享异常的分析906期间在计算上应用确定性规则820; 由计算系统 102 而非人脑执行 [0310] 1030 事件或实体或事件-实体对的频率; 可以是绝对的或相对的; 数字 1032 提供计算服务; 可能不能仅由人的思维或仅用笔和纸来执行 [0311] 1034计算地从活动数据202产生散列数据; 由计算系统 102 而非人脑执行 [0312] 1036在活动攻击检测方法执行期间,在除客户以外的任何法人的指导下或在其控制下,通过计算避免使用客户的非散列活动数据202; 由计算系统 102 而非人脑执行 [0313] 1038在计算上维护实体存储634,例如,通过在其中包括值或更新值; 由计算系统 102 而非人脑执行 [0314] 1040计算跟踪实体计数随时间的变化; 变化可能是从零到一,或者从 M 到 N,其中 M 和 N 都是正数; 由计算系统 102 而非人脑执行 [0315] 1042在多租户共享异常的分析906期间在计算上利用实体计数随时间的变化; 由计算系统 102 而不是人脑 1044 执行计算捕获活动攻击,该活动攻击被客户本地化检测工具遗漏 1046 ; 捕获1044可以包括例如检测攻击的指示符424并将其表征908为指示符而不是单纯的活动数据202,或者通过触发1002响应攻击; 由计算系统 102 而非人脑执行 [0316] 1046 在计算上错过了一次活动攻击,例如,未能将攻击足迹的任何部分描述为攻击指标,并且未能触发缓解措施以响应攻击 [0317] 1048计算生成安全警报; 由计算系统 102 而非人脑执行 [0318] 1050在计算上增强安全要求516; 增强可能包括 加强现有安全要求 516 或添加或启用先前缺失或禁用的安全要求 516 ; 由计算系统102而不是人脑1052执行计算地增加1052日志记录518或审计520或两者,例如,增加可能影响日志记录或审计存在或频率或细节级别; 由计算系统 102 而非人脑执行 [0319] 1054 以计算方式暂停对帐户的访问,或归因于该帐户的活动,或两者; 由计算系统 102 而非人脑执行 [0320] 1056 本公开中讨论的任何未被分配一些其他参考数字的步骤 [0321] 结论 [0322]简而言之,本文的教导提供了在增强系统402中运行的各种网络攻击活动检测功能。一些实施例通过分析302活动数据202以发现共享来检测针对多个云租户204或其他服务提供商210客户204的1000次网络攻击404活动406 异常 408。在单个租户的活动 306 的上下文中出现 206 良性的数据 202 可以指示 424 攻击 404,当相同或相似的数据 202、304 也被发现 904 用于其他租户 204 时。攻击检测 1000 可以取决于活动时间 帧 418,关于不同租户 204 的某些活动 412 彼此有多相似 632,关于不同租户 204 共享 422 一项活动有多不寻常 408,以及关于其他因素,例如,对指示 424 的信心 824,以及 是否存在使共享活动合法化的解释,例如授权的软件更新。 共享异常分析 302 可以利用 906 超几何概率 502 或其他统计量度 506。使用实体随机化 632 的检测回避尝试被揭示 1010 并被阻止 908。授权供应商 826 可以被识别 1026,提出 912 涉及供应商的活动 304 的异常性 408。 虽然来自多个租户 204 的数据 202 被一起分析 302 以共享异常 408,同时监视 900 攻击 404,租户的机密性和隐私通过技术和法律机制得到尊重,例如,数据协议 508 和数据散列 510。缓解 914 作为响应执行 到攻击指示 424。 [0323] 实施例被理解为本身也包括或受益于经过测试和适当的安全控制和隐私控制,例如通用数据保护条例(GDPR),例如,据了解,应该采取适当的措施来帮助防止通过注入滥用计算系统 或激活恶意软件。 此处教导的工具和技术的使用与此类控件的使用兼容。 [0324] 尽管 Microsoft 技术在一些激励示例中使用,但此处的教导不限于在由 Microsoft 提供或管理的技术中使用。 例如,在适当的许可下,本教导可以体现在其他云提供的软件或服务中 服务供应商。 [0325] 尽管特定实施例在本文中被明确地图示和描述为过程、配置的存储介质或系统,但是应当理解,对一种类型的实施例的讨论通常也扩展到其他实施例类型。 例如,与图 9 和 10 相关的过程描述也有助于描述配置的存储介质,并有助于描述系统和制造商的技术效果和操作,如结合其他图所讨论的那样。 这并不意味着来自一个实施例的限制必然被解读为另一个实施例。 特别是,过程不一定限于在讨论系统或制造(例如配置的存储器)时呈现的数据结构和安排。 [0326] 本领域技术人员将理解,实施细节可能与特定代码有关,例如特定阈值、比较、特定类型的运行时间或编程语言或架构、特定脚本或其他任务以及特定计算环境,因此不必出现在每个实施例中 . 本领域技术人员还将理解,在讨论细节中使用的程序标识符和一些其他术语是特定于实现的,因此不需要适用于每个实施例。 尽管如此,虽然它们不一定需要出现在这里,但这些细节可以通过提供上下文来帮助一些读者和/或可以说明本文所讨论的技术的许多可能实现中的一些。 [0327]适当注意本文提供的项目,包括说明性但不全面的所有要求保护或可要求保护的实施例的技术过程、技术效果、技术机制和技术细节,技术人员将理解本公开和本文描述的实施例是 不针对技术领域之外的主题,或任何关于其本身的想法,例如主要或原始原因或动机,或单纯的结果本身,或心理过程或心理步骤,或商业方法或流行 经济实践,或仅仅是组织人类活动的方法,或自然规律本身,或自然发生的事物或过程,或生物或生物的一部分,或数学公式本身 ,或孤立的软件本身,或仅仅是传统的计算机,或任何完全不可察觉的或任何抽象的想法本身,或无关紧要的解决后活动,或完全在未指定的设备上实施的任何方法,或任何方法 未能产生有用和具体的结果,或对所有使用领域的任何抢占,或根据寻求或正在获得许可的司法管辖区的法律不符合专利保护条件的任何其他主题,或 强制执行。 [0328] 此处对具有某些特征X的实施例的引用和本文别处对具有某些特征Y的实施例的引用不排除具有特征X和特征Y两者的实施例,除非本文明确说明这种排除。 一切皆有可能 消极的权利要求限制在本公开的范围内,在某种意义上,任何被声明为一个实施例的一部分的特征也可以明确地从包含在另一个实施例中去除,即使在本文的任何示例中没有给出该具体排除。 术语“实施例”在本文中仅用作“过程、系统、制造品、配置的计算机可读存储介质和/或以符合适用法律的方式应用的本文教导的其他示例”的更方便形式。 因此,给定的“实施例”可以包括本文公开的特征的任何组合,前提是该实施例与至少一项权利要求一致。 [0329] 并非图中所示的每个项目都需要出现在每个实施例中。 相反,实施例可以包含图中未明确示出的项目。 尽管此处通过特定示例在文本和附图中说明了一些可能性,但是实施例可以背离这些示例。 例如,示例的特定技术效果或技术特征可以被省略、重命名、不同地分组、重复、以不同方式在硬件和/或软件中实例化,或者是出现在两个或更多示例中的效果或特征的混合。 在一些实施例中,也可以在不同位置提供在一个位置显示的功能; 一项技能认识到,功能模块可以在给定的实现中以各种方式定义,而不必从作为一个整体的交互模块集合中忽略所需的技术效果。 由于空间限制或为了方便起见,不同的步骤可以一起显示在图中的单个方框内,但是仍然是可单独执行的,例如,在方法的给定执行中一个可以在没有另一个的情况下执行。 [0330] 通过参考数字对附图进行了参考。 在图中或文本中与给定参考数字相关的措辞中的任何明显不一致,应理解为简单地扩大了该数字所指代的范围。 给定参考数字的不同实例可以指代不同的实施例,即使使用相同的参考数字。 类似地,给定的附图标记可用于指代动词、名词和/或每个的对应实例,例如,处理器110可通过执行它们来处理110指令。 [0331]如本文所用,诸如“a”、“an”和“the”的术语包括一个或多个指示的项目或步骤。 特别地,在权利要求中,对项目的引用通常意味着存在至少一个这样的项目,并且对步骤的引用意味着执行该步骤的至少一个实例。 同样,在上下文允许的情况下,“is”和其他单数动词形式应被理解为包含“are”和其他复数形式的可能性,以避免语法错误或误解。 [0332] 标题仅为方便起见; 有关给定主题的信息可以在该部分之外找到 其标题表示该主题。 [0333] 提交的所有权利要求和摘要都是说明书的一部分。 [0334] 在本文使用的任何术语暗示或以其他方式指代行业标准的范围内,以及在适用法律要求识别此类标准的特定版本的范围内,本公开应理解为指的是该标准的最新版本 根据适用的专利法,自本公开的最早优先权日起至少以草稿形式发表(如果更近,则最终形式优先)。 [0335] 虽然示例性实施例已在附图中示出并在上文中进行了描述,但对于本领域的普通技术人员来说显而易见的是,在不脱离权利要求中阐述的原理和概念的情况下可以进行多种修改,并且这样的修改不需要 包含一个完整的抽象概念。 尽管主题是用特定于结构特征和/或程序动作的语言描述的,但是应当理解,所附权利要求中定义的主题不一定限于权利要求上面描述的特定技术特征或动作。 给定定义或示例中标识的每个手段或方面或技术效果不必在每个实施例中存在或使用。 相反,所描述的具体特征和行为和效果是作为实施权利要求时考虑的例子公开的。 [0336] 所有未涵盖整个抽象思想但在权利要求等同的含义和范围内的变化,都应在法律允许的最大范围内包含在权利要求的范围内。
现在,一起体验智慧芽的产品和服务
自动注册,无需人工审核,即可立即开始查询专利
立即注册
澳门正版图库

AI助手