具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示为根据本申请的一个实施例提供的用于确定恶意设备的数据处理方法的流程图。如图1所示,包括步骤S100-S500。
S100,根据工业设备网络对应的目标数据,得到目标数据列表集BD=(BD1,BD2,…,BDe,…,BDf);e=1,2,…,f;其中,BDe为工业设备网络中第e个目标设备对应的目标数据列表;BDe包含若干对应的源设备标识或目的设备标识与Be相同的目标数据,Be为第e个目标设备对应的设备标识;任意两个目标设备的设备类型和处理任务类型均相同。
在一些实施例中,工业设备网络可以为自动化生产设备网络等。工业设备网络对应的目标数据即为工业设备网络产生的目标数据。进一步,步骤S100包括步骤S110-S130:
S110,每间隔预设时间间隔,获取目标时间窗口内工业设备网络中所有设备产生的目标数据,得到目标数据集;其中,目标时间窗口的结束时间为当前时间,目标数据包括源设备标识和目的设备标识;目标时间窗口对应的时长大于预设时间间隔对应的时长。
具体的,任一目标数据对应的源设备标识对应的电子设备为发出该目标数据的设备,任一目标数据对应的目的设备标识对应的电子设备为接收该目标数据的设备。源设备标识可以为源IP地址,目的设备标识可以为目的IP地址。
对于上述预设时间间隔和目标时间窗口,作为示例:预设时间间隔可以为1小时。目标时间窗口可以为当前时间往前24小时。这里,目标数据中还包括源设备标识和目的设备标识。
S120,获取工业设备网络对应的目标设备标识集B=(B1,B2,…,Be,…,Bf);Be为工业设备网络中第e个目标设备对应的目标设备标识。
具体的,目标设备可以是工业设备网络中设备类型和处理任务类型均相同的一类设备,作为示例:目标设备可以是工业设备网络中控制Z类传感器的若干台控制设备。任意的两个目标设备的设备类型和处理任务类型均相同。同一工业设备网络中可以包含多类设备类型和处理任务类型均相同的设备。每个目标设备均具有其唯一性的目标设备标识(目标设备标识可以为IP地址)。
S130,根据B,从目标数据集中确定出目标数据列表集BD=(BD1,BD2,…,BDe,…,BDf)。
具体的,根据目标设备标识集中的每个目标设备的目标设备标识从目标数据集中确定出目标数据,这里,由于目标数据中包括源设备标识和目的设备标识,所以,若目标设备标识与目标数据中的源设备标识或目的设备标识相同,则确定该目标数据属于BD。这里,目的是从工业设备网络中所有设备对应的目标数据集中确定目标设备对应的目标数据列表集BD。需要说明的是,本申请中的目标数据可以是多种类型的目标数据,作为示例:在自动化生产设备网络中目标数据可以为流量包,其获取方式可以为通过网关获取。
S200,根据BD,获取设备特征向量集E=(E1,E2,…,Ee,…,Ef);其中,Ee为对BDe进行特征提取处理后得到的设备特征向量。
在一些实施例中,对每个目标设备对应的目标数据列表进行特征提取处理后得到每个设备的特征向量集,进而得到设备特征向量集。其中,上述特征提取处理具体包括以下步骤S210-S260:
S210,对BDe进行拆分,得到源数据列表BDe1=(BDe1 1,BDe1 2,…,BDe1 k,…,BDe1 m)和目的数据列表BDe2=(BDe2 1,BDe2 2,…,BDe2 n,…,BDe2 p),k=1,2,…,m;n=1,2,…,p;其中,m为BDe中对应的源设备标识与Be相同的目标数据的数量,BDe1 k为BDe中第k个源设备标识与Be相同的目标数据;p为BDe中对应的目的设备标识与Be相同的目标数据的数量,BDe2 n为BDe中第n个目的设备标识与Be相同的目标数据。
具体的,基于目标数据中的源设备标识或Be以及目标设备标识对BDe进行拆分,即根据源设备标识和Be相同的目标数据得到源数据列表BDe1,根据目的设备标识和Be相同的目标数据得到目的数据列表BDe2。
由于目标设备的设备类型和处理任务类型均相同,则任两个目标设备的源数据列表和目的数据列表中的目标数据的数量应该是基本相同的。所以,本申请中分别获取同一目标设备的源数据列表BDe1和目的数据列表BDe2。
S220,根据BDe1中每一目标数据对应的目的设备标识对BDe1进行聚类,得到D1个第二聚类集;同一个第二聚类集中的任意两个目标数据对应的目的设备标识相同。
具体的,BDe1中的目标数据的源设备标识均和Be相同,进而,基于BDe1中的目标数据的目的设备标识对BDe1进行聚类,即将BDe1中目的设备标识相同的目标数据聚为一类,由此,得到D1个第二聚类集。即,同一个第二聚类集中的目标数据都是由Be对应的目标设备发送给同一电子设备的,同时,该电子设备可以是变电站设备网络中的任一设备,也可以是变电站设备网络外的设备。
S230,根据BDe2中每一目标数据对应的源设备标识对BDe2进行聚类,得到D2个第三聚类集;同一个第三聚类集中的任意两个目标数据对应的源设备标识相同。
具体的,BDe2中的目标数据的目的设备标识均和Be相同,进而,基于BDe2中的目标数据的源设备标识对BDe2进行聚类,即将BDe2中源设备标识相同的目标数据聚为一类,由此,得到D2个第三聚类集。即,同一个第三聚类集中的目标数据都是由同一电子设备发送给Be对应的目标设备的,同时,该电子设备可以是变电站设备网络中的任一设备,也可以是变电站设备网络外的设备。
这里,将BDe1中目的设备标识相同的目标数据聚为一类,得到D1个第二聚类集,即基于不同的发出端对目标数据列表中的目标数据进行分类;将BDe2中源设备标识相同的目标数据聚为一类,得到D2个第三聚类集,即基于不同的接收端对目标数据列表中的目标数据进行分类。任一目标数据对应的源设备标识对应的电子设备为发出该目标数据的设备,任一目标数据对应的目的设备标识对应的电子设备为接收该目标数据的设备。
S240,对D1个第二聚类集进行特征提取,得到第一特征信息DH1=(DH11,DH12,…,DH1q,…,DH1r);q=1,2,…,r;其中,r为工业设备网络中的设备数量;DH1q为D1个第二聚类集对应的目的设备标识与工业设备网络中第q个设备的设备标识对应的特征信息。
这里,对上述个第二聚类集进行特征提取。具体包括以下步骤S241-S242:
S241,获取工业设备网络内每一设备的设备标识G=(G1,G2,…,Gq,…,Gr);Gq为工业设备网络内第q个设备的设备标识。
S242,根据Gq遍历D1个第二聚类集中每个第二聚类集对应的目的设备标识,若Gq与任一第二聚类集对应的目的设备标识相同,获取DH1q=(Gq,tag11,NUM1);其中,tag11为第一标识,用于表示D1个第二聚类集对应的目的设备标识中存在与Gq相同的目的设备标识;NUM1为与Gq相同的目的设备标识对应的第二聚类集中的目标数据的数量。
具体的,根据Gq遍历D1个第二聚类集中每个第二聚类集对应的目的设备标识,若Gq与任一第二聚类集对应的目的设备标识相同,作为示例:若Gq与第二聚类集X1对应的目的设备标识y1相同,则获取DH1q=(Gq,tag11,NUM1);tag11用于表示D1个第二聚类集对应的目的设备标识中存在与Gq相同的目的设备标识,即以Gq对应的设备为目标数据接收端,以y1对应的目标设备为目标数据发出端,进行了通信;NUM1则表示X1中目标数据的数量,即表示y1对应的目标设备与Gq对应的设备之间传输的目标数据的数量。
另外,在根据Gq遍历D1个第二聚类集中每个第二聚类集对应的目的设备标识之后,方法还包括:
S243,若Gq与每一第二聚类集对应的目的设备标识均不同,获取DH1q=(Gq,tag12,0);其中,tag12为第二标识,用于表示D1个第二聚类集对应的目的设备标识中不存在与Gq相同的目的设备标识;0表示与Gq相同的目的设备标识对应的第二聚类集中的目标数据的数量为0。
具体的,若Gq与每一第二聚类集对应的目的设备标识均不同,作为示例:若Gq每一第二聚类集对应的目的设备标识均不同,为了保证特征向量的长度一致性,方便后续进一步处理,获取DH1q=(Gq,tag12,0);tag12用于表示D1个第二聚类集对应的目的设备标识中不存在与Gq相同的目的设备标识,即Gq对应的设备与每一第二聚类集对应的目标设备均未进行通信;所以,与Gq相同的目的设备标识对应的第二聚类集中的目标数据的数量为0。
S250,对D2个第三聚类集进行特征提取,得到第二特征信息DH2=(DH21,DH22,…,DH2q,…,DH2r);DH2q为D2个第三聚类集对应的源设备标识与工业设备网络中第q个设备的设备标识对应的特征信息。
参照步骤S240,同样的,对上述D2个第三聚类集进行特征提取。具体包括以下步骤S251-S252:
S251,获取工业设备网络内每一设备的设备标识G=(G1,G2,…,Gq,…,Gr)。
S252,根据Gq遍历D2个第三聚类集中每个第三聚类集对应的源设备标识,若Gq与任一第三聚类集对应的源设备标识相同,获取DH2q=(Gq,tag21,NUM2);其中,tag21为第三标识,用于表示D2个第三聚类集对应的源设备标识中存在与Gq相同的源设备标识;NUM2为与Gq相同的目的设备标识对应的第三聚类集中的目标数据的数量。
具体的,作为示例:若Gq与第三聚类集X2对应的目的设备标识y2相同,则获取DH1q=(Gq,tag21,NUM2);tag12用于表示D2个第三聚类集对应的源设备标识存在与Gq相同的源设备标识,即以Gq对应的设备为目标数据发出端,以y2对应的目标设备为目标数据接收端,进行了通信;NUM1则表示X2中目标数据的数量,即表示y2对应的目标设备与Gq对应的设备之间传输的目标数据的数量。
另外,根据Gq遍历D2个第三聚类集中每个第三聚类集对应的源设备标识之后,方法还包括:
S253,若Gq与每一第三聚类集对应的源设备标识均不同,获取DH2q=(Gq,tag22,0);其中,tag22为第四标识,用于表示D2个第三聚类集对应的源设备标识中不存在与Gq相同的源设备标识;0表示与Gq相同的目的设备标识对应的第三聚类集中的目标数据的数量为0。
S260,根据DH1和DH2,得到Ee=(DH1,DH2)。
具体的,根据上述DH1,DH2,得到Ee=(DH1,DH2)。
综上,DH1q中包括的特征有:工业设备网络中与y1(与Gq相同的任一第二聚类集对应的目的设备标识)对应的目标设备进行通信的设备的设备标识;y1对应的目标设备与Gq对应的设备是否以Gq对应的设备为目标数据接收端,以y1对应的目标设备为目标数据发出端进行通信的标识(tag11、tag12);以及y1对应的目标设备与Gq对应的设备之间传输的目标数据的数量(NUM1、0)。DH2q同DH1q,因此,每个目标设备对应的设备特征向量反映了每个目标设备与工业设备网络内其他设备的详细通信情况(包括Gq对应的设备为目标数据接收端或发起端两种情况)。由于多个目标设备中每个目标设备的设备类型和处理任务类型均相同,所以对于多个目标设备中每个目标设备的设备特征向量应该是基本相同的,如果任一目标设备被黑客入侵,则被黑客入侵的目标设备与系统的通信情况会发生变化,则被黑客入侵的目标设备的特征向量会发生变化。
S300,根据E,得到设备平均匹配度集F=(F1,F2,…,Fe,…,Ff);其中,Fe为Ee对应的平均匹配度;Fe=(∑i=1 fEGe,i)/f;EGe,i为Ee和Ei之间的设备匹配度;其中,EGe,i符合如下条件:EGe,i=(Ee·Ei)/(|Ee|×|Ei|)。需要说明的是:点积在数学中,又称数量积,是指接受在实数R上的两个向量并返回一个实数值标量的二元运算。向量积,数学中又称外积、叉积,物理中称矢积、叉乘,是一种在向量空间中向量的二元运算。与点积不同,向量积的运算结果是一个向量而不是一个标量。本申请中上述Ee·Ei使用的是点积,|Ee|×|Ei|使用的是向量积。
具体的,获取每个目标设备的设备特征向量的设备平均匹配度,得到设备平均匹配度集,这里,如果每两个目标设备的设备特征向量的平均匹配度相同,则表示这两个目标设备的设备特征向量的相似度高。
由于目标设备的设备类型和处理任务类型均相同,所以在每一目标设备均正常(即未被入侵)的情况下其设备特征向量应该是基本相同的,即每个目标设备的设备特征向量与其他目标设备的设备特征向量的设备匹配度应该是基本相同的,进而每个目标设备的设备特征向量对应的平均匹配度应该是基本相同的。
S400,根据F对E进行聚类,得到至少一个第一聚类集;其中,每一第一聚类集包含至少一个设备特征向量。
具体的,基于上述F对E进行聚类,将设备特征向量对应的平均匹配度基本相同,或对应的差值小于预设阈值的设备特征向量聚为一类,得到至少一个第一聚类集,其中,每一第一聚类集包含至少一个设备特征向量。这里,同一第一聚类集中任意两个设备特征向量对应的平均匹配度基本相同,或对应的差值小于预设阈值。
S500,若第一聚类集的数量大于1,且存在仅包含1个设备特征向量的第一聚类集,则将仅包含1个设备特征向量的第一聚类集所对应的目标设备确定为恶意设备。
具体的,若第一聚类集的数量大于1,且存在仅包含1个设备特征向量的第一聚类集,则说明该设备特征向量的数量为1的设备聚类集合对应的设备特征向量的平均匹配度与其他大多数的目标设备的设备特征向量的平均匹配度不同,进而该设备特征向量的数量为1的设备聚类集合对应的设备特征向量与其他大多数的目标设备的设备特征向量不同,所以仅包含1个设备特征向量的第一聚类集对应的目标设备大概率被黑客入侵了。反之,如果第一聚类集的数量为1,说明设备特征向量集中的所有设备特征向量的平均匹配度基本相同,即表示每个目标设备的设备特征向量基本相同,则没有目标设备被黑客入侵。故而本申请中若设备聚类集合的数量大于1,且存在仅包含1个设备特征向量的第一聚类集,则确定设备特征向量的数量为1的设备聚类集合对应的设备为被入侵设备。以实现对被入侵设备的确定。
在一些实施例的一些可选的实现方式中,在步骤S400之后,方法还包括:
S600,若第一聚类集的数量大于1,且不存在仅包含1个设备特征向量的第一聚类集,获取包含设备特征向量数量最少的第一聚类集作为目标聚类集。
具体的,若第一聚类集的数量大于1,且不存在仅包含1个设备特征向量的第一聚类集,即不能直接确定被入侵设备时,获取第一聚类集中包含设备特征向量数量最少的作为目标聚类集。
S700,将目标聚类集中任一设备特征向量作为目标设备特征向量Eu。
S800,获取Eu对应的目标设备的历史设备特征向量集H=(H1,H2,…,Hs,…,Ht)。s=1,2,…,t;其中,t为获取的历史设备特征向量的数量;Hs为第s个预设时间间隔前获取的Eu对应的目标设备的历史设备特征向量。
具体的,获取Eu对应的目标设备的历史设备特征向量,得到历史设备特征向量集H。
S900,获取Eu与H中每一历史设备特征向量的匹配度,得到目标匹配度集K=(K1,K2,…,Ks,…,Kt);其中,Ks为Eu与Hs的目标匹配度。
这里,Ks符合如下条件:Ks=(Eu·Hs)/(|Eu|×|Hs|)。需要说明的是:点积在数学中,又称数量积,是指接受在实数R上的两个向量并返回一个实数值标量的二元运算。向量积,数学中又称外积、叉积,物理中称矢积、叉乘,是一种在向量空间中向量的二元运算。与点积不同,向量积的运算结果是一个向量而不是一个标量。本申请中上述Eu·Hs使用的是点积,|Eu|×|Hs|使用的是向量积。
S1000,获取K的目标匹配度波动值KM;KM=(∑t s=1(Ks-avg(K))2)/t;其中:avg()为预设的平均值确定函数。
S1100,若KM大于预设目标匹配度波动值阈值,或KM小于预设目标匹配度波动值阈值且K中所有的匹配度小于预设匹配度阈值,则确定Eu对应的目标设备确定为恶意设备。
具体的,对于Eu对应的目标设备,在此前并未被标记为恶意设备,所以其历史设备特征向量集中的每个历史设备特征向量应该是基本相同的,进而,Eu与历史设备特征向量集中的每个历史设备特征向量的匹配度应该是基本相同的,即其匹配度波动值KM应该较小,小于预设的目标匹配度波动值阈值。所以,若KM大于预设目标匹配度波动值阈值,则表示历史设备特征向量集中存在至少一个历史设备特征向量的匹配度与其他历史设备特征向量的匹配度的差值较大,即导致匹配度波动值大于预设目标匹配度波动值阈值。则确定Eu对应的目标设备确定为恶意设备。这里可能由于Eu对应的目标设备在历史某一时刻被入侵但未检出。
另外,若KM小于预设目标匹配度波动值阈值,且K中所有的匹配度小于预设匹配度阈值,则表示其历史设备特征向量集中的每个历史设备特征向量是基本相同的,但Eu与历史设备特征向量集中的每个历史设备特征向量的匹配度较低,则说明Eu对应的目标设备在Eu对应的时间窗口(目标时间窗口)内大概率被入侵,所以确定Eu对应的目标设备确定为恶意设备。
在另一些实施例中,在步骤S300之后,上述方法还包括:
S1200,根据F,获取平均匹配度波动值FH;FH=(∑f e=1(Fe-avg(F))2)/f;其中:avg()为预设的平均值确定函数。
S1300,若FH大于预设的平均匹配度波动值阈值,则确定目标设备中存在恶意设备。
具体的,获取平均匹配度波动值,由于目标设备的设备类型和处理任务类型均相同,所以在每一目标设备均正常(即未被入侵)的情况下其设备特征向量应该是基本相同的,即每个目标设备的设备特征向量与其他目标设备的设备特征向量的设备匹配度应该是基本相同的,进而每个目标设备对应的平均匹配度应该是基本相同的。如果黑客入侵了某一目标设备,则该目标设备的设备特征向量相较于其他目标设备,会发生变化。因此,本申请进一步获取上述平均匹配度集的平均匹配度波动值,如果平均匹配度波动值小,表示平均匹配度集中的平均匹配度均值基本相同,即表示每个目标设备的设备特征向量基本相同,则没有目标设备被黑客入侵,反之,如果上述平均匹配度集的波动值大于预设的平均匹配度波动值阈值,则表示某些目标设备的设备特征向量发生了变化,则大概率存在被黑客入侵的目标设备。故而,本申请中若目标设备的平均匹配度大于预设的平均匹配度波动值阈值,则确定目标设备中存在恶意设备。
此外,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。