SDN中利用机器学习技术进行恶意负载识别

这篇论文《Machine Learning based Malicious Payload Identification in Software-Defined Networking》主要探讨了在软件定义网络(SDN)中利用机器学习技术进行恶意负载识别的方法。以下是论文的中文总结:

摘要

深度包检测(DPI)在软件定义网络(SDN)中被广泛研究,因为复杂的攻击可能会在数据包中注入恶意负载。现有的基于模式或端口的第三方DPI工具在处理大量数据流量时存在效率限制。本文提出了一种基于SDN范式的OpenFlow启用的深度包检测(OFDPI)方法,以提供适应性和高效的包检测。OFDPI首先通过OpenFlow协议检查每个新流的IP地址,进行早期检测。然后,对于未加密的数据包,OFDPI提取负载特征,包括基于TF-IDF的三元组频率和语言特征,并使用逻辑回归训练二元分类器。对于加密的数据包,OFDPI提取显著特征并使用决策树训练二元分类器,而不是解密加密流量以保护用户隐私。OFDPI的原型在Ryu SDN控制器和Mininet平台上实现,并通过真实世界的数据集评估了性能和开销。结果表明,OFDPI在检测准确性方面有显著提高,且开销可接受。

1. 引言

软件定义网络(SDN)作为一种流行的范式,通过集中方式将控制逻辑与底层转发交换机分离,以实现细粒度的流管理。然而,随着SDN网络流量的增加,网络管理员面临着潜在的安全问题。例如,恶意数据包负载注入可能导致严重的后果,如跨站脚本攻击和SQL注入,这些攻击占网络攻击的51%以上。SDN通过匹配数据包头字段提供第1层到第4层流量的验证,但这些流级别特征通常不足以进行深入的负载检查,攻击者可以绕过这些检查。

2. 相关工作

现有的DPI方案在SDN中主要分为两类。第一类是将第三方DPI工具(如OpenDPI、nDPI和L7-filter)集成到特定供应商的专有硬件或转换为中间盒。第二类是利用机器学习和深度学习技术来识别异常数据包。机器学习算法在识别异常数据包方面显示出潜力,但通常只能处理未加密的负载。对于加密流量,通常需要解密来获取负载,但这会削弱用户隐私并增加计算成本。

3. OFDPI概述

OFDPI在SDN范式中提出了一种结合机器学习算法的深度包检测方法。OFDPI的主要思想是提取负载特征并训练二元分类器。对于未加密的数据包,OFDPI提取基于TF-IDF的三元组频率和语言特征,并使用逻辑回归训练二元分类器。为了在检测准确性和SDN控制器的资源限制之间寻求平衡,OFDPI引入了基于线性预测的自适应包采样窗口。对于加密的数据包,OFDPI提取显著特征(如TLS密码套件)并使用决策树训练二元分类器,而不是解密加密流量。

4. OFDPI设计

4.1 早期检测

在深入负载检查之前,OFDPI通过OpenFlow协议检查每个新流的IP地址,使用预定义的IP黑名单进行早期检测。如果源IP地址在黑名单中,SDN控制器将阻止该流。

4.2 未加密数据包检测

对于未加密的流量,OFDPI提取负载特征,包括基于TF-IDF的三元组频率和语言特征。这些特征被连接成一个稀疏矩阵表示,用于训练二元分类器。具体步骤如下:

  1. 基于TF-IDF的三元组频率:将负载分割成三元组序列,计算每个三元组的频率。
  2. 语言特征:包括负载中的数字数量、连续数字数量、连续辅音数量、重复字母数量和元音数量。
  3. 归一化:使用Min-Max归一化方法将语言特征的值范围调整到[0,1]。
  4. 二元分类:使用逻辑回归训练二元分类器,预测数据包是恶意的还是正常的。

4.3 加密数据包检测

对于加密的流量,OFDPI提取显著特征,如TLS密码套件、TTL、持续时间和端口,使用决策树训练二元分类器,而不是解密加密流量。

5. 评估

5.1 数据集

本文使用了三个数据集,包括两个未加密数据集和一个加密数据集:

  • Github Payloads:包含超过40,000个正常负载和超过5,000个恶意负载。
  • HTTP CSIC 2010:包含生成的网络请求及其对应的网络攻击,如SQL注入、跨站脚本等。
  • CTU-BOTNET:捕获了大学网络中的botnet流量和正常流量。

5.2 离线训练测试

  1. 性能指标:使用准确率、召回率、精确率和F1分数等指标评估二元分类器的性能。
  2. 未加密流量训练:使用逻辑回归分类器在5折交叉验证下训练,结果显示逻辑回归在检测恶意负载方面优于其他分类器,准确率达到98.96%。
  3. 加密流量训练:使用CTU-BOTNET数据集训练不同分类器,结果显示决策树在检测加密恶意流量方面表现最佳,准确率达到99.15%。

5.3 在线检测

  1. 评估测试平台:使用Mininet网络仿真器和Ryu SDN控制器实现OFDPI原型。
  2. 检测结果:使用Cisco的IP黑名单进行早期检测,然后根据线性预测的包采样窗口进行流量采样。结果显示OFDPI在检测恶意流量方面具有较高的准确性,但在线性预测机制中存在一些局限性,需要进一步改进。

6. 性能评估

  1. SDN控制器吞吐量:使用Cbench工具测试Ryu SDN控制器的吞吐量,结果显示OFDPI略微降低了控制器处理流的能力,但这种性能下降是可以接受的。
  2. 开销:评估了OFDPI对CPU和内存的开销,结果显示OFDPI增加了系统的CPU和内存使用率,但增加的开销在可接受范围内。

7. 结论

本文提出了一种在SDN中利用机器学习算法的OpenFlow启用的深度包检测(OFDPI)方法。OFDPI能够对未加密和加密流量进行深度包检测,通过训练两个二元分类器分别识别恶意流量。OFDPI还能够根据线性预测的包窗口进行可疑包采样。实验结果表明,OFDPI在检测准确性和资源开销方面表现出色。


SDN中利用机器学习技术进行恶意负载识别
http://witbit.cn/AI/转载/SDN中利用机器学习技术进行恶意负载识别.html
作者
朝彻
发布于
2025年2月24日
许可协议