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

文档序号:9380056阅读:来源:国知局
转发规则和与所述子流转发规则对应的母流转发规 贝1J。具体地,该子流转发规则中的源IP地址为该用户终端的IP地址,目的IP地址为该服 务器的IP地址,用于将该用户终端的数据包转发给该服务器,而与该子流转发规则对应的 母流转发规则的源IP地址为该用户终端的IP地址与第一预设子网掩码进行位与运算后的 子网地址,目的IP地址仍为该服务器的IP地址,用于将该子网地址对应的子网内的各用户 终端的数据包转发至该服务器。
[0114] 本实施例中的流转发规则中包含的母流转发规则,通过以对应子流转发规则中的 源IP地址为依据,对SDN进行子网划分,使得控制器无需对同一子网内的各用户终端的数 据包一一进行流转发规则的构造,降低了控制器的处理负载。
[0115] 控制器在分别接收到openflow交换机转发的不同数据包时,将构造的与各数据 包对应的包含子流转发规则和对应的母流转发规则的各个流转发规则下发给openflow交 换机,以使该openflow交换机根据该各流转发规则对接收到的各数据包进行到相应目的 服务器的转发处理的同时,对每个流转发规则的使用情况进行统计,以获得每个流转发规 则的统计信息。
[0116] Openflow交换机将第一预设时间段内获得的统计信息上报给控制器,其中,该统 计信息中包括每个子流转发规则的第一匹配次数和与每个子流转发规则分别对应的每个 母流转发规则的第二匹配次数,该第一匹配次数可以理解成对应的子流转发规则被使用以 成功匹配数据包的使用次数,相应的,该第二匹配次数可以理解成对应的母流转发规则被 使用以成功匹配数据包的使用次数。
[0117] 可选的,控制器下发给openflow交换机的每个流转发规则中还可以包括该流转 发规则的生命周期,相应的,openflow交换机上报的统计信息可以是在对应流转发规则的 生命周期结束时才统一上报的。
[0118] 步骤102、根据所述第一匹配次数和所述第二匹配次数,计算所述服务器被所述 SDN中任一用户终端访问的访问概率,获得所述服务器访问的概率集合;
[0119] 步骤103、根据所述访问概率集合,计算访问所述服务器中任意两个服务器的用户 终端的相似度,得到访问相似度矩阵;
[0120] 步骤104、采用预设谱聚类算法对所述访问相似度矩阵进行谱聚类,获得聚类结 果;
[0121] 步骤105、根据所述聚类结果确定是否存在僵尸网络。
[0122] 控制器在接收到openflow交换机在第一预设时间段内上报的每个流转发规则的 统计信息后,根据每个统计信息中的第一匹配次数和第二匹配次数,确定每个流转发规则 中目的IP地址对应的服务器被SDN中任一用户终端访问的访问概率,从而得到分别与每个 服务器对应的访问概率集合。根据上述流转发规则中子流转发规则和对应的母流转发规则 的特点可知,子流转发规则和对应的母流转发规则对应着同一个目的IP地址,即每个流转 发规则对应着一个SDN外部的服务器。以SDN内的某一用户终端h以及与h在同一子网内 的多个其他用户终端都访问服务器s为例说明如何根据第一匹配次数和第二匹配次数来 确定任一服务器s被SDN中任一用户终端访问的访问概率,此时,第一匹配次数即意味着h 使用对应的子流转发规则成功访问s的次数,第二匹配次数即意味着与h在同一子网内的 其他多个用户终端使用对应的母流转发规则成功访问s的次数,由于子流转发规则即对应 着唯一确定的用户终端h,而母流转发规则却对应着一个子网地址,没有确定的用户终端, 因此,控制器可以根据子流转发规则中的源IP地址为h,目的IP地址为s确定出如果访问 S的用户终端为h,则访问概率为1,对于其他非h的用户终端,由于这些非h的用户终端中 有一部分与h在同一子网内,根据第一匹配次数和第二匹配次数可以计算出同一子网内的 用户终端访问s的访问概率,不在同一子网又非h的用户终端的访问概率为0。依次类推, 针对每个流转发规则对应的服务器都进行类似访问概率的确定,从而能够获得分别与每个 服务器对应的访问概率集合。
[0123] 进而,基于该访问概率集合依次计算访问任意两个所述服务器的用户终端的相似 度,得到访问相似度矩阵,即从该访问概率集合中,每次针对两个不同的服务器,根据这两 个服务器分别对应的访问概率来计算分别访问这两个服务器的用户终端的相似度,依次类 推,两两计算各服务器,直到上报的所有流转发规则对应的服务器都被计算完为止。可以 理解的是,每个服务器对应着一个访问群体,即访问该服务器的用户终端群体,而每个服务 器的访问概率集合包含访问该服务器的用户终端群体中每个用户终端对其的访问概率,因 此,可以根据服务器P和服务器q的访问概率集合来计算获得访问P的用户终端群体与访 问q的用户终端群体的相似度,其中,P和q为两个不同的服务器。之后,控制器可以根据 预设谱聚类算法,比如K均值谱聚类算法、OPTICS算法,对获得的访问相似度矩阵进行谱聚 类求解,比如求解特征值、特征向量,对特征向量进行聚类分析,获得聚类结果,进而根据聚 类结果来确定僵尸网络,即根据聚类结果中包含的多个类簇,确定哪些类簇包含的服务器 构成一个僵尸网络。由于谱聚类分析的过程与现有技术中的聚类方法类似,不详细说明。
[0124] 本实施例中,在SDN架构下,控制器通过构造包含子流转发规则和母流转发规则 的流转发规则,并基于该子流转发规则的第一匹配次数和母流转发规则的第二匹配次数获 得访问任意两个SDN外部的服务器的SDN中用户终端的访问相似度矩阵,并通过对该访问 相似度矩阵进行聚类分析,以根据聚类结果确定僵尸网络。由于SDN中由控制器对数据流 进行集中管理,并且流转发规则中的母流转发规则中的源IP地址为对应子流转发规则中 的确定用户终端的IP地址与第一预设子网掩码进行位与运算后确定的一个子网地址,使 得控制器无需一一为该子网内的用户终端构造流转发规则,并且,openflow交换机仅需完 成对流转发规则的统计,大大降低了控制器和交换机的处理负载,另外,根据匹配次数获得 访问不同外部服务器的用户终端的相似度,基于该相似度来确定僵尸网络,无需对数据包 特征进行深度解析,在降低处理负载的同时,提高了僵尸网络的检测效率。
[0125] 图2为本发明实施例二提供的僵尸网络检测方法的流程图,如图2所示,在图1-2 所示实施例的基础上,本实施例的方法包括:
[0126] 步骤201、接收openf low交换机转发的待处理数据包,所述数据包中包括源IP地 址和目的IP地址;
[0127] 步骤202、根据所述源IP地址和所述目的IP地址构造流转发规则,所述流转发规 则包括子流转发规则和与所述子流转发规则对应的母流转发规则,并将构造的所述流转发 规则下发给所述openf low交换机;
[0128] 步骤203、接收软件定义网络SDN中的openflow交换机在第一预设时间段内上报 的流转发规则的统计信息,所述统计信息中包括所述子流转发规则的第一匹配次数和所述 母流转发规则的第二匹配次数;
[0129] 本实施例中,当SDN中的某用户终端需访问SDN外部的某服务器时,该用户终端将 待发送的数据包发送给该SDN中的openflow交换机,当openflow交换机在本地未查询到 与某用户终端的数据包对应的流转发规则时,将该数据包转发给控制器,控制器根据该数 据包中包含的源IP地址和目的IP地址构造流转发规则,并将构造的所述流转发规则下发 给所述openf low交换机,其中,本实施例中的所述流转发规则包括子流转发规则和与所述 子流转发规则对应的母流转发规则。具体地,该子流转发规则中的源IP地址为该用户终端 的IP地址,目的IP地址为该服务器的IP地址,用于将该用户终端的数据包转发给该服务 器,而与该子流转发规则对应的母流转发规则的源IP地址为该用户终端的IP地址与第一 预设子网掩码进行位与运算后的子网地址,目的IP地址仍为该服务器的IP地址,用于将该 子网地址对应的子网内的各用户终端的数据包转发至该服务器。
[0130] 可选的,控制器可以规定每个流转发规则的生命周期,以使openflow交换机从接 收到每个流转发规则时刻开始计时,在每个流转发生命周期结束时,向控制器上报在每个 流转发规则的生命周期内对应流转发规则的统计信息。
[0131] 由于僵尸网络具有如图1-1所示的协同交互特性,本实施例中可以利用僵尸主机 与僵尸网络服务器间的这种协同交互特性来检测僵尸网络,即获得被同一批僵尸主机访问 的僵尸网络服务器团体,该僵尸网络服务器团体即构成一个僵尸网络。为此,首先需针对统 计信息中包含的每个流转发规则对应的服务器,依次分别获得访问每个服务器的用户终端 群体,进而根据各个用户终端群体间的相似度来确定被同一批用户终端,即僵尸主机访问 的服务器。
[0132] 本实施例中,为了进一步提高僵尸网络检测的准确性,控制器可以通过对多个预 设时间段内获得的僵尸网络服务器进一步地进行相似度分析,如果某一预设时间段内获得 的僵尸网络服务器团体在至少一个另一预设时间段中具有较高相似度的另一僵尸网络服 务器团体与之匹配,则确定该僵尸网络服务器团体为一个僵尸网络,具体过程以下说明。
[0133] 值得说明的是,本实施例中的第一预设时间段可以是一个滑动窗口,窗口大小例 如为12小时,每次的滑动步长例如为1小时,而控制器规定的每个流转发规则的生命周期 例如为1小时,当某个流转发规则的生命周期结束时,openflow交换机即删除该流转发规 贝1J,后续与该流转发规则中源IP地址对应的用户终端访问目的IP地址对应的服务器时,仍 需将数据包转发给控制器,由控制器重新制定流转发规则,新制定的流转发规则可能与之 前流转发规则相同,也可能不同。另外,在当前第一预设时间段对应的观测窗口结束时,控 制器首先清除该观测窗口中获得的流转发规则的统计信息,再在下一第二预设时间段对应 的观测窗口中接收openflow交换机上报的后续统计信息。
[0134] 步骤204、根据下列公式计算所述流转发规则中目的IP地址对应的服务器被所述 SDN中的任一用户终端访问的平均访问次数;
[0136] 其中,&为对服务器s的平均访问次数,用户终端h为所述SDN中的任一用户终 端,nhs为用于将用户终端h的数据包转发至服务器s的子流转发规则fhs的第一匹配次数, ms为目的IP地址对应所述服务器s的子流转发规则的个数。
[0137] 本实施例中,在第一预设时间段中,控制器会接收到若干个流转发规则的统计信 息,由于每个流转发规则分别对应着一个服务器,控制器首先根据上述公式获得各个服务 器被SDN中任一用户终端访问的平均访问次数。值得说明的是,由于母流转发规则中的源 IP地址字段为一个子网地址,无法获知唯一确定的用户终端信息,因此,本实施例是通过子 流转发规则来确定该平均访问次数的。举例来说,比如统计信息中共有3个子流转发规则 对应服务器s,分别为f hls、fh2s、fh2s,对应的第一匹配次数分别为nhls、n h2s、nh3s,即意味着用 户终端hi使用子流转发规则fhls访问了 s的次数为nhls,以此类推,可知服务器s被访问的 平均访问次数为(nhls+n h2s+nh3s)/3。相类似的,求得每个服务器的平均访问次数。
[0138] 步骤205、根据下列公式依次计算所述流转发规
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1