一种基于KPCA算法的SYNFlood攻击检测方法及系统与流程
未命名
07-22
阅读:82
评论:0

一种基于kpca算法的syn flood攻击检测方法及系统
技术领域
1.本发明属于网络安全领域,尤其涉及一种基于kpca算法的syn flood攻击检测方法及系统。
背景技术:
2.syn flood攻击是一种常见的ddos攻击方式,攻击者利用tcp半连接状态机中的漏洞,向目标服务器发送大量的syn请求握手,导致服务器资源被消耗殆尽而无法正常工作。
3.目前主要通过分类算法来实现对syn flood攻击的检测,但是在实际的应用过程中,若想实现对syn flood攻击的检测,需要大量的数据,且syn flood攻击具有高度的隐蔽性,攻击流量与正常流量之间的差别不明显,所以如何从大量的数据中筛选出能够表征syn flood攻击的数据,剔除冗余数据,是目前syn flood攻击检测工作的关键技术问题。
技术实现要素:
4.为了解决或者改善上述问题,本发明提供了一种基于kpca算法的syn flood攻击检测方法及系统,具体技术方案如下:
5.本发明提供了一种基于kpca算法的syn flood攻击检测方法,包括:
6.步骤1:收集历史tcp连接数据。步骤2:对所述历史tcp连接数据中的数据进行数据预处理,构建tcp连接特征向量,生成初始数据集,并将所述初始数据集划分为训练集和测试集,所述预处理包括去噪处理、标准化处理。步骤3:利用kpca算法对构建好的所述tcp连接特征向量进行特征提取,提取出低维空间中的主成分特征向量。步骤4:利用提取到的所述主成分特征向量、所述训练集以及测试集对分类器模型进行训练与优化,所述分类器模型用于区分正常tcp连接与异常tcp连接。步骤5:获取目标网络的实时tcp连接数据,将所述实时tcp连接数据输入到完成优化和训练中的所述分类器模型中,得到syn flood攻击的检测结果,所述检测结果包括:发生syn flood攻击和未发生syn flood攻击。
7.优选的,一种基于kpca算法的syn flood攻击检测方法,还包括:
8.步骤6:当所述检测结果为发生syn flood攻击:发出攻击警告,将此次攻击记录在日志中,并跳转执行步骤5;当所述检测结果为未发生syn flood攻击:跳转执行步骤5。
9.优选的,所述步骤1,包括:
10.所述历史tcp连接数据包括时间戳、源ip、目的ip、源端口以及目的端口;利用数据包嗅探器完成所述历史tcp连接数据的收集。
11.优选的,所述步骤2中的预处理,包括:
12.所述去噪处理,包括去除所述历史tcp连接数据中的重复数据、去除无效数据;所述标准化处理,包括对所述历史tcp连接数据的单位和规格转化为预设的标准单位和规格。
13.优选的,所述步骤3,包括以下子步骤:
14.步骤301:利用核函数对所述tcp连接特征向量进行映射处理以生成核矩阵k。步骤302:对所述核矩阵k进行归一化处理,得到矩阵k
′
。步骤303:求解所述矩阵k
′
,得到所述矩
阵k
′
的矩阵特征值以及矩阵特征向量。步骤304:将所述矩阵特征向量根据对应的核矩阵特征值的大小,以从大到小的顺序按行排列成矩阵k”。步骤305:取所述矩阵k”前p行,组成降维后的数据矩阵p,所述矩阵p为所述tcp连接特征向量进行特征提取的结果。
15.优选的,所述步骤4中对分类器模型进行训练与优化,包括:
16.步骤401:将提取到的所述主成分特征向量作为支持向量机算法的输入,以高斯核函数作为支持向量机算法的核函数,构建出所述分类器模型。步骤402:利用所述测试集训练构建好的所述分类器模型,实现通过分类器模型区分正常tcp连接与异常tcp连接。步骤403:使用测试集检验分类器的性能,根据评估指标对所述分类器模型进行参数的调整。
17.优选的,所述步骤403,包括:
18.所述评估指标,包括的精确率和召回率;所述参数,包括c值,所述c值为分类器对错误分类样本的敏感程度。
19.基于相同的发明构思,本发明还提出一种基于kpca算法的syn flood攻击检测系统,其特征在于,包括:
20.数据收集单元:用于收集历史tcp连接数据;
21.数据处理单元:对所述历史tcp连接数据中的数据进行数据预处理,构建tcp连接特征向量,所述预处理包括去噪处理、标准化处理,生成初始数据集,并将所述初始数据集划分为训练集和测试集;
22.主成分特征向量提取单元:用于利用kpca算法对构建好的所述tcp连接特征向量进行特征提取,提取出低维空间中的主成分特征向量;
23.分类器训练单元:用于利用提取到的所述主成分特征向量、所述训练集以及测试集对分类器模型进行训练与优化,所述分类器模型用于区分正常tcp连接与异常tcp连接;
24.攻击检测单元:用于获取目标网络的实时tcp连接数据,将所述实时tcp连接数据输入到完成优化和训练中的所述分类器模型中,得到syn flood攻击的检测结果。
25.所述检测结果包括:发生syn flood攻击和未发生syn flood攻击。
26.优选的,一种基于kpca算法的syn flood攻击检测系统,还包括:警告单元。当所述检测结果为发生syn flood攻击时:用于发出攻击警告,将此次攻击记录在日志中,并将执行命令发送至所述攻击检测单元;当所述检测结果为未发生syn flood攻击时:用于将执行命令发送至所述攻击检测单元。
27.本发明的有益效果为:本发明基于kpca的syn flood攻击检测方法,通过对tcp连接特征数据进行分类和聚类分析,从而实现对syn flood攻击的观测和分析,降低计算成本,提高分类器分类结果的效率和准确率,保障网络的安全运行。
附图说明
28.图1是根据本发明一实施例提供的一种基于kpca算法的syn flood攻击检测方法的流程图。
29.图2是根据本发明另一实施例提供的一种基于kpca算法的syn flood攻击检测方法的流程图。
30.图3是根据本发明另一实施例提供的一种基于kpca算法的syn flood攻击检测系统的系统原理框图。
31.图4是根据本发明另一实施例提供的一种基于kpca算法的syn flood攻击检测系统的系统原理框图。
具体实施方式
32.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
34.还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
35.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
36.实施例1
37.本发明提出如图1所示的一种基于kpca算法的syn flood攻击检测方法,包括如下步骤:
38.步骤1:收集历史tcp连接数据。
39.所述历史tcp连接数据包括时间戳、源ip、目的ip、源端口以及目的端口,具体的,利用数据包嗅探器完成所述历史tcp连接数据的收集。
40.步骤2:对所述历史tcp连接数据中的数据进行数据预处理,构建tcp连接特征向量,生成初始数据集,并将所述初始数据集划分为训练集和测试集。所述预处理包括去噪处理、标准化处理。
41.具体的,所述去噪处理:包括去除所述历史tcp连接数据中的重复数据、去除无效数据。所述标准化处理,包括对所述历史tcp连接数据的单位和规格转化为预设的标准单位和规格。例如:将时间戳转化为标准的时间格式,将ip地址规范化为标准的长整型数值等,以使数据之间具有可比性和可理解性。在划分训练集和测试集时,保证训练集和测试集中的样本分布相似。
42.步骤3:利用kpca算法对构建好的所述tcp连接特征向量进行特征提取,提取出低维空间中的主成分特征向量;
43.具体的,步骤3包括以下子步骤:
44.步骤301:利用核函数对所述tcp连接特征向量进行映射处理以生成核矩阵k。
45.步骤302:对所述核矩阵k进行归一化处理,使核矩阵更加聚集,得到矩阵k
′
。
46.步骤303:求解所述矩阵k
′
,得到所述矩阵k
′
的矩阵特征值以及矩阵特征向量。
47.步骤304:将所述矩阵特征向量根据对应的核矩阵特征值的大小,以从大到小的顺序按行排列成矩阵k”。
48.步骤305:取所述矩阵k”前p行,组成降维后的数据矩阵p,所述矩阵p为所述tcp连
接特征向量进行特征提取的结果。
49.在实际应用中不同的tcp连接特征向量对syn flood攻击检测的贡献率不同,选取前p个贡献度较高的tcp连接特征向量作为保留特征,p的取值需要根据实际的要求进行确定,本发明对p的具体取值并不作限定。
50.步骤4:利用提取到的所述主成分特征向量、所述训练集以及测试集对分类器模型进行训练与优化,所述分类器模型用于区分正常tcp连接与异常tcp连接。
51.具体的,所述步骤4包括以下子步骤:
52.步骤401:将提取到的所述主成分特征向量作为支持向量机算法的输入,以高斯核函数作为支持向量机算法的核函数,构建出所述分类器模型;
53.步骤402:利用所述测试集训练构建好的所述分类器模型,实现通过分类器模型区分正常tcp连接与异常tcp连接;
54.步骤403:使用测试集检验分类器的性能,根据评估指标对所述分类器模型进行参数的调整。
55.具体的:所述评估指标,包括的精确率和召回率。所述参数,包括c值,所述c值为分类器对错误分类样本的敏感程度。
56.步骤5:获取目标网络的实时tcp连接数据,将所述实时tcp连接数据输入到完成优化和训练中的所述分类器模型中,得到syn flood攻击的检测结果,所述检测结果包括:发生syn flood攻击和未发生syn flood攻击。
57.实施例二
58.本实施提出如图2所示的一种基于kpca算法的syn flood攻击检测方法,包括如下步骤:
59.步骤1:收集历史tcp连接数据。
60.步骤2:对所述历史tcp连接数据中的数据进行数据预处理,构建tcp连接特征向量,生成初始数据集,并将所述初始数据集划分为训练集和测试集,所述预处理包括去噪处理、标准化处理。
61.步骤3:利用kpca算法对构建好的所述tcp连接特征向量进行特征提取,提取出低维空间中的主成分特征向量。
62.步骤4:利用提取到的所述主成分特征向量、所述训练集以及测试集对分类器模型进行训练与优化,所述分类器模型用于区分正常tcp连接与异常tcp连接。
63.步骤5:获取目标网络的实时tcp连接数据,将所述实时tcp连接数据输入到完成优化和训练中的所述分类器模型中,得到syn flood攻击的检测结果,所述检测结果包括:发生syn flood攻击和未发生syn flood攻击。
64.步骤6:当所述检测结果为发生syn flood攻击:发出攻击警告,将此次攻击记录在日志中,并跳转执行步骤5;当所述检测结果为未发生syn flood攻击:跳转执行步骤5。
65.具体的,本实施例所述步骤1~5与实施例一中的步骤1~5相同。
66.实施例三
67.基于相同的发明构思,本发明提出一种基于kpca算法的syn flood攻击检测系统,详参图3,包括:
68.数据收集单元:用于收集历史tcp连接数据。
69.数据处理单元:对所述历史tcp连接数据中的数据进行数据预处理,构建tcp连接特征向量,所述预处理包括去噪处理、标准化处理,生成初始数据集,并将所述初始数据集划分为训练集和测试集。
70.主成分特征向量提取单元:用于利用kpca算法对构建好的所述tcp连接特征向量进行特征提取,提取出低维空间中的主成分特征向量。
71.分类器训练单元:用于利用提取到的所述主成分特征向量、所述训练集以及测试集对分类器模型进行训练与优化,所述分类器模型用于区分正常tcp连接与异常tcp连接。
72.攻击检测单元:用于获取目标网络的实时tcp连接数据,将所述实时tcp连接数据输入到完成优化和训练中的所述分类器模型中,得到syn flood攻击的检测结果,所述检测结果包括:发生syn flood攻击和未发生syn flood攻击。
73.实施例四
74.本实施例还提供了一种基于kpca算法的syn flood攻击检测系统,所述系统还包括警告单元。如图4所示,所述一种基于kpca算法的syn flood攻击检测系统包括:
75.数据收集单元、数据处理单元、主成分特征向量提取单元、分类器训练单元、攻击检测单元以及警告单元。所述数据收集单元、数据处理单元、主成分特征向量提取单元、分类器训练单元以及攻击检测单元的作用与实施三相同。
76.具体的,所述警告单元的作用为:当所述检测结果为发生syn flood攻击时,用于发出攻击警告,将此次攻击记录在日志中,并将执行命令发送至所述攻击检测单元。当所述检测结果为未发生syn flood攻击时,用于将执行命令发送至所述攻击检测单元。
77.综上所述,本发明基于kpca的syn flood攻击检测方法,通过对tcp连接特征数据进行分类和聚类分析,从而实现对syn flood攻击的观测和分析,筛选出能够表征syn flood攻击的数据,剔除冗余数据,降低计算成本,在不降低检测效率和精度的前提下,提高分类器分类结果的效率和准确率,具备更强的syn flood攻击鉴别能力,可以更好地保障网络的安全运行。
78.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
79.在本技术所提供的实施例中,应该理解到,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元可结合为一个单元,一个单元可拆分为多个单元,或一些特征可以忽略等。
80.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
技术特征:
1.一种基于kpca算法的syn flood攻击检测方法,其特征在于,包括以下步骤:步骤1:收集历史tcp连接数据;步骤2:对所述历史tcp连接数据中的数据进行数据预处理,构建tcp连接特征向量,生成初始数据集,并将所述初始数据集划分为训练集和测试集,所述预处理包括去噪处理、标准化处理;步骤3:利用kpca算法对构建好的所述tcp连接特征向量进行特征提取,提取出低维空间中的主成分特征向量;步骤4:利用提取到的所述主成分特征向量、所述训练集以及测试集对分类器模型进行训练与优化,所述分类器模型用于区分正常tcp连接与异常tcp连接;步骤5:获取目标网络的实时tcp连接数据,将所述实时tcp连接数据输入到完成优化和训练中的所述分类器模型中,得到syn flood攻击的检测结果,所述检测结果包括:发生syn flood攻击和未发生syn flood攻击。2.根据权利要求1所述的一种基于kpca算法的syn flood攻击检测方法,其特征在于,还包括:步骤6:当所述检测结果为发生syn flood攻击:发出攻击警告,将此次攻击记录在日志中,并跳转执行步骤5;当所述检测结果为未发生syn flood攻击:跳转执行步骤5。3.根据权利要求1所述的一种基于kpca算法的syn flood攻击检测方法,其特征在于,所述步骤1,包括:所述历史tcp连接数据包括时间戳、源ip、目的ip、源端口以及目的端口;利用数据包嗅探器完成所述历史tcp连接数据的收集。4.根据权利要求1所述的一种基于kpca算法的syn flood攻击检测方法,其特征在于,所述步骤2中的预处理,包括:所述去噪处理,包括去除所述历史tcp连接数据中的重复数据、去除无效数据;所述标准化处理,包括对所述历史tcp连接数据的单位和规格转化为预设的标准单位和规格。5.根据权利要求1所述的一种基于kpca算法的syn flood攻击检测方法,其特征在于,所述步骤3,包括以下步骤:步骤301:利用核函数对所述tcp连接特征向量进行映射处理以生成核矩阵k;步骤302:对所述核矩阵k进行归一化处理,得到矩阵k
′
;步骤303:求解所述矩阵k
′
,得到所述矩阵k
′
的矩阵特征值以及矩阵特征向量;步骤304:将所述矩阵特征向量根据对应的核矩阵特征值的大小,以从大到小的顺序按行排列成矩阵k”;步骤305:取所述矩阵k”前p行,组成降维后的数据矩阵p,所述矩阵p为所述tcp连接特征向量进行特征提取的结果。6.根据权利要求1所述的一种基于kpca算法的syn flood攻击检测方法,其特征在于,所述步骤4中对分类器模型进行训练与优化,包括:步骤401:将提取到的所述主成分特征向量作为支持向量机算法的输入,以高斯核函数作为支持向量机算法的核函数,构建出所述分类器模型;
步骤,402:利用所述测试集训练构建好的所述分类器模型,实现通过分类器模型区分正常tcp连接与异常tcp连接;步骤403:使用测试集检验分类器的性能,根据评估指标对所述分类器模型进行参数的调整。7.根据权利要求6所述的一种基于kpca算法的syn flood攻击检测方法,其特征在于,所述步骤403,包括:所述评估指标,包括的精确率和召回率;所述参数,包括c值,所述c值为分类器对错误分类样本的敏感程度。8.一种基于kpca算法的syn flood攻击检测系统,其特征在于,包括:数据收集单元:用于收集历史tcp连接数据;数据处理单元:对所述历史tcp连接数据中的数据进行数据预处理,构建tcp连接特征向量,所述预处理包括去噪处理、标准化处理,生成初始数据集,并将所述初始数据集划分为训练集和测试集;主成分特征向量提取单元:用于利用kpca算法对构建好的所述tcp连接特征向量进行特征提取,提取出低维空间中的主成分特征向量;分类器训练单元:用于利用提取到的所述主成分特征向量、所述训练集以及测试集对分类器模型进行训练与优化,所述分类器模型用于区分正常tcp连接与异常tcp连接;攻击检测单元:用于获取目标网络的实时tcp连接数据,将所述实时tcp连接数据输入到完成优化和训练中的所述分类器模型中,得到syn flood攻击的检测结果,所述检测结果包括:发生syn flood攻击和未发生syn flood攻击。9.根据权利要求8所述的一种基于kpca算法的syn flood攻击检测系统,其特征在于,还包括:警告单元;当所述检测结果为发生syn flood攻击时:用于发出攻击警告,将此次攻击记录在日志中,并将执行命令发送至所述攻击检测单元;当所述检测结果为未发生syn flood攻击时:用于将执行命令发送至所述攻击检测单元。
技术总结
一种基于KPCA算法的SYN Flood攻击检测方法及系统,所述方法包括:步骤1:收集历史TCP连接数据;步骤2:对所述历史TCP连接数据中的数据进行数据预处理,构建TCP连接特征向量,并将所述初始数据集划分为训练集和测试集;步骤3:利用KPCA算法对构建好的所述TCP连接特征向量进行特征提取,提取出低维空间中的主成分特征向量;步骤4:利用提取到的所述主成分特征向量、所述训练集以及测试集对分类器模型进行训练与优化;步骤5:获取目标网络的实时TCP连接数据,将所述实时TCP连接数据输入到完成优化和训练中的所述分类器模型中,得到SYN Flood攻击的检测结果。本发明通过KPCA算法对TCP连接特征向量进行核主成分分析,能够提高分类器分类结果的效率和准确率。分类结果的效率和准确率。分类结果的效率和准确率。
技术研发人员:凌颖 黎新 宾冬梅 杨春燕 韩松明 明少锋 卢杰科 唐福川 张龙飞 黄伟翔
受保护的技术使用者:广西电网有限责任公司电力科学研究院
技术研发日:2023.04.27
技术公布日:2023/7/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/