欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2023101069018
申请人: 江西师范大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2023-12-11
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于双重扫描算法的DDOS攻击检测方法,其特征在于,包括:

S100.选定一段时间T,将起始时间设置为T0,将T划分成n等分个时间段,每个时间段的起始时间节点为T0、T1、…、Tn;

S200.在Ti时刻使用池塘抽样算法对边缘网关转发队列中的流量数据包进行等概率抽样,得到样本数据包,i初始值为0;

S300.统计所述样本数据包中不同的源IP个数与不同的目的IP个数,并计算所述不同的源IP个数与不同的目的IP个数的比值R;

S400.判断所述比值R是否大于等于阈值Q1,若是,则认为Ti时刻局域网中可能存在DDOS攻击,并统计所述样本数据包中SYN数据包的数量W1,转S500;若否,i=i+1,转S200;

S500.在Ti+1时刻使用池塘抽样算法对边缘网关转发队列中的流量数据包进行等概率抽样,得到抽样数据包,并统计所述抽样数据包中SYN数据包的数量W2;

S600.计算SYN数据包增值率,若所述SYN数据包增值率大于等于阈值Q2,则确定Ti时刻局域网中存在DDOS攻击,转S700;若所述SYN数据包增值率小于阈值Q2,i=i+1,转S200;

S700.提取所述抽样数据包的特征向量,对所述抽样数据包的特征向量使用双重SCAN扫描算法找到DDOS攻击的来源;

所述对所述抽样数据包的特征向量使用双重SCAN扫描算法找到DDOS攻击的来源,包括:S710.创建数据包临时队列和数据包保存队列,所述数据包临时队列和数据包保存队列均用于存储所有抽样数据包的特征向量,所述数据包临时队列和数据包保存队列大小均为M,M为大于等于1的正整数;

S720.构建窗口队列,用于存储不被控制的抽样数据包的特征向量,大小为D,D取值为

3;

S730.构建溢出队列,用于存储窗口队列溢出的抽样数据包的特征向量,所述溢出队列大小为M;

S740.构建数据包存储队列,用于存储特殊抽样数据包的特征向量,所述数据包存储队列大小为M;

S750.读取数据包临时队列中第一个抽样数据包的特征向量,将所述第一个抽样数据包的特征向量存入窗口队列中,依次扫描数据包临时队列中抽样数据包的特征向量,判断所述数据包临时队列中抽样数据包的特征向量与窗口队列内已存储的抽样数据包的特征向量是否存在第一控制关系,转S760;

S760.当扫描完数据包临时队列内所有抽样数据包的特征向量后,判断溢出队列是否为空,若是,将窗口队列中所有抽样数据包的特征向量输出并存入数据包存储队列中,初始化窗口队列为空,转S770;若否,则将第二特征向量输出并存入数据包存储队列中,并置空数据包临时队列,将溢出队列中的抽样数据包的特征向量输出并存储到数据包临时队列中,置空溢出队列,转S750;

S770.读取数据包保存队列中第一个抽样数据包的特征向量,将所述第一个抽样数据包的特征向量存入窗口队列中,依次扫描数据包保存队列中抽样数据包的特征向量,判断所述数据包保存队列中抽样数据包的特征向量与窗口队列内已存储的抽样数据包的特征向量是否存在第二控制关系,转S780;

S780.当扫描完数据包保存队列内所有抽样数据包的特征向量后,判断溢出队列是否为空,若是,将窗口队列中所有抽样数据包的特征向量输出并存入数据包存储队列中,停止扫描;若否,则将第二特征向量输出并存入数据包存储队列中,并置空数据包保存队列,将溢出队列中的抽样数据包的特征向量输出并存储到数据包保存队列中,置空溢出队列,转S770;

所述窗口队列、溢出队列和数据包存储队列均初始化为空;

所述第一控制关系是指一个抽样数据包的特征向量至少在一个维度的数据包特征大于另一个抽样数据包的特征向量相应维度的数据包特征,且其它维度的数据包特征不小于另一个抽样数据包的特征向量其它维度的数据包特征;满足所述第一控制关系则称所述另一个抽样数据包的特征向量被所述一个抽样数据包的特征向量控制;

所述第二控制关系是指一个抽样数据包的特征向量至少在一个维度的数据包特征小于另一个抽样数据包的特征向量相应维度的数据包特征,且其它维度的数据包特征不大于另一个抽样数据包的特征向量的其它维度的数据包特征;满足所述第二控制关系则称所述另一个抽样数据包的特征向量被所述一个抽样数据包的特征向量控制;

所述S750,包括:

S751.所述数据包临时队列中抽样数据包的特征向量依次和窗口队列中抽样数据包的特征向量判断是否存在第一控制关系,将被控制的抽样数据包的特征向量标记为第一特征向量;

S752.删除窗口队列中的第一特征向量,判断所述数据包临时队列中抽样数据包的特征向量是否为第一特征向量,若是,删除数据包临时队列中抽样数据包的特征向量,转S755;若否,转S753;

S753.判断窗口队列是否达到上限,若是,转S754;若否,将所述数据包临时队列中抽样数据包的特征向量储存到窗口队列中;

S754.判断窗口队列是否在初始化后第一次到达上限,若是,将所述数据包临时队列中抽样数据包的特征向量存储到溢出队列中,并将窗口队列中所有抽样数据包的特征向量标记为第二特征向量,转S755;若否,则将所述数据包临时队列中抽样数据包的特征向量存储到溢出队列中,转S755;

S755.扫描数据包临时队列中下一个抽样数据包的特征向量,转S751;

所述S770,包括:

S771.所述数据包保存队列中抽样数据包的特征向量依次和窗口队列中抽样数据包的特征向量判断是否存在第二控制关系,将被控制的抽样数据包的特征向量标记为第一特征向量;

S772.删除窗口队列中的第一特征向量,判断所述数据包保存队列中抽样数据包的特征向量是否为第一特征向量,若是,删除数据包保存队列中抽样数据包的特征向量,转S775;若否,转S773;

S773.判断窗口队列是否达到上限,若是,转S774;若否,将所述数据包保存队列中抽样数据包的特征向量储存到窗口队列中;

S774.判断窗口队列是否在初始化后第一次到达上限,若是,将所述数据包保存队列中抽样数据包的特征向量存储到溢出队列中,并将窗口队列中所有抽样数据包的特征向量标记为第二特征向量,转S775;若否,则将所述数据包保存队列中抽样数据包的特征向量存储到溢出队列中,转S775;

S775.扫描数据包保存队列中下一个抽样数据包的特征向量,转S771。

2.如权利要求1所述的一种基于双重扫描算法的DDOS攻击检测方法,其特征在于,所述S200,包括:所述流量数据包包含SYN数据包、ACK数据包、终止FIN数据包和推送PSH数据包。

3.如权利要求1所述的一种基于双重扫描算法的DDOS攻击检测方法,其特征在于,所述S600,包括:所述SYN数据包增值率的计算公式为:

其中,S表示SYN数据包增值率,W1表示样本数据包中SYN数据包的数量,W2表示抽样数据包中SYN数据包的数量,v1表示样本数据包中不同的目的IP个数,v2表示抽样数据包中不同的目的IP个数。

4.如权利要求1所述的一种基于双重扫描算法的DDOS攻击检测方法,其特征在于,所述S700,包括:所述特征向量可由流量数据包特征表示,所述流量数据包特征包括:端口号、生存时间值和流量数据包大小。

5.一种基于双重扫描算法的DDOS攻击检测系统,其特征在于,

流量包数据抽样模块:用于对不同时间段的边缘网关转发队列使用池塘抽样算法进行等概率抽样,得到样本数据包和抽样数据包;

流量包阈值判断模块:用于对样本数据包和抽样数据包进行阈值判断,判断结果包括:

可能存在DDOS攻击和确定存在DDOS攻击,并分别统计样本数据包和抽样数据包中SYN数据包的数量;

特殊流量包检测模块:用于提取所述抽样数据包的特征向量,对特征向量使用双重SCAN扫描算法找到DDOS攻击的来源;

特殊流量包输出模块:用于输出找到的DDOS攻击来源;

所述对特征向量使用双重SCAN扫描算法找到DDOS攻击的来源,包括:读取数据包临时队列中第一个抽样数据包的特征向量q,将所述第一个抽样数据包的特征向量q存入窗口队列中;依次扫描数据包临时队列中抽样数据包的特征向量p,所述数据包临时队列中抽样数据包的特征向量p依次和窗口队列中抽样数据包的特征向量比较第一控制关系,将被控制的抽样数据包的特征向量标记为第一特征向量;比较完成后删除窗口队列中的第一特征向量,若数据包临时队列中抽样数据包的特征向量为第一特征向量,删除数据包临时队列中抽样数据包的特征向量;若数据包临时队列中抽样数据包的特征向量不是第一特征向量,继续判断窗口队列是否到达上限,若到达上限且是初始化后第一次到达上限,将所述数据包临时队列中抽样数据包的特征向量存储到溢出队列中,并将窗口队列中所有抽样数据包的特征向量标记为第二特征向量,接着扫描数据包临时队列中下一个抽样数据包的特征向量;若不是第一次到达上限则将所述数据包临时队列中抽样数据包的特征向量存储到溢出队列中,扫描数据包临时队列中下一个抽样数据包的特征向量;若窗口队列没有到达上限,将所述数据包临时队列中抽样数据包的特征向量储存到窗口队列中;当扫描完数据包临时队列内所有抽样数据包的特征向量后,判断溢出队列是否为空,若是,将窗口队列中所有抽样数据包的特征向量输出并存入数据包存储队列中,初始化窗口队列为空,再读取数据包保存队列里抽样数据包的特征向量,依次扫描比较第二控制关系,直至处理完数据包保存队列里所有抽样数据包;若否,则将第二特征向量输出并存入数据包存储队列中,并置空数据包临时队列,将溢出队列中的抽样数据包的特征向量存储到数据包临时表中,置空溢出队列,再重复读取数据包临时队列里的抽样数据包的特征向量,直至处理完数据包临时队列里所有抽样数据包;

所述数据包临时队列和数据包保存队列均用于存储所有抽样数据包的特征向量,所述数据包临时队列和数据包保存队列大小均为M,M为大于等于1的正整数;

所述窗口队列用于存储不被控制的抽样数据包的特征向量,大小为D,D取值为3;

所述溢出队列用于存储窗口队列溢出的抽样数据包的特征向量,所述溢出队列大小为M;

所述数据包存储队列用于存储特殊抽样数据包的特征向量,所述数据包存储队列大小为M;

所述第一控制关系是指一个抽样数据包的特征向量至少在一个维度的数据包特征大于另一个抽样数据包的特征向量相应维度的数据包特征,且其它维度的数据包特征不小于另一个抽样数据包的特征向量其它维度的数据包特征;满足所述第一控制关系则称所述另一个抽样数据包的特征向量被所述一个抽样数据包的特征向量控制;

所述第二控制关系是指一个抽样数据包的特征向量至少在一个维度的数据包特征小于另一个抽样数据包的特征向量相应维度的数据包特征,且其它维度的数据包特征不大于另一个抽样数据包的特征向量的其它维度的数据包特征;满足所述第二控制关系则称所述另一个抽样数据包的特征向量被所述一个抽样数据包的特征向量控制。