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

本文涉及的产品
云防火墙,500元 1000GB
简介: 基于决策树的智能网络安全入侵检测模型

学习目标:

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–


相关文章
|
5月前
|
C++
基于Reactor模型的高性能网络库之地址篇
这段代码定义了一个 InetAddress 类,是 C++ 网络编程中用于封装 IPv4 地址和端口的常见做法。该类的主要作用是方便地表示和操作一个网络地址(IP + 端口)
295 58
|
5月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
196 2
|
5月前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
163 1
|
5月前
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
2月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
209 4
|
7月前
|
域名解析 网络协议 安全
计算机网络TCP/IP四层模型
本文介绍了TCP/IP模型的四层结构及其与OSI模型的对比。网络接口层负责物理网络接口,处理MAC地址和帧传输;网络层管理IP地址和路由选择,确保数据包准确送达;传输层提供端到端通信,支持可靠(TCP)或不可靠(UDP)传输;应用层直接面向用户,提供如HTTP、FTP等服务。此外,还详细描述了数据封装与解封装过程,以及两模型在层次划分上的差异。
1258 13
|
7月前
|
网络协议 中间件 网络安全
计算机网络OSI七层模型
OSI模型分为七层,各层功能明确:物理层传输比特流,数据链路层负责帧传输,网络层处理数据包路由,传输层确保端到端可靠传输,会话层管理会话,表示层负责数据格式转换与加密,应用层提供网络服务。数据在传输中经过封装与解封装过程。OSI模型优点包括标准化、模块化和互操作性,但也存在复杂性高、效率较低及实用性不足的问题,在实际中TCP/IP模型更常用。
960 10
|
2月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
3月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
216 2
|
3月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)