CN112602081A - 利用警报置信度分配来增强网络安全和操作监控 - Google Patents
利用警报置信度分配来增强网络安全和操作监控 Download PDFInfo
- Publication number
- CN112602081A CN112602081A CN201980054971.5A CN201980054971A CN112602081A CN 112602081 A CN112602081 A CN 112602081A CN 201980054971 A CN201980054971 A CN 201980054971A CN 112602081 A CN112602081 A CN 112602081A
- Authority
- CN
- China
- Prior art keywords
- insight
- alarm
- values
- instances
- confidence score
- 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.)
- Pending
Links
- 238000012544 monitoring process Methods 0.000 title claims description 64
- 230000002708 enhancing effect Effects 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 144
- 239000013598 vector Substances 0.000 claims abstract description 124
- 230000002776 aggregation Effects 0.000 claims abstract description 58
- 238000004220 aggregation Methods 0.000 claims abstract description 58
- 230000008569 process Effects 0.000 claims abstract description 56
- 238000010801 machine learning Methods 0.000 claims abstract description 32
- 238000004519 manufacturing process Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 74
- 238000003860 storage Methods 0.000 claims description 56
- 230000009471 action Effects 0.000 claims description 35
- 230000015654 memory Effects 0.000 claims description 29
- 230000000694 effects Effects 0.000 claims description 25
- 230000004931 aggregating effect Effects 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 9
- 230000006872 improvement Effects 0.000 claims description 9
- 238000013077 scoring method Methods 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 5
- 238000003066 decision tree Methods 0.000 claims description 4
- 238000013135 deep learning Methods 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- 238000012549 training Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 19
- 238000001514 detection method Methods 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000033001 locomotion Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000002265 prevention Effects 0.000 description 7
- 230000002155 anti-virotic effect Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000000644 propagated effect Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000003339 best practice Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 208000018208 Hyperimmunoglobulinemia D with periodic fever Diseases 0.000 description 1
- 206010072219 Mevalonic aciduria Diseases 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000013474 audit trail Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 208000013409 limited attention Diseases 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000000053 physical method Methods 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- DTXLBRAVKYTGFE-UHFFFAOYSA-J tetrasodium;2-(1,2-dicarboxylatoethylamino)-3-hydroxybutanedioate Chemical compound [Na+].[Na+].[Na+].[Na+].[O-]C(=O)C(O)C(C([O-])=O)NC(C([O-])=O)CC([O-])=O DTXLBRAVKYTGFE-UHFFFAOYSA-J 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
- 238000002759 z-score normalization Methods 0.000 description 1
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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- 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/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/561—Virus type analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
描述了用于对安全和操作警报进行自动分诊的工具和技术。通过基于机器学习的分类,从与警报相关联的原始事件数据提取的见解实例被聚合、向量化和分配置信度得分。置信度评分使得重负载的管理员和控件能够将注意力和资源集中在他们最有可能保护或提高被监控系统的功能性的位置。即使在接收事件数据之前不知道实例值的数目,特征向量也会通过聚合在底层实例值中接收广泛的基础。对置信度评分过程的可见性可以被提供,以允许调整或通知分类器模型的进一步训练。性能指标被定义,并且生产水平的性能可以被实现。
Description
背景技术
网络安全试图减少或防止破坏数据和计算资源的期望质量(诸如,机密性、可用性、完整性和隐私性)的攻击。有时,网络攻击专注于特定质量,例如,分布式拒绝服务攻击通常专注于侵蚀或消除数据和事务服务的可用性。在其他时候,攻击针对多种质量,例如,中间人攻击会降低机密性和隐私性,但它也可能引入虚假数据或经修改的数据,从而攻击数据完整性。网络攻击采取多种形式,包括:诸如网络钓鱼(phishing)的社会工程工作,诸如对密码的蛮力攻击的计算密集型攻击,诸如广告软件和勒索软件的开放式攻击,诸如rootkit和数据泄漏的隐蔽攻击,专注于诸如计算能力(创建僵尸机器人大军)或存储(劫持web服务器存储以保持非法材料)的特定资源的攻击,针对特定种类数据(例如病史、信用卡数据)的攻击,以及许多其他形式的攻击。
这些工具或技术中的一些在事件发生时或通过稍后检查事件日志来自动监控计算技术系统中的事件。一些工具或技术仅记录或报告事件,而其他工具或技术可能会发出警报,以便将注意力转移到被认为可疑或以其他方式被认为对确保计算技术的正常操作更重要的特定事件。监控的事件可以是与安全有关的事件,或者它们可以与操作健康状况有关,或两者都有。许多不同种类的事件可以被监控,包括例如设备操作结果代码、固件生成的错误、登录的失败尝试或成功尝试、尝试打开或创建或修改或删除文件、尝试改变目录、尝试改变访问权限特权、诸如扫描端口、重新引导、克隆、发送或接收符合指定模式的网络通信的动作,等等。
发明内容
本文的一些教导由快速区分指示实质性威胁的安全警报与没有实质性威胁的警报的最初技术挑战激发。这可以被视为对快速、高效和有效清除误报警报的挑战。下一级挑战是如何将被监控的计算系统的原始事件数据处理为适合机器学习机制进行有用分类的形式。根据下面提供的讨论,由这里教导的创新解决的其他技术挑战对本领域技术人员也将是明显的。
一些警报置信度评分(scoring)实施例包括:处理器和与处理器可操作地通信的存储器,以及其他计算组件,诸如聚合器、向量化器和分类器。聚合器接收见解实例。每个感兴趣的见解实例具有见解值和见解类型,并且与标识警报的警报标识符相关联。警报通过监控被监控系统而被生成。聚合器聚合具有相同见解类型的接收实例的见解值。向量化器创建包含特征值的特征向量,其中特征值对应于见解类型。特征向量包含特征值,该特征值是由聚合器从多个见解值产生的聚合见解值。特征向量也与警报相关联。分类器接受特征向量,并且至少部分地基于特征向量将置信度得分分配给警报。置信度得分指示:警报表示对被监控系统的一个或多个操作的威胁的置信度的程度。输出设备可以被配置成报告置信度得分。
一些置信度评分实施例提供或使用特定动作。例如,实施例可以获得数字电子事件数据,数字电子事件数据包括或以其他方式标识以下至少一项:通过监控生成的一个或多个事件结构;通过监控生成的警报结构;或者标识通过监控生成的警报结构的警报标识符。实施例从事件数据提取多个见解实例,每个见解实例具有见解值和见解类型,并且自动聚合具有相同见解类型的至少两个见解实例的见解值,从而产生聚合见解值。实施例还通过创建包含特征值的特征向量来自动向量化见解数据。特征值对应于见解类型,并且特征向量包含聚合见解值作为特征值中的一个特征值。实施例使用机器学习驱动的分类器对特征向量进行分类,并且基于分类的结果将至少一个置信度得分分配给事件数据。每个置信度得分指示:事件数据表示对被监控系统的一个或多个操作的威胁的置信度的程度。实施例还可以用至少一个分配的置信度得分来配置输出设备,或者它可以使控制机制采取行动来实现安全控制或操作控制。
与本文的教导有关的其他技术活动对于本领域技术人员而言也将变得明显。给出的示例仅是说明性的。本发明内容既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。相反,提供本发明内容是为了以简化的形式介绍一些技术概念,这些技术概念将在下面的具体实施方式中进一步被描述。本发明用权利要求来定义,并且在本发明内容与权利要求相抵触的情况下,以权利要求为准。
附图说明
将参考附图给出更具体的描述。这些附图仅说明所选择的方面,因此不能完全确定覆盖或范围。
图1是图示计算机系统并且还图示经配置的存储介质的框图;
图2是图示计算技术环境的各方面的框图,该计算技术环境包括被监控系统、监控系统、通过监控产生的事件数据以及其他项;
图3是图示计算系统事件数据的各方面的框图,该计算系统事件数据包括事件和警报;
图4是图示见解实例的各方面的框图;
图5是示出见解排名器和经排名的见解列表的框图;
图6是图示特征向量的各方面的框图;
图7是图示分类器的各方面的框图;
图8是图示一些聚合函数的框图;
图9是图示在一些实施例中避免的一些功能性的框图;
图10是图示一些分类器功能性的框图;
图11是图示一些系统中的一些附加操作特性的框图;
图12是图示见解类型的一些示例的框图;
图13是图示计算系统事件数据的源的一些示例的框图;
图14是图示一些警报置信度评分方法中的步骤的流程图;
图15是图示警报置信度评分方法的用法的数据流程图;以及
图16是进一步图示一些警报置信度评分方法中的步骤的流程图。
具体实施方式
概述
创新可以超越其起源,但了解创新的起源可以帮助人们更充分地理解该创新。在当前情况下,在发明人寻求提高(improve)系统安全性的方式的上下文中出现了系统监控创新。计算系统容易受到不同类型的攻击。为了提高系统的安全性,组织经常跟踪正在进行的事件以便捕获潜在的威胁。由于误报很常见,因此安全分析师有时会进一步调查可疑事件。这些分析师检查给定事件的不同特征,并且基于这些特征来确定事件是否是恶意的。分析师的决定用于向系统客户触发警报。
为了跟踪进行中的事件,入侵检测系统和其他安全工具监控单个机器、计算机网络和其他计算系统中的事件。当来自安全管理员或更复杂的安全工具的关注可能重要时,这些工具可以产生警报。类似地,资源管理工具监控存储装置、CPU、带宽、进程描述符、文件描述符、端口、虚拟机、服务器节点、和其他资源的使用,并且当来自操作管理员或更复杂的操作工具的关注可能重要时,产生警报。
通过监控甚至相对较小的计算系统,每小时生成的安全警报或操作警报的数目也可以是数百个或更高。根据安全设置、警报阈值、监控代理的数目和重点、监控粒度、活动用户的数目、被监控的机器和网络的数目、可用的事件日志存储空间以及其他因素,在给定时间段(例如一个小时)内记录或以其他方式记下的事件的数目可能在数千或甚至更高。在大型组织中,安全分析师可能被许多不同的安全事件或许多不同资源上的许多事件淹没。结果,安全分析师通常不能为其组织分析大量潜在的安全或资源威胁。因此,有效地将注意力(例如,人类管理员的注意力或自动入侵预防工具的处理周期)和计算资源分配给特定警报的工具和技术可以提高计算系统中的健康状况或安全监控功能性的效率和有效性,并且可以直接或间接地提高被监控系统本身的健康状况和安全性。
本文教导的一些实施例使用或提供虚拟分析师,虚拟分析师将置信度得分分配给安全警报。虚拟分析师不以与人类专家分配这种得分相同的方式向警报分配可信度得分,但是尽管如此,产生与从人类安全和操作专家的分析得出的得分一致的结果。
本文描述的一些实施例使用监督机器学习来计算警报的置信度得分,其捕获警报确实是恶意或以其他方式值得更密切关注的置信度。这种置信度得分对客户高度有用,因为它使得能够对警报进行优先排序以进行调查。置信度评分还可以使得能够过滤掉具有低于阈值参数的得分的警报。对警报的列表进行排名对于有效利用人类分析师的有限时间可能至关重要。
在给定事件的情况下,一些实施例执行遵循安全专家的逻辑的过程。该过程生成见解的集合,该见解的集合以事件的安全方面为特征。每个见解都与类型和值相关联。例如,见解可以对高严重性警报的数目进行计数,高严重性警报在事件之前24小时在机器上被生成。见解类型的数目由N表示,并且是固定的。警报可以生成具有潜在不同值的特定见解类型的多个实例,并且见解(实例)的总数目在事件之间可能有所不同。
为了处理每个事件生成的见解实例的可变数目,一些实施例执行以下操作:(a)对于每种见解类型,使用聚合函数聚合(给定事件的)所有实例的值,(b)由见解类型上的N维特征向量表示事件,以及(c)应用监督机器学习技术以便计算警报的置信度得分。然后,置信度得分可以被用来将有限的注意力和计算资源集中在它们的应用将最大地提高被监控系统的安全性或操作之处。
本文描述的一些实施例可以由一些人在更广泛的上下文中察看。例如,诸如聚合、分类、置信度、安全性和操作状态的概念可以被认为与特定实施例相关。然而,从广泛上下文的可用性,不遵循在本文中寻求对抽象概念的排他权;他们不是。而是,本公开关注于提供适当的特定实施例,这些实施例的技术效果完全或部分解决特定技术问题,诸如如何对警报进行优先级排序。涉及聚合、分类、置信度、安全性或操作状态的其他经配置存储介质、系统和方法在本文范围之外。因此,在适当地理解本公开的情况下,也避免了模糊、仅抽象、缺乏技术特征以及伴随的证明问题。
技术特征
本文描述的实施例的技术特征对于本领域的普通技术人员将是明显的,并且也将以多种方式对于广泛的专注读者而言是明显的。实施例解决了植根于计算技术中的技术活动,可能包括被监控系统中的各种事件。一些警报评分实施例通过帮助对网络安全控制行动或计算资源管理行动或这两者进行优先级排序来提高计算系统的功能,使得那些系统可以更安全、高效和有效地操作。在警报没有被评分时,时间和资源可能由于以临时方式筛选信息性多于紧急性的警报,或者由于解决影响不如未被解决的警报的警报而被浪费。通过本文教导的警报置信度评分机制和技术的操作,被监控系统将被改进,因为高得分的安全警报和操作警报将被给予迅速关注,而不会丢失在误报的噪声中,或不会仅在事故或阈值交叉之后的数小时或数天而不是在数分钟内采取动作。安全事故被检测、被分类为紧急并且采取措施得越早,就可以越多地限制其不利影响。利用快速警报评分,例如,入侵可以限制到单个机器而不是整个子网,或者数据泄露可以在一个文件被破坏后终止,而不是揭示一千个文件。
一些实施例提供的技术效果中的一些技术效果包括:(a)将警报划分为具有高置信度得分的警报和不具有高置信度得分的警报;(b)警报特征向量,通过使用实例值聚合,其是基于广泛的底层事件数据;以及(c)不断改进(refined)的机器学习模型。对应的技术改进可以包括:更快、更严格地抑制安全入侵或数据泄露,对资源容量使用率的改变进行更高级的警告,以及对本领域技术人员将是明显的其他改进。
根据所提供的描述,本教导的技术特征的其他方面和优点对于本领域技术人员也是明显的。
首字母缩写词、缩写和名称
下面定义一些首字母缩写词、缩写和名称。其他的在本文的其他地方定义,或者这里不需要定义来使本领域技术人员理解。
ALU:算术和逻辑单元
API:应用程序接口
BIOS:基本输入/输出系统
CD:压缩盘
CPU:中央处理单元
DVD:数字通用盘或数字视频光盘
FPGA:现场可编程门阵列
FPU:浮点处理单元
GPU:图形处理单元
GUI:图形用户界面
IDS:入侵检测系统,通常可以是例如HIDS(基于主机的IDS)或NIDS(基于网络的IDS)
IP:互联网协议
LAN:局域网
OS:操作系统
RAM:随机存取存储器
ROM:只读存储器
UEFI:统一可扩展固件接口
WAN:广域网
附加术语
在本文中参考诸如附图中所示的示例性实施例,并且本文中使用特定语言来描述它们。但是,相关领域并且具有本公开的技术人员会想到的本文中示出的特征的改变和进一步修改以及由本文中特定实施例示出的抽象原理的附加技术应用,应当被认为在权利要求的范围内。
在本公开中澄清了术语的含义,因此在阅读权利要求时应当仔细注意这些澄清。给出了特定示例,但是相关领域的技术人员将理解,其他示例也可以落入所使用的术语的含义内,并且落入一个或多个权利要求的范围内。这里的术语不一定具有与它们在一般用途(尤其是在非技术用途中)、在特定行业的用途、在特定词典或词典集中的用途相同的含义。附图标记可以与各种措词一起使用,以帮助示出术语的广度。从给定文本片段中省略附图标记并不一定意味着该文本未讨论图的内容。发明人主张并且行使对特定和所选择的词典编纂的权利。带引号的术语被显式地定义,但也可以不使用引号而隐式地定义术语。可以在具体实施方式中和/或在申请文件中的其他位置显式或隐式地定义术语。
如本文中使用的,“计算机系统”可以包括例如一个或多个服务器、主板、处理节点、膝上型电脑、平板电脑、个人计算机(便携式或非便携式)、个人数字助理、智能电话、智能手表、智能手环、蜂窝或移动电话、至少具有处理器和存储器的其他移动设备、视频游戏系统、增强现实系统、全息投影系统、电视、可穿戴式计算系统和/或提供至少部分由指令控制的一个或多个处理器的(多个)其他设备。指令可以采用固件或存储器和/或专用电路系统中的其他软件的形式。
“多线程”计算机系统是支持多个执行线程的计算机系统。术语“线程”应当被理解为包括能够调度或经受调度(并且可能进行同步)的任何代码,并且例如还可以被称为诸如“任务”、“进程”或“协程(coroutine)”的另一名称。线程可以并行地运行、顺序地运行,或以并行执行(例如,多处理)和顺序执行(例如,时间分割)的组合运行。
“处理器”是线程处理单元,诸如同时多线程实现中的核心。处理器包括硬件。给定芯片可以容纳一个或多个处理器。处理器可以是通用的,或者可以被定制用于特定用途,诸如向量处理、图形处理、信号处理、浮点算术处理、加密、I/O处理、机器学习等。
“内核”包括操作系统、管理程序、虚拟机、BIOS或UEFI代码、和类似的硬件接口软件。
“代码”意味着处理器指令、数据(包括常量、变量和数据结构)或指令和数据两者。“代码”和“软件”在本文中可互换地被使用。可执行代码、解译代码和固件是代码的一些示例。必须被解译或被编译以便执行的代码称为“源代码”。
“程序”在本文中被广泛地使用,以包括应用、内核、驱动、中断处理件、固件、状态机、库以及由程序员(也被称为开发者)编写和/或自动生成的其他代码。
“服务”意味着在云计算环境或其他网络或计算系统环境中提供的消耗性程序。
“云”意味着用于计算、存储和联网的池化资源,其可弹性用于测量的按需服务。云可以是私有的、公共的、社区的或混合的,并且可以以基础设施即服务、平台即服务、软件即服务或另一服务的形式提供云服务。除非另有说明,否则从文件读取或写入文件的任何讨论都包括读取/写入本地文件或通过网络(可能是云网络或其他网络)进行读取/写入,或者同时进行两者(本地和网络读取/写入)。
除非另有说明,否则如本文中使用的,“包括”允许附加元素(即,包括意味着包含)。
“优化”意味着改进,而不必完美。例如,可以在已经被优化的程序或算法中进行进一步的改进。
例如,“过程”在本文中有时被用作计算科学领域的术语,并且在技术意义上涵盖资源用户,即协程、线程、任务、中断处理件、应用过程、内核过程、过程(procedure)和对象方法。“过程”在本文中也用作专利法的术语,例如,在描述与系统权利要求或制品(经配置的存储介质)权利要求相对的过程权利要求时。类似地,“方法”在本文中有时被用作计算机科学领域的技术术语(一种“例程”),也被用作专利法领域的术语(“过程”)。本领域技术人员将理解在特定情况下意图使用的含义,并且还将理解(在专利法意义上的)给定的要求保护的过程或方法有时可以使用一个或多个过程或方法(在计算科学意义上)而被实现。
与没有自动化相反,“自动地”意味着利用自动化(例如,通过软件被配置的、用于本文中讨论的特定操作和技术效果的通用计算硬件)。特别地,“自动地”执行的步骤虽然可以由人发起或由人以交互方式引导,但它们并不手动地在纸上或在人的脑海中被执行。自动步骤利用机器执行,以便获取不利用如此提供的技术交互就不能够实现的一个或多个技术效果。
本领域技术人员理解,技术效果是技术实施例的推定目的。例如,在一个实施例中涉及计算,并且一些计算也可以在没有技术组件(例如,通过纸和铅笔,或者甚至作为精神步骤)的情况下执行,这一事实并不去除技术效果的存在或改变实施例的具体和技术性质。诸如从事件数据中提取见解实例、聚合见解值、对见解数据进行向量化、对特征向量进行分类以及执行机器学习模型的操作在本文中应当被理解为固有数字化。人的脑海不能直接与CPU或其他处理器或与RAM或其他数字存储设备进行对接,以读取和写入必要的数据,以执行本文教导的警报置信度评分步骤。鉴于本公开,本领域技术人员将很好地理解这一点,但是有时可能需要将事实告知或提醒其他人。除非另有说明,否则假设实施例还能够在生产环境中或在生产环境的测试实验室中大规模地操作(即,对来自一百个或更多个被监控设备的事件数据进行操作),而不是单纯的思想实验。
“计算性地”同样表示计算设备(至少是处理器加存储器)正在被使用,并且排除了仅凭人类思想或仅凭人类行动获取的结果。例如,如本文中理解的,用纸和铅笔进行算术不是计算性地进行算术。计算结果更快、更广泛、更深入、更准确、更一致、更全面和/或以其他方式提供超出了仅人类执行范围的技术效果。“计算性步骤”是计算性地执行的步骤。“自动地”或“计算性地”都不必意味着“立即”。“计算性地”和“自动地”在本文中可互换地被使用。
“主动地”意味着没有来自用户的直接请求。实际上,在直到步骤的结果已经被呈现给用户为止,用户甚至可能没有意识到实施例的主动步骤是可能的。除非另有说明,否则本文中描述的任何计算性和/或自动的步骤也可以主动地进行。
贯穿本文档,使用可选的复数“(多个)”意味着存在一个或多个所指示的特征。例如,“(多个)处理器”意味着“一个或多个处理器”或等效地“至少一个处理器”。
出于美国法律和实践的目的,在权利要求或其他地方使用本文中的“步骤”一词并不旨在调用部件加功能、步骤加功能或35美国法典第112条第六款/第112(f)条要求解释。特此明确驳斥对此种效果的任何推定。
出于美国法律和实践的目的,除非权利要求使用短语“用于...的部件(meansfor)”,否则它们并不意图援引部件加功能的解释。旨在被解释为部件加功能语言的权利要求语言(如果有的话)将通过使用短语“用于...的部件”来明确叙述该意图。当采用部件加功能的解释时,无论是通过使用“用于...的部件”和/或通过法院对权利要求语言的法律解释,应当将说明书中针对给定名词或给定动词列举的部件理解为与权利要求语言链接在一起并且在此通过以下任何方式链接在一起:出现在附图框图中相同框内,由相同或相似名称表示,由相同附图标记表示,在任何附图中描述功能关系,在本公开文本中指出了功能关系。例如,如果权利要求限制中记载了“zac小部件”,并且该权利要求限制受制于部件加功能的解释,则至少在说明书中任何图块、段落或示例中提到“zac小部件”的任何地方标识的或由分配给zac小部件的任何附图标记绑在一起,或被公开为与zac小部件的结构或操作具有功能关系的所有结构,将被认为是zac小部件的应用中标识的结构的一部分,并且将有助于定义zac小部件结构的等效集合。
贯穿本文档,除非另有明确说明,否则对过程中的步骤的任何引用都假定该步骤可以由感兴趣的一方直接执行,和/或由一方通过干预机制和/或干预实体间接执行,并且仍然落入该步骤的范围内。即,除非直接执行是明确说明的要求,否则该步骤不需要由相关方直接执行。例如,例如,涉及感兴趣的一方的关于目的地或其他主题的动作(诸如访问、聚合、分配、避免、分类、命令、比较、计算、连接、通信、配置、创建、确定、显示、执行、提取、标识、指示、列出、映射、满足、通知、获得、提供、提出、排序、接收、运行、发送、指定、获取、使用、利用、向量化(和访问、被访问、聚合、被聚合等))的步骤可以涉及另一方的干预动作(诸如转发、复制、上传、下载、编码、解码、压缩、解压缩、加密、解密、认证、调用等),但仍应当被理解为直接由感兴趣的一方执行。
每当引用数据或指令时,应当理解,例如,这些项配置计算机可读存储器和/或计算机可读存储介质,从而将其转换为特定物品,与简单地存在于纸上、在一个人的思想中,或者仅仅是信号在电线上传播相反。出于美国专利保护的目的,根据美国专利商标局(USPTO)在In re Nuijten案中的解释,存储器或其他计算机可读存储介质不是在可专利主题范围之外的传播信号、载波或仅能量。在美国,没有任何一项权利要求能够涵盖信号本身或仅能量,并且根据本公开,任何主张相反的权利要求解释都是不合理的。除非在美国以外地区授予的权利要求中另有明确说明,否则权利要求并不涵盖信号本身或仅能量。
此外,尽管本文中其他地方有明显相反的规定,但是应当理解(a)计算机可读存储介质和计算机可读存储器与(b)传输介质(也被称为信号介质)之间的明显区别。传输介质是传播信号或载波计算机可读介质。相比之下,计算机可读存储介质和计算机可读存储器不是传播信号或载波计算机可读介质。除非在权利要求中另有明确说明,否则“计算机可读介质”意味着计算机可读存储介质,不是传播信号本身,也不是仅能量。
本文中的“实施例”是示例。术语“实施例”不能与“本发明”互换。实施例可以自由地共享或借用方面以创建其他实施例(只要结果是可操作的),即使本文中本身未明确描述方面的结果性组合。对于本领域技术人员而言,要求明确和个体地描述的每个许可组合是不必要的,这与承认专利说明书是为本领域技术人员编写的政策相反。关于即使由少量可组合特征产生的可能组合的数目的形式化组合计算和非正式的直觉也将表明,本文中描述的方面存在大量的方面组合。因此,要求每种和每一个组合的明确的叙述将与要求简明的专利说明书并且使读者对有关技术领域知识的政策背道而驰。
附图标记的列表
提供以下列表是为了方便和支持附图以及作为说明书的文本的一部分,其通过参考多个项来描述创新。尽管如此,这里未列出的项仍可以是给定实施例的一部分。为了使文本更清晰易读,在文本中一些(而非全部)引用项附近叙述了给定附图标记。可以参考给定项的不同示例或不同实例使用相同的附图标记。附图标记的列表是:
100:操作环境,也被称为计算环境
102:计算机系统,也被称为计算性系统或计算系统
104:用户
106:外围设备
108:网络,通常包括例如LAN、WAN、软件定义的网络以及其他有线或无线网络
110:处理器
112:计算机可读存储介质,例如RAM、硬盘
114:可移除配置的计算机可读存储介质
116:指令,可用处理器执行;可以在可移除存储介质上,或在其他存储器(易失性或非易失性或两者)中
118:数据
120:(多个)内核,例如,(多个)操作系统、BIOS、UEFI、设备驱动
122:工具,例如,防病毒软件、防火墙、分组嗅探器软件、入侵检测系统(IDS)、入侵预防系统(IPS)、软件开发工具和工具套件、硬件开发工具和工具套件
124:应用,例如,文字处理器、web浏览器、电子表格、游戏、电子邮件工具
126:显示屏,也被称为“显示器”
128:计算硬件,以其他方式未与附图标记106、108、110、112、114关联
202:被监控的计算技术系统,即,包括处理器和存储器并且被监控的系统或设备;也被称为“被监控系统”
204:监控器,例如,硬件、软件或两者,其接收信号并且对其进行监控,或者以其他方式监控至少一种条件或状态,以标识一个或多个预定义事件,然后响应于对预定义事件的检测而产生事件数据;尽管理论上可以在某种基础上区分监控器和检测器,例如便携式/固定式或主动式/被动式,但是如本文所使用的,“检测器”是“监控器”的示例
206:监控系统,即,使用一个或多个监控器监控被监控系统的系统;尽管它们在图2中以单独的框被示出,但是在一些情况下,监控系统和被监控系统可以是相同计算系统102
208:被监控系统的硬件,其可以包括计算硬件106、108、110、112、114、126、128或其一部分,并且还可以包括既不支持数字操作也不以数字方式操作的非计算性硬件
210:被监控系统的软件,例如,其可以包括软件116、118、120、122、124
212:数据存储库,例如,日志、数据库或审计踪迹
214:事件检测器,例如,入侵检测器、入侵预防系统的检测部分、反恶意软件工具的检测部分、运动检测器、温度传感器、湿度传感器、光检测器、麦克风、开关,以及检测事件并且可以作为响应发送指示所述事件检测的信号的其他设备或机制;检测器214是监控器204的示例
216:控件,例如,安全控件、资源管理控件;安全控件可以包括物理控件和逻辑控件;逻辑控件有时也被称为“逻辑访问控件”或“技术控件”;控件可以驻留在监控器中或在功能上与监控器紧密链接
218:管理员;可以是人类或计算系统
220:事件数据
222:命令
224:见解提取器
226:向量化器
228:特征向量
230:聚合器
232:聚合函数;也可以被称为“聚合函数”;接受N个输入并且返回一个或多个值作为输出,N>1
234:聚合见解值
236:基于机器学习的分类器;也可以非正式地被称为“模型”,应当理解,该模型由输入和输出接口伴随并且通过输入和输出接口访问
238:置信度得分
302:事件
304:事件结构,即,包含关于事件的数据的数据结构
306:事件类型
308:事件ID,也被称为“事件标识符”
310:一般地,事件特性
312:事件的位置
314:与事件相关联的用户ID
316:时间,例如与事件相关联的时间点或时间间隔
318:在上下文中放置事件的数据
320:警报
322:警报结构,即,包含关于警报的数据的数据结构
324:警报类型
326:警报ID,也被称为“警报标识符”
402:见解实例
404:见解值
406:见解类型
502:见解排名器,也被称为“见解实例排名器”
504:经排名的见解实例的列表
602:特征值;也被称为“特征向量值”
702:经训练的模型,例如,使用机器学习对输入进行分类的模型
704:分类器接口,例如API或其他接口,其接收特征向量以对特征向量进行分类并且将特征向量馈送到经训练的模型以进行分类,然后从经训练的模型接收分类(置信度得分)并且将其提供给监控系统软件以显示给用户或进一步用于对警报进行优先级排序
802:求和聚合函数,即,将两个或更多个数字作为输入并且提供其加法和作为输出的函数
804:乘积聚合函数,即,将两个或更多个数字作为输入并且提供其乘积作为输出的函数
806:最小值聚合函数,即,将两个或更多个数字作为输入并且提供其最小值作为输出的函数
808:最大值聚合函数,即,将两个或更多个数字作为输入并且提供其最大值作为输出的函数
810:计数聚合函数,即,取N个输入并且提供N作为输出的函数,其中N是大于1的整数
812:非重复计数聚合函数,即,取N个输入并且提供M作为输出的函数,其中M和N是整数,N>1,1<=M<=N,并且M是不同输入值的数目,例如,非重复计数(1,3,7,19)=4,非重复计数(1,3,-7,19,3)=4,非重复计数(1,3,1,0.2,3)=3,以及非重复计数(-3,-3,-3,-3,-3,-3,-3)=1。
814:中值聚合函数,即,将两个或更多个数字作为输入并且提供其中值作为输出的函数;要找到N个数字的集合的中位数,将N个数字按顺序排列(升序或降序,任一个),并且中值是中间的数字(如果N为奇数)或中间两个数字的平均值(如果N是偶数)
816:平均聚合函数,即,将两个或更多个数字作为输入并且提供其平均值(算术平均值)作为输出的函数;N个数字的平均值是它们的和除以N
818:众数(mode)聚合函数,即,将两个或更多个数字作为输入并且提供其众数作为输出的函数;数字的集合的众数是该集合中最频繁出现的一个或多个数字,例如,mode(1,2,3,3,4,5)=3,mode(-1,2,-3,4,2,-1)=-1,2。
820:表达式组合聚合函数,即,将两个或更多个数字作为组合的输入并且以组合的结果作为输出的聚合函数的组合;函数可以使用任何可计算的运算符进行组合,并且可以包括本身不是聚合函数的函数
822:在图8中未特别调出(call out)的任何聚合函数,例如,x百分比(低于所有感兴趣值的指定百分比x的值的数目)
902:可以特定地从给定实施例排除的功能性
904:向量维度,即特征向量中的特征值的数目
906:降维代码,其在执行时,减少机器学习上下文中正在考虑的随机变量的数目
908:填充代码,其在执行时,插入默认值以在机器学习上下文中进行向量化时代替未定义的值
910:默认值,例如,特征向量中的值,其不依赖于任何特定的底层事件数据
912:未定义的值,例如,特征向量中没有对应事件数据的空间或时隙
1002:分类器功能性
1004:神经网络功能性
1006:深度学习网络功能性
1008:卷积网络功能性
1010:决策树功能性
1012:概率分类器功能性
1014:朴素贝叶斯分类器模型功能性
1016:在图10中未特别调出的其他机器学习分类技术
1100:在图11之外的图中未特别调出的系统操作特性或结构或其他功能性
1102:置信度得分范围,例如[0.0..1.0];根据实现,该范围以外的值将被归一化以适合该范围,或者被丢弃或被视为无效
1104:置信度得分报警(alarm)阈值;在其层级包括:未被监控的出现、被监控的事件、基于被监控的事件的警报、基于高置信度警报的报警的实现中,可以被用来自动确定是否将警报升级为报警
1106:从获取提取的见解到对与提取的见解相关联的警报或事件分配置信度得分的持续时间;持续时间可以以系统时间、现实世界时钟时间或其他单位来测量,但是除非另有说明,否则假设现实世界时钟时间
1108:重复率,即,重复指定动作序列的速率
1202:限定符,其有助于定义见解类型
1204:创建的进程的数目;这是示例见解类型
1206:特定种类事件的出现次数;这是一种示例见解类型,并且假定陈述了一种特定种类的事件
1208:见解类型限定符,其通过将见解类型限制为特定机器来帮助定义见解类型
1210:见解类型限定符,其通过将见解类型限制为特定的时间间隔来帮助定义见解类型
1212:特定物理项的测量结果,例如,来自运动检测器的数据,或来自防盗报警系统中的开关的数据
1300:被监控的事件数据源
1302:基于主机的网络入侵检测系统、基于主机的网络入侵预防系统、基于网络的网络入侵检测系统或基于网络的网络入侵预防系统;这些是工具122的示例,并且也是检测器214的示例
1304:云管理平面或网络管理平面,例如,软件定义的网络的管理平面
1306:防病毒工具;这是工具122的示例,并且也是检测器214的示例
1308:运动检测器;这是检测器214的示例
1310:在附图中未另外调出的物理安全机制,例如,人工陷阱、周边传感器等
1312:防火墙;这是工具122的示例,并且也是检测器214的示例
1314:存储控制器
1316:集群控制器
1318:在附图中未另外调出的逻辑安全机制,例如,密钥库、文件完整性检查器等
1400:警报置信度评分方法;还可以为不包含警报的事件数据的集合分配置信度得分
1402:获得事件数据
1404:提取见解实例
1406:对见解值进行聚合
1408:对见解数据进行向量化
1410:对特征向量进行分类
1412:基于分类1410向特征向量分配置信度得分
1414:将置信度得分与阈值进行比较
1416:显示、说出、打印或以其他方式配置屏幕或其他输出设备,例如用于报告或可视性增强或其他目的
1500:用法示例
1502:虚拟建议器,例如警报置信度评分服务、模块或设备
1504:建议的消费者,即,消费来自虚拟建议器的输出的实体,例如管理员218或入侵预防系统
1506:控制行动,例如,对工具122的命令222,或对更权威的建议的消费者的通知或升级
1508:见解类型的定义;例如,可以使用类似于图12中所示或本文另外教导的示例和限定符来实现
1510:人类安全专家
1600:流程图
1602:通知管理员218
1604:采取控制行动
1606:命令安全工具来实现安全控制;这是采取控制行动的示例
1608:命令计算资源管理工具来实现操作控制;这是采取控制行动的示例
1610:向用户提供对警报评分过程或机制的可见性,例如通过以其他方式显示所采取的内部行为、所使用的内部值或两者
1612:对警报评分过程或机制的可见性
1614:通过网络发送数据、命令或其他信号
1616:通过网络接收数据、命令或其他信号
1618:避免使用降维功能性
1622:避免使用默认值填充功能性
1628:因为置信度得分达到或超过阈值而发出报警;达到阈值还是超出阈值是报警条件取决于实现
1630:避免发出报警,因为置信度得分未达到或超过阈值
1634:满足一个或多个性能标准,例如,关于执行指定操作的重复率或持续时间
1636:性能标准,例如关于持续时间1106或重复率1108
1638:访问事件数据的日志或其他存储库
1640:在附图中未具体调出但在本文中教导的任何其他步骤1642:对见解实例进行排名
1644:用经排名的见解实例的列表配置输出设备;这是配置1416的示例
1646:标准化见解值
1648:警报与(多个)见解实例之间的映射
1650:对警报进行优先级排序以获得管理关注或控制行动
操作环境
参考图1,用于实施例的操作环境100包括至少一个计算机系统102。计算机系统102可以是多处理器计算机系统,也可以不是。操作环境可以包括给定计算机系统中的一个或多个机器,这些机器可以在云中被集群、被进行客户端服务器联网和/或被进行对等联网。个体机器是计算机系统,一组协作机器也是计算机系统。给定计算机系统102可以被配置成用于例如具有应用的最终用户、用于管理员、用作服务器、用作分布式处理节点和/或以其他方式。
人类用户104可以经由键入的文本、触摸、语音、移动、计算机视觉、手势和/或其他形式的I/O,通过使用显示器、键盘和其他外围设备106与计算机系统102交互。屏幕126可以是可移除的外围设备106,或者可以是系统102的组成部分。用户界面可以支持实施例与一个或多个人类用户之间的交互。用户界面可以包括命令行接口、图形用户界面(GUI)、自然用户界面(NUI)、语音命令界面和/或其他用户界面(UI)呈现,它们可以作为不同的选项被呈现或者可以被集成。
系统管理员、网络管理员、云管理员、安全人员、操作人员、开发人员、工程师、审计员和最终用户均是特定类型的用户104,尽管可以预期大多数用户可能会扮演安全人员或操作人员的角色。代表一个或多个人的自动化代理、脚本、回放软件等也可以是用户104,例如,以便于测试系统102或作为警报评估或升级业务或技术过程的一部分。在一些实施例中,存储设备和/或网络设备可以被视为外围装备,在其他实施例中,可以被视为系统102的一部分,这取决于它们与处理器110的可分离性。例如,图1中未示出的其他计算机系统可以使用经由网络接口设备到网络108的一个或多个连接,以技术性方式与计算机系统102或与另一个系统实施例交互。
每个计算机系统102包括至少一个处理器110。与其他合适的系统一样,计算机系统102也包括一个或多个计算机可读存储介质112。存储介质112可以是不同的物理类型。存储介质112可以是易失性存储器、非易失性存储器、就地固定介质、可移除介质、磁性介质、光学介质、固态介质,和/或其他类型的物理持久性存储介质(与仅传播介质信号或仅能量相反)。特别地,当被插入或以其他方式被安装时,经配置的存储介质114(诸如便携式(即,外部的)硬盘驱动器、CD、DVD、存储棒或其他可移除非易失性存储介质)可以在功能上成为计算机系统的技术性部分,使其内容可访问,以供与处理器110交互并且由处理器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和/或GPU)、存储器/存储介质112和显示器126以外,操作环境还可以包括其他硬件128,例如,诸如电池、总线、电源、有线和无线网络接口卡。名词“屏幕”和“显示器”在本文中可互换地被使用。显示器126可以包括一个或多个触摸屏、响应于来自笔或平板电脑的输入的屏幕,或仅用于输出的屏幕。在一些实施例中,诸如人类用户I/O设备(屏幕、键盘、鼠标、平板电脑、麦克风、扬声器、运动传感器等)的外围设备106将与一个或多个处理器110和存储器进行可操作的通信。
在一些实施例中,系统包括通过网络108连接的多个计算机。网络接口设备128可以使用例如可以存在于给定的计算机系统中的网络组件(例如,分组交换网络接口卡、无线收发器或电话网络)提供对网络108的访问。联网接口装备和诸如交换机或路由器或防火墙的其他网络组件的虚拟化也可以存在于例如软件定义的网络中。给定的实施例还可以通过直接存储器访问、可移除非易失性存储介质或其他信息存储取回和/或传输方法来传输技术数据和/或技术指令。
本领域技术人员将理解,本文中在“操作环境”中呈现的前述方面和其他方面可以形成给定实施例的一部分。本文档的标题并不旨在将特征严格分类为实施例和非实施例特征集。
一个或多个项在附图中以轮廓形式被示出,或者在括号内被列出,以强调它们不一定是所示操作环境的一部分或所有实施例的一部分,而是可以与操作环境中的项或本文中讨论的一些实施例互操作。在任何附图或任何实施例中,并不遵循非轮廓或括号形式的项是必需的。特别地,图1是为了方便起见而被提供;在图1中包括项并不表示该项或该项的描述用途是在本发明之前已知的。
关于系统的更多信息
本文提供了示例以帮助说明技术的各个方面,但是本文档内给出的示例并未描述所有可能的实施例。实施例不限于本文提供的特定实现、布置、显示、特征、方法或场景。给定的实施例可以包括例如附加的或不同的技术特征、机制、序列、数据结构或功能性,并且可以以其他方式脱离本文提供的示例。
图2图示了适用于本文教导的实施例的一些评分架构的各方面。被监控系统202和监控系统206在一个或多个网络108上循环通信,其中来自被监控系统的事件数据220在监控系统中被评估,监控系统可以响应于评估而发送被监控系统命令222,导致附加事件数据,然后对其进行评估,等等。例如,监控系统的评估可以标识安全事故,并且所得的命令222可以是事故响应的一部分,该事故响应包含、消除安全事故或从安全事故恢复。或者,监控系统评估可以标识操作漏洞,并且命令222可以是主动响应或被动响应的一部分,该主动响应或被动响应分配附加的存储装置、交换驱动器、重新路由网络流量、重新分配网络带宽、增加附加的计算资源、转移工作负载、或采取其他计算资源管理操作。
所示的被监控系统202包括硬件208,并且可以包括软件210。日志或其他数据存储库212可以在被监控系统外部或在被监控系统202内进行维护。
同样如图2中所示,可以使用一个或多个监控器204进行监控,该监控器可以在被监控系统的外部或内部(或两者)。监控器204可以在通用硬件上运行的软件中被实现,或者可以用软件和专用硬件实现,或者可以完全以硬件实现。监控器可以是事件检测器214或可以包括事件检测器214。监控器可以包括或与控件216相关联,控件216响应于命令222而采取行动。还可以存在管理员218,例如,以从监控系统接收升级的警报并且对其行动。
监控系统206可以包括见解提取器224,见解提取器224从事件数据220提取见解值,以支持对被监控系统的状态进行评估,并且对其安全性或操作能力或前景的威胁的严重性进行评分。所示的监控系统使用也在本文中其他地方讨论的组件来执行评估,包括:向量化器226,其产生特征向量228;聚合器230,其使用聚合函数232从提取的见解实例产生聚合见解值234以包括在特征向量228中;以及机器学习分类器236,其将置信度得分238分配给特征向量。置信度得分指示与经评分的特征向量相关联的事件数据警报的严重性、可信度或紧急性。
系统202和206以及监控器204可以均包括一个或多个机器,或由一个或多个机器组成,或依赖于一个或多个机器。给定机器是系统102的示例,并且每个机器可以是物理机器或虚拟机或容器,容器例如通过管理程序或管理平面在底层物理机器硬件上运行。管理程序可以是直接在硬件上运行的“裸机”或I型管理程序,或者可以是运行在主机操作系统或另一内核上的II型管理程序,另一内核又直接在硬件上运行。给定机器中的硬件包括具有一个或多个内核的至少一个处理器110,以及与(多个)处理器进行可操作通信的RAM或其他工作存储器112。(多个)物理机器或(多个)虚拟机或(多个)容器可以均位于公共云、私有云、混合云或社区云中,或者可以不在云中。
图2和本文中的其他附图提供了示例,而不是合适的评分架构的完整清单。本领域技术人员将认识到,本文中关于获得事件数据以及使用机器学习来对警报和其他事件数据进行评分的教导也可以与其他评分架构一起应用。
图3图示了事件数据220。事件数据的示例包括可以由事件数据结构304表示的事件302,和可以由警报数据结构322表示的警报320。事件结构304可以包括事件类型306、事件ID 308和事件特性310,诸如事件的位置312、与事件相关联的用户的ID 314、事件出现的时间点或时间间隔316、以及将事件放置在上下文中的其他数据318。警报结构322可以包括警报类型324、警报ID 326和底层事件结构304数据。例如,ID 308、326可以是GUID(全局唯一标识符)、在主日志中的索引或其他标识符。
图4图示了可以从事件数据220中提取的见解实例402。给定见解实例402包括见解值404和向该值添加含义的见解类型406。图12示出了见解类型406和限定符1202的示例,在一些情况下,限定符1202可以用来定义见解类型406。图12中调出的见解类型包括创建的进程的数目1204和事件出现的次数1206。例如,关于见解类型代表哪个机器1208或哪个时间间隔1210,这些见解类型中的每个可以被限定。特定物理项(例如,运动传感器、防盗报警开关或其他物理设备)的测量结果1212也可以用作见解类型。因此,作为非常具体的示例,“前门在晚上10点和早上7点之间打开”是一种见解类型,“过去一小时中在服务器0113上创建的进程”是一种见解类型,以及“过去五分钟内在任何机器上利用用户ID sysguru进行的失败的登录尝试”是一种见解类型。
如图5中所示,见解排名器502可以例如通过将见解实例402放置在经排序的列表504中来对见解实例402进行排名。可以根据任何一个或多个事件特性310对见解实例进行排名,并且特别地,可以根据它们对聚合见解值234的相应见解值贡献来对它们进行排名。例如,如果这里被表示为inst-0001、inst-0003和inst-0347的三个见解实例对于某个具体见解类型T具有相应的值2、6和4,并且聚合函数sum()将这些值聚合在一起,形成2+6+4=12作为聚合见解值,那么从最大贡献到最小贡献的排名列表是:inst-0003、inst-0347、inst-0001。可以将聚合函数求和称为“求和”、“sum()”或“求和802”,并且可以使用各种术语类似地表示其他聚合函数。
图6图示了特征向量228,其可以由向量化器根据从事件数据220提取的见解值404创建。给定的特征向量228包括多个见解值404,见解值在特征向量中被称为“特征值”。特征值602中的一个或多个特征值是聚合见解值234、404。尽管在图6中未明确示出,但是每个特征值602具有向该值添加含义的相关联的见解类型406。特征值的类型也可以被称为“特征类型”或“特征值类型”。
尽管在本文的几个示例中使用了聚合函数sum(),但是可以使用其他聚合函数232来代替sum()或与sum()组合使用。图8示出了聚合函数232的示例,包括求和802、乘积804、最小值806(最小值)、最大值808(最大值)、计数810、非重复计数812、中位数814、平均值816、众数818、表达式820(包括具有其他可评估代码的一个或多个聚合函数232),以及未被调出的其他例程822(例如x百分位数)。
图7图示了机器学习分类器236的各个方面。所示的分类器包括经训练模型702和接口704,接口704用于将向量228馈送到经训练模型并且从模型702接收对应的置信度得分238。接口可以包括API,特别是在分类器236被实现为云服务时。在图10中进一步图示了分类器236的功能性1002。如所指示的,分类器236可以使用神经网络1004、深度学习网络1006、卷积网络1008、一个或多个决策树1010、概率分类器1012或朴素贝叶斯分类器模型1014中的一个或多个来实现。分类器236还可以采用图10中未调出的一个或多个其他机器学习技术1016,诸如支持向量机、k最近邻分类技术、集成(ensemble)方法、或线性分类技术。图9示出了一些实施例避免的功能性902,包括代码906,用于降维904以使用较小向量,以及代码908,用于以一些默认值910(诸如,0或1)代替向量中的未定义值912。
图11示出了操作一些系统的一些附加特性1100。监控系统可以对置信度得分施加有效性范围1102,或者将置信度得分与提升阈值1104进行比较,或者两者都进行。可以使用见解-得分持续时间1106、重复率1108或这两者或其他措施来测量性能。
图13示出了事件数据220的源1300的一些示例。所示的数据源包括入侵检测或预防系统1302、管理平面1304、防病毒工具1306和防火墙1312以及其他逻辑安全机制1318、运动检测器1308和其他物理安全机制1310,以及计算资源控制器,诸如存储控制器1314或集群控制器1316。本领域技术人员将认识到,这些示例对于任何特定系统不一定是全面的。
一些实施例使用或提供被配置成执行警报置信度评分的监控计算系统。该监控系统206包括一个或多个处理器110、与至少一个处理器可操作地通信的存储器112,以及评分专用组件。在该示例中,一个评分专用组件是聚合器230,其在用至少一个处理器执行时接收见解实例402。每个见解实例402具有见解值404和见解类型406,并且每个见解实例与警报标识符326相关联,警报标识符326标识先前通过对被监控系统202的监控而从监控器204生成的警报。聚合器230被配置成聚合具有相同见解类型的接收实例的见解值。
在该示例中,另一评分专用组件是向量化器226,其在用至少一个处理器执行时,创建包含特征值602的特征向量228。该特征值对应于相应的见解类型406。该特征向量包含至少一个特征值602,至少一个特征值602是聚合器230从多个见解值404产生的聚合见解值234。特征向量也与所标识的警报320相关联。
在该示例中,另一评分专用组件是分类器236,其在用至少一个处理器执行时接受特征向量228。分类器被配置成至少部分地基于特征向量将置信度得分238分配给警报320。置信度得分指示:警报表示对被监控系统202的一个或多个操作的威胁的置信度的程度。在该示例中,通过置信度得分来配置诸如屏幕126的输出设备,例如,通过显示得分238。
在一些实施例中,监控计算系统206包括见解提取器224,与见解提取器224通信或以其他方式与见解提取器224组合。见解提取器被配置成接收警报标识符326并且从与警报相关联的事件数据提取见解实例402,因此向量化器226和聚合器230可以使用本文描述的至少一些提取的见解实例。
在一些实施例中,在从所述聚合器接收到见解实例时的开始点,直到并且包括输出设备通过置信度得分被配置时的结束点的总经过时钟时间1106小于1秒的意义上,监控计算系统206被配置成用于企业生产部署。在一些实施例中,该见解-得分持续时间1106小于500毫秒,并且在一些实施例中小于100毫秒。实现(特别是在生产环境中)可接受的见解-得分持续时间1106也可以由本领域技术人员、行业标准、行业最佳实践或服务水平协议来定义。可接受的执行持续时间也可以使用不同的起点和终点来定义。
在一些实施例中,聚合器230被配置成通过应用以下聚合函数232中的至少一个来聚合见解值:求和802、最小值806、最大值808、计数810、非重复计数812、众数818、平均值816,在一些实施例中,聚合器230恰好应用一个聚合函数232。在一些实施例中,聚合器230应用一个或多个聚合函数232,但仅生成单个类型406的聚合见解值234,以包含在特征向量228中,而在其他实施例中,一些或全部特征向量228均包含不同相应类型406的两个或更多个聚合见解值234。
在一些实施例中,聚合器230被配置成通过将至少两个聚合函数232应用于多个见解值来聚合多个见解值的给定集合至少两次,至少两个聚合函数232在这里被表示为函数A和函数B。例如,三个实例值1、3、5可以被求和(函数A为求和802)以产生聚合见解值1+3+5=9,并且相同的三个实例值1、3、5也可以进行平均(函数B是平均值816)以产生聚合见解值(1+3+5)/3=3。在这些示例实施例中,向量化器226被配置成创建在这里被表示为向量A的特征向量,向量A包含在这里被表示为值A的特征值,它是由聚合器的、将函数A向多个见解值的应用而产生的聚合见解值,并且向量化器226还被配置成创建在这里被表示为向量B的特征向量,向量B包含在这里被表示为值B的特征值,它是由聚合器的、将函数B向多个见解值的应用而产生的聚合见解值,值B与值A不同。在特定示例中,总和9将被放置在特征向量A中,并且平均值3将被放置在特征向量B中。在一种备选方法(也从特定示例的数据导出)中,向量化器将创建单个特征向量,其包含聚合见解值9(总和)并且还包含聚合见解值3(平均值)。相应的见解类型将包括诸如“…之和”和“…的平均值”的限定符1202。
在具有多个聚合见解值(每个均从相同的底层见解值计算出并且被放置在相应的特征向量中)的这些示例实施例中,分类器236被配置成至少部分基于向量A,向警报分配在这里被表示为得分A的置信度得分,并且至少部分基于向量B向警报分配在这里被表示为得分B的置信度得分。然后,输出设备106通过以下至少一项被配置:得分A、得分B,或至少基于得分A和得分B的组合置信度得分,例如最小值(得分A,得分B)或最大值(得分A,得分B)或平均值(得分A,得分B)。在一种变型中,分类器将向量A和向量B的联接输入到第三向量C中作为输入。然后,分类器将对单个向量C操作,从而产生单个得分C。
在一些实施例中,监控计算系统206没有降维功能性906。在一些实施例中,监控系统206没有以默认值填充特征向量中的未定义值的填充功能性908。一些实施例没有功能性906和功能性908两者。如本文所使用的,“没有”意味着所讨论的代码或者存在但被禁用,或者不存在并且也未被调出(它可能远离监控系统)。无论哪种方式,当监控系统206不依赖于该功能性来处理事件数据220来分配置信度得分238时,监控系统206就没有特定功能性。给定实施例中没有特定功能性有助于突出显示该实施例中使用的技术与可能也涉及特征向量的不同技术之间的区别。
在一些实施例中,分类器236包括并且使用以下至少一项:朴素贝叶斯分类器模型1014、神经网络1004、深度学习网络1006、卷积网络1008、决策树1010或概率分类器1012。一些分类器并行使用这些功能性中的两个或更多个功能性,然后比较或组合它们相应的所得的得分238,以得出最终的置信度得分238,然后置信度得分238可以被显示给管理员或用于驱动对被监控系统的控制。
监控计算系统206的一些实施例包括见解排名器502,其在用至少一个处理器执行时,根据它们对置信度得分238的相应贡献来对多个见解实例402进行排名。输出设备106被配置有经排名的见解实例的排名列表504。该列表504可以帮助提供对所显示的置信度得分238如何被计算的可见性和理解。
还可以通过在一个或多个处理阶段显示事件数据220(例如,来自监控器的原始数据、提取的见解实例、聚合见解值或特征向量),来提供可见性1610。还可以通过显示其他内部机制(诸如,见解类型定义1508)或通过显示正在采用哪种种类的(多个)分类器功能性1002(例如,诸如“神经网络”或“朴素贝叶斯”的文本短语)来提供可见性1610。
本文还描述了其他系统实施例,或者直接或者衍生为所描述的方法或经配置的介质的系统版本,这通过本文对计算硬件的扩展讨论来进行通知。
方法
图14图示了示例警报置信度评分方法1400。执行该方法的实体例如通过在网络上接收事件数据或通过与检测器214的直接电子连接来获得1402事件数据220。事件数据接收者实体从事件数据提取1404见解实例402,聚合1406所提取的见解值404中的至少一些所提取的见解值,并且向量化见解数据404、304、322以创建特征向量228。然后,该向量被进行分类1410并且被分配1412置信度得分238。从分类器输出的得分可以缩放到所需的范围和粒度以进行显示,例如以0.1为增量的[0...1]或以1为增量的[0...100]。最终置信度得分238可以通过输出设备被报告1416,可能是在其与阈值1104比较1414(在缩放之前或之后)以确定其足够大以报告1416之后。可以重复步骤以处理附加事件数据。
图15图示了警报置信度评分方法(诸如方法1400)的用法1500。被监控系统202经历事件302,其中一些事件被检测器214检测。检测器生成事件数据322,诸如原始事件(即未被评分)警报322,以及事件304的其他电子表示。在该示例中,警报具有警报标识符326。该事件数据行进至见解提取器224,从一个角度看,见解提取器224可以被视为“黑匣子”,其使用由人类安全专家1510先前提供的见解类型定义1508来从事件数据提取见解402。人类专家可以根据他们的领域知识定义N个见解类型。人类专家可能已经决定,例如,跟踪失败的登录尝试和成功的登录尝试都有助于提高网络安全性,并且因此,可能已经定义了一个表示失败的登录尝试的实例类型406和另一表示成功的登录尝试的实例类型406。当提取器在事件数据中遇到那些值404时,见解提取器224相应地提取与这些定义的类型匹配的实例值404。所提取的实例402行进至聚合器230和向量化器226,其共同产生特征向量228,特征向量228对应于警报标识符326并且具有至少一个聚合见解值234。特征向量228被馈送到虚拟建议器1502,虚拟建议器1502应用分类器模型702,以产生针对该向量的置信度得分,并且因此产生针对包括已标识警报的关联事件数据的置信度得分。建议的消费者1504可以将置信度得分用作触发或指导以施加在被监控系统上操作的控制行动1506。被监控系统可能会由于控制行动而经历附加事件,并且所示的监控和控制循环将继续。
除非另外指示,否则将由例如虚拟建议器1502或监控系统206自动执行附图中所示或以其他方式公开的技术方法。在牵涉到人类管理员或其他人类的行动的范围内,方法也可以部分自动并且部分手动地被执行,例如,输入命令以显示升级的警报的细节。本文中被预期为创新的方法都不是完全手动的。在给定的实施例中,可以重复方法的零个或多个步骤,也许利用不同的参数或数据来进行操作。实施例中的步骤还可以以与图14和图16中所示的从上到下的顺序不同的顺序来完成。步骤可以顺序地、以部分重叠的方式或完全并行地被执行。特别地,遍历流程图1400或流程图1600或图15事件数据监控和控制循环项以指示在方法期间执行的步骤的顺序,可以从方法的一种执行到方法的另一种执行变化。遍历顺序也可以从一个方法实施例到另一方法实施例变化。步骤也可以被省略、组合、重命名、重新组合、在一个或多个机器上被执行,或者以其他方式脱离所示流程,只要所执行的方法可操作并且符合至少一个权利要求。
一些实施例使用或提供一种用于向数据分配置信度得分的方法,该数据通过监控被监控的系统而被生成。该方法包括获得1402数字电子事件数据,该数字电子事件数据包括或以其他方式标识以下至少一项:提供监控生成的一个或多个事件结构,通过监控生成的警报结构,或标识通过监控生成的警报结构的警报标识符。方法还包括从事件数据提取1404多个见解实例,每个见解实例具有见解值和见解类型,并且自动聚合1406具有相同见解类型的至少两个见解实例的见解值,从而产生聚合见解价值。该方法还包括:通过创建包含特征值的特征向量来自动向量化1408见解数据,特征值与见解类型相对应,并且特征向量包含聚合见解值作为特征值中的一个特征值。该方法还包括:使用机器学习驱动的分类器对特征向量进行分类1410,以及基于分类的结果向事件数据分配1412至少一个置信度得分,其中每个置信度得分指示:事件数据表示对被监控系统的一个或多个操作的威胁的置信度的程度。该方法还包括:用至少一个所分配的置信度得分来配置1416输出设备。
在一些实施例中,置信度得分超过1414预定阈值1104,并且方法相应地进一步包括以下至少一项:向人类管理员通知1602事件数据中的至少一部分事件数据;显示根据相应的置信度得分进行排名的警报的列表;自动采取1604控制行动以实现对被监控系统的控制;自动命令1606安全工具采取安全控制行动以实现对被监控系统的安全控制;或自动命令1608资源管理工具采取操作控制行动以实现对被监控系统的操作控制。
在一些实施例中,方法包括:通过以人类易读的格式在输出设备上显示1416以下各项中的至少一项来向置信度评分中提供1610可见性1612:所获得的事件数据220的至少一部分;在提取多个见解实例时利用的至少一个见解类型定义1508;所提取的见解实例402中的至少两个见解实例;在聚合见解值时利用的至少一个聚合函数232的名称;或特征值602中的至少一个特征值。
在一些实施例中,方法包括:通过网络连接,向输出设备发送1614所分配的置信度得分。在一些实施例中,诸如可见性数据1612、列表504、原始数据220或其组合的其他数据也在一个或多个网络连接上被发送1614。
在一些实施例中,方法多次重复至少以下步骤:提取1404、聚合1406、向量化1408、分类1410和分配1412。在这些实施例中的一些实施例中,方法还包括:将所得的分配的置信度得分与预定阈值1104进行比较1414,当分配的置信度得分中的一个置信度得分超过预定阈值时发出1628报警,并且当分配的置信度得分中的一个置信度得分不超过预定阈值时,避免1630发出报警。基于警报的高置信度得分发出报警是升级警报的示例。
在一些实施例中,方法通过自动重复至少以下多次来在监控系统中执行重复:提取1404、聚合1406、向量化1408、分类1410和分配1412。其他步骤也可以用于定义重复,因此定义重复率。在这些实施例中的一些实施例中,方法以平均速率1108执行所述重复,平均速率1108为在至少一百小时的持续时间上每分钟至少一次重复。在一些实施例中,重复率是在至少十小时的持续时间上每分钟至少一次重复。在一些实施例中,重复率是在至少两个小时的持续时间上每分钟至少一次重复。在一些实施例中,重复率是在至少十个小时的持续时间上每分钟至少十次重复。在一些实施例中,重复率是在至少两个小时的持续时间上每分钟至少十次重复。实现(特别是在生产环境中)的可接受的重复率也可以由本领域技术人员、行业标准、行业最佳实践或服务水平协议来定义。
在一些实施例中,向量化1408创建特征向量,该特征向量包含与一个或多个见解类型406相对应的一个或多个特征值,见解类型表示以下至少一项:在被监控系统的机器上创建的进程的数目;在指定的时间间隔内,在被监控系统的机器上创建的进程的数目;特定种类的事件在被监控系统的一个或多个机器上出现的次数;或在指定的时间间隔内,特定种类的事件在被监控系统的一个或多个机器上出现的次数。
在一些实施例中,方法获得1402数字电子事件数据220,数字电子事件数据220包括或标识以下至少一项:由基于主机的入侵检测系统1302生成的数字电子事件数据;由基于网络的入侵检测系统1302生成的数字电子事件数据;由防病毒工具1306生成的数字电子事件数据;由防火墙1312生成的数字电子事件数据;由运动检测器1308生成的数字电子事件数据;由存储控制器1314生成的数字电子事件数据;由集群控制器1316生成的数字电子事件数据;由管理平面1304生成的数字电子事件数据;由被配置成增强物理安全性的机制1310生成的数字电子事件数据;或由被配置成增强逻辑安全性的机制1318生成的数字电子事件数据。
在一些实施例中,从事件数据提取1404多个见解实例包括:访问1638日志或其他存储库以及将警报映射1648到见解实例中的至少一些见解实例。
经配置的存储介质
一些实施例包括经配置的计算机可读存储介质112。存储介质112可以包括盘(磁的、光学的或以其他方式)、RAM、EEPROM或其他ROM和/或其他可配置的存储器,特别是包括计算机可读存储介质(不是仅传播的信号)。特别地,被配置的存储介质可以是可移除存储介质114,诸如CD、DVD或闪存。可以使用处于数据118和指令116形式的诸如聚合器230、置信度得分238和虚拟建议器1502的项(其从可移除存储介质114和/或另一源(诸如网络连接)读取),将可以是可移除或不可移除并且可以是易失性或非易失性的通用存储器配置到实施例中,以形成经配置的存储介质。经配置的存储介质112能够使计算机系统执行如本文所公开的用于对警报进行置信度评分的技术过程步骤。因此,附图帮助说明经配置的存储介质实施例和过程实施例,以及系统和过程实施例。特别地,图14、图15或图16中所示或本文另外教导的任何过程步骤都可以用于帮助配置存储介质以形成经配置的存储介质实施例。
一些实施例使用或提供被配置有代码的存储介质112、114,该代码在由一个或多个处理器执行时执行置信度评分方法,方法包括:获取1402数字电子事件数据,该数字电子事件数据包括或以其他方式标识先前通过对被监控系统的监控而从监控器生成的警报;从事件数据提取1404多个见解实例,每个见解实例具有见解值和见解类型;聚合1406具有相同见解类型的至少两个见解实例的见解值,以产生聚合见解值;以及通过创建包含特征值的特征向量来向量化1408见解数据,其中特征值对应于见解类型,并且特征向量包含聚合见解值作为特征值中的一个特征值。该置信度评分方法还包括:使用机器学习驱动的分类器对特征向量进行分类1410,以及基于分类的结果向警报分配1412至少一个置信度得分。置信度得分可以指示:警报表示对被监控系统的一个或多个操作的威胁的置信度的程度。该置信度评分方法还包括:利用至少一个分配的置信度得分来配置1416输出设备,以便被监控系统的功能性可以基于高置信度得分和底层事件数据来改进。
在一些实施例中,方法的特征还在于以下列出的改进中的至少三个改进:(a)聚合1406包括应用以下聚合函数中的至少一个:求和、最小值、最大值、计数、非重复计数、x-百分位数、众数、平均值或中位数;(b)方法包括:将至少两个聚合函数应用于特定的见解实例集,从而产生至少两个不同的聚合见解值234,以及创建和分类1410至少两个对应的特征向量,这产生用于特定见解实例集的至少两个对应的置信度得分分配;(c)方法包括:通过网络连接从云服务向输出设备发送1614至少所分配的置信度得分;(d)方法包括:自动命令1606工具采取控制行动以减轻被监控系统的安全风险;(e)方法包括:自动命令1608工具采取控制行动以改变被监控系统的计算资源的可访问性;(f)方法包括:根据多个见解实例对置信度得分的相应贡献,对多个见解实例进行排名1642;以及利用经排名的见解实例的列表来配置1644输出设备;或(g)从事件数据提取1404多个见解实例包括从日志212提取1638事件数据。在一些实施例中,方法的特征在于所列出的改进中的至少四个改进。在一些实施例中,方法的特征在于所列出的改进中的至少五个改进。更一般地,在给定情况下,方法的特征可以在于从零到所有列出的改进。
事件与警报
通常,在网络安全中,有时会在事件和警报之间进行区分,将它们视为两个不同但有关的事情。事件是指发生并且被某种监控或日志记录代理注意到的事情,例如,失败的登录尝试、成功的登录、应用启动、在特定端口上检测到数据包,等等。系统中注意的事件的数目可能很大。大多数事件是例程,并不指示任何问题。相比之下,警报(在该视图中)是对某些事件或事件组的响应,并且指示可能存在问题。例如,警报可以通过以下方式生成:管理员帐户的数次失败登录,然后该帐户的成功登录;或者启动了Metasploit应用;或者检测到通常用于在线游戏的端口上的业务。
事件和警报之间的这种区别在本描述的上下文中也适用,具有一些改进。例如,在虚拟建议器将底层检测算法认为是警报的事件作为输入的意义上,虚拟建议器1502可以被视为检测算法之上的另一层。虚拟建议器对这些警报给予置信度得分,以指示它们是否确实是警报还是仅是正常事件。例如,虚拟建议器可以将警报提升为报警状态,或基于警报及其相对较高的置信度得分来采取控制行动。
演练
作为与图15所示的用法一致的一个实施例中的数据流的进一步说明,在下面提供了演练。本领域技术人员将认识到,具有该特定警报评分架构或具有其他警报评分架构的许多其他演练和装置,可以包括一个或多个见解类型、见解值、警报格式或与该特定演练不同的其他细节,尽管所讨论的装置体现了本文提出的教导。
这些数据值是模拟值,但是现实的是,它们有助于示出在特定实施例中将如何处理和生成特定数据值。它们不是实际的实时生产数据。
1.检测器接收事件:在23:55:01,设备PatsTablet上的失败登录尝试。
2.检测器接收事件:在23:55:16,设备PatsTablet上的失败登录尝试。
3.检测器接收事件:在23:55:31,设备PatsTablet上的失败登录尝试。
4.检测器接收事件:在23:55:46,设备PatsTablet上的成功登录。
5.检测器接收事件:在23:56:47,设备PatsTablet上启动进程rmt-devl。
6.检测器接收事件:在23:57:02,设备PatsTablet上启动进程bitminer00。
7.检测器接收事件:在23:57:22,设备PatsTablet上启动进程bitminer01。
8.检测器接收事件:在23:57:42,设备PatsTablet上启动进程bitminer02。
9.检测器将警报#123456和底层八个事件发送到见解提取器。该警报及其底层事件也可以被日志记录,并且也可以被发送到其他软件,例如SIEM。
10.见解提取器将以下见解实例发送到聚合器和向量化器:{登录失败,1,123456},{登录失败,1,123456},{登录失败,1,123456},{未知进程,1,123456},{未知进程,1,123456},{未知进程,1,123456},{未知进程,1,123456}。
11.聚合器将登录失败的实例聚合为{登录失败,3,123456}。
12.聚合器将未知进程实例聚合为{未知进程,4,123456}。
13.向量化器产生以下特征向量:[登录失败:3,未知进程:4,警报id:123456]。
14.特征向量被馈送到虚拟建议器,虚拟建议器使用该模型产生以下结果:
[登录失败:3,未知进程:4,警报id:123456,是否事故:0.78],这指示警报表示安全事故的概率为0.78。或者,输出可以被格式化为[警报id:123456,是否事故:0.78]。
更一般地,本领域技术人员将认识到,满足诸如使能、书面描述或最佳模式的法律标准并非必需本公开的每一个部分或其中的任何特定细节。而且,实施例不限于本文描述的特定编程语言、工具上下文、标识符、字段、类定义或其他实现选择。与任何其他专利公开的任何明显冲突,即使来自本发明的所有者,也没有解释本专利公开中提出的权利要求的作用。
模型训练
在训练期间,被训练的模型得到警报及其标签。人们构造警报特征向量并且将其提交给模型以供学习。在分类期间,人们再次构造警报的特征向量并且计算其得分。为了训练虚拟建议器模型702,向模型馈送具有相关联标签的特征向量的形式的训练数据。标签指示特征向量是否(或不)指示安全事故(用于安全训练)或操作事故(用于资源管理或其他操作训练)。训练数据是例如由人类安全专家或人类运营经理手动准备的。注意,在该阶段,训练算法可以使用机器学习方法来执行特征选择,以便提高模型的质量。特征选择可以选择使用N个特征的子集。
附加示例和观察
与图15和本文其他教导的方面一致,在警报置信度评分技术的一些装置中,一些种类的检测器214接收事件,并且响应于那些事件中的一些事件,检测器提供警报320。这可以被称为“原始警报”,以指示其尚未被虚拟建议器1502处理。例如,检测器可以是基于主机的入侵检测系统、基于网络的入侵检测系统、防病毒软件、防火墙、运动检测器,或一些其他某种物理或技术(即软件)安全机制。在一些装置中,警报包括对一个或多个事件的描述,并且警报还包括警报编号,以便在管理警报时可以对其进行跟踪。在其他装置中,未直接传达对事件的描述;见解提取器接收的所有信息是警报编号(例如,不一定按顺序分配的唯一ID),以及对警报特性的一些描述。警报的描述可以特定于域或特定于实现。
更一般地,原始警报包括对事件的描述或警报特性,或对这种信息的引用。当警报编号用作指针、索引或键,来定位对引起警报的情况的一些描述或对暗示或概括这些情况的警报特性的描述时,警报320本身可以被简单地实现为警报编号。除了指示引起警报的事件302的性质之外,警报特性310还可以包括例如(a)机器ID,子网地址、进程ID或其他位置信息,(b)所涉及的(多个)用户ID,(c)(多个)出现时间,(d)存在的安全证书以及(e)其他相关信息。
在一些装置中,警报进入模块224,模块224可以被视为“黑匣子”,但是在这里被称为“见解提取器”。见解提取器224使用由人类安全专家提供的见解类型定义1508,来查找与原始警报相关联的事件中的见解实例。每个见解实例包括见解类型和见解值。见解提取器从给定警报生成一个或多个见解实例。在一些装置中,见解提取器将由人类安全专家提供的见解类型定义与基于安全专家知识的逻辑(硬件和软件一起操作)一起使用,以便提取1404表征警报的见解实例。为此,见解提取器使用存储库212(诸如被监控系统的日志),以便将见解实例与警报相关联。例如,假设在机器M上发生了警报(M将是警报描述的一部分),则见解实例可以陈述在某个时间间隔内在机器M上创建的进程的数目。该信息是从系统日志提取的。
在一些装置中,见解实例及其关联的警报编号进入被称为“聚合器和向量化器”的模块。该模块的聚合器部分聚合具有相同见解类型的多个实例的相应值,例如,通过对它们进行求和。代替求和或除求和之外,可以使用其他聚合函数。然后,该模块的向量化器部分使用经聚合的实例值来创建特征向量。特征向量中的每个条目对应于见解类型。在一些情况下,人类安全专家选择N种见解类型以包括在特征向量中。向量是N维的,并且每个条目对应于见解类型。N种见解类型的选择被较早完成,也就是说,它们是“预定义的”,与响应于警报而选择N种见解类型相反。当给定警报的实例与预定义的见解类型不匹配时,可能会引起异常,可以利用默认值来填充未定义的值,或者可以终止见解实例的处理而不产生特征向量,这取决于具体的实现。
当处理进行时,特征向量(仍用警报ID跟踪)被馈送到虚拟建议器1502中,虚拟建议器150具有经训练的机器学习模型702。基于该模型,虚拟建议器向特征向量分配置信度得分,置信度得分指示:特征向量指示(或不指示)安全事件的置信度的程度。因此,该示例中使用的层级是事件->警报->事故,事件的严重性最低,并且事故的严重性最高。在该示例中,特征向量、跟踪编号(即,警报ID)和置信度得分238被给予建议的消费者1504。在其他版本中,特征向量不被返回给建议的消费者;仅从建议器1502返回警报的置信度得分。建议的消费者1504可以是人类管理员104,也可以是诸如安全信息和事件管理(SIEM)软件的软件。然后,建议的消费者可以响应于建议而采取一个或多个控制行动1506,例如,进一步调查、升级警报、尝试遏制事故、故障转移到冗余资源等等。
一些实施例包括系统206,系统206具有:输入接口,其被配置成接收见解实例402,见解实例402均包括类型和值;聚合器代码230,其聚合所接收的具有相同类型的实例的值;向量化器代码226,其创建包含与见解类型相对应的特征值的特征向量228;输出接口,其被配置成向经训练模型702提供特征向量,以及经训练模型,其被配置成向特征向量分配置信度得分238,置信度得分238指示:相应的特征向量表示安全事故的置信度。
在一些上下文中,机器学习算法对来自一些现实世界领域的“示例”的集合进行操作。在本文中特别感兴趣的一些情况下,示例是警报320。为了帮助避免混淆,在“被馈送给机器学习算法的示例”意义上的示例在本文中被表示为“实例”,并且被示为见解实例402。
机器学习算法将实例转换为固定大小N的数学N维向量。每个向量条目包含一个值,例如某个数字。为了进行变换,例如通过“特征工程”,根据问题域定义N个“特征”。因此,如果实例表示患者,则特征可以是温度、血型等。每个向量条目表示某个特征。对于给定实例,向量条目保持该实例的特征值。
作为另一个示例,假设实施例识别了两个预定义的见解类型406,即,表示机器上出现的事故的数目的类型A,以及表示给定进程产生的进程的数目的类型B。假设出现警报,其中对于见解类型A,存在具有值:2、2、4的三个见解实例,并且对于见解类型B,存在四个值:1、12、2、4。在接收警报之前,实施例不知道它将处理的见解实例的数目。在该示例中,假定事件的特征向量具有两个条目(即,两个时隙,两个值602),并且所使用的聚合函数是求和802。然后,在聚合和向量化之后,向量的第一条目保持见解A的值的总和(2+2+4),并且第二条目保持见解B的值的总和(1+12+2+4)。
尽管特征的数目可以是固定的(在一些装置中,所有特征向量是相同的结构-它们是N维的),但是给定特征向量底下的见解实例的数目可以变化。在一些情况下,警报与无数的见解实例相关联。这些没有被构造为多个N维向量。无论底层事件数据如何,都减小向量维度或填充向量以在N个时隙中的每个时隙中放置值的方法,不适用于将任意数目的见解实例有意义地处理为具有固定数目的值602的特征向量的挑战。但是,事后看来,可以观察到,每个实例见解与一种见解类型相关联,并且见解类型的数目是有界的。该观察结果可以帮助人们理解本文所述的针对约束见解以匹配有限向量的教导。
换言之,在一些实施例中,见解类型的数目被固定为N,并且由人类安全专家预先定义。给定一个事件,黑匣子程序生成针对该事件的多个见解实例。每个见解实例具有一个值,并且它属于某些(单个)实例类型。对于每种见解类型,实施例将其所有实例的值聚合为单个值。每种见解类型作为一个特征,并且其聚合值作为该特征的值。这些被分类器算法使用。因此,最终有N种见解类型,它们对应于N种特征,并且每个特征具有一个值。鉴于此,可以通过对应的N维特征向量来表示事件,并且利用熟悉的机器学习分类器技术。特征的数目是有界的并且是N。对于给定警报,每个见解的值的数目是没有界的,因此,实施例将它们聚合成单个值。
在一些实施例中,见解提取器执行遵循安全专家的逻辑的程序。该程序生成见解的集合,该见解的集合表征事件的安全方面。该程序将事件作为输入,并且生成见解的集合,每个见解具有多个值。这可以例如通过使用规则的集合来实现,该规则对每个事件输出安全见解。由于在云设置中事件率通常较高,因此该程序是自动化的。该程序的输出可以被用作监督学习部分的特征,监督学习部分又由计算机完成。
本文给出了可以使用的聚合函数的几个示例,包括求和、最小值、最大值、计数、非重复计数、平均(又称平均值)、中位数、x百分位数等。在一些情况下,一个以上聚合函数可能是有用的。例如,可以选择使用最小值、最大值和平均值。在这种情况下,对于每种见解类型,实施例可以具有三个特征(而不是一个特征),即分别是基于见解实例的值的最小值、最大值和平均值的特征。因此,使用三个聚合函数的实施例可以具有总共3*N个特征。为了确定哪种聚合函数有用或无效,可以执行特征选择的机器学习程序。
一种实现将求和函数用于聚合1406,并且累积对应特征类型的所有实例的贡献。但是,可以使用其他聚合函数,例如最大值、最小值等。在使用z得分标准化进行聚合之前,该实现还将每种见解类型的值标准化1646。
当通过见解类型上的N维特征向量表示事件时,该实现通过其对应的聚合值来设置每种见解类型特征的值。在具有固定大小特征向量228的情况下,该实现应用监督机器学习技术,以便计算警报的置信度得分238。为此,在事件的集合上对分类器进行训练,诸如过程创建事件,这些事件先前在被监控的系统中被看到。对于每个事件,实施例如先前所述地构造其特征向量。此外,安全分析师将每个事件标记为恶意或非恶意。在运行时,给定未见过的事件,经训练分类器将运行并且输出其关于事件是否恶意的置信度得分。除此之外或备选地,操作分析师可以利用用于非安全监控的标签为每个事件贴上标签,例如,接近满负荷或不接近满负荷、表现良好或表现差、颠簸(thrash)或不颠簸、可靠或不可靠,等等。然后,在运行时,给定未见过的事件,经训练的分类器将运行,并且输出关于事件是否指示操作问题的置信度得分。
一些实施例使用逻辑回归来实现分类1410。可以使用指标(例如,使用平均精度(MAP)和准确性)在标记事件的测试集上对分类器进行评估。在数据集的一个内部测试中,MAP为大约0.92,并且准确性为大约0.85。
一些实施例为由安全专家分类的警报提供置信程度。它们通过将人类专家对训练数据的分析与机器学习算法组合来实现这一点。
一些实施例在可变和动态的见解数目上支持或使能对监督机器学习的使用。见解的数目因事件而异,并且是先验未知的,相反是在运行时根据专家的逻辑针对给定事件生成的。
一些附加的组合和变型
代码、数据结构、逻辑、组件、通信和/或它们的功能等效物的这些组合中的任何组合也可以与上述任何系统及其变型组合。过程可以以可操作的任何子集或组合或序列包括本文中描述的任何步骤。每个变型可以单独出现,或者可以与任何一个或多个其他变型组合出现。每个变型可以与任何过程一起出现,并且每个过程可以与任何一个或多个其他过程组合。每个过程或过程的组合(包括变型)可以与上述经配置的存储介质组合和变型中的任一个组合。
结论
简而言之,受益于本文提供的教导,实施例可以被用来对安全和操作警报进行自动分诊1650。从与警报320相关联的原始事件数据220提取1404的见解实例402被聚合1406、向量化1408并且通过基于机器学习的分类1410被分配1412置信度得分238。置信度得分使得重负载的管理员218和控件216能够将注意力和计算资源集中在他们最有可能保护或提高被监控系统202的功能性的位置。即使在接收事件数据之前不知道实例值的数目,特征向量228也通过聚合1406在底层实例值404中接收广泛的基础。可以提供对置信度评分过程的可见性1612,以允许调整实施例(例如,通过变化所使用的聚合函数232或限制每个聚合见解值234的值404的数目)。可见性还可以通知对分类器模型702的进一步训练。定义了性能指标1106、1108、1636,并且实现了1634生产级性能。
尽管在本文中将特定实施例明确地示出和描述为过程、经配置的存储介质或系统,但是应当理解,对一种类型的实施例的讨论通常还扩展到其他实施例类型。例如,结合图11和图13进行的过程的描述也有助于描述经配置的存储介质,并且有助于描述与结合其他附图所讨论的那些类似的系统和制造的技术效果和操作。并非遵循,必须将来自一个实施例的限制读入另一实施例。特别地,过程不必限于在讨论诸如经配置的存储器的系统或制造时所呈现的数据结构和布置。
本领域技术人员将理解,实现细节可以与特定代码有关,诸如特定API、特定字段和特定样本程序,并且因此不需要在每个实施例中都出现。本领域技术人员还将理解,在讨论细节时使用的程序标识符和一些其他术语是特定于实现的,并且因此不需要与每一个实施例有关。尽管如此,尽管这里不一定要求它们存在,但是这种细节可以通过提供上下文来帮助一些读者,和/或可以说明本文中讨论的技术的很多可能的实现中的一些实现。
本文中对具有一些特征X的实施例的引用以及本文中其他地方对具有一些特征Y的实施例的引用并不排除同时具有特征X和特征Y的实施例,除非本文中明确指出了这种排除。所有可能的否定权利要求限制都在本公开的范围内,因为即使在本文中的任何示例中未给出特定排除,也可以将被规定为实施例的一部分的任何特征从其他实施例中明确删除。术语“实施例”在本文中仅用作“过程、系统、制品、经配置的计算机可读存储介质和/或以与适用法律相一致的方式应用的本文中的教导的其他示例”的更方便形式。因此,给定“实施例”可以包括本文中公开的特征的任何组合,只要该实施例与至少一个权利要求相一致。
在每个实施例中,并非图中所示的每个项都需要存在。相反,实施例可以包含未在图中明确示出的(多个)项。尽管这里通过特定示例在文本和附图中示出了一些可能性,但是实施例可以脱离这些示例。例如,示例的特定技术效果或技术特征可以被省略、重命名、不同地分组、重复、在硬件和/或软件中不同地实例化,或者是出现在两个或更多个示例中的效果或特征的混合。在一些实施例中,在一个位置处示出的功能性也可以在不同的位置处被提供;例如,本领域技术人员认识到,可以在给定实现中以各种方式定义功能性模块,而不必从被视为一个整体的交互模块的集合中忽略所需要的技术效果。
在全文中通过附图标记对附图进行了参考。在附图或文本中,与给定附图标记相关的措词中的任何明显不一致之处应当被理解为简单地扩大了该数字所参考的范围。即使使用相同的附图标记,给定附图标记的不同实例也可以指代不同的实施例。类似地,给定附图标记
可以用于指代动词、名词和/或每个的对应实例,例如,处理器110
可以通过执行指令来处理110指令。
如本文中使用的,诸如“一”和“该”等术语包括所指示的项或步骤中的一个或多个。特别地,在权利要求中,对项的引用通常意味着存在至少一个这种项,而对步骤的引用表示执行该步骤的至少一个实例。
标题仅是为了方便;可以在标题指示该主题的部分之外找到有关给定主题的信息。
所提交的所有权利要求和摘要是说明书的一部分。
尽管已经在附图中示出并且在上面描述了示例性实施例,但是对于本领域的普通技术人员很清楚的是,在不脱离权利要求中阐述的原理和概念的情况下,可以进行多种修改,并且这种修改不需要包含整个抽象概念。尽管以特定于结构特征和/或程序动作的语言描述了主题,但应当理解,所附权利要求中定义的主题不必限于权利要求中所述的特定技术特征或动作。在给定定义或示例中标识的每个部件或方面或技术效果不必在每个实施例中都存在或被利用。而是,所描述的特定特征以及作用和效果作为示例被公开,以在实现权利要求时考虑。
在法律允许的最大范围内,所有落入整个抽象概念但落入权利要求等同含义和范围之内的改变都应当被包含在其范围之内。
Claims (15)
1.一种被配置成执行警报置信度评分的监控计算系统,所述系统包括:
一个或多个处理器;
存储器,与至少一个处理器可操作地通信;
聚合器,其在用至少一个处理器执行时,接收见解实例,每个见解实例具有见解值和见解类型,每个见解实例与警报标识符相关联,所述警报标识符标识先前通过对被监控系统的监控而从监控器生成的警报,所述聚合器被配置成聚合具有相同见解类型的接收实例的见解值;
向量化器,其在用至少一个处理器执行时,创建包含特征值的特征向量,所述特征值对应于见解类型,所述特征向量包含至少一个特征值,所述至少一个特征值是由所述聚合器从多个见解值产生的聚合见解值,所述特征向量与所述警报相关联;
分类器,其在用至少一个处理器执行时,接受所述特征向量,所述分类器被配置成至少部分地基于所述特征向量向所述警报分配置信度得分,所述置信度得分指示所述警报表示对所述被监控系统的一个或多个操作的威胁的置信度的程度;以及
输出设备,通过所述置信度得分被配置。
2.根据权利要求1所述的监控计算系统,其中所述监控计算系统被配置成用于企业生产部署,其中从所述聚合器已经接收到所述见解实例时的开始点,直到并且包括所述输出设备通过所述置信度得分被配置时的结束点的总经过时钟时间小于一秒。
3.根据权利要求1所述的监控计算系统,其中所述聚合器被配置成通过应用以下聚合函数中的至少一个来聚合见解值:求和、最小值、最大值、计数、非重复计数、x-百分位数、众数、平均值或中位数。
4.根据权利要求1所述的监控计算系统,其中:
所述聚合器被配置成通过将至少两个聚合函数应用于所述多个见解值来聚合所述多个见解值至少两次,所述至少两个聚合函数在这里被表示为函数A和函数B;
所述向量化器被配置成创建在这里被表示为向量A的特征向量,所述向量A包含在这里被表示为值A的特征值,所述值A是由所述聚合器的、将函数A向所述多个见解值的应用而产生的聚合见解值;
所述向量化器被配置成创建在这里被表示为向量B的特征向量,所述向量B包含在这里被表示为值B的特征值,所述值B是由所述聚合器的、将函数B向所述多个见解值的应用而产生的聚合见解值,值B与值A不同;
所述分类器被配置成至少部分地基于向量A,将在这里被表示为得分A的置信度得分分配给所述警报;
所述分类器被配置成至少部分地基于向量B,将在这里被表示为得分B的置信度得分分配给所述警报;以及
所述输出设备通过以下至少一项被配置:得分A、得分B、或者至少基于得分A和得分B的组合置信度得分。
5.根据权利要求1所述的监控计算系统,其中所述监控计算系统没有以下至少一项:
降维功能性;以及
填充功能性,其用默认值填充特征向量中的未定义值。
6.根据权利要求1所述的监控计算系统,其中所述分类器包括以下至少一项:
朴素贝叶斯分类器模型;
神经网络;
深度学习网络;
卷积网络;
决策树;或者
概率分类器。
7.根据权利要求1所述的监控计算系统,还包括见解排名器,所述见解排名器在用至少一个处理器执行时,根据多个所述见解实例的、对所述置信度得分的相应贡献来对所述多个见解实例进行排名,并且其中所述输出设备还被配置有经排名的所述见解实例的排名列表。
8.一种用于向通过监控被监控系统而被生成的数据分配置信度得分的方法,所述方法包括:
获得数字电子事件数据,所述数字电子事件数据包括或以其他方式标识以下至少一项:通过所述监控生成的一个或多个事件结构,通过所述监控生成的警报结构,或标识通过所述监控生成的警报结构的警报标识符;
从所述事件数据提取多个见解实例,每个见解实例具有见解值和见解类型;
自动聚合具有相同见解类型的至少两个见解实例的见解值,从而产生聚合见解值;
通过创建包含特征值的特征向量来自动向量化见解数据,所述特征值对应于见解类型,所述特征向量包含所述聚合见解值作为所述特征值中的一个特征值;
使用机器学习驱动的分类器对所述特征向量进行分类;
基于所述分类的结果,向所述事件数据分配至少一个置信度得分,每个置信度得分指示所述事件数据表示对所述被监控系统的一个或多个操作的威胁的置信度的程度;以及
用至少一个分配的置信度得分配置输出设备。
9.根据权利要求8所述的方法,其中所述置信度得分超过预定阈值,并且所述方法还包括以下至少一项:
向人类管理员通知所述事件数据的至少一部分;
显示根据相应置信度得分排名的警报列表;
自动采取控制行动来实现对所述被监控系统的控制;
自动命令安全工具采取安全控制行动,来实现对所述被监控系统的安全控制;或者
自动命令资源管理工具采取操作控制行动,来实现对所述被监控系统的操作控制。
10.根据权利要求8所述的方法,还包括通过以人类易读的格式在所述输出设备上显示以下各项中的至少一项,来向置信度评分中提供可见性:
所获得的所述事件数据的至少一部分;
至少一个见解类型定义,其在提取多个见解实例时被利用;
所提取的所述见解实例中的至少两个见解实例;
至少一个聚合函数的名称,所述至少一个聚合函数在聚合见解值时被利用;或者
所述特征值中的至少一个特征值。
11.根据权利要求8所述的方法,其中所述方法至少重复以下多次:提取、聚合、向量化、分类和分配,并且其中所述方法还包括:
将所得的所述分配的置信度得分与预定阈值进行比较;
当所述分配的置信度得分中的一个分配的置信度得分超过所述预定阈值时,发出报警;以及
当所述分配的置信度得分中的一个分配的置信度得分未超过所述预定阈值时,避免发出报警。
12.根据权利要求8所述的方法,其中所述方法通过自动重复至少以下多次,来在监控系统中执行重复:提取、聚合、向量化、分类和分配,并且其中所述方法以平均速率执行所述重复,所述平均速率为在至少一百小时的持续时间上,每分钟至少一次重复。
13.根据权利要求8所述的方法,其中向量化创建特征向量,所述特征向量包含对应于一个或多个见解类型的一个或多个特征值,所述一个或多个见解类型表示以下至少一项:
在所述被监控系统的机器上创建的进程的数目;
在指定的时间间隔内,在所述被监控系统的机器上创建的进程的数目;
特定种类的事件在所述被监控系统的一个或多个机器上出现的次数;或者
在指定的时间间隔内,特定种类的事件在所述被监控系统的一个或多个机器上出现的次数。
14.根据权利要求8所述的方法,其中从所述事件数据提取多个见解实例包括:访问日志或其他存储库,以及将警报映射到所述见解实例中的至少一些见解实例。
15.一种配置有代码的存储介质,所述代码在由一个或多个处理器执行时,执行置信度评分方法,所述方法包括:
获得数字电子事件数据,所述数字电子事件数据包括或以其他方式标识先前通过被监控系统的监控而从监控器生成的警报;
从所述事件数据提取多个见解实例,每个见解实例具有见解值和见解类型;
聚合具有相同见解类型的至少两个见解实例的见解值,从而产生聚合见解值;
通过创建包含特征值的特征向量来向量化见解数据,所述特征值对应于见解类型,所述特征向量包含所述聚合见解值作为所述特征值中的一个特征值;
使用机器学习驱动的分类器对所述特征向量进行分类;
基于所述分类的结果,向所述警报分配至少一个置信度得分,每个置信度得分指示:所述警报表示对所述被监控系统的一个或多个操作的威胁的置信度的程度;以及
用至少一个分配的置信度得分来配置输出设备;
其中所述方法的特征还在于以下列出的改进中的至少三个改进:
聚合包括应用以下聚合函数中的至少一个聚合函数:求和、最小值、最大值、计数、非重复计数、众数、平均值或中位数;
所述方法包括将至少两个聚合函数应用于特定见解实例集,从而产生至少两个不同的聚合见解值,以及创建和分类至少两个对应的特征向量,这产生用于所述特定见解实例集的至少两个对应的置信度得分分配;
所述方法包括:通过网络连接,从云服务向所述输出设备发送所述分配的置信度得分;
所述方法包括:自动命令工具采取控制行动,以减轻对所述被监控系统的安全风险;
所述方法包括:自动命令工具采取控制行动,以改变所述被监控系统的计算资源的可访问性;
所述方法包括:根据多个所述见解实例的、对所述置信度得分的相应贡献来对所述多个见解实例进行排名,以及用经排名的所述见解实例的列表来配置所述输出设备;或者
从所述事件数据提取多个见解实例包括从日志提取事件数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/105,500 | 2018-08-20 | ||
US16/105,500 US11003766B2 (en) | 2018-08-20 | 2018-08-20 | Enhancing cybersecurity and operational monitoring with alert confidence assignments |
PCT/US2019/039661 WO2020040878A1 (en) | 2018-08-20 | 2019-06-28 | Enhancing cybersecurity and operational monitoring with alert confidence assignments |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112602081A true CN112602081A (zh) | 2021-04-02 |
Family
ID=67263126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980054971.5A Pending CN112602081A (zh) | 2018-08-20 | 2019-06-28 | 利用警报置信度分配来增强网络安全和操作监控 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11003766B2 (zh) |
EP (1) | EP3841502B1 (zh) |
CN (1) | CN112602081A (zh) |
WO (1) | WO2020040878A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11374958B2 (en) * | 2018-10-31 | 2022-06-28 | International Business Machines Corporation | Security protection rule prediction and enforcement |
US11941118B2 (en) * | 2018-11-06 | 2024-03-26 | Carrier Corporation | System and method to build robust classifiers against evasion attacks |
CN109543022B (zh) * | 2018-12-17 | 2020-10-13 | 北京百度网讯科技有限公司 | 文本纠错方法和装置 |
US11487880B2 (en) * | 2019-09-13 | 2022-11-01 | Microsoft Technology Licensing, Llc | Inferring security incidents from observational data |
US11568057B2 (en) * | 2019-11-27 | 2023-01-31 | Accenture Global Solutions Limited | Systems and methods for triaging software vulnerabilities |
US11363041B2 (en) | 2020-05-15 | 2022-06-14 | International Business Machines Corporation | Protecting computer assets from malicious attacks |
US11573775B2 (en) * | 2020-06-17 | 2023-02-07 | Bank Of America Corporation | Software code converter for resolving redundancy during code development |
US11647034B2 (en) | 2020-09-12 | 2023-05-09 | Microsoft Technology Licensing, Llc | Service access data enrichment for cybersecurity |
JP7373803B2 (ja) * | 2020-09-29 | 2023-11-06 | パナソニックIpマネジメント株式会社 | 情報送信装置、サーバ、及び、情報送信方法 |
US11637852B2 (en) * | 2021-01-04 | 2023-04-25 | Microsoft Technology Licensing, Llc | Internet-facing device identification |
US20230012722A1 (en) * | 2021-07-06 | 2023-01-19 | Sap Se | Automatically rating the product's security during software development |
US11941115B2 (en) | 2021-11-29 | 2024-03-26 | Bank Of America Corporation | Automatic vulnerability detection based on clustering of applications with similar structures and data flows |
US11928221B2 (en) | 2021-11-29 | 2024-03-12 | Bank Of America Corporation | Source code clustering for automatically identifying false positives generated through static application security testing |
US20230344840A1 (en) * | 2022-04-21 | 2023-10-26 | Charles Schwab & Co., Ltd. | Method, apparatus, system, and non-transitory computer readable medium for identifying and prioritizing network security events |
US20230344860A1 (en) * | 2022-04-24 | 2023-10-26 | Microsoft Technology Licensing, Llc | Organization-level ransomware incrimination |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120072983A1 (en) * | 2010-09-20 | 2012-03-22 | Sonalysts, Inc. | System and method for privacy-enhanced cyber data fusion using temporal-behavioral aggregation and analysis |
US20150163242A1 (en) * | 2013-12-06 | 2015-06-11 | Cyberlytic Limited | Profiling cyber threats detected in a target environment and automatically generating one or more rule bases for an expert system usable to profile cyber threats detected in a target environment |
CN106790256A (zh) * | 2017-01-24 | 2017-05-31 | 浙江中都信息技术有限公司 | 用于危险主机检测的主动机器学习系统 |
US20180004948A1 (en) * | 2016-06-20 | 2018-01-04 | Jask Labs Inc. | Method for predicting and characterizing cyber attacks |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6154844A (en) | 1996-11-08 | 2000-11-28 | Finjan Software, Ltd. | System and method for attaching a downloadable security profile to a downloadable |
US20040128615A1 (en) | 2002-12-27 | 2004-07-01 | International Business Machines Corporation | Indexing and querying semi-structured documents |
US20060048106A1 (en) | 2004-08-27 | 2006-03-02 | International Business Machines Corporation | Link-time profile-based method for reducing run-time image of executables |
US8447781B2 (en) | 2005-07-29 | 2013-05-21 | International Business Machines Corporation | Content-based file system security |
US20070265999A1 (en) | 2006-05-15 | 2007-11-15 | Einat Amitay | Search Performance and User Interaction Monitoring of Search Engines |
US7739082B2 (en) * | 2006-06-08 | 2010-06-15 | Battelle Memorial Institute | System and method for anomaly detection |
US8656381B2 (en) | 2006-12-07 | 2014-02-18 | International Business Machines Corporation | Presenting machine instructions in a machine-independent tree form suitable for post-link optimizations |
US7849354B2 (en) | 2007-06-12 | 2010-12-07 | Microsoft Corporation | Gracefully degradable versioned storage systems |
US8370821B2 (en) | 2007-08-21 | 2013-02-05 | International Business Machines Corporation | Method for enabling profile-based call site tailor-ing using profile gathering of cloned functions |
US20090319484A1 (en) | 2008-06-23 | 2009-12-24 | Nadav Golbandi | Using Web Feed Information in Information Retrieval |
US20110131202A1 (en) | 2009-12-02 | 2011-06-02 | International Business Machines Corporation | Exploration of item consumption by customers |
US8370473B2 (en) | 2009-12-16 | 2013-02-05 | International Business Machines Corporation | Live multi-hop VM remote-migration over long distance |
US8826272B2 (en) | 2010-11-29 | 2014-09-02 | International Business Machines Corporation | Planning a reliable migration in a limited stability virtualized environment |
US9323928B2 (en) * | 2011-06-01 | 2016-04-26 | Mcafee, Inc. | System and method for non-signature based detection of malicious processes |
JP6074170B2 (ja) | 2011-06-23 | 2017-02-01 | インテル・コーポレーション | 近距離動作のトラッキングのシステムおよび方法 |
US8994652B2 (en) | 2013-02-15 | 2015-03-31 | Intel Corporation | Model-based multi-hypothesis target tracker |
US9922447B2 (en) | 2013-04-30 | 2018-03-20 | Mantis Vision Ltd. | 3D registration of a plurality of 3D models |
US10277628B1 (en) * | 2013-09-16 | 2019-04-30 | ZapFraud, Inc. | Detecting phishing attempts |
EP2887276A1 (en) * | 2013-12-20 | 2015-06-24 | Telefonica Digital España, S.L.U. | Method for predicting reactiveness of users of mobile devices for mobile messaging |
US9367424B2 (en) | 2014-03-13 | 2016-06-14 | International Business Machines Corporation | Method for performance monitoring and optimization via trend detection and forecasting |
US9485209B2 (en) | 2014-03-17 | 2016-11-01 | International Business Machines Corporation | Marking of unfamiliar or ambiguous expressions in electronic messages |
US10068277B2 (en) | 2014-06-17 | 2018-09-04 | Microsoft Technology Licensing, Llc | Modes, control and applications of recommendations auto-consumption |
US9479518B1 (en) | 2014-06-18 | 2016-10-25 | Emc Corporation | Low false positive behavioral fraud detection |
US10210214B2 (en) | 2014-08-27 | 2019-02-19 | International Business Machines Corporation | Scalable trend detection in a personalized search context |
US20200067861A1 (en) * | 2014-12-09 | 2020-02-27 | ZapFraud, Inc. | Scam evaluation system |
US9881079B2 (en) * | 2014-12-24 | 2018-01-30 | International Business Machines Corporation | Quantification based classifier |
WO2016110850A1 (en) | 2015-01-08 | 2016-07-14 | Mystate Mobile (2014) Ltd | System and method of customer service center call-back |
US9424530B2 (en) * | 2015-01-26 | 2016-08-23 | International Business Machines Corporation | Dataset classification quantification |
US9690937B1 (en) | 2015-03-30 | 2017-06-27 | EMC IP Holding Company LLC | Recommending a set of malicious activity detection rules in an automated, data-driven manner |
US10599844B2 (en) * | 2015-05-12 | 2020-03-24 | Webroot, Inc. | Automatic threat detection of executable files based on static data analysis |
WO2017015947A1 (en) * | 2015-07-30 | 2017-02-02 | Xiaogang Wang | A system and a method for object tracking |
US10169485B2 (en) | 2015-09-04 | 2019-01-01 | International Business Machines Corporation | Dynamic partitioning of graph databases based on edge sampling |
US10007786B1 (en) * | 2015-11-28 | 2018-06-26 | Symantec Corporation | Systems and methods for detecting malware |
US11222277B2 (en) | 2016-01-29 | 2022-01-11 | International Business Machines Corporation | Enhancing robustness of pseudo-relevance feedback models using query drift minimization |
US9465832B1 (en) | 2016-02-04 | 2016-10-11 | International Business Machines Corporation | Efficiently committing large transactions in a graph database |
US11055063B2 (en) * | 2016-05-02 | 2021-07-06 | Marvell Asia Pte, Ltd. | Systems and methods for deep learning processor |
US10055435B2 (en) | 2016-05-04 | 2018-08-21 | International Business Machines Corporation | Interactive presentation of large scale graphs |
CN109690554B (zh) * | 2016-07-21 | 2023-12-05 | 西门子保健有限责任公司 | 用于基于人工智能的医学图像分割的方法和系统 |
US10402697B2 (en) * | 2016-08-01 | 2019-09-03 | Nvidia Corporation | Fusing multilayer and multimodal deep neural networks for video classification |
US10686829B2 (en) * | 2016-09-05 | 2020-06-16 | Palo Alto Networks (Israel Analytics) Ltd. | Identifying changes in use of user credentials |
US10594711B2 (en) | 2016-11-28 | 2020-03-17 | Microsoft Technology Licensing, Llc. | Detection of botnets using command-and-control access patterns |
US10417273B2 (en) | 2017-01-05 | 2019-09-17 | International Business Machines Corporation | Multimedia analytics in spark using docker |
US20200003678A1 (en) * | 2017-02-09 | 2020-01-02 | Ramot At Tel-Aviv University Ltd. | Method and system for characterizing a nanostructure by machine learning |
US20190102695A1 (en) * | 2017-09-29 | 2019-04-04 | Coupa Software Incorporated | Generating machine learning systems using slave server computers |
US10657257B2 (en) * | 2017-12-06 | 2020-05-19 | International Business Machines Corporation | Feature vector aggregation for malware detection |
US11763188B2 (en) * | 2018-05-03 | 2023-09-19 | International Business Machines Corporation | Layered stochastic anonymization of data |
US11710033B2 (en) * | 2018-06-12 | 2023-07-25 | Bank Of America Corporation | Unsupervised machine learning system to automate functions on a graph structure |
US20190378051A1 (en) * | 2018-06-12 | 2019-12-12 | Bank Of America Corporation | Machine learning system coupled to a graph structure detecting outlier patterns using graph scanning |
-
2018
- 2018-08-20 US US16/105,500 patent/US11003766B2/en active Active
-
2019
- 2019-06-28 EP EP19739844.9A patent/EP3841502B1/en active Active
- 2019-06-28 CN CN201980054971.5A patent/CN112602081A/zh active Pending
- 2019-06-28 WO PCT/US2019/039661 patent/WO2020040878A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120072983A1 (en) * | 2010-09-20 | 2012-03-22 | Sonalysts, Inc. | System and method for privacy-enhanced cyber data fusion using temporal-behavioral aggregation and analysis |
US20150163242A1 (en) * | 2013-12-06 | 2015-06-11 | Cyberlytic Limited | Profiling cyber threats detected in a target environment and automatically generating one or more rule bases for an expert system usable to profile cyber threats detected in a target environment |
US20180004948A1 (en) * | 2016-06-20 | 2018-01-04 | Jask Labs Inc. | Method for predicting and characterizing cyber attacks |
CN106790256A (zh) * | 2017-01-24 | 2017-05-31 | 浙江中都信息技术有限公司 | 用于危险主机检测的主动机器学习系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3841502B1 (en) | 2024-03-27 |
US20200057850A1 (en) | 2020-02-20 |
WO2020040878A1 (en) | 2020-02-27 |
US11003766B2 (en) | 2021-05-11 |
EP3841502A1 (en) | 2021-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3841502B1 (en) | Enhancing cybersecurity and operational monitoring with alert confidence assignments | |
US11106789B2 (en) | Dynamic cybersecurity detection of sequence anomalies | |
US10972493B2 (en) | Automatically grouping malware based on artifacts | |
US9998484B1 (en) | Classifying potentially malicious and benign software modules through similarity analysis | |
Nauman et al. | A three-way decision making approach to malware analysis using probabilistic rough sets | |
US10200390B2 (en) | Automatically determining whether malware samples are similar | |
US9832214B2 (en) | Method and apparatus for classifying and combining computer attack information | |
CN114731284B (zh) | 协同过滤异常检测可解释性 | |
US10437996B1 (en) | Classifying software modules utilizing similarity-based queries | |
CN112567367A (zh) | 用于聚类和加速多个事故调查的基于相似性的方法 | |
EP3921750B1 (en) | Dynamic cybersecurity peer identification using groups | |
CN114679329A (zh) | 基于赝象对恶意软件自动分组 | |
US20230107335A1 (en) | Multitenant sharing anomaly cyberattack campaign detection | |
CN117321584A (zh) | 高数据i/o比模块的处理管理 | |
Ab Razak et al. | “Less give more”: evaluate and zoning android applications | |
Sethi et al. | A novel malware analysis for malware detection and classification using machine learning algorithms | |
WO2023177442A1 (en) | Data traffic characterization prioritization | |
Jolak et al. | CONSERVE: A framework for the selection of techniques for monitoring containers security | |
Ugarte-Pedrero et al. | On the adoption of anomaly detection for packed executable filtering | |
J. Alyamani | Cyber security for federated learning environment using AI technique | |
Sapegin et al. | Evaluation of in‐memory storage engine for machine learning analysis of security events | |
Gandotra et al. | A framework for generating malware threat intelligence | |
US20230344860A1 (en) | Organization-level ransomware incrimination | |
Xinning | Android Malware Detection through Machine Learning on Kernel Task Structure | |
Augustine | Applying machine learning on linux interprocess communication graphs for intrusion detection |
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 |