【XSS_MSN】基于GCN的web攻击Payload识别与可解释性分析

原文标题: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攻击相关的字符拥有更高的积极影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/111252.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字节码增强技术-ASM

概述 在Java中一般是用javac命令编译源代码为字节码文件,一个.java文件从编译到运行的示例如图所示: 使用字节码的好处:一处编译,到处运行。java 就是典型的使用字节码作为中间语言,在一个地方编译了源码,拿着.class …

TCP/IP模型五层协议

TCP/IP模型五层协议 认识协议 约定双方进行的一种约定 协议分层 降低了学习和维护的成本(封装)灵活的针对这里的某一层协议进行替换 四/五层协议 五层协议的作用 应用层 应用层常见协议 应用层常见协议概览 基于TCP的协议 HTTP(超…

AI绘画的魅力与未来:人工智能如何重塑艺术创作

随着人工智能(AI)技术的不断进步,AI绘画已经成为艺术与技术交汇的新领域。通过深度学习、神经网络等先进技术,AI不仅能理解和模拟人类艺术家的创作风格,还能生成令人惊叹的原创艺术作品。本文旨在探讨AI绘画的现状、挑…

ChatGPT AIGC自动生成多条件复杂计算函数

在Excel中经常会遇到多条件判断,根据不同的条件与内容显示不同的值。 例如: 需要给每个员工根据入职年限,员工等级,满意度等维度给员工发年终奖。 这在职场办公过程中经常要面临的一个问题。如销售额达到多少,取多少提成,如学生成绩在什么区间是设置为优秀还是良好等一…

python 对图片增加边框,logo贴图,获取图片exif参数,填写图片文本内容

完整代码 # 找到个可以下载免费字体的网站https://font.chi删除我naz.com/mi删除我anfei.html from PIL import Image, ImageDraw, ImageFont import exifreaddef photo_exif(image_path):f open(image_path, rb)tags exifread.process_file(f)# 打印所有照片信息&#xff0…

2023CRM排行:深度对比16款CRM

客户关系管理系统(CRM)作为数字化转型的重要载体,选择一个优秀的CRM系统将为企业未来健康增长保障。市场上CRM软件众多,但很难分清哪个适合自己,最近赶在公司选型,我对市场所有软件进行了一个调研&#xff…

单点登录是什么?

单点登录(Single Sign On, SSO)是指在同一帐号平台下的多个应用系统中,用户只需登录一次,即可访问所有相互信任的应用系统。 单点登录的本质就是在多个应用系统中共享登录状态。如果用户的登录状态是记录在 Session 中的&#xff…

异或运算.

相同为0,不同为1。 1 ^ 10 0 ^ 00 1 ^ 01 0 ^ 11性质: 0 ^ N N N ^ N 0交换、结合 a ^ b b ^ a; (a ^ b) ^ c a ^ (b ^ c); 因此异或全部的元素的结果就是那个只出现1次的元素。 实现两个值的交换,而不必使…

C的魅力在于指针

原有的adrv9025 代理框架很好用,在其原有的平台上做改进

Python特征分析重要性的常用方法

前言 特征重要性分析用于了解每个特征(变量或输入)对于做出预测的有用性或价值。目标是确定对模型输出影响最大的最重要的特征,它是机器学习中经常使用的一种方法。 为什么特征重要性分析很重要? 如果有一个包含数十个甚至数百个特征的数据集,每个特征…

C#冒泡排序算法

冒泡排序实现原理 冒泡排序是一种简单的排序算法,其原理如下: 从待排序的数组的第一个元素开始,依次比较相邻的两个元素。 如果前面的元素大于后面的元素(升序排序),则交换这两个元素的位置,使…

汽车屏类产品(四):仪表Cluster

###前言 仪表Cluster/仪表盘Dashboard,作为伴随汽车诞生就存在的一个主要零部件之一,从机械到电子到数字,可以说也是逐渐发展到现在的。 目前的主流框图如下,中间processor就是主控芯片,可能有buttons/switches,有display显示屏+backlight背光,有audio->speake…

线性代数-Python-01:向量的基本运算 -手写Vector -学习numpy的基本用法

文章目录 代码目录结构Vector.py_globals.pymain_vector.pymain_numpy_vector.py 一、创建属于自己的向量1.1 在控制台测试__repr__和__str__方法1.2 创建实例测试代码 二、向量的基本运算2.1 加法2.2 数量乘法2.3 向量运算的基本性质2.4 零向量2.5 向量的长度2.6 单位向量2.7 …

mybatis自定义类型控制器(TypeHandler)处理将字符串处理为集合

1. 问题: 假设这么一个场景 localurl里面的值大概这样:dwad21.jpg,dwad22.jpg,dwad.23.jpg 是一个字符串 如果我在sql表中有一个字段(local_url)是本地图片资源的多个url字符串拼接值。我想在java后端中不进行额外的转换就取值加…

【Qt控件之微调框、进度条】QSpinBox、QDoubleSpinBox、QDial、QProgressBar介绍及使用

概述 QSpinBox类提供了一个微调框小部件。 QSpinBox适用于处理整数和离散的值集(例如,月份名称);对于浮点数值,请使用QDoubleSpinBox。 QSpinBox允许用户通过点击上下按钮或按键盘上的上下箭头来增加/减少当前显示的值…

Hadoop3教程(二十三):Yarn的三大调度器

文章目录 (129)FIFO调度器(130)容量调度器特点资源分配算法 (131)公平调度器特点缺额的定义队列资源分配方式基于FIFO策略基于Fair策略资源分配算法 DRF策略 参考文献 (129)FIFO调度…

搭建react项目

一、环境准备 1、安装node 官网下载安装:https://nodejs.org/en 注: npm5.2以后,安装node会自动安装npm和npx 2、安装webpack npm install -g webpack3、安装create-react-app npm install -g create-react-app二、创建react项目 1、初…

MSQL系列(六) Mysql实战-SQL语句优化

Mysql实战-SQL语句优化 前面我们讲解了索引的存储结构,BTree的索引结构,以及索引最左侧匹配原则,Explain的用法,可以看到是否使用了索引,今天我们讲解一下SQL语句的优化及如何优化 文章目录 Mysql实战-SQL语句优化1.…

GDPU 数据结构 天码行空5

一、实验目的 1.掌握队列的顺序存储结构 2.掌握队列先进先出运算原则在解决实际问题中的应用 二、实验内容 仿照教材顺序循环队列的例子,设计一个只使用队头指针和计数器的顺序循环队列抽象数据类型。其中操作包括:初始化、入队…

开关电源芯片好坏的判断标准是什么?如何判断电源芯片的好坏?

电源芯片是电子设备的一个重要元件,如果电源芯片损坏,那么设备也将停止工作。开关电源芯片是一种电源管理器件,可以将输入电压转换为稳定的输出电压。为了开关电源芯片可以正常稳定运行以及电子设备可以正常工作,对于电源芯片的检…