基于网络流聚类检测p2p僵尸网络结构的方法

文档序号:7767614阅读:574来源:国知局
专利名称:基于网络流聚类检测p2p僵尸网络结构的方法
技术领域
本发明涉及一种发现网络结构的方法,更特别地说,是指一种基于网络流聚类 检测P2P僵尸网络结构的方法。
背景技术
僵尸网络(Botnets)是大量未经授权控制计算机资源,能够接受远程控制命令执 行相应操作的计算机程序所组成的网络。它是一种从传统恶意代码形态进化而来的新型 攻击方式,为攻击者提供了隐匿、灵活且高效的一对多命令与控制机制,可以控制大量 僵尸主机实现信息窃取、分布式拒绝服务攻击和垃圾邮件发送等攻击目的;其中,一对 多的命令与控制机制是它的本质特征。攻击者是指通过使用计算机网络采取行动扰乱、 阻止、削弱或毁坏驻留在计算机及其计算机网络上的信息或计算机及其网络自身的计算 机或人。防御者是指在计算机网络及其信息系统内,采取一系列行动保护、监视、分 析、检测和响应未经授权活动的人。僵尸网络的命令与控制机制有多种模式集中式、P2P模式和随机模式。P2P 僵尸网络的特点是节点(僵尸进程)之间是一种对等关系,网络中不存在典型的命令与控 制服务器,网络中的servent节点既可以作为客户端,又可以作为服务器端。相对于集中 式的僵尸网络,P2P僵尸网络不容易被检测发现,具有更强的隐蔽性。参见图1所示,图中包括有A节点、B节点、C节点、D节点、E节点、F节 点、G节点、H节点、和I节点共计9个节点,A I节点之间通过命令与控制活动C&C 构成P2P僵尸网络结构。攻击者可以通过预先设定的某些节点来传递攻击指令AIn,P2P 僵尸网络中的节点则可以通过命令与控制活动C&C将攻击指令AIn传播至所述网络中的 每一个节点;网络中的所有节点将解释所述的攻击指令AIn并执行相应的攻击活动AA, 所述的攻击活动AA将对被攻击者的网络、信息系统等造成损害。

发明内容
本发明的目的是提出一种基于网络流聚类检测P2P僵尸网络结构的方法,该方 法通过实时通信数据采集模块、数据报记录过滤模块、网络流抽取模块、网络流记录过 滤模块、网络流聚类模块、数据关联和结果显示模块的顺序执行完成了对P2P僵尸网络 结构的检测,其基本思想是防御者利用P2P僵尸网络节点间命令与控制通信的规律性, 即持续时间、数据报数量、字节数量等具有特征,通过识别被监控网络通信数据中的命 令与控制通信来确定被监控网络中的P2P僵尸网络节点和节点间的命令与控制关系,进 而给出P2P僵尸网络结构;本发明的主要创新点在于通过聚类方法将具有相似特征的通 信网络流聚集在一起,与命令与控制通信特征集中的特征对比,区别正常通信与P2P僵 尸网络通信,从而达到检测P2P僵尸网络结构的目的。本发明的一种基于网络流聚类检测P2P僵尸网络结构的方法,该方法包括有下列检测步骤步骤1 采集实时通信数据实时通信数据采集模块首先从被监控网络中获取该被监控网络的IP数据报 IPD,并从所述的IP数据报IPD中提取出关键字段KF = {SIP,DIP, SPT, DPT, IHL, ITL,THL, PTL};然后记录下当前采集IP数据报IPD的采集时间Tt ;最后将所述的关 键字段 KF = {SIP,DIP, SPT, DPT, IHL, ITL, THL, PTL}中的源 IP 地址 SIP、目 的IP地址DIP、源端口号SPT、目的端口号DPT、IP数据报协议字段类型PTL,以及采集 时间Tt、应用层报文长度AML表示为一条数据报记录PR存储于数据报记录表PRT中; 所述数据报记录PR按照数学中的元组形式表示为PR= (SIP, DIP, SPT, DPT, PTL, Tt, AML);步骤2 过滤数据报记录 数据报记录过滤模块根据第一过滤规则集FFR过滤掉所述数据报记录表PRT中 的数据报记录PR ;步骤3:抽取网络流网络流抽取模块首先接受防御者输入的超时时间间隔TO ;然后按照网络流抽取 策略FEP,根据所述采集时间Tt的先后顺序处理所述数据报记录表PRT中的数据报记录 PR;步骤4:过滤网络流记录网络流记录过滤模块根据第二过滤规则集SFR过滤掉无关的网络流记录;步骤5 进行网络流聚类网络流聚类模块首先接受防御者输入的命令与控制特征集CCFFT ;然后利用最 大最小值法MM对网络流记录表FRT中的网络流记录FR的网络流特征FFT进行数据规 格化;最后对进行网络流记录表FRT中的网络流记录FR进行聚类,将聚类中心点接近所 述命令与控制特征集CCFFT中特征的一个或者多个聚类作为P2P僵尸网络命令与控制网 络流集CCS ;步骤6:显示结果数据关联和结果显示模块首先提取所述命令与控制网络流集CCS中的IP地址集 IPS;然后将IP地址集IPS中的每一个IP地址表示为一个点,在所述命令与控制网络流集 CCS中每一个网络流记录FR对应的源IP地址SIP、目的IP地址DIP之间绘制一条边; 由得到的点和边构成了防御者检测到的P2P僵尸网络结构。


图1是常规的P2P僵尸网络结构示意图。图2是本发明检测P2P僵尸网络结构的原理图。
具体实施例方式下面将结合附图和实施例对本发明做进一步的详细说明。本发明的一种基于网络流聚类检测P2P僵尸网络结构的方法,该方法包括有下 列检测步骤
步骤1 采集实时通信数据实时通信数据采集模块第一方面从被监控网络中获取该被监控网络的IP数据报 IPD,并从所述的IP数据报IPD中提取出关键字段KF;所述的关键字段KF中包括有源IP地址SIP、目的IP地址DIP、源端口号SPT、 目的端口号DPT、IP头部长度IHL、IP数据报总长度ITL、TCP/UDP头部长度THL、 IP数据报协议字段类型PTL;按照数学中的集合表达形式为KF=丨SIP,DIP, SPT, DPT,IHL,ITL,THL,PTL }。在本发明中,当PTL相同于TCP协议时,利用ITL-IHL-THL来计算应用层报文 长度AML。在本发明中,当PTL相同于UDP协议时,利用ITL-IHL-THL+8来计算应用层 报文长度AML。TCP (Transmission Control Protocol),传输控制协议。TCP能够在不可靠的互联
网络上提供一个可靠的端到端字节流通信。UDP(User Datagram Protocol),用户数据报协议。UDP能够为应用程序提供了
一种方法来发送经过封装的IP数据报,而且不必建立连接就可以发送这些IP数据报。实时通信数据采集模块第二方面,记录下当前采集IP数据报IPD的时间信息, 记为Tt(简称为采集时间Tt);实时通信数据采集模块第三方面,将所述的关键字段KF中的源IP地址SIP、目 的IP地址DIP、源端口号SPT、目的端口号DPT、IP数据报协议字段类型PTL,以及采集 时间Tt、应用层报文长度AML表示为一条数据报记录PR存储于数据报记录表PRT中; 所述数据报记录PR按照数学中的元组形式表示为PR= (SIP, DIP, SPT, DPT, PTL, Tt, AML)。步骤2 过滤数据报记录数据报记录过滤模块根据第一过滤规则集FFR过滤掉所述数据报记录表PRT中 的数据报记录PR。在本发明中,所述的第一过滤规则集FFR第一方面包括协议类型过滤规则 PFR ;数据报记录过滤模块删除数据报记录表PRT中协议字段类型PTL不同于所述协议 类型过滤规则PFR的数据报记录PR ;在本发明中,所述的第一过滤规则集FFR第二方面包括白名单过滤规则 WLFR ;所述白名单过滤规则WLFR包含防御者信任的IP地址;数据报记录过滤模块 删除数据报记录表PRT中源IP地址SIP或目的IP地址DIP相同于所述白名单过滤规则 WLFR的数据报记录PR ;在本发明中,所述的第一过滤规则集FFR第三方面包括黑名单过滤规则BLFR ; 所述的黑名单过滤规则BLFR包含防御者怀疑的IP地址;数据报记录过滤模块删除数据 报记录表PRT中源IP地址SIP或目的IP地址DIP不同于所述黑名单过滤规则BLFR的数 据报记录PR。步骤3:抽取网络流网络流记录FR包括源IP地址SIP、目的IP地址DIP、源端口号SPT、目的端口 号DPT、协议类型PTL、开始时间ST、结束时间ET、数据报数量PN、字节数量BN、网络流持续时间DRT、平均每个数据报字节数量BPP、平均每秒钟数据报数量PPS、平均 每秒钟字节数量BPS ;将所述网络流记录FR按照数学中的元组形式表示为FR = (SIP, DIP, SPT, DPT, PTL, ST, ET, PN, BN, DRT, BPP, PPS, BPS);所述网络流记
录FR存储于网络流记录表FRT中。五元组FT包括源IP地址SIP、目的IP地址DIP、源端口号SPT、目的端口号 DPT、IP数据报协议字段类型PTL所组成的元组;将所述五元组FT按照数学中的元组形 式表示为 FT = (SIP, DIP, SPT, DPT, PTL)。网络流特征FFT包括网络流持续时间DRT、平均每个数据报字节数量BPP、平 均每秒钟数据报数量PPS、平均每秒钟字节数量BPS ;将所述网络流特征FFT按照数学 中的元组形式表示为FFT = (DRT,BPP, PPS, BPS)。所述网络流特征FFT按照网络流特征计算策略FFTCP计算。所述网络流特征计算策略FFTCP利用ST-ET计算所述网络流持续时间DRT,利 用BN/PN计算所述平均每个数据报字节数量BPP,利用PN/DRT计算所述平均每秒钟数 据报数量PPS,利用BN/DRT计算所述平均每秒钟字节数量BPS。网络流抽取模块第一方面接受防御者输入的超时时间间隔,记为TO(简称超时 时间TO);网络流抽取模块第二方面按照网络流抽取策略FEP,根据所述采集时间Tt的先 后顺序处理所述数据报记录表PRT中的数据报记录PR。在本发明中,所述的网络流抽取策略FEP第一方面从所述网络流记录表FRT中 查找五元组FT相同于所述数据报记录PR的五元组FT的开始时间ST最大的网络流记录 FR ;如果存在所述网络流记录FR,并且所述数据报记录PR的采集时间Tt与所述网 络流记录FR的开始时间ST满足Tt-ST小于等于所述超时时间TO,则根据数据报记录PR 更新网络流记录FR 所述网络流记录FR的结束时间ET等于所述数据报记录PR的采集 时间Tt;所述网络流记录FR的数据报数量PN等于当前值加上1 ;所述网络流记录FR的 字节数量BN等于当前值加上所述数据报记录PR的应用层报文长度AML ;按照所述网 络流特征计算策略FFTCP重新计算所述网络流持续时间DRT、平均每个数据报字节数量 BPP,平均每秒钟数据报数量PPS、平均每秒钟字节数量BPS。如果存在所述网络流记录FR,并且所述数据报记录PR的采集时间Tt与所述网 络流记录FR的开始时间ST满足Tt-ST大于所述超时时间TO,则向所述网络流记录表 FRT中插入一条新的网络流记录FR ;所述网络流记录FR的开始时间ST等于所述数据报 记录PR的采集时间Tt ;所述网络流记录FR的数据报数量PN等于1 ;所述网络流记录 FR的字节数量BN等于所述数据报记录PR的应用层报文长度AML ;按照所述网络流特 征计算策略FFTCP计算所述网络流持续时间DRT、平均每个数据报字节数量BPP、平均 每秒钟数据报数量PPS、平均每秒钟字节数量BPS。如果不存在所述网络流记录FR,则向所述网络流记录表FRT中插入一条新的网 络流记录FR ;所述网络流记录FR的开始时间ST等于所述数据报记录PR的采集时间Tt ; 所述网络流记录FR的数据报数量PN等于1 ;所述网络流记录FR的字节数量BN等于所 述数据报记录PR的应用层报文长度AML ;按照所述网络流特征计算策略FFTCP计算所述网络流持续时间DRT、平均每个数据报字节数量BPP、平均每秒钟数据报数量PPS、 平均每秒钟字节数量BPS。步骤4:过滤网络流记录网络流记录过滤模块根据第二过滤规则集SFR过滤掉无关的网络流记录。在本发明中,所述的第二过滤规则集SFR第一方面包括特殊通信过滤规则 SCFR ;所述特殊通信过滤规则SCFR包括数据报数量PN为1、字节数量BN为0 ;网络 流记录过滤模块删除网络流记录表FRT中网络流记录FR相同于与所述特殊通信过滤规则 SCFR的网络流记录FR;在本发明中,所述的第二过滤规则集SFR第二方面包括P2P通信过滤规则 PPFR ;所述的P2P通信过滤规则PPFR包含所述网络流特征FFT为某一特定值;网络 流记录过滤模块删除网络流记录表FRT中网络流特征FFT相同于所述P2P通信过滤规则 PPFR的网络流记录FR。步骤5 进行网络流聚类网络流聚类模块第一方面接受防御者输入的命令与控制网络流特征集,记为 CCFFT (简称为命令与控制特征集CCFFT);网络流聚类模块第二方面利用最大最小值法MM对网络流记录表FRT中的网络 流记录FR的网络流特征FFT进行数据规格化;所述最大最小值法MM是取数据集中最小值MIN,数据集中最大值MAX,然后 数据集中的每一个数据D等于D-MIN除以MAX-MIN。网络流聚类模块第三方面对进行网络流记录表FRT中的网络流记录FR进行聚 类,将聚类中心点接近所述命令与控制特征集CCFFT中特征的一个或者多个聚类作为 P2P僵尸网络命令与控制网络流集CCS。步骤6 显示结果数据关联和结果显示模块第一方面提取所述命令与控制网络流集CCS中的源IP 地址SIP、目的IP地址DIP,记为命令与控制IP地址集IPS (简称IP地址集IPS);数据关联和结果显示模块第二方面将IP地址集IPS中的每一个IP地址表示为一 个点,在所述命令与控制网络流集CCS中每一个网络流记录FR对应的源IP地址SIP、目 的IP地址DIP之间绘制一条边;由得到的点和边构成了防御者检测到的P2P僵尸网络结 构。本发明基于网络流聚类检测P2P僵尸网络结构方法的优点在于①利用P2P僵尸网络的特点,将网络中的节点作为监控节点(watchlist),或者作 为待分析数据的过滤规则,减少了待处理的数据量。②采用网络流描绘方法,提高了基于网络流聚类检测P2P僵尸网络结构的方法 的适用性,因此既可以处理基于TCP协议的命令与控制通信,也可以处理基于UDP协议 的命令与控制通信。③本发明的方法将网络数据包过滤和网络流过滤相结合。即首先进行网络数据 包的过滤,缩减抽取网络流及其特征活动的输入数据,以提高这一活动的效率。然后再 进行网络流过滤,缩减网络流的数据规模,提高网络流聚类分析的效率。④本发明方法检测给出P2P僵尸网络结构,能够促进网络防御者对P2P僵尸网络的工作机制的理解和认识,进而提出更加有效的防御措施。
权利要求
1.一种基于网络流聚类检测P2P僵尸网络结构的方法,其特征在于该方法包括有下 列检测步骤步骤1 采集实时通信数据实时通信数据采集模块首先从被监控网络中获取该被监控网络的IP数据报IPD,并 从所述的IP数据报IPD中提取出关键字段KF = {SIP,DIP, SPT, DPT, IHL, ITL, THL,PTL};然后记录下当前采集IP数据报IPD的采集时间Tt;最后将所述的关键字段 KF = {SIP, DIP, SPT, DPT, IHL, ITL, THL, PTL}中的源 IP 地址 SIP、目的 IP 地 址DIP、源端口号SPT、目的端口号DPT、IP数据报协议字段类型PTL,以及采集时间 Tt、应用层报文长度AML表示为一条数据报记录PR存储于数据报记录表PRT中;所述 数据报记录PR按照数学中的元组形式表示为PR= (SIP,DIP, SPT, DPT, PTL, Tt, AML);步骤2 过滤数据报记录数据报记录过滤模块根据第一过滤规则集FFR过滤掉所述数据报记录表PRT中的数 据报记录PR;步骤3:抽取网络流网络流抽取模块首先接受防御者输入的超时时间间隔TO ;然后按照网络流抽取策略 FEP,根据所述采集时间Tt的先后顺序处理所述数据报记录表PRT中的数据报记录PR ;步骤4:过滤网络流记录网络流记录过滤模块根据第二过滤规则集SFR过滤掉无关的网络流记录;所述的第 二过滤规则集SFR第一方面包括特殊通信过滤规则SCFR ;所述特殊通信过滤规则SCFR 包括数据报数量PN为1、字节数量网络流记录过滤模块删除网络流记录表FRT 中网络流记录FR相同于与所述特殊通信过滤规则SCFR的网络流记录FR;第二方面包 括P2P通信过滤规则PPFR ;所述的P2P通信过滤规则PPFR包含所述网络流特征FFT为 某一特定值;网络流记录过滤模块删除网络流记录表FRT中网络流特征FFT相同于所述 P2P通信过滤规则PPFR的网络流记录FR ;步骤5:进行网络流聚类网络流聚类模块首先接受防御者输入的命令与控制特征集CCFFT ;然后利用最大最 小值法MM对网络流记录表FRT中的网络流记录FR的网络流特征FFT进行数据规格化; 最后对进行网络流记录表FRT中的网络流记录FR进行聚类,将聚类中心点接近所述命令 与控制特征集CCFFT中特征的一个或者多个聚类作为P2P僵尸网络命令与控制网络流集 CCS ;所述最大最小值法MM是取数据集中最小值MIN,数据集中最大值MAX,然后数 据集中的每一个数据D等于D-MIN除以MAX-MIN ;步骤6 显示结果数据关联和结果显示模块首先提取所述命令与控制网络流集CCS中的IP地址集 IPS;然后将IP地址集IPS中的每一个IP地址表示为一个点,在所述命令与控制网络流集 CCS中每一个网络流记录FR对应的源IP地址SIP、目的IP地址DIP之间绘制一条边; 由得到的点和边构成了防御者检测到的P2P僵尸网络结构。
2.根据权利要求1所述的基于网络流聚类检测P2P僵尸网络结构的方法,其特征在 于在步骤1中,当PTL相同于TCP协议时,利用ITL-IHL-THL来计算应用层报文长度 AML。
3.根据权利要求1所述的基于网络流聚类检测P2P僵尸网络结构的方法,其特征在 于在步骤1中,当PTL相同于UDP协议时,利用ITL-IHL-THL+8来计算应用层报文 长度AML。
4.根据权利要求1所述的基于网络流聚类检测P2P僵尸网络结构的方法,其特征在 于在步骤2中,所述的第一过滤规则集FFR第一方面包括协议类型过滤规则PFR;数 据报记录过滤模块删除数据报记录表PRT中协议字段类型PTL不同于所述协议类型过滤 规则PFR的数据报记录PR;第二方面包括白名单过滤规则WLFR ;所述白名单过滤规则 WLFR包含防御者信任的IP地址;数据报记录过滤模块删除数据报记录表PRT中源IP地 址SIP或目的IP地址DIP相同于所述白名单过滤规则WLFR的数据报记录PR ;第三方 面包括黑名单过滤规则BLFR ;所述的黑名单过滤规则BLFR包含防御者怀疑的IP地址; 数据报记录过滤模块删除数据报记录表PRT中源IP地址SIP或目的IP地址DIP不同于所 述黑名单过滤规则BLFR的数据报记录PR。
5.根据权利要求1所述的基于网络流聚类检测P2P僵尸网络结构的方法,其特征在 于在步骤3中,网络流记录FR包括源IP地址SIP、目的IP地址DIP、源端口号SPT、 目的端口号DPT、协议类型PTL、开始时间ST、结束时间ET、数据报数量PN、字节数 量BN、网络流持续时间DRT、平均每个数据报字节数量BPP、平均每秒钟数据报数量 PPS >平均每秒钟字节数量BPS;将所述网络流记录FR按照数学中的元组形式表示为FR =(SIP, DIP, SPT, DPT, PTL, ST, ET, PN, BN, DRT, BPP, PPS, BPS);所 述网络流记录FR存储于网络流记录表FRT中。
6.根据权利要求1所述的基于网络流聚类检测P2P僵尸网络结构的方法,其特征在 于在步骤3中,网络流特征FFT包括网络流持续时间DRT、平均每个数据报字节数量 BPP,平均每秒钟数据报数量PPS、平均每秒钟字节数量BPS;将所述网络流特征FFT按 照数学中的元组形式表示为FFT = (DRT,BPP, PPS, BPS)。
7.根据权利要求1所述的基于网络流聚类检测P2P僵尸网络结构的方法,其特征在 于在步骤3中,所述网络流特征FFT按照网络流特征计算策略FFTCP计算。所述网 络流特征计算策略FFTCP利用ST-ET计算所述网络流持续时间DRT,利用BN/PN计算 所述平均每个数据报字节数量BPP,利用PN/DRT计算所述平均每秒钟数据报数量PPS, 利用BN/DRT计算所述平均每秒钟字节数量BPS。
全文摘要
本发明公开了一种基于网络流聚类检测P2P僵尸网络结构的方法,该方法通过实时通信数据采集模块、数据报记录过滤模块、网络流抽取模块、网络流记录过滤模块、网络流聚类模块、数据关联和结果显示模块的顺序执行完成了对P2P僵尸网络结构的检测,其基本思想是防御者利用P2P僵尸网络节点间命令与控制通信的规律性,即持续时间、数据报数量、字节数量等具有特征,通过识别被监控网络通信数据中的命令与控制通信来确定被监控网络中的P2P僵尸网络节点和节点间的命令与控制关系,进而给出P2P僵尸网络结构;本发明的主要创新点在于通过聚类方法将具有相似特征的通信网络流聚集在一起,与命令与控制通信特征集中的特征对比,区别正常通信与P2P僵尸网络通信,从而达到检测P2P僵尸网络结构的目的。
文档编号H04L29/06GK102014025SQ201010573650
公开日2011年4月13日 申请日期2010年12月6日 优先权日2010年12月6日
发明者冯杰, 夏春和, 姚珊, 段俊锋, 王海泉 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1