机器学习中的网络入侵检测系统2025年3月17日 | 阅读 14 分钟 ![]() 随着互联网和通信技术的飞速发展,网络安全领域已成为研究的重点。这包括应用防火墙、杀毒软件和入侵检测系统(IDS)等资源来保护数字空间中的网络及其资源的安全性。在这些资源中,网络入侵检测系统(NIDS)占有关键地位,因为它们持续监控网络流量,以检测任何潜在的有害或可疑行为。 IDS 的概念最初由 Jim Anderson 在 1980 年提出,为各种 IDS 产品的开发奠定了基础,以满足网络安全的需求。尽管如此,技术的飞速发展带来了网络的扩张以及海量数据和应用程序的管理,这对保护网络节点和数据带来了挑战。当前的 IDS 在识别新型攻击和减少误报方面表现出局限性,这导致了对有效且精确的 NIDS 解决方案的需求。 为了满足对强大 IDS 的需求,研究人员已经进军人工智能领域,特别是机器学习和深度学习技术。这些方法在网络安全领域日益受到重视,很大程度上得益于强大的图形处理单元(GPU)的可用性。基于 ML 的 IDS 依赖于特征工程来从网络流量中提取见解,而基于 DL 的 IDS 则利用其复杂的架构从原始数据中自主学习复杂的模式。 在过去十年中,研究人员提出了基于 ML 和 DL 的解决方案,以提高网络入侵检测系统在检测恶意攻击方面的效率。然而,不断增长的网络流量和日益增加的安全威胁给 NIDS 有效查明入侵带来了挑战。 应用使用机器学习的网络入侵检测系统将网络入侵检测系统与机器学习结合使用,在许多领域都产生了重大影响。这些由 ML 驱动的系统通过发现和阻止潜在危险来帮助保护计算机网络安全。这确保了网络和重要信息保持安全。以下是使用 ML 的 NIDS 有用的几个重要方面:
使用机器学习的网络入侵检测系统面临的挑战使用机器学习(ML)的网络入侵检测系统(NIDS)有许多应用和好处,但它也伴随着需要仔细考虑的挑战。这些挑战包括:
关于数据集提供的审计数据集包含在军事网络环境中模拟的各种入侵。该环境旨在复制典型美国空军 LAN 的条件,捕获原始 TCP/IP 转储数据。这涉及到模拟真实网络环境并对其进行各种攻击模拟。在此上下文中,“连接”表示发生在特定时间间隔内的 TCP 数据包序列,其中数据在源 IP 地址和目标 IP 地址之间按照定义的协议传输。这些连接中的每一个都被归类为“正常”或“攻击”,并且每种攻击都与特定的攻击类型相关联。每个连接记录包含大约 100 字节的数据。 对于每个 TCP/IP 连接,都会从正常和攻击数据中提取一组 41 个定量和定性特征。这些特征包括 3 个定性和 38 个定量属性。数据集中的类变量包含两个类别:
现在我们将尝试使用各种机器学习算法来预测给定数据集中的入侵。我们还将查看它们的准确率,并尝试确定哪种算法更适合入侵检测。
输出 ![]()
探索性数据分析(EDA)是一种分析数据的基本方法,包括系统地检查和图形化表示数据集以提取有价值的观察和趋势。此过程包括数据分析、摘要和信息可视化等活动,以掌握数据的分布、相关性和特征。EDA 旨在查明潜在的异常数据点、数据缺失的区域以及不规则性。它还评估数据的可靠性和适用性,以进行更高级的分析或模型构建。 输出 ![]() ![]() 我们的数据集中有 42 列和 25192 行。 输出 ![]() 输出 ![]() 输出 ![]() 缺失数据我们的数据集中没有一个缺失值。这是非常值得称道的,因为它保证了分析的稳健性和可靠性。 重复行输出 ![]() 同样,我们没有任何重复的行。 异常值异常值是指与数据集中其余数据的普遍模式或趋势存在显著偏差的数据点。这些数据值明显远离数据集内其他值的较大集群。这些异常值可能会影响数据分析或模型结果,通常是通过引入不能反映数据正常特征的干扰或不规则性。 输出 ![]() 在整个数据集中,我们没有任何异常值。 相关性输出 ![]() 输出 ![]() 标签编码标签编码是一种在数据准备用于分析时使用的技术。它将类别(如事物类型)转换为数字。每个类别都有自己的编号。这有助于计算机程序(如机器学习中使用的程序)理解和处理数据,尤其是在需要数字进行计算时。 输出 ![]()
特征选择涉及从数据集中挑选最有意义和最关键的属性或因素,以用于模型或分析。这简化了数据,使其不那么复杂,并提高了模型的有效性。通过查明正确的特征,我们可以专注于最有影响力的细节,从而提高我们分析或预测的准确性和效率。 我们将尝试选择最有意义的属性,因为您已经知道我们最初的数据集有 42 列。属性数量过多会降低模型的效率。 输出 ![]() 以上是适用于我们模型的相关特征。
接下来,我们将继续训练以下模型,并在训练和测试数据集上评估其得分。
1. KNN(K 近邻) 输出 ![]() 输出 ![]() 2. 逻辑回归 输出 ![]() 输出 ![]() 3. 决策树分类器 输出 ![]() 输出 ![]() 输出 ![]() 输出 ![]() 4. 随机森林分类器 输出 ![]() 输出 ![]() 输出 ![]() 5. SKLearn 梯度提升 输出 ![]() 输出 ![]() 6. XGBoost 输出 ![]() 输出 ![]() 7. Light Gradient Boosting 输出 ![]() 输出 ![]() 8. ADAboost 输出 ![]() 输出 ![]() 9. Catboost 输出 ![]() 输出 ![]() 10. 朴素贝叶斯 输出 ![]() 输出 ![]() 11. 投票模型 输出 ![]() 输出 ![]() 12. SVM 输出 ![]() 输出 ![]() 输出 ![]() 模型选择现在我们将查看我们使用的所有模型的得分,并选择模型。 输出 ![]() 正如我们所见,几乎所有模型的准确率都很高。因此,根据直觉,我们可以选择模型进行进一步实践。建议使用集成方法,如随机森林、梯度提升和投票,以利用结合了多个模型的集成技术来提高性能。它们通常可以有效地处理数据中的复杂关系。 如果您想要一个更容易解释的模型,那么决策树很容易解释和可视化,这可能有利于理解入侵检测过程。逻辑回归和朴素贝叶斯也是相对可解释的模型。 对于高维数据,我们可以使用 SVM。 使用机器学习的网络入侵检测系统的未来前景结合机器学习的网络入侵检测系统(NIDS)的未来前景广阔。随着 NIDS 模型的进步,它们在检测新兴威胁和攻击方面的适应性将更强。迁移学习的概念将加速知识共享,从而进一步提高检测效率。识别异常活动(异常)的能力将变得更加精确,即使它们很微妙。实时快速分析将有助于更快地响应威胁。通过整合不同类型的数据,将有可能获得对潜在危险更完整的画面。 确保模型决策清晰(模型可解释性)将是一个重点。防御系统的集体智慧将协同工作以对抗威胁。利用人工智能,事件响应将实现自动化。详细的分析将提供对威胁更细致的理解。将使用保护敏感信息的方法来解决隐私问题。持续学习和集成先进计算(如量子计算)将使 NIDS 更加强大。总之,由机器学习驱动的 NIDS 将通过新的方法、团队合作和自动化来改进网络安全。 结论使用机器学习的网络入侵检测系统代表了网络安全的一个范式转变。随着威胁变得越来越复杂,NIDS 必须与之同步发展。机器学习赋予 NIDS 适应性、准确性和实时能力,以有效对抗现代网络威胁。虽然挑战仍然存在,但未来有望出现更先进的技术和协作方法来确保我们数字景观的安全。通过利用机器学习的 NIDS,组织可以自信地驾驭复杂且不断变化的数字安全格局。 |
我们请求您订阅我们的新闻通讯以获取最新更新。