使用认知计算的异常检测的制作方法

文档序号:21279937发布日期:2020-06-26 23:32阅读:220来源:国知局
使用认知计算的异常检测的制作方法

本公开涉及计算机安全,并且更具体地,涉及异常检测系统。



背景技术:

异常检测系统可以用作网络安全系统的一个组件,该网络安全系统被配置成保持数据的机密性、完整性和/或可用性,该数据被存储在数据处理系统中、在数据处理系统上执行和/或在数据处理系统之间传送。例如,异常检测系统可以识别在网络安全环境的部分之内、之间或贯穿网络安全环境的部分发生的不安全、意外、异常、可疑、恶意和/或未授权的活动。

识别信息系统环境内的异常状况是检测网络攻击、安全事件和威胁的最有效方式之一。检测这种状况是任何组织都需要采取的第一步,以便能够及时响应来保护it环境中的重要信息资产不被损害、丢失或损坏。检测异常状况以及正确理解和关联到特定安全或威胁分类和响应是具有挑战性的过程。典型的it环境包括多个物理计算机、网络设备、存储设备、操作系统、软件组件和应用系统。这些大型、复杂、互连且相互依赖的系统处理各种形式的大量数据。

因此,在本领域中需要解决上述问题。



技术实现要素:

从第一方面来看,本发明提供了一种用于确定安全异常的计算机实现的方法,所述方法包括:基于一组网络安全数据的空间属性和该组网络安全数据的时间属性来生成多个张量,其中该组网络安全数据包括数值数据和文本数据,并且其中该组网络安全数据是从多个计算源收集的;将所述多个张量提供给层级即时记忆(htm)网络,所述htm网络被配置成为所述htm网络的相应区域生成相应htm输出,其中相应输出基于所述htm网络的相应区域的活动节点;确定至少一个htm输出指示异常;将所述至少一个htm输出转换为通知;以及将所述通知提供给用户接口。从另一方面来看,本发明提供了一种用于确定安全异常的计算机实现的方法,所述方法包括:使用特征提取系统中的机器学习算法将安全数据转换成多个空间-时间多维阵列,其中所述安全数据是至少部分地从在通信地耦合多个计算设备的网络安全环境中起作用的安全信息和事件管理(siem)系统收集的;其中所述多个空间-时间多维阵列至少部分地基于与所述多个计算设备的至少一部分相关联的计算事件的至少一个序列;将所述多个空间-时间多维阵列提供给执行层级即时记忆(htm)网络的三维集成电路(3dic);在所述特征提取系统处并且从所述htm网络接收至少部分地基于所述htm网络的相应区域中的活动节点的至少一个输出多维阵列;使用所述特征提取系统中的机器学习算法基于所述至少一个输出多维阵列来识别至少一个异常;由所述特征提取系统响应于识别出所述至少一个异常而重新配置所述网络安全环境的至少一个方面;以及由所述特征提取系统并且向通信地耦合到所述特征提取系统的用户接口呈现所述至少一个异常的通知。

从另一方面来看,本发明提供了一种用于确定安全异常的计算机系统,所述系统包括:处理器;用于存储程序指令的有形计算机可读存储器,所述程序指令在由所述处理器执行时执行一种方法,所述方法包括:基于一组网络安全数据的空间属性和该组网络安全数据的时间属性来生成多个张量,其中该组网络安全数据包括数值数据和文本数据,并且其中该组网络安全数据是从多个计算源收集的;将所述多个张量提供给层级即时记忆(htm)网络,所述htm网络被配置成为所述htm网络的相应区域生成相应htm输出,其中相应输出基于所述htm网络的相应区域的活动节点;确定至少一个htm输出指示异常;将所述至少一个htm输出转换为通知;以及将所述通知提供给用户接口。

从另一方面来看,本发明提供了一种用于确定安全异常的系统,所述系统包括:安全信息和事件管理(siem)系统,其接收安全数据并存储信息技术(it)环境中的多个设备的安全数据;层级即时记忆(htm)系统,其包括htm处理器和htm存储器;特征提取系统,其包括存储器和处理器,其中所述存储器存储指令,所述指令在由所述处理器执行时执行一种方法,所述方法包括:将所述安全数据转换为多个空间-时间多维阵列,其中所述多个空间-时间多维阵列的各方面与所述安全数据之间的关联被存储在关联数据库中;响应于将所述多个空间-时间多维阵列输入到所述htm系统,从所述htm系统接收至少一个输出多维阵列;对从通信地耦合到所述特征提取系统的用户接口接收到的查询执行自然语言处理,其中所述查询识别所述it环境中的所述多个设备中的至少一个设备;基于所述查询、所述至少一个输出多维阵列和所述关联数据库来生成回答;以及将所述回答呈现给所述用户接口。

从另一方面来看,本发明提供了一种用于确定安全异常的计算机程序产品,所述计算机程序产品包括:计算机可读存储介质,其能由处理电路读取并且存储用于由所述处理电路执行以执行用于执行本发明的步骤的方法的指令。

从另一方面来看,本发明提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当所述程序在计算机上运行时,用于执行本发明的步骤的方法。

本公开的方面涉及一种计算机实现的方法,包括基于一组网络安全数据的空间属性和该组网络安全数据的时间属性来生成多个张量。该组网络安全数据可以包括从多个计算源收集的数值数据和文本数据。该方法还可以包括将所述多个张量提供给层级即时记忆(htm)网络,所述htm网络被配置成基于所述htm网络的相应区域的活动节点,为所述htm网络的相应区域生成相应htm输出。该方法可以进一步包括确定至少一个htm输出指示异常;将所述至少一个htm输出转换为通知;以及将所述通知提供给用户接口。

本公开的另外的方面涉及一种计算机系统,该计算机系统包括处理器和用于存储程序指令的有形计算机可读存储器,所述程序指令在由所述处理器执行时执行一种方法,所述方法包括:基于一组网络安全数据的空间属性和该组网络安全数据的时间属性来生成多个张量。该组网络安全数据可以包括从多个计算源收集的数值数据和文本数据。该方法还可以包括将所述多个张量提供给层级即时记忆(htm)网络,所述htm网络被配置成基于所述htm网络的相应区域的活动节点,为所述htm网络的相应区域生成相应htm输出。该方法可以进一步包括确定至少一个htm输出指示异常;将所述至少一个htm输出转换为通知;以及将所述通知提供给用户接口。

本公开的另外的方面涉及一种计算机程序产品,其包括具有程序指令的计算机可读存储介质,所述程序指令可由处理器执行以使所述处理器执行一种方法,所述方法包括:基于一组网络安全数据的空间属性和该组网络安全数据的时间属性来生成多个张量。该组网络安全数据可以包括从多个计算源收集的数值数据和文本数据。该方法还可以包括将所述多个张量提供给层级即时记忆(htm)网络,所述htm网络被配置成基于所述htm网络的相应区域的活动节点,为所述htm网络的相应区域生成相应htm输出。该方法可以进一步包括确定至少一个htm输出指示异常;将所述至少一个htm输出转换为通知;以及将所述通知提供给用户接口。

本公开的另外的方面涉及一种系统,所述系统包括:安全信息和事件管理(siem)系统,其接收安全数据并存储信息技术(it)环境中的多个设备的安全数据,层级即时记忆(htm)系统,其包括htm处理器和htm存储器,和特征提取系统,其包括存储器和处理器,其中所述存储器存储指令,所述指令在由所述处理器执行时执行一种方法。所述方法包括:将所述安全数据转换为多个空间-时间多维阵列,其中所述多个空间-时间多维阵列的各方面与所述安全数据之间的关联被存储在关联数据库中。所述方法可以还包括:响应于将所述多个空间-时间多维阵列输入到所述htm系统,从所述htm系统接收至少一个输出多维阵列。所述方法可以还包括:对从通信地耦合到所述特征提取系统的用户接口接收到的查询执行自然语言处理,其中所述查询识别所述it环境中的所述多个设备中的至少一个设备。所述方法可以还包括:基于所述查询、所述至少一个输出多维阵列和所述关联数据库来生成回答;以及将所述回答呈现给所述用户接口。

本公开的另外的方面涉及一种计算机实现的方法,所述方法包括:使用特征提取系统中的机器学习算法将安全数据转换成多个空间-时间多维阵列,其中所述安全数据是至少部分地从在通信地耦合多个计算设备的网络安全环境中起作用的安全信息和事件管理(siem)系统收集的。所述多个空间-时间多维阵列可以至少部分地基于与所述多个计算设备的至少一部分相关联的计算事件的至少一个序列。所述方法可以还包括:将所述多个空间-时间多维阵列提供给执行层级即时记忆(htm)网络的三维集成电路(3dic)。所述方法可以还包括:在所述特征提取系统处并且从所述htm网络接收至少部分地基于所述htm网络的相应区域中的活动节点的至少一个输出多维阵列。所述方法可以还包括:使用所述特征提取系统中的机器学习算法基于所述至少一个输出多维阵列来识别至少一个异常,并且由所述特征提取系统响应于识别出所述至少一个异常而重新配置所述网络安全环境的至少一个方面。所述方法可以还包括:由所述特征提取系统并且向通信地耦合到所述特征提取系统的用户接口呈现所述至少一个异常的通知。

附图说明

现在将参照优选实施例仅通过示例的方式描述本发明,如以下附图所示:

图1示出了根据本公开的一些实施例的示例网络安全环境的框图;

图2示出了根据本公开的一些实施例的用于异常检测的示例方法的流程图;

图3示出根据本公开的一些实施例的用于生成张量的示例方法的流程图;

图4示出了根据本公开的一些实施例的使用层级即时记忆(htm)网络进行异常分数处理的示例方法的流程图;

图5示出了根据本公开的一些实施例的用于呈现来自异常检测系统的输出的示例方法的流程图;

图6示出了根据本公开的一些实施例的用于查询异常检测系统的示例方法的流程图;

图7示出了根据本公开的一些实施例的示例异常检测的框图;

图8图示了根据现有技术的云计算,其中可以实现本发明的优选实施例;以及

图9图示了根据现有技术的抽象模型层,其中可以实现本发明的优选实施例。

虽然本公开可修改为各种修改和替代形式,但其细节已在附图中以示例的方式示出并将详细描述。然而,应当理解,不是意图将本公开限制于所描述的特定实施例。相反,意图将涵盖落入本公开的范围内的所有修改、等同和替代方案。

具体实施方式

本公开的各方面涉及计算机安全,并且更具体地涉及异常检测系统。虽然本公开不一定限于这样的应用,但是本公开的各个方面可以通过使用该上下文讨论各个示例来领会。

本公开的各方面涉及编译异构网络安全数据(例如,日志数据、网络数据、计算机数据、应用数据、用户行为数据、硬件数据等),将异构网络安全数据转换成同构数据,将同构数据存储在阵列中,将阵列输入到层级即时记忆(htm)网络,分析htm网络的输出,以及将相关网络安全信息传达给用户(例如,使用问答(q&a)系统、报告、信息图、图表、消息、警报、异常分数、概率等)。

本公开的各方面展现了许多优点。作为第一示例优点,本公开的各方面在检测异常方面展现增加的准确度(例如,更少的假阳性和/或更少的假阴性)。该示例优点可以部分地通过由特征提取系统收集并提供给htm网络的大量数据来实现。例如,特征提取系统可以将异构数据(例如,日志数据、杀毒数据、网络数据、硬件数据等)变换成同构数据(例如,矢量空间模型(vsm)、张量、空间-时间多维阵列和/或稀疏分布表示(sdr))。因此,本公开的各方面可以通过利用大量在其他情况下将是不兼容的数据来提高异常检测系统中的准确度。

作为第二示例优点,本公开的各方面检测各种异常。例如,本公开的各方面连续地检测低级别(例如,在单个计算机上操作的单个应用中发生的异常行为)和高级别(例如,在耦合数千个计算机的网络中发生的异常行为)的异常行为。这个优点可以部分地通过由htm网络收集、转换和处理的各种数据,并且进一步通过在htm网络中的所有级别上生成的连续预测来实现。

作为第三示例优点,本公开的各方面根据需要提供信息,从而改进异常检测系统的可用性。例如,用户(例如,安全分析员)可以查询自然语言处理(nlp)系统,该nlp系统可以识别适当的数据分析算法(一个或多个)以检索适当的htm输出,并且nlp系统可以基于由所执行的数据分析算法(一个或多个)提供的所分析的htm输出来制定对查询的适当回答。这个优点可以部分地通过nlp系统来实现,该nlp系统可以在按需的基础上提供易懂的信息。如本领域技术人员所理解的,原始htm输出(例如,基于htm网络的一部分中的活动节点和不活动节点的阵列)对于用户来说是不可理解的(例如,在没有nlp系统和由特征提取系统执行的数据分析算法(一个或多个)的帮助的情况下,用户可能无法破译htm输出的含义)。

作为第四示例优点,本公开的各方面通过有效地将数据输入到htm网络中来减少处理开销、减少功率使用和/或减少存储器使用。例如,本公开的各方面可以将在其他情况下将是不兼容的网络安全数据编译为vsm、张量、空间-时间多维阵列和/或sdr,从而使用类似的技术(例如htm网络)同时分析整个数据集,而不是使用不同的技术独立地分析多个数据子集。

作为第五示例优点,本公开的各方面容忍硬件故障。例如,htm网络可使用三维集成电路(3dic)来实现以加快处理速度。然而,如本领域技术人员所理解的,3dic可能易于发生硬件故障(例如,由于产量挑战(yieldchallenges))。有利地,htm网络是容错的,因为htm网络基于数据模式而不是单个数据点产生输出。因此,即使3dic中的许多故障也可以对用于生成htm输出的数据的整体模式具有可忽略的影响。

上述优点是示例优点,并且存在本公开的可以包含上述优点中的全部、一些或者不包含上述优点并且同时保持在本公开的范围内的方面。

现在参考图1,示出了根据本公开的一些实施例的示例网络安全环境的框图。在实施例中,网络安全环境100(例如,信息技术(it)环境、专用网络、公共网络、一组通信地耦合的计算设备等)包括一个或多个安全信息和事件管理(siem)系统124。siem系统124可以是但不限于ibm和qradar是国际商业机器公司的商标,该商标在全世界许多管辖区进行了注册。siem系统124从一个或多个网络防御系统102收集数据,所述网络防御系统102包括例如防火墙104、垃圾邮件过滤器106、杀毒模块108、网络入侵检测系统(nids)110和日志数据112。siem系统124同样从一个或多个主机防御系统114收集数据,该主机防御系统114包括例如防火墙116、杀毒模块118、主机入侵检测系统(hids)120和日志数据122。日志数据(例如,日志数据112和日志数据122)可以包括但不限于为事务日志、系统日志(例如,syslog)、操作系统日志、消息日志、事件日志、应用日志、网络日志、终端用户日志和/或不同的日志数据生成的日志文件。

siem系统124收集数值数据和文本数据。数值数据可以是但不限于网络地址(例如,因特网协议(ip)地址)、序列号、端口号、性能数据(例如,cpu速度、cpu容量、存储器使用等)、命令代码、错误代码、时间、日期、持续时间和/或其它数值数据。文本数据可以是但不限于命令、消息、名称、标识符、错误和/或其他文本数据。

尽管示出了一个siem系统124,但是网络安全环境100可以包括许多siem系统124。在一些实施例中,除了siem系统124之外或者作为其替代,从简单网络管理协议(snmp)陷阱和/或入侵检测和防范系统(idps)收集数据。本公开的一些实施例不包括siem系统124,而是直接从在网络安全环境100中起作用的计算设备收集数据。计算设备可以包括例如路由器、集线器、服务器、计算机、台式机、膝上型计算机、平板电脑、智能电话、手持设备、可穿戴设备和/或其他计算设备。

由siem系统124收集的数据被输入到异常检测系统148。特征提取系统126、层级即时记忆(htm)网络130和自然语言处理(nlp)系统152物理地或虚拟地驻留在异常检测系统148中。尽管为了清楚起见被示为单独的实体,但是在一些实施例中,特征提取系统126、htm网络130和/或nlp系统152被集成在具有机器学习、特征提取、htm和/或nlp能力的同一实体中。

特征提取系统126可以是但不限于ibmwatsontm。尽管未示出,但是特征提取系统126执行任何数量的机器学习算法,诸如但不限于决策树学习、关联规则学习、人工神经网络、深度学习、归纳逻辑编程、支持矢量机、聚类、贝叶斯网络、强化学习、表示学习、相似性/度量训练、稀疏字典学习、遗传算法、基于规则的学习和/或其他机器学习技术。watson是国际商业机器公司的商标,在全世界许多管辖区进行了注册。

例如,特征提取系统126可以被配置成使用以下示例技术中的一个或多个来执行机器学习:k最近邻(knn)、学习矢量量化(lvq)、自组织映射(som)、逻辑回归、普通最小二乘回归(olsr)、线性回归、逐步回归、多变量自适应回归样条(mars)、岭回归、最小绝对收缩和选择算子(lasso)、弹性网、最小角度回归(lars)、概率分类器、朴素贝叶斯分类器、二元分类器、线性分类器、层级分类器、规范相关分析(cca)、因子分析、独立分量分析(ica)、线性判别分析(lda)、多维定标(mds)、非负度量因子分解(nmf)、偏最小二乘回归(plsr)、主分量分析(pca)、主分量回归(pcr)、sammon映射、t分布随机近邻嵌入(t-sne)、自举汇聚、集合平均、梯度提升决策树(gbrt)、梯度增强机(gbm)、感应偏置算法、q学习、状态动作回报状态动作(sarsa)、时间差(lat)学习、apriori算法、等价类转换(eclat)算法、高斯处理回归、基因表达编程、数据处理的组方法(gmdh)、电感逻辑编程、基于实例的学习、逻辑模型树、信息模糊网络(ifn)、隐马尔可夫模型、高斯朴素贝叶斯、多项式朴素贝叶斯、平均单相关估计器(aode)、贝叶斯网络(bn)、分类和回归树(cart)、卡方自动交互检测(chaid)、期望最大化算法、前馈神经网络、逻辑学习机、自组织映射、单链接聚类、模糊聚类、层级聚类、玻尔兹曼机、卷积神经网络、循环神经网络、层级即时记忆(htm)和/或其他机器学习技术。

特征提取系统126被配置成检索由siem系统124生成的数据,并将该数据转换成用于层级即时记忆(htm)网络130的适当格式。特征提取系统126可以存储数据库128,其被配置成存储表示siem系统124收集的数据的语言、语义、句法、标量和/或测量特性的数值。例如,从siem系统124检索的数据可被转换成vsm。在这样的例子中,数据库128可以存储数据的部分和表示数据的部分的相应vsm的相应分量的相应值之间的关联。数据库128将参考图3更详细地讨论。

特征提取系统126将变换后的数据提供给htm网络130。在一些实施例中,变换的数据包括一个或多个vsm、一个或多个张量、和/或一个或多个空间-时间多维阵列。在一些实施例中,变换数据包括基于至少一个vsm、至少一个张量或至少一个空间-时间多维阵列的一个或多个稀疏分布表示(sdr)。

如本领域技术人员所理解的,htm是用于机器学习的技术。htm网络可以表现出与人脑的新皮质相似的特征。例如,htm网络可被表示为具有多个级别的树形层级。数据可以被输入到较低级别,并且来自较低级别的输出可以被用作较高级别的输入。每个级别可以包括一个或多个区域。较低级别可以包括比较高级别更多的区域。每个区域可以包括多个节点(例如,级别的区域可以是16×16节点方块)。每个节点可以包括一列单元(例如,每个节点可以包括一列三个单元)。htm网络可基于活动单元的模式(或活动节点的模式)学习。单个单元可以由前馈输入(例如,从较低级别接收的输入)或由相邻输入(例如,从相同级别上的单元接收的输入)激活。

在实施例中,htm网络130使用一个或多个空间沉积池132来格式化数据,并使用一个或多个时间沉积池134来预测活动单元和/或节点的下一模式。在一些实施例中,空间沉积池132被配置成将接收的数据转换为适合于htm网络130的格式。例如,空间沉积池132可将数据重新格式化为适合于htm网络130的级别、区域和/或节点的数量的大小。作为另一示例,空间沉积池132可将数据重新格式化为呈现提高的信息效率的至少一个不同的数据结构。例如,空间沉积池132可以生成输入数据的一个或多个稀疏分布表示(sdr)。在这样的例子中,通过基于输入数据的sdr激活htm网络130的相应区域中的一组单元,sdr可以被输入到htm网络130的区域。在可替代实施例中,特征提取系统126直接向htm网络130提供适当格式化的数据。

时间沉积池134被配置成预测下一个接收到的输入(例如,下一组活动单元或活动节点)。时间沉积池134对htm网络130的每个级别的每个区域进行连续预测。htm网络130基于观察与正确预测相关联的模式和与随着时间的不正确预测相关联的模式来学习。在一些实施例中,本公开基于时间沉积池134做出一个或多个不正确预测来识别异常行为。不正确的预测可能意味着输入数据的异常行为。在可替代实施例中,本公开基于时间沉积池134做出暗示异常行为的一个或多个预测(例如,与已知异常模式匹配的预测)来识别异常行为。

在一些实施例中,htm网络130的输出包括表示htm网络130的给定区域的活动单元(或节点)的阵列。在一些实施例中,htm网络130的输出包括表示htm网络130的相应区域中的活动单元的预测模式与htm网络130的相应区域中的活动单元的观察模式之间的差异的阵列。在一些实施例中,htm网络130的输出包括表示htm网络130的相应区域中的活动单元的预测模式与htm网络130的相应区域中的活动单元的已知异常模式之间的匹配的阵列。

在一些实施例中,htm网络130是使用集成电路(ic)实现的。在一些实施例中,htm网络130使用三维ic(3dic)。例如,htm网络130可以使用3d晶片级封装(3dwlp)、基于3d内插器的集成、3d堆叠ic(3d-sic)、单片3dic、3d异构集成、3d系统级封装(3dsip)、层叠封装(pop)、其它3dic结构和/或提供类似于3dic的功能的其它结构来实现。如前所述,3dic对于生成htm网络130是有利的,因为3dic可提供比其它方式可用的计算能力和速度更高的计算能力和速度。尽管3dic历史上遭受高于正常的硬件故障(例如,由于制造期间的产量挑战),但是htm网络130抵抗硬件故障,因为htm网络130基于活动的模式而不是活动的特定实例来学习。因此,htm网络130可提供精确的输出,即使htm网络130中的节点有故障。

来自htm网络130中的各种区域和级别的输出被输入到特征提取系统126中以进行后处理。特征提取系统126可使用数据库128将htm网络130输出的数值数据转换成可用信息。特征提取系统126还可编译来自各种数据源136的数据,以提供用于htm网络130的输出的附加上下文。

在实施例中,数据源136包括但不限于历史数据138、因特网数据140、环境数据142和/或全局安全数据144。历史数据138可以包括,但不限于,与htm网络130相关的历史数据(例如,先前的输入、先前的输出、已知的异常行为模式等)。因特网数据140可以包括但不限于新闻数据、社交媒体数据或因特网上可用的其他数据。环境数据142可以包括但不限于在网络安全环境100中起作用的硬件、软件、固件、操作系统和/或其他物理或虚拟组件的数量、类型、版本和/或模型。环境数据142还可以包括与向特征提取系统126和/或htm网络130提供数据的分量相关联的网络安全协议、策略和/或过程。全局安全数据144可包括但不限于与网络安全威胁、弱点、攻击、方法、技术、策略、最佳实践、习得的经验相关的数据和/或与全局网络安全相关的其他数据。

在一些实施例中,从htm网络130接收并由特征提取系统126后处理的数据被输出到用户接口146(例如,作为警告、分数、概率、信息图、图表、报告等)。在一些实施例中,从htm网络130接收并由特征提取系统126后处理的数据被发送到nlp系统152以进一步处理。

nlp系统152与用户接口146交互。nlp系统152可以基于由特征提取系统126和/或数据源136后处理的数据来生成报告、信息图、回答和/或警告并将其呈现给用户接口146。用户接口146可以向用户(例如,安全分析员)呈现信息。作为一个例子,nlp系统152可以从用户接口146接收问题,将问题转换为适合于经由特征提取系统126查询htm网络130的格式,执行适当的数据分析算法(一个或多个)以从htm网络130的相关部分检索htm输出,将检索的输出转换为回答,并将回答提供给用户接口146。在一些实施例中,回答还基于从数据源136收集的机器学习洞察。在一些实施例中,回答包括文本数据(例如,格式化为句子)和/或数值数据(例如,数量、范围、标识符、概率和/或置信度)。

nlp系统152执行如先前关于特征提取系统126所描述的任何数量的机器学习算法。尽管未示出,nlp系统152可以包括机器学习和自然语言处理能力,诸如但不限于词形变换、形态分割、词性(pos)标记、解析、句子边界歧义消除、词干、分割、术语提取、语义分析、情感分析、光学字符识别、词义歧义消除、语音识别、文本到语音处理和/或其他技术。在一些实施例中,nlp系统152是ibmwatson。

siem系统124、特征提取系统126、htm网络130、nlp系统152、数据源136和用户接口146通过网络150连接。网络150可以是物理网络、虚拟网络或物理和虚拟网络的组合。尽管未示出,但是网络150还可以互连多个计算设备(例如,生成由siem系统124收集的数据的计算设备),诸如但不限于路由器、集线器、服务器、台式机、膝上型计算机、数据处理系统、计算机、平板电脑、手持设备、可穿戴设备、智能电话和/或其他计算设备。

图1旨在表示根据本公开的实施例的示例网络安全环境100的主要组件。然而,在一些实施例中,各个组件可以具有比图1所示的更大或更小的复杂度,并且可以存在不同于图1所示的组件或除了那些之外的组件。此外,在一些实施例中,图1中所示的各种组件可以具有比图1中所示的更多、更少或不同的功能。

现在参考图2,示出了根据本公开的一些实施例的用于异常检测的示例方法的流程图。方法200可由例如一个或多个处理器、异常检测系统(例如,图1的异常检测系统148)、特征提取系统(例如,图1的特征提取系统126)或不同硬件配置来执行。为了清楚起见,方法200将在下文中被描述为由异常检测系统执行,然而,本公开的各方面可以由其他硬件组件或硬件组件的组合来执行。

在操作202中,异常检测系统收集网络安全数据。网络安全数据可以从例如日志文件(例如,系统日志、操作系统(os)日志、事件日志、应用日志、网络日志、事务日志、通信日志和/或其他日志文件)、siem系统、snmp陷阱、idp系统、网络、路由器、计算机、膝上型计算机、平板电脑、手持设备、可穿戴设备、移动电话、应用、操作系统、防火墙、垃圾邮件过滤器、杀毒应用、网络入侵检测系统(nids)、主机入侵检测系统(hids)和/或生成与网络安全环境相关的数据的其他源收集。在各种实施例中,异常检测系统可以从单独的组件和/或从一个或多个聚合点(例如,siem系统)收集网络安全数据。

在操作204中,异常检测系统预处理在操作202中收集的网络安全数据。预处理网络安全数据可以包括但不限于过滤(例如,净化)、整合和/或组织网络安全数据。过滤可以指但不限于移除损坏的、不准确的或其他不期望的数据。例如,本公开的各方面可以过滤重复数据。整合可以指但不限于将来自异构源的数据组合成逻辑组。例如,本公开的各方面可将从在同一内部网络上操作的多个计算机检索到的数据整合到与同一内部网络相关联的数据逻辑组中。组织可以指但不限于排序和/或简化相关数据。例如,接收的数据可以按大小、时间、类型或不同的度量排序。在另一示例中,接收到的数值数据可以被舍入到预定精度(例如,将小数舍入到最接近的十分之一或百分之一)。

在操作206中,异常检测系统通过将预处理数据编码成相应张量来生成一个或多个张量。在一些实施例中,张量(这里也称为空间-时间多维阵列)由一个或多个vsm组成。可以基于在操作204中预处理的数值数据和文本数据来生成各个vsm。在一些实施例中,张量可以将时间戳与vsm组合以生成与时间序列相关联的张量。在一些实施例中,各个张量可以包括已经被分类并处理为数值的聚类的日志特征(clusteredlogfeature)(表示为vsm矩阵)。因此,张量可以在多个空间基础和时间基础上数字地表示事件数据的属性。空间基础可以是例如在网络安全环境中的不同位置处发生的系统事件的特定值矩阵。网络安全环境中的不同位置可以通过例如源机器地址(例如,ip地址)、目的地机器地址、端口号、协议号、机器位置(例如,在数据中心或网络内)、数据中心位置(例如,地理位置)等来标识。时间基础可以是例如时间、日期、序列(例如,在运行的程序中排队的调度的计算机指令)、协议序列号(例如,通信协议消息的串行化和排序)等。参照图3更详细地描述操作206。

在一些实施例中,异常检测系统将张量转换成稀疏分布表示(sdr)。如本领域技术人员所理解的,sdr包括输入数据的子集,其中输入数据的子集在减少的数据量中保留适当数量的信息。

在操作208中,异常检测系统向htm网络(例如,图1的htm网络130)提供张量(或sdr)以进行异常检测分数处理。htm网络可包括多个级别,其中每个级别包括一个或多个区域,其中每个区域包括多个节点,并且其中每个节点包括一列单元。较高的级别可以包括比较低区域更少的区域(以及更少的节点和更少的单元)。较低级别的一个或多个区域可以提供输出作为较高级别的一个或多个区域的输入。在一些实施例中,htm网络可包括多个htm层级,每个htm层级接收基于唯一的一组时间和/或空间数据的输入,并且所述多个htm层级可收敛到单个最顶层级别。例如,可存在相应htm层级,以处理特定类型的数据(例如,系统日志数据),或特定数据集(例如,为相应计算机系统收集的所有数据)。在实施例中,可以以各种间隔(例如,连续地(当其被接收时)、一分钟、一小时和/或一天的间隔)处理所收集的数据。htm网络的每个区域可产生输出作为在操作208中处理数据的结果。输出可以包括,但不限于,基于htm网络的相应区域中的活动单元和/或节点的阵列。通过适当的后处理,阵列输出可以指示预测、异常点检测、分数、模式检测、模式表示和/或置信度(例如,百分比置信度、似然性、概率或置信度的不同度量)。参照图4更详细地描述操作208。

在操作210中,异常检测系统对操作208生成的输出进行后处理。异常检测系统可通过将htm网络的数值输出转换成可用数据来后处理htm结果。例如,异常检测系统可以将htm输出阵列转换为与网络安全环境的特定部分(例如,在计算机上起作用的应用)相关联的特定度量(例如,登录尝试、网络流量)。在一些实施例中,异常检测系统在操作210中确定htm输出是否指示异常。在一些实施例中,异常检测系统从其他数据源(例如,图1的数据源136)收集附加数据,诸如但不限于历史数据、因特网数据、环境数据和/或全局安全数据。操作210在下文中参考图5更详细地描述。

在操作212中,异常检测系统将结果呈现给用户接口(例如,图1的用户接口146)。在一些实施例中,异常检测系统将后处理的htm输出转换为通知,诸如报告、警告、信息图、对问题的回答或为不同格式。参照图6更详细地描述操作212。

在操作214中,异常检测系统通过重新配置网络安全环境自动地(或响应于用户输入)减少异常。出于本公开的目的,重新配置网络安全环境可以指虚拟地或物理地改变网络安全环境,使得网络安全环境由于重新配置而展现改变的功能(例如,改变的能力、改变的性能)。例如,重新配置可以导致减少的功能和网络安全环境的改进的安全性。异常可以通过例如隔离与异常相关联的网络安全环境的一部分来减少。例如,异常检测系统可以响应于识别出在计算机处发生的异常而自动地将计算机与网络隔离。

图2旨在表示根据本公开的一些实施例的用于异常检测的示例方法的主要操作。然而,在一些实施例中,各个操作可以具有比图2所示的更大或更小的复杂性,并且可以存在除了图2所示的那些操作之外(或代替那些操作)的操作。此外,在一些实施例中,图2中所示的各种操作可以具有比图2中所示的更多、更少或不同的功能。此外,在一些实施例中,图2中所示的各种操作可以以不同的顺序发生,如果它们确实发生的话。

现在参考图3,示出了根据本公开的一些实施例的用于生成张量的示例方法的流程图。在一些实施例中,方法300是图2的操作206的子方法。方法300可以例如由一个或多个处理器、异常检测系统(例如,图1的异常检测系统148)、特征提取系统(例如,图1的特征提取系统126)或不同硬件配置来执行。为了清楚起见,方法300将在下文中被描述为由异常检测系统执行,然而,本公开的各方面可以由其他硬件组件或硬件组件的组合来执行。

在操作302中,异常检测系统检索分类数据。分类数据可以包括辅助语义分析和特征提取的分类知识词典。分类数据可以指示例如数据类型(例如,数值数据相对于文本数据)和数据类别(例如,网络数据相对于杀毒数据)。

在操作304中,异常检测系统将预处理数据的第一部分分类为数值数据。数值数据可以是例如处理器(cpu)负载、地址(例如,ip地址)、端口号、命令代码、错误代码、时间、持续时间、协议标识符和/或其它数值数据。在操作306中,异常检测系统将第一部分数据映射到一个或多个矢量空间模型(vsm)。如本领域技术人员所理解的,vsm将对象表示为多维矢量。vsm可以包括任意数量的分量,其中每个分量存储值。值和分量的每个组合可以表示第一部分数据的一部分。基于数值数据的vsm可以将数字值存储在vsm的所选分量中。例如,第一分量可以引用源ip地址,第二分量可以引用目的地ip地址,第三分量可以引用分组大小,等等。尽管示例vsm包含三个分量,但是本公开的实施例可以生成具有比在前述示例中所讨论的更多或更少分量的vsm。

在操作308中,异常检测系统将预处理数据的第二部分分类为文本数据。文本数据可以是例如命令、消息、名称、标识符、日志数据、错误和/或其他文本数据。例如,在操作308中,异常检测系统可以将“https://ssl.google-analytics.com:443*denied*禁止站点”分类为文本数据。

在操作310中,异常检测系统将第二部分数据映射到vsm。例如,异常检测系统可以将以上关于操作308讨论的示例文本数据转换为诸如“2193479287543109820983”的数字矢量,其中矢量的每个分量由空间分离。在数字矢量中,第一分量"2"可以指示事件类别代码(例如,web代理目标站点访问通知)。第二分量"193479287"可以表示目标通用资源定位符(url)的摘要值(例如,“https://ssl.google-analytics.com:443”的摘要值)。第三分量"5"可以表示条件(例如,访问拒绝条件)。第四分量"43"可以表示该状况的原因代码(例如,禁止站点原因代码)。第五组成部分"109820983"可以表示禁止站点url和/或域的摘要值(例如,“google-analytics.com”)。尽管前面的例子示出了具有五个分量(例如,五个维度)的vsm,但是任何数量的分量都是可能的。

在操作312中,异常检测系统生成将vsm的相应分量中的相应值与它们所表示的数据相关的数据库。例如,数据库可以存储示例vsm的第二分量的数字“193479287”和文本https://ssl.google-analytics.com:443之间的关联。

在一些实施例中,异常检测系统还将vsm的分量与数值数据(例如,在操作306中基于数值数据生成的vsm)的特征属性之间的关联存储在相同数据库或不同数据库中。例如,异常检测系统可以存储vsm的第一分量可以引用源ip地址、vsm的第二分量可以引用目的地ip地址、以及vsm的第三分量可以引用分组大小的指示。

在操作314中,异常检测系统基于至少一个vsm生成至少一个张量。例如,表示由网络安全环境中不同位置处的相同事件生成的安全数据的多个vsm可以被编译成张量。在另一个例子中,表示用于同一组安全数据的时间序列的多个vsm可以被编译成张量。在另一个例子中,表示所有日志数据的多个vsm可以被编译成张量。基于各个vsm的维度和用于生成各个张量的各个vsm的数量,各个张量可以与任意数量的维度相关联。

图3旨在表示根据本公开的一些实施例的用于生成张量的示例方法的主要操作。然而,在一些实施例中,各个操作可以具有比图3所示的更大或更小的复杂性,并且可以存在除了图3所示的那些操作之外(或代替那些操作)的操作。此外,在一些实施例中,图3中所示的各种操作可以具有比图3中所示的更多、更少或不同的功能。此外,在一些实施例中,图3中所示的各种操作可以以不同的顺序发生,如果它们确实发生的话。

现在参考图4,示出了根据本公开的一些实施例的使用层级即时记忆(htm)网络进行异常分数处理的示例方法的流程图。在一些实施例中,方法400是图2的操作208的子方法。方法400可由例如一个或多个处理器、异常检测系统(例如图1的异常检测系统148)、htm网络(例如图1的htm网络130)或不同硬件配置执行。为了清楚起见,方法400将在下文中被描述为由异常检测系统执行,然而,本公开的各方面可以由其他硬件组件或硬件组件的组合来执行。

在操作402中,异常检测系统从特征提取系统(例如,图1的特征提取系统126)接收数据,以由htm网络处理。在一些实施例中,数据包括一个或多个张量。一个或多个张量可以基于使用来自网络安全环境的数值数据和文本数据生成的一个或多个vsm。在一些实施例中,数据还包括基于一个或多个张量的一个或多个sdr。相应的张量可以跨空间基础(例如,网络安全环境中的不同位置)和时间基础(例如,网络安全环境中的不同时间)以数值表达特征提取系统收集的数据的属性。

在操作404中,异常检测系统将接收到的数据输入到htm网络。将数据输入到htm网络可包括基于输入数据激活htm网络的第一层中的选定单元和/或列(也称为节点)。

在操作406中,异常检测系统使用htm网络处理数据。在一些实施例中,异常检测系统可将来自htm网络的前一层(例如,较低层)中的区域的输出应用于htm网络的后一层(例如,较高层)中的区域。如本领域技术人员所理解的,后一层可以小于前一层(例如,更少的区域、节点、单元和/或列)。提供来自前一层的输出作为到后一层的输入可以包括基于前一层中的活动单元和/或列的模式来激活后一层中的相应单元和/或列。操作406可以包括处理htm网络中的任何数量的层和区域的数据。

在操作408中,异常检测系统将来自htm网络的相应层的相应区域的结果输出到特征提取系统。输出可以包括,但不限于,基于htm网络的相应区域中的活动节点和非活动节点的阵列。输出可以表示例如预测、置信度、异常检测、模式表示、本地分数和/或全局分数(例如,全局环境异常分数)。

图4旨在表示根据本公开的一些实施例的使用htm网络进行异常分数处理的示例方法的主要操作。然而,在一些实施例中,各个操作可以具有比图4所示的更大或更小的复杂性,并且可以存在除了图4所示的那些操作之外(或作为其替代)的操作。此外,在一些实施例中,图4中所示的各种操作可以具有比图4中所示的更多、更少或不同的功能。此外,在一些实施例中,图4中所示的各种操作可以以不同的顺序发生,如果它们确实发生的话。

现在参考图5,示出了根据本公开的一些实施例的用于后处理htm数据的示例方法的流程图。在一些实施例中,方法500是图2的操作210的子方法。方法500可以由例如一个或多个处理器、异常检测系统(例如,图1的异常检测系统148)、特征提取系统(例如,图1的特征提取126)或不同硬件配置来执行。为了清楚起见,方法500将在下文中被描述为由异常检测系统执行,然而,本公开的各方面可以由其他硬件组件或硬件组件的组合来执行。

在操作502中,异常检测系统检索htm输出。htm输出可包括指示htm网络的任何区域或级别的预测(一个或多个)、置信度(一个或多个)、分数(一个或多个)和/或模式(一个或多个)的数值输出(例如,阵列)。在一些实施例中,htm输出可以sdr格式、张量格式和/或vsm格式接收。htm输出可基于htm网络的给定区域中的活动和/或不活动节点、htm网络的给定区域中的预测活动和/或不活动节点、和/或htm网络的给定区域中的预测节点活动与观察节点活动之间的差异。

在操作504中,异常检测系统检索历史信息(例如,图1的历史数据138)。历史信息可以包括,例如,与htm网络相关联的先前输入和/或输出。异常检测系统可以从存储在内部存储器或外部存储器中的数据库中检索历史数据。

在操作506中,异常检测系统检索因特网信息(例如,图1的因特网数据140)。因特网信息可以包括例如从社交媒体网站、新闻网站或从因特网检索到的其他信息检索到的数据。例如,异常检测系统可以从一个或多个新闻网站检索关于新兴的随机软件攻击的信息。

在操作508中,异常检测系统检索环境数据(例如,图1的环境数据142)。环境数据可以包括但不限于网络安全协议、网络安全策略、网络安全过程、已知弱点、已知威胁、或者与服务器、计算机、膝上型计算机、平板电脑、手持设备、可穿戴设备、智能电话、网络、路由器、集线器、软件、固件、应用、操作系统和/或在网络安全环境中起作用的其他组件的配置、型号和/或版本有关的其他信息。异常检测系统可以从(一个或多个)内部存储装置和/或(一个或多个)外部存储装置检索环境数据。

在操作510中,异常检测系统检索全局安全数据(例如,图1的全局安全数据144)。全局安全数据可包括但不限于与网络安全威胁、弱点、攻击、方法、技术、策略、最佳实践、学习的经验相关的数据,或与全局网络安全相关的其他数据。全局安全数据可以从(一个或多个)内部存储装置和/或(一个或多个)外部存储装置中检索。

在操作512中,异常检测系统对在操作502-510中检索的数据执行机器学习。机器学习可以包括与增强智能、人工智能和/或认知计算相关联的技术。例如,机器学习可以包括但不限于决策树学习、关联规则学习、人工神经网络、深度学习、归纳逻辑编程、支持矢量机、聚类、贝叶斯网络、强化学习、表示学习、相似性/度量学习、遗传算法、基于规则的学习、自然语言处理、学习分类器系统、和/或能够从数据语料库生成相关洞察的其他技术。

例如,在一些实施例中,操作512可以使用以下示例技术中的一个或多个:k最近邻(knn)、学习矢量量化(lvq)、自组织映射(som)、逻辑回归、普通最小二乘回归(olsr)、线性回归、逐步回归、多变量自适应回归样条(mars)、岭回归、最小绝对收缩和选择算子(lasso)、弹性网、最小角度回归(lars)、概率分类器、朴素贝叶斯分类器、二元分类器、线性分类器、层级分类器、规范相关分析(cca)、因子分析、独立分量分析(ica)、线性判别分析(lda)、多维定标(mds)、非负度量因子分解(nmf)、偏最小二乘回归(plsr)、主分量分析(pca)、主分量回归(pcr)、sammon映射、t分布随机近邻嵌入(t-sne)、自举汇聚、集合平均、梯度提升决策树(gbrt)、梯度增强机(gbm)、感应偏置算法、q学习、状态动作回报状态动作(sarsa)、时间差(lat)学习、apriori算法、等价类转换(eclat)算法、高斯处理回归、基因表达编程、数据处理的组方法(gmdh)、电感逻辑编程、基于实例的学习、逻辑模型树、信息模糊网络(ifn)、隐马尔可夫模型、高斯朴素贝叶斯、多项式朴素贝叶斯、平均单相关估计器(aode)、贝叶斯网络(bn)、分类和回归树(cart)、卡方自动交互检测(chaid)、期望最大化算法、前馈神经网络、逻辑学习机、自组织映射、单链接聚类、模糊聚类、层级聚类、玻尔兹曼机、卷积神经网络、循环神经网络、层级即时记忆(htm)和/或其他机器学习技术。

在操作514中,异常检测系统呈现来自操作512的输出。输出可以包括预测(一个或多个)、置信度(一个或多个)、异常检测(一个或多个)、模式(一个或多个)、警告(一个或多个)、分数(一个或多个)或不同的输出。输出可以被呈现给用户接口(例如,图1的用户接口146)、存储在存储器中(例如,存储在诸如图1的历史数据138的历史数据储存库中)或被发送到不同的计算机系统。

图5旨在表示根据本发明的一些实施例的用于后处理htm输出的示例方法的主要操作。然而,在一些实施例中,各个操作可以具有比图5所示的更大或更小的复杂性,并且可以存在除了图5所示的那些操作之外(或代替那些操作)的操作。此外,在一些实施例中,图5中所示的各种操作可以具有比图5中所示的更多、更少或不同的功能。此外,在一些实施例中,图5中所示的各种操作可以以不同的顺序发生,如果它们确实发生的话。

现在参考图6,示出了根据本公开的一些实施例的用于查询异常检测系统的示例方法的流程图。在一些实施例中,方法600是图2的操作212的子方法。方法600可以由例如一个或多个处理器、异常检测系统(例如,图1的异常检测系统148)、自然语言处理(nlp)系统(例如,图1的nlp系统152)或不同硬件配置来执行。为了清楚起见,方法600将在下文中被描述为由异常检测系统执行,然而,本公开的各方面可以由其他硬件组件或硬件组件的组合来执行。

在操作602中,异常检测系统接收查询。查询可以从例如用户接口(例如,图1的用户接口146)接收。查询可以是问题的形式或指定数据请求的不同形式。

在操作604中,异常检测系统对查询执行自然语言处理,以将查询转换成适合于查询htm网络的格式。在一些实施例中,异常检测系统可以使用数据库(例如,图1的数据库128)来将查询的相关文本转换为htm网络所使用的适当的vsm、张量和/或sdr。在一些实施例中,异常检测系统识别一个或多个适当的数据分析算法以在htm输出上执行,从而检索对查询的适当回答。

在操作606中,异常检测系统基于查询识别htm网络的至少一个相关区域。异常检测系统可以从htm网络的至少一个相关区域检索一个或多个htm输出(例如,通过执行适当的数据分析算法)。htm输出可以包括vsm、张量(一个或多个)和/或表示预测(一个或多个)、置信度(一个或多个)、分数(一个或多个)、模式(一个或多个)或其他数据的sdr。

在操作608中,异常检测系统对从htm网络检索到的信息执行自然语言处理,以将htm输出转换成适于呈现的格式(例如,构造为句子的回答)。在一些实施例中,操作608包括使用例如数据库(例如,图1的数据库128)对htm输出进行后处理,以将vsm(一个或多个)、张量(一个或多个)和/或sdr(一个或多个)转换成包含文本数据和/或数值数据的响应。

在操作610中,异常检测系统将回答呈现给用户接口。在一些实施例中,回答被呈现为对问题的响应、值、报告、表格、信息图或不同格式。

作为方法600的示例,异常检测系统可以接收查询,诸如,例如"在接下来的20分钟内在secprx2938.customer.com进行预期登录尝试的数量是多少"(例如,操作602)。异常检测系统可将接收的查询转换为适于查询htm网络的格式(例如,操作604),从htm网络的相关区域检索htm输出(例如,操作606),将检索的htm输出转换为回答(例如,操作608),并将回答呈现给用户接口(例如,操作610)。例如,异常检测系统可以响应于上面讨论的示例查询而呈现文本"预期主机在接下来的20分钟内以75.8%的置信区间处理大约159次登录尝试"。

图6旨在表示根据本公开的一些实施例的用于查询异常检测系统的示例方法的主要操作。然而,在一些实施例中,各个操作可以具有比图6所示的更大或更小的复杂性,并且可以存在除了图6所示的那些操作之外(或作为其替代)的操作。此外,在一些实施例中,图6中所示的各种操作可以具有比图6中所示的更多、更少或不同的功能。此外,在一些实施例中,图6中所示的各种操作可以以不同的顺序发生,如果它们确实发生的话。

图7示出了根据本公开的一些实施例的异常检测系统700的框图。在一些实施例中,异常检测系统700与图1的异常检测系统148一致。在各种实施例中,异常检测系统700执行图2-6中描述的任何方法。在一些实施例中,异常检测系统700向客户端机器提供用于图2-6中描述的方法中的一个或多个方法的指令,使得客户端机器基于由异常检测系统700提供的指令来执行该方法或该方法的一部分。

异常检测系统700包括存储器725、存储装置730、互连(例如,bus)720、一个或多个cpu705(在此也称为处理器705)、i/o设备接口710、i/o设备712和网络接口715。

每个cpu705检索并执行存储在存储器725或存储装置730中的编程指令。互连720用于在cpu705、i/o设备接口710、存储装置730、网络接口715和存储器725之间移动数据,诸如编程指令。互连720可以使用一个或多个总线来实现。在各种实施例中,cpu705可以是单个cpu、多个cpu或具有多个处理内核的单个cpu。在一些实施例中,cpu705可以是数字信号处理器(dsp)。在一些实施例中,cpu705包括一个或多个3dic(例如,3d晶片级封装(3dwlp)、基于3d内插器的集成、3d堆叠ic(3d-sic)、单片3dic、3d异构集成、3d系统级封装(3dsip)、和/或层叠封装(pop)cpu配置)。在包括3dic的实施例中,3dic可与处理htm指令764和/或产生htm数据734相关联。通常包括存储器725以表示随机存取存储器(例如,静态随机存取存储器(sram)、动态随机存取存储器(dram)或闪存)。存储装置730通常被包括以表示非易失性存储器,诸如硬盘驱动器、固态设备(ssd)、可移除存储卡、光学存储装置或闪存设备。在备选实施例中,存储装置730可以由存储区域网络(san)设备、云或者经由i/o设备接口710连接到异常检测系统700或者经由网络接口715连接到网络750的其它设备来代替。

在一些实施例中,存储器725存储指令760,并且存储装置730存储数据库732、htm数据734和数据源736。然而,在各种实施方式中,指令760、数据库732、htm数据734和数据源736部分地存储在存储器725和部分地存储在存储装置730中,或者它们全部地存储在存储器725或全部地存储在存储装置730中,或者它们经由网络接口715通过网络750被访问。

数据库732可以与图1的数据库128一致。数据库732可以存储将文本数据和数值数据与相应vsm的相应分量的相应值相关的数据库。

htm数据734可包括输入到htm网络(例如,图1的htm网络130)的数据或从htm网络输出的数据。htm数据734可以包括vsm、张量和/或sdr。在一些实施例中,htm数据734可包括用户友好格式的数据(例如,文本、报告、信息图、图表、警告等)。htm数据734可包括输入到htm网络的任何数量的区域和/或层的数据和/或从htm网络的任何数量的区域和/或层的数据输出。

数据源736可以包括从网络安全环境收集数据(例如,由图1的siem系统124收集的数据)的数据源和/或与网络安全环境相关的其他数据(例如,图1的数据源136),诸如历史数据、因特网数据、环境数据和/或全局安全数据。

指令760是处理器可执行指令,包括特征提取指令762、htm指令764以及问答(q&a)指令766。特征提取指令762可以由异常检测系统700执行以收集数据、变换数据、与htm网络接口和/或与用户接口接口。特征提取指令762可以被配置成执行先前在图2-3和5中讨论的任何方法。

特征提取指令762可以包括用于执行数据分析算法和/或对数据执行机器学习的指令。特征提取指令762可以包括用于机器学习算法的指令,所述机器学习算法诸如但不限于决策树学习、关联规则学习、人工神经网络、深度学习、归纳逻辑编程、支持矢量机、聚类、贝叶斯网络、强化学习、表示学习、相似性/度量训练、稀疏字典学习、遗传算法、基于规则的学习和/或其他机器学习技术。

特征提取指令762可以包括能够使用以下示例技术中的一个或多个来执行机器学习的算法或算法集:k最近邻(knn)、学习矢量量化(lvq)、自组织映射(som)、逻辑回归、普通最小二乘回归(olsr)、线性回归、逐步回归、多变量自适应回归样条(mars)、岭回归、最小绝对收缩和选择算子(lasso)、弹性网、最小角度回归(lars)、概率分类器、朴素贝叶斯分类器、二元分类器、线性分类器、层级分类器、规范相关分析(cca)、因子分析、独立分量分析(ica)、线性判别分析(lda)、多维定标(mds)、非负度量因子分解(nmf)、偏最小二乘回归(plsr)、主分量分析(pca)、主分量回归(pcr)、sammon映射、t分布随机近邻嵌入(t-sne)、自举汇聚、集合平均、梯度提升决策树(gbrt)、梯度增强机(gbm)、感应偏置算法、q学习、状态动作回报状态动作(sarsa)、时间差(lat)学习、apriori算法、等价类转换(eclat)算法、高斯处理回归、基因表达编程、数据处理的组方法(gmdh)、电感逻辑编程、基于实例的学习、逻辑模型树、信息模糊网络(ifn)、隐马尔可夫模型、高斯朴素贝叶斯、多项式朴素贝叶斯、平均单相关估计器(aode)、贝叶斯网络(bn)、分类和回归树(cart)、卡方自动交互检测(chaid)、期望最大化算法、前馈神经网络、逻辑学习机、自组织映射、单链接聚类、模糊聚类、层级聚类、玻尔兹曼机、卷积神经网络、循环神经网络、层级即时记忆(htm)和/或其他机器学习技术。

htm指令764可以由异常检测系统700执行以将网络安全数据应用于htm网络,以便基于由htm网络处理的数据的模式来检测异常行为。htm指令764可被配置成执行图4中所讨论的方法及/或产生htm数据734。在一些实施例中,htm指令764是使用3dic实现的。

q&a指令766可以由异常检测系统700执行,以便以用户友好的格式呈现htm数据734。q&a指令766可以包括用于例如词形变换、形态分割、词性(pos)标记、解析、句子边界歧义消除、词干、分割、术语提取、语义分析、情感分析、光学字符识别、词义歧义消除、语音识别、文本到语音处理和/或用于执行自然语言处理(nlp)的其它技术的指令。q&a指令766可被配置成执行图6中所描述的方法。

在各种实施例中,i/o设备712包括能够呈现信息和接收输入的接口。例如,i/o设备712可以向与异常检测系统700交互的用户呈现信息(例如,异常分数)并且从用户接收输入(例如,所选择的缓解动作)。

异常检测系统700经由网络接口715连接到网络750。在一些实施例中,网络750与图1的网络150一致。

图7旨在表示根据本公开的实施例的示例异常检测系统700的主要组件。然而,在一些实施例中,各个组件可以具有比图7所示的更大或更小的复杂度,并且可以存在不同于图7所示的组件或除了那些之外的组件。此外,在一些实施例中,图7中所示的各种组件可以具有比图7中所示的更多、更少或不同的功能。

首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。

云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。

特征包括:

按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。

广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理pda)对云的使用。

资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。

迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。

可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。

服务模型如下:

软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。

平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。

基础架构即服务(iaas):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。

部署模型如下:

私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。

共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。

公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。

混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。

云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。

现在参考图8,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(pda)或移动电话54a,台式电脑54b、笔记本电脑54c和/或汽车计算机系统54n。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(iaas)、平台即服务(paas)和/或软件即服务(saas)。应当理解,图2显示的各类计算设备54a-n仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。

现在参考图9,其中显示了云计算环境50(图8)提供的一组功能抽象层。首先应当理解,图9所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图9所示,提供下列层和对应功能:

硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;基于risc(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。软件组件的例子包括:网络应用服务器软件67以及数据库软件68。

虚拟层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。

在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(sla)计划和履行功能85:为根据sla预测的对云计算资源未来需求提供预先安排和供应。

工作负载层90提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航91;软件开发及生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及异常检测96。

在任何可能的技术细节结合层面,本发明的实施例可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

虽然可以理解,可以通过经由加载诸如cd、dvd等的存储介质而将处理软件(例如,存储在图7的指令760中的任何指令和/或被配置成执行关于图2-6描述的方法的任何子集的任何软件)直接手动加载到客户端、服务器和代理计算机中来部署该处理软件,但是也可以通过将该处理软件发送到中央服务器或一组中央服务器而将该处理软件自动或半自动地部署到计算机系统中。然后,将所述处理软件下载到将执行所述处理软件的客户端计算机中。备选地,所述处理软件经由电子邮件直接发送到客户端系统。然后,通过执行将所述处理软件分离到目录中的一组程序指令,将所述处理软件分离到目录中或加载到目录中。另一备选是将处理软件直接发送到客户端计算机硬盘驱动器上的目录。当存在代理服务器时,该过程将选择代理服务器代码,确定将代理服务器的代码放置在哪些计算机上,传送代理服务器代码,然后将代理服务器代码安装在代理计算机上。处理软件将被发送到代理服务器,然后它将被存储在代理服务器上。

本发明的实施例还可以作为与客户公司、非盈利组织、政府实体、内部组织结构等的服务约定的一部分来交付。这些实施例可以包括配置计算机系统以执行,以及部署实现本文描述的方法中的一些或全部的软件、硬件和web服务。这些实施例还可以包括分析客户的操作、响应于分析创建推荐、构建实现推荐子集的系统、将系统集成到现有过程和基础设施中、计量系统的使用、向系统的用户分配费用、以及开账单、开发票或以其他方式接收对系统的使用的支付。

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