基于改进深度强化学习的电力物联网自动渗透测试技术研究

孙守道 ,  卢毅 ,  吴迪

太原理工大学学报 ›› 2026, Vol. 57 ›› Issue (2) : 243 -252.

PDF (3159KB)
太原理工大学学报 ›› 2026, Vol. 57 ›› Issue (2) : 243 -252. DOI: 10.16355/j.tyut.1007-9432.20250088
电气与动力工程(能源互联网专题)

基于改进深度强化学习的电力物联网自动渗透测试技术研究

作者信息 +

Research on Automatic Penetration Testing Technology for Power Internet of Things Based on Improved Deep Reinforcement Learning

Author information +
文章历史 +
PDF (3234K)

摘要

目的 随着泛在电力物联网的全面应用,一些不可控的因素和物理接触环境的变化使得电力物联网系统面临严峻的信息安全问题。渗透测试作为信息安全防护的重要手段,可以提前发现并修复安全漏洞,有效降低系统被入侵的风险。目前的渗透测试以人工测试为主,对人员技术、经验水平要求高,并且测试效率低。为此,提出一种改进深度强化学习的自动渗透测试方法。 方法 首先依据专家经验建立学习过程的状态空间,并引入注意力机制解决状态空间动态变化问题;然后基于深度强化学习模型进行攻击渗透路径自动探索。 结果 搭建实验仿真环境开展对比测试,结果表明所提出方法在不同网络规模下均表现出更快的收敛性能。

Abstract

Purposes With the comprehensive application of the ubiquitous power internet of things, uncontrollable factors and changes in the physical contact environment have made power internet of things systems face severe information security issues. Penetration testing, as an important means of information security protection, can discover and fix security vulnerabilities in advance, effectively reducing the risk of system intrusion. Current penetration testing mainly relies on manual testing, which requires high technical expertise and experience from personnel and has low testing efficiency.To address these, an automatic penetration testing method based on improved deep reinforcement learning is proposed. Methods First, the state space was established for the learning processes according to expert experience and an attention mechanism was introduced to solve the problem of dynamic changes in the state space. Then, a deep reinforcement learning model was used for automatic exploration of attack penetration paths. Finally, an experimental simulation environment was set up for comparative testing. Results The results show that the proposed method exhibits improved convergence performance across different networks.

Graphical abstract

关键词

泛在电力物联网 / 渗透测试 / 深度强化学习 / 注意力机制 / 先验知识

Key words

ubiquitous power internet of things / penetration testing / deep reinforcement learning / attention mechanism / prior knowledge

引用本文

引用格式 ▾
孙守道,卢毅,吴迪. 基于改进深度强化学习的电力物联网自动渗透测试技术研究[J]. 太原理工大学学报, 2026, 57(2): 243-252 DOI:10.16355/j.tyut.1007-9432.20250088

登录浏览全文

4963

注册一个新账户 忘记密码

随着大数据、人工智能和能源互联网等新一代信息技术的快速发展,电力物联网系统规模已进入爆发增长的阶段1。在此背景下,2016年我国首次提出“国家泛在智能电网”概念,随后在2018年国家电网在信息通信工作会议上进一步明确要“打造全业务泛在电力物联网”,计划于2024年全面建成泛在电力物联网。作为能源互联网的核心载体,电力物联网通过终端感知设备、通信网络与云平台的深度融合,实现了电力系统“源-网-荷-储”全环节的智能协同2。虽然电力物联网的高扩展性、高智能性和高效性极大地提高了电力系统的运行效率和智能水平,但系统中隐蔽性强的安全漏洞一旦被恶意攻击者利用,将引发严重的隐私数据泄露和系统破坏事件,不仅威胁电力物联网的安全稳定运行,更可能造成难以估量的经济损失3
近年来,因系统漏洞导致的数据泄露事件频发,例如2015年乌克兰电力系统遭到名为BlackEnergy的病毒攻击,造成当地多处停电事故;2017年中东地区数家能源公司采用的施耐德Triconex仪表控制系统被名为“TRITON”的恶意软件攻击,造成能源供应中断。对于电力物联网而言,攻击者可以通过勒索软件、拒绝服务、网络钓鱼、恶意软件、零日漏洞等方法破坏系统正常运行,进而导致停机、设备损坏、触发应急响应等安全事故。渗透测试是网络安全防护的重要手段,帮助发现并修复安全漏洞,保护信息和业务免受黑客攻击和数据泄露风险4。由于漏洞的隐蔽性、依赖性等特点,渗透测试人员一方面需要对设备异构、协议多样、拓扑动态变化的电力物联网系统进行了解,还需要根据漏洞特征,并结合各种测试工具进行高效渗透。因此,渗透测试需要由开发经验丰富、技术知识全面的专家来负责。然而目前电力部门在渗透测试人员储备方面存在较大缺口,技能水平也参差不齐,难以满足电力物理网场景下的渗透测试需求。尤其是电力物联网的复杂性给人工发现隐蔽脆弱点、分析电力物联网攻击面、设计渗透测试方案带来了很大困难。为此,迫切需要研究自动渗透测试的辅助工具来降低对渗透测试人员技能水平的要求。
早期的自动渗透测试采用基于规则的方法,抽象出特定攻击策略所需的一系列操作,然后集成到渗透工具中,常用的工具包括Nmap和Nessus5][6。根据规则的类型,自动渗透测试可以分为单规则和多规则两大类。单规则方法侧重于针对特定的渗透战术进行动作步骤组合,以帮助渗透测试人员自动化完成渗透任务,如DCShadow和Atbroker7等,但该类方法严重依赖于参数配置,无法适应复杂场景下多种战术组合利用的需求。多规则方法通过集成多种攻击策略,可完成渗透测试各阶段的不同任务需求,如信息收集、漏洞利用等,提高了测试过程的自动化程度,代表性工具包括Kaboom、Metasploit、Cobalt Strike等8。然而,该类方法中多种攻击策略之间的协调性相对较低,渗透过程仍然依赖于规则配置。
随着人工智能技术的快速发展,利用人工智能模拟黑客行为已成为当前研究的主流方法,特别是基于模型的自动渗透测试方法。这些方法可以根据目标环境自动选择渗透策略和战术,同时使用机器学习或深度学习算法不断学习和调整渗透测试过程。该方法的主要组成部分包括:1)构建渗透知识库,包括漏洞数据库,用于识别CVE、NVD等系统弱点;用于执行渗透测试任务的战术知识库,如ATT&CK和攻击知识图9;2)理解渗透场景,将目标环境的物理信息(IP地址、端口、服务等)转换为数字信息,满足机器理解渗透测试对象的要求10;3)规划渗透路径,根据当前目标环境选择有效的攻击策略,以发现渗透路径11;4)执行渗透计划,即根据环境选择不同的策略,在渗透过程中使用深度学习等模型进行自主决策,实现对目标系统的渗透测试。另外,为了理解渗透场景,攻击图通常被用于分析目标环境中的漏洞与由此产生的潜在威胁之间的关系12。而对于渗透过程中的自主决策,主要采用基于强化学习的方法。目前基于强化学习框架,开发出了DeepExploit13、AutoPentest-DRL14、OpenVAS15等工具实现自动渗透测试。
综上所述,传统基于规则的方法过度依赖测试人员的专业知识,并且仍需要花费高昂的劳动成本,而智能化渗透测试是解决这些问题的一个有效途径16。虽然针对自动渗透测试已开展了许多研究,特别是基于强化学习的方法,但相关领域研究仍处于快速发展阶段,还需要进一步深入研究相关问题:1)学习过程中状态空间爆炸和奖励稀疏等问题。随着目标系统复杂性增加,基于强化学习的渗透测试方法也会遇到瓶颈,动作空间和状态空间的复杂性导致策略学习存在困难,并且存在低学习效率导致大量无效的探索问题等;2)由于缺乏针对电力物联网系统的安全信息的有效积累和整合,目前针对电力物联网的智能渗透测试工具相对较少。因此如何将漏洞数据库、威胁情报数据库等安全知识融入渗透测试工具中需要进一步解决。
为此,本文提出一种基于改进深度强化学习(Deep Q-Learning Network, DQN)的自动渗透测试方法。首先依据电力物联网系统拓扑、资产、组件、漏洞等相关先验知识,构建了描述渗透测试过程系统状态的先验知识模型,形成系统状态空间矩阵;在DQN中引入注意力机制,探索面向电力物联网系统的渗透测试的最优路径决策方法。最后以配网自动化系统作为原型,搭建仿真实验靶场,对提出方法进行了测试验证与对比分析。本文主要创新点总结如下:
1)将系统先验知识融入DQN训练过程,减少了智能体的迭代次数,提升了渗透测试的执行效率。具体而言,在传统的DQN训练过程中,智能体需要探索整个状态空间,在复杂环境中可能非常庞大且耗时。通过构建先验知识状态矩阵表征主机节点之间的连接关系,以压缩状态空间,降低无效路径探索次数;另外,在传统贪婪策略中引入了专家经验动作,使得智能体在面临未知状态时能够以一定概率选择专家经验动作,有助于避免产生大量错误决策,加快收敛速度。
2)采用注意力机制解决神经网络输入状态空间变化问题,使得智能体能够在系统状态未知的情况下执行渗透测试任务。具体而言,将智能体获取的环境状态信息通过编码器编码成对应的特征表示,然后引入注意力机制将每个状态的特征表示为键值对,利用Softmax函数计算各个特征的权重因子,并通过计算特征的加权和得到供DQN训练的固定维度的状态矩阵输入。因此智能体在面对未知环境时,不会因获取到新信息(主机节点、主机资产、漏洞等)导致输入状态维度变化而无法匹配神经网络输入维度问题。

1 预备知识

强化学习是机器学习的一种变体,它允许智能体在特定场景中通过不断感知环境状态与动作奖励来调整自身行为,从而找到该场景中的最优行动策略。对于一个标准的强化学习框架,智能体首先在每个观察时间t从环境中获取当前状态st𝒮,并执行对应的动作at𝒜st,然后接收来自环境的奖励信号rt,以及下一个转移状态st+1。通过循环迭代上述过程,智能体逐步学习以找到最大化累计奖励的最优策略π*

π*=arg maxπΠ Eτ𝔻πt=0Tγtrt

其中γ0,1表示确定长期奖励重要性的折扣因子,Π表示策略集合,τ表示轨迹s0,a0,s1,a1,,sT𝒟π表示策略集合πτ的分布。Q-Learning算法是一种常用于寻找最优策略的技术。对于Q-learning算法,Q-function Qst,at表示智能体从状态st进行动作at的期望回报,其更新方程为:

Qst,atQst,at+εrt+γmaxa st+1,at-Qst,at  .

其中ε0,1表示学习速率。然而传统的Q-Learning算法在训练过程中使用表格存储stat,这种方法在实际中存在较大的限制,不能解决大状态空间问题。为此,研究者们引入了神经网络最优状态逼近器生成状态-动作集合,称之为深度强化学习算法DQN17。DQN算法训练过程如图1所示,智能体从环境中获取当前系统状态,并根据评估网络计算出在当前状态下采取各个动作的Q值,选择使Qs,a;θ最大的动作at;在动作执行后环境的状态转移到一个新状态st+1,并得到当前动作奖励rt;每次交互产生的状态-动作集(s,a,r,s')存储到经验回放空间中。在智能体训练过程中,从经验回放空间中随机抽取一批样本(s,a)进行学习;评估网络和目标网络由多层神经网络组成,评估网络用于计算当前策略下的QQ(s,a;θ),而目标网络用于计算目标Qmaxa(s',a;θ'),其中θθ'分别表示两个网络的参数;然后通过比较评估网络预测的Q值和目标网络计算的目标Q值,可以计算损失函数,衡量评估网络预测的Q值与目标Q值之间的差异;根据损失函数,使用反向传播算法调整评估网络的参数θ,使其预测的Q值更接近目标Q值;当评估网络的参数更新后,经过一定的迭代训练次数,将其更新至目标网络,即θθ'。整个过程持续迭代,智能体通过与环境的交互不断学习和优化其行为策略,最终达到最大化累积奖励的目的。DQN损失函数的计算公式为:

iθi=Es,a,r,s'𝔻r+γmaxa' Qs',a';θ--Qs,a;θ2   .

式中,θi是神经网络参数在第i次迭代时的更新,θ-是Target网络的参数集合,r+γmaxa' Qs',a';θ-表示Target网络在第i次迭代时的Q值。

为了缓解DQN中过高的Q值估计问题,VAN H等人18提出通过使用两个网络(目标网络和行为网络)分别估算最大Q值和选择动作。Double DQN的目标网络的Q值计算方式如下:

yi=r+γQs',arg maxa Qs',a;θi;θ- .

其中arg maxa Qs',a;θi表示使用行为网络θi选择下一个状态的最佳动作,Qs',;θ-表示使用目标网络θ-来评估选定动作的价值。

另外,在某些情况下动作的选择对于结果的影响较小,而状态本身的价值更为重要,为此WANG等人19提出Dueling DQN的改进方法,将Q值分解为价值流Vs和优势流As,a,以便更好地分离状态价值和动作价值。Q值的计算为:

Qs,a;θ,α,β=Vs;θ,β+As,a;θ,α-1Aa'As,a';θ,α   .

2 方法论

2.1 问题描述

渗透测试是一个典型的序贯决策问题20,其目标是在每个时间状态下通过观测被测系统状态,并执行攻击动作。在此过程中,智能体通过环境反馈的奖励来衡量当前攻击动作的优劣,进而调整攻击策略,找到最优攻击方案。而马尔科夫决策过程是一个用于解决有限状态、动作下路径生成问题的框架,能够描述一个智能体在一个随机环境中采取的决策情况821。因此,基于DQN的自动渗透测试问题可以建模成一个马尔科夫决策过程。

具体而言:渗透测试环境中主机控制状态、配置、端口开放等情况可以表示为一个状态矩阵,对应马尔科夫过程的状态空间,即一个状态转移到另一个状态的随机过程。资产信息收集、漏洞扫描、漏洞利用等操作的结果存在不确定性,因此可以利用马尔科夫决策的转移概率量化这种不确定性。而在渗透测试过程中,对于当前状态st和动作at,马尔科夫决策过程根据奖励函数和状态转移函数得到下一个状态st+1和即时奖励rt反馈给智能体。智能体根据当前状态st从动作集合中选择一个动作,旨在最大化长期累积奖励,即马尔科夫决策过程中的策略。马尔科夫决策过程通常由元组S,A,R,F,γ表示,其中S表示环境的状态空间,A为动作空间,R:S×AR表示奖励函数,F:S×A×S0,1为状态转移概率函数,即攻击者执行攻击at𝒜后,状态st转移到st+1的概率;γ为折扣因子,被用于确定长期奖励的重要性。

1)状态空间:智能体在渗透过程中通过扫描环境获取到的信息可表述为一个状态矩阵,状态矩阵的每一行元素表示网络中每个主机节点的状态以及与其他主机的连接关系,定义如下:

si={Mi,j}1×N,AssMi,AttrMi .

其中,{Mi,j}1×N表示主机节点i与网络其他节点的连接关系,N为网络规模;AssMiAttrMi分别表示主机节点i的资产信息以及漏洞信息。因此整个测试环境的状态空间为𝒮=s1,s2,,sNT。状态空间𝒮中每一行表述为一个特定的主机节点的状态。因此存在一个需要注意的情况,即:随着探索的主机节点的增多,以及暴露的漏洞的增加,将使得状态空间的维度不断增多。

2)动作空间:智能体在渗透测试过程中与目标环境交互可以执行的一组攻击行为,包括资产信息收集(如端口扫描、服务扫描、操作系统检测、系统软硬件识别等)、漏洞扫描(如操作系统漏洞扫描、服务漏洞扫描、软硬件漏洞探测等)、漏洞利用(根据已发现的漏洞采取的特定服务)。

3)奖励函数:智能体的目标是收集有关目标主机的额外信息,以最小的攻击成本,提升攻击利用漏洞对主机进行攻击的成功率。因此,对环境中任意主机节点i而言,其奖励函数ri可表示为:

ri=Valuei+Scorevi-a𝒜Costa

其中Valuei表示主机节点i的价值;Scorevi为主机节点i漏洞评分,它可通过通用漏洞评分系统CVSS给出的公式以及主机节点i的漏洞信息计算;而Costa表示执行攻击a所花费的成本,可以依据攻击执行时间、资源消耗等指标综合计算。

4)优化目标:神经网络的优化目标是通过执行策略π*最大化累计奖励。因此,攻击行为价值函数Q-function可以表示为:

Q*s,a=maxπΠ Eτ𝔻πt=0Tγtrst,at|st=s,at=a

因此,针对状态s可以得到最优的攻击行为a*

a*=arg max Q*s,a

根据以上建模方式,可以对渗透测试过程进行形式化描述,但在实际应用中也面临一些问题:1)在规模较为复杂的被测环境中,系统整个状态空间庞大,并且存在大量的无效探索行为,从而造成算法难以收敛;2)当探索到未知主机和漏洞时,会新增一些系统状态信息,导致状态空间的维度增加,进而导致状态空间维度与DQN网络输入维度不匹配问题。为此,本文提出一种改进深度强化学习方法,通过引入先验知识以及注意力机制来解决上述问题。

2.2 知识嵌入

相较于让智能体盲目探索,将先验知识融入DQN中,有助于提升智能体的学习能力。因此,本文提出了一种将系统先验知识和安全先验知识嵌入到DQN学习过程的方法,具体如图2所示。首先,根据电力物联网的拓扑结构(本文以配网自动化系统为例),建立Node连接模型,并根据Node的连接关系,进行向量化,得到关系矩阵M={Mi,j}N×N,其中Mi,j表示节点i和节点j是否存在连接关系,1表示连接,-1表示不连接,N表示网络规模。然后根据知识库实例化测试环境中每个节点。

知识库包括节点的资产属性和漏洞信息。其中节点的资产属性包括Hardware、OS、Software、Port、Service等,而漏洞信息根据CVE漏洞库和CVSS漏洞评分系统获得漏洞的复杂性、可利用性及相关的安全风险数据22。对节点的资产属性和漏洞属性进行向量化,分别得到资产属性向量AssMi={d1,d2,,dm}和漏洞属性向量AttrMi={c1,c2,,cn}。最后按照图2所示方式得到状态矩阵S

通过先验知识构建关系矩阵后,有助于智能体选择下一个目标主机节点进行渗透攻击,降低无效路径探索次数,从而减少训练时间。另外,随着测试环境规模复杂度增加,智能体可能存在使用大量的攻击动作的情况,为此本文在传统贪婪策略基础上,引入专家经验知识,形成带有经验知识的贪婪策略。令ϵ表示随机探索的概率,ϵe表示选择专家经验动作的概率,则贪婪策略可以表示为

π=ae,以概ϵe选择专家经验动作,a*,以概1-ϵ-ϵe选择DQN估计动作,a,以概ϵ进行随机探索

通过这种方式,当智能体面临未知状态时,以概率ϵe选择专家经验动作可以提供一个较为稳健的决策方式,避免重复产生大量错误决策;而以概率1-ϵ-ϵe选择DQN估计的最优动作,确保了智能体能够根据当前所学知识作出最优决策,从而在长期训练中得到更高的累计奖励。

2.3 模型构建

图2所示的方法中,状态矩阵S将会随着渗透测试过程探索的主机节点数量增加而增加。具体而言,状态矩阵S的每一行包括3个部分:表示主机节点连接关系的向量Mi,表示主机节点资产属性的向量AssMi,以及表示主机节点漏洞属性的向量AttrMi。由于随着渗透测试的持续进行,被测系统的主机信息、资产信息以及漏洞信息会不断被发现,从而导致状态矩阵的维度不断增加。因此对于DQN网络来说,其输入维数会随之变化。然而一般DQN采用全连接层神经网络表示,这种网络拓扑要求各层神经元数量是固定的。但由于基于DQN的渗透测试过程中,智能体只能在其动作空间内选择动作。如果对于新发现的主机资产信息和漏洞信息没有可供选择的动作,智能体也无法利用这些信息。因此,可以根据智能体的动作空间预先将资产信息和漏洞信息的长度定义为固定长度(内容可暂时为空值)。通过这种处理方式,只需要处理新发现主机节点造成的状态矩阵维度变化问题。

为了解决上述问题,本文引入了一种注意力机制,以适应状态矩阵S动态变化情况,具体如图3所示。首先将状态矩阵拆分成多个具有时间属性的H向量,即:H1,t=M1H2,t=AssM1H3,t=AttrM1H4,t=M2等。图3所示注意力机制部分,H向量的数量是可增加的,通过计算各个关系的加权和,以获得维度保持不变表示方法:

νtH1,H2,,HN=i=1Nχi,tx .

其中x表示输入序列中每个元素的内容;χi,t表示注意力权重。权重因子的计算方法可采用softmax函数表示:

χi,t=softmaxli,t=expli,texpli,t,
li,t=xiWkTWqxi

其中WkWq为自动学习的参数,Wk映射为网络的Key值,而Wq映射为query。因此,通过上述处理方式,无论智能体发现的主机节点数量为多少,DQN网络需要学习的参数都可以保持不变。一方面可以简化训练过程,另一方面还有助于增加智能体对环境动态变化的适应性。

图3所示右半部分为DQN的实现框架。首先从环境中捕获状态信息s,并构造矩阵Z;然后结合注意力机制提取融合的状态特征,输入到训练网络Θtrain中;随后将噪声网络应用到神经网络中得到各层连接的权重ωi,并使用dueling结构计算价值流Vs和优势流As,a;应用double DQN矫正QQ^s,a,并选择使得Q值最大的动作a*应用到目标环境中,存储s,a*,r,s'到buffer B中。重复上述步骤直到存储的buffer满足训练要求。

3 案例分析

本章节主要通过构建实验场景验证所提方法的有效性,主要回答两个研究问题:

1)所提出的方法是否能够减少智能体的迭代次数以实现快速收敛。

2)所提出的方法是否适应不同规模的网络拓扑。

3.1 实验环境设计

为了回答上述研究问题,在Windows 10环境下基于GNS3 (version 2.2.52)和VMware Worksatation Pro 17搭建了如图4所示的配电自动化系统渗透测试环境。包括1个主站和2个子站,共10台主机、3台子网交换机和1台核心交换机;每个站内部署一个敏感主机,即渗透测试的目标主机(操作员站: M0.1,FTU:M1.2和M2.2)。目标环境中主机的配置信息如表1所示,其中敏感主机的价值为100,而非敏感主机的价值为0。主站的四台主机采用Windows操作系统,配置HTTP、SSH、FTP、SAMBA等服务,子站的主机采用Linux操作系统,配置FTP、SSH等服务;交换机采用Cisco image直接加载到GNS3中。攻击主机即为渗透测试主机,连接通过网络桥接映射到主站的物理以太网接口,其目标是发现网络中的三个敏感主机,并完成渗透测试。

另外,为了验证方法的可扩展性,进一步构建了不同网络规模的测试环境,分别采用50、100台主机进行搭建,命名为场景2和场景3,并且仍然维持3个敏感主机的数量不变。因此随着网络规模的扩大,奖励变得更加稀疏。

选择经常被攻击者利用的服务和进程作为被测环境漏洞,例如智能体可以利用FTP漏洞来获取访问权限,或者利用Tomcat漏洞从受感染的主机上提升用户权限级别。表2给出了本实验环境中智能体可用的动作,以及执行动作的代价、成功概率以及成功后可获得的权限。动作列表包括四种特定服务的漏洞利用操作、三种特定进程的提权操作、三种扫描操作。漏洞利用操作的成功概率根据CVSS的高、中、低难度级别分别设定为0.2、0.5和0.8,而其他操作的成功概率设定为1。

攻击主机的渗透测试工具在基于AMD R9处理器、A4000显卡、64G内存的Linux环境中使用Python编写,采用PyTorch作为算法的使用框架。实验的部分超参数如表3所示。

3.2 结果讨论

3.2.1 不同方法的性能比较(针对问题1)

智能体的学习目标是优化其行为策略,以便使用尽可能少的步数获取目标环境中所有敏感主机的权限,从而最大化奖励值。这个奖励机制作为评估智能体策略效果的重要指标,直接反映了智能体在环境中的表现优劣。针对图4所示实验环境,分别采用传统DQN、Double DQN、Dueling DQN以及本文所提的方法进行实验,实验结果如图5所示。图5(a)为每回合累计奖励值随训练回合数的变化趋势,而图5(b)则为每回合所需的步数随训练过程的变化情况。

图5(a)的数据中可以看出,在训练初期,由于智能体对环境的理解有限,因此它每回合所能获得的奖励值相对较小,每回合累计奖励集中在-50~-250之间。但随着训练次数的增加和智能体对环境理解的加深,其每回合能够获取的奖励值也逐渐上升。传统DQN、Double DQN和Dueling DQN均需要超过800回合才能收敛,而本文提出的改进算法大约在500个回合就能快速收敛至最大奖励值。此外,观察图5(b)中关于每回合所需步数的变化,可以发现本文提出的方法虽然在训练初期每回合需要较多的迭代步数,最大需要超过10 000步,而其他对比方法约7 000步以内;但本文所提出的方法经过约200回合后每回合需要的迭代步数少于2 500步,并且在500回合后步数达到最低(约200步),并且可以一直稳定维持这个最低步数。对比而言,其它方法至少需要800回合才能达到最低步数,其中传统DQN算法最不稳定,在经过1 500训练回合后,迭代步数偶尔仍然需要超2 000步。通过图5所示结果说明,所提出的方法不仅在收敛速度上领先,而且在整个训练过程中展现出了更高的稳定性,表明该算法能够在更短的时间内找到最优路径,减少不必要的探索步骤,从而提高了整体的学习效率。

3.2.2 不同网络规模下性能比较(针对问题2)

图6给出了另外2个实验场景(50个主机和100个主机)下不同算法的训练曲线。可以看出,随着网络中主机规模的增加,训练收敛需要更多的回合。尤其是当网络主机规模增加到100时,由于奖励变得越发稀疏(敏感主机数量占比只有2%),不同模型表现出的性能差异更大。在本文构建的实验场景下,传统DQN的性能表现相对较差,分别需要约1 500回合(场景2)和1 800回合(场景3)才能收敛;而Doubule DQN和Dueling DQN的性能有所改良,但也均需要约1 000回合(场景2)和1 400回合(场景3)才能收敛。本文所提出的方法在2个场景下分别在600回合(场景2)、800回合(场景3)左右收敛,相较于其他算法,收敛速度更快。

4 结语

渗透测试作为信息安全防护的重要手段,对提高电力物联网系统的信息安全防护能力具有重要意义。本文针对电力物联网自动渗透测试需求,提出一种基于改进深度强化学习的自动渗透测试方法。通过将电力物联网系统的拓扑结构、资产属性及漏洞信息等先验知识嵌入深度强化学习框架,并引入注意力机制动态适应状态空间变化,有效解决传统方法面临的状态空间爆炸、奖励稀疏、行业适应性等问题。最后通过搭建三个不同规模的试验环境,验证了所提出方法的有效性。实验结果表明,所提方法在对应的试验环境下分别可以在500回合、600回合以及800回合收敛,相较于传统DQN、Double DQN及Dueling DQN等算法,其测试效率有大幅度提升。

然而,目前的工作仍基于模拟的实验环境,对真实场景的因素考虑较为欠缺,例如目标环境的漏洞仅注入少数漏洞,可能与真实情况存在差异;未来可以考虑集成传统工具提供的模块库作为智能体动作空间的基础,并通过搭建半实物或者实物模拟环境进行测试验证,推动自动渗透测试技术在电力物联网行业的应用落地。

参考文献

[1]

张彦杰,王辉,李延,.电力物联网下基于SM9的CP-ABE访问控制方案[J].太原理工大学学报202556(3):453-464.

[2]

ZHANG Y JWANG HLI Yet al.SM9-based CP-ABE access control scheme under Power IoT[J].Journal of Taiyuan University of Technology202556(3):453-464.

[3]

王金浩,樊瑞,肖萤,.基于低碳需求响应的新型电力系统中源-网-荷-储协调的优化调度[J].太原理工大学学报202455(1):46-56.

[4]

WANG J HFAN RXIAO Yet al.Optimal dispatch of coordinated source-grid-load-storage in new power system based on low-carbon demand response[J].Journal of Taiyuan University of Technology202455(1):46-56.

[5]

谷良,狄婷,杜锋.电力系统中基于微分博弈的拟态防御调度策略[J].太原理工大学学报202556(5):410-418.

[6]

GU LDI TDU F.Differential game based mimicry defense scheduling strategy in power systems[J].Journal of Taiyuan University of Technology202556(5):410-418.

[7]

王晓凡,周天阳,臧艺超,.大规模网络渗透测试路径规划方法研究[J].计算机应用与软件202340(5):324-330.

[8]

WANG X FZHOU T YZANG Y Cet al.Path planning method of large-scale network penetration test[J].Computer Applications and Software202340(5):324-330.

[9]

RAHALKAR SRAHALKAR K,KARKA.Quick start guide to penetration testing[M].USA:BerKerly Apress,2019.

[10]

ALKHURAYYIF YALMARSHDY Y S.Adopting automated penetration testing tools:A cost-effective approach to enhancing cybersecurity in small organizations[J].Journal of Information Security and Cybercrimes Research20247(1):51-66.

[11]

陈可,鲁辉,方滨兴,.自动化渗透测试技术研究综述[J].软件学报202435(5):2268-2288.

[12]

CHEN KLU HFANG B Xet al.Survey on automated penetration testing technology research[J].Journal of Software202435(5):2268-2288.

[13]

董卫宇,刘鹏坤,刘春玲,.基于深度强化学习Noisy Net-A3C算法的自动化渗透测试方法[J/OL].郑州大学学报(工学版)

[14]

DONG W YLIU P KLIU C Let al.Automated penetration testing method based on deep reinforcement learning Noisy Net-A3C algorithm[J/OL].Journal of Zhengzhou University ( Engineering Science)

[15]

MEYERS B SALMASSARI S FKELLER B Net al.Examining penetration tester behavior in the collegiate penetration testing competition[J].ACM Transactions on Software Engineering and Methodology202231(3):1-25.

[16]

LI QWANG RLI Det al.DynPen:Automated penetration testing in dynamic network scenarios using deep reinforcement learning[J].IEEE Transactions on Information Forensics and Security202419:8966-8981.

[17]

LI QZHANG MSHEN Yet al.A hierarchical deep reinforcement learning model with expert prior knowledge for intelligent penetration testing[J].Computers & Security2023132:103358.

[18]

刘磊,许静,朱静雯,.基于攻击反馈模型的SQL注入漏洞渗透测试方法[J].计算机应用与软件202340(6):323-329.

[19]

LIU LXU JZHU J Wet al.SQL injection vulnerability penetration test approach based on attacking feedback model[J].Computer Applications and Software202340(6):323-329.

[20]

MAEDA RMIMURA M.Automating post-exploitation with deep reinforcement learning[J].Computers & Security2021100:102108.

[21]

BEURAN RHU ZZENG Yet al.Artificial intelligence for cybersecurity education and trainingArtificial Intelligence and Cybersecurity:Theory and Applications[M].Cham:Springer International Publishing,2022:103-123.

[22]

李成恩,朱东君,贺杰彦,.基于强化学习的智能化渗透路径规划与求解优化[J].计算机科学202451(11):329-339.

[23]

LI C GZHU D JHE J Yet al.Intelligent penetration path planning and solution optimization based on reinforcement learning[J].Computer Applications and Software202451(11):329-339.

[24]

RAILKAR D NJOSHI S.Penetration testing framework using the Q learning ensemble deep CNN discriminator framework[J].International Journal of Advanced Computer Science & Applications202415(3):845-856.

[25]

史腾飞,王莉,臧嵘.深度强化学习局部策略迁移方法[J].太原理工大学学报202455(4):705-711.

[26]

SHI T FWANG LZANG R.Deep reinforcement learning local policy transfer method[J].Journal of Taiyuan University of Technology202455(4):705-711.

[27]

VAN H HGUEZ ASILVER D.Deep reinforcement learning with double Q-learning[J].Proceedings of the AAAI conference on artificial intelligence201630(1):2094-2100.

[28]

WANG ZSCHAUL THESSLE Met al.Dueling network architectures for deep reinforcement learning[C]//International Conference on Machine Learning.PMLR,2016:1995-2003.

[29]

曾庆伟,张国敏,邢长友,.基于分层强化学习的智能化攻击路径发现方法[J].计算机科学202350(7):308-316.

[30]

ZENG Q WZHANG G MXING C Yet al.Intelligent attack path discovery based on hierarchical reinforcement learning[J].Computer Science202350(7):308-316.

[31]

占力戈,沙乐天,肖甫,.基于强化学习的自动化Windows域渗透方法[J].网络与信息安全学报20239(4):104-120.

[32]

ZHAN L GSHA L TXIAO Pet al.Automated windows domain penetration method based on reinforcement learning[J].Chinese Journal of Network and Information Security20239(4):104-120.

[33]

LACHKOV PTAWALBEH LBHATT S.Vulnerability assessment for applications security through penetration simulation and testing[J].Journal of Web Engineering202221(7):2187-2208.

基金资助

国网辽宁省电力有限公司管理科技项目资助(2024YF-87)

AI Summary AI Mindmap
PDF (3159KB)

216

访问

0

被引

详细

导航
相关文章

AI思维导图

/