CN115473677A - 一种基于强化学习防御渗透攻击的方法及装置、电子设备 - Google Patents
一种基于强化学习防御渗透攻击的方法及装置、电子设备 Download PDFInfo
- Publication number
- CN115473677A CN115473677A CN202210949674.0A CN202210949674A CN115473677A CN 115473677 A CN115473677 A CN 115473677A CN 202210949674 A CN202210949674 A CN 202210949674A CN 115473677 A CN115473677 A CN 115473677A
- Authority
- CN
- China
- Prior art keywords
- value
- training
- network
- penetration
- host
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000035515 penetration Effects 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims abstract description 113
- 230000002787 reinforcement Effects 0.000 title claims abstract description 33
- 230000007123 defense Effects 0.000 title claims abstract description 23
- 238000012549 training Methods 0.000 claims abstract description 105
- 230000008569 process Effects 0.000 claims abstract description 73
- 230000009471 action Effects 0.000 claims abstract description 36
- 238000012360 testing method Methods 0.000 claims abstract description 28
- 230000004048 modification Effects 0.000 claims abstract description 18
- 238000012986 modification Methods 0.000 claims abstract description 18
- 230000008595 infiltration Effects 0.000 claims abstract description 7
- 238000001764 infiltration Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 7
- 230000007704 transition Effects 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 3
- 231100000572 poisoning Toxicity 0.000 description 14
- 230000000607 poisoning effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000005457 optimization Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000001939 inductive effect Effects 0.000 description 3
- 230000000149 penetrating effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 239000012466 permeate Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000008846 dynamic interplay Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于强化学习防御渗透攻击的方法及装置、电子设备,该方法包括:(1)将渗透测试过程建模为马尔可夫决策过程,其中所述马尔可夫决策过程包括状态、动作、奖励值;(2)训练智能体,其中所述智能体作为渗透攻击方,训练目标为生成当前最优渗透攻击路径过程;(3)将网络环境中敏感主机的价值进行符号翻转,并设置获得目标敏感主机的Root权限时渗透攻击的回合不结束,将渗透攻击的回合的结束条件修改为回合中训练步数达到了预定阈值;(4)将对主机价值的修改更新到步骤(1)的奖励值中,利用训练好的智能体对步骤(3)中的网络环境进行防御训练,重复防御训练的过程直至训练回合数达到预定阈值,得到防御渗透攻击的策略。
Description
技术领域
本发明属于面向网络空间安全及深度强化学习防御领域,尤其涉及一种基于强化学习防御渗透攻击的方法及装置、电子设备。
背景技术
渗透测试是指一种通过模拟黑客攻击的方法来对网络环境进行安全性测试的常用方法,一般传统的渗透测试主要依赖于人工操作,通过手动使用渗透工具如Namp(漏洞扫描工具),获得相关的漏洞信息,如漏洞运行的服务以及服务的类型等。扫描阶段完成后,再利用半自动渗透工具如Metasploit对目标主机进行具体的渗透操作。但随着主机漏洞类型的增加和网络规模的扩大,手动利用渗透测试工具对目标网络进行渗透将花费较大的人力和时间代价。而自动化渗透测试工具的诞生,如构建攻击图的方法可以在一定程度上解决该问题,攻击图是指一张展示目标网络中每个节点漏洞利用关系的连接图,从图中可以清晰的展示出该目标网络的攻击序列和每次采取对应渗透动作产生的影响。但随之而来的弊端是在每次网络拓扑更新的过程中,攻击图均需重新更新,无法与网络环境进行动态交互。于是,现如今的研究热点大多集中在智能化渗透测试,即基于强化学习算法框架,以不断试错的方式训练智能体完成自动化渗透测试过程从而实现智能化渗透测试,并且面对网络环境的更新,智能体也能生成相应的策略。
因此,基于强化学习算法框架的智能化渗透测试可以有效地降低成本来进行网络空间的安全测试防御。智能化渗透测试结合了强化学习算法和渗透测试方法,并将渗透过程建模为马尔可夫决策过程。为了能进一步加强智能化渗透测试效果,需要对渗透路径进行优化决策,从而可以及时发现网络环境中存在的脆弱性以及攻击者可能会采取的渗透路径,以进一步加强网络安全防护。但是在马尔可夫决策建模过程中,强化学习算法的策略优化依赖于训练数据,一旦训练数据被恶意攻击者获取并进行恶意污染,则会使得策略失效,从而无法有效对网络的安全性进行渗透测试,实现系统的安全防护。
在对强化学习模型的训练过程中,将训练数据被恶意攻击者获取并进行恶意污染从而导致智能体策略失效的方式称为中毒攻击,而基于强化学习的中毒攻击方法按照攻击场景的不同可分为对单智能体的中毒攻击和对多智能体系统的中毒攻击,两类方法均是通过在训练阶段对模型进行投毒来挖掘智能体模型存在的安全漏洞。两者目标性中毒的方法虽然略有差异,但是都通过对训练数据进行投毒来达到模型中毒攻击的目的,例如在中毒策略执行时会给予高奖励值进行策略加强,从而留下后门安全隐患。
渗透测试在通常情况下均被视为一种基于“蓝方”的正向攻击,但是在有些场景下,若渗透测试的目的并非对目标网络系统进行安全漏洞检测和评估,该方法也将会对目标网络的不同主机造成一定的影响,如将正常主机或关键主机视为攻击机,对其进行渗透攻击获得权限后,再通过横向移动对其他主机发起恶意攻击,严重时会对目标网络系统造成致命性毁灭。但是现如今没有防御基于强化学习智能渗透攻击的方法。
发明内容
针对现有技术的不足,本申请实施例的目的是提供一种基于强化学习防御渗透攻击的方法及装置、电子设备,通过对目标网络的渗透过程建模为马尔可夫决策过程,并利用深度Q网络算法训练智能寻找最优渗透路径,从而实现智能化渗透测试过程。此外,在训练过程中,通过修改渗透攻击的目标主机奖励值,智能体被视为渗透攻击方,通过修改训练数据的方法,智能体无法对目标敏感主机进行攻击操作,从而达到防御目标敏感主机的目的。
根据本申请实施例的第一方面,提供一种基于强化学习防御渗透攻击的方法,包括:
(1)将渗透测试过程建模为马尔可夫决策过程,其中所述马尔可夫决策过程包括状态、动作、奖励值;
(2)基于深度Q网络算法训练智能体,其中所述智能体作为渗透攻击方,训练目标为生成当前最优渗透攻击路径过程,其中所述当前最优渗透攻击路径过程为在当前网络环境中智能体采用尽可能少的动作来攻击网络环境中最大价值的目标敏感主机;
(3)将网络环境中敏感主机的价值进行符号翻转,并设置获得目标敏感主机的Root权限时渗透攻击的回合不结束,将渗透攻击的回合的结束条件修改为回合中训练步数达到了预定阈值;
(4)将步骤(3)中对主机价值的修改更新到步骤(1)的奖励值中,利用步骤(2)中训练好的智能体对步骤(3)中的网络环境进行防御训练,重复防御训练的过程直至训练回合数达到预定阈值,得到防御渗透攻击的策略。
进一步地,所述状态是代理在网络环境中观察到的信息,包括所述网络环境中的子网、每个子网中的主机、每个主机的操作类型、每个主机对应的渗透服务以及所述网络关节中可实现权限提升操作的进程;
所述动作指代理在目标主机上执行的漏洞扫描,渗透和权限提升操作;
所述奖励值为所述网络环境中敏感主机的价值之和减去智能体执行动作的成本之和。
进一步地,步骤(2)包括:
(2.1)将状态转换过程(状态st、动作at、奖励rt、下一个状态st+1)存储在经验回放池Buff中,作为训练数据集;
(2.2)以随机采样的形式,从Buff中采样N个训练数据,将N个训练数据输入DQN中,得到当前价值网络的预测Q值和目标价值网络的目标Q值,以最小化损失函数为目标,通过神经网络的反向梯度传播来更新当前价值网络的网络参数,其中所述损失函数为预测Q值和目标Q值的均方差:
(2.3)重复步骤(2.2),在步骤(2.2)的重复过程中,每隔预定时间将当前价值网络的网络参数复制给目标价值网络,以进行目标价值网络的更新,直至回合训练结束,得到当前最优渗透攻击路径过程:
进一步地,步骤(2)中的所述最优渗透攻击路径过程为采用尽可能少的操作来攻击最大价值的目标敏感主机:
式中,st为t时刻的状态,at为t时刻的动作,st+1为执行at后下一时刻的状态,γ为折扣因子,R表示在当前渗透策略π下获得的奖励。
进一步地,步骤(3)还包括:
将所述网络环境中主机数超过5台的子网、目标敏感主机所在子网的前一个子网或者目标敏感主机所在子网中的一个或多个正常主机部署为蜜罐主机,并将所述蜜罐主机的价值设置为所述网络环境中的最高价值,将渗透攻击的回合的结束条件修改为获得蜜罐主机的User权限或者回合中训练步数达到了预定阈值。
根据本申请实施例的第二方面,提供一种基于强化学习防御渗透攻击的装置,包括:
建模模块,用于将渗透测试过程建模为马尔可夫决策过程,其中所述马尔可夫决策过程包括状态、动作、奖励值;
训练模块,用于基于深度Q网络算法训练智能体,其中所述智能体作为渗透攻击方,训练目标为生成当前最优渗透攻击路径过程,其中所述当前最优渗透攻击路径过程为在当前网络环境中智能体采用尽可能少的动作来攻击网络环境中最大价值的目标敏感主机;
网络环境修改模块,用于将网络环境中敏感主机的价值进行符号翻转,并设置获得目标敏感主机的Root权限时渗透攻击的回合不结束,将渗透攻击的回合的结束条件修改为回合中训练步数达到了预定阈值;
防御训练模块,用于将网络环境修改模块中对主机价值的修改更新到建模模块的奖励值中,利用训练模块中训练好的智能体对网络环境修改模块中的网络环境进行防御训练,重复防御训练的过程直至训练回合数达到预定阈值,得到防御渗透攻击的策略。
根据本申请实施例的第三方面,提供一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
由上述实施例可知,本申请1)将基于网络场景的渗透测试建模为马尔可夫决策过程,再通过深度Q网络算法训练智能体执行渗透路径寻优;2)考虑到存在恶意渗透攻击的影响,为了防御恶意的渗透攻击,结合对强化学习模型中毒攻击的思想,对模型的训练数据进行投毒,具体而言通过修改敏感主机和脆弱主机的奖励值,达到渗透攻击者策略失效的目的。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种基于强化学习防御渗透攻击的方法的流程图。
图2是根据一示例性实施例示出的网络场景示意图。
图3为本发明方法的使用的DQN算法结构的示意图。
图4是根据一示例性实施例示出的一种基于强化学习防御渗透攻击的装置的框图。
图5是根据一示例性实施例示出的一种电子设备的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是根据一示例性实施例示出的一种基于强化学习防御渗透攻击的方法的流程图,如图1所示,该方法可以包括以下步骤:
(1)将渗透测试过程建模为马尔可夫决策过程,其中所述马尔可夫决策过程包括状态、动作、奖励值;
(2)基于深度Q网络算法训练智能体,其中所述智能体作为渗透攻击方,训练目标为生成当前最优渗透攻击路径过程,其中所述当前最优渗透攻击路径过程为在当前网络环境中智能体采用尽可能少的动作来攻击网络环境中最大价值的目标敏感主机;
(3)将网络环境中敏感主机的价值进行符号翻转,并设置获得目标敏感主机的Root权限时渗透攻击的回合不结束,将渗透攻击的回合的结束条件修改为回合中训练步数达到了预定阈值;
(4)将步骤(3)中对主机价值的修改更新到步骤(1)的奖励值中,利用步骤(2)中训练好的智能体对步骤(3)中的网络环境进行防御训练,重复防御训练的过程直至训练回合数达到预定阈值,得到防御渗透攻击的策略。
由上述实施例可知,本申请1)将基于网络场景的渗透测试建模为马尔可夫决策过程,再通过深度Q网络算法训练智能体执行渗透路径寻优;2)考虑到存在恶意渗透攻击的影响,为了防御恶意的渗透攻击,结合对强化学习模型中毒攻击的思想,对模型的训练数据进行投毒,具体而言通过修改敏感主机和脆弱主机的奖励值,达到渗透攻击者策略失效的目的。
在步骤(1)的具体实施中,所述状态是代理在网络环境中观察到的信息,包括所述网络环境中的子网、每个子网中的主机、每个主机的操作类型、每个主机对应的渗透服务以及所述网络关节中可实现权限提升操作的进程;具体地,图2是根据一示例性实施例示出的网络场景示意图,具体而言,在该网络环境中,状态为共拥有8台主机和4个不同的子网,共包含Linux和Windows两种不同操作类型的主机,并且每台主机均运行对应的渗透服务,该场景中共包含HTTP、SSH以及FTP三种不同类型的漏洞服务,最后该场景下可通过Tomact及Daclsvc两种进程实现提权操作;
所述动作指代理在目标主机上执行的漏洞扫描,渗透和权限提升操作;一个动作可以被看作是由<c,m>定义的攻击向量,表示代理在主机c上进行操作m;在每个训练步骤中,代理的操作空间的大小达到Z(P×Q),其中P是网络中的主机数量,Q表示攻击目标可执行操作的数量;
所述奖励值为所述网络环境中敏感主机的价值之和减去智能体执行动作的成本之和;具体地,智能体在采取对应的操作后,环境会反馈一个相应的奖励值,该奖励值计算如下所示:
式中,C表示网络中的敏感主机集合,M表示智能体的动作集合,value表示主机的价值,cost表示智能体执行动作的成本。
在本实施例中,(2,0)及(4,0)处的敏感和脆弱主机的价值定义为100,而其他普通主机的价值设置为0。此外,对于不同服务漏洞的渗透动作根据CVSS设置不同的概率及成本,其中,渗透SSH服务漏洞的概率为0.9,消耗的成本为3,渗透FTP服务漏洞的概率为0.6,消耗的成本为1,渗透HTTP服务漏洞的概率为0.9,消耗的成为2。对于其他的漏洞扫描和权限提升操作,其消耗的成本均为1。
在步骤(2)的具体实施中,基于强化学习中的深度Q网络算法(DQN)训练渗透攻击者,将智能体视为渗透攻击方,训练的目标即以最少的步数成功渗透至子网4的目标敏感主机,从而获得一条最优的渗透路径;该步骤具体可以包括:
(2.1)将状态转换过程(状态st、动作at、奖励rt、下一个状态st+1)存储在经验回放池Buff中,作为训练数据集;
具体地,DQN在训练过程中改进了传统的Q-learning算法,以缓解非线性网络的表示函数不稳定的问题。例如,DQN采用了经验回放机制,使用经验回放池来存放转移样本。在每个时间步t,代理与环境交互获得的转移样本存储在经验回放池中,将状态转换过程(状态si、动作ai、奖励ri、下一个状态s′i)存储在经验回放池Buff中,作为DQN模型的训练数据集,并以随机采样的形式进行批处理学习。对于状态转换过程(状态st、动作at、奖励rt、下一个状态st+1),智能体与环境交互获得状态,根据当前状态智能体再通过模型训练去执行动作,动作执行完成后环境会反馈给智能体一个奖励,然后智能体再去获取下一时刻的状态。可以把获取这四个数据的过程定义为一个步骤的训练过程,这其实也是步骤(1)中马尔科夫决策过程的定义。
(2.2)以随机采样的形式,从Buff中采样N个训练数据,将N个训练数据输入DQN中,得到当前价值网络的预测Q值和目标价值网络的目标Q值,以最小化损失函数为目标,通过神经网络的反向梯度传播来更新当前价值网络的网络参数,其中所述损失函数为预测Q值和目标Q值的均方差:
具体地,如图3所示,DQN将Q学习与卷积神经网络相结合,构建了强化学习训练模型,其算法特征在于将卷积神经网络(CNN)与传统强化学习中的Q-Learning算法结合,以创建新的DQN模型。DQN模型的输入是当前的状态,经过3个卷积层和2个全连接层的非线性变换,最终在输出层为每个动作生成一个Q值。DQN使用了目标网络机制,即在当前价值网络结构基础上,搭建了一个结构完全相同的目标价值网络组成DQN的整体模型框架,训练过程中,当前价值网络输出的预测Q值用来选择动作a,另一个目标价值网络用于计算目标Q值。
(2.3)重复步骤(2.2),在步骤(2.2)的重复过程中,每隔预定时间将当前价值网络的网络参数复制给目标价值网络,以进行目标价值网络的更新,直至回合训练结束,得到当前最优渗透攻击路径过程:
具体地,对于目标价值网络,其网络参数不需要进行迭代更新,而是每隔一段时间从当前价值网络中将网络参数复制过来,即延时更新,再进行下一轮的学习。根据贝尔曼最优方程理论,只要通过不断迭代更新(2.2)步骤,即可使目标Q值与预测Q值无限接近,从而最终得到最优的渗透策略这种方法减轻了每次Q值变化对策略参数的影响,即减少了目标Q值与预测Q值之间的相关性,增加了策略训练的稳定性。
在本实施例中,回合训练结束的条件可以为达到预定的训练步数,对于对于主机数小于等于10台的小规模网络,每回合的训练步数可以设置为1000步,如果主机规模数加大,每回合的训练步数也要相应增加,该设定为本领域的常规设定,此处不作赘述。
在步骤(3)的具体实施中,可以通过修改训练数据的方式对DQN模型进行投毒,将敏感主机的价值符号进行翻转来降低攻击者的攻击性能。在本实施例中,可以将敏感主机(2,0)和敏感主机(4,0)的价值从100变成-100,并且获得目标敏感主机Root权限时则并不表示回合结束。3.2)智能体在训练过程中即使渗透到了敏感主机,也不会有渗透成功标志,并且获得的奖励回报很低,使得智能体误以为这种动作策略是无效的渗透路径寻优策略,从而达到降低智能体性能的目的,影响敏感主机渗透测试的成功率;
为了进一步达到直接防御恶意渗透攻击者的效果,可以通过在该网络中设置蜜罐,并对蜜罐处的主机设置高的正值奖励,从而让渗透攻击方陷入蜜罐,达到保护其他敏感主机和脆弱主机的效果,因此,步骤(3)还可以优化为:
将网络环境中敏感主机的价值进行符号翻转,并设置获得目标敏感主机的Root权限时渗透攻击的回合不结束,将所述网络环境中主机数超过5台的子网、目标敏感主机所在子网的前一个子网或者目标敏感主机所在子网中的一个或多个正常主机部署为蜜罐主机,并将所述蜜罐主机的价值设置为所述网络环境中的最高价值,将渗透攻击的回合的结束条件修改为获得蜜罐主机的User权限或者回合中训练步数达到了预定阈值。
在本实施例中,将子网3中的(3,2)正常主机部署为蜜罐,并且对蜜罐主机的奖励值设置为200,敏感主机的奖励值修改为-100,这是由于敏感主机在网络中存在两个,找到所有蜜罐主机获得的奖励值接近于200。当将蜜罐主机的奖励值修改为200时,智能体在中毒训练过程获得的奖励值训练效果会接近于正常训练得到的模型性能,使得攻击者无法通过观察训练过程效果来判断模型是否中毒。
带有蜜罐主机的网络中蜜罐主机的存在可以用于诱导攻击者的策略,通过提高蜜罐主机的价值来诱使智能体对蜜罐主机进行攻击渗透,使得其在测试过程中会掉入蜜罐主机中,而不再是绕过它来对敏感主机进行攻击,实现敏感主机渗透测试成功率的有效降低,达到网络安全防护的目的。
在步骤(3)的进一步优化中,通过修改训练数据(即奖励值)和部署蜜罐的两种方式,从表层和深层两个维度实现对恶意渗透者的攻击。
在步骤(4)的具体实施中,将步骤(3)中对敏感主机和正常主机价值的修改更新到步骤(1)的奖励值中,并以新的奖励值再次进行防御训练,具体地,智能体在网络中只能在相连的子网或者主机之间进行渗透,每个回合智能体的结束条件为获得所有目标敏感主机的Root权限或回合训练步数达到了设置的最大值;重复若干次训练直至训练回合结束,得到防御渗透攻击的策略。在本实施例中将训练回合数设定为2万回合,该设定为本领域的常规设定,此处不作赘述。具体地,通过训练DQN模型可以得到防御渗透攻击的策略,通过这种策略,经过DQN模型训练的智能体会选择绕过敏感主机或者陷入蜜罐主机的方式对网络进行渗透,这样就达到了保护敏感主机的目的。
总之,本申请针对智能化渗透测试网络安全性进行研究,首先利用强化学习算法对目标网络环境进行建模,通过模拟黑客攻击来寻找最优渗透路径实现对网络系统进行渗透攻击。为了进行网络安全防护,本文采用了通过修改训练奖励数据的方式来实现中毒攻击,通过使恶意渗透攻击者的策略失效来达到安全防护的目的。然后进一步在网络中利用蜜罐主机,在智能化渗透路径优化训练过程中修改其训练数据中的奖励值对其进行中毒攻击,诱使攻击者去渗透蜜罐,获取错误的目标渗透路径,从而达到网络脆弱性敏感主机安全防护的目的。实验结果表明,通过对敏感主机和蜜罐主机奖励值翻转的中毒方法,可有效防御渗透攻击,在有蜜罐存在的网络场景下,可以通过将攻击者引诱至蜜罐的方法达到防御渗透攻击的目的。
与前述的基于强化学习防御渗透攻击的方法的实施例相对应,本申请还提供了基于强化学习防御渗透攻击的装置的实施例。
图4是根据一示例性实施例示出的一种基于强化学习防御渗透攻击的装置框图。参照图4,该装置可以包括:
建模模块21,用于将渗透测试过程建模为马尔可夫决策过程,其中所述马尔可夫决策过程包括状态、动作、奖励值;
训练模块22,用于基于深度Q网络算法训练智能体,其中所述智能体作为渗透攻击方,训练目标为生成当前最优渗透攻击路径过程,其中所述当前最优渗透攻击路径过程为在当前网络环境中智能体采用尽可能少的动作来攻击网络环境中最大价值的目标敏感主机;
网络环境修改模块23,用于将网络环境中敏感主机的价值进行符号翻转,并设置获得目标敏感主机的Root权限时渗透攻击的回合不结束,将渗透攻击的回合的结束条件修改为回合中训练步数达到了预定阈值;
防御训练模块24,用于将网络环境修改模块中对主机价值的修改更新到建模模块的奖励值中,利用训练模块中训练好的智能体对网络环境修改模块中的网络环境进行防御训练,重复防御训练的过程直至训练回合数达到预定阈值,得到防御渗透攻击的策略。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的基于强化学习防御渗透攻击的方法。如图5所示,为本发明实施例提供的一种基于强化学习防御渗透攻击的方法所在任意具备数据处理能力的设备的一种硬件结构图,除了图5所示的处理器、内存以及网络接口之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述的基于强化学习防御渗透攻击的方法。所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是风力发电机的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
Claims (8)
1.一种基于强化学习防御渗透攻击的方法,其特征在于,包括:
(1)将渗透测试过程建模为马尔可夫决策过程,其中所述马尔可夫决策过程包括状态、动作、奖励值;
(2)基于深度Q网络算法训练智能体,其中所述智能体作为渗透攻击方,训练目标为生成当前最优渗透攻击路径过程,其中所述当前最优渗透攻击路径过程为在当前网络环境中智能体采用尽可能少的动作来攻击网络环境中最大价值的目标敏感主机;
(3)将网络环境中敏感主机的价值进行符号翻转,并设置获得目标敏感主机的Root权限时渗透攻击的回合不结束,将渗透攻击的回合的结束条件修改为回合中训练步数达到了预定阈值;
(4)将步骤(3)中对主机价值的修改更新到步骤(1)的奖励值中,利用步骤(2)中训练好的智能体对步骤(3)中的网络环境进行防御训练,重复防御训练的过程直至训练回合数达到预定阈值,得到防御渗透攻击的策略。
2.根据权利要求1所述的方法,其特征在于,所述状态是代理在网络环境中观察到的信息,包括所述网络环境中的子网、每个子网中的主机、每个主机的操作类型、每个主机对应的渗透服务以及所述网络关节中可实现权限提升操作的进程;
所述动作指代理在目标主机上执行的漏洞扫描,渗透和权限提升操作;
所述奖励值为所述网络环境中敏感主机的价值之和减去智能体执行动作的成本之和。
3.根据权利要求1所述的方法,其特征在于,步骤(2)包括:
(2.1)将状态转换过程(状态st、动作at、奖励rt、下一个状态st+1)存储在经验回放池Buff中,作为训练数据集;
(2.2)以随机采样的形式,从Buff中采样N个训练数据,将N个训练数据输入DQN中,得到当前价值网络的预测Q值和目标价值网络的目标Q值,以最小化损失函数为目标,通过神经网络的反向梯度传播来更新当前价值网络的网络参数,其中所述损失函数为预测Q值和目标Q值的均方差:
(2.3)重复步骤(2.2),在步骤(2.2)的重复过程中,每隔预定时间将当前价值网络的网络参数复制给目标价值网络,以进行目标价值网络的更新,直至回合训练结束,得到当前最优渗透攻击路径过程:
5.根据权利要求1所述的方法,其特征在于,步骤(3)还包括:
将所述网络环境中主机数超过5台的子网、目标敏感主机所在子网的前一个子网或者目标敏感主机所在子网中的一个或多个正常主机部署为蜜罐主机,并将所述蜜罐主机的价值设置为所述网络环境中的最高价值,将渗透攻击的回合的结束条件修改为获得蜜罐主机的User权限或者回合中训练步数达到了预定阈值。
6.一种基于强化学习防御渗透攻击的方法,其特征在于,包括:
建模模块,用于将渗透测试过程建模为马尔可夫决策过程,其中所述马尔可夫决策过程包括状态、动作、奖励值;
训练模块,用于基于深度Q网络算法训练智能体,其中所述智能体作为渗透攻击方,训练目标为生成当前最优渗透攻击路径过程,其中所述当前最优渗透攻击路径过程为在当前网络环境中智能体采用尽可能少的动作来攻击网络环境中最大价值的目标敏感主机;
网络环境修改模块,用于将网络环境中敏感主机的价值进行符号翻转,并设置获得目标敏感主机的Root权限时渗透攻击的回合不结束,将渗透攻击的回合的结束条件修改为回合中训练步数达到了预定阈值;
防御训练模块,用于将网络环境修改模块中对主机价值的修改更新到建模模块的奖励值中,利用训练模块中训练好的智能体对网络环境修改模块中的网络环境进行防御训练,重复防御训练的过程直至训练回合数达到预定阈值,得到防御渗透攻击的策略。
7.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210949674.0A CN115473677A (zh) | 2022-08-09 | 2022-08-09 | 一种基于强化学习防御渗透攻击的方法及装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210949674.0A CN115473677A (zh) | 2022-08-09 | 2022-08-09 | 一种基于强化学习防御渗透攻击的方法及装置、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115473677A true CN115473677A (zh) | 2022-12-13 |
Family
ID=84367280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210949674.0A Pending CN115473677A (zh) | 2022-08-09 | 2022-08-09 | 一种基于强化学习防御渗透攻击的方法及装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115473677A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117808174A (zh) * | 2024-03-01 | 2024-04-02 | 山东大学 | 网络攻击下基于强化学习的微电网运行优化方法及系统 |
-
2022
- 2022-08-09 CN CN202210949674.0A patent/CN115473677A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117808174A (zh) * | 2024-03-01 | 2024-04-02 | 山东大学 | 网络攻击下基于强化学习的微电网运行优化方法及系统 |
CN117808174B (zh) * | 2024-03-01 | 2024-05-28 | 山东大学 | 网络攻击下基于强化学习的微电网运行优化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Maeda et al. | Automating post-exploitation with deep reinforcement learning | |
CN113783881B (zh) | 一种面向渗透攻击的网络蜜罐部署方法 | |
Toutonji et al. | Stability analysis of VEISV propagation modeling for network worm attack | |
CN112073411A (zh) | 一种网络安全推演方法、装置、设备及存储介质 | |
CN110460572B (zh) | 基于Markov信号博弈的移动目标防御策略选取方法及设备 | |
Khoury et al. | A hybrid game theory and reinforcement learning approach for cyber-physical systems security | |
US11418528B2 (en) | Dynamic best path determination for penetration testing | |
CN115580430A (zh) | 一种基于深度强化学习的攻击树蜜罐部署防御方法与装置 | |
CN115473677A (zh) | 一种基于强化学习防御渗透攻击的方法及装置、电子设备 | |
CN115913731A (zh) | 基于智能化渗透测试的战略蜜罐部署防御方法 | |
Lin et al. | Effective proactive and reactive defense strategies against malicious attacks in a virtualized honeynet | |
WO2022252039A1 (en) | Method and apparatus for adversarial attacking in deep reinforcement learning | |
Figetakis et al. | Evolved prevention strategies for 6g networks through stochastic games and reinforcement learning | |
Bera et al. | Deterring adversarial learning in penetration testing by exploiting domain adaptation theory | |
CN112995176A (zh) | 应用于电力通信网络中的网络攻击可达性计算方法及装置 | |
Kanoun et al. | Towards dynamic risk management: Success likelihood of ongoing attacks | |
CN108377238B (zh) | 基于攻防对抗的电力信息网络安全策略学习装置及方法 | |
CN114095262A (zh) | 网络攻防推演方法、装置、计算设备及存储介质 | |
CN113837398A (zh) | 一种基于联邦学习的图分类任务中毒攻击方法 | |
Rishu et al. | Enhancing exfiltration path analysis using reinforcement learning | |
KR101807389B1 (ko) | 단위위협의 조합을 통한 적 사이버공격의 모델링 방법 및 시스템 | |
Thukkaraju et al. | Interdependent Mission Impact Assessment of an IoT System with Hypergame-heoretic Attack-Defense Behavior Modeling | |
Ge et al. | Defense Strategy Selection Method for Stackelberg Security Game Based on Incomplete Information | |
CN116866193B (zh) | 一种网络攻击演练方法、装置、电子设备及存储介质 | |
CN116074114B (zh) | 网络靶场防御效能评测方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |