一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

通信网络中的安全性的制作方法

2023-08-09 18:12:19 来源:中国专利 TAG:


1.各种示例实施例总体上涉及通信网络,并且更具体地涉及这样的系统中的安全性(security)。


背景技术:

2.通常,安全性在各种通信中都很重要,诸如在蜂窝通信系统中,如在由第三代合作伙伴计划(3gpp)开发的5g网络中。3gpp仍然开发5g网络,并且需要提供用于增强5g网络的安全性的改进的方法、装置和计算机程序。这样的增强也可以在其他蜂窝通信网络中利用。例如,这样的增强可以在未来的6g网络中利用。


技术实现要素:

3.根据一些方面,提供了独立权利要求的主题。从属权利要求中定义了一些示例实施例。
4.本发明的各种示例实施例所寻求的保护范围由独立权利要求规定。本说明书中描述的不属于独立权利要求范围的示例实施例和特征(如果有的话)应当被解释为对理解本发明的各种示例实施例有用的示例。
5.根据本发明的第一方面,提供了一种装置,该装置包括至少一个处理核、至少一个包括计算机程序代码的存储器,该至少一个存储器和该计算机程序代码被配置为与该至少一个处理核一起使该装置至少执行:接收包括数据点的输入数据,至少对上述数据点的子集应用n个初始聚类算法以生成n个初始聚类矩阵,从该n个初始聚类矩阵生成共同关联矩阵(co-association matrix),从该共同关联矩阵生成距离矩阵,将基于密度的聚类算法应用于该距离矩阵以生成数据集群,将所生成的该数据集群的子集确定为异常集群,其中每个异常集群中的数据点中的至少一些数据点是异常数据点,以及基于异常集群执行至少一个动作。
6.根据第二方面,提供了一种方法,该方法包括:接收包括数据点的输入数据,至少对上述数据点的子集应用n个初始聚类算法以生成n个初始聚类矩阵,从该n个初始聚类矩阵生成共同关联矩阵,从该共同关联矩阵生成距离矩阵,将基于密度的聚类算法应用于该距离矩阵以生成数据集群,将所生成的该数据集群的子集确定为异常集群,其中每个异常集群中的数据点中的至少一些数据点是异常数据点,以及基于异常集群执行至少一个动作。
7.根据本发明的第三方面,提供了一种装置,该装置包括用于执行以下操作的部件:接收包括数据点的输入数据,至少对上述数据点的子集应用n个初始聚类算法以生成n个初始聚类矩阵,从该n个初始聚类矩阵生成共同关联矩阵,从该共同关联矩阵生成距离矩阵,将基于密度的聚类算法应用于该距离矩阵以生成数据集群,将所生成的该数据集群的子集确定为异常集群,其中每个异常集群中的数据点中的至少一些数据点是异常数据点,以及基于异常集群执行至少一个动作。
8.根据本发明的一些方面,提供了一种非暂态计算机可读介质,该非暂态计算机可读介质上存储有一组计算机可读指令,该组计算机可读指令在由至少一个处理器执行时使装置至少执行上述方法。根据本发明的一些方面,提供了一种包括指令的计算机程序,当该程序由装置执行时,该指令使该装置执行上述方法。
附图说明
9.图1示出了根据至少一些示例实施例的网络场景;
10.图2示出了根据至少一些示例实施例的架构;
11.图3示出了根据至少一些示例实施例的共同关联矩阵的生成;
12.图4示出了根据至少一些示例实施例的距离矩阵的生成;
13.图5示出了能够支持至少一些示例实施例的示例装置;
14.图6示出了根据至少一些示例实施例的方法的流程图;以及
15.图7示出了根据至少一些示例实施例的流程图的生成。
具体实施方式
16.本发明的实施例为通信网络提供了安全性增强。更具体地,本发明的实施例通过结合基于密度的聚类算法利用若干初始聚类算法(诸如无监督聚类算法)将传入数据(incoming data)分类为各种数据集群来增强通信网络的安全性。因此,包括至少异常数据点的异常集群可以基于数据集群来确定,例如,由入侵检测装置来确定,然后,该入侵检测装置可以相应地执行动作。
17.图1示出了根据至少一些示例实施例的示例性网络场景。根据图1的示例场景,可以存在通信网络,该通信网络包括无线终端110、无线网络节点120和核心网130。核心网130还可以包括装置132,如入侵检测装置。然而,在一些示例实施例中,装置132可以不在核心网130中。装置132可以是无线网络节点120的一部分,或者位于无线网络节点120与核心网130之间。
18.在一些实施例中,装置132可以在图1所示的通信网络之外。也就是说,本发明的实施例也可以在其他通信系统中利用,并且蜂窝通信网络仅用作示例。通信网络还可以包括另一装置140,如入侵者。另一装置140可以在通信网络中或向通信网络传输分组。分组可以包括未知业务,并且装置132可以在接收到上述分组时进一步分析上述分组。
19.例如,无线终端110可以包括用户设备(ue)、智能手机、蜂窝电话、机器对机器(m2m)节点、机器类型通信(mtc)节点、物联网(iot)节点、汽车遥测单元、膝上型计算机、平板电脑或任何合适的无线终端。在图1的示例中,无线终端110可以经由空中接口115与无线网络节点120或无线网络节点120的小区进行无线通信。
20.无线终端110可以经由空中接口115连接到无线网络节点120。无线终端110与无线网络节点120之间的空中接口115可以根据无线终端110和无线网络节点120被配置为支持的无线电接入技术(rat)来配置。
21.蜂窝rat的示例包括长期演进lte、新无线电nr(也称为第五代(5g)无线电接入技术)和multefire。在蜂窝rat的情况下,无线终端110可以称为ue,并且无线网络节点120可以称为基站(bs)。例如,在lte的上下文中,无线网络节点120可以称为enb,而在nr的上下文
中,无线网络节点120可以称为gnb。非蜂窝rat的示例包括无线局域网(wlan)和全球微波接入互操作性(wimax)。在非蜂窝rat的情况下,无线终端110可以称为无线客户端,并且无线网络节点120可以称为接入点。
22.无线网络节点120可以经由接口125直接与核心网130连接,或经由至少一个中间节点与核心网130连接。核心网130又可以经由接口135与另一网络(图1中未示出)耦合,经由该另一网络可以实现到另外的网络的连接,例如经由全球互连网络。无线网络节点120可以直接与核心网130或与另一核心网连接,或经由至少一个中间节点与核心网130或与另一核心网连接。
23.对例如人工智能(ai)系统的对抗性攻击可能是或成为各种通信网络(诸如蜂窝通信网络,如未来的5g网络或6g网络)的主要安全问题。迈向智能网络可能需要将ai用作架构、产品和服务中的重要组成部分。然而,在这样的智能网络中,ai可能不仅仅是推动者,而是ai可以由攻击者(attacker)用作攻击手段(offender)来发起智能攻击,例如,使用异常数据点。ai驱动的攻击可能会规模化,并且变得更加隐蔽。由于ai系统的适应性结构,可以在攻击技术之间切换,并且可以轻松绕过防御机制。因此,减轻这些攻击需要更智能的防御系统,该防御系统由ai方法提供支持,能够实时且以最少人为交互来检测恶意输入。
24.例如,在机器学习领域,分析未知数据可能是一个挑战。如果大量传入数据未知且不属于任何已知攻击类型,则在数据被分类时,可能会导致较高的误报率和漏报率。
25.注释(annotate)大型数据集可能非常昂贵,并且因此,在实践中,只有少数示例可以手动标记(即,分类)。此外,对于未知的异常业务,在没有关于传入数据的性质的信息的情况下,将数据划分为类可能具有挑战性。因此,可以利用聚类方法来获取关于传入数据的结构的一些见解。集群可能以不同大小、形状、数据稀疏性和重叠程度出现,因此,希望能够标识现实场景中遇到的所有集群形式和结构,例如,用于入侵检测。此外,至少在入侵检测的情况下,在未知攻击的情况下最好避免低检测率。
26.如果在训练期间可能不需要标记数据的无监督机器学习算法(例如,聚类算法)被用于分析未知的未标记的传入数据,则可能会面临挑战:首先,对于大多数聚类算法,必须预先定义集群的数目,而对于未知数据,无法预先定义集群的异常数据数目;其次,集群可能以不同形状、大小、数据稀疏性和重叠程度出现。因此,可能很难选择最适合特定数据集的算法,但要调节所选择的算法的各种参数。
27.因此,本发明的实施例实现了一种无监督方法,该方法结合了多个聚类算法,这些聚类算法可以自动执行并且实时使用以定义用于分析未知的未标记的异常数据的最佳集群数目,从而实现将数据有效分类为集群,该集群可以进一步用于检测恶意的异常集群并且因此检测可以用于增强机器学习过程的攻击分组。
28.更具体地,本发明的实施例使得能够利用若干聚类算法(如无监督聚类算法)以及基于密度的聚类算法(诸如具有噪声的应用的基于密度的空间聚类(dbscan,density-based spatial clustering of applications with noise))将未知业务实时分类为各种集群并且进一步分类为恶意集群。
29.通常,如果两个分组属于同一攻击类型,即异常集群,则当任何聚类算法使用任何参数被应用时,这两个分组更有可能落入同一集群中。因此,如果多个聚类算法被应用,则上述两个分组落入同一集群中的频率越高,这样的分组就越有可能属于同一攻击类型。共
同关联矩阵可以被生成,并且被给予包括数据点的一组输入数据分组。距离矩阵可以基于共同关联矩阵被计算,其中距离矩阵可以包括上述数据点之间的距离测量值(distance measures)。
30.然后,距离矩阵可以用于进一步的基于密度的聚类,如dbscan聚类,以生成各种集群,并且针对每个数据点,恶意的异常集群可以从所生成的集群中被确定。例如,一个集群可以对应于一种或多种攻击类型或甚至未知的良性(benign)攻击。集群是否是恶意的和异常的这个决定可以通过算法或通过安全调查员基于集群中大多数分组的类型来进行。也就是说,数据集群的子集可以被确定,其中该子集的每个数据集群中的数据点可以是异常数据点,如未知的未标记的数据点。数据集群的子集可以不包括已知的数据点。
31.至少一个动作可以基于数据点的类别被执行。例如,基于密度的聚类算法的输出可以在描绘根据各种攻击类型而分布的每个集群中的分组数目的表中提供。包含少于阈值分组的集群可以被丢弃。对于集群的其余部分以及对于计算资源的减少需求,分组数目可以转换为(总数的)百分比。例如,如果集群包含1000个分组,其中100个分组属于类型1,并且300个分组属于类型2,则这些数目可以转换为10%t1和30%t2。对于投票机制(voting mechanism),如广义boyer-moore多数投票算法,只有具有高百分比的类型才会被进一步分析。
32.表示网络分组的数据点的攻击类型可以基于网络分组的以下属性的定义来确定,其中这些定义可以作为预定值和值范围来提供,或者以更广义的形式作为可执行脚本来提供:分组大小、分组的来源、和/或与所生成的分组的来源相关的时间戳。
33.如dbscan等基于密度的聚类算法的使用使得可以找到任何形状的集群,只要元素(即,数据点)是密度连接的。例如,如果存在一个点r在其邻居中具有足够数目的点,并且点p和q都在ε距离内,则点p和q可以是密度连接的。这至少在处理未知传入数据(如未知协议消息或异常数据点)的聚类问题时很重要,因为集群的形状可能不确定。基于密度的聚类算法进一步以最小人机交互实现了过程的自动化,从而实现了实时分析。
34.如果需要预先为聚类定义集群数目,则无法进行实时分析。由于可能存在未知业务,因此无法预先定义集群数目。在一些实施例中,多聚类可以在训练过程中使用一次,并且稍后,如dbscan等基于密度的聚类算法可以用于自动定义集群数目。因此,实现了实时分析所必需的自动化,但也通过使得不需要手动进行集群定义和模型调节来提高性能。
35.本发明的实施例可以用于实现良好的轮廓得分(silhouette score),而不管所应用的数据集(即,传入数据)的性质,并且总体而言,提供了一种高效的解决方案,其中在实时集群中,具有若干特性的未知异常业务。
36.在一些示例实施例中,基于密度的聚类算法(例如,称为相关联的基于密度的聚类(adbc,associated density based clustering))可以与多个无监督算法和共同关联矩阵一起应用,以将未知数据实时分类到不同集群中。基于密度的聚类算法可以用于具有不同攻击的各种数据集,以实现良好的同质性(homogeneity),这表示每个集群主要包含单个类的成员;以及实现非常高的轮廓系数得分,这表示共同关联矩阵的空间中的集群被很好地定义并且具有最小重叠。
37.共同关联矩阵可以被导出以确定相似性度量(similarity metric),如距离度量,但这与欧几里德距离不同。换言之,可能存在一个特征空间,在该特征空间中,数据点之间
的距离反映分组和数据点之间的相似性,而欧几里德距离并不总是如此。
38.图2示出了根据至少一些示例实施例的架构。更具体地,在图2所示的架构中,n个不同聚类算法210可以应用于输入数据的子集(其中上述输入数据包括数据点220)以生成n个集群集合,其中每个集合包括至少两个集群230。应用n个不同聚类算法210的好处是解决集群之间的重叠。如果基于密度的聚类算法单独使用以自动生成集群,则所生成的集群将重叠。当数据点与一个以上的集群中心的最近距离相同时,就会发生重叠。多聚类通过区分数据点到集群中心的距离来解决这个问题。单个聚类算法的使用可能既不充分也不稳定,因为结果可能随着超参数(hyperparameters)或输入数据的微小变化而变化很大。例如,在接收到数据点220时,装置132可以至少对数据点220的子集应用n个聚类算法210以生成n个聚类矩阵230。
39.所应用的聚类算法210(至少包括第一聚类算法和第二聚类算法)可以不同或具有不同参数。也就是说,第一聚类算法可以不同于第二聚类算法。替代地,第一聚类算法可以与第二聚类算法相同,并且第一聚类算法可以具有与第二聚类算法不同的至少一个参数,如不同的超参数或初始化。通常,所应用的聚类算法可以是无监督聚类算法。例如,同一聚类算法k-means(k均值算法)可以应用于不同集群数目的情况。换言之,k均值算法可以应用于超参数的若干值的情况以创建不同聚类。
40.共同关联矩阵240可以基于n个聚类矩阵被生成。共同关联矩阵可以是n个聚类矩阵的组合,即,包括集群220的所获取的n个聚类集合的组合。在一些实施例中,共同关联矩阵240可以通过计算n个聚类矩阵的每个对应元素的均值来生成。
41.距离矩阵250中表示的距离可以不同于欧几里德距离,因为欧几里德距离可能不反映真实场景中分组之间的相似性。在一些实施例中,距离矩阵250中表示的距离可以与表示两个分组或数据点落入同一集群中的次数相关。例如,如果在若干聚类算法被应用时两个分组或数据点多次落入同一集群中,则这些分组或数据点可能相似并且可能属于同一攻击集群。用于获取共同关联矩阵的组合过程可以基于权重机制,其中权重可以在0到1之间变化。
42.距离矩阵250可以表示特征空间中的输入数据点,其中两个数据点之间的距离是相似性的测量值(measure)。例如,通过从1中减去共同关联矩阵的每个元素的值,可以从共同关联矩阵240生成距离矩阵250。
43.然后,如dbscan等基于密度的聚类算法260可以应用于距离矩阵250以生成不同集群270,其中所生成的集群270包括数据点220。因此,基于密度的聚类算法260可以直接应用于距离矩阵250,以确定每个数据点220的不同数据集群270。因此,每个数据点220的恶意的异常集群可以从集群270来确定。每个异常集群中的数据点中的至少一些可以是异常数据点。
44.集群270可以被推广到整个数据点,并且由安全调查员(人类或算法)进行分析,以便基于集群组成来标识恶意点。
45.图3示出了根据至少一些示例实施例的共同关联矩阵的生成。更具体地,图3示出了使用第一聚类算法(具有2个集群的k均值算法)而生成的第一聚类矩阵310、使用第二聚类算法(具有3个集群的k均值算法)而生成的第二聚类矩阵320、以及使用第三聚类算法(具有4个集群的k均值算法)而生成的第三聚类矩阵330。
46.聚类矩阵的每个元素表示与该元素相关联的数据点是否在同一集群中。也就是说,聚类矩阵的每个元素表示该元素的数据点是否在同一集群中。例如,第一聚类矩阵310的第一元素312表示第一数据点与使用第一聚类算法而生成的第一聚类矩阵310中的第一数据点在同一集群中。第一聚类矩阵310的第二元素314表示第二数据点是否与使用第一聚类算法而生成的第一聚类矩阵310中的第一数据点在同一集群中。在图3的示例中,第二数据点与第一聚类矩阵310中的第一数据点不在同一集群中。
47.类似地,第一聚类矩阵310的第四元素316表示第四数据点是否与使用第一聚类算法而生成的第一聚类矩阵310中的第一数据点在同一集群中。在图3的示例中,第四数据点与第一聚类矩阵310中的第一数据点在同一集群中。第一聚类矩阵310的第三元素318表示第一数据点是否与第一聚类矩阵310中的第三数据点在同一集群中。在图3的示例中,第一数据点与第一聚类矩阵310中的第三数据点不在同一集群中。
48.第二聚类矩阵320的第一元素322表示第一数据点与第二聚类矩阵320中的第一数据点在同一集群中,第二聚类矩阵320的第二元素324表示第二数据点与第二聚类矩阵310中的第一数据点不在同一集群中,并且第二聚类矩阵320的第四元素326表示第四数据点与第二聚类矩阵320中的第一数据点在同一集群中。
49.第三聚类矩阵330的第一元素332表示第一数据点与第三聚类矩阵330中的第一数据点在同一集群中,第三聚类矩阵330的第二元素334表示第二数据点与第三聚类矩阵330中的第一数据点不在同一集群中,并且第三聚类矩阵330的第四元素336表示第四数据点与第三聚类矩阵330中的第一数据点不在同一集群中。
50.然后,通过计算n个聚类矩阵的每个对应元素的均值,即,第一聚类矩阵310、第二聚类矩阵320和第三聚类矩阵330的每个对应单元的均值,可以生成共同关联矩阵340,该共同关联矩阵340可以对应于图2的共同关联矩阵240。例如,共同关联矩阵340的第一元素342表示第一聚类矩阵310的第一元素312、第二聚类矩阵320的第一元素322和第三聚类矩阵330的第一元素332的均值。
51.类似地,共同关联矩阵340的第二元素344表示第一聚类矩阵310的第二元素314、第二聚类矩阵320的第二元素324和第三聚类矩阵330的第二元素334的均值。共同关联矩阵340的第四元素346表示第一聚类矩阵310的第四元素316、第二聚类矩阵320的第四元326和第三聚类矩阵330的第四元素336的均值。然后,可以从共同关联矩阵340生成距离矩阵。
52.图4示出了根据至少一些示例实施例的距离矩阵的生成。如图4所示,可以通过从1中减去共同关联矩阵340的每个元素的值来从共同关联矩阵生成距离矩阵510。例如,可以从1中减去共同关联矩阵340的第一元素342以确定距离矩阵410的第一元素412的值,可以从1中减去共同关联矩阵340的第二元素344以确定距离矩阵410的第二元素414的值,并且可以从1中减去共同关联矩阵340的第四元素346以确定距离矩阵410的第三元素416的值。
53.图5示出了能够支持至少一些示例实施例的示例装置。图示的是设备500,设备500可以包括例如图1的装置132或控制其功能的设备。在设备500中包括有处理器510,处理器510可以包括例如单核或多核处理器,其中单核处理器包括一个处理核,并且多核处理器包括一个以上的处理核。处理器510通常可以包括控制设备。处理器510可以包括一个以上的处理器。处理器510可以是控制设备。处理器510可以包括至少一个专用集成电路asic。处理器510可以包括至少一个现场可编程门阵列fpga。处理器510可以包括例如intel xeon处理
器。处理器510可以是用于执行设备500中的方法步骤(诸如确定、使传输和使接收)的部件。处理器510可以至少部分地由计算机指令配置为执行动作。
54.处理器可以包括电路,或者被构造为一个或多个电路,该一个或多个电路被配置为根据本文中描述的示例实施例执行方法的阶段。如本技术中使用的,术语“电路”(circuitry)可以是指以下中的一项或多项或全部:(a)仅硬件电路实现,诸如仅使用模拟和/或数字电路的实现,以及(b)硬件电路和软件的组合,诸如,如适用:(i)模拟和/或数字硬件电路与软件/固件的组合,以及(ii)具有软件的硬件处理器(包括数字信号处理器)、软件和存储器的任何部分,这些部分一起工作以使装置(诸如网络功能)执行各种功能,以及(c)硬件电路和/或处理器,诸如微处理器或微处理器的一部分,其需要软件(例如,固件)进行操作,但当操作不需要软件时,软件可以不存在。
55.电路的这个定义适用于该术语在本技术中的所有用途,包括在任何权利要求中。作为另外的示例,如本技术中使用的,术语电路还涵盖仅硬件电路或处理器(或多个处理器)或硬件电路或微处理器的一部分及其(或它们的)伴随的软件和/或固件的实现。例如,如果适用于特定权利要求元素,则术语电路还涵盖用于移动设备的基带集成电路或处理器集成电路、或者服务器、蜂窝网络设备或其他计算设备或网络设备中的类似集成电路。
56.设备500可以包括存储器520。存储器520可以包括随机存取存储器和/或永久存储器。存储器520可以包括至少一个ram芯片。存储器520可以包括固态、磁性、光学和/或全息存储器。存储器520可以至少部分地由处理器510可访问。存储器520可以至少部分地被包括在处理器510中。存储器520可以是用于存储信息的部件。存储器520可以包括处理器510被配置为执行的计算机指令。当被配置为使处理器510执行某些动作的计算机指令存储在存储器520中,并且设备500总体上被配置为使用来自存储器520的计算机指令在处理器510的指示下运行时,处理器510和/或其至少一个处理核可以被认为被配置为执行上述特定动作。存储器520可以至少部分地被包括在处理器510中。存储器520可以至少部分地在设备500外部,但由设备500可访问。
57.设备500可以包括传输器530。设备500可以包括接收器540。传输器530和接收器540可以被配置为分别根据至少一个蜂窝标准(诸如由第三代合作伙伴计划3gpp定义的标准)来传输和接收信息。传输器530可以包括一个以上的传输器。接收器540可以包括一个以上的接收器。例如,传输器530和/或接收器540可以被配置为根据全球移动通信系统(gsm)、宽带码分多址(wcdma)、长期演进(lte)和/或5g标准来操作。
58.设备500可以包括用户接口(ui)550。ui 550可以包括显示器、键盘、触摸屏、被布置为通过使设备500振动来向用户发信号通知的振动器、扬声器或麦克风中的至少一种。用户能够经由ui 550来操作设备500,例如配置设备500和/或其运行的功能。
59.处理器510可以配备有传输器,该传输器被布置为经由设备500内部的电导线将信息从处理器510输出到设备500中包括的其他设备。这样的传输器可以包括串行总线传输器,该串行总线传输器被布置为例如经由至少一条电引线将信息输出到存储器520以存储在其中。作为串行总线的替代,传输器可以包括并行总线传输器。同样地,处理器510可以包括接收器,该接收器被布置为经由设备500内部的电引线从设备500中包括的其他设备接收处理器510中的信息。这样的接收器可以包括串行总线接收器,该串行总线接收器被布置为例如经由至少一条电引线从接收器540接收信息以在处理器510中进行处理。作为串行总线
的替代,接收器可以包括并行总线接收器。
60.设备500可以包括图4中未示出的另外的设备。在一些示例实施例中,设备500缺少至少一个上述设备。例如,设备500可以不具有ui 550。
61.处理器510、存储器520、传输器530、接收器540和/或ui 550可以通过设备500内部的电引线以多种不同方式互连。例如,上述设备中的每个可以单独地连接到设备500内部的主总线,以允许设备交换信息。然而,如本领域技术人员将理解的,这仅仅是一个示例,并且根据示例实施例,互连上述设备中的至少两个的各种方式可以选择,而不脱离本发明的范围。
62.图6是根据至少一些实施例的方法的流程图。该方法可以用于装置(如图1的装置132)或控制其功能的设备,和/或由其执行。
63.该方法可以包括在步骤610接收包括数据点的输入数据。上述输入数据可以经由至少一个通信接口(即,链路)(诸如图1的接口115、接口125和/或接口135)从另一装置(如图1的装置140)接收。
64.在步骤620,该方法可以包括至少对上述数据点的子集应用n个初始聚类算法以生成n个初始聚类矩阵。n个初始聚类矩阵的每个元素可以表示与该元素相关联的数据点是否在同一初始集群中。参考图3,例如,第一聚类矩阵310的第四元素316可以表示第四数据点是否与第一聚类矩阵310中的第一数据点在同一集群中。
65.在一些示例实施例中,n个初始聚类算法可以不同。n个初始聚类算法中的至少两个可以相同,并且n个初始聚类算法中的至少两个可以具有至少一个不同参数。n个初始聚类算法可以是无监督聚类算法。
66.在步骤630,该方法可以包括生成共同关联矩阵,其中共同关联矩阵是n个初始聚类矩阵的组合。共同关联矩阵可以通过计算n个初始聚类矩阵的每个对应元素的均值来生成。再次参考图3,共同关联矩阵340的第四因素346可以通过计算第一聚类矩阵310的第四元素316、第二聚类矩阵320的第四元素326和第三聚类矩阵330的第四元素336的均值来确定。
67.在步骤640,该方法可以包括从共同关联矩阵生成距离矩阵。距离矩阵可以通过从1中减去共同关联矩阵的每个元素的值来从共同关联矩阵生成。参考图4,例如,距离矩阵410的第四元素416可以通过从1中减去共同关联矩阵340的第四元素346的值来确定。
68.在步骤650,该方法可以包括将基于密度的聚类算法应用于距离矩阵以生成攻击集群(attack clusters)。在一些示例实施例中,基于密度的聚类算法可以是具有噪声的应用的基于密度的空间聚类(dbscan)。然而,本发明的实施例不限于任何特定的基于密度的聚类算法,并且可以通过使用任何合适的算法(诸如dbscan、用于标识聚类结构的排序点optics、或共享最近邻居snn)来应用。dbscan可以用于提供最佳性能。
69.在步骤660,该方法可以包括将所生成的该数据集群的子集确定为异常集群,其中每个异常集群中的数据点中的至少一些数据点是异常数据点。例如,每个数据点的攻击类型可以通过检查每个数据点属于哪个异常集群来确定。每个异常数据点可以属于一个恶意的异常集群,并且因此与对应攻击类型相关联,但一个集群可以包括多个数据点,并且因此一个攻击类型也可以与多个数据点相关联。因此,每个数据点的攻击类型可以基于与上述数据点相对应的n个初始矩阵的元素,该元素包括关于上述数据点的初始集群的信息,如上
述数据点是否与另一数据点在同一集群中。
70.在一些示例实施例中,该方法还可以包括在确定一个数据点的初始集群与另一数据的初始集群相同时,确定该一个数据点的异常集群和攻击类别与该另一数据点的异常集群相同。再次参考图3,例如,可以确定,由于根据第一聚类矩阵310的元素316,第一数据点和第四数据点在同一集群中,因此第一数据点和第四数据点很可能在同一攻击类别中。此外,根据第二聚类矩阵320的元素326,第一数据点和第四数据点在同一集群中,并且因此,第一数据点和第四数据点更可能在同一攻击类别中。
71.在一些示例实施例中,该方法还可以包括在确定一个数据点的初始集群与另一数据的初始集群相同时,确定该一个数据点的数据集群与该另一数据点的数据集群相同。例如,可以确定,由于根据第一聚类矩阵310的元素314,第一数据点和第二数据点不在同一集群中,因此第一数据点和第二数据点很可能不在同一攻击类别中。此外,根据第二聚类矩阵320的元素324,第一数据点和第二数据点不在同一集群中,并且因此,第一数据点和第二数据点更可能不在同一攻击类别中。
72.最后,在步骤670,该方法可以包括基于异常集群执行至少一个动作,其中例如,至少一个动作可以包括检测恶意集群并且因此检测攻击分组,该攻击分组可以用于增强机器学习过程,和/或将接口135配置为丢弃源地址与表示恶意集群中包括的分组的任何数据点中相同的分组。
73.在一些示例实施例中,上述基于异常集群执行至少一个动作可以包括向人类操作员和/或向算法提供异常集群中的至少一个异常集群的数据点以供进一步分析。例如,上述向人类操作员提供异常集群中的至少一个异常集群的数据点可以包括在图形用户界面gui上呈现异常集群和/或异常数据点。每个数据点可以对应于所接收的网络业务中的网络分组的属性,并且每个异常集群包括未知网络业务。
74.此外,由算法进行的上述进一步分析可以包括针对未知网络业务的每个异常集群来确定该异常集群是否包括与网络攻击相关联的数据点。上述确定可以包括针对未知网络业务的每个异常集群执行:针对该异常集群中的每个数据点确定攻击类型,其中该攻击类型是恶意网络业务类型或者针对良性网络业务的无(none for benign network traffic);确定与每个攻击类型相对应的数据点的数目;将具有最高数目的数据点的攻击类型确定为多数攻击类型,以及响应于该多数攻击类型是除无之外的某种其他类型(some other type than none),确定该异常集群是网络攻击集群。
75.攻击类型的至少一个定义可以预先定义并存储到该装置,其中针对异常集群中的每个数据点确定攻击类型可以包括将数据点与攻击类型的所存储的至少一个定义进行比较,其中响应于找到数据点与攻击类型的定义之间的匹配比较,除无之外的攻击类型可以被确定,其中响应于没有找到数据点与攻击类型的所存储的定义中的任何定义之间的匹配比较,攻击类型无可以被确定,并且其中攻击类型的定义可以包括用于以下参数中的至少一个参数的值或值范围:
76.a.源互联网协议(ip)地址;
77.b.目的地ip地址;
78.c.ip分组大小;
79.d.目的地传输控制协议(tcp)端口号;
80.e.目的地用户数据报协议(udp)端口号;或者
81.f.从同一源ip地址接收的ip分组的分组间间隔。
82.分组间间隔可以微秒为单位,作为从同一ip地址接收的最近的5、50或100个分组的滚动平均值。攻击类型的定义中的参数可以在可执行脚本中提供,并且其中将数据点与攻击类型的定义进行比较可以通过执行脚本来执行。存储到该装置的攻击类型的定义可以通过添加新攻击类型、移除攻击类型和/或改变攻击类型的参数来周期性地更新。确定与每个攻击类型相对应的数据点的数目可以包括使用投票算法来滤除比例比阈值低的攻击类型。例如,广义boyer-moore多数投票算法可以用作投票算法。
83.上述基于异常集群执行至少一个动作可以包括丢弃来自与包括被确定为网络攻击集群的异常集群的数据点的分组相同的源地址的分组。上述基于异常集群执行至少一个动作可以包括丢弃具有与包括被确定为网络攻击集群的异常集群的数据点的分组相同大小的分组。
84.图7示出了根据至少一些示例实施例的流程图的生成。恶意集群/攻击数据点可以基于可以在脚本中进一步概括的一些定义来标识,诸如基于分组大小、基于分组的起源、和/或基于与分组的起源有关的时间戳。
85.检测到的攻击分组可以被自动馈送到架构中以用于训练目的。该架构可以在时间阈值之后用新分组周期性地训练(例如,每月)。用于训练过程的阈值时间可以基于计算要求来定义(例如,每月)。
86.例如,该架构可以使用公开可用的网络业务数据集(诸如mawilab-2018)针对移动网络应用进行训练。这些数据集中的业务可以分类为正常、未知和攻击(n个类别的攻击)。数据集中没有任何标签的分组可以呈现为未知。
87.在训练之前,可以对上述数据集进行若干过程。可以在数据集预处理阶段执行数据清理、将列转换为正确的类型、处理缺失的值、将ip地址拆分为四个字段、对类别变量进行矢量化、对数据集进行标准化、改变攻击类别的标签以区分不同攻击类别。
88.对于归一化,可以使用统计和缩放归一化。为了提高算法的性能,可以将数值属性转换为标称(nominal)属性。此外,所应用的数据集的ip地址和十六进制媒体访问控制(mac)地址可以被转换为单独的数值属性。除非存在已经定义的范围(例如,ip地址范围),否则可以使用批均值(batch mean)和标准偏差对每个数值属性进行归一化。
89.在数据标准化之后,可以在过程p03处进行确定,以确定adbc架构先前是否已经通过输入分组经历训练。如果先前没有进行训练,则可能需要进行训练,并且流程图可以进行到过程p04,在过程p04中adbc架构经历训练。这样的训练可以涉及dbscan算法。同样地,如果算法已经训练,但是训练发生在预定义时间窗口之外或者在预定义数据量之后,则流程图可以进行到过程p04,其中dbscan经历再训练以确保其能够正确地处理数据。时间窗口和数据量可以由用户基于特定应用来选择。如果在过程p03确定不需要训练,则流程图进行到过程p05,在过程p05中架构adbc使用测试数据经历测试。此后,可以在过程p06中评估测试的结果,以确认过程p04中训练的有效性和效率。
90.在一些示例实施例中,对于(具有网络业务的)移动网络应用,可以应用公开可用的网络业务数据集(诸如mawilab-2018(http://www.fukuda-lab.org/mawilab/v1.1/))以训练所有算法。用于训练过程的阈值时间可以基于计算要求来定义(例如,每月)。此外,可
以在数据集预处理阶段执行数据清理、将列转换为正确的类型、处理缺失的值、将ip地址拆分为四个字段、对类别变量进行矢量化、对数据集进行标准化、改变攻击类别的标签以区分不同攻击类别。对于归一化,可以使用统计和缩放归一化。为了提高算法的性能,将数值属性转换为标称属性。此外,所应用的数据集的ip地址和十六进制媒体访问控制(mac)地址可以被转换为单独的数值属性。除非存在已经定义的范围(例如,ip地址范围),否则可以使用批均值和标准偏差对每个数值属性进行归一化。
91.应当理解,所公开的实施例不限于本文中公开的特定结构、过程步骤或材料,而是扩展到相关领域普通技术人员将认识到的等效物。还应当理解,本文中使用的术语仅用于描述特定实施例的目的,而非旨在进行限制。
92.本说明书中对一个实施例或实施例的引用表示结合该实施例而描述的特定特征、结构或特性被包括在至少一个实施例中。因此,贯穿本说明书的各个地方出现短语“在一个实施例中”或“在实施例中”不一定都指同一实施例。在使用诸如例如大约或基本上等术语来引用数值的情况下,精确的数值也已被公开。
93.如本文中使用的,为方便起见,可以在通用列表中列出多个条目、结构元素、组成元素和/或材料。然而,这些列表应当被解释为列表的每个成员被个体地标识为单独且唯一的成员。因此,这样的列表的任何个体成员都不应当在没有相反迹象的情况下仅基于其在共同群体中的表现而被解释为事实上等同于同一列表中的其他任何成员。此外,本文中可以参考各种实施例和示例以及其各种组件的替代方案。应当理解,这样的实施例、示例和替代方案不应当被解释为彼此的事实上的等同物,而是应当被视为独立和自主的表示。
94.在示例实施例中,如图1的装置132等装置或控制其功能的设备可以包括用于执行上述实施例及其任何组合的部件。
95.在一个示例实施例中,一种计算机程序包括指令,当该程序由装置执行时,该指令可以使该装置执行根据上述实施例及其任何组合的第一方法或第二方法。在示例实施例中,一种体现在非暂态计算机可读介质上的计算机程序产品可以被配置为控制处理器执行包括上述实施例及其任何组合的过程。
96.在示例实施例中,如图1的装置132等装置或控制其功能的设备可以包括至少一个处理器和包括计算机程序代码的至少一个存储器,其中该至少一个存储器和该计算机程序代码被配置为与该至少一个处理器一起使该装置至少执行上述实施例及其任何组合。
97.此外,在一个或多个实施例中,所描述的特征、结构或特性可以以任何合适的方式组合。在前面的描述中,提供了很多具体细节(诸如长度、宽度、形状等的示例),以提供对本发明的实施例的彻底理解。然而,相关领域技术人员将认识到,本发明可以在没有这些具体细节中的一个或多个的情况下或者使用其他方法、组件、材料等来实践。在其他情况下,公知的结构、材料或操作未详细示出或描述,以避免混淆本发明的各个方面。
98.虽然上述示例示出了一个或多个特定应用中的实施例的原理,但对于本领域普通技术人员来说很清楚的是,可以在不行使发明能力的情况下,在不偏离本发明的原理和概念的情况下对实现的形式、使用和细节进行大量修改。因此,本发明不受限制,除非由权利要求限定。
99.本文档中使用动词“包括(to include)”和“包括(to include)”作为开放式限制,其既不排除也不要求存在未列举的特征。除非另有明确说明,否则从属权利要求中所述的
特征可以相互自由组合。此外,应当理解,在本文档中对“一个(a)”或“一个(an)”(即,单数形式)的使用并不排除复数形式。
100.本文档中的表达“a或b中的至少一个”是指a、或b、或a和b两者。
101.工业适用性
102.至少一些示例实施例在通信网络中可以找到工业应用,例如在诸如3gpp网络等蜂窝通信网络中。
103.首字母缩略词列表
104.3gpp
ꢀꢀꢀꢀꢀꢀꢀ
第三代合作伙伴项目
105.adbc
ꢀꢀꢀꢀꢀ
相关联的基于密度的聚类
106.ai
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
人工智能
107.bs
ꢀꢀꢀꢀꢀꢀꢀꢀ
基站
108.dbscan
ꢀꢀꢀ
具有噪声的应用的基于密度的空间聚类lte
ꢀꢀꢀꢀꢀꢀꢀ
长期演进
109.nr
ꢀꢀꢀꢀꢀꢀꢀꢀ
新无线电
110.rat
ꢀꢀꢀꢀꢀꢀꢀ
无线电接入技术
111.ue
ꢀꢀꢀꢀꢀꢀꢀꢀ
用户设备
112.wimax
ꢀꢀꢀꢀ
全球微波接入互操作性
113.wlan
ꢀꢀꢀꢀꢀ
无线局域网
114.附图标记列表
115.116.
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表