CN115427954A - 基于调查历史的安全警报事件分组 - Google Patents
基于调查历史的安全警报事件分组 Download PDFInfo
- Publication number
- CN115427954A CN115427954A CN202180028861.9A CN202180028861A CN115427954A CN 115427954 A CN115427954 A CN 115427954A CN 202180028861 A CN202180028861 A CN 202180028861A CN 115427954 A CN115427954 A CN 115427954A
- Authority
- CN
- China
- Prior art keywords
- event
- alarm
- data
- events
- grouping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Alarm Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
技术使用有关早期分组的数据自动将安全警报分组到事件中。使用关于过去警报事件分组操作的选定数据训练机器学习模型。训练良好的模型通过快速准确地将警报与事件分组来确定新警报的优先级并帮助警报调查。这些分组直接被提供给分析方或馈送安全信息和事件管理工具。训练数据可以包括实体标识符、警报标识符、事件标识符、动作指示器、动作时间和可选的事件分类。提供给分析方但未执行的调查选项可用作训练数据。训练模型生成的事件更新可向事件添加警报、去除警报、合并两个事件、划分事件或创建事件。个性化事件更新可基于特定分析方的历史手动调查动作。分组警报可以是标准的,也可以基于自定义警报触发规则。
Description
背景技术
对计算系统的攻击有许多不同的形式,包括一些难以预测的形式,以及从一种情况到另一种情况可能有很大差异的形式。但是,在特定情况下,可以使用多种硬件和软件工具来提高网络安全性。检测工具可以检测异常、违反规则、意外行为以及安全分析方可以调查的其他事件或情况。许多设备和一些定制工具提供取证数据,诸如通过维护有助于跟踪潜在或可能感兴趣的事件的记录。一些工具通过整合来自多个源的事件、基于时间码关联事件以及提供对事件进行排序或过滤的计算功能来帮助调查计算系统中的事件。一些工具可帮助分析方或其他安全人员处理事件,其中可以包括调查工作以及尝试限制攻击范围并减少或修复攻击造成的损害的步骤。
然而,攻击者继续创建新类型的攻击并提高已知攻击类别的有效性。因此,扩展或利用现有网络安全工具和技术功能的技术进步也将有所帮助。
发明内容
了解安全警报如何彼此相关或不相关,可以极大地促进对可能的网络攻击的调查。本文档中描述的一些实施例提供了用于通过利用关于更早分组的数据将安全警报自动分组到事件中的改进技术。机器学习模型使用精心挑选的有关过去警报事件分组动作的训练数据被训练。然后将新警报馈送到模型,该模型通过将它们与现有事件或新事件分组或不分组来确定它们的优先级。这些分组可以直接提供给分析方,也可以馈送到安全信息和事件管理工具(SIEM)中。
一些实施例使用或提供警报事件分组硬件和软件组合,其包括数字存储器和与存储器可操作地通信的处理器。处理器例如通过定制软件被配置为执行机器学习模型训练的特定步骤。这些步骤包括(a)收集分析方执行的警报事件分组动作的一组数字表示,每个表示包括实体标识符、警报标识符、事件标识符、动作指示器和动作时间,以及(b)将组的至少一部分提交给机器学习模型作为训练数据,用于训练机器学习模型以预测不在组的提交的部分中的警报事件分组动作。
一些实施例使用或提供用于训练机器学习模型以基于历史分组动作预测性地将网络安全警报与网络安全事件分组的步骤。这些步骤可以包括收集警报事件分组动作的一组数字表示,并将该组的至少一部分作为训练数据提交给机器学习模型,用于训练机器学习模型以预测不在组的提交的部分中的警报事件分组动作。例如,每个表示可以包括实体标识符、警报标识符、事件标识符、事件分类、动作指示符和动作时间。
一些实施例使用或提供配置有数据和指令的计算机可读存储介质,或使用其他计算项,其在由处理器执行时使计算系统执行警报事件分组方法。特别地,一些实施例使用训练的机器学习模型来基于历史分组动作预测性将网络安全警报与网络安全事件地分组。警报事件分组方法包括:获取警报、将警报发送到训练的机器学习模型,以及从训练的模型接收事件更新以响应发送。该模型使用训练数据被训练,所述训练数据包括由一个或多个人执行的警报事件分组操作的一组数字表示,而不是基于规则数据结构的分组,每个表示包括实体标识符、警报标识符、事件标识符、事件分类、动作指示符和动作时间。例如,事件更新可以包括将警报与事件分组的警报事件分组、标识通过合并两个事件创建的事件的事件合并、或标识通过划分事件创建的至少两个事件的事件划分。
与本文教导有关的其他技术活动和特征对于本领域技术人员也将变得显而易见。给出的示例仅仅是说明性的。本发明内容并非旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。相反,本发明内容旨在以简化的形式介绍一些将在下面的详细描述中进一步描述的技术概念。创新是通过正确理解的权利要求被定义的,并且在本发明内容与权利要求相冲突的范围内,应以权利要求为准。
附图说明
将参照附图给出更具体的描述。这些附图仅说明了选定的方面,因此并未完全确定覆盖或范围。
图1是概括地说明了计算机系统并且也概括地说明了配置的存储介质的框图;
图2是说明配备警报事件分组功能的计算系统以及周围环境的一些方面的框图;
图3是说明配置有警报事件分组功能的增强型计算系统的框图;
图4是说明警报事件分组动作数字表示的一些方面的框图;
图5是说明可以是安全警报的一部分的实体的一些示例的框图;
图6是说明训练数据源的一些示例的框图;
图7是为自动警报事件分组而配备的示例系统的数据流架构图;
图8是说明网络安全警报调查图的示例的示图;
图9是说明一些警报事件分组模型训练方法中的步骤的流程图;
图10是说明一些警报事件分组训练模型使用方法中的步骤的流程图;并且
图11是进一步说明一些警报事件分组模型训练或训练模型使用方法中的步骤的流程图。
具体实施方式
概述
创新可能会超越其起源,但了解创新的起源可以帮助人们更充分地理解创新。在本案例中,本文所述的一些教导是受微软创新者所面临的技术挑战推动的,他们致力于提高微软网络安全产品的可用性、效率和有效性,包括某些安全信息和事件管理(SIEM)产品的版本(微软公司的标志)。
特别地,由于SIEM可用的警报数量众多、种类繁多且非常复杂,技术挑战是如何自动将相关警报与事件分组,以帮助安全分析方进行调查。将相关警报正确分组到单个事件或单个案例可以是富有成效的调查工作和令人沮丧的调查工作之间的区别。
顺便说一句,在某些情况下,事件和案例之间可能会有区别,因为一个案例可以有多个事件。但是本文的教导有益地适用于将警报分组到事件中以及将警报分组到案例中,因此“警报-事件分组”适用于分组的两个示例,除非另有说明。也就是说,除非另有说明,否则“案例”可以代替本段之外的“事件”。
一些调查会根据杀伤链步骤或其他确定性规则生成事件。即使有确定性规则的指导,调查安全警报也可以是一项令人筋疲力尽的工作,成功与不成功的调查之间的区别可能在于SIEM能够以足够的准确性呈现相关警报。
相比之下,本文描述的一些实施例基于客户的历史手动调查动作提供个性化事件生成。一些实施例针对每个客户以及每个客户的特定自定义数据执行自动事件创建或修改。一些实施例允许用户为各种数据和警报创建事件,包括自定义数据和自定义警报。例如,一个实施例可以从组织的安全分析方进行的先前调查中学习用户动作,并使用该知识基于警报与学习的先前分组动作的关系,对事件的新到达警报进行分组。
本文的教导也解决了其他技术挑战。例如,本文解决的一些挑战是如何选择有效的训练数据,如何将学习能力从调查扩展到事件处理,在机器学习模型中使用哪些算法,以及如何将模型输出与现有的网络安全基础设施集成,等。技术人员将认识到这些和其他技术挑战,因为它们在本公开的各个点处被解决。
本文还描述了这些实施例的其他方面以及其他警报事件分组增强实施例。
操作环境
参照图1,一个实施例的操作环境100包括至少一个计算机系统102。计算机系统102可以是或不是多处理器计算机系统。操作环境可以包括给定计算机系统中的一台或多台机器,其可以是集群的、客户端-服务器联网的和/或云内的对等联网的。单个机器是计算机系统,网络或其他协作机器组也是计算机系统。给定的计算机系统102可以被配置用于最终用户,例如,具有应用、用于管理员、作为服务器、作为分布式处理节点和/或以其他方式。
人类用户104可以通过使用显示器、键盘和其他外围设备106、经由键入的文本、触摸、语音、移动、计算机视觉、姿势和/或其他形式的I/O与计算机系统102交互。屏幕126可以是可移动外围设备106或者可以是系统102的组成部分。用户界面可以支持实施例与一个或多个人类用户之间的交互。用户界面可以包括命令行界面、图形用户界面(GUI)、自然用户界面(NUI)、语音命令界面和/或其他用户界面(UI)呈现,它们可以作为不同的选项呈现或者可以是融合的。
系统管理员、网络管理员、云管理员、安全分析方和其他安全人员、操作人员、开发人员、测试人员、工程师、审计员和最终用户每个都是特定类型的用户104。自动化代理、脚本、回放软件、设备、代表一个或多个人行事的等也可以是用户104,例如,以便于测试系统102。存储设备和/或网络设备在一些实施例中可以被认为是外围设备,而在其他实施例中可以被认为是系统102的一部分,这取决于他们与处理器110的可分离性。图1中未示出的其他计算机系统可以与计算机系统102或与使用一个或多个经由网络接口设备连接到网络108的另一系统实施例以技术方式交互。
每个计算机系统102包括至少一个处理器110。与其他合适的系统一样,计算机系统102也包括一个或多个计算机可读存储介质112。存储介质112可以是不同的物理类型。存储介质112可以是易失性存储器、非易失性存储器、原位固定介质、可移动介质、磁介质、光学介质、固态介质和/或其他类型的物理耐用存储介质(而不仅仅是一个传播的信号或仅仅是能量)。特别地,诸如便携式(即,外部)硬盘驱动器、CD、DVD、记忆棒或其他可移动非易失性存储介质的配置存储介质114在插入或以其他方式安装时可以在功能上成为计算机系统的技术部分,使其内容可访问以与处理器110交互和使用。可移动配置存储介质114是计算机可读存储介质112的示例。计算机可读存储介质112的一些其他示例包括内置RAM、ROM、硬盘和其他不易被用户去除的存储器存储设备104。为了符合当前的美国专利要求,计算机可读介质、计算机可读存储介质和计算机可读存储器都不是信号本身,也不只是在美国待审或批准的任何权利要求下的能量。
存储介质114配置有可由处理器110执行的二进制指令116;例如,“可执行文件”在本文中广义上用于包括机器代码、可解释代码、字节码和/或在虚拟机上运行的代码。存储介质114还配置有数据118,该数据118通过执行指令116而被创建、修改、引用和/或以其他方式用于技术效果。指令116和数据118配置他们所在的存储器或其他存储介质114;当该存储器或其他计算机可读存储介质是给定计算机系统的功能部分时,指令116和数据118也配置该计算机系统。在一些实施例中,数据118的一部分代表真实世界的项目,诸如产品特性、库存、物理测量、设置、图像、读数、目标、体积等。此类数据还通过备份、恢复、提交、中止、重新格式化和/或其他技术操作进行转换。
尽管实施例可以被描述为被实现为由计算设备(例如,通用计算机、服务器或集群)中的一个或多个处理器执行的软件指令,但这样的描述并不意味着穷举所有可能的实施例。本领域技术人员将理解,相同或相似的功能通常也可以全部或部分地直接在硬件逻辑中实现,以提供相同或相似的技术效果。备选地,或除了软件实现之外,本文描述的技术功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如,并且在不排除其他实现的情况下,实施例可以包括硬件逻辑组件110、128,诸如现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统组件(SOC)、复杂可编程逻辑器件(CPLD)和类似组件。例如,实施例的组件可以基于它们的输入、输出和/或它们的技术效果被分组为交互功能模块。
除了处理器110(例如CPU、ALU、FPU、TPU和/或GPU)、存储器/存储介质112和显示器126之外,操作环境还可以包括其他硬件128,例如,诸如电池、总线、电源、有线和无线网络接口卡。名词“屏幕”和“显示器”在本文中可互换使用。显示器126可以包括一个或多个触摸屏、响应来自笔或平板电脑的输入的屏幕、或仅用于输出的屏幕。在一些实施例中,诸如人类用户I/O设备(屏幕、键盘、鼠标、平板电脑、麦克风、扬声器、运动传感器等)的外围设备106将与一个或多个处理器110和存储器进行可操作通信。
在一些实施例中,系统包括通过有线和/或无线网络108连接的多台计算机。网络接口设备128可以使用诸如分组交换网络接口卡、无线收发器或电话网络接口的网络组件来提供对网络108的访问。例如,该网络组件可以存在于给定的计算机系统中。网络接口设备和其他网络组件(例如交换机或路由器或防火墙)的虚拟化也可以存在于例如软件定义网络或沙盒或其他安全云计算环境中。在一些实施例中,一台或多台计算机由于与另一联网设备或远程云或企业网络断开连接或仅间歇性地连接而部分或完全“气隙化”。特别是,警报事件分组功能可以安装在气隙网络上,然后定期或有时使用可移动媒体进行更新。给定实施例还可以通过直接存储器访问、可移动非易失性存储介质或其他信息存储-检索和/或传输方法来传达技术数据和/或技术指令。
本领域技术人员将理解,本文在“操作环境”下呈现的前述方面和其他方面可以形成给定实施例的一部分。本文档的标题并非旨在将特征严格分类为实施例和非实施例特征集。
一个或多个项目在图中以轮廓形式示出,或在括号中列出,以强调它们不一定是所示操作环境或所有实施例的一部分,但可以与操作环境中的项目或本文讨论的一些实施例互操作。在任何附图或任何实施例中,并非必须要求非轮廓或括号形式的项目。特别地,图1是为了方便而提供的;图1中包含一个项目并不意味着该项目或该项目的描述用途在当前创新之前是已知的。
更多关于系统
图2图示了具有包括警报事件分组功能204的增强系统202、102的环境。特别地,图示的系统包括机器学习模型206,该模型至少部分地在训练数据208上进行训练,训练数据208包括警报事件分组动作210的示例。训练数据208包括(或源自,或两者)分析方分组动作210的数字表示212,这些动作是由人工或自动分析方在警报214和事件216之间创建、修改或删除分组的操作。
图6中图示了训练数据源600的一些示例。图8中图示了一个特定源的实例——调查图602。该图包括作为实体402的图形表示的节点800以及表示诸如实体属性和时间戳的细节416的数据118。在图8的示例中,一些节点800、802表示异常,例如时间序列异常,而其他节点800、804表示设备102,诸如由它们的IP地址510标记的网络接口。异常可以对应于警报。在一些实施例中,警报214和实体402被表示为调查图602中的节点800。例如,如果警报指示从机器X指向IP地址1.2.3.4的可疑活动,则这将被转换为调查图602中的三个节点:警报节点、IP地址1.2.3.4节点、机器X节点。其他图602可以为警报调查提供不同的取证数据,或者可以使用它们关于警报214的取证数据的不同图形表示,或者可以两者都做。
为方便起见,“节点”和“实体”可互换使用,但应理解任一术语的用法可指代显示器126上的图形表示,或可指代仅在节点展开后显示与该图形表示相关联的数据结构细节416,或指代两者,具体取决于上下文。术语的类似双重使用不会对本领域技术人员造成歧义。当指代视觉表示和/或当指代与该视觉表示相关联的数据(不一定也可视化)时,技术人员可以使用单个术语。例如,“文件”可以指代表示文件504的图形图标表示,指代存储在文件内的数据118,或指代两者。
增强系统202的一些备选实施例包括训练模型206但不包括训练数据208。在训练模型功能206的操作期间,特定警报214被馈送到增强系统202中,并且训练模型206输出动作预测218,其预测分析方220例如在潜在攻击者222的活动调查期间将如何分组(或不分组)特定警报。
图3图示了增强型系统202,其配置有用于执行警报事件分组302以调查或处理潜在或实际网络攻击300的功能204。攻击者222通常位于例如由防火墙定义的网络108边界之外。但是本文的教导也可以有利地应用于执行由内部攻击者222实施的攻击300的警报事件分组302。类似地,系统202可以与单独定位的网络安全中心(未示出)通信,而在其他环境中,增强的系统202驻留在网络安全中心内,而在另外一些情况下,增强的系统202在没有任何网络安全中心本身的情况下运行。
系统202可以通过一个或多个接口306与SIEM 304和其他设备通用联网或具体地(经由网络或其他方式)通信。接口306可以包括诸如网络接口卡的硬件、诸如网络堆栈的软件、API,或套接字,诸如网络连接的组合项,或它们的组合。
图示系统202包括警报事件分组软件308以执行计算,该计算可包括模型206训练(可能具有指定的数据子集312)、模型使用以生成预测218(可能具有相关联的置信级别310)或训练和预测两者。例如,软件308可以执行图9至图11中的一个或多个所示的方法1100。
在一些实施例中,警报事件分组模型206不仅基于分析方做了什么而且基于分析方本可以做但选择不做的事情被训练。因此,在一些实施例中,模型训练数据208(无论是否存在于特定系统202上)包括表示由人类分析方220做出的选择的选择元组314。分析方可能已经在工具用户界面中呈现出警报和具有几个可能与警报相关的实体214。当分析方采取特定的分组动作210时,分析方可用于扩展(也称为“打开”、“向下钻入”)的实体可以对应地包括当前打开的实体表示316(当前实体316)、零个或多个实体,其被呈现给分析方但截至特定动作210时分析方尚未打开(可选实体318),并且零个或多个实体呈现给分析方并且由分析方在特定动作210时打开(已选实体320)。当前实体316、可选实体318和已选实体320都是选择元组组件322的示例。
图4图示了警报事件分组动作表示212的几个示例。这些项目在本文的各个点处进行讨论,并且关于它们的附加细节在本公开文档后面的参考数字列表的讨论中被提供。
图5示出了可以涉及警报214的实体402的一些示例。这些项目在本文的各个点处进行讨论,并且关于它们的附加细节在本公开文档稍后的参考数字列表的讨论中被提供。
图6示出了训练数据208的源600的一些示例,应理解,在提交训练数据用于在训练模型206中使用之前,可以例如在数据科学家的监督下应用清理、过滤、矢量化、归一化或其他数据处理。这些项目在本文的各个点进行讨论,并且关于它们的附加细节在本公开文件稍后的参考数字列表的讨论中提供。
一些实施例使用或提供功能增强的系统,诸如如本文教导的系统202或被增强的另一系统102。在一些实施例中,配置用于训练机器学习模型206以基于历史分组动作210预测性地将网络安全警报214与网络安全事件216分组的系统包括数字存储器112和与存储器可操作地通信的处理器110。处理器110被配置为执行机器学习模型训练步骤。这些步骤包括(a)收集由分析方220执行的警报事件分组动作210的一组数字表示212,每个表示包括实体标识符412、警报标识符414、事件标识符418、动作指示符422和动作时间424,以及(b)将该组数字表示212的至少一部分提交给机器学习模型206作为训练数据208,用于训练机器学习模型以预测(输出…的预测218)不在组的已提交部分中的警报事件分组动作。在这些实施例中,最小训练数据元组是<实体、警报、事件、动作、动作时间>。
在一些变体中,附加的元组组件存在于训练数据(例如事件分类420)中或存在于可用但未打开的实体318中,或两者兼而有之。因此,在一些实施例中,警报事件分组动作的数字表示212还包括事件分类420。
在一些实施例中,训练数据中的实体标识符412标识以下实体中的至少N种:账户502、恶意软件506、进程508、文件504、文件哈希512、注册表项514、注册表值520、网络连接518、IP地址510、主机522、主机登录会话524、应用124、云应用530、域名526、云资源528、安全组532、统一资源定位符534、邮箱516、邮箱集群540、邮件消息538、网络实体542、云实体536、计算设备102或物联网设备544。根据实施例,N可以是一、二、三、四、五、六、七、八、九或更大的值,达到和包括本段中列出的实体示例总数。
在一些实施例中,动作指示符422指示分析方220采取了以下警报事件分组动作210中的至少一个:向事件添加404警报、从事件中去除406警报、将至少两个事件合并408到单个事件中、或将一个事件划分410成至少两个事件。合并408和划分410可以包括对事件标识符或事件分类重命名或做出其他改变。例如,良性事件A可以在与被分类为恶意的事件B合并时被重新分类为恶意,从而形成恶意事件AB。同样,通过划分恶意事件创建的单个事件仍可被归类为恶意事件,或者被划分的事件可被重新归类为良性或假阳性。
一些实施例使用数据208来训练模型206,该数据208表示分析方220可能已经做出但没有做出的警报事件分组。在一些中,训练数据208包括具有组件322的元组314,组件322包括当前实体316标识符412、可选实体318标识符412和选择实体320标识符412。在其中一些中,可选实体标识符标识被呈现给分析方220可用于钻入以检查其中的细节416是否会影响警报事件分组但分析方没有选择的实体402。
在一些实施例中,动作指示符422指示由行动方910在动作时间424执行的动作210。在一些,增强系统202被配置为使用以下训练数据中的至少一个来训练机器学习模型206子集312:至少部分地由对动作时间的限制908定义的数据子集、至少部分地由行动方执动作作的限制912定义的数据子集、至少部分地由云租户914对其执行或授权动作的限制916定义的数据子集、至少部分由客户918对其执行或授权动作的限制920定义的数据子集、或至少部分由执行操作的计算环境100的限制922定义的数据子集(例如,哪个部门、哪个子网、哪个地理位置或其他环境分隔符)。
本文还描述了其他系统实施例,或直接或可派生为所述过程或配置介质的系统版本,根据本文对计算硬件的广泛讨论适当地予以说明。特别地,在讨论了一些过程和配置介质实施例之后,下文详细讨论了图7所示的示例架构。
尽管在附图中示出了具体的架构示例,但实施例可以偏离这些示例。例如,不同图中所示的项目可以一起包括在实施例中,图中所示的项目可以被省略,不同项目中所示的功能可以组合成更少的项目或单个项目,项目可以被重命名,或者项目可以以不同的方式相互连接。
在本公开中提供示例以帮助说明技术的各个方面,但是在本文档中给出的示例并未描述所有可能的实施例。例如,给定实施例可以包括附加的或不同的技术特征、机制、序列、数据结构或功能,并且可以以其他方式偏离本文提供的示例。
过程(又名方法)
图9和图10分别示出了一系列方法,900和1000,它们可以由增强系统执行或辅助,诸如本文教导的系统202或另一功能204增强系统。图11进一步说明了适合在具有本文教导的创新功能的系统的操作期间使用的警报事件分组方法(其也可以在该词的法律意义上被称为“过程”)。图11包括图9或图10中所示步骤的一些改进、补充或上下文动作。图11还包含图9或图10中所示的所有步骤。
除非另有说明,否则附图中所示或以其他方式公开的技术过程将自动执行,例如,由增强系统202或其软件组件执行。过程也可以部分地自动地和部分地手动地执行到涉及人类的活动的程度,例如,在一些实施例中,人类分析方220可以例如出于隐私考虑手动地打开或关闭随后由分析方采取的分组动作210的记录604,从而对哪些数据118可用作训练数据208进行一些控制。但是这里设想为创新的过程不完全是手动的。
在给定实施例中,可以重复过程的零个或多个图示步骤,可能使用不同的参数或数据进行操作。实施例中的步骤也可以按照与图9-11中从上到下的顺序不同的顺序进行。步骤可以串行地、以部分重叠的方式或完全并行执行。特别地,遍历流程图900、流程图1000或流程图1100操作项以指示在过程期间执行的步骤的顺序可以从过程的一个执行到该过程的另一个执行而变化。流程图遍历顺序也可以从一个过程实施例到另一个过程实施例变化。步骤也可以被省略、组合、重命名、重新组合、在一台或多台机器上执行,或者以其他方式偏离所示流,只要执行的过程是可操作的并且符合至少一项权利要求。
一些实施例使用或提供用于训练机器学习模型206以基于历史分组动作210预测性地将网络安全警报214与网络安全事件216分组的方法,包括以下自动步骤:收集904警报事件分组动作的一组数字表示212,每个表示包括实体标识符412、警报标识符414、事件标识符418、事件分类420、动作指示器422和动作时间424;以及将组的至少一部分提交928到机器学习模型作为训练数据208,用于训练902机器学习模型以预测1136不在组的提交部分中的警报事件分组动作。在一些变体中,事件分类420数据不是训练数据208的一部分。
一些实施例仅训练902,一些实施例训练902模型并且还使用1136它,而一些实施例仅使用1136训练的机器学习模型。特别地,在一些实施例中,该方法还包括使用1136训练的机器学习模型来预测性地将警报与事件分组。
一些实施例适用于通过执行1102链路预测算法702来进行训练,即,具有在执行时执行链路预测704的指令116和数据118的算法实现。本领域技术人员理解链路预测704可以用根据任何一项的软件来实现一个或多个通常被称为“链路预测算法”的一族算法。一些链路预测算法702已经应用在诸如社交网络的场景中,其中目标是推荐两个用户之间的新友谊链路,但是借助微软创新者提供的洞察力的好处,这种算法702可以由符合本文教导的技能之一适应,以将一个或多个警报214与一个或多个事件216预测1136地组合在一起。
在一些实施例中,链路预测算法702在模型训练902阶段期间并且然后在评估1136阶段期间执行训练模型。在训练阶段期间,链路预测模型206在包含警报节点800的调查图602的使用记录604上被训练。然后,在评估阶段期间,链路预测模型206可以在给定子图时预测1136下一个相关警报606包含相关的302警报。特别地,在一些实施例中,使用1136训练的机器学习模型包括执行1102链路预测算法702。
在一些实施例中,收集904该组警报事件分组动作的数字表示包括从以下至少一项收集数据:调查图602、调查数据结构606、至少一个人类用户104、220在调查警报时采取的调查动作的记录604、事件处理数据结构610或至少一个人类用户104、220在处理事件时采取的事件处理动作的记录608。此外,在某些情况下,“事件管理”、“事件处理”和“事件响应”之间可以存在区别。但为了应用本文提供的教义,这些短语可以被适当地视为所有含义相同的事物,即设计或用于标识、理解、限制或补救网络安全事件的任何工具、信息或程序。
在一些实施例中,训练902基于关于人们做出的选择的数据,而不是基于预定义规则的分组302。特别地,在一些收集904包括从人类用户活动210的记录604、608收集数据,该人类用户活动210将警报214与事件216分组。
在一些实施例中,训练902基于涉及通过自定义规则1110生成的警报的数据,包括例如由分析方220编写的规则1110,分析方220的动作210在训练数据208中使用。这是实施例如何对于所涉及的警报214的种类不可知的示例。特别地,在一些实施例中,收集904包括收集1106来自活动210的数据,该活动210响应1108基于自定义规则1110的警报214。
在一些实施例中,警报的一些细节416可以不用作训练数据208的一部分。这是实施例如何可以不知道所涉及的警报214的种类的另一个示例。特别地,在一些实施例中,提交928避免1116提交任何以下警报细节数据416作为训练数据208:警报提供方名称、警报供应方名称、警报严重性或哪个规则触发警报的标识。更一般地,在给定实施例中,可以从训练数据208中省略1116根据本文的教导没有具体包括在训练数据208中的任何实体属性值或其他实体细节416。
在一些实施例中,训练902可以基于隐式地或显式地或两者将警报与事件分组的数据。显式分组302发生在分析方提供命令或以其他方式采取明确标识警报和事件的动作210时,例如,由诸如“将警报789添加到事件foo”或“从事件栏删除警报456”的描述表示的动作”。隐式分组302发生在分析方提供命令或以其他方式采取未明确标识警报和事件的动作210时,例如,由诸如“创建事件foo”的描述表示的动作序列。选择警报12、34和78;添加”或通过诸如“合并事件foo和栏”的描述。除非列举了“显式”分组或“隐式”分组,否则实施例所涉及的分组302可以是隐式的或显式的或两者。
特别地,当收集904包括收集1118与警报214与事件216隐式分组的活动相对应的数据时,训练可以基于将警报与事件隐式分组的数据。备选地,在一些实施例中,机器学习模型已经用训练数据208被训练902,训练数据208包括警报事件分组动作的一组数字表示212,这些动作对应于警报214被人220明确地与事件216分组的活动。
关于训练模型的使用,一些实施例包括向训练机器学习模型输入1124标识事件的事件标识符418,以及从训练模型接收1006警报标识符414,该警报标识符414标识先前未与事件分组的警报。
配置的存储介质
一些实施例包括配置的计算机可读存储介质112。存储介质112可以包括磁盘(磁、光或其他)、RAM、EEPROMS或其他ROM,和/或其他可配置存储器,尤其包括计算机可读存储介质(这不仅仅是传播的信号)。所配置的存储介质具体可以是可移动存储介质114,诸如CD、DVD或闪存。可以以数据118和指令116的形式使用诸如训练数据208、特定训练数据子集312、选择元组314、警报214、事件216、分组动作表示212、警报事件分组软件308和分组更新218、310、1008,从可移动存储介质114和/或诸如网络连接的另一源读取,以形成配置的存储介质。如本文所公开的,配置的存储介质112能够使计算机系统102执行用于警报事件分组302的技术处理步骤。因此,这些图有助于说明配置的存储介质实施例和过程(也称为方法)实施例,以及系统和过程实施例。特别地,图9-图11中所示的任何过程步骤或在此以其他方式教授的步骤可用于帮助配置存储介质以形成配置的存储介质实施例。
一些实施例专注于使用训练的模型(也称为“评估阶段”),其他实施例专注于训练模型(“训练阶段”),而一些则两者都做。方法实施例和存储介质实施例可以专注于训练或评估或训练或包括两者,而不管本文标题下的特定示例实施例是否仅属于这些阶段之一。
一些实施例使用或提供配置有数据118和指令116的计算机可读存储介质112、114,所述数据118和指令116在由至少一个处理器110执行时使计算系统执行用于使用训练的机器学习模型基于历史分组操作将网络安全警报与网络安全事件进行预测性分组。该方法包括:得到1002警报;将警报发送1004到过训练的机器学习模型206,该模型已经用训练数据208进行了训练902,训练数据208包括由一个或多个人执行的警报事件分组动作210的一组数字表示212,而不是基于规则数据结构进行分组,每个表示包括实体标识符、警报标识符、事件标识符、事件分类、动作指示符和动作时间;并且响应于发送从训练模型接收1006以下事件更新1008中的至少一个:将警报与事件分组的警报事件分组302,标识通过合并两个事件创建的事件的事件合并408或标识通过划分事件创建的至少两个事件的事件划分410。一些实施例将事件更新1008传送1010到安全信息和事件管理工具304。
在一些实施例中,机器学习模型已经用训练数据被训练902,该训练数据包括警报事件分组动作的一组数字表示212,该动作对应于警报被明确地与人的事件分组1128的活动。在其他情况下,训练数据表示隐式分组1120。
一些实施例适用于生产用途,例如,在企业、机构、代理或其他专业环境中。在一些中,增强的计算系统202以每分钟至少2500次事件更新的性能级别1132执行1130该方法。在一些中,性能级别是每分钟至少25000次事件更新,并且设想每分钟至少250000次事件更新的性能级别1132是可行的。即使是最低的这些性能级别可以是在给定环境中使安全调查可行的要求。技术人员将承认即使是最低的这些性能级别不在纯粹的心理活动范围内,而是需要增强的计算系统202。
在一些实施例中,置信级别310是模型输出的一部分。特别地,在一些事件更新1008中包括与警报事件分组302或事件合并408或事件划分410相关联的置信级别310,这也是事件更新1008的一部分。
附加示例和观察
本领域技术人员将认识到,并非本公开的每个部分或其中的任何特定细节都必须满足法律标准,诸如启用、书面描述或最佳模式。与任何其他专利公开的任何明显冲突,即使来自本发明的所有者,在解释本专利公开中提出的权利要求时也没有任何作用。根据与本公开的所有部分有关的这种理解,提供了一些附加的示例和观察。
一些实施例使用或提供基于手动事件管理和调查的个性化安全警报分组。安全信息和事件管理(SIEM)系统304摄取安全警报和事件。由于警报的高容量、多样性和复杂性,调查1104这些警报可以是一项令人筋疲力尽的工作。可以期望SIEM系统收集和分组与案例或事件相关的警报,以帮助安全分析方220进行调查过程。将相关警报正确分组到单个案例或事件可以是富有成效的调查工作和令人沮丧的调查工作之间的区别。然而,一些方法仅基于杀伤链步骤和其他确定性规则生成事件,因此缺乏灵活性和个性化。
本文描述的一些实施例基于客户的历史手动调查个性化事件生成。增强的系统202从特定人员(诸如组织的一名或多名安全分析方)进行的先前调查中学习用户动作,并使用该知识根据他们的关系对新到达的事件警报进行分组。调查窗格(例如,在诸如Azure工具的SIEM中)显示图602,该图可能连接各种云实体及其相关警报(微软公司的标志)。给定调查起点,通常是警报,安全专家220通过点击图中的相关节点开始调查,一次一个,因此打开1138更多上下文416,这被认为与原始调查起点相关。
增强的系统202可以具有类似于图7所示的架构700。该示例架构700包括数据收集器706、离线分析器708和警报合并器710。离线分析器708包括实现算法702的软件,该算法702执行链路预测704。
在该示例中,数据收集器706负责收集904所有相关数据118并将其的训练数据208部分摄取到增强系统中。所收集的数据可以包括一个或多个调查图602,其包含关于800、318的信息,与调查者确实打开了1138并认为相关的节点800和320相反,调查员220可能已经打开1138但确实没有打开(或打开然后立即关闭或以其他方式指示不相关)。在一些实施例中,数据208包含调查信息,包括安全警报214和<当前节点、可选节点、点击的节点>形式的调查元组314。对于每个节点800,元数据322、416被保存,包括节点类型、名称、值等等。此外,数据收集器706收集分析方的动作210(例如,向事件添加404警报、从事件去除406警报、合并408事件)和事件的分类420,例如,真、良性或假阳性。在一些实施例中,数据收集器706可以以不同的分辨率工作,例如以一小时的批次、每天的批次或流式传输。
顺便说一句,打开1138节点(扩展它)表示用户想要查看当节点未打开时未显示的信息;该信息可以详细说明节点或超出节点。如果用户怀疑该节点是当前正在调查的攻击300的一部分,则用户220将展开1138该节点。打开1138节点不一定表示已就事件做出决定420。也就是说,动作210改变事件216,而打开节点是调查的一部分,在该调查中用户正在浏览图602并探索它,但不一定对事件做出明确的结论420或决定420。
在该示例中,离线分析器708从数据收集器706获取训练数据208,并使用902数据208通过调查路径606、604学习他们的决定210来学习每个客户的调查行为中的模式。在不同的成功调查图中一遍又一遍地共享302的警报相互关联的可能性更大。
例如,假设触发了类型为“发现恶意进程”的警报214,指向机器A上的进程P。然后防火墙在机器A和机器B之间发出类型为“可疑通信”的警报214。进程P再次触发了“发现恶意进程”类型的警报,但现在在机器B上。调查第一个警报的安全分析方220观察了调查图上的三个警报,并将它们标记210为与调查的事件216相关的警报,将420事件归类为真阳性(恶意)。如果在其他日子再次发现相同的序列,离线分析器708将学习相关性并将这些警报连接到未来案例中的单个事件。
该分组302可以通过链路预测704来完成。具体来说,一些实施例使用链路预测来确定在给定只包含警报的部分(目前看到的)的当前调查图的情况下下一步将添加哪个警报。在一些实施例和一些情况下,链路预测被执行多次,以预测调查子图或整个调查图,而不是仅预测下一条边(链路)。也可以使用链路预测的备选,例如,一般的统计分析或一般的机器学习算法,但要理解,有些人可能将链路预测视为统计分析的示例或机器学习的示例,或两者兼而有之。
一旦模型206被训练并且可用,增强系统202可以使用它以在引发新警报时创建1140或修改404、406、408、410事件216。在此示例中,警报合并710运行(计划或实时)并将事件警报或事件彼此合并。该模块710从数据收集器706获取有关安全警报的数据,并在过去N天的数据上运行训练模型,其中N等于,例如,从1到180范围内的值。N可以通过先前事件的持续时间被配置或学习。一旦事件被创建,它就会被发送1010回SIEM系统。
关于实体的一些附加观察
如所指出的,警报214和事件216通常涉及一个或多个实体402。图5示出了一些实体402示例。给定的实现可以仅识别少数、大部分或所有这些示例实体402。实体402可具有不同的属性,这取决于实体,并且那些属性及其值可以用作警报细节416。在某些情况下,每个实体将包含一个称为“类型”的字段,它将充当鉴别器,并且可以包含每种类型的附加字段。
在一些实施例中,每个实体字段的结构和格式与MicrosoftDefenderTMAdvancedThreat ProtectionTM(ATP)(微软公司的标志)使用的模型兼容。还可以通过允许提供方向增强的系统202发送附加字段来保持兼容性。
在一些实施例中,实体402可以是分层的或嵌套的并且在其中包括实体的其他类型和实例。例如,过程实体508可以包括具有关于用于运行过程的可执行映像文件的信息的文件实体504。当将文件实体包括在另一个实体中时,可以将嵌套实体包括在内,例如,作为嵌套JSON对象或作为对另一个实体的引用。
在一些实施例中,每个实体可以保存将在警报处理阶段期间添加到它的附加上下文,例如,IP实体510可以保存地理位置。为了支持附加的上下文,每个实体可包含相关的可选属性,这些属性本身可以是复杂的对象,以保存附加信息。每个上下文元素可以自由地位于任何模式中,并且可以配置为支持向后和向前模式兼容性,方法是允许它包含它当前不知道的属性。添加到实体或警报的上下文数据可以是模式规范文档的一部分,并且使用这种上下文数据的任何代码都可以使用此处定义的结构,而不是无模式格式。
在一些实施例中,每个实体可以包括一组公共可选字段,并且每种类型的实体可以是唯一的字段。实体的公共字段可以是可选的,并且可以是系统生成的。例如,当产品持久化警报并在警报及其实体之上运行分析时,可以使用他们。
本领域技术人员将承认,给定实体402的属性可因实施例而异,并且在给定实施例的实施例之间可不同。然而,作为一个示例,进程508可以具有诸如以下属性:进程ID、用于创建进程的命令行、进程开始运行的时间、映像文件、运行进程的账户、父进程、主机和会话。作为另一个示例,文件504可以具有诸如以下属性:完整路径、没有路径的文件名、主机、哈希和威胁情报上下文。作为又一示例,安全组532可以具有诸如以下属性:组专有名称、安全标识符和表示该组的对象的唯一标识符。
还提供了以下附加示例。URL 534可以具有诸如以下属性:完整URL和威胁情报上下文。IoT设备544可以具有以下属性:表示设备所属的IoT集线器的资源528实体、IoT集线器上下文中的设备ID、设备的友好名称、设备的主机、针对在设备上运行的IoT代理的安全中心的ID、设备类型(“温度传感器”、“冷冻机”、“风力涡轮机”等)、作为设备来源的供应方或云服务提供商、设备被管理的源项目的URL引用的位置、设备制造商、设备型号、设备运行的操作系统、设备的当前IP地址、设备的MAC地址、设备支持的协议列表以及设备的序列号。
基于这些示例和本领域技术人员,技术人员可以针对特定实现类似地定义其他实体属性。
技术特征
本文描述的实施例的技术特征对于本领域普通技术人员将是显而易见的,并且对于范围广泛的细心的读者也将以多种方式显而易见。一些实施例解决诸如收集904用于机器学习的数字训练数据、选择906数据子集、记录604、608网络安全取证活动、训练902机器学习模型206以及在增强的计算系统202中执行1102链路预测算法的技术活动,每一项都是深深植根于计算技术的活动。所讨论的一些技术机制包括例如机器学习模型206、链路预测算法702、训练数据208、选择元组314、SIEM 304、接口306、警报事件分组软件308和事件更新1008。所讨论的一些技术效果包括,例如,人类分析方如何响应新警报214的自动预测1136,将其与现有事件分组302或为警报创建1140新事件,通过以下项对此类自动预测进行个性化:使用训练数据子集312、建立在警报和事件之间的隐式或显式关系上的自动警报事件分组302、以及在生产级别1132上对仅通过人类活动无法获得的性能进行分组302。因此,纯粹的心理过程显然被排除在外。根据所提供的描述,基于教导的技术特征的其他优点对于技术人员来说也将是显而易见的。
一些人可以在更广泛的背景下查看本文描述的一些实施例。例如,诸如分析、置信度、决策、收集、历史或成员资格的概念可以被认为与特定实施例相关。然而,从广泛的背景来看,并不能得出在此寻求抽象概念的专有权;他们不是。相反,本公开集中于提供适当的具体实施例,其技术效果完全或部分解决特定技术问题,例如如何有效和有效地预测1136专家分析方220如何将新的网络安全警报214与一个或多个事件216分组。其他涉及分析、置信度、决策、收集、历史或成员资格的配置存储介质、系统和过程不在当前范围内。因此,在正确理解本公开内容的情况下,也避免了模糊、纯粹抽象、缺乏技术特征以及伴随的证明问题。
附加的组合和变化
代码、数据结构、逻辑、组件、通信和/或其功能等价物的任何这些组合也可以与上述任何系统及其变体组合。过程可以包括本文所述的任何可操作的子集或组合或序列中的任何步骤。每个变体可以单独出现,或与任何一种或多种其他变体组合出现。每个变体可以与任何过程一起发生,并且每个过程可以与任何一个或多个其他过程组合。每个过程或过程的组合,包括变体,可以与上述任何配置的存储介质组合和变体组合。
更一般地,技术人员将认识到,并非本公开的每个部分或其中的任何特定细节都必须满足法律标准,诸如启用、书面描述或最佳模式。此外,实施例不限于特定的激励示例和场景、操作系统环境、属性或实体示例、软件过程、开发工具、标识符、数据结构、数据格式、符号、控制流、命名约定或本文描述的其他实现选择。与任何其他专利公开的任何明显冲突,即使来自本发明的所有者,在解释本专利公开中提出的权利要求时也没有任何作用。
首字母缩写词、缩写、名称和符号
一些首字母缩写词、缩写词、名称和符号定义如下。其他在本文别处定义,或不需要在此定义以便被技术人员理解。
ALU:算术和逻辑单元
API:应用程序接口
BIOS:基本输入/输出系统
CD:光盘
CPU:中央处理器
DVD:数字多功能光盘或数字视频光盘
FPGA:现场可编程门阵列
FPU:浮点处理单元
GPU:图形处理单元
GUI:图形用户界面
IaaS或IAAS:基础设施即服务
ID:身份或身份
物联网:物联网
IP:互联网协议
LAN:局域网
MAC:媒体访问控制
OS:操作系统
PaaS or PAAS:平台即服务
RAM:随机存取存储器
ROM:只读存储器
SIEM:安全信息和事件管理;也指提供安全信息和事件管理的工具;也可以称为SEIM(安全事件和信息管理)
TCP:传输控制协议
TPU:张量处理单元
UDP:用户数据报协议
UEFI:统一可扩展固件接口
URI:统一资源标识符
URL:统一资源定位符
WAN:广域网
一些附加的术语
本文参考了示例性实施例,诸如附图中所示的示例性实施例,并且本文使用特定语言对其进行描述。但是,对于相关领域的技术人员并拥有本公开的技术人员来说,本文说明的特征的改变和进一步修改,以及由此处的特定实施例说明的抽象原理的附加技术应用,应当被考虑在权利要求的范围内。
在本公开中阐明了术语的含义,因此在阅读权利要求时应仔细注意这些说明。给出了具体示例,但相关领域的技术人员将理解,其他示例也可落入所使用的术语的含义内,并且落入一项或多项权利要求的范围内。术语在此处的含义不一定与它们在一般用法(特别是在非技术用法)、特定行业的用法或特定词典或词典集中的含义相同。参考数字可以与各种措辞一起使用,以帮助显示术语的广度。从给定的文本中省略参考数字并不一定意味着文本没有讨论图的内容。发明人主张并行使对特定和选定词典的权利。引用的术语是明确定义的,但也可以不使用引号隐含地定义一个术语。术语可以在具体实施方式中和/或在申请文件的其他地方明确或隐含地定义。
如本文所用,“计算机系统”(又名“计算系统”)可以包括,例如,一个或多个服务器、主板、处理节点、膝上型电脑、平板电脑、个人计算机(便携式或非便携式)、个人数字助理、智能手机、智能手表、智能手环、手机或移动电话、至少具有处理器和存储器的其他移动设备、视频游戏系统、增强现实系统、全息投影系统、电视、可穿戴计算系统和/或提供至少部分由指令控制的一个或更多的处理器的(多个)其他设备。指令可以是存储器中的固件或其他软件的形式和/或专门的电路。
“多线程”计算机系统是支持多个执行线程的计算机系统。术语“线程”应该被理解为包括能够或服从于调度并且可服从于同步的代码。线程也可以在本公开之外通过另一个名称来知道,诸如“任务”、“进程”或“协程”。然而,这里在线程和进程之间进行区分,因为线程定义了进程内部的执行路径。此外,进程的线程共享给定的地址空间,而不同的进程具有不同的各自地址空间。进程的线程可以并行地、顺序地或以并行执行和顺序执行的组合运行(例如,时间分片)。
“处理器”是线程处理单元,诸如同时多线程实现中的核心。处理器包括硬件。一个给定的芯片可以容纳一个或多个处理器。处理器可以是通用的,也可以针对特定用途进行定制,诸如矢量处理、图形处理、信号处理、浮点算术处理、加密、I/O处理、机器学习等。
“内核”包括操作系统、管理程序、虚拟机、BIOS或UEFI代码以及类似的硬件接口软件。
“代码”是指处理器指令、数据(包括常量、变量和数据结构)或指令和数据两者。“代码”和“软件”在本文中可互换使用。可执行代码、解释代码和固件是代码的一些示例。
“程序”在本文中被广泛使用,包括应用、内核、驱动程序、中断处理程序、固件、状态机、库和由程序员(也称为开发人员)编写和/或自动生成的其他代码。
“例程”是一段可调用的代码,它通常在程序执行中调用该例程的点之后将控制权返回给一条指令。根据所使用的术语,有时会在“函数”和“过程”之间进行区分:函数通常返回一个值,而过程不返回。如本文所用,“例程”包括功能和过程。例程可具有返回值的代码(例如,sin(x)),或者它可只返回而不提供值(例如,void函数)。
“服务”是指在云计算环境或其他网络或计算系统环境中提供的消耗性程序产品,它为多个程序提供资源或为多个程序提供资源访问,或两者兼而有之。
“云”是指用于计算、存储和网络的资源池,这些资源可弹性地用于衡量的按需服务。云可以是私有的、公共的、社区的或混合的,并且云服务可以以基础架构即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)或其他服务形式提供服务。除非另有说明,否则任何关于读取文件或写入文件的讨论都包括读取/写入本地文件或通过网络读取/写入,这可以是云网络或其他网络,或两者都进行(本地和网络读取/写入)。
“IoT”或“物联网”是指任何可寻址嵌入式计算或数据生成或执行器节点的网络集合。这样的节点可以是本文定义的计算机系统的示例,并且可以包括或称为例如“智能”设备、“端点”、“芯片”、“标记”或“标签”,并且IoT可以被称为“信息物理系统”。IoT节点和系统通常至少具有以下两个特征:(a)没有本地人类可读的显示;(b)没有本地键盘;(c)输入的主要来源是跟踪要从物联网设备上传的非语言数据来源的传感器;(d)没有本地旋转磁盘存储器,RAM芯片或ROM芯片提供唯一的本地存储器;(e)没有CD或DVD驱动器;(f)嵌入家用电器或家庭固定装置;(g)嵌入植入式或可穿戴式医疗设备;(h)嵌入车辆;(i)嵌入过程自动化控制系统;(j)专注于以下一项的设计:环境监测、市政基础设施监测、农业、工业设备监测、能源使用监测、人类或动物健康或健康监测、物理安全、物理交通系统监测、物体跟踪、库存控制、供应链控制、车队管理或制造。IoT通信可使用TCP/IP、受限应用协议(CoAP)、消息队列遥测传输(MQTT)、高级消息队列协议(AMQP)、HTTP、HTTPS、传输层安全性(TLS)、UDP或简单对象等协议访问协议(SOAP),例如,用于有线或无线(蜂窝或其他)通信。无论是经由云、经由另一网络,还是经由直接本地访问尝试,物联网存储或执行器或数据输出或控制可以是未经授权访问的目标。
对计算资源的“访问”包括使用权限或其他能力来读取、修改、写入、执行或以其他方式利用该资源。尝试访问可以与实际访问明确区分开来,但没有“尝试”限定词的“访问”包括尝试访问和实际执行或提供的访问。
如本文所用,除非另有说明,否则“包括”允许附加元素(即,包括意味着包含)。
“优化”是指改进,不一定是完善。例如,可以对已优化的程序或算法进行进一步改进。
“进程”在本文中有时用作计算科学艺术的术语,并且在该技术意义上涵盖计算资源用户,例如,其还可以包括或被称为协程、线程、任务、中断处理程序、应用进程、内核进程、过程或对象方法。实际上,“进程”是由系统实用程序(诸如任务管理器、ps或其他操作系统环境中的类似实用程序(分别为微软公司和LinusTorvalds的商标))标识的计算实体。“过程”在本文中也用作专利法术语,例如,用于描述与系统权利要求或制造物品(配置的存储介质)权利要求相对的方法权利要求。类似地,“方法”在本文中有时用作计算科学领域的技术术语(一种“例程”),也用作专利法领域的术语(“过程”)。专利法意义上的“过程”和“方法”在本文中可互换使用。技术人员将理解在特定实例中意指的含义,并且还将理解给定要求保护的过程或方法(在专利法意义上)有时可以使用一个或多个过程或方法(在计算科学意义上)来实现。
“自动地”是指通过使用自动化(例如,由软件配置的通用计算硬件,用于本文讨论的特定操作和技术效果),而不是没有自动化。特别地,“自动”执行的步骤不是在纸上或在人的脑海中手动执行的,尽管它们可能由人启动或由人以交互方式引导。使用机器执行自动步骤以获得一个或多个技术效果,如果没有如此提供的技术交互,这些技术效果将无法实现。假定自动执行的步骤包括至少一项主动执行的操作。
技术人员理解技术效果是技术实施例的假定目的。例如,计算涉及实施例,并且某些计算也可以在没有技术组件的情况下执行(例如,通过纸和铅笔,甚至作为心理步骤)的这一事实并不能消除技术效果的存在或改变实施例的具体和技术性质。警报事件分组操作,诸如收集904数字表示212、选择906数据子集312作为训练数据208、训练902机器学习模型206、执行1102链路预测算法702、将事件更新1008传输到SIEM304等本文讨论的其他操作被理解为本质上是数字的。人脑不能直接与CPU或其他处理器或RAM或其他数字存储接口连接,以读取和写入执行此处教导的警报事件分组步骤所需的数据。鉴于本公开,本领域技术人员都将很好地理解这一切。
“计算地”同样意味着正在使用计算设备(至少是处理器加上内存),并且不包括仅通过人类思想或人类行为来获得结果。例如,用纸和铅笔做算术不是如本文所理解的那样在计算上做算术。计算结果更快、更广泛、更深入、更准确、更一致、更全面,和/或以其他方式提供超出人类表现范围的技术效果。“计算步骤”是计算地执行的步骤。“自动地”和“计算地”都不一定意味着“立即”。“计算地”和“自动地”在本文中可互换使用。
“主动”是指没有用户的直接请求。实际上,用户甚至可能没有意识到实施例的主动步骤是可能的,直到该步骤的结果已经呈现给用户。除非另有说明,本文所述的任何计算和/或自动步骤也可以主动完成。
在本文档中,使用可选的复数“(s)”、“(es)”或“(ies)”表示存在一个或多个所示特征。例如,“处理器”是指“一个或多个处理器”或等效地是“至少一个处理器”。
出于美国法律和实践的目的,本文中,权利要求或其他地方使用“步骤”一词并非旨在援引手段加功能、步骤加功能或35美国法典第112条第六款段落/第112(f)节要求解释。特此明确驳斥任何与此有关的推定。
出于美国法律和实践的目的,除非它们使用短语“手段用于”,否则这些权利要求无意援引手段加功能解释。旨在解释为手段加功能语言的权利要求语言(如果有)将通过使用短语“手段用于”来明确表达该意图。当手段加功能解释适用时,无论是通过使用“手段”和/或通过法院对权利要求语言的法律解释,说明书中对给定名词或给定动词所述的手段应理解为与权利要求的语言并通过以下任何一项在本文中链接在一起:在附图的框图中出现在同一块中、以相同或相似的名称表示、以相同的附图标记表示、图中任何描述的功能关系、在本公开的文本中注明的函数关系。例如,如果权利要求限制引用了“zac小部件”,并且该权利要求限制成为手段加功能解释的对象,那么至少在规范中的任何图块、段落或示例中提及“zac”的任何位置标识的所有结构小部件”,或通过分配给zac小部件的任何参考数字连接在一起,或被披露为与zac小部件的结构或操作具有功能关系,将被视为zac小部件申请中确定的结构的一部分,并将有助于定义zac小部件结构的等效集。
技术人员将认识到本发明公开讨论了各种数据值和数据结构,并认识到这些项目驻留在存储器(RAM、磁盘等)中,从而配置存储器。技术人员还将认识到,本发明公开讨论了在给定实现中将体现在可执行代码中的各种算法步骤,并且这种代码也驻留在存储器中,并且它有效地配置了执行它的任何通用处理器,从而将其从通用处理器转换为功能专用硬件的专用处理器。
因此,技术人员不会错误地将以下视为非重叠项:(a)权利要求中记载的存储器和(b)权利要求中记载的数据结构或数据值或代码。数据结构和数据值和代码被理解为驻留在内存中,即使权利要求没有明确说明所提到的每个数据结构或数据值或代码段的驻留。因此,不需要明确说明这种驻留。但是,它们也不被禁止,并且可以出现一或两个选定的记载以强调,而不会因此将所有其他数据值和数据结构和代码排除在驻留之外。同样,权利要求中记载的代码功能被理解为配置处理器,而不管该配置质量是否在权利要求中明确记载。
在整个文档中,除非另有明确说明,否则对过程中步骤的任何引用均假定该步骤可以由相关方直接执行和/或由该方通过干预机制和/或干预实体间接执行,并且仍在该步骤的范围内。也就是说,除非直接执行是明确规定的要求,否则不需要利益方直接执行该步骤。例如,涉及利益相关方针对目标或其他主题的动作的步骤,诸如收集、创建、执行、获取、分组、标识,包括、输入、执行、预测、接收、选择、发送、提交、训练、传输、使用(和收集、收集后、创建、创建后等),可涉及由其他方诸如前述或转发、复制、上传、下载、编码、解码、压缩、解压缩、加密、解密、认证、调用等,包括本文档中记载的任何动作,但仍被理解为由相关方直接执行。
每当提及数据或指令时,应理解这些项目配置计算机可读存储器和/或计算机可读存储介质,从而将其转换为特定物品,而不是简单地存在于例如纸上,在人的脑海中,或者作为一个简单的信号在电线上传播。出于美国专利保护的目的,根据美国专利商标局(USPTO)对In re Nuijten案例的解释,存储器或其他计算机可读存储介质不是传播信号或载波或仅仅是超出可专利主题范围的能量。在美国,没有任何权利要求涵盖信号本身或仅仅是能量,并且鉴于本公开而做出其他主张的任何权利要求解释表面上都是不合理的。除非在美国境外授予的权利要求中另有明确说明,否则权利要求不涵盖信号本身或单纯的能量。
此外,尽管本文其他地方有任何明显相反的内容,但应理解(a)一方面,计算机可读存储介质和计算机可读存储器之间的明显区别,和(b)另一方面,传输介质,也称为信号介质。传输介质是传播信号或载波计算机可读介质。相比之下,计算机可读存储介质和计算机可读存储器不是传播信号或载波计算机可读介质。除非权利要求中另有明确说明,否则“计算机可读介质”是指计算机可读存储介质,而不是传播信号本身,也不仅仅是能量。
本文的“实施例”是示例。术语“实施例”与“发明”不可互换。实施例可以自由地共享或借用方面以创建其他实施例(只要结果是可操作的),即使所得到的方面的组合在本文本身没有明确描述。对于本领域的技术人员来说,要求明确且单独地描述每个允许的组合是不必要的,并且将与认识到专利说明书是为本领域技术人员编写的政策相违背。关于可能组合的数目的形式组合计算和非正式的共同直觉,即使是由少量可组合的特征产生,也将表明对于本文所描述的方面存在大量的方面组合。因此,要求对每一种组合都进行明确的记载将违反要求专利说明书简洁和读者了解相关技术领域的政策。
附图标记列表
提供以下列表是为了方便和支持附图,并作为说明书文本的一部分,通过参考多个项目来描述创新。此处未列出的项目仍然可以是给定实施例的一部分。为了使文本更清晰易读,在文中引用项目的一些(但不是全部)附近记载了给定的参考编号。相同的附图标记可用于参考给定项目的不同示例或不同实例。参考数字列表是:
100操作环境,也称为计算环境
102计算机系统,也称为“计算的系统”或“计算系统”,并且在网络中时可以被称为“节点”
104用户,例如增强系统202的分析方或其他用户
106外围设备
108网络,包括例如云、局域网(LAN)、广域网(WAN)、客户端-服务器网络或具有至少一个由域控制器强制执行的信任域的网络,以及其他有线或无线网络;这些网络类别可以重叠,例如,LAN可以有一个域控制器并且还作为客户端-服务器网络运行
110处理器
112计算机可读存储介质,例如RAM、硬盘
114可移动配置的计算机可读存储介质
116处理器可执行指令;可位于可移动存储介质或其他存储器(易失性或非易失性或两者兼有)中
118数据
120(多个)内核,例如,(多个)操作系统、BIOS、UEFI、设备驱动程序
122工具,例如防病毒软件、防火墙、数据包嗅探器软件、入侵检测系统、入侵防御系统、其他网络安全工具、调试器、分析器、编译器、解释器、反编译器、汇编器、反汇编器、源代码编辑器、自动完成软件、模拟器、模糊器、存储库访问工具、版本控制工具、优化器、协作工具、其他软件开发工具和工具套件(包括例如集成开发环境)、硬件开发工具和工具套件、诊断程序、增强型浏览器等
124应用,例如文字处理器、网络浏览器、电子表格、游戏、电子邮件工具、命令
126显示屏,也称为“显示器”
128计算硬件,与参考编号106、108、110、112、114无关
202增强的计算机,例如,增强了警报事件分组功能的计算机102(节点102)
204警报事件分组功能,例如,执行以下至少一项的功能:准备训练数据208以用于训练模型206、训练模型206、重新训练模型206、提交警报214或事件216或对模型206的动作210,作为模型206的操作的一部分执行算法,从模型206接收预测218,符合图11流程图或其组成流程图1000或900,或以其他方式提供本文首次教导的能力
206警报事件分组机器学习模型,例如,神经网络、决策树、回归模型、支持向量机或其他基于实例的算法实现、贝叶斯模型、聚类算法实现、深度学习算法实现或其集合;机器学习模型206可以通过监督学习或无监督学习被训练,但至少部分基于作为训练数据的警报事件分组动作表示被训练
208用于训练警报事件分组机器学习模型的训练数据
210警报事件分组动作,例如,添加404,删除406,合并408,或划分410的动作
212警报事件分组动作表示,例如,表示动作210的数字数据结构
214警报,例如,由一个或多个事件生成的数据包或信号或其他数字数据结构,并且被指定为比一般事件具有更高级别的紧迫性或与网络安全的相关性
216事件,例如包括或以其他方式标识一个或多个警报214并且还具有一个或多个安全属性的数字数据结构,例如攻击者身份、攻击者目标、过去或现在或预期的攻击者活动、攻击机制、攻击影响、潜在或实际防御,潜在或实际缓解
218警报事件分组动作预测,例如,机器生成的对人类分析方将采取的警报事件分组动作的预测
220分析方;除非另有说明,否则指正在调查警报214或事件216、或处理事件216、或受过培训或负责这样做的人;也可适用于一组分析方,例如,针对特定云租户或特定企业工作的分析方
222网络攻击者,例如,在网络或系统内行动超出网络或系统所有者授予他们的权限(如果有)范围的个人或自动化;可以是外部的或内部的;也可以称为“对手”
300攻击;也可称为“网络攻击”;指攻击者的未授权或恶意活动222
302警报事件分组;可以指创建或修改警报和事件之间的分组(成员关系或兄弟关系或依赖关系)的活动;也可以指此类活动的结果
304安全信息和事件管理工具(SIEM)
306接口
308警报事件分组软件
310包括在分组预测中或与分组预测218相关联的置信级别;可以是枚举(例如,低/中/高)或数值(例如,从最低0到最高1.0的准确度置信度范围内的0.7)
312数据子集
314选择元组数字数据结构
316选择元组中的当前实体;实现,例如,作为实体标识符
318选择元组中的可选实体;实现,例如,作为实体标识符
320选择元组中的选择的实体;实现,例如,作为实体标识符
322选择元组组件
402可涉及警报的实体;也指此类实体的标识符或表示此类实体的数字数据结构
404向事件添加警报
406从事件中去除警报
408合并两个事件;与合并结果事件关联的警报是与合并前事件关联的警报的并集
410将一个事件划分为多个事件;与划分前事件相关联的警报在划分导致的事件中被划分(不一定被分区-可以允许复制)
412实体标识符,例如,名称、地址、标识号、唯一位置、内容哈希或标识部分内容的哈希
414警报标识符,例如,名称、地址、识别号、唯一位置、内容哈希或标识部分内容的哈希
416个警报的详细信息
418事件标识符,例如名称、地址、识别号、唯一位置、内容哈希或标识部分内容的哈希
420事件分类,例如,良性(非恶意)、假阳性(最初出现恶意但经调查确定为非恶意)、真阳性(恶意)
422动作指示符,例如,用户命令或系统操作或另一个数据结构,用于标识分析方针对警报和事件或针对一个或多个事件的动作
424动作时间,例如指示动作210何时发生的时间戳;可以在训练902模型时使用以帮助模型除了学习个体动作之外还学习动作210序列,从而提供更准确和有用的模型206
502帐户,例如,一般的用户帐户,或管理用户帐户
504文件;也指二进制大对象、块和其他数字存储项目
506恶意软件
508进程,在计算机科学意义上
510IP地址或一组IP地址(IPv4或IPv6或两者)
512文件哈希;也可以称为文件哈希码或文件签名
514注册表项
516邮箱;可以泛指用户的邮箱或特定的邮箱,诸如收件箱、发件箱或垃圾箱;也可以指(多个)邮件文件夹
518网络连接
520注册表值
522主机;系统102的示例
524主机登录会话
526域名
528云资源,例如云中的计算资源、存储资源或网络资源
530云应用;可以完全在云中运行,也可以作为云中的软件即服务产品提供;应用124的示例
532安全组;控制计算系统访问的数字数据结构;通常由管理员定义
534统一资源定位符(URL)
536云实体;任何驻留在云中或与云通信的实体;网络实体的示例
538邮件消息;“邮件”是指电子邮件或其他电子数字信息
540邮箱集群
542网络实体;驻留在网络中或与网络108通信的任何实体
544物联网设备
546云;可以是一个或多个网络的组合
600训练数据的源
602调查图;指工具中的视觉呈现或视觉呈现所基于的数据结构,或两者兼有
604调查活动数字记录
606一般调查跟踪数据结构;此处和其他地方的“数据结构”是指存储器112中易于使用处理器110读取或写入或两者兼有的数字数据结构
608事件处理活动数字记录
610一般事件处理数据结构
700示例架构
702链路预测算法
704链路预测(动词或名词)
706数据采集模块
708离线分析模块
710警报合并模块
800调查图节点(也称为“实体节点”或为方便起见简称为“实体”)
802异常节点
804设备或设备接口节点
900流程图;900还指代图9流程图所示的或与图9流程图一致的训练方法
902训练一个机器学习模型
904收集数字表示,例如,通过记录、文件传输、网络通信或其他计算活动
906选择数据子集,例如通过排序、滤波或其他计算活动
908对动作发生时间的数据选择限制,例如,特定时间或封闭或开放的时间范围
910行动方,例如人类或计算系统,例如分析方220
912数据选择限制,关于哪个(多个)行动方执行了一个动作
914云租户;行动方910的示例
916数据选择限制,关于哪个(多个)云租户执行操作
918客户;行动方910的示例
920数据选择限制,关于哪个(多个)客户执行了动作
922数据选择限制,关于在哪个(多个)环境中执行或针对哪个环境和操作
924选择使用或使用事件分类来确定或可能的恶意
926选择使用或使用可选实体318作为训练902数据
928例如通过文件传输、网络通信或其他计算活动提交数据以用作训练数据208
930使用数据作为训练数据208
1000流程图;1000还指由图10流程图说明或与图10流程图一致的警报事件分组方法
1002获得警报,例如,通过文件传输、网络通信或其他计算活动
1004例如通过文件传输、网络通信或其他计算活动将警报发送到训练的模型206
1006例如通过文件传输、网络通信或其他计算活动从训练的模型206接收事件更新
1008事件更新数字数据结构
1010将事件更新传输到SIEM,例如通过文件传输、网络通信或其他计算活动
1100流程图;1100还指的是由图12流程图(包括图9和图10的步骤)所示或与之一致的警报事件分组方法
1102使用例如处理器110和存储器112执行链路预测算法
1104调查警报;通常由人类分析方使用计算系统完成
1106从分析方对基于自定义规则的警报的响应(例如调查1104记录)中收集数字数据;执行,例如,通过文件传输、网络通信或其他计算活动;这是收集904的一个示例
1108分析方对警报的响应(例如,调查1104)
1110自定义规则,例如,不作为商业可用的网络安全产品或服务的一部分提供的规则,而是由特定用户或特定小(例如,少于20个)用户组制定的规则
1112从人类活动收集数字数据,例如,作为调查记录604或事件处理记录608
1114与计算系统交互的人类活动
1116避免将特定数据作为训练数据208的一部分提交
1118收集表示具有事件的警报的隐式分组1120的数字数据;可以通过例如文件传输、网络通信或其他计算活动来执行;这是收集904的一个示例
1120将警报与事件进行隐式分组
1122标识尚未与任何事件分组的警报;这种警报也可以称为“新”警报或“新到达”警报;由计算活动执行
1124经由计算活动向模型206输入事件标识符
1126收集表示具有事件的警报的显式分组1128的数字数据;可以通过例如文件传输、网络通信或其他计算活动来执行;这是收集904的一个示例
1128将警报与事件显式分组
1130以指定的性能级别执行计算活动
1132计算活动性能级别
1134包括置信级别作为数据结构的一部分;此处与本文其他地方一样,“数据结构”广泛用于包括存储器112中或计算系统102之间传输中的数据
1136预测分组动作或事件创建
1138扩展图形节点以显示附加数据,从而隐式地指示与事件的相关性
1140创建事件216数据结构,例如,通过分配存储器并用事件数据填充它,或通过用事件数据填充先前分配的存储器
1142在本公开中讨论的任何未被分配一些其他附图标记的步骤
1144显示更新1008或以其他方式通过计算活动将其直接提供给分析方
结论
简而言之,本文的教导提供了在增强的系统202中操作的多种警报事件分组功能204。网络安全得到增强,特别注意及时向安全分析方220及其调查工具122、304提供关于过去或正在进行的事件216的新警报214的关系的准确更新1008。技术202、204、1100使用关于早期分组的数据208自动将302安全警报214分组到事件216中。机器学习模型206被训练902与选择904、906关于过去警报事件分组动作210的数据208。训练的模型206帮助调查员220优先考虑新警报214并通过快速和准确地将警报214与事件分组302来帮助警报调查1104或创建1140新事件216。分组302、218被直接提供1144给分析方220或馈送1010到安全信息和事件管理工具304中。训练数据208可以包括实体标识符412、警报标识符414、事件标识符418、动作指示符422、动作时间424和可选的事件分类420。呈现给分析方220但未执行的调查选项318(例如,未打开1138)可以用作训练数据208。由训练的模型206产生1136的事件更新1008可以向事件216添加404警报214,从事件216中去除406警报214,合并408两个或更多个事件216,划分410一个事件216,或创建1140事件216。个性化事件更新1008可以基于特定分析方220的历史手动调查动作210。分组302可以不知道警报214的种类,例如,分组302警报214可以是标准警报,或者它们可以是基于自定义警报触发规则1110的警报214。
实施例本身也被理解为包括或受益于经过测试和适当的安全控制和隐私控制,诸如通用数据保护条例(GDPR)。本文教导的工具和技术的使用与此类控件的使用兼容。
尽管微软技术在一些激励性示例中被使用,但本文的教导不限于在由微软提供或管理的技术中使用。例如,在适当的许可下,本教导可以体现在由其他云服务提供商提供的软件或服务中。
尽管特定实施例在本文中被明确地图示和描述为过程、配置的存储介质或系统,但是应当理解,对一种实施例的讨论通常也扩展到其他实施例类型。例如,与图9-图11相关的过程描述也有助于描述配置的存储介质,并有助于描述与其他附图相关的系统和制造商的技术效果和操作。这并不意味着来自一个实施例的限制必然会被解读到另一个实施例中。特别地,过程不一定限于在讨论系统或制造(诸如配置的存储器)时呈现的数据结构和布置。
本领域技术人员将理解,实现细节可与特定代码有关,诸如特定阈值或范围、特定架构、特定属性和特定计算环境,因此不必出现在每个实施例中。技术人员还将理解,在讨论细节中使用的程序标识符和一些其他术语是特定于实现的,因此不需要与每个实施例相关。尽管如此,尽管它们不是必须出现在此处,但是这些细节可以通过提供上下文来帮助一些读者和/或可以说明在此讨论的技术的许多可能实现中的一些。
通过适当注意本文提供的项目,包括技术过程、技术效果、技术机制和技术细节,它们是说明性的,但并不全面涵盖所有要求保护或可要求保护的实施例,本领域技术人员将理解本公开和本文描述的实施例是不针对技术领域之外的主题,也不针对其本身的任何想法,诸如主要或原始原因或动机,或纯粹的结果本身,或心理过程或心理步骤,或商业方法或流行经济实践,或仅组织人类活动的方法,或自然法则本身,或自然发生的事物或过程,或生物或生物的一部分,或数学公式本身,或孤立的软件本身,或仅是传统的计算机,或任何完全难以察觉的事物或任何本身的抽象概念,或无关紧要的后解决活动,或任何方法完全在未指定的设备上实施,或任何无法产生有用和具体结果的方法,或任何优先使用所有领域,或根据寻求保护、许可保护或实施保护的管辖地的法律不符合专利保护条件的任何其他主题。
在本文中提及具有某些特征X的实施例以及在本文其他地方提及具有某些特征Y的实施例并不从本公开中排除同时具有特征X和特征Y的实施例,除非本文明确说明了这种排除。即任何被声明为实施例的一部分的特征也可以被明确地从另一个实施例中排除,即使在任何示例中都没有给出特定的排除在此处,所有可能的否定性权利要求限制都在本公开的范围内。术语“实施例”在本文中仅用作“过程、系统、制品、配置的计算机可读存储介质和/或以符合适用法律的方式应用的本文教导的其他示例”的更方便的形式。因此,给定的“实施例”可以包括本文公开的特征的任何组合,只要该实施例与至少一项权利要求一致。
并非图中所示的每个项目都需要出现在每个实施例中。相反,实施例可以包含图中未明确示出的(多个)项目。尽管这里通过特定示例在文本和附图中说明了一些可能性,但是实施例可以偏离这些示例。例如,示例的特定技术效果或技术特征可以被省略、重命名、以不同方式分组、重复、以不同方式在硬件和/或软件中实例化,或者是出现在两个或更多个示例中的效果或特征的混合。在一些实施例中,在一个位置显示的功能也可以在不同的位置提供;技术人员认识到功能模块可以在给定的实现中以各种方式被定义,而不必从作为一个整体查看的交互模块的集合中省略所需的技术效果。由于空间限制或为了方便,不同的步骤可以在图中的单个框中一起显示,但仍然可以单独执行,例如,在方法的给定性能中可以在没有另一个的情况下执行一个步骤。
通篇通过参考数字对附图进行了引用。在与给定参考数字相关的措辞中、在附图中或在文本中的任何明显不一致都应被理解为只是扩大了该数字所指内容的范围。即使使用相同的附图标记,给定附图标记的不同实例可以指代不同的实施例。类似地,给定的参考数字可以用来指代动词、名词和/或每个的对应实例,例如,处理器110可以通过执行它们来处理110指令。
如本文所用,诸如“一”、“一个”和“所述”的术语包括所指示的项目或步骤中的一个或多个。特别地,在权利要求中,对项目的引用通常意味着存在至少一个这样的项目,并且对步骤的引用意味着执行该步骤的至少一个实例。类似地,“is”和其他单数动词形式应理解为包含“are”和其他复数形式的可能性,在上下文允许的情况下,以避免语法错误或误解。
标题仅为方便起见;有关给定主题的信息可以在标题指示该主题的部分之外找到。
提交的所有权利要求和摘要都是说明书的一部分。
如果本文使用的任何术语暗示或以其他方式引用行业标准,并且在适用法律要求识别此类标准的特定版本的范围内,本公开应理解为指的是该标准的最新版本,该版本根据适用的专利法,截至本公开的最早优先权日,已至少以草稿形式(最终形式优先,如果较新)公布。
尽管示例性实施例已在附图中示出并在上面进行了描述,但对于本领域普通技术人员来说显而易见的是,在不背离权利要求中阐述的原理和概念的情况下可以进行许多修改,并且这些修改不需要包含一个完整的抽象概念。尽管以特定于结构特征和/或程序动作的语言描述了主题,但应理解,在所附权利要求中定义的主题不一定限于权利要求书以上描述的特定技术特征或动作。没有必要在给定定义或示例中识别的每个手段或方面或技术效果在每个实施例中都存在或被利用。相反,所描述的特定特征和作用以及效果作为示例被公开以供在实施权利要求时考虑。
所有未涵盖整个抽象概念但属于权利要求等效含义和范围的变化,应在法律允许的最大范围内包含在其范围内。
Claims (15)
1.一种被配置用于训练机器学习模型以根据历史分组动作预测性地将网络安全警报与网络安全事件进行分组的系统,所述系统包括:
数字存储器;以及
处理器,与所述存储器可操作地通信,所述处理器被配置为执行机器学习模型训练步骤,所述步骤包括:(a)收集由分析方执行的警报事件分组动作的一组数字表示,每个表示包括实体标识符、警报标识符、事件标识符、动作指示符和动作时间,以及(b)将所述组的至少一部分提交给机器学习模型,以作为用于训练所述机器学习模型以预测不在所述组的提交的所述部分中的警报事件分组动作的训练数据。
2.根据权利要求1所述的系统,其中警报事件分组动作的所述数字表示还包括事件分类。
3.根据权利要求1所述的系统,其中所述实体标识符标识以下实体种类中的至少四种:账户、恶意软件、进程、文件、文件哈希、注册表项、注册表值、网络连接、IP地址、主机、主机登录会话、应用、云应用、域名、云资源、安全组、统一资源定位符、邮箱、邮箱集群、邮件消息、网络实体、云实体、计算设备或物联网设备。
4.根据权利要求1所述的系统,其中所述动作指示符指示所述分析方的以下警报事件分组动作中的至少一个:
为事件添加警报;
从事件中去除警报;
将至少两个事件合并为单一事件;或
将事件至少划分为两个事件。
5.根据权利要求1所述的系统,其中所述训练数据包括具有组件的元组,所述组件包括当前实体标识符、可选实体标识符和已选实体标识符,并且其中所述可选实体标识符标识被呈现给所述分析方的、但未由所述分析方选择的实体。
6.根据权利要求1所述的系统,其中所述动作指示符指示动作是由行动方在所述动作时间执行的,并且所述系统被配置为使用以下训练数据子集中的至少一个数据子集来训练所述机器学习模型:
至少部分由对所述动作时间的限制定义的数据子集;
至少部分由对行动方执行所述动作的限制定义的数据子集;
至少部分由对云租户执行或授权所述动作的限制定义的数据子集;
至少部分由客户执行或授权所述动作的限制定义的数据子集;或
至少部分由所述动作在其中被执行的计算环境的限制定义的数据子集。
7.一种用于训练机器学习模型以基于历史分组动作预测性地将网络安全警报与网络安全事件分组的方法,所述方法包括:
收集警报事件分组动作的一组数字表示,每个表示包括实体标识符、警报标识符、事件标识符、事件分类、动作指示符和动作时间;以及
将所述组的至少一部分提交给机器学习模型,以作为用于训练所述机器学习模型以预测不在所述组的提交的所述部分中的警报事件分组动作的训练数据。
8.根据权利要求7所述的方法,还包括使用所述训练的机器学习模型来预测性地将警报与事件分组。
9.根据权利要求8所述的方法,其中使用所述训练的机器学习模型包括执行链路预测算法。
10.根据权利要求7所述的方法,其中收集警报事件分组动作的所述一组数字表示包括从以下至少一项收集数据:
调查图;
调查数据结构;
由至少一个人类用户在调查警报时采取的调查动作的记录;
事件处理数据结构;
由至少一个人类用户在处理事件时采取的事件处理动作的记录;
响应于基于自定义规则的警报的活动。
11.根据权利要求7所述的方法,其中提交避免提交任何以下警报细节数据作为训练数据:
警报提供方名称;
警报供应方名称;
警报严重性;或
哪个规则触发了所述警报的标识。
12.根据权利要求7所述的方法,其中收集包括:收集与警报与事件隐式分组的活动对应的数据。
13.根据权利要求7所述的方法,还包括:将标识事件的事件标识符输入到所述训练的机器学习模型,以及从所述训练的模型接收标识先前未与事件分组的警报的警报标识符。
14.一种配置有数据和指令的计算机可读存储介质,所述数据和指令在由处理器执行时使计算系统执行一种方法,所述方法用于使用训练的机器学习模型基于历史分组动作预测性地将网络安全警报与网络安全事件分组,所述方法包括:
获得警报;
将所述警报发送到训练的机器学习模型,所述模型已使用训练数据被训练,所述训练数据包括由一个或多个人执行的警报事件分组操作的一组数字表示,而不是基于规则数据结构分组,每个表示包括实体标识符、警报标识符、事件标识符、事件分类、动作指示符和动作时间;以及
响应于所述发送,从所述训练的模型接收以下事件更新中的至少一项:将所述警报与事件分组的警报事件分组,标识通过合并两个事件创建的事件的事件合并器,或者标识通过划分事件创建的至少两个事件的事件划分。
15.根据权利要求14所述的存储介质,其中所述计算系统以每分钟至少25000次事件更新的性能级别执行所述方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/851,195 | 2020-04-17 | ||
US16/851,195 US20210326744A1 (en) | 2020-04-17 | 2020-04-17 | Security alert-incident grouping based on investigation history |
PCT/US2021/019138 WO2021211212A1 (en) | 2020-04-17 | 2021-02-23 | Security alert-incident grouping based on investigation history |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115427954A true CN115427954A (zh) | 2022-12-02 |
Family
ID=74885042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180028861.9A Withdrawn CN115427954A (zh) | 2020-04-17 | 2021-02-23 | 基于调查历史的安全警报事件分组 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210326744A1 (zh) |
CN (1) | CN115427954A (zh) |
WO (1) | WO2021211212A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210232969A1 (en) * | 2018-12-24 | 2021-07-29 | Intel Corporation | Methods and apparatus to process a machine learning model in a multi-process web browser environment |
US11663500B2 (en) * | 2020-05-05 | 2023-05-30 | International Business Machines Corporation | Visualizing cybersecurity incidents using knowledge graph data |
US12074897B1 (en) * | 2020-11-04 | 2024-08-27 | Rapid7, Inc. | Machine learned alert triage classification system |
US11494418B2 (en) * | 2021-01-28 | 2022-11-08 | The Florida International University Board Of Trustees | Systems and methods for determining document section types |
WO2023107438A1 (en) * | 2021-12-06 | 2023-06-15 | Level 6 Holdings, Inc. | Cybersecurity strategy analysis matrix |
US20230412449A1 (en) * | 2022-06-09 | 2023-12-21 | Hewlett Packard Enterprise Development Lp | Network alert detection utilizing trained edge classification models |
US20240220629A1 (en) * | 2022-12-28 | 2024-07-04 | Sumo Logic, Inc. | Incident confidence level |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7930752B2 (en) * | 2005-11-18 | 2011-04-19 | Nexthink S.A. | Method for the detection and visualization of anomalous behaviors in a computer network |
US9336388B2 (en) * | 2012-12-10 | 2016-05-10 | Palo Alto Research Center Incorporated | Method and system for thwarting insider attacks through informational network analysis |
US9888024B2 (en) * | 2015-09-30 | 2018-02-06 | Symantec Corporation | Detection of security incidents with low confidence security events |
US10771492B2 (en) * | 2016-09-22 | 2020-09-08 | Microsoft Technology Licensing, Llc | Enterprise graph method of threat detection |
US10558809B1 (en) * | 2017-04-12 | 2020-02-11 | Architecture Technology Corporation | Software assurance system for runtime environments |
US10904290B2 (en) * | 2018-01-10 | 2021-01-26 | Nec Corporation | Method and system for determining incorrect behavior of components in a distributed IT system generating out-of-order event streams with gaps |
EP4312420A3 (en) * | 2018-02-20 | 2024-04-03 | Darktrace Holdings Limited | A method for sharing cybersecurity threat analysis and defensive measures amongst a community |
US11238366B2 (en) * | 2018-05-10 | 2022-02-01 | International Business Machines Corporation | Adaptive object modeling and differential data ingestion for machine learning |
US11681710B2 (en) * | 2018-12-23 | 2023-06-20 | Microsoft Technology Licensing, Llc | Entity extraction rules harvesting and performance |
US11126711B2 (en) * | 2019-04-09 | 2021-09-21 | Jpmorgan Chase Bank, N.A. | System and method for implementing a log source value tool for security information event management |
-
2020
- 2020-04-17 US US16/851,195 patent/US20210326744A1/en not_active Abandoned
-
2021
- 2021-02-23 WO PCT/US2021/019138 patent/WO2021211212A1/en active Application Filing
- 2021-02-23 CN CN202180028861.9A patent/CN115427954A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
WO2021211212A1 (en) | 2021-10-21 |
US20210326744A1 (en) | 2021-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11647034B2 (en) | Service access data enrichment for cybersecurity | |
CN114731284B (zh) | 协同过滤异常检测可解释性 | |
EP3841502B1 (en) | Enhancing cybersecurity and operational monitoring with alert confidence assignments | |
US11947933B2 (en) | Contextual assistance and interactive documentation | |
US20210326744A1 (en) | Security alert-incident grouping based on investigation history | |
US11509667B2 (en) | Predictive internet resource reputation assessment | |
US11755586B2 (en) | Generating enriched events using enriched data and extracted features | |
US10735272B1 (en) | Graphical user interface for security intelligence automation platform using flows | |
US10666666B1 (en) | Security intelligence automation platform using flows | |
US11431751B2 (en) | Live forensic browsing of URLs | |
US20230259632A1 (en) | Response activity-based security coverage management | |
CN117321584A (zh) | 高数据i/o比模块的处理管理 | |
US20230370452A1 (en) | Networked device security posture management | |
US20230370334A1 (en) | Networked device discovery and management | |
US20230367871A1 (en) | Event-triggered forensics capture | |
US20240267400A1 (en) | Security finding categories-based prioritization | |
WO2024102233A1 (en) | Machine learning training duration control | |
WO2024076453A1 (en) | Cybersecurity insider risk management | |
Prevention et al. | JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY HYDERABAD |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20221202 |