PenGymy论文阅读

这里发现idea被人家先发了,没办法,资料收集的不够全面,现在来学习一下这个项目

这篇论文的贡献如下:

总的来说,他的主要工作是构建逼真的仿真环境,然后根据这个仿真环境生成真实的靶场,使得这个智能体能够在这个真实的环境去互动。下面来逐渐解析他的工作,我尽量详细一点

1、背景和动机

        这种项目是在网络攻防中,攻防双方攻击者处于暗面,防御者处于明面,这时候受到攻击后应急处理多少会造成损失,那么要是可以提前预测攻击者的攻击路径,并提前防御的话,那么就能够节省很多工作。在安全领域叫做攻击路径预测。但是网络环境复杂化,要是网络高度敏感脆弱,攻击方式也多,导致攻击方式多样化。提前部署需要经验丰富的防御者,来识别这些潜在的攻击路径。修补这些路径的优先级也有所考虑。由于时间问题,暴力穷举也不是那么实惠。人们想要找到智能代理去做到这件事情。

        强化学习,就是这玩意智能体能够去自己试错,得到反馈去调整。诶不错哦。下面是他们的建模示意图。

        然后他们说,前面的搭大家做的仿真环境,需要的资源有限,大体说的是不够逼真把,和实际的结果还是有点区别的。要么就是前面做的动作比较少,看来他很自信。

2、论文工作

2.1 靶场部分

        前面说了,他实现了搭建自定义靶场环境,然后能在这个真实环境中交互,显然会比仿真环境更加真实。2018年Beuran等人描述使用 CyRIS模块来自动创建靶场环境。这篇论文就讲设计一个PenGym模块,把渗透测试场景(仿真环境)转换成为CyRIS描述,去创建这样一个网络靶场。作者强调:我们的实施涵盖主机配置和网络连接,包括网桥和虚拟接口。

2.2 PenGym框架

        这里说明下,前面的PenGym模块是这个框架的一部分。这个框架作者声称已将 PenGym 扩展为 RL 渗透测试代理的全自动、有效和现实的训练框架。它支持网络流量发现和基于主机的漏洞利用操作,包括 NASim 中的所有操作。

        他有两种模式,文章中用的词是simulation mode and an emulation mode.,一种算是更加逼真的仿真环境,另外一种就是前面说的包含着PenGym模块,将会创建靶场的真实环境。

        我们主要还是看这个PenGym模块的模式,他的流程是,首先从动作空间中挑选动作,然后应该会有一个模块去转换一下,变成实际执行的动作去执行,这里也就是他说的一个叫做状态/动作模块之类的东西,然后这个模块获取到了这个返回再返回给仿真环境。

2.3 智能体动作

        宣称是有六类动作空间的

2.4 动作优化

        执行的时间可能会比较长,作者对动作进行了两种优化,执行的动作所撰写的脚本使用了nmap等工具,这里使用了一些参数来节约时间,比方说:包括:-Pn、-n、-T5、--min-parallel 和 --max-parallel。此外,还提供了当前方案中可用的端口,以避免扫描不可用的端口,从而节省时间。
        第二就是在获取了主机权限后获取到足够的信息后停止对该主机的自动检查。文中是这样描述:
 Stopping conditions are determined to finish the Metasploit job earlier for these actions. This job will terminate once all shell information is obtained. However, some information is not required for subsequent actions. Stopping the job early can reduce execution time while preserving the functionality of the shell object.

  • 当 Metasploit 成功获得目标系统的 shell 后,它会收集相关信息。在某些情况下,并不是所有收集到的信息都对后续操作是必需的。
  • 通过在获取到所有必要的 shell 信息后及时停止作业,可以有效缩短执行时间。

2.5 训练时间优化

        作者觉得在优化训练阶段,一个动作获取到的信息可以重复利用,可以把他存起来

后续是作者一些实验方面的工作了  主要就是用三个环境训练的智能体相互在其他两个环境中测试下  感兴趣的可以阅读原文看一下  下面打算对这个项目进行复现 喜欢的话可以点点关注 交流一下

        

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

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

相关文章

基于Stable Diffusion 3.5 Large模型的微调技术详解

基于Stable Diffusion 3.5 Large模型的微调技术详解 引言 Stable Diffusion 3.5 Large(以下简称SD 3.5)是近年来在生成式AI领域备受关注的一个模型,尤其在图像生成任务中表现出色。它基于扩散模型(Diffusion Model)的架构,能够生成高质量的图像,并且在文本到图像(Tex…

JavaWeb 前端基础 html + CSS 快速入门 | 018

今日推荐语 指望别人的救赎,势必走向毁灭——波伏娃 日期 学习内容 打卡编号2025年01月17日JavaWeb 前端基础 html CSS018 前言 哈喽,我是菜鸟阿康。 今天 正式进入JavaWeb 的学习,简单学习 html CSS 这2各前端基础部分&am…

数字化时代如何甄选反垃圾邮件网关

在数字化时代,企业邮箱已成为企业沟通和业务运作的关键工具。然而,垃圾邮件的泛滥不仅干扰了正常的邮件往来,还可能对企业的运营造成严重影响。因此,企业必须采取措施,选择一套有效的反垃圾邮件网关来保护其邮件系统。…

从零搭建SpringBoot3+Vue3前后端分离项目基座,中小项目可用

文章目录 1. 后端项目搭建 1.1 环境准备1.2 数据表准备1.3 SpringBoot3项目创建1.4 MySql环境整合,使用druid连接池1.5 整合mybatis-plus 1.5.1 引入mybatis-plus1.5.2 配置代码生成器1.5.3 配置分页插件 1.6 整合swagger3(knife4j) 1.6.1 整…

mongodb详解二:基础操作

基础操作 数据库操作collection操作查看表插入数据查找数据 数据库操作 1.创建数据库 use test_db;如果没有数据库,use命令会新建一个;有的话,会切换到这个数据库 2.查看数据库 show dbs;collection操作 查看表 show tables;插入数据 …

大文件上传服务-后端V1V2

文章目录 大文件上传概述:minio分布式文件存储使用的一些技术校验MD5的逻辑 uploadV1 版本 1uploadv2 版本 2 大文件上传概述: 之前项目做了一个文件上传的功能,最近看到有面试会具体的问这个上传功能的细节,把之前做的项目拿过来总结一下,自己写的一个…

【机器学习】鲁棒(健壮)回归-Theil-Sen估计(Theil-Sen Estimator)

Theil-Sen估计 Theil-Sen估计是一种用于线性回归的非参数方法,其优点是对离群点具有鲁棒性。它通过计算数据点之间所有可能斜率的中位数来估计回归线的斜率,随后使用这些斜率估算截距。 核心思想 斜率估计: 对于给定的一组数据点 &#xff0…

配置Kubernetes从节点与集群Calico网络

在上一篇博客中,我们成功安装并初始化了Kubernetes的主节点,并且看到了集群初始化成功的标志信息。接下来,我们将继续安装从节点(worker nodes),以构建一个完整的Kubernetes集群。 步骤回顾 在上一步中&a…

vue2:实现上下两栏布局,可拖拽改变高度

要拖拽改变两栏高度,那么总高度要确定,在拖拽的过程中,实时根据光标位置计算两栏高度,所以: 1、最外层有一个box, 高度是屏幕高度screenHeight; 2、该值在页面挂载时获取初始值(window.innerHeight-100),这里减少100,因为窗口上面有工具栏; 3、监听窗口resize事件…

【数据库】MySQL数据库SQL语句汇总

目录 1.SQL 通用语法 2.SQL 分类 2.1.DDL 2.2.DML 2.3.DQL 2.4.DCL 3.DDL 3.1.数据库操作 3.1.1.查询 3.1.2.创建 3.1.3.删除 3.1.4.使用 3.2.表操作 3.2.1.查询 3.2.2.创建 3.2.3.数据类型 3.2.3.1.数值类型 3.2.3.2.字符串类型 3.2.3.3.日期时间类型 3.2…

做跨境电商服务器用什么宽带好?

做跨境电商服务器用什么宽带好?做跨境电商服务器,推荐选择光纤宽带或高性能的5G网络。光纤宽带高速稳定,适合处理大量数据和实时交互;5G网络则提供超高速移动连接,适合需要灵活性和移动性的卖家。具体选择需根据业务规…

光谱相机的光谱分辨率可以达到多少?

多光谱相机 多光谱相机的光谱分辨率相对较低,波段数一般在 10 到 20 个左右,光谱分辨率通常在几十纳米到几百纳米之间,如常见的多光谱相机光谱分辨率为 100nm 左右。 高光谱相机 一般的高光谱相机光谱分辨率可达 2.5nm 到 10nm 左右&#x…

Python毕业设计选题:基于django+vue的智能租房系统的设计与实现

开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 租客注册 添加租客界面 租客管理 房屋类型管理 房屋信息管理 系统管理 摘要 本文首…

pytest全局配置文件pytest.ini

pytest.ini 改变 pytest 的默认行为,一般放在项目的根目录,不能包含中文符号。不管是主函数模式运行,命令行模式运行,都会去读取这个全局配置文件。 [pytest] ;配置命令行参数,用空格进行分隔。addopts 中的选项会被命…

[Qualcomm]Qualcomm MDM9607 SDK代码下载操作说明

登录Qualcomm CreatePoing Qualcomm CreatePointhttps://createpoint.qti.qua

用C++实现一个基于模板的观察者设计模式

观察者模式 定义 观察者模式(Observer Pattern)是一种行为型设计模式,用于定义对象间的一对多依赖关系,使得当一个对象状态发生变化时,其所有依赖它的对象都会收到通知并自动更新。 核心概念 角色定义 Subject(被观察者): 持有观察者列表,维护观察者的注册和移除。 …

PE文件:节表-添加节

在所有节的空白区域都不够存放我们想要添加的数据时,这个时候可以通过添加节来扩展我们可操作的空间去存储新的数据(如导入表、代码或资源)。 过程步骤 1.判断是否有足够的空间添加节表 PE文件的节表紧跟在PE头之后,每个节表的…

【开源宝藏】Jeepay VUE和React构建WebSocket通用模板

WebSocket 服务实现:Spring Boot 示例 在现代应用程序中,WebSocket 是实现双向实时通信的重要技术。本文将介绍如何使用 Spring Boot 创建一个简单的 WebSocket 服务,并提供相关的代码示例。 1. WebSocket 简介 WebSocket 是一种在单个 TC…

图论的起点——七桥问题

普瑞格尔河从古堡哥尼斯堡市中心流过,河中有小岛两座,筑有7座古桥,哥尼斯堡人杰地灵,市民普遍爱好数学。1736年,该市一名市民向大数学家Euler提出如下的所谓“七桥问题”: 从家里出发,7座桥每桥…

Fabric区块链网络搭建:保姆级图文详解

目录 前言1、项目环境部署1.1 基础开发环境1.2 网络部署 2、后台环境2.1、环境配置2.2、运行springboot项目 3、PC端3.1、安装依赖3.2、修改区块链网络连接地址3.3、启动项目 前言 亲爱的家人们,创作很不容易,若对您有帮助的话,请点赞收藏加…