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,一经查实,立即删除!

相关文章

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 整…

大文件上传服务-后端V1V2

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

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

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

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

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

【数据库】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 系统展示 租客注册 添加租客界面 租客管理 房屋类型管理 房屋信息管理 系统管理 摘要 本文首…

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

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

PE文件:节表-添加节

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

图论的起点——七桥问题

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

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

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

02JavaWeb——JavaScript-Vue(项目实战)

一、JavaScript html完成了架子,css做了美化,但是网页是死的,我们需要给他注入灵魂,所以接下来我们需要学习 JavaScript,这门语言会让我们的页面能够和用户进行交互。 1.1 介绍 通过JS/js效果演示提供资料进行效果演…

Windows 蓝牙驱动开发-蓝牙设备栈

蓝牙设备栈 蓝牙驱动程序堆栈包含 Microsoft 为蓝牙协议提供支持的核心部分。 有了这个堆栈,已启用蓝牙的设备可以彼此定位并建立连接。 在此类连接中,设备可以通过各种应用程序交换数据并彼此交互。 下图显示了蓝牙驱动程序堆栈中的模块,以…

GPU 硬件原理架构(一)

这张费米管线架构图能看懂了,整个GPU的架构基本就熟了。市面上有很多GPU厂家,他们产品的架构各不相同,但是核心往往差不多,整明白一了个基本上就可以触类旁通了。下面这张图信息量很大,可以结合博客GPU 英伟达GPU架构回…

CSS布局与响应式

学习链接 Grid网格布局 前端五大主流网页布局 flex布局看这一篇就够了 grid布局看这一篇就够了 用六个案例学会响应式布局 伸缩盒响应式页面布局实战 实现响应式布局的五种方式 - csdn 如何完成响应式布局,有几种方法?看这个就够了 响应式布局总…

大疆最新款无人机发布,可照亮百米之外目标

近日,DJI 大疆发布全新小型智能多光旗舰 DJI Matrice 4 系列,包含 Matrice 4T 和 Matrice 4E 两款机型。DJI Matrice 4E 价格为27888 元起,DJI Matrice 4T价格为38888元起。 图片来源:大疆官网 DJI Matrice 4E DJI Matrice 4T D…

Nmap入门

- 在已有的参数上加上哄骗或是使用文件 nmap -iL data.txt ------- nmap -PS -PA -O -ttl 200 -F -D dcay1, dcay2,dcay3... -vv -P 3306 1.1.1.0/24 -oN data.txtNmap端口的6个状态 open 应用程序正在该端口接收TCP或UDP报文 closed 关闭的端口对于Nmap也是可访问的(它接受…

ubuntu18.04开发环境下samba服务器的搭建

嵌入式linux的发展很快,最近准备在一个新项目上采用新一代的linux核心板,发现linux内核的版本已经更新到5.4以上甚至6.0以上;之前常用的linux内核版本是2.6.4,虽然在某些项目上还能用但是明显跟不上时代的步伐了,所以要…