网络入侵检测中使用的机器学习特征:深入解析

这篇文章将会介绍在网络入侵检测中使用的机器学习特征,我们将会深入解析每个特征的含义和用途。

采用的数据集(dataset)

CIC-IDS-2017/2018(IDS 2017 | Datasets | Research | Canadian Institute for Cybersecurity | UNB)

CICIDS2017数据集

CICIDS2017数据集包含良性和最新的常见攻击

数据捕获期从2017年7月3日星期一开始,到2017年7月7日星期五结束,共计5天。星期一是正常日,只包括良性流量。实施的攻击包括FTP暴力破解、SSH暴力破解、DoS、Heartbleed、Web攻击、渗透、僵尸网络和DDoS攻击。它们在星期二、星期三、星期四和星期五的上午和下午被捕获。

特征解析

Flow ID: 流量ID,唯一标识一个网络会话或流量。在分析时,可以用来追踪整个会话的行为模式。

Source IP: 源IP地址,表明数据发送的起始点。这个字段对于确定流量的起源非常重要,有助于识别潜在的入侵者。

Source Port: 源端口号,与源IP一起标识了一个网络连接的发送端。端口号可以揭示使用的服务或应用程序。

Destination IP: 目的IP地址,指示数据发送的终点。结合源IP,可以分析流量的流向。

Destination Port: 目的端口号,与目的IP一起标识了网络连接的接收端。端口号同样可以反映可能的服务或应用程序。

Protocol: 协议类型,如TCP、UDP、ICMP等。协议字段对于理解流量的通信方式至关重要。

Timestamp: 时间戳,记录了数据包的发送或接收时间。时间戳可以用来分析流量的时序模式。

Flow Duration: 流量持续时间,即从第一个数据包的发送到最后一个数据包的接收之间的时间长度。长持续时间可能表明正常的通信,而异常短或异常长的持续时间可能是异常行为的迹象。

Total Fwd: 这可能是指“Total Forward”流量,记录了从源到目的方向上的总数据包数量。这个特征有助于分析流量的大小和通信的活跃程度。

Total Backward Packets:

描述:这个特征表示从目的地(服务器或响应方)发送回源地址(客户端或请求方)的数据包总数。

重要性:可以帮助识别通信模式,比如客户端-服务器交互中的请求和响应平衡。如果backward packets的数量异常高或低,可能表明异常流量或网络攻击,如DDoS攻击。

Total Length of Fwd Packets:

描述:这个特征表示所有从源地址发送到目的地址的数据包的总长度(通常以字节计)。

重要性:总长度可以反映会话的数据传输量。与单个数据包的大小结合分析,可以发现数据传输的异常模式,如过大的数据传输可能与数据泄露或文件传输攻击有关。

Total Length of Bwd Packets:

描述:类似于Total Length of Fwd Packets,但针对的是反向数据包的总长度。

重要性:这可以揭示响应方的数据传输量。如果forward和backward的数据包长度不成比例,可能表明网络流量异常。

Fwd Packet Length Max:

描述:这表示在源地址到目的地址方向上观察到的单个数据包的最大长度。

重要性:最大数据包长度可能指示某些类型的攻击,如缓冲区溢出攻击,或者可能仅仅是网络通信中的正常峰值。

Fwd Packet Length Min:

描述:这表示在源地址到目的地址方向上观察到的单个数据包的最小长度。

重要性:数据包的最小长度可以帮助识别小数据包洪水攻击,这是一种DoS攻击,攻击者发送大量小数据包以淹没网络。

Fwd Packet Length Mean (Fwd PLN Mean):

描述:这表示从源到目的地方向上所有数据包长度的平均值。

重要性:平均数据包长度可以反映正常通信的一般模式。如果平均值突然增加或减少,可能表明存在非典型的通信模式或潜在的攻击。

Fwd Packet Length Std (Fwd PLN Std):

描述:这表示从源到目的地方向上数据包长度的标准差,是衡量数据包长度变化程度的一个统计量。

重要性:一个高的标准差意味着数据包大小有较大的变化,这可能是正常行为,也可能是攻击的迹象,如拒绝服务攻击(DoS)。

Bwd Packet Length Max (Bwd PLN Max):

描述:这表示从目的地返回源方向上观察到的单个数据包的最大长度。

重要性:最大数据包长度的异常峰值可能指示某些攻击类型,如缓冲区溢出攻击,或者可能表明网络中的某些配置问题。

Bwd Packet Length Min (Bwd PLN Min):

描述:这表示从目的地返回源方向上观察到的单个数据包的最小长度。

重要性:如果数据包长度的最小值异常地小,可能表明存在小数据包洪水攻击,这类攻击通过发送大量小数据包来耗尽网络资源。

Bwd Packet Length Mean (Bwd PLN Mean):

描述:这表示从目的地返回源方向上所有数据包长度的平均值。

重要性:平均值提供了反向流量的一般视图。如果反向流量的平均数据包长度与预期的响应模式不符,可能表明存在问题。

Bwd Packet Length Std (Bwd PLN Std):

描述:这是从目的地返回源方向上数据包长度的标准差。

重要性:标准差衡量数据包长度的变异性。高变异性可能表明存在不寻常的流量模式,这可能是由于正常的网络抖动或潜在的攻击行为。

Flow Bytes/s (Flow Bytes per Second):

描述:这是在流的整个持续时间内,平均每秒钟传输的字节数。

重要性:这个特征可以反映流量的强度。异常高的值可能表明数据泄露、大文件传输或洪水攻击。

Flow Packets/s (Flow Packets per Second):

描述:这是在流的整个持续时间内,平均每秒钟传输的数据包数。

重要性:类似于Flow Bytes/s,但关注的是数据包的数量而不是大小。高数据包率可能表明高交互性的应用或攻击如DDoS。

Flow IAT Mean (Flow Inter-Arrival Time Mean):

描述:这是数据包到达时间间隔的平均值。

重要性:平均到达时间间隔可以揭示流量的周期性模式。一个突然的下降可能表明流量压力增大,可能是攻击的迹象。

Flow IAT Std (Flow Inter-Arrival Time Std):

描述:这是数据包到达时间间隔的标准差。

重要性:衡量数据包到达时间间隔的变异性。高度的不一致性可能表明网络条件的变化或非典型的流量模式。

Flow IAT Max (Flow Inter-Arrival Time Max):

描述:这是数据包到达时间间隔的最大值。

重要性:最长的到达时间间隔可能表明流量中的暂停或空闲期,这在某些应用协议中是正常的,但在其他情况下可能是异常的。

Flow IAT Min (Flow Inter-Arrival Time Min):

描述:这是数据包到达时间间隔的最小值。

重要性:最小的到达时间间隔可能表明流量高峰或紧密的数据包传输,这在某些类型的攻击如洪水攻击中是常见的。

Fwd IAT Total:

描述:这是所有前向数据包到达时间间隔的总和。

重要性:反映了整个会话中数据包发送的总空闲时间。异常高的值可能表明通信的不连贯性或潜在的通信问题。

Fwd IAT Mean (Fwd IAT Mean):

描述:这是前向数据包到达时间间隔的平均值。

重要性:提供了数据包发送频率的一般概念。与正常通信模式的偏差可能表明网络攻击或非典型的流量模式。

Fwd IAT Std (Fwd IAT Std):

描述:这是前向数据包到达时间间隔的标准差。

重要性:衡量数据包到达时间间隔的变异性。高标准差可能表明流量的不均匀性,这可能是由于网络条件的变化或攻击行为。

Fwd IAT Max (Fwd IAT Max):

描述:这是前向数据包到达时间间隔的最大值。

重要性:表示在会话中观察到的最长空闲时间。如果这个值异常地高,可能表明故意的通信延迟或网络拥塞。

Fwd IAT Min (Fwd IAT Min):

描述:这是前向数据包到达时间间隔的最小值。

重要性:表示会话中最短的空闲时间。如果这个值异常地低,可能表明高频率的数据传输,这在洪水攻击中是常见的。

Bwd IAT Total:

描述:这是所有后向数据包到达时间间隔的总和。

重要性:与Fwd IAT Total相似,但用于分析响应方的通信模式。异常值可能表明服务器响应延迟或网络问题。

Bwd IAT Mean (Bwd IAT Mean):

描述:这是后向数据包到达时间间隔的平均值。

重要性:提供了目的地响应频率的一般概念。如果与预期的服务器响应模式不符,可能表明服务过载或攻击。

Bwd IAT Std (Bwd IAT Std):

描述:这是后向数据包到达时间间隔的标准差。

重要性:衡量响应方数据包到达时间间隔的变异性。高标准差可能表明服务器响应时间的不均匀性,这可能是由于服务器负载的变化或网络攻击。

Bwd IAT Max向后方向的最大时间间隔。这表示在接收方(Bwd)和发送方(IAT)之间的时间间隔。

Bwd IAT Min向后方向的最小时间间隔。这表示在接收方(Bwd)和发送方(IAT)之间的时间间隔。

Fwd PSH Flags向前方向的压力(push)标志。此标志表示数据包是否应该被立即发送,而不是等待缓冲区填满。

Bwd PSH Flags向后方向的压力(push)标志。此标志表示数据包是否应该被立即发送,而不是等待缓冲区填满。

Fwd URG Flags向前方向的紧急(urgent)标志。此标志表示数据包中的数据是否为紧急数据,需要尽快处理。

Bwd URG Flags向后方向的紧急(urgent)标志。此标志表示数据包中的数据是否为紧急数据,需要尽快处理。

Fwd Header Length向前方向的数据包头长度。此特征表示向前方向的数据包头的大小。

Bwd Header Length向后方向的数据包头长度。此特征表示向后方向的数据包头的大小。

Fwd Packets/s向前方向的包每秒数。此特征表示每秒向前方向发送的包的数量。

Bwd Packets/s向后方向的包每秒数。此特征表示每秒向后方向发送的包的数量。

Min Packet Length最小数据包长度。此特征表示数据集中数据包的最小长度。

Max Packet Length最大数据包长度。此特征表示数据集中数据包的最大长度。

Packet Length Mean数据包长度平均值。此特征表示数据集中所有数据包长度的平均值。

Packet Length Std数据包长度标准差。此特征表示数据集中数据包长度分布的标准差。

Packet Length Variance数据包长度方差。此特征表示数据集中数据包长度分布的方差。

FIN Flag CountFIN标志计数。此标志表示连接是否应该被终止。

SYN Flag CountSYN标志计数。此标志表示连接是否应该被建立。

RST Flag CountRST标志计数。此标志表示连接是否应该被重置。

PSH Flag Count压力(push)标志计数。此标志表示数据包是否应该被立即发送,而不是等待缓冲区填满。

ACK Flag CountACK标志计数。此标志表示接收方是否已收到所有数据包。

URG Flag Count紧急(urgent)标志计数。此标志表示数据包中的数据是否为紧急数据,需要尽快处理。

CWE Flag CountCongestion Window Exceeded标志计数。此标志表示发送方的拥塞窗口是否已超过。

ECE Flag CountECN-Echo标志计数。此标志表示接收方是否已收到ECN(拥塞通知)标志。

Down/Up Ratio下行/上行比率。此特征表示下行流量与上行流量的比率。

Average Packet Size平均数据包大小。此特征表示数据集中所有数据包的平均大小。

Avg Fwd Segment Size向前方向的数据包段平均大小。此特征表示向前方向的数据包段大小的平均值。

Avg Bwd Segment Size向后方向的数据包段平均大小。此特征表示向后方向的数据包段大小的平均值。

Fwd Header Length向前方向的数据包头长度。此特征表示向前方向的数据包头的大小。

Fwd Avg Bytes/Bulk向前方向的平均字节/块。此特征表示向前方向的平均字节数/块。

Fwd Avg Packets/Bulk向前方向的平均数据包/块。此特征表示向前方向的平均数据包数/块。

Fwd Avg Bulk Rate向前方向的平均块速率。此特征表示向前方向的平均块速率。

Bwd Avg Bytes/Bulk向后方向的平均字节/块。此特征表示向后方向的平均字节数/块。

Bwd Avg Packets/Bulk向后方向的平均数据包/块。此特征表示向后方向的平均数据包数/块。

Bwd Avg Bulk Rate向后方向的平均块速率。此特征表示向后方向的平均块速率。

Subflow Fwd Packets子流向前方发送的数据包数。此特征表示子流向前方发送的数据包数。

Subflow Fwd Bytes子流向前方发送的字节数。此特征表示子流向前方发送的字节数。

Subflow Bwd Packets子流向后方发送的数据包数。此特征表示子流向后方发送的数据包数。

Subflow Bwd Bytes子流向后方发送的字节数。此特征表示子流向后方发送的字节数。

Init_Win_bytes_forward初始窗口字节数向前方。此特征表示初始窗口字节数向前方。

Init_Win_bytes_backward初始窗口字节数向后方。此特征表示初始窗口字节数向后方。

act_data_pkt_fwd向前方向的活动数据包数。此特征表示向前方向的活动数据包数。

min_seg_size_forward向前方向的最小段大小。此特征表示向前方向的数据包段的最小大小。

Active Mean活动平均值。此特征表示活动数据的平均值。

Active Std活动标准差。此特征表示活动数据的标准差。

Active Max活动最大值。此特征表示活动数据的最大值。

Active Min活动最小值。此特征表示活动数据的最小值。

Idle Mean空闲平均值。此特征表示空闲数据的平均值。

Idle Std空闲标准差。此特征表示空闲数据的标准差。

Idle Max空闲最大值。此特征表示空闲数据的最大值。

Idle Min空闲最小值。此特征表示空闲数据的最小值。

Label标签。此特征表示数据集的标签或类别。

External IP外部IP地址。此特征表示与数据集相关的外部IP地址。

  • 29
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
网络入侵检测是通过对网络量数据进行分析,检测是否存在恶意攻击的过程。基于机器学习网络入侵检测技术通常需要选择一组合适的特征,用于训练分类器,以区分正常量和恶意量。特征选择是网络入侵检测技术的重要组成部分,其目的是从原始数据选取最具有区分性和代表性的特征,以提高分类器的准确性和效率。 以下是一些常用的特征选择方法: 1. 过滤法(Filter Method):该方法独立于分类器,通过对特征进行统计分析,选择与分类目标相关性最强的特征。常用的统计量有卡方检验、互信息、相关系数等。 2. 封装法(Wrapper Method):该方法与具体分类器密切相关,通过特征子集的交叉验证,评估分类器性能,选出最佳特征子集。代表性算法有递归特征消除(Recursive Feature Elimination,RFE)和遗传算法(Genetic Algorithm,GA)。 3. 嵌入法(Embedded Method):该方法将特征选择融入到分类器训练过程,根据分类器的性能评估每个特征的贡献,逐步筛选出最优特征。代表性算法有L1正则化、决策树、随机森林等。 在选择特征时,需要根据具体问题和数据集的特点,选择最适合的特征选择方法。同时,需要注意特征选择过程可能出现的问题,如特征相关性、过拟合、信息损失等。因此,特征选择需要谨慎进行,结合领域知识和实际经验进行评估。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值