本技术涉及信息安全,特别是涉及一种识别异常客户端的方法、装置、计算机设备和存储介质。
背景技术:
1、由于模型训练过程中参与联合训练的客户端数量上千,且客户端异构性较大,所以对模型训练过程中异常客户端检测来说较难区分出受攻击和未受攻击的模型,且很难准确找出异常客户端。因此如何准确找出异常客户端是当前研究的重点。
2、传统识别异常客户端的方法是通过人工检测参与训练的每个客户端发送的训练数据是否存在异常,并将存在异常的训练数据对应的客户端,作为异常客户端。但是攻击者控制的客户端不一定每次都被选中参与训练,且客户端数量过多,人力成本较大,且通过人工判断易存在检测失误的情况。从而导致异常客户端的识别精准度较低。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种识别异常客户端的方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本技术提供了一种识别异常客户端的方法。所述方法包括:
3、获取多个客户端的模型训练数据;所述模型训练数据为模型在历史时段的所有模型训练参数;
4、根据各所述客户端的模型训练数据进行相似性识别,得到各所述模型训练数据的相似度,并将满足预设相似度条件的模型训练数据对应的客户端作为第一标记客户端,得到第一客户端集合;
5、对各所述客户端进行评价处理,得到各所述客户端的异常值,并将满足异常值条件的客户端作为第二标记客户端,得到第二客户端集合;
6、基于各所述客户端的模型训练数据的相似度,通过动态聚类算法,对各所述客户端进行聚类处理,得到多个客户端组,并将不满足预设聚类条件的客户端组中的所有客户端作为第三标记客户端,得到第三客户端集合;
7、将所述第一客户端集合、所述第二客户端集合和所述第三客户端集合共同包含的客户端作为异常客户端。
8、可选的,所述获取多个客户端的模型训练数据,包括:
9、将模型发送至各所述客户端,并通过各所述客户端对所述模型进行训练;
10、在满足预设时间段的情况下,采集每个客户端对所述模型进行训练的模型训练参数;
11、针对每个客户端,将所述客户端在历史时段采集的所述模型的所有模型训练参数,作为所述客户端的模型训练数据。
12、可选的,所述相似度条件包括第一相似度条件、以及第二相似度条件,所述根据各所述客户端的模型训练数据进行相似性识别,得到各所述模型训练数据的相似度,并将满足预设相似度条件的模型训练数据对应的客户端作为第一标记客户端,得到第一客户端集合,包括:
13、针对每个客户端,根据所述客户端的每个模型训练参数,获取所述客户端的每个模型训练参数的模型训练特征信息,并基于所述客户端的每个模型训练参数的模型训练特征信息,计算所述客户端的各模型训练参数的相似度;
14、基于所述客户端的各模型训练参数的相似度,按照时间顺序,比对所述客户端的各相邻时间的模型训练参数的相似性,得到所述客户端的第一相似特征,并基于各所述客户端的模型训练数据,分别比对各所述客户端在相同时间点的模型训练参数之间的相似性,得到各所述客户端的第二相似特征;
15、在各所述客户端中,筛选第一相似特征满足第一相似度条件、以及第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,得到第一客户端集合。
16、可选的,所述基于所述客户端的各模型训练参数的相似度,按照时间顺序,比对所述客户端的各相邻时间的模型训练参数的相似性,得到所述客户端的第一相似特征,包括:
17、针对每个客户端,按照时间顺序,将所述客户端的各模型训练参数的相似度进行排列处理,得到所述各模型训练参数的相似度序列;
18、基于所述相似度序列,识别相邻时间的各所述模型训练参数之间的相似性,并根据各所述模型训练参数之间的相似性,确定所述客户端的模型训练数据的第一变化情况;
19、将所述客户端的第一变化情况,作为所述客户端的第一相似特征。
20、可选的,所述基于各所述客户端的模型训练数据,分别比对各所述客户端在相同时间点的模型训练参数之间的相似性,得到各所述客户端的第二相似特征,包括:
21、计算各所述客户端在相同时间点的模型训练参数之间的客户端相似度;
22、针对每个客户端,基于所述客户端与其他每个客户端在相同时间点的模型训练参数之间的客户端相似度,分析所述客户端与其他每个客户端的相似性的第二变化情况,并将所述客户端与其他所有客户端的相似性的第二变化情况,作为所述客户端的第二相似特征。
23、可选的,所述在各所述客户端中,筛选第一相似特征满足第一相似度条件、以及第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,得到第一客户端集合,包括:
24、针对每个客户端,在所述客户端的第一变化情况表征不变的情况下,确定所述客户端的第一相似特征满足第一相似度条件;
25、在存在所述客户端与其他客户端的第二变化情况表征不变的情况下,确定所述客户端的第二相似特征满足第二相似度条件;
26、将第一相似特征满足第一相似度条件、且第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,得到第一客户端集合。
27、可选的,所述对各所述客户端进行评价处理,得到各所述客户端的异常值,并将满足异常值条件的客户端作为第二标记客户端,得到第二客户端集合,包括:
28、通过梯度算法,计算每个客户端的所有模型训练参数的梯度平均值、以及每个所述客户端的模型训练数据的梯度值;
29、分别计算每个客户端的梯度值到所述梯度平均值的马氏距离,作为各所述客户端的异常值,并在各所述客户端中筛选异常值大于预设异常阈值的客户端,作为第二标记客户端,得到第二客户端集合。
30、可选的,所述基于各所述客户端的模型训练数据的相似度,通过动态聚类算法,对各所述客户端进行聚类处理,得到多个客户端组,并将不满足预设聚类条件的客户端组中的所有客户端作为第三标记客户端,得到第三客户端集合,包括:
31、基于各所述客户端的模型训练数据的相似度,通过动态聚类算法,计算各客户端的聚类值;
32、在各所述客户端中,将低于聚类阈值的聚类值对应的客户端,进行聚类处理得到标记客户端组,并将所述标记客户端组中的所有客户端,作为第三标记客户端,得到第三客户端集合;所述聚类阈值基于所述客户端的数目确定。
33、第二方面,本技术还提供了一种识别异常客户端的装置。所述装置包括:
34、获取模块,用于获取多个客户端的模型训练数据;所述模型训练数据为模型在历史时段的所有模型训练参数;
35、第一标记模块,用于根据各所述客户端的模型训练数据进行相似性识别,得到各所述模型训练数据的相似度,并将满足预设相似度条件的模型训练数据对应的客户端作为第一标记客户端,得到第一客户端集合;
36、第二标记模块,用于对各所述客户端进行评价处理,得到各所述客户端的异常值,并将满足异常值条件的客户端作为第二标记客户端,得到第二客户端集合;
37、第三标记模块,用于基于各所述客户端的模型训练数据的相似度,通过动态聚类算法,对各所述客户端进行聚类处理,得到多个客户端组,并将不满足预设聚类条件的客户端组中的所有客户端作为第三标记客户端,得到第三客户端集合;
38、筛选模块,用于将所述第一客户端集合、所述第二客户端集合和所述第三客户端集合共同包含的客户端作为异常客户端。
39、可选的,所述获取模块,具体用于:
40、将模型发送至各所述客户端,并通过各所述客户端对所述模型进行训练;
41、在满足预设时间段的情况下,采集每个客户端对所述模型进行训练的模型训练参数;
42、针对每个客户端,将所述客户端在历史时段采集的所述模型的所有模型训练参数,作为所述客户端的模型训练数据。
43、可选的,所述相似度条件包括第一相似度条件、以及第二相似度条件,所述第一标记模块,具体用于:
44、针对每个客户端,根据所述客户端的每个模型训练参数,获取所述客户端的每个模型训练参数的模型训练特征信息,并基于所述客户端的每个模型训练参数的模型训练特征信息,计算所述客户端的各模型训练参数的相似度;
45、基于所述客户端的各模型训练参数的相似度,按照时间顺序,比对所述客户端的各相邻时间的模型训练参数的相似性,得到所述客户端的第一相似特征,并基于各所述客户端的模型训练数据,分别比对各所述客户端在相同时间点的模型训练参数之间的相似性,得到各所述客户端的第二相似特征;
46、在各所述客户端中,筛选第一相似特征满足第一相似度条件、以及第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,得到第一客户端集合。
47、可选的,所述第一标记模块,具体用于:
48、针对每个客户端,按照时间顺序,将所述客户端的各模型训练参数的相似度进行排列处理,得到所述各模型训练参数的相似度序列;
49、基于所述相似度序列,识别相邻时间的各所述模型训练参数之间的相似性,并根据各所述模型训练参数之间的相似性,确定所述客户端的模型训练数据的第一变化情况;
50、将所述客户端的第一变化情况,作为所述客户端的第一相似特征。
51、可选的,所述第一标记模块,具体用于:
52、计算各所述客户端在相同时间点的模型训练参数之间的客户端相似度;
53、针对每个客户端,基于所述客户端与其他每个客户端在相同时间点的模型训练参数之间的客户端相似度,分析所述客户端与其他每个客户端的相似性的第二变化情况,并将所述客户端与其他所有客户端的相似性的第二变化情况,作为所述客户端的第二相似特征。
54、可选的,所述第一标记模块,具体用于:
55、针对每个客户端,在所述客户端的第一变化情况表征不变的情况下,确定所述客户端的第一相似特征满足第一相似度条件;
56、在存在所述客户端与其他客户端的第二变化情况表征不变的情况下,确定所述客户端的第二相似特征满足第二相似度条件;
57、将第一相似特征满足第一相似度条件、且第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,得到第一客户端集合。
58、可选的,所述第二标记模块,具体用于:
59、通过梯度算法,计算每个客户端的所有模型训练参数的梯度平均值、以及每个所述客户端的模型训练数据的梯度值;
60、分别计算每个客户端的梯度值到所述梯度平均值的马氏距离,作为各所述客户端的异常值,并在各所述客户端中筛选异常值大于预设异常阈值的客户端,作为第二标记客户端,得到第二客户端集合。
61、可选的,所述第三标记模块,具体用于:
62、基于各所述客户端的模型训练数据的相似度,通过动态聚类算法,计算各客户端的聚类值;
63、在各所述客户端中,将低于聚类阈值的聚类值对应的客户端,进行聚类处理得到标记客户端组,并将所述标记客户端组中的所有客户端,作为第三标记客户端,得到第三客户端集合;所述聚类阈值基于所述客户端的数目确定。
64、第三方面,本技术提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中任一项所述的方法的步骤。
65、第四方面,本技术提供了一种计算机可读存储介质。其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。
66、第五方面,本技术提供了一种计算机程序产品。所述计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。上述识别异常客户端的方法、装置、计算机设备和存储介质,通过获取多个客户端的模型训练数据;所述模型训练数据为模型在历史时段的所有模型训练参数;根据各所述客户端的模型训练数据进行相似性识别,得到各所述模型训练数据的相似度,并将满足预设相似度条件的模型训练数据对应的客户端作为第一标记客户端,得到第一客户端集合;对各所述客户端进行评价处理,得到各所述客户端的异常值,并将满足异常值条件的客户端作为第二标记客户端,得到第二客户端集合;基于各所述客户端的模型训练数据的相似度,通过动态聚类算法,对各所述客户端进行聚类处理,得到多个客户端组,并将不满足预设聚类条件的客户端组中的所有客户端作为第三标记客户端,得到第三客户端集合;将所述第一客户端集合、所述第二客户端集合和所述第三客户端集合共同包含的客户端作为异常客户端。通过针对每个客户端的模型训练数据,进行相似性识别处理、异常值判断处理、以及聚类处理,并同时被三种处理方式标记的客户端,作为异常客户端,避免了人工判断存在的检测失误的情况,从而提升了异常客户端的识别精度。