论文笔记集 DeepLearning for Web Attack Detection
Posted on Tue 13 April 2021 in AIForSecurity • Tagged with waf, NetworkSecurity, MachineLearning, Security • 2 min read
在zeroWall一文中, 已经简单介绍了利用机器学习辅助Waf的方法. 实际上zeroWall一文所述的领域即网络攻击检测(web attack dection). 这里简述一些阅读过的但整体方法不够有启发性或实验不够solid的论文.
Anomaly-Based Web Attack Detection: A Deep Learning Approach
本文认为一组URL可以规范化为如下形式, 即abs_path表示资源地址, 而query总是跟在"?" 标记之后
"http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
首先将一组URL经过序列化后分为两个部分: URL本身(图中表示为全部URL, 但按照文章所表述的URL Path 应该不含query部分)以及Query部分, 见图1.

随后将两组数据经过分词之后分别传入两个RNN结构(两层的GRU或LSTM)的神经网络以及计算其异常概率, 最后将所有的输出汇总(文中并未给出使用何种方式汇总两组RNN给出的多组异常概率)并输出给一MLP层作为最终的异常概率. 见图二

实验环节, 本文使用HTTP CISC数据集进行测试, 其结果如图三所示

结论
基于有监督的异常检测的泛化性是一个比较严重的问题, 而且本文因为工作量的较大原因仅处理了HTTP GET的请求, 在网络攻击中POST等其他提交数据的请求同样是十分危险的 …
Continue reading

可以看出整个系统架构分为两个部分(实际是三个部分, 即传统的waf框架自身的运行在图中被省略, 当流量未触发waf规则时, 其会被放行).
在offline periodic retrain部分中, 其分为四个阶段数据积累, 词汇表构建(vocabulary), 词汇解析(token parser)以及训练. 其主要功能就是词汇表构建和训练. 以保证能对新出现的请求进行正常识别.
在online detection部分中, 其分为六个阶段请求过滤(在图中未体现), 词汇解析, 翻译, 异常检测以及人工调查. 一条请求经过上述六个阶段后 …