网络攻击正在快速发生,使人类分析员不堪重负,必须使用更快、更有效的检测技术。机器学习算法有助于提高检测速度,并识别人类分析员可能错过的模式。传统上,需要一个主题专家来确定网络攻击的最有影响力的特征,以便将这些特征嵌入到检测机制中,如机器学习模型。然而,由于围绕数据集收集和利用的微妙因素,以及导致现实世界应用结果不可靠的评估方法,数据包层面的网络流量攻击检测是复杂的。我们之前在恶意网络流量检测方面的工作试图将这一过程自动化,利用数据包的原始字节,包括传输层头和有效载荷,以及深度学习(即一维卷积神经网络[1D CNN]和前馈神经网络),并取得了98.99%的F1得分,同时减少了对主题专家特征工程的需求。
此外,在以前使用监督学习方法的研究中,简要地指出,当只使用传输头字段字节作为特征时,与将数据包字节特征与传输头字段字节结合起来作为特征时,我们取得了相当的F1分数。我们还注意到:1)网络数据包加密(如传输层安全[TLS])的日益普遍,排除了对传输层有效载荷的检查;2)当模型使用流量级或包间特征时,由于等待连接关闭或达到超时,以及这些历史特征的计算/处理时间,决策将被延迟。因此,我们试图研究仅使用头域字节作为数据包级别的异常检测的特征。我们之前的方法的一个局限性是,深度学习模型带来了一些复杂性,是资源密集型的,与传统的机器学习模型相比,提供的解释能力较差。我们先前工作的观察表明,与使用有效载荷和标题字节相比,只使用数据包的有效载荷时,分类器的性能有所下降。我们的观察促使我们进一步调查只使用包头字段的效用。我们试图确定使用无监督的异常检测方法的功效,以限制包含良性和恶意样本的标记数据集的必要性。
研究重点是在资源有限的环境中,如战术边缘,尽量减少训练和预测时间。在Wang等人的研究中,作者从传输控制协议(TCP)会话有效载荷或所有层中选择了784个字节,并将这些字节转换为28×28的灰度图像,使用这个特征集来训练LeNet-5(即图像)启发分类器。Zeng等人使用代表为30×30灰度图像的900个字节作为他们的特征集来训练他们的分类器,该分类器由三个并行架构组成--一个堆叠的自动编码器(AE)、一个两层1D-CN和一个长短期记忆(LSTM)分类器。然而,向某些领域转换的额外步骤会增加计算时间的开销,并有可能造成信息损失。我们承认,由于在其他领域有最先进的算法,数据的领域转换有可能导致更好的模型表现。这些最先进的算法可能能够使用不同的视角来识别相同数据中的不同模式。然而,数据转换可能会增加分类/检测决策的计算开销,可能会因为对原始数据的误解或误报而造成进一步的信息损失,并且可能会增加对特征集的大小或使用的特征类型的限制。因此,为了确保我们不引入任何不必要的计算开销或限制,并采用一种在现实世界中切实可行的方法,即加密的有效载荷是常态,我们将我们的网络异常检测和二元分类模型的特征限制在只有原始形式的数据包头字段(TCP/互联网协议[IP]),而不使用历史信息,如网络流量统计或数据包间特征。我们使用这些网络头字段而不进行域转换,期望它能更有效地利用资源,并防止在域转换过程中对原始数据的任何潜在误解或误报。
之前的一些研究利用网络数据包的原始字节作为与机器学习算法相结合的特征。Lotfollahi等人的DeepPacket框架由一个堆叠的AE和一个CNN组成,使用IP有效载荷的前1480字节作为输入特征,辨别加密和非加密流量。然而,另一个例子是DeepMAL架构,包括一个1D CNN和LSTM的组合,使用有效载荷的前1024字节作为输入。另一个使用TCP/用户数据报协议(UDP)头和有效载荷的原始字节的例子是nprint,它专注于网络流量分析和分类。 虽然这些工作中有许多是利用数据包的原始字节,但它们并不关注TCP和IP头中的特定字段来进行异常检测。此外,这些工作只关注监督学习方法,需要大量的标记数据来进行训练。
我们建议利用无监督学习来进行异常检测。我们还评估了有监督和无监督的异常检测方法之间的性能差异。我们承认,异常检测与攻击检测不一样。也就是说,存在着被认为是良性的异常,反之,一些攻击不会被认为是个别包头层面的异常。具体来说,我们工作的重点是基于异常的技术来检测网络攻击。
我们的贡献包括以下内容:
对单纯使用TCP/IP数据包头进行异常检测和网络攻击分类的功效进行实证调查和分析
深入分析/讨论由以下方面引入的错综复杂的问题和注意事项:
当恶意行为存在于网络流量的一个或多个层面时,对其进行标记
使用异常检测技术来确定恶意行为的来源
使用网络攻击检测模型的评估技术,但没有考虑和权衡这些模型如何用于现实世界的场景/应用,以及什么是成功的检测(即,在什么时候一个警报或一组警报能提供可操作的信息?)
对使用监督学习作为检测性能的基线进行分析和比较,并讨论对数据集创建的网络环境有偏见的结果
对无监督学习(主成分分析[PCA]和AE)与监督学习(随机森林、逻辑回归、随机梯度下降[SGD]逻辑回归和SGD线性支持向量机[SVM])算法在网络攻击检测中的表现进行经验调查和分析