李泽龙
(贵州师范大学国际教育学院 贵州 贵阳 550000)
由于互联网用户的快速增长,网络安全在互联网中发挥着重要作用,安全性是网络和通信面临的最大挑战之一,更好地解决网络安全问题是必要的。传统的网络安全技术侧重于系统本身的防御上,主要有身份认证技术、访问控制技术和防火墙技术等,属于静态安全防护技术。传统的网络安全技术对于网络攻击通常采取被动防御方式,面对日益复杂和千变万化的各种网络攻击,传统的网络安全技术的不足逐渐显现[1]。机器学习技术可以提供更好的安全解决方案,通过使用机器学习算法分析大量的数据来对入侵行为进行检测,并且保护系统免受黑客的恶意攻击。基于此,本文针对机器学习算法,进一步分析了网络安全风险并提出了一些基于机器学习算法的网络防御策略,通过实验比较和分析传统K-Means 算法与以监督学习为基础的机器学习算法,针对算法性能进行评估,分析算法在检测率、召回率、准确性3 种评价指标上的性能表现。
持续发展的计算机网络技术已经融入社会以及生活当中,在工业技术和人们生活中都有计算机网络技术的广泛应用。各种漏洞和攻击技术的不断增加,不同类型的网络安全威胁正在不断涌现。因此,需要使用一些网络安全系统来防止攻击并且提高网络通信的机密性以及保障资源的可用性和完整性。网络安全就是侧重于保护计算机网络免受网络攻击者的入侵,并且保持软件和设备免受网络攻击威胁,减少数据泄露的风险。一些常见的网络威胁类型涉及勒索软件、网络钓鱼和恶意软件。为了应对此类威胁,可以使用不同的网络安全工具,其中包括防病毒软件、防火墙、加密方法和身份验证技术,以提高安全性。但是目前仅仅依靠这些传统的网络安全技术难以充分保障网络系统的安全。为了能够识别各种各样的网络攻击并提供有效的实时决策,使用机器学习算法可以提升网络防御系统的适应性和功能性。
机器学习通过构建计算机程序来获取和利用信息以有效执行任务,使系统可以监管数据并进行知识推理。机器学习已经应用于网络运营和管理中出现的各种常见而复杂的问题[2]。
支持向量机(SVM)是一种采用监督学习方式对数据进行分类的分类器[3],其是一种基于内核的监督学习算法,可将数据分为两个或多个类。SVM 专为二元分类而设计。在训练阶段,SVM会构建一个模型,映射每个类的决策边界,并指定分隔不同类的超平面。通过增加超平面边距来增加类之间的距离有助于提高分类精度。SVM 可用于有效地执行非线性分类。
决策树在区分网络流量方面非常有效且很受欢迎。基于树的算法在根节点中启动分类。数据分为两个节点;每个节点再次拆分以生成其他节点,从而构建树结构。树不断生长,没有限制,直到它达到其最大尺寸,即所有分割规则都被覆盖。分割节点的标准通常是特征的熵。决策树有两种技术可以避免过度拟合:第1 种技术包括限制树的最大尺寸,从而降低了其复杂性;第2 种技术定义了分裂节点的标准,该节点分析了叶子是否具有足够的大小。该指标量化了特征对增强节点杂质的贡献程度。决策树监督学习算法是基于问答的模型,简单地采用分而治之的方法。问答模型只不过是树模型,其中数据集分解为多个子集。
随机森林是一个包含多个决策树的分类器,它依赖于决策树的包装,这带来了显著的优势。除了采样数据外,它还对特征进行采样。Bagging(即引导聚合器)是一种基本的分组算法,它不是将各种模型调整为相同的数据,而是将每个模型调整为自举样本。在每个阶段中,数据要素的选择仅限于要素的随机子集。与决策树算法相比,基本的随机森林算法增加了两个步骤,即在每个分区处对特征进行装袋和引导采样。当为具有许多样本和特征的数据构建模型时,随机森林会蓬勃发展。它会自动确定哪些预测变量是显著的,并找到它们之间的复杂关系。有两种方法可以测量随机森林中的特征重要性:第1 种方法是降低模型的精度,从而增加熵,而第2 种方法是减少基尼杂质。默认情况下,随机森林根据基尼杂质计算特征重要性。
我们需要防御策略来保护网络和系统免受攻击或入侵。更详细地说,它们负责防止信息数据泄露或安全事故,并监控和应对入侵。为了避免恶意的网络攻击,计算机需要具有良好的检测方式进行更新和调整。在应用机器学习算法的过程当中,从相关网络来源收集的原始数据可用于分析安全事故或恶意行为,明确各种网络攻击的模式,以构建数据驱动的机器学习算法模型,来实现防御网络攻击的目标。
使用机器学习算法来对用户的访问进行身份识别,只允许真实的设备和用户访问网络资源,并且阻止恶意攻击和过度访问。在网络安全威胁下,系统或用户链路的可靠性和可用性进一步下降。因此,整个通信系统必须检测安全威胁,才能增加数据的安全性和可靠性。通过机器学习模型的身份识别排除潜在的安全威胁,随着识别数量的增加,模型的准确性也进一步提升。为此目的,将在时间域和空间域中采用用户的具体特征。其中一个特征是用户之间无线信道的身份验证。这种基于通道的消息身份验证可以在机器学习方法的帮助下实现。首先,通过利用机器学习算法,训练来自接收端信道估计的数据。在此阶段对数据进行标记。标签意味着传输的信号还需要一些加密信息来验证发送方。其次,考虑发送方和接收方的时间变化,以区分频道的变化和非真实的用户引入的消息。目前和先前状态之间的差异可以用作机器学习算法的输入数据以确定信道估计。这样就可以进行身份识别,检测出不真实的用户。在频域中利用用户的信道特性,即正交频分复用(OFDM)。OFDM 信道估计用于识别和验证信道特征。利用机器学习算法在接收到的数据包上训练来自信道估计的数据。机器学习方法在数据检测和误报率方面的整体性能表现得更好。
通过假设检验可以进一步比较信道信息与发送方的信道记录,以识别黑客的攻击。假设检验,也称为验证性数据分析,是一种随机实验,用于评估随机性是否是两个检验组之间差异的合理解释。假设检验在不确定条件下进行判断,用于判断的数据或信息往往是分散和复杂的。在比较判断中,产生多个假设,然后相互比较。首先对每个备选办法进行全面评价或评估,然后对全面评价进行比较。一个假设必须满足两个条件才能被接受:它必须满足可接受性的最低标准,并且必须被认为优于生成的其他方案。进行统计分析,对攻击事件发生之前的情况进行建模,通过重复到替代模式而获得的结果。在假设检验中,将信道信息与发送方的信道记录进行比较,以识别模拟或欺骗攻击。可以利用从模型当中生成的训练数据来提高检测精度。获得的训练数据通过监督学习算法进行身份验证。使用机器学习的认证技术是实现假设检验的重要因素,例如接收信号强度指示器,接收信号强度,通道状态信息和到达时间。该信息用于区分无线发射器,并以较低的开销发现欺骗攻击,以实现安全通信的完整性,并且保障通信的真实性。
入侵检测系统可以对未经授权访问网络资源的行为进行检测,旨在监视和分析网络流量,并将可能的威胁与正常用户行为区分开来。入侵检测系统区别于被动式防护的安全技术,它是一种主动检测的安全预防技术,可以覆盖被动式防护技术的盲区[4]。入侵检测系统能够检测未知的攻击,并且还能够快速查找偏差,监视计算机网络或系统是否存在恶意活动或违反策略的设备或软件应用程序。入侵检测系统是基于签名或异常的,一方面基于签名的入侵检测系统依赖于一组策略来识别网络中的威胁;另一方面,利用基于异常的方法来推断系统的正常行为,并将所有与推断的正常行为不同的归类为异常。基于机器学习模型的入侵检测系统可以更好地保护网络安全。机器学习算法分析大量数据来检测入侵行为,并且保护系统免受恶意攻击者的意外使用。由于攻击和正常数据之间存在显著差异,它们的特征在正常类和攻击类之间在统计上是不同的,通过机器学习算法进行特征分析,分析的特征是过度关联的,并且大多数特征能够区分正常流和攻击流。通过机器学习和统计技术,可识别正常流量的统计规律,并挑选出任何偏离正常模式的异常数据包,可以用于检测新的攻击方法。入侵检测系统可识别入侵行为与正常行为的偏差,在遇到未知行为的情况下,向可能的攻击或者是新型攻击发出警报[5]。
为了对入侵检测算法进行评价,可以参考机器学习中的对混淆矩阵分类算法的评断标准进行计算,见表1。
表1 混淆矩阵
根据表中的内容,可以定义不同的指标用于衡量入侵检测算法的性能,TP 代表实际为入侵行为同时被检测为入侵行为的样本个数,FP 代表实际为正常行为但被认定为入侵行为的样本个数,FN 代表实际为入侵行为但被检测为正常行为的样本个数,TN 代表实际为正常行为同时也被检测为正常行为的样本个数。
4.1.1 检测率
检测度描述了预测的可靠性和准确性,检测率的公式如(1)所示,检测率用于描述在被预测为入侵行为中实际上真正为入侵行为的比例,即在被预测为入侵行为的样本中,算法预测对的比重。检测率反映的是检测算法对样本的查准率,当检测率越高时,说明入侵检测算法识别的结果越准确。
4.1.2 召回率
召回率描述了被成功预测为入侵行为的概率,召回率的公式如(2)所示。召回率是针对原样本而言的,用于描述被判断为入侵行为的样本占所有实际上为入侵行为的比例,即在真实情况是入侵行为的情况中,算法预测对的比重。召回率反映的是检测算法对样本的查全率,召回率越高说明能够验证更多的入侵行为。
4.1.3 准确率
准确率描述了预测正确的概率,准确率的公式如(3)所示,正确预测的单元所占的比例,所有判断正确的结果占总体样本的比重,即预测结果与真实结果完全相符的比例。准确率越高说明了入侵检测算法的整体性能更好,检测结果更优,适用性和安全性更为出色。
准确率ACC=(TP+TN)/(TP+TN+FP+FN) (3)
本文选取 NSL-KDD 数据集为安全算法对象,通过机器学习算法对计算机网络数据集进行测试分析。在入侵检测的实际应用中,网络安全算法在机器学习的帮助下,可以实现对网络数据安全进行有效检测。通过特征测试分析人工智能优化后的机器学习算法流程变化及效率等级。
第1 阶段,依据机器算法特征,选取进行检测的NSLKDD 数据集进行相关分析。首先,进行数据预处理分析,攻击类型的名称在数据集中以字符串的方式存储,机器学习算法无法训练数据类型为字符型的数据,所以在进行训练前需要将类型标签转化为数字标签。调整数据格式将数据类型统一为数值型,以便使用相同的格式进行测试集和训练集分析。其次,分类数据标签,1 代表入侵行为,0 代表正常行为,二进制的分类有利于机器学习算法进行检索分析。第2 阶段,选取特征向量,根据入侵计算机网络的特征格式使用分类器对入侵行为进行分类和选取,降低原始数据的维度,将数据集的原始文档转化为标准的矩阵格式输入,并且排除无用和冗余的特征向量。第3 阶段,通过机器学习算法分类器对数据进行分类。首先,使用训练数据集训练算法模型,采用传统K-Means 算法、Logistic 回归、决策树、随机森林4 种算法进行训练比较,通过机器学习算法分析训练数据并识别模式,形成分类器推断函数,使其成为一个二元分类器,在输入数据后输出分类结果。
实验的结果见表2。本实验中使用4 种算法来构建入侵检测模型,这4 种算法是传统K-Means 算法、支持向量机(SVM)、决策树和随机森林。如表2 所示,从检测率PP、召回率Pr、准确率ACC 3 个指标当中对4 种算法进行评价。准确率而言,随机森林是实验中最准确的入侵检测算法,其准确率为 92.87%,紧随其后的是决策树(91.28%)、支持向量机(86.56%),最后是传统K-Means算法 (66.26%)。从图1 中可以看出,随机森林算法的准确率比传统K-Means 算法高出26.61%,决策树算法的准确率比传统K-Means 算法高出25.02%,支持向量机SVM 算法的准确率比传统K-Means 算法高出20.3%。支持向量机(SVM)、决策树和随机森林3 种基于监督学习的机器学习算法,在检测率、召回率、准确率3 个评价指标上都显著优于传统K-Means 算法,表明经过人工智能技术协同后,机器学习算法对网络入侵的检测结果更准确,采用监督学习的算法模型往往比无监督学习的算法更加准确,在检测评估参数的各个方面都有较好的性能,适用性和安全性更为出色。
表2 入侵检测实验结果 单位:%
传统的网络安全技术或许难以完全防止网络攻击和黑客攻击,而利用机器学习算法在分析、检测和各种网络攻击中都有广泛的应用,可以更好地加强网络安全的防御体系。通过本文的入侵检测实验发现,采用监督学习的算法模型比无监督学习的算法更加准确,在入侵检测评估参数的各个方面都有较好的性能。机器学习算法在检测过程中的准确性和自发性得到提高,以减轻网络空间中面临的各种风险。机器学习算法在分析和检测计算机系统中的任何网络攻击方面具有价值应用,这已经说明了机器学习算法在改善网络安全领域方面的潜力。因此,机器学习算法在网络安全防御中的实施与应用具有广泛的空间。