CN115801475A - 一种基于双重扫描算法的ddos攻击检测方法及系统 - Google Patents
一种基于双重扫描算法的ddos攻击检测方法及系统 Download PDFInfo
- Publication number
- CN115801475A CN115801475A CN202310106901.8A CN202310106901A CN115801475A CN 115801475 A CN115801475 A CN 115801475A CN 202310106901 A CN202310106901 A CN 202310106901A CN 115801475 A CN115801475 A CN 115801475A
- Authority
- CN
- China
- Prior art keywords
- data packet
- queue
- sampling
- feature vector
- data packets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于双重扫描算法的DDOS攻击检测方法及系统,包括:在每个时间段分别使用池塘抽样算法对边缘网关转发队列中的流量数据包进行等概率抽样,得到样本数据包和抽样数据包;统计并计算样本数据包中不同的源IP个数与不同的目的IP个数的比值;若比值大于等于阈值Q1,认为局域网中可能存在DDOS攻击;计算SYN数据包增值率,若SYN数据包增值率大于等于阈值Q2,则认为局域网中存在DDOS攻击;提取抽样数据包的特征向量,对特征向量使用双重SCAN扫描算法找到DDOS攻击的来源;本发明能够适应动态网络环境变化,在保证检测精度的基础上提高检测效率。
Description
技术领域
本发明涉及网络安全技术领域,特别是涉及一种基于双重扫描算法的DDOS攻击检测方法及系统。
背景技术
网络发展的同时,各种各样的网络攻击也日益猖獗,这给网络信息安全带来了严重威胁。因为攻击成本低、效果明显,DDOS攻击仍是目前互联网用户面临的较常见、影响较严重的网络安全威胁之一。流量牵引技术可以很好的防御大规模DDOS攻击和避免单点故障问题。流量牵引就是将异常流量和正常流量进行分离,由抗DDOS攻击设备来专门抵抗异常流量的DDOS攻击,保证正常流量尽可能的不受到攻击的干扰,其中如何对异常流量进行检测是流量牵引技术的研究重点。
传统的异常流量检测技术大多基于数据特征和机器学习技术,首先识别和学习异常数据流的特征,然后建立相应的识别模型来检测异常流量;随着计算机技术和新一代移动通信技术的发展,网络中的数据流量爆炸性增长,传统异常流量检测方法的效率难以得到保障。对于不同边缘网关而言,需要处理的场景存在较大差异的,需要连接的物联网设备也是不同的,但是基于机器学习训练的识别模型对于边缘网关发挥异常检测功能存在一定的局限性。因此实时性强、准确率高、适应性广的异常流量检测方法对于防御大规模DDOS攻击至关重要。
现有的异常流量检测方法主要存在检测效率低下、实时性弱、准确率低,适应性差的问题。公开号为CN 102271068 A,名称为一种DOS/DDOS攻击检测方法的专利文献,提出了通过流量特征参数与历史时间窗的平均波动之比来判断异常流量的方案,该方案能满足骨干网络异常检测的实时性,但由于检测的网络流量巨大,存在检测准确率低的问题。公开号为CN 106899608 A,名称为一种确定DDOS攻击的攻击目的IP的方法及装置的专利文献,提出了将流量排序再通过阈值判断将流量累加之后找出异常流量的方案,该方案从流量排序列表中灵活确定攻击目的IP,适应性广,但由于排序和累加将耗费大量时间,存在实时性差的问题。
发明内容
为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于双重扫描算法的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攻击的来源;
所述池塘抽样算法主要步骤如下:
1)如果接受的数据流量包量小于k,则依次放入采样数组中,其中,k为从接受的数据流量包中进行等概率抽样之后所获得的流量数据包的数量;
2)当接收到第g个流量数据包,g大于等于k时,在[0,g]的范围内取一个随机数d,如果d落在了[0,k-1]的范围内,从采样数组中等概率选择一个数据并使用第g个数据进行替换,若d在[k,g]的范围内,则第g个流量数据包被舍弃;
3)重复步骤2);
假设接受的流量数据包共有n个,要保证第g个流量数据包最后被选中,除了在第g次取随机数时,保证随机数取在[0,k-1]范围内,还需要保证,后续的随机数选择时不被选中;第g次取随机数时,随机数取到[0,k-1]范围内的概率为k/g,用Pg表示;在第g+1,g+2,...,n次取随机数时,第g个流量数据包不被剔除的概率为,其中表示为第g+m个流量数据包被抽取的机率,等于Pg+m,表示第g个流量数据包被选中剔除的机率,m表示为第g次选择随机数之后的第m次选择随机数;当m等于n时,任意第g个流量数据包被抽取的机率表示为pg,计算公式如下:
进一步的,所述S200,包括:
所述流量数据包包含SYN数据包、ACK数据包、终止FIN数据包和推送PSH数据包。
进一步的,所述S600,包括:
所述SYN数据包增值率的计算公式为:
其中,S表示SYN数据包增值率,W1表示样本数据包中SYN数据包的数量,W2表示抽样数据包中SYN数据包的数量,v1表示样本数据包中不同的目的IP个数,v2表示抽样数据包中不同的目的IP个数。
进一步的,所述S700,包括:
所述特征向量可由流量数据包特征表示,所述流量数据包特征包括:端口号、生存时间值和流量数据包大小。
进一步的,所述对所述抽样数据包的特征向量使用双重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。
进一步的,一种基于双重扫描算法的DDOS攻击检测系统,其特征在于,
流量包数据抽样模块:用于对不同时间段的边缘网关转发队列使用池塘抽样算法进行等概率抽样,得到样本数据包和抽样数据包;
流量包阈值判断模块:用于对样本数据包和抽样数据包进行阈值判断,判断结果包括:可能存在DDOS攻击和确定存在DDOS攻击,并分别统计样本数据包和抽样数据包中SYN数据包的数量;
特殊流量包检测模块:用于提取所述抽样数据包的特征向量,对特征向量使用双重SCAN扫描算法找到DDOS攻击的来源;
特殊流量包输出模块:用于输出找到的DDOS攻击来源。
进一步的,所述特殊流量包检测模块,包括:
依次扫描数据包临时队列中抽样数据包的特征向量,判断所述数据包临时队列中抽样数据包的特征向量与窗口队列内已存储的抽样数据包的特征向量是否存在第一控制关系,判断完成后,扫描数据包临时队列内所有抽样数据包的特征向量,扫描完成后,判断溢出队列是否为空,若否,则将第二特征向量输出并存入数据包存储队列中,并置空数据包临时队列,将溢出队列中的抽样数据包的特征向量输出并存储到数据包临时队列中,置空溢出队列;若是,将窗口队列中所有抽样数据包的特征向量输出并存入数据包存储队列中,初始化窗口队列为空,再重复判断所述数据包保存队列中抽样数据包的特征向量与窗口队列内已存储的抽样数据包的特征向量是否存在第二控制关系,直至处理完数据包保存队列里所有抽样数据包。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1.本发明一种基于双重扫描算法的DDOS攻击检测方法及系统,将时间T划分成n等分个时间段,在每个时间段均使用池塘抽样算法对边缘网关转发队列进行抽样并检测,可以及时发现网络中存在的DDOS攻击,保证了DDOS攻击检测的及时性。
2.因为异常流量往往具有连续性并且数据传输信道中的数据包规模是不可预估的,采用等概率抽样可以在保证检测精度的基础上大大降低检测时间。
3.利用源IP总数与目的IP总数的比值和统计两次SYN数据包的数量判断局域网中是否存在DDOS攻击,这种递进的方式能够适应动态变化的网络环境。
4.利用基于双重SCAN扫描算法的方法可以提高检测效率,加强检测的实时性,并且双重SCAN扫描算法的可移植性很强,可以适用于大多数使用场景,能够得到广泛的应用。
附图说明
图1是本发明提供的一种基于双重扫描算法的DDOS攻击检测方法的流程图。
图2是本发明提供的一种基于双重扫描算法的DDOS攻击检测方法的系统流程图。
图3是本发明提供的一种基于双重扫描算法的DDOS攻击检测系统的结构图。
实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但本发明还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本发明的一部分实施例,而不是全部的实施例。
图1是本发明实施例提供的一种基于双重扫描算法的DDOS攻击检测方法的流程图,该方法包括:
S100.选定一段时间T,将起始时间设置为T0,将T划分成n等分个时间段,每个时间段的起始时间节点为T0、T1、…、Tn;
S200.在Ti时刻使用池塘抽样算法对边缘网关转发队列中的流量数据包进行等概率抽样,得到样本数据包,i初始值为0;
所述池塘抽样算法主要步骤如下:
1)如果接受的数据流量包数量小于k,则依次放入采样数组中,其中,k为从接受的数据流量包中进行等概率抽样之后所获得的流量数据包的数量;
2)当接收到第g个流量数据包,g大于等于k时,在[0,g]的范围内取一个随机数d,如果d落在了[0,k-1]的范围内,从采样数组中等概率选择一个数据并使用第g个数据进行替换,若d在[k,g]的范围内,则第g个流量数据包被舍弃;
3)重复步骤2);
假设接受的流量数据包共有n个,要保证第g个流量数据包最后被选中,除了在第g次取随机数时,保证随机数取在[0,k-1]范围内,还需要保证,后续的随机数选择时不被选中。第g次取随机数时,随机数取到[0,k-1]范围内的概率为k/g,用Pg表示。在第g+1,g+2,...,n次取随机数时,第g个流量数据包不被剔除的概率为,其中表示为第g+m个流量数据包被抽取的机率,等于Pg+m,表示第g个流量数据包被选中剔除的机率,m表示为第g次选择随机数之后的第m次选择随机数。当m等于n时,任意第g个流量数据包被抽取的机率表示为pg,计算公式如下:
进一步的,所述S200,包括:
所述流量数据包包含SYN数据包、ACK数据包、终止FIN数据包和推送PSH数据包。
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。
进一步的,所述S600,包括:
所述SYN数据包增值率的计算公式为:
其中,S表示SYN数据包增值率,W1表示样本数据包中SYN数据包的数量,W2表示抽样数据包中SYN数据包的数量,v1表示样本数据包中不同的目的IP个数,v2表示抽样数据包中不同的目的IP个数。
S700.提取所述抽样数据包的特征向量,对所述抽样数据包的特征向量使用双重SCAN扫描算法找到DDOS攻击的来源。
进一步的,参考图2,所述S700,包括:
所述特征向量可由流量数据包特征表示,所述流量数据包特征包括:端口号、生存时间值和流量数据包大小。
进一步的,所述对所述抽样数据包的特征向量使用双重SCAN扫描算法找到DDOS攻击的来源,包括:
S710.创建数据包临时队列和数据包保存队列,所述数据包临时队列和数据包保存队列均用于存储所有抽样数据包的特征向量,所述数据包临时队列和数据包保存队列大小均为M,M为大于等于1的正整数;
S720.构建窗口队列,用于存储不被控制的抽样数据包的特征向量,大小为D,D取值为3;
S730.构建溢出队列,用于存储窗口队列溢出的抽样数据包的特征向量,所述溢出队列大小为M;
S740.构建数据包存储队列,用于存储特殊抽样数据包的特征向量,所述数据包存储队列大小为M;
所述窗口队列、溢出队列和数据包存储队列均初始化为空;
S750.读取数据包临时队列中第一个抽样数据包的特征向量,将所述第一个抽样数据包的特征向量存入窗口队列中,依次扫描数据包临时队列中抽样数据包的特征向量,判断所述数据包临时队列中抽样数据包的特征向量与窗口队列内已存储的抽样数据包的特征向量是否存在第一控制关系,转S760;
所述第一控制关系是指一个抽样数据包的特征向量至少在一个维度的数据包特征大于另一个抽样数据包的特征向量相应维度的数据包特征,且其它维度的数据包特征不小于另一个抽样数据包的特征向量其它维度的数据包特征;满足所述第一控制关系则称所述另一个抽样数据包的特征向量被所述一个抽样数据包的特征向量控制。
进一步的,所述S750,包括:
S751.所述数据包临时队列中抽样数据包的特征向量依次和窗口队列中抽样数据包的特征向量判断是否存在第一控制关系,将被控制的抽样数据包的特征向量标记为第一特征向量;
S752.删除窗口队列中的第一特征向量,判断所述数据包临时队列中抽样数据包的特征向量是否为第一特征向量,若是,删除数据包临时队列中抽样数据包的特征向量,转S755;若否,转S753;
S753.判断窗口队列是否达到上限,若是,转S754;若否,将所述数据包临时队列中抽样数据包的特征向量储存到窗口队列中;
S754.判断窗口队列是否在初始化后第一次到达上限,若是,将所述数据包临时队列中抽样数据包的特征向量存储到溢出队列中,并将窗口队列中所有抽样数据包的特征向量标记为第二特征向量,转S755;若否,则将所述数据包临时队列中抽样数据包的特征向量存储到溢出队列中,转S755;
S755.扫描数据包临时队列中下一个抽样数据包的特征向量,转S751。
S760.当扫描完数据包临时队列内所有抽样数据包的特征向量后,判断溢出队列是否为空,若是,将窗口队列中所有抽样数据包的特征向量输出并存入数据包存储队列中,初始化窗口队列为空,转S770;若否,则将第二特征向量输出并存入数据包存储队列中,并置空数据包临时队列,将溢出队列中的抽样数据包的特征向量输出并存储到数据包临时队列中,置空溢出队列,转S750;
S770.读取数据包保存队列中第一个抽样数据包的特征向量,将所述第一个抽样数据包的特征向量存入窗口队列中,依次扫描数据包保存队列中抽样数据包的特征向量,判断所述数据包保存队列中抽样数据包的特征向量与窗口队列内已存储的抽样数据包的特征向量是否存在第二控制关系,转S780;
所述第二控制关系是指一个抽样数据包的特征向量至少在一个维度的数据包特征小于另一个抽样数据包的特征向量相应维度的数据包特征,且其它维度的数据包特征不大于另一个抽样数据包的特征向量的其它维度的数据包特征;满足所述第二控制关系则称所述另一个抽样数据包的特征向量被所述一个抽样数据包的特征向量控制。
进一步的,所述S770,包括:
S771.所述数据包保存队列中抽样数据包的特征向量依次和窗口队列中抽样数据包的特征向量判断是否存在第二控制关系,将被控制的抽样数据包的特征向量标记为第一特征向量;
S772.删除窗口队列中的第一特征向量,判断所述数据包保存队列中抽样数据包的特征向量是否为第一特征向量,若是,删除数据包保存队列中抽样数据包的特征向量,转S775;若否,转S773;
S773.判断窗口队列是否达到上限,若是,转S774;若否,将所述数据包保存队列中抽样数据包的特征向量储存到窗口队列中;
S774.判断窗口队列是否在初始化后第一次到达上限,若是,将所述数据包保存队列中抽样数据包的特征向量存储到溢出队列中,并将窗口队列中所有抽样数据包的特征向量标记为第二特征向量,转S775;若否,则将所述数据包保存队列中抽样数据包的特征向量存储到溢出队列中,转S775;
S775.扫描数据包保存队列中下一个抽样数据包的特征向量,转S771。
S780.当扫描完数据包保存队列内所有抽样数据包的特征向量后,判断溢出队列是否为空,若是,将窗口队列中所有抽样数据包的特征向量输出并存入数据包存储队列中,停止扫描;若否,则将第二特征向量输出并存入数据包存储队列中,并置空数据包保存队列,将溢出队列中的抽样数据包的特征向量输出并存储到数据包保存队列中,置空溢出队列,转S770。
读取数据包临时队列中第一个抽样数据包的特征向量q,将所述第一个抽样数据包的特征向量q存入窗口队列中;依次扫描数据包临时队列中抽样数据包的特征向量p,所述数据包临时队列中抽样数据包的特征向量p依次和窗口队列中抽样数据包的特征向量比较第一控制关系,将被控制的抽样数据包的特征向量标记为第一特征向量;比较完成后删除窗口队列中的第一特征向量,若数据包临时队列中抽样数据包的特征向量为第一特征向量,删除数据包临时队列中抽样数据包的特征向量;若数据包临时队列中抽样数据包的特征向量不是第一特征向量,继续判断窗口队列是否到达上限,若到达上限且是初始化后第一次到达上限,将所述数据包临时队列中抽样数据包的特征向量存储到溢出队列中,并将窗口队列中所有抽样数据包的特征向量标记为第二特征向量,接着扫描数据包临时队列中下一个抽样数据包的特征向量;若不是第一次到达上限则将所述数据包临时队列中抽样数据包的特征向量存储到溢出队列中,扫描数据包临时队列中下一个抽样数据包的特征向量;若窗口队列没有到达上限,将所述数据包临时队列中抽样数据包的特征向量储存到窗口队列中;当扫描完数据包临时队列内所有抽样数据包的特征向量后,判断溢出队列是否为空,若是,将窗口队列中所有抽样数据包的特征向量输出并存入数据包存储队列中,初始化窗口队列为空,再读取数据包保存队列里抽样数据包的特征向量,依次扫描比较第二控制关系,直至处理完数据包保存队列里所有抽样数据包;若否,则将第二特征向量输出并存入数据包存储队列中,并置空数据包临时队列,将溢出队列中的抽样数据包的特征向量存储到数据包临时表中,置空溢出队列,再重复读取数据包临时队列里的抽样数据包的特征向量,直至处理完数据包临时队列里所有抽样数据包。
下面对本发明实施例提供的一种基于双重扫描算法的DDOS攻击检测系统进行介绍,下文描述的一种基于双重扫描算法的DDOS攻击检测系统与上文描述的一种基于双重扫描算法的DDOS攻击检测方法可互相对应参照。
参考图3,一种基于双重扫描算法的DDOS攻击检测系统包括:
流量包数据抽样模块:用于对不同时间段的边缘网关转发队列使用池塘抽样算法进行等概率抽样,得到样本数据包和抽样数据包;
流量包阈值判断模块:用于对样本数据包和抽样数据包进行阈值判断,判断结果包括:可能存在DDOS攻击和确定存在DDOS攻击,并分别统计样本数据包和抽样数据包中SYN数据包的数量;
特殊流量包检测模块:用于提取所述抽样数据包的特征向量,对特征向量使用双重SCAN扫描算法找到DDOS攻击的来源;
特殊流量包输出模块:用于输出找到的DDOS攻击来源。
进一步的,所述特殊流量包检测模块,包括:
依次扫描数据包临时队列中抽样数据包的特征向量,判断所述数据包临时队列中抽样数据包的特征向量与窗口队列内已存储的抽样数据包的特征向量是否存在第一控制关系,判断完成后,扫描数据包临时队列内所有抽样数据包的特征向量,扫描完成后,判断溢出队列是否为空,若否,则将第二特征向量输出并存入数据包存储队列中,并置空数据包临时队列,将溢出队列中的抽样数据包的特征向量输出并存储到数据包临时队列中,置空溢出队列;若是,将窗口队列中所有抽样数据包的特征向量输出并存入数据包存储队列中,初始化窗口队列为空,再重复判断所述数据包保存队列中抽样数据包的特征向量与窗口队列内已存储的抽样数据包的特征向量是否存在第二控制关系,直至处理完数据包保存队列里所有抽样数据包。
流量包数据抽样模块分别对Ti和Ti+1时刻的边缘网关转发队列使用池塘抽样算法进行等概率抽样,得到样本数据包和抽样数据包;然后通过流量包阈值判断模块对样本数据包和抽样数据包进行阈值判断,判断结果包括:可能存在DDOS攻击和存在DDOS攻击,接着通过特殊流量包检测模块提取抽样数据包的特征向量,对特征向量使用双重SCAN扫描算法找到DDOS攻击的来源,包括:依次扫描数据包临时队列中抽样数据包的特征向量,判断所述数据包临时队列中抽样数据包的特征向量与窗口队列内已存储的抽样数据包的特征向量是否存在第一控制关系,判断完成后,扫描数据包临时队列内所有抽样数据包的特征向量,扫描完成后,判断溢出队列是否为空,若否,则将第二特征向量输出并存入数据包存储队列中,并置空数据包临时队列,将溢出队列中的抽样数据包的特征向量输出并存储到数据包临时队列中,置空溢出队列;若是,将窗口队列中所有抽样数据包的特征向量输出并存入数据包存储队列中,初始化窗口队列为空,再重复判断所述数据包保存队列中抽样数据包的特征向量与窗口队列内已存储的抽样数据包的特征向量是否存在第二控制关系,直至处理完数据包保存队列里所有抽样数据包;最后通过特殊流量包输出模块输出DDOS攻击的来源。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
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攻击的来源。
2.如权利要求1所述的一种基于双重扫描算法的DDOS攻击检测方法,其特征在于,所述S200,包括:
所述流量数据包包含SYN数据包、ACK数据包、终止FIN数据包和推送PSH数据包。
4.如权利要求1所述的一种基于双重扫描算法的DDOS攻击检测方法,其特征在于,所述S700,包括:
所述特征向量可由流量数据包特征表示,所述流量数据包特征包括:端口号、生存时间值和流量数据包大小。
5.如权利要求1所述的一种基于双重扫描算法的DDOS攻击检测方法,其特征在于,所述对所述抽样数据包的特征向量使用双重SCAN扫描算法找到DDOS攻击的来源,包括:
S710.创建数据包临时队列和数据包保存队列,所述数据包临时队列和数据包保存队列均用于存储所有抽样数据包的特征向量,所述数据包临时队列和数据包保存队列大小均为M,M为大于等于1的正整数;
S720.构建窗口队列,用于存储不被控制的抽样数据包的特征向量,大小为D,D取值为3;
S730.构建溢出队列,用于存储窗口队列溢出的抽样数据包的特征向量,所述溢出队列大小为M;
S740.构建数据包存储队列,用于存储特殊抽样数据包的特征向量,所述数据包存储队列大小为M;
S750.读取数据包临时队列中第一个抽样数据包的特征向量,将所述第一个抽样数据包的特征向量存入窗口队列中,依次扫描数据包临时队列中抽样数据包的特征向量,判断所述数据包临时队列中抽样数据包的特征向量与窗口队列内已存储的抽样数据包的特征向量是否存在第一控制关系,转S760;
S760.当扫描完数据包临时队列内所有抽样数据包的特征向量后,判断溢出队列是否为空,若是,将窗口队列中所有抽样数据包的特征向量输出并存入数据包存储队列中,初始化窗口队列为空,转S770;若否,则将第二特征向量输出并存入数据包存储队列中,并置空数据包临时队列,将溢出队列中的抽样数据包的特征向量输出并存储到数据包临时队列中,置空溢出队列,转S750;
S770.读取数据包保存队列中第一个抽样数据包的特征向量,将所述第一个抽样数据包的特征向量存入窗口队列中,依次扫描数据包保存队列中抽样数据包的特征向量,判断所述数据包保存队列中抽样数据包的特征向量与窗口队列内已存储的抽样数据包的特征向量是否存在第二控制关系,转S780;
S780.当扫描完数据包保存队列内所有抽样数据包的特征向量后,判断溢出队列是否为空,若是,将窗口队列中所有抽样数据包的特征向量输出并存入数据包存储队列中,停止扫描;若否,则将第二特征向量输出并存入数据包存储队列中,并置空数据包保存队列,将溢出队列中的抽样数据包的特征向量输出并存储到数据包保存队列中,置空溢出队列,转S770;
所述窗口队列、溢出队列和数据包存储队列均初始化为空;
所述第一控制关系是指一个抽样数据包的特征向量至少在一个维度的数据包特征大于另一个抽样数据包的特征向量相应维度的数据包特征,且其它维度的数据包特征不小于另一个抽样数据包的特征向量其它维度的数据包特征;满足所述第一控制关系则称所述另一个抽样数据包的特征向量被所述一个抽样数据包的特征向量控制;
所述第二控制关系是指一个抽样数据包的特征向量至少在一个维度的数据包特征小于另一个抽样数据包的特征向量相应维度的数据包特征,且其它维度的数据包特征不大于另一个抽样数据包的特征向量的其它维度的数据包特征;满足所述第二控制关系则称所述另一个抽样数据包的特征向量被所述一个抽样数据包的特征向量控制。
6.如权利要求5所述的一种基于双重扫描算法的DDOS攻击检测方法,其特征在于,所述S750,包括:
S751.所述数据包临时队列中抽样数据包的特征向量依次和窗口队列中抽样数据包的特征向量判断是否存在第一控制关系,将被控制的抽样数据包的特征向量标记为第一特征向量;
S752.删除窗口队列中的第一特征向量,判断所述数据包临时队列中抽样数据包的特征向量是否为第一特征向量,若是,删除数据包临时队列中抽样数据包的特征向量,转S755;若否,转S753;
S753.判断窗口队列是否达到上限,若是,转S754;若否,将所述数据包临时队列中抽样数据包的特征向量储存到窗口队列中;
S754.判断窗口队列是否在初始化后第一次到达上限,若是,将所述数据包临时队列中抽样数据包的特征向量存储到溢出队列中,并将窗口队列中所有抽样数据包的特征向量标记为第二特征向量,转S755;若否,则将所述数据包临时队列中抽样数据包的特征向量存储到溢出队列中,转S755;
S755.扫描数据包临时队列中下一个抽样数据包的特征向量,转S751。
7.如权利要求5所述的一种基于双重扫描算法的DDOS攻击检测方法,其特征在于,所述S770,包括:
S771.所述数据包保存队列中抽样数据包的特征向量依次和窗口队列中抽样数据包的特征向量判断是否存在第二控制关系,将被控制的抽样数据包的特征向量标记为第一特征向量;
S772.删除窗口队列中的第一特征向量,判断所述数据包保存队列中抽样数据包的特征向量是否为第一特征向量,若是,删除数据包保存队列中抽样数据包的特征向量,转S775;若否,转S773;
S773.判断窗口队列是否达到上限,若是,转S774;若否,将所述数据包保存队列中抽样数据包的特征向量储存到窗口队列中;
S774.判断窗口队列是否在初始化后第一次到达上限,若是,将所述数据包保存队列中抽样数据包的特征向量存储到溢出队列中,并将窗口队列中所有抽样数据包的特征向量标记为第二特征向量,转S775;若否,则将所述数据包保存队列中抽样数据包的特征向量存储到溢出队列中,转S775;
S775.扫描数据包保存队列中下一个抽样数据包的特征向量,转S771。
8.一种基于双重扫描算法的DDOS攻击检测系统,其特征在于,
流量包数据抽样模块:用于对不同时间段的边缘网关转发队列使用池塘抽样算法进行等概率抽样,得到样本数据包和抽样数据包;
流量包阈值判断模块:用于对样本数据包和抽样数据包进行阈值判断,判断结果包括:可能存在DDOS攻击和确定存在DDOS攻击,并分别统计样本数据包和抽样数据包中SYN数据包的数量;
特殊流量包检测模块:用于提取所述抽样数据包的特征向量,对特征向量使用双重SCAN扫描算法找到DDOS攻击的来源;
特殊流量包输出模块:用于输出找到的DDOS攻击来源。
9.如权利要求8所述的一种基于双重扫描算法的DDOS攻击检测系统,其特征在于,所述特殊流量包检测模块,包括:
依次扫描数据包临时队列中抽样数据包的特征向量,判断所述数据包临时队列中抽样数据包的特征向量与窗口队列内已存储的抽样数据包的特征向量是否存在第一控制关系,判断完成后,扫描数据包临时队列内所有抽样数据包的特征向量,扫描完成后,判断溢出队列是否为空,若否,则将第二特征向量输出并存入数据包存储队列中,并置空数据包临时队列,将溢出队列中的抽样数据包的特征向量输出并存储到数据包临时队列中,置空溢出队列;若是,将窗口队列中所有抽样数据包的特征向量输出并存入数据包存储队列中,初始化窗口队列为空,再重复判断所述数据包保存队列中抽样数据包的特征向量与窗口队列内已存储的抽样数据包的特征向量是否存在第二控制关系,直至处理完数据包保存队列里所有抽样数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310106901.8A CN115801475B (zh) | 2023-02-14 | 2023-02-14 | 一种基于双重扫描算法的ddos攻击检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310106901.8A CN115801475B (zh) | 2023-02-14 | 2023-02-14 | 一种基于双重扫描算法的ddos攻击检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115801475A true CN115801475A (zh) | 2023-03-14 |
CN115801475B CN115801475B (zh) | 2023-04-28 |
Family
ID=85430979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310106901.8A Active CN115801475B (zh) | 2023-02-14 | 2023-02-14 | 一种基于双重扫描算法的ddos攻击检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115801475B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117411731A (zh) * | 2023-12-15 | 2024-01-16 | 江西师范大学 | 一种基于lof算法的加密ddos流量异常检测方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120036579A1 (en) * | 2010-08-03 | 2012-02-09 | Lee Chang-Yong | System and method for detecting abnormal sip traffic on voip network |
CN111212096A (zh) * | 2020-01-02 | 2020-05-29 | 杭州圆石网络安全技术有限公司 | 一种降低idc防御成本的方法、装置、存储介质和计算机 |
WO2020143119A1 (zh) * | 2019-01-08 | 2020-07-16 | 深圳大学 | 物联网DDoS攻击防御方法、装置、系统及存储介质 |
CN111756685A (zh) * | 2020-05-15 | 2020-10-09 | 长沙市智为信息技术有限公司 | 一种基于假设检验的ddos攻击检测方法 |
US10916351B1 (en) * | 2019-11-25 | 2021-02-09 | Korea Internet & Security Agency | Method and apparatus for identifying the type of cyber-attack against IoT devices |
CN113872962A (zh) * | 2021-09-24 | 2021-12-31 | 东南大学 | 一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法 |
WO2022088405A1 (zh) * | 2020-10-28 | 2022-05-05 | 杭州安恒信息技术股份有限公司 | 一种网络安全防护方法、装置及系统 |
CN114510358A (zh) * | 2022-01-19 | 2022-05-17 | 北京金山云网络技术有限公司 | 漏洞扫描方法、装置及分布式漏洞扫描系统 |
CN115296919A (zh) * | 2022-08-15 | 2022-11-04 | 江西师范大学 | 一种边缘网关对特殊流量包计算方法及系统 |
-
2023
- 2023-02-14 CN CN202310106901.8A patent/CN115801475B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120036579A1 (en) * | 2010-08-03 | 2012-02-09 | Lee Chang-Yong | System and method for detecting abnormal sip traffic on voip network |
WO2020143119A1 (zh) * | 2019-01-08 | 2020-07-16 | 深圳大学 | 物联网DDoS攻击防御方法、装置、系统及存储介质 |
US10916351B1 (en) * | 2019-11-25 | 2021-02-09 | Korea Internet & Security Agency | Method and apparatus for identifying the type of cyber-attack against IoT devices |
CN111212096A (zh) * | 2020-01-02 | 2020-05-29 | 杭州圆石网络安全技术有限公司 | 一种降低idc防御成本的方法、装置、存储介质和计算机 |
CN111756685A (zh) * | 2020-05-15 | 2020-10-09 | 长沙市智为信息技术有限公司 | 一种基于假设检验的ddos攻击检测方法 |
WO2022088405A1 (zh) * | 2020-10-28 | 2022-05-05 | 杭州安恒信息技术股份有限公司 | 一种网络安全防护方法、装置及系统 |
CN113872962A (zh) * | 2021-09-24 | 2021-12-31 | 东南大学 | 一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法 |
CN114510358A (zh) * | 2022-01-19 | 2022-05-17 | 北京金山云网络技术有限公司 | 漏洞扫描方法、装置及分布式漏洞扫描系统 |
CN115296919A (zh) * | 2022-08-15 | 2022-11-04 | 江西师范大学 | 一种边缘网关对特殊流量包计算方法及系统 |
Non-Patent Citations (2)
Title |
---|
XINGHONG JIANG: "An Encrypted Abnormal Stream Detection Method Based on Improved Skyline Computation" * |
吴桦;陈廷政;: "SDN环境中基于端址跳变的DDoS防御方法" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117411731A (zh) * | 2023-12-15 | 2024-01-16 | 江西师范大学 | 一种基于lof算法的加密ddos流量异常检测方法 |
CN117411731B (zh) * | 2023-12-15 | 2024-03-01 | 江西师范大学 | 一种基于lof算法的加密ddos流量异常检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115801475B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111935170B (zh) | 一种网络异常流量检测方法、装置及设备 | |
CN109120630B (zh) | 一种基于优化BP神经网络的SDN网络DDoS攻击检测方法 | |
CN111107102A (zh) | 基于大数据实时网络流量异常检测方法 | |
CN101848222B (zh) | 互联网深度报文检测方法和装置 | |
CN115801475A (zh) | 一种基于双重扫描算法的ddos攻击检测方法及系统 | |
CN115296919B (zh) | 一种边缘网关对特殊流量包计算方法及系统 | |
CN113489674B (zh) | 一种面向物联网系统的恶意流量智能检测方法及应用 | |
CN113821793B (zh) | 基于图卷积神经网络的多阶段攻击场景构建方法及系统 | |
CN101729389A (zh) | 基于流量预测和可信网络地址学习的流量控制装置和方法 | |
CN112434298B (zh) | 一种基于自编码器集成的网络威胁检测系统 | |
CN111600876B (zh) | 一种基于mfopa算法的慢速拒绝服务攻击检测方法 | |
CN107370752A (zh) | 一种高效的远控木马检测方法 | |
CN110381509B (zh) | 一种适用于动态连接场景的联合认证方法和服务器 | |
CN107566192A (zh) | 一种异常流量处理方法及网管设备 | |
CN103281291B (zh) | 一种基于Hadoop的应用层协议识别方法 | |
CN111600877A (zh) | 一种基于MF-Ada算法的LDoS攻击检测方法 | |
CN112788039B (zh) | 一种DDoS攻击识别方法、装置及存储介质 | |
CN109639654A (zh) | 一种基于自适应过滤模型识别tcp异常流量的方法 | |
CN113676475A (zh) | 一种基于XGBoost的端口扫描恶意流量的检测方法 | |
CN113162939A (zh) | 一种基于改进k近邻算法的SDN下DDoS攻击的检测防御系统 | |
CN109787996B (zh) | 雾计算中一种基于dql算法的伪装攻击检测方法 | |
CN112134847A (zh) | 基于用户流量行为基线的攻击检测方法 | |
CN110650157A (zh) | 基于集成学习的Fast-flux域名检测方法 | |
CN112953956B (zh) | 一种基于主被动结合的反射放大器识别方法 | |
CN108174379A (zh) | 基于支持向量机和阈值筛选的恶意用户识别方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |