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

文档序号:9380056阅读:403来源:国知局
僵尸网络检测方法和控制器的制造方法
【技术领域】
[0001] 本发明属于计算机网络安全技术领域,具体是涉及一种僵尸网络检测方法和控制 器。
【背景技术】
[0002] 僵尸网络(Botnet)是指攻击者使用一种或多种传播手段将大量主机感染僵尸 (bot)程序,从而在攻击者和被感染主机之间形成的一个一对多的控制网络,其中,被感染 主机即为僵尸主机,攻击者可以通过命令与控制(Co_and and Control,以下简称C&C)信 道一对多地控制僵尸主机。僵尸网络构成一个攻击平台,利用这个平台可以发起各种各样 的网络攻击行为,从而导致某些应用系统的瘫痪、个人隐私的泄露等。比如,利用僵尸网络 发送垃圾邮件、窃取机密等网络攻击行为。
[0003] 目前的僵尸网络检测方法,多是通过对网络数据流进行聚类来发现僵尸网络。这 种聚类多是通过将被检测网络中广泛分布的多个交换机、网关设备等网络设备上的数据流 信息镜像到一个用于僵尸网络检测的后台服务器中,以便后台服务器根据收到的该各个数 据流信息中各自包含的特征信息比如源IP地址、目的IP地址、数据包大小、端口号等信息 来对各个数据流信息进行聚类分析,从而基于聚类分析的结果发现与僵尸网络对应的网络 流量的异常行为,进而检测出僵尸网络。
[0004] 上述的僵尸网络检测方法中,由于网络设备的局限性,对广泛分布的比如各网关 设备上的各个数据流进行流量镜像,进而解析各数据流中的数据包特征进行聚类分析,由 于流量镜像采集获得的数据流非常庞大,并且需对多个数据包特征进行解析,使得处理负 载过大,导致僵尸网络的检测效率较低。

【发明内容】

[0005] 针对现有技术中存在的问题,本发明实施例提供一种僵尸网络检测方法和控制 器,以用于克服现有技术中基于流量镜像和数据包特征进行聚类分析导致处理负载大、僵 尸网络检测效率低的缺陷。
[0006] 本发明实施例第一方面提供一种僵尸网络检测方法,包括:
[0007] 接收软件定义网络SDN中的openf low交换机在第一预设时间段内上报的流转发 规则的统计信息,所述流转发规则包括子流转发规则和与所述子流转发规则对应的母流转 发规则,所述统计信息包括所述子流转发规则的第一匹配次数和所述母流转发规则的第二 匹配次数;
[0008] 其中,所述子流转发规则用于指示将SDN中与所述子流转发规则中的源IP地址对 应的数据包转发至与所述子流转发规则中的目的IP地址对应的SDN外部的服务器,所述 母流转发规则用于将SDN中与所述源IP地址对应的子网地址内的数据包转发至所述服务 器;
[0009] 根据所述第一匹配次数和所述第二匹配次数,计算所述服务器被所述SDN中任一 用户终端访问的访问概率,获得所述服务器的访问概率集合;
[0010] 根据所述访问概率集合,计算访问所述服务器中任意两个服务器的用户终端的相 似度,得到访问相似度矩阵;
[0011] 采用预设谱聚类算法对所述访问相似度矩阵进行谱聚类,获得聚类结果;
[0012] 根据所述聚类结果确定是否存在僵尸网络。
[0013] 结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述第一匹配 次数和所述第二匹配次数,确定所述服务器被所述SDN中任一用户终端访问的访问概率, 获得所述服务器的访问概率集合,包括 :
[0014] 根据下列公式计算服务器被所述SDN中的任一用户终端访问的平均访问次数:
[0016] 其中,&为对服务器s的平均访问次数,用户终端h为所述SDN中的任一用户终 端,nhs为用于将用户终端h的数据包转发至服务器s的子流转发规则fhs的第一匹配次数, ms为目的IP地址对应所述服务器s的子流转发规则的个数;
[0017] 根据下列公式依次计算所述流转发规则中目的IP地址对应的服务器被所述SDN 中任一用户终端访问的访问概率,获得所述服务器的访问概率集合:
[0019] 其中,phs为SDN中的任一用户终端h访问任一流转发规则中目的IP地址对应服 务器s的访问概率,为采用第k个子流转发规则和对应的母流转发规则得到的h访问s 的访问概率,根据下列公式确定:
[0021] 其中,hk为采用第k个子流转发规则的用户终端,Hk为与第k个母流转发规则对 应的SDN中的子网,m /v为子网Hk中包含的用户终端数量,》?为第k个母流转发规则的第 二匹配次数。
[0022] 结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式 中,所述根据所述访问概率集合,计算访问所述服务器中任意两个服务器的用户终端的相 似度,得到访问相似度矩阵,包括:
[0023] 依次针对所述服务器中的任意两个服务器Sp和sq,根据下列公式计算所述SDN中 访问服务器S p的用户终端与服务器Sq的用户终端的相似度,得到访问相似度矩阵:
[0024] Apq= |up Π Uj/|Up U Uj
[0025] 其中,Apq为所述相似度,Up为访问服务器Sp的用户终端组成的群体,U q为访问服 务器Sq的用户终端组成的群体,|Up n UqI为既访问服务器Sp又访问服务器Sq的用户终端 的个数,根据下列公式确定:
[0027] |UP U UqI为访问服务器Sp或者访问服务器Sq的用户终端的个数,根据下列公式 确定:
[0029] 结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的 实现方式,在第一方面的第三种可能的实现方式中,所述采用预设谱聚类算法对所述访问 相似度矩阵进行谱聚类,获得聚类结果,包括:
[0030] 对所述访问相似度矩阵进行谱分解,得到特征值;
[0031] 获取大于第一预设阈值的特征值;
[0032] 确定与所述大于第一预设阈值的特征值对应的特征向量;
[0033] 采用预设聚类算法对所述特征向量进行聚类,获得至少两个第一类簇;
[0034] 所述根据所述聚类结果确定僵尸网络包括:
[0035] 根据所述至少两个第一类簇确定僵尸网络。
[0036] 结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式 中,所述根据所述至少两个第一类簇确定僵尸网络,包括 :
[0037] 分别以所述至少两个第一类簇中的每个第一类簇作为待处理类簇,根据所述访问 相似度矩阵,确定所述待处理类簇中包含的各服务器中的任意两个服务器对应的访问相似 度;
[0038] 根据所述待处理类簇中包含的各服务器中的任意两个服务器对应的访问相似度, 确定所述待处理类簇的平均访问相似度;
[0039] 判断所述平均访问相似度是否大于预设访问相似度阈值,并且所述待处理类簇中 包含的各服务器的数量是否大于预设数量;
[0040] 当平均访问相似度大于预设访问相似度阈值并且所述待处理类簇中包含的各服 务器的数量大于预设数量,则确定所述待处理类簇中包含的各服务器构成一个僵尸网络。
[0041] 结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式 中,所述确定所述待处理类簇中包含的各服务器构成一个僵尸网络之前,还包括:
[0042] 判断待处理类簇的服务器平均访问次数是否小于第二预设阈值;
[0043] 若小于所述第二预设阈值,则更新所述待处理类簇中包含的各服务器对应的母流 转发规则中的子网地址,并根据更新后的各服务器对应的母流转发规则中的子网地址获得 至少两个第二类簇;
[0044] 所述确定所述待处理类簇中包含的各服务器构成一个僵尸网络,包括:
[0045] 确定所述至少两个第二类簇中是否存在与所述待处理类簇中包含的各服务器的 服务器相似度大于第三预设阈值的类簇;
[0046] 若存在,则确定所述待处理类簇中包含的各服务器构成一个僵尸网络。
[0047] 结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式 中,所述根据更新后的各服务器对应的母流转发规则中的子网地址获得至少两个第二类 簇,包括:
[0048] 将所述更新后的流转发规则下发给所述openf low交换机,并根据所述openf low 交换机在第二预设时间段内上报的所述更新后的流转发规则的统计信息获得至少两个第 二类簇。
[0049] 结合第一方面、第一方面的第一种、第二种、第三种、第四种、第五种或第六种可 能的实现方式,在第一方面的第七种可能的实现方式中,所述接收软件定义网络SDN中的 openflow交换机在第一预设时间段内上报的流转发规则的统计信息之前,还包括:
[0050] 接收openflow交换机转发的待处理数据包,所述数据包中包括源IP地址和目的 IP地址;
[0051] 根据所述源IP地址和所述目的IP地址构造所述流转发规则,并将构造的所述流 转发规则下发给所述openflow交换机。
[0052] 本发明实施例第二方面提供一种控制器,包括:
[0053] 第一接收模块,用于接收软件定义网络SDN中的openflow交换机在第一预设时间 段内上报的流转发规则的统计信息,所述流转发规则包括子流转发规则和与所述子流转发 规则对应的母流转发规则,所述统计信息包括所述子流转发规则的第一匹配次数和所述母 流转发规则的第二匹配次数;
[0054] 其中,所述子流转发规则用于指示将SDN中与所述子流转发规则中的源IP地址对 应的数据包转发至与所述子流转发规则中的目的IP地址对应的SDN外部的服务器,所述 母流转发规则用于将SDN中与所述源IP地址对应的子网地址内的数据包转发至所述服务 器;
[0055] 第一确定模块,用于根据所述第一匹配次数和所述第二匹配次数,计算所述服务 器被所述SDN中任一用户终端访问的访问概率,获得所述服务器访问的概率集合;
[0056] 计算模块,用于根据所述访问概率集合,计算访问所述服务器中任意两个服务器 的用户终端的相似度,得到访问相似度矩阵;
[0057] 聚类模块,用于采用预设谱聚类算法对所述访问相似度矩阵进行谱聚类,获得聚 类结果;
[0058] 第二确定模块,用于根据所述聚类结果确定是否存在僵尸网络。
[0059] 结合第二方面,在第二方面的第一种可能的实现方式中,所述第一确定模块,包 括:
[0060] 第一确定单元,用于根据下列公式计算所述服务器被所述SDN中的任一用户终端 访问的平均访问次数:
[0062] 其中,为对服务器s的平均访问次数,用户终端h为所述SDN中的任一用户终 端,nhs为用于将用户终端h的数据包转发至服务器s的子流转发规则fhs的第一匹配次数, ms为目的IP地址对所述应服务器s的子流转发规则的个数;
[0063] 第二确定单元,用于根据下列公式依次计算所述流转发规则中目的IP地址对应 的服务器被所述SDN中任一用户终端访问的访问概率,获得所述服务器的访问概率集合 :
[0064] /?te=l-n^(l-/^)
[0065] 其中,phs为SDN中的任一用户终端h访问任一流转发规则中目的IP地址对应服 务
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1