基于深度强化学习的智能网络安全防护研究

2021-12-14 01:48:20刘月华
通信技术 2021年11期
关键词:网络空间网络安全神经网络

周 云,刘月华

(1.78111 部队,四川 成都 610011;2.中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引言

2013 年深度思考(DeepMind)公司开发深度学习和强化学习结合构建价值网络训练智能体挑战雅达利2600(Atari2600)中的游戏[1-2]。2016 年,阿尔法围棋(AlphaGo)[3]在围棋领域的成功是强化学习领域的里程碑事件,AlphoGo 将深度学习和强化学习结合构建价值网络和策略网络训练智能体,在对弈阶段采用蒙特卡洛树搜索[4]。随后推出的阿尔法元(AlphaGoZero)在AlphaGo 的基础上将策略网络和价值网络合并成一个深度神经网络进行强化学习,在不使用已有知识经验的条件下自我训练3 天即击败AlphaGo[5-7]。Atari 游戏、围棋、国际象棋都属于完美信息博弈,每个参与者可以在任何时候看到已经发生或正在发生的游戏局势。2019 年,阿尔法星(AlphaStar)[8]攻克即时战略游戏星际争霸,智能体可以战胜99.8%的人类选手。星际争霸是不完全信息下的博弈,主要使用了监督学习、深度强化学习、基于循环神经网络(Recursive Neural Network,RNN)的局部马尔可夫决策,该智能体解决了不完全信息,需要远期计划,实时性以及多主体博弈的难点问题。

DeepMind 团队取得的成绩推动了人工智能从感知智能进入认知智能。感知智能以深度学习为代表,认知智能以强化学习为代表。

强化学习的基本思想是从与环境的不断交互中学习[9],根据从环境观测到的信息,做出行动决策,然后观察环境反应调整行动,最终实现目标。网络空间安全攻防对抗过程中,攻防双方通过将攻击行为和防护行为作用于网络环境,并根据网络安全态势的变化调整对抗策略,从而实现网络攻击和网络安全防护的目的,而强化学习为网络空间攻防对抗智能化提供了重要途径和技术手段。

本文主要研究强化学习的基础理论,针对网络空间安全防护如何应用强化学习实现智能防护的问题,提出初步解决方案。本文没有考虑网络攻击智能化的问题。

1 深度强化学习基础理论

强化学习[9](Reinforcement Learning,RL)以试错的机制与环境进行交互,通过最大化累积回报学习最优策略。它是一种通过智能体Agent 与环境不断交互,获得最大累计期望回报,学习最优状态到行动映射关系的方法。强化学习系统的原理如图1 所示。

图1 强化学习原理

强化学习系统通常包含4 个元素[10]:状态s,动作a,回报(Reward,又称奖惩/奖励)r,策略π(a|s)。

状态空间S:s∈S,状态集合。

动作空间A:a∈A,动作集合。

累计期望回报R的计算方式为:

式中:γ∈[0,1]为折扣因子表示未来某一时刻的奖励在累计奖励中所占的影响比重;E为r的数学期望。强化学习目标是最大化累积回报期望,回报函数是关键。

策略π(a|s):状态空间到动作空间的映射函数,Agent 依据策略π(a|s)生成动作a。

时间序列T:t∈T,t表示当前时刻,t+1 表示t时刻的下一时刻。

Agent 根据输入的环境状态st由策略π(a|s)选取动作at作用于环境,环境状态转移至st+1,新的环境状态st+1和动作执行回报rt再次输入Agent,Agent 评估策略π(a|s)优劣程度,进一步调整做出新的决策。

如图2 所示,强化学习分为基于值函数(Value-based)的强化学习和基于策略函数(Policy-based)的强化学习。

图2 强化学习分类

行动者-评论家(Actor-Critic)[11]算法结合了两者优势,其结构包括Actor 策略函数和Critic 值函数。Actor 产生动作,Critic 评价动作好坏,并生成时序差分(Temporal Difference,TD)误差指导Actor 和Critic 更新。Actor 策略函数π(a|s)和Critic值函数(s,w)通过神经网络学习获得。对于高维的状态st和动作at数据,构建深度神经网络(Deep Neural Network,DNN)[12]提取数据特征,学习策略函数和值函数。

图3 为Actor-Critic 逻辑架构。图中,Actor 网络使用环境状态st作为输入,输出动作at。Critic网络计算动作最优价值,Actor 利用最优价值迭代更新网络参数θ,进而选择新的动作作用于环境。Critic 使用环境反馈的回报at和环境新状态st+1更新网络参数w,然后使用新的参数w计算Actor 输出动作的最优价值。Critic 的评估点基于TD 误差,TD 误差代表了估计值与目标值的误差大小,误差越大样本的价值就越大。

图3 Actor-Critic 逻辑架构

TD 误差的表达式为:

Critic 网络使用均方差损失函数作为参数w的更新梯度,表达式为:

Actor 网络使用带权重的梯度更新策略网络参数θ,表达式为:

2 基于DRL 的智能网络安全防护

基于深度强化学习(Deep Reinforcement Learning,DRL)的网络安全防护智能体学习引擎使用虚拟化的网络空间综合靶场作为“环境(Environment)”,并通过Actor-Critic 算法和深度神经网络构建DRL 框架,如图4 所示。

图4 智能网络安全防护DRL 框架

虚拟网络空间综合靶场基于云计算平台构建,作为实际网络的仿真运行环境[13-14],环境中的数据支持从实际网络引入,从而使Agent 的训练学习面向真实环境。当把虚拟化网络空间综合靶场换做实际网络环境时,Agent 可以直接使用不需要再做迁移学习。

2.1 状态集合设计

状态集合S是网络状态信息的集合,是网络状态已知信息的客观描述数据,是强化学习的重要数据。组成状态集合的状态要素分类如表1 所示。

表1 状态要素

表1 中的状态要素是一个分类,每个分类有更详细的原子状态信息,所有的原子状态信息共同构成环境状态集合形成状态空间,例如:攻击对象原子状态信息有计算机、网络路由器、网络交换机、系统、服务,安全设备、工业设备等;计算机原子状态信息有主机可访问状态,操作系统类型,操作系统版本、权限、漏洞、存在脆弱性的服务和进程等[15];攻击来源原子状态信息有IP 地址,域名,AS 号等。

2.2 动作集合设计

动作集合A是Agent 可以采取的操作的集合,策略st+1从动作集合中选取at执行。组成动作集合的动作要素分类如表2 所示。

表2 动作要素

表2 中的动作要素是一个分类,每个分类有更详细的原子动作,所有的原子动作共同构成动作集合形成动作空间。

2.3 回报函数设计

2.3.1 回报函数

回报函数对强化学习的每步决策选择动作进行奖励或惩罚,评判动作性能。回报函数对强化学习过程起着导向作用,回报函数引导Agent 在与环境交互的过程中不断修正策略以选择价值回报最大的动作。

回报函数为:

Agent 选择动作at执行后,环境给出t时刻网络攻击威胁度xt∈X。如果xt大于阈值Xthreshold,进行正值反馈对Agent 进行奖励;如果xt小于阈值Xthreshold,进行负值反馈对Agent 进行惩罚;xt等于阈值Xthreshold,不奖励也不惩罚。此处阈值Xthreshold不做特别规定,视具体情况自行定义。

2.3.2 基于动态贝叶斯的网络攻击威胁度评估

动态贝叶斯[16]网络攻击威胁度评估,首先确定攻击威胁各组成要素及其关系,按照要素间关系建立对应的贝叶斯模型;其次确定贝叶斯模型中各节点的先验概率和条件概率;最后进行模型推理。

静态贝叶斯模型在时间维度上展开得到动态贝叶斯模型,如图5 所示。

图5 动态贝叶斯网络威胁度评估模型

动态贝叶斯网络推理使用滤波算法利用过去结果和当前证据预测当前结果的推理方法,推理公式为:

式中:E代表证据;X代表连接毗邻时间片的节点;t-1 代表过去;t代表当前;P(Et)和P(Xt)是当前证据E和节点X的先验概率;P(Xt|Et)是当前网络滤波推理前的概率结果;P(Xt-1|E1∶t-1)和P(Xt-1|E1∶t)是过去和当前网络滤波推理后的概率结果;是当前和过去间节点X的状态转移概率;是过去网络滤波推理后最大的概率结果对应的状态;α是归一化因子。

2.4 网络安全防护智能体训练过程

图6 为网络安全防护智能体训练过程示意图,训练部分包括网络空间安全态势状态数据和安全防护动作相关的样本数据集、虚拟网络空间综合靶场仿真环境、Actor 神经网络和Critic 神经网络。

图6 中的网络安全防护智能体训练过程描述如下。

图6 网络安全防护智能体训练过程

步骤1:构建Actor 神经网络和Critic 神经网络,形成Actor 策略网络和Critic 价值网络。由于网络安全态势数据和网络安全防护动作数据是高维数据,神经网络构建采用深层的深度神经网络。初始化神经网络参数、初始化训练次数、折扣因子、学习率等。

步骤2:引入实际网络数据,提取网络安全攻击数据,按照动作集合设计中的动作要素构建网络安全防护动作数据集。

步骤3:将网络安全态势数据作为模型的训练数据输入。

步骤4:Actor 策略网络根据策略函数从动作空间A 中选择actions 输出给仿真环境。

步骤5:仿真环境执行动作actions,动作执行后的网络攻击威胁度和新的网络安全态势做为Critic 价值网络的输入。

步骤6:Critic 价值网络计算TD 误差(td_error),计算min(td_error2),使用策略梯度算法更新神经网络参数w,同时将TD 误差反馈给Actor 策略网络。

步骤7:Actor 策略网络使用策略梯度算法更新神经网络参数θ。

步骤8:重复步骤3 至步骤7,直至训练结束。

步骤9:训练结束后,Actor 策略网络参数和学习到策略函数、Critic 价值网络参数和学习到的价值函数共同构成智能体Agent,训练过程获得的目标策略即是网络安全攻击与其相对应的最优安全防护策略。

3 结语

本文针对网络空间安全防护如何智能化的问题进行研究,探索了深度强化学习解决问题的方法和过程。将深度强化学习应用在网络空间安全防护领域,使用深度学习提取网络安全态势数据特征,构建智能体,由回报函数进行强化学习决策导引,判断策略和动作好坏,并通过在虚拟网络空间综合靶场训练学习获得安全防护智能体和最优安全防护策略集合。智能体在面对网络攻击时根据模型和策略快速应对,并且强化学习从环境交互过程中学习的特性可以使智能体在线学习新的策略。

网络空间已成为领土、领海、领空、太空之外的“第五空间”,是国家主权的新疆域,国家安全的重要组成部分。信息网络安全已成为国家信息化建设的重要基础支撑。信息与通信技术(Information and Communications Technology,ICT)和人工智能技术不断取得的新进展,为网络空间安全防护提供了新手段新措施。此外,网络空间安全对抗也将更加智能化,对该领域的研究将会持续深入。

猜你喜欢
网络空间网络安全神经网络
共建诚实守信网络空间
公民与法治(2020年4期)2020-05-30 12:31:20
神经网络抑制无线通信干扰探究
电子制作(2019年19期)2019-11-23 08:42:00
网络安全
网络安全人才培养应“实战化”
网络空间并非“乌托邦”
传媒评论(2018年8期)2018-11-10 05:22:26
上网时如何注意网络安全?
网络空间安全人才培养探讨
基于神经网络的拉矫机控制模型建立
重型机械(2016年1期)2016-03-01 03:42:04
复数神经网络在基于WiFi的室内LBS应用
我国拟制定网络安全法
声屏世界(2015年7期)2015-02-28 15:20:13