【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路

WriteUp 9个月前 admin
215 0 0
【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路

2022 CCF BDCI

数字安全公开赛


赛题Web攻击检测与分类识别

地址:http://go.datafountain.cn/4Zj

@啊对对对战队

获奖方案


团队简介


我们是一支来自安恒信息的团队,团队成员来自西安电子科技大学、长春大学等高等院校,主要研究方向为大数据安全、Web攻击、入侵检测、日志分析、自然语言处理。

团队成员叶方庆从事网络安全行业多年、具有红队经验、对深度学习有所研究。

团队成员周芷慧来自西安电子科技大学网络安全与信息专业,研究方向为Web攻击检测和大数据安全。

团队成员陈越人就读于长春大学网络空间安全,现于安恒信息实习,研究方向是联邦学习和自然语言处理。

我们团队致力于将科研成果转化为实际应用,探索机器学习、深度学习算法在网络安全领域的应用场景,为维护网络安全添力。

【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路


摘要


近年来,针对Web应用程序的攻击不断增多,攻击者可以通过操纵用户从Web应用发出的请求来控制Web服务器,从而造成严重的数据泄露和财产损失等安全问题。因此,检测恶意的Web攻击对于防止网络犯罪的发生是至关重要的。而在Web攻击检测实施的传统的机器学习方法需要人工特征提取,效率低下。基于此,本文提出基于端到端深度学习的Web攻击检测方法,首先对文本使用n-gram分词得到字典,根据HTTP报文特性,使用在文本分类任务上有较好效果的TextCNN模型,同时考虑到特征的局部有序性,结合使用了LSTM模型,为了提高模型的检测精度,引入了注意力机制。该模型在Web攻击检测与分类识别比赛的数据集上进行了测试,具有准确性高、稳定性好、可泛化能力强的特点。


关键词


Web攻击检测与分类、深度学习、

TextCNN、LSTM、注意力机制


方案思路


随着互联网技术的不断发展,越来越多的Web应用程序出现在我们的生活中。Web应用程序给日常生活带来便利的同时,也给使用者带来了风险。可用性和过度使用使Web应用程序成为了网络攻击的目标。攻击者可以用多种手段攻击Web应用程序、破坏特定的资源、从数据库中窃取数据、中断服务或访问Web应用程序。因此,研究人员提出了基于黑名单、基于异常和基于启发式的防御方法。然而传统的基于黑名单的防御方法需要对恶意的流量进行精确的匹配,也因此很容易被绕过。依赖规则判断的基于异常的方法具有局限性,它需要安全从业人员具有广泛的知识,选择正确的鉴别特征使其有效。启发式的方法创建已知的攻击模式的签名来扫描网站。这些方法都只对已知攻击有效,而无法检测新的攻击方式,攻击者可以很容易地绕过预定义的签名。

针对目前日益严重的网络安全威胁以及对数据安全保护的需要,越来越多的研究者探索使用机器学习和深度学习的方法来对恶意Web攻击进行检测。本赛题需要我们对给定的流量数据集进行分析,使用特征工程、机器学习和深度学习等方法构建AI模型,实现对每一条样本正确且快速的分类。

赛题训练集分为六种不同的标签,分别是白样本、SQL注入、目录便利、远程代码执行、命令执行和跨站脚本攻击。共计约3.5万条数据。训练数据集字段主要包括:样本编号、共计类型编号和HTTP协议内容。赛题采用F1分数对预测结果进行评估,如下公式所示:

【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路


通过分析所给数据集,查看所给训练集中HTTP协议的内容,由于HTTP报文中有不少的疑似可执行代码段,怎样提取相关特征,区分相对应具备该特征的攻击类型并让模型能够有较好的区分能力的同时具备良好的泛化能力和通用性,我们想到采用基于深度学习文本分类的方法进行建模。


方案架构


首先对流量数据建立词表,转化为词向量,然后使用模型进行预测,最后输出结果并对结果进行预测。模型的整体架构流程如下图所示:

【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路

图1:模型整体架构流程图


2.1 数据预处理与分词


首先对数据集进行预处理,为了方便之后的输入,我们将文本数据连接起来成为一行,并对其进行URL解码。分词部分,我们选择了n-gram的分词[1],n取了3的大小,分词效果如图2所示。主要是有以下考虑:

(1)考虑到url部分没有普通文本的空格分隔,也没有所谓的停顿词等。而且特殊字符不能处理掉,因为都存在独特的含义。

(2)很多不可见字符被url编码成了特定的格式,还有一些可能是国内的程序员使用了拼音,或者拼音缩写,又或者是英语拼写错误。这些情况叠加再一起,导致分词困难。所以这考虑到url编码针对特殊字符的转义都是3的大小,比如空格的%2a。

【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路

图2:分词效果图


2.2 模型选择


模型框架如下图所示,本文设计的模型包含了五个部分,分别是词嵌入层、TextCNN模型、LSTM模型、注意力机制。

【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路

图3:模型框架


考虑到URL中部分参数的位置变换并不影响访问结果,由于卷积神经网络具有平移不变性,我们选择使用在文本分类任务中有着较好效果的TextCNN模型。TextCNN是Yoon Kim在2014提出的文本分类模型[2],TextCNN的卷积核选择[3,5,7]三个,并且每个输出256个维度。3种卷积核总计输出768维的特征。如下图所示:

【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路

图4:TextCNN模型


我们在TextCNN模型中,加入了BatchNorm层,放在了激活函数ReLU之后。也就是先卷积,再激活,再经过BN层,最后进行1d的最大池化层。BN层可以有效的加快收敛,并且提升网络的稳定性,极大的延缓了长期训练过拟合的到来节点。

URL中的参数具有无序性,大部分的攻击都可以通关键词来判断,使得TextCNN在识别具体攻击的应用中展现了良好的效果。但是其中部分特征具有局部有序性,例如SQL的注入语句部分。所以我们考虑使用RNN模型来加强对这一部分特征的识别能力,这里选择使用的是双向LSTM模型[3],隐藏层参数位128,一共有两层。双向循环神经网络的基本思想是提出每一个训练序列向前和向后分别是两个循环神经网络,而且这两个都连接着一个输出层。这个结构提供给输出层输入序列中每一个点的完整的过去和未来的上下文信息。

【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路

图5:双向循环神经网络模型


为了提升模型精度我们还加入了Attention机制[4],Attention注意力机制的引入,解决了由长序列到定长向量转化而造成的信息损失的瓶颈。Attention机制跟人类翻译文章时候的思路有些类似,即将注意力关注于我们翻译部分对应的上下文。Attention机制的实现是通过保留LSTM编码器对输入序列的中间输出结果,然后训练一个模型来对这些输入进行选择性的学习并且在模型输出时将输出序列与之进行关联。


方案亮点


3.1 模型通用型


深度学习模型端到端的特性使得我们所提出的模型在数据处理方面具有通用性的优势。在数据处理阶段,我们将各个字段按顺序连接,没有对缺失值进行额外处理,目的是为了使模型能够对不同情况适用,即数据经过拼接就能直接输入模型进行判断。这种设计下的模型具有很强的通用性。

其次是对标签或数据变化的通用性,设计的模型可以适用于未来要对数据集进行扩充或者调整新的标签类别的情况。在面对这种情况时,与传统机器学习算法相比,我们模型的训练和结果具有很强的通用性,不需要去做大量特征提取的工作。

最后是对适用场景的通用性,除了可以用在流量之外,该模型还能用在服务器的access日志上。比赛数据集中有大部分包含了post数据包的body数据,但也有不少数据不包含这部分数据,所以对于不包含body数据的access日志也能直接适用,极大了增加了模型的适用范围。该模型同样也能处理http数据包,只需导出文本内容即可。


3.2 模型的低误报率


对于应用于网络安全场景下的模型,对低误报率的要求较高。对于线上的实际环境而言,面对海量数据所带来的大量误报是不能被接受的,需要大量的人力来做最后的鉴别。

模型在本地测试的时候,最高成绩的混淆矩阵中,白样本的误报率是0,主要是因为本地数据较少,结果会有些许的偏差。模型中LSTM层的作用除了提取有序特征外,同时也是为了减少模型的误报。


结果


在本赛题中,我们针对Web攻击检测和分类识别的场景基于深度学习算法设计了分类模型,该分类模型在赛题所给训练集上进行训练,训练损失曲线以及准去率和F1分数如图6、7、8所示。我们通过调研分析,考虑到模型的通用性,选择了有端到端特征的深度学习算法,同时考虑特征的局部有序性,我们采用将TextCNN模型和LSTM模型相结合并加入注意力机制来提高检测精度。模型采用F1分数作为评估标准,如下图所示,我们的模型在验证集上分类准确率和F1分数均能达到0.96。在测试集上的F1分数为0.9695,具有较高的检测精度。

【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路

图6:模型训练损失曲线


【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路

图7:模型训练F1分数


【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路

图8:模型训练准确率


致谢


首先感谢主办方和DF平台,为选手们提供舞台一展风采,在比赛中,我们开拓了视野,学到了新知识,锻炼了自身能力;感谢指导老师对我们的鼓励和帮助;感谢各位选手的无私分享和讨论,大家都赛出了风采;最后感谢团队的每位小伙伴,我们互相鼓劲,共同进步。最后,感谢相遇,前路漫漫,共勉!


参考


[1]  Kim Y . Convolutional Neural Networks for Sentence Classification[J]. Eprint Arxiv, 2014.

[2]  Gf A ,  Schmidhuber J ,  Cummins F . Learning to Forget: Continual Prediction with LSTM[C]// Istituto Dalle Molle Di Studi Sull Intelligenza Artificiale. Istituto Dalle Molle Di Studi Sull Intelligenza Artificiale, 1999

[3]  Vaswani A ,  Shazeer N ,  Parmar N , et al. Attention Is All You Need[J]. arXiv, 2017.

[4] Bartos, Karel et al. “Optimized Invariant Representation Of Network Traffic For Detecting Unseen Malware Variants”, USENIX Security Symposium (2016): 807-822.

[5] Wressnegger, Christian et al. “A close look on n-grams in intrusion detection: anomaly detection vs. classification”, Computer and Communications Security (2013): 67-76.


—End—


【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路
【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路

戳“阅读原文”,速来参赛办赛~

原文始发于微信公众号(DataFountain):【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路

版权声明:admin 发表于 2023年8月1日 下午5:01。
转载请注明:【三等奖方案】Web攻击检测与分类识别赛题「啊对对对」团队解题思路 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...