基于决策树的智能网络安全入侵检测模型

简介: 基于决策树的智能网络安全入侵检测模型

学习目标:

An intelligent tree-based intrusion detection model for cyber security

(一种基于决策树的智能网络安全入侵检测模型)


一种基于图模型的网络攻击溯源方法


学习内容:

An intelligent tree-based intrusion detection model for cyber security


(一种基于决策树的智能网络安全入侵检测模型)


基于树的分类模型可以预测特定的网络活动是“正常”还是“攻击”。在树的每个节点上做出决策,直到到达叶节点。数据点的类别(即正常或攻击)在叶节点中确定。换句话说,树节点代表一个特征,每条边或分支代表根据每个特征获得的信息做出的决策,每个叶子代表一个类。


该模型旨在提高预测精度并降低计算复杂度。


考虑到安全特征的排序和选择的基于树的入侵检测模型是重点,可以提高预测精度并最小化计算的复杂性


高维的安全特征时,过拟合的高方差、高复杂性和低预测精度是基于树的模型的常见限制


该论文模型


350db0c1030144babef33540ddbb1b21.png

关于上图模型中的序号说明


UNSW-NB 15数据集,由 42 个不包括类别标签的特征组成(即 0 表示正常记录,1 表示攻击记录)

数据集中的所有特征都被缩放(即标准化)

a542154fe7d1443d9c7cfa1493a6bcba.png


One Hot Encoding编码,使用的是python的sklearn 库函数的LabelEncoder 编码器


3.采用的是Gini 指数计算数据的特征值的熵,最后算出排序,选择阈值 0.02,特征数量减少到 19 个,降低了时间处理和过度拟合方面的计算复杂性


2e63377ae1d94cc0b6628e1850cac6bf.png


4.实验一、训练论文的分类器效果

5.实验二、在相同的环境相同的数据集下,对比于传统的ML model :k-NN, SVM,LR,NB


下载数据集

UNSW-NB15数据集https://research.unsw.edu.au/projects/unsw-nb15-dataset


5818271d5d6c4441871d2673813cdc7e.png

c54c752122cd4489b23403262bd495b7.png



加载数据集,


d241e45d78fd4b429323902606f95ed5.png


报错:数据类型不匹配,由于数据是’String’型的,需要将’String’型转化float数值型


755afb76e9fb423da6112dce84759362.png


进行矩阵运算时涉及的矩阵维度太大,由于没有好一点儿的服务器,我本机电脑分配的内存不够用,加载不了,模型训练不了。


95d2ab250495445a90fcac4a60e6d4ca.png


一种基于图模型的网络攻击溯源方法


对于减轻混合SDN中地址欺骗攻击设想,采用VLANs的划分出多个虚拟局域网,把地址欺骗攻击限制在一个VLAN中


102caf6e940e4807bbfa3d3a419cbdb4.png

首先通过手动配置Open- vSwitch的VLAN, 实现VLAN的标记。


上图网络拓扑中描绘了两个VLAN(VID 10、20 ),每个交换机有一个主机成员。每个交换机的两个端口需要配置为各自VLAN的接入端口,第三个端口必须配置为中继端口,允许两个VLAN(10、20)通过。主机H1和H3位于eth-1,H2和H4位于eth-2


用于将端口配置为接入端口或中继端口的OVS命令如下:


将端口配置为接入端口,并用VID = vlan标记传入数据包:

ovs-vsctl set port [port] tag = vlan

将端口配置为中继端口,允许VIDs= vlan1、vlan2通过:

ovs-vs CTL set port[port]trunks = VLAN 1,vlan2

同时必须向对应于传统L2交换的交换机添加流条目(action= "NORMAL "),以便学习必要的MAC地址,并将分组转发出正确的端口。


一旦上述流条目被添加到两台交换机,我们就可以验证主机之间的ping可达性。


对于流动作,在RYU开放流1.3协议API 中提供了专门的类进行VLAN标签的标记,匹配,取消标记,如下所列


标记:OFPActionPushVlan(ether type = 33024,type =None,len=None):将新的Vlan标签推入数据包,默认VID = 0


取消标记:OFPActionPopVlan(type=None,len=None):删除最外层的Vlan标记


匹配:of match(VLAN _ VID = 0x 1000 | " VID "):匹配包含VID = "vid "(整数值)的标记数据包。


实验的前提是,网络拓扑已知且没有环路,采用的是基于端口的VLANs分类


拓扑如下:


056be7e041934752abd1b1e84f4c884b.png


“黄色”路由器显示的节点不支持VLAN,因此不会生成任何“标记”流量。所以H1和H6不属于任何VLAN。但是它们的流量在到达目的节点之前需要通过VLAN感知交换机进行中继。通过实施这种拓扑,我们可以模拟在大型网络中,使用VLANs设计和划分一个小型子网来减轻地址欺骗攻击,


流程如下:


6dd02b3c75b442888bea48d85e751eab.png


参考论文:

[1] Al-Omari M, Rawashdeh M, Qutaishat F, et al. An intelligent tree-based intrusion detection model for cyber security[J]. Journal of Network and Systems Management, 2021, 29(2): 1-18.


[2] 黄克振, 连一峰, 冯登国, 等. 一种基于图模型的网络攻击溯源方法[J]. Journal of Software, 2021, 33(2): 683-698.


[6] R. Vinayakumar, K. P. Soman and P. Poornachandran, “Applying convolutional neural network for network intrusion detection,” 2017 International Conference on Advances in Computing, Communications and Informatics (ICACCI), 2017, pp. 1222-1228, doi: 10.1109/ICACCI.2017.8126009.


[7] R. Vinayakumar, M. Alazab, K. P. Soman, P. Poornachandran, A. Al-Nemrat and S. Venkatraman, “Deep Learning Approach for Intelligent Intrusion Detection System,” in IEEE Access, vol. 7, pp. 41525-41550, 2019, doi: 10.1109/ACCESS.2019.2895334.


[8] R. Vinayakumar, K. P. Soman and P. Poornachandran, “Evaluating effectiveness of shallow and deep networks to intrusion detection system,” 2017 International Conference on Advances in Computing, Communications and Informatics (ICACCI), 2017, pp. 1282-1289, doi: 10.1109/ICACCI.2017.8126018.


综述/调查:

[3] A. L. Buczak and E. Guven, “A Survey of Data Mining and Machine Learning Methods for Cyber Security Intrusion Detection,” in IEEE Communications Surveys & Tutorials, vol. 18, no. 2, pp. 1153-1176, Secondquarter 2016, doi: 10.1109/COMST.2015.2494502.


[4] P. Mishra, V. Varadharajan, U. Tupakula and E. S. Pilli, “A Detailed Investigation and Analysis of Using Machine Learning Techniques for Intrusion Detection,” in IEEE Communications Surveys & Tutorials, vol. 21, no. 1, pp. 686-728, Firstquarter 2019, doi: 10.1109/COMST.2018.2847722.


[5] A. Nisioti, A. Mylonas, P. D. Yoo and V. Katos, “From Intrusion Detection to Attacker Attribution: A Comprehensive Survey of Unsupervised Methods,” in IEEE Communications Surveys & Tutorials, vol. 20, no. 4, pp. 3369-3388, Fourthquarter 2018, doi: 10.1109/COMST.2018.2854724.


–end–


相关文章
|
1月前
|
机器学习/深度学习 自然语言处理 数据处理
大模型开发:描述长短期记忆网络(LSTM)和它们在序列数据上的应用。
LSTM,一种RNN变体,设计用于解决RNN处理长期依赖的难题。其核心在于门控机制(输入、遗忘、输出门)和长期记忆单元(细胞状态),能有效捕捉序列数据的长期依赖,广泛应用于语言模型、机器翻译等领域。然而,LSTM也存在计算复杂度高、解释性差和数据依赖性强等问题,需要通过优化和增强策略来改进。
|
5天前
|
机器学习/深度学习 存储 计算机视觉
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现-4
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
35 11
|
1天前
|
机器学习/深度学习 存储 算法
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现(下)
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
12 2
|
1天前
|
机器学习/深度学习 运维 算法
R语言用ARIMA模型滑动时间窗口识别网络流量时间序列异常值
R语言用ARIMA模型滑动时间窗口识别网络流量时间序列异常值
|
2天前
|
存储 NoSQL Linux
Redis入门到通关之Redis5种网络模型详解
Redis入门到通关之Redis5种网络模型详解
10 1
|
4天前
|
网络协议 Linux Shell
【linux网络(一)】初识网络, 理解四层网络模型
【linux网络(一)】初识网络, 理解四层网络模型
|
5天前
|
机器学习/深度学习 算法 数据可视化
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现-3
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
12 0
|
5天前
|
算法 数据可视化
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现-1
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
18 0
|
9天前
|
机器学习/深度学习 数据可视化 Shell
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化(二)
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
32 1
|
9天前
|
机器学习/深度学习 数据采集 数据可视化
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化(一)
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
49 0