僵尸网络检测方法和控制器的制造方法_4

文档序号:9380056阅读:来源:国知局
则中目的IP地址对应的服务器被 所述SDN中任一用户终端访问的访问概率,获得所述服务器的访问概率集合 :
[0140] 其中,Phs为SDN中的任一用户终端h访问任一流转发规则中目的IP地址对应服 务器s的访问概率,Pt为采用第k个子流转发规则和对应的母流转发规则得到的h访问s 的访问概率,根据下列公式确定:
[0142] 其中,hk为采用第k个子流转发规则的用户终端,Hk为与第k个母流转发规则对 应的SDN中的子网,》^为子网H k中包含的用户终端数量,为第k个母流转发规则的第 二匹配次数。
[0143] 进而,根据上述公式获得每个服务器被SDN中任一用户终端访问的访问概率,从 而得到与每个服务器对应的一个访问概率集合,比如访问服务器s的访问概率集合:{p hls、 Ph2s、Ph3sl。
[0144] 步骤206、依次针对所述服务器中的任意两个服务器sp和sq,根据下列公式计算所 述SDN中访问服务器S p的用户终端与服务器Sq的用户终端的相似度,得到访问相似度矩 阵:
[0145] Apq= |up Π Uj/|Up U Uj
[0146] 其中,Apq为所述相似度,Up为访问服务器Sp的用户终端组成的群体,U q为访问服 务器Sq的用户终端组成的群体,|Up n UqI为既访问服务器Sp又访问服务器Sq的用户终端 的个数,根据下列公式确定:
[0148] |UP U UqI为访问服务器Sp或者访问服务器Sq的用户终端的个数,根据下列公式 确定:
[0150] 本实施例中,进一步地,控制器根据与每个服务器对应的访问概率集合,两两计算 访问任意两个不同的服务器的用户终端的相似度,从而得到访问相似度矩阵。具体来说,针 对任意两个服务器S p和Sq,访问服务器Sp的用户终端组成的群体Up与访问服务器S q的用 户终端组成的群体Uq的相似度Apq根据上述公式确定,依次针对其他的任意两个不同服务 器,按照上述方式两两计算相似度,得到一个针对每两个服务器的访问相似度矩阵。
[0151] 步骤207、对所述访问相似度矩阵进行谱分解,得到特征值;
[0152] 步骤208、获取大于第一预设阈值的特征值;
[0153] 步骤209、确定与所述大于第一预设阈值的特征值对应的特征向量;
[0154] 步骤210、采用预设聚类算法对所述特征向量进行聚类,获得至少两个第一类簇;
[0155] 进而,控制器对该访问相似度矩阵进行谱聚类求解,首先对该访问相似度矩阵进 行谱分解,得到每个特征值,之后对得到的所述每个特征值按照数值递减的顺序进行排序, 选取排在前面的预设数量的第一特征值,并确定与第一特征值分别对应的特征向量,之后 采用预设聚类算法,比如OPTICS算法,对确定的各特征向量进行聚类,得到至少两个第一 类簇。
[0156] 谱聚类的结果一般可以得到至少两个第一类簇,每个第一类簇中包含一个或多个 服务器,每个类簇中包含的服务器有可能构成一个僵尸网络,具体确定每个类簇中包含的 服务器是否能够构成一个僵尸网络的过程如下:
[0157] 步骤211、分别以所述至少两个第一类簇中的每个第一类簇作为待处理类簇,根据 所述访问相似度矩阵,确定所述待处理类簇中包含的各服务器中的任意两个服务器对应的 访问相似度;
[0158] 步骤212、根据所述待处理类簇中包含的各服务器中的任意两个服务器对应的访 问相似度,确定所述待处理类簇的平均访问相似度;
[0159] 步骤213、判断所述平均访问相似度是否大于预设访问相似度阈值,并且所述待处 理类簇中包含的各服务器的数量是否大于预设数量,当平均访问相似度大于预设访问相似 度阈值并且所述待处理类簇中包含的各服务器的数量大于预设数量,则执行步骤214 ;
[0160] 分别以每个第一类簇作为待处理类簇,对于待处理类簇中包含的各服务器,通过 查询之前获得的访问相似度矩阵可以得到该各服务器中任意两个服务器对应的访问相似 度。举例来说,比如待处理类簇中包含 81、82和S3这三个服务器,通过查询之前获得的访问 相似度矩阵可以得到访问相似度:A s1s2、A sls^A s2s3,进而取平均(A s1s2+A s1s3+A s2s3)/3, 得到待处理类簇的平均访问相似度。之后判断该平均访问相似度是否大于预设访问相似度 阈值,并且该待处理类簇中包含的各服务器的数量是否大于预设数量,当平均访问相似度 大于预设访问相似度阈值并且该待处理类簇中包含的各服务器的数量大于预设数量,则可 选的,确定该待处理类簇中包含的各服务器构成一个僵尸网络。比如,若该待处理类簇中包 含的服务器数量3大于预设数量2,且平均访问相似度0. 5大于预设访问相似度阈值0. 3, 则确定该待处理类簇中包含的各服务器构成一个僵尸网络。
[0161] 可选地,为了进一步提高僵尸网络检测的准确性,控制器可以通过对多个预设时 间段内获得的各类簇中包含的服务器进一步地进行相似度分析,以根据相似度分析结果来 确定某一第一类簇是否对应一个僵尸网络。具体地,在步骤213中,若平均访问相似度大于 预设访问相似度阈值并且所述待处理类簇中包含的各服务器的数量大于预设数量,则执行 步骤214。
[0162] 步骤214、判断待处理类簇的服务器平均访问次数是否小于第二预设阈值,若小于 所述第二预设阈值,则执行步骤215 ;
[0163] 步骤215、更新所述待处理类簇中包含的各服务器对应的母流转发规则中的子网 地址,并根据更新后的各服务器对应的母流转发规则中的子网地址获得至少两个第二类 簇;
[0164] 具体地,首先判断待处理类簇的服务器平均访问次数是否小于第二预设阈值。其 中,待处理类簇的服务器平均访问次数为该待处理类簇中包含的各服务器的平均访问次数 的平均值,其中,各服务器的平均访问次数根据步骤204中的方式确定。待处理类簇的服 务器平均访问次数小于第二预设阈值,说明当前第一预设时间段内对该待处理类簇中的各 服务器对应的流转发规则的统计不充分,使得检测僵尸网络的结果可能不够准确,需进行 更细粒度的统计。从而,更新该待处理类簇中包含的各服务器对应的母流转发规则中的子 网地址,并根据更新后的各服务器对应的母流转发规则中的子网地址获得至少两个第二类 簇。其中,更新后的子网地址覆盖更广的范围,比如可以通过更新预设子网掩码来实现。
[0165] 具体地,控制器将所述更新后的流转发规则下发给所述openflow交换机,并根据 所述openflow交换机在第二预设时间段内上报的所述更新后的流转发规则的统计信息获 得至少两个第二类簇。具体过程与步骤203~210类似。
[0166] 步骤216、确定所述至少两个第二类簇中是否存在与所述待处理类簇中包含的各 服务器的服务器相似度大于第三预设阈值的类簇,若存在,则执行步骤217 ;
[0167] 步骤217、确定所述待处理类簇中包含的各服务器构成一个僵尸网络。
[0168] 进而,确定所述至少两个第二类簇中是否存在与所述待处理类簇中包含的各服务 器的服务器相似度大于第三预设阈值的类簇,若存在,则确定所述待处理类簇中包含的各 服务器构成一个僵尸网络,若不存在,则结束。其中,该相似度可以简单地根据待处理类簇 中包含的服务器与各第二类簇中包含的服务器相同的数量来确定,比如待处理类簇和某个 第二类簇中分别包含8个服务器,其中有7个服务器相同,那么服务器相似度即为7/8。
[0169] 上述实施例仅以两个预设时间段为例进行了说明,进一步地,控制器可以通过对 在从多个预设时间段中分别获得的各类簇进行与某一第一类簇的相似度判断,比如,总共 7个预设时间段中有4个预设时间段都获得了与某第一类簇的服务器相似度大于第三预设 阈值的类簇,那么认为该第一类簇中包含的服务器为一个僵尸网络,从而进一步提高了僵 尸网络检测的准确性。
[0170] 本实施例中,通过将获得的每个第一类簇与从多个不同预设时间段中获得的各类 簇进行服务器相似度比较,在相似度大于一定阈值的情况下,认为对应的第一类簇中包含 的服务器为一个僵尸网络,进一步提高了僵尸网络检测的准确性。
[0171] 图3为本发明实施例三提供的控制器的结构示意图,如图3所示,该控制器包括:
[0172] 第一接收模块11,用于接收软件定义网络SDN中的openf low交换机在第一预设时 间段内上报的流转发规则的统计信息,所述流转发规则包括子流转发规则和与所述子流转 发规则对应的母流转发规则,所述统计信息包括所述子流转发规则的第一匹配次数和所述 母流转发规则的第二匹配次数;
[0173] 其中,所述子流转发规则用于指示将SDN中与所述子流转发规则中的源IP地址对 应的数据包转发至与所述子流转发规则中的目的IP地址对应的SDN外部的服务器,所述母 流转发规则用于将SDN中与所述源IP地址对应的子网地址内的数据包转发至所述服务器, 所述子网地址为对所述源IP地址和预设子网掩码进行位与运算确定的;
[0174] 第一确定模块12,用于根据所述第一匹配次数和所述第二匹配次数,计算所述服 务器被所述SDN中任一用户终端访问的访问概率,获得所述服务器访问概率集合;
[0175] 计算模块13,用于根据所述访问概率集合,计算访问所述服务器中任意两个服务 器的用户终端的相似度,得到访问相似度矩阵;
[0176] 聚类模块14,用于采用预设谱聚类算法对所述访问相似度矩阵进行谱聚类,获得 聚类结果;
[0177] 第二确定模块15,用于根据所述聚类结果确定是否存在僵尸网络。
[0178] 本实施例的控制器可以用于执行图1所示方法实施例的技术方案,其实现原理和 技术效果类似,此处不再赘述。
[0179] 图4为本发明实施例四提供的控制器的结构示意图,如图4所示,该控制器在图3 所示实施例的基础上,所述第一确定模块12,包括:
[0180] 第一确定单元121,用于根据下列公式计算所述流转发规则中目的IP地址对应的 服务器被所述SDN中的任一用户终端访问的平均访问次数:
[0182] 其中,&为对服务器s的平均访问次数,用户终端h为所述SDN中的任一用户终 端,nhs为用于将用户终端h的数据包转发至s的子流转发规则fhs的第一匹配次数,m s为目 的IP地址对应所述服务器s的子流转发规则的个数;
[0183] 第二确定单元122,用于根据下列公式依次计算所述流转发规则中目的IP地址 对应的服务器被所述SDN中任一用户终端访问的访问概率,获得所述服务器的访问概率集 合:
[0185] 其中,phs为SDN中的任一用户终端h访问任一流转发规则中目的IP地址对应服 务器s的访问概率,为采用第k个子流转发规则和对应的母流转发规则得到的h访问s 的访问概率,根据下列公式确定:
[0187] 其中,hk为采用第k个子流转发规则的用户终端,Hk为与第k个母流转发规则对 应的SDN中的子网,W iijs为子网Hk中包含的用户终端数量,为第k个母流转发规则的第 二匹配次数。
[0188] 进一步地,所述计算模块13,具体用于:
[0189] 依次针对所述服务器中的任意两个服务器Sp和sq,根据下
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1