利用强化学习促进网络攻防——从业界文章看攻防建设思路和要点总结
以智能对抗智能,利用强化学习实现网络自主防御
随着攻防对抗更加激烈,以智能对抗智能是数字化时代下的安全趋势。
在《Reinforcement Learning for Autonomous Cyber Defense》中,专门探讨了如何利用强化学习,实现自主网络防御。作者提出网络防御强化学习的目的是创造一个自主作用的代理(强化学习Agent),能够做出一系列在不确定性场景下的安全决策。
图1-9 强化学习Agent
其他几个关键文章的攻防建设思路和要点总结:
Deep Reinforcement Learning for Cyber System Defense under Dynamic Adversarial Uncertainties
https://arxiv.org/pdf/2302.01595.pdf 文章要点
- 深度强化学习(DRL)框架:本文提出了一个基于数据驱动的深度强化学习(DRL)框架,用于学习主动、上下文感知的防御对策,能够动态适应不断变化的对手行为,同时最小化网络系统运行的损失。
- 动态防御优化问题:本文将动态防御优化问题建模为一个序列决策过程(SDP),其中多种防御姿态对抗不同类型和水平的对手。本文使用了一个自定义的仿真环境,并设计了实验来系统地评估四种无模型DRL算法在面对真实的多阶段攻击序列时的性能。
- 实验结果:本文的实验结果表明,DRL算法在面对多阶段攻击和系统不确定性时具有有效的主动防御能力。其中,深度Q网络(DQN)算法表现出了最佳的性能,能够在最短的时间内收敛到最优策略,并在测试中达到最高的防御胜率。
这篇文章里面提到的RL生成的防御策略或者攻击策略有以下几种:
- 防御策略:
- 无动作:防御者保持沉默,不采取任何措施;
- 反应式:防御者移除所有与当前攻击位置或最近的攻击行为相关的进程;
- 主动式:防御者阻止一组特定的API调用或操作,以阻止下一个攻击行为。
- 攻击策略:
- 根据MITRE ATT&CK框架,攻击者从侦察/初始访问战术开始,逐步执行不同的攻击技术,直到达到影响/数据泄露战术为止;
- 攻击者根据自己的技能和持久性参数,以不同的成功率和容忍度来利用系统中存在的漏洞;
- 攻击者根据之前的攻击影响和网络/系统状况,动态地调整自己的策略,以逃避或打败任何静态的防御策略。
文章里面提到的奖励函数是这样定义的:
- 奖励函数(R)是一个反映防御者的收益和损失的数值,由以下三个部分组成:
- pg(s) × Ig 是当前状态s下的风险值,其中pg(s)是攻击者从s到达影响/数据泄露战术的概率,Ig是攻击成功造成的影响/损失;
- Iv × Ig 是防御者的惩罚或激励,其中Iv = −1如果攻击者赢了,0如果防御者赢了;
- Cf 是执行任何防御动作的代价,包括中断正常操作和防御实施或运行成本。
- 奖励函数的数学表达式为:
- 奖励函数的目标是让防御者选择能够最大化累积奖励的最优动作,即尽早阻止攻击者达到影响/数据泄露战术,同时最小化对正常操作的干扰。
文章的实验流程和结果如下:
- 实验流程:
- 设计了一个自定义的仿真环境,模拟了一个具有不同类型和水平的攻击者和防御者的网络系统;
- 使用了四种无模型DRL算法(DQN,Double DQN,Dueling DQN和Deep Deterministic Policy Gradient (DDPG))来训练防御者的策略;
- 在不同的攻击者技能和持久性参数下,对每种算法进行了100次训练和测试,评估了它们的收敛速度、防御胜率、累积奖励和防御成本。
- 实验结果:
- DQN算法在所有的攻击者设置下都表现出了最佳的性能,能够在最短的时间内收敛到最优策略,并在测试中达到最高的防御胜率;
- Double DQN算法在某些攻击者设置下也能达到较高的防御胜率,但是收敛速度较慢;
- Dueling DQN算法在大多数攻击者设置下都表现出了较差的性能,可能是因为它不能很好地区分不同状态的价值;
- DDPG算法在所有的攻击者设置下都表现出了最差的性能,可能是因为它不能很好地处理离散的动作空间。
里面提到的不同类型和水平的攻击者和防御者的网络系统是一个虚拟的仿真环境,具有以下特点:
- 网络系统由一个服务器和多个客户端组成,每个客户端都有一个进程列表,表示正在运行的应用程序;
- 攻击者可以通过不同的技术和战术来入侵网络系统,例如扫描、钓鱼、利用漏洞、提权、横向移动等;
- 防御者可以通过不同的动作来保护网络系统,例如无动作、反应式、主动式等;
- 网络系统的状态由多个因素决定,例如网络流量、网络利用率、攻击位置、攻击影响等;
- 网络系统的状态是部分可观察的,即防御者不能完全知道攻击者的目标和行为,也不能完全知道网络系统的运行情况。
Deep Reinforcement Learning for Cyber Security
1906.05799.pdf (arxiv.org) 文章要点
- 文章摘要:本文对深度强化学习(DRL)在网络安全领域的应用进行了综述,涉及了DRL在网络物理系统、自主入侵检测技术和博弈论模拟防御策略等方面的方法和进展。本文还对DRL在网络安全中面临的挑战和未来的研究方向进行了讨论,期望为探索DRL应对日益复杂的网络安全问题提供基础和指导。
- 文章要点:
- DRL是一种结合了深度学习和强化学习的机器学习方法,能够处理高维度、动态和不确定的环境,适合解决网络安全中的复杂问题。1
- DRL在网络物理系统中可以提高系统的鲁棒性和安全性,例如通过检测和防御数据注入攻击、欺骗攻击、干扰攻击等。
- DRL在自主入侵检测系统中可以提高检测的准确性和效率,例如通过使用深度神经网络、卷积神经网络、长短期记忆网络等来处理大规模的网络流量数据和系统日志数据。
- DRL在博弈论模拟中可以提高防御策略的优化和适应性,例如通过使用多智能体强化学习、零和博弈、非合作博弈等来模拟攻防双方的交互和决策。
- DRL在网络安全中还面临着一些挑战和问题,例如缺乏可解释性、易受对抗样本影响、需要大量的训练数据和计算资源等。未来的研究方向包括多智能体DRL、结合主机和网络入侵检测系统、结合模型无关和模型相关DRL方法、处理连续动作空间、攻击性AI、深度伪造、机器学习投毒、对抗机器学习、人机协作等。
文章的实验过程和结果如下:
- 实验过程:
- 选择了三个领域的网络安全问题作为DRL的应用案例,分别是网络物理系统、自主入侵检测技术和博弈论模拟防御策略;
- 对每个案例,使用了不同的DRL算法来解决相应的问题,并与其他的机器学习或传统方法进行了对比分析;
- 使用了不同的数据集和仿真环境来评估DRL算法的性能,包括网络流量数据集、系统调用数据集、Roboschool仿真环境、网络仿真器等;
- 使用了不同的评价指标来衡量DRL算法的效果,包括准确率、召回率、F1值、收敛速度、防御胜率、累积奖励、防御成本等。
- 实验结果:
- DRL算法在网络物理系统中可以有效地检测和防御数据注入攻击、欺骗攻击、干扰攻击等,提高了系统的鲁棒性和安全性;
- DRL算法在自主入侵检测系统中可以有效地处理大规模的网络流量数据和系统日志数据,提高了检测的准确性和效率;
- DRL算法在博弈论模拟中可以有效地优化和适应防御策略,对抗不同类型和水平的攻击者;
- DRL算法在网络安全中表现出了优于其他机器学习或传统方法的性能,尤其是在面对高维度、动态和不确定的环境时。
这篇文章中的攻击和防御策略是针对不同的网络安全场景而设计的,包括网络物理系统、自主入侵检测系统和博弈论模拟等。以下是一些具体的例子:
- 网络物理系统:这类系统涉及到物理设备和网络通信的结合,例如智能电网、自动驾驶汽车、工业控制系统等。这类系统可能受到数据注入攻击、欺骗攻击、干扰攻击等的威胁,影响其正常运行和安全性。文章中提出了一些基于DRL的防御方法,例如:
- 使用DRL框架建模动态防御优化问题,让防御者根据当前状态和奖励选择最佳的防御姿态,以动态适应攻击者的行为。
- 使用DRL方法寻找网络物理系统模型的错误输入(反例),以有效地检测和修复系统缺陷。
- 使用DRL方法提高自主系统的鲁棒性,通过使用对抗样本来学习检测和缓解欺骗攻击对传感器数据的影响。
- 自主入侵检测系统:这类系统利用机器学习或深度学习方法来分析网络流量数据或系统日志数据,以发现异常或恶意活动,例如DDoS攻击、恶意软件攻击、数据泄露等。文章中提出了一些基于DRL的检测方法,例如:
- 使用RL方法选择合适的日志文件来检测异常或攻击迹象,通过结合异常检测和特征检测来提高检测效率和准确性。
- 使用多智能体RL方法协调多个路由器来限制流向受害服务器的流量,以抵御DDoS攻击,并使用分层团队学习设计来提高可扩展性 。
- 使用DRL方法处理大规模的网络流量数据和系统日志数据,以提高检测的准确性和效率,并与传统的机器学习方法进行比较。
- 博弈论模拟:这类方法利用博弈论的理论和工具来建模攻防双方的交互和决策,以优化和适应防御策略,对抗不同类型和水平的攻击者。文章中提出了一些基于DRL的博弈方法,例如:
- 使用DRL方法在MEC系统中提供安全的离线服务,通过选择合适的离线速率、时间、信道和功率来抵御干扰攻击,并使用迁移学习技术来提高学习效率。
- 使用多智能体RL方法在宽带自主认知无线电中实现抗干扰通信,通过学习选择合适的子带来避免干扰信号和其他无线电之间的干扰 。
- 使用多智能体RL方法在对抗性网络环境中模拟防御策略,通过考虑网络拓扑、节点属性、信息传播等因素来评估不同策略的效果。
Reinforcement Learning for Autonomous Defence in Software-Defined Networking
1808.05770.pdf (arxiv.org) 文章要点
- 文章摘要:本文提出了一种基于深度强化学习(DRL)的自适应网络安全框架,用于对抗不断变化的网络攻击。本文首先介绍了DRL的基本概念和算法,然后分析了DRL在网络安全领域的应用场景和挑战。本文还设计了一个基于DRL的网络防御系统,用于检测和阻止分布式拒绝服务(DDoS)攻击,并在一个模拟环境中进行了实验评估。实验结果表明,DRL可以有效地提高网络防御性能,降低误报率和攻击损失。
- 文章要点:
- DRL是一种结合了深度学习和强化学习的机器学习方法,能够处理高维度、动态和不确定的环境,适合解决网络安全中的复杂问题。
- DRL在网络安全中有多种应用场景,例如网络物理系统、入侵检测、博弈论、恶意软件检测、数据隐私保护等。
- DRL在网络安全中也面临着一些挑战和问题,例如缺乏可解释性、易受对抗样本影响、需要大量的训练数据和计算资源等。
- DRL可以用来构建一个自适应的网络防御系统,通过学习网络流量特征和攻击行为,动态地调整防御策略,以抵御DDoS攻击。
文章里强化学习的攻击和抵御DDoS策略是:
- 攻击策略:攻击者通过不断变化的网络攻击,例如分布式拒绝服务(DDoS)攻击,来破坏网络系统的正常运行和安全性。攻击者可以利用两种方式来干扰强化学习(RL)防御者的训练过程,即:
- 翻转奖励符号:攻击者可以篡改部分奖励信号,使其与原始奖励相反,从而增加RL防御者的损失函数,延迟其学习最优策略。
- 操纵状态:攻击者可以修改部分状态信息,使其与真实状态不一致,从而影响RL防御者的决策,导致其采取次优或错误的动作。攻击者可以根据自己的目标,选择无差别或有针对性的操纵方式,以及白盒或黑盒的攻击模式。
- 防御策略:防御者通过使用RL方法来自适应地调整网络防御策略,以抵御不断变化的网络攻击。防御者可以采用以下步骤来实现自主防御:
- 观察网络状态,包括每个节点是否被感染,每条链路是否被打开或关闭;
- 根据当前状态和奖励选择一个动作,包括隔离和修复一个节点,重新连接一个节点和其链路,迁移关键服务器和选择目标位置,或不采取任何动作;
- 根据执行动作后的新状态和奖励更新RL模型,并继续下一步决策。
- 奖励函数:奖励函数是一个反映防御者的收益和损失的数值,由以下几个部分组成:
- 是否保护了关键服务器;
- 从关键服务器可达的未感染节点的数量;
- 被感染节点的数量;
- 迁移服务器的代价;
- 执行动作的有效性。