原文标题:Web Attack Payload Identification and Interpretability Analysis Based on Graph Convolutional Network
原文链接:https://ieeexplore.ieee.org/document/10076547/
作者单位:四川大学网络安全学院
相似原理论文:GraphXSS: an efficient XSS payload detection approach based on graph convolutional network,两篇论文应该来自同一个组,含两个共同作者
论文中Web Payload攻击可分为SQL注入、XSS、命令注入、文件泄露、XML注入等攻击。
1、论文针对的关键性问题
- 如何结合字段间的联系以及双向关系用于分析
- 如何结合微观和宏观视角提取web攻击Payload特征,以减少Payload稀释问题所带来的影响 Hackers will also attempt to construct long payloads for attacks, which serve multiple purposes,The first is to create a buffer overflow error, which can be used as a vulnerability to attack. Secondly, some Web firewalls read a limited number of character lengths and cannot detect content beyond the maximum number. Hackers can use it to construct malicious code after the maximum size. In addition, long payloads can dilute the proportion of malicious content in the payload, reducing the probability of some detection models identifying them as malicious。
- 如何构建一个更具解释性的web攻击Payload检测模型
2、论文中所做的工作
- 提出了一种基于图关系的Web Payload建模方法(基于word),可在宏观视角(图)和微观视角(节点)提取Payload的特征
- 提出了一种基于GCN的Web Payload攻击识别方法,节点的初始特征向量采用Bert预训练模型获取,并由GCN执行节点embedding,进而得到图的表示向量,训练模型得到Payload攻击识别模型。
- 设计实验并对所提到的方法进行了可解释性分析
3、论文的详细设计
1)Web Payload 图构建
Web Payload图类型: 无向图
两种节点类型:字段名称(field name)、参数值依据预设规则切分后的token。进一步论文在构建图时分为了纯数字、纯字母、特殊字符以及其他四种节点类型,各自占比如下。
三种边类型:字段名称之间的双向连接、字段名称与参数值的(value的第一个token)连 接、参数值token之间的序列关系
2)检测框架说明
数据层:数据来自Web服务器日志和Pcap文件,Payload均含字段名称和参数值,对混 淆的Payload执行解码、等式替换以及无关字符删除等多次类似的数据恢复操作。
图构建层:参考1),节点特征通过预训练的Bert模型获取。
训练层:采用GCN训练,做图分类任务
3)可解释性分析
通过删除节点,计算每个节点的影响率,通过分析高影响率的节点来做可解释性分析。
4、实验分析
数据集:CSIC 2010 v2 HTTP dataset
实验主要结果:论文实验是做图分类任务,使用RF、LSTM、SVM等做对比实验时,提取了节点特征做融合,作为某个Web Payload的特征向量。
5、总结
论文使用Web payload参数对进行图构建,并进一步将节点类型划分为纯数字、纯字符、特殊字符以及其他共四种类型,边包含参数之间的互联关系、参数与参数值第一个token的邻接关系、参数值的序列关系三种,最后做一个GCN图分类任务,同时对预测结果的可解释性做了初步探索,其结果表明与Web攻击相关的字符拥有更高的积极影响。