关于网络安全攻防演化博弈的研究小议

1. 拉高视角,从宏观看网络安全攻防 

伴随着信息化的发展,网络安全的问题就一直日益突出,与此同时,网络安全技术也成为研究热点,直到今日也没有停止。

从微观来看,网络安全技术研究指的是针对某项或某几项指标的完善,例如:

  • 针对WEB系统漏洞的挖掘和利用,以及与此相应的日志采集以及关键点审计技术,例如RASP和WAF,核心指标是精确率和召回率
  • 恶意代码作者为了躲避病毒AV的静态和动态检测机制,通过隐写、混淆、多态等手段隐藏恶意代码的表征行为,与此对应的,病毒查杀厂商通过研究相应的反混淆、动态沙箱、插桩等技术,希望更有效地提取恶意代码的表征行为

在关注具体技术研究的同时,我们也需要意识到,网络安全策略的研究在某种程度上比技术研究更为重要,特别是对于同样的技术采用不同的安全策略会取得不同的效果。

网络安全中攻防对抗的本质可以抽象为攻防双方的策略依存性,而这种策略依存性正式博弈论的基本特征,因而可以考虑应用博弈论来解决网络安全攻防对抗的问题

在学术界,博弈论应用于网络安全处于发展阶段,相关的学术研究脉络有:

  • 国外学者Stakhanova 等人,通过随机博弈、不完全信息博弈等模型来进行入侵意图、目标和策略的推理
  • Reddy指出关于入侵检测的研究主要且多数建立在一次性博弈分析的基础上
  • SHEN Shi-gen认为考虑到真实场景中攻击的重复性,将其视为一个重复的多阶段博弈的过程显然更为合理
  • Agaha等建立了无线传感器网络中基于重复博弈理论的攻防模型
  • 朱建明提出了基于博弈论对信息安全技术进行评价的模型,其研究侧重于信息安全机制的优化配置
  • 孙薇等人建立了信息安全攻防的博弈模型,分析防守方和攻击方的复制动态及进化稳定策略,其模型考虑到现实社会中的有限理性,引入了演化博弈来研究攻防对抗的规律

2. 网络安全攻防系统动力学模型

在信息网络中,由于不同的攻击者和防御者对信息安全知识的不同理解和反应,因此产生了不同的预测和决策机制。

每个参与者获得不同的收益,随着时间的推移,每个参与者通过学习成功者的经验,不断改进自己的安全策略,形成新的攻防形势。

在参与者不断改进攻防策略的内在驱使下,随着网络安全技术不断进步,企业对系统的持续调整,都会使信息安全问题呈动态进化趋势,进而形成了不断进化的网络安全体系。

用系统动力学对相关问题的演化博弈进行仿真,可以从全局整体考察博弈均衡背后的动态特性,而演化博弈论的分析则对建模和制定相应的决策起到至关重要的作用。

0x1:系统边界的定义

清晰的界定系统的边界是模型成功与否的关键步骤。界定系统的边界必须紧紧围绕建模目的以及研究对象,真正将关注点放在核心问题上,可以考虑忽略非重要的因素。研究的对象是网络中攻防双方的演化博弈系统。

从参与者结构来看,系统内存在两类个体:

  • 防守方
  • 攻击方

从演化的范围来看,系统演化包括:

  • 防守方之间的学习
    • 防守方竞品之间的互相学习
  • 攻击方之间的学习
    • 0day披露后,在攻击者社群中迅速传播,攻击者会竞相模仿
  • 防守方和攻击方之间的对抗
    • 安全攻防知识的对抗
    • 信息不对称的对抗,例如防守方不知道攻击者采取了何种IDS技术

从影响因素来看,根据演化博弈模型的分析框架,系统影响因素应包括:

  • 防守方收益
  • 防守方成本
    • 针对某个攻击向量的攻击,防守方需要投入大量的研发成本
    • 防守方为了防住一个点,往往需要建设一个面
  • 攻击方收益
  • 攻击方成本

网络中攻防演化博弈系统的构成要素如下表所示:

0x2:基本假设

模型的基本假设如下:

  • 攻防双方演化博弈系统限定在网络上的攻防双方,在根据对方的策略集采取采取策略演。不考虑攻防双方角色的转化以及蜜罐技术等其他因素。 
  • 攻击方和防守方对信息资产的价值认可是相同的
  • 在足够长的时间内,攻击者的技术水平和防守方的技术水平没有绝对差距,即攻防技术的研究是对等的
  • 攻击方和防守方通过社会网络,能够各自充分了解同质群体采取行动的效用,即攻击方和防守方都各自能够了解自己的群体,并互相学习
  • 防守方采取的行动是完全有效的

0x3:模型符号系统构建

网络安全演化博弈系统动力学模型由4个流位、2个流率、13个中间变量、和3个外部变量构成,如下图所示,

  • 流位变量
    • defensenoinvest:防守方放弃信息安全投资的概率
    • defenseinvest:防守方选择进行信息安全投资的概率
    • attacknoaction:攻击方放弃攻击的概率
    • attackaction:攻击方选择采集攻击的概率
  • 流率变量
  • 中间变量
  • 外部变量
    • P1:信息安全资产价值,同时也是防守收益
    • P2:攻击方收益,根据前面的攻防等效假设,P1=P2
    • C1:防守方信息安全投入成本,表示防守方投入设备、人力和无形资产等全部的价值
    • C2:攻击方成本,表示攻击方在人力、设备和法律惩罚方面产生的投入

0x4:博弈系统演进动力方程分析

根据上述流图,构建的博弈树如下图所示:

计算防守者的期望收益和平均收益:

当投入效益和不投入效益不相等时,效益差的防守者会模仿效益好的防守者。

设采取投入策略与采取不投入策略人的比例是时间的函数,分别表示为 p(t) 和 1-p(t)。

投入策略的动态变化速度可以用如下复制动态方程表示:

同理,计算攻击者的情况:

模型稳定性分析,令:

求出博弈系统的平衡状态,得到:

其中,X1、X2、X3、X4为鞍点,X5为中心点,系统不存在演化稳定均衡,只要有微小的变化,系统就会受到重大的影响。

这说明网络安全问题仅靠技术的投入是无法得到彻底解决的。攻防双方两大阵营永远在不断的动态博弈中,而驱动这种博弈的源动力,就来自于攻击者攻击收益的变化,这常常伴随着某些黑产变现手段的出现和繁盛,例如:

  • 加密货币
  • 基于非对称算法的勒索病毒
  • 简易有效的0/Nday漏洞披露
  • SEO污染的买房市场繁荣
  • 挖矿收益

因为源源不断地收益诱惑这个源动力的存在,会让攻击者群体不断升级演进己方的技术,自然这会打破某一时期存在的短暂纳什均衡

攻击方通过打破纳什均衡在获得超额收益后,会有一小部分防守者率先升级防御技术,投入防御产品研发,进而获得了更好的防御效果,之后,防守群体中的其他个体会进行学习与模仿,最终,攻防群体重新达到一个新的纳什均衡。

此后,下一轮的新的扰动与动态演化又开始了。

0x5:模型检验

系统动力学模型是对真实世界系统抽象和简化的结果,并不是真实世界系统的复制品,所以从再现客观世界真实情况来看,任何模型都不是完全正确的。只要模型在既定的假设下有效接近真实世界的系统,完成既定条件下的目标,那么就可以认为模型的构建具有客观性、合理性和实用性。

1. 系统边界检验

系统边界测试主要是检查系统中重要的概念和变量是否为内生变量,同时测试系统的行为对系统边界假设的变动是否敏感。

用系统动力学对演化博弈建立的目的,是研究网络攻防演化过程中系统内部影响因素的动态特征,并通过这些影响因素找出网络攻防的优化策略集。

模型的边界是在继承前期网络攻防博弈的相关研究成果基础上,根据建模目的和现实系统的实际情况而确定的。该模型包含了与所研究问题密切相关的重要因素,并摒除了对系统影响较小的因素,因此对网络攻防演化博弈的系统边界是合理、有效的。 

2. 有效性检验 

有效性检验是为了验证模型所获信息与行为是否反映了实际系统的特征与变化规律,通过模型的分析研究能否正确认识与理解所要解决的问题。在现实的网络环境中,攻防双方都根据对方的行动采取相应的策略。

1)攻防处于均势初始状态的演化

如果初始状态为:

  • 防守方都进行有效安全投资
  • 攻击方都进行攻击 

那么经过一段时间演化,攻防对抗不断交替升级,防守方始终处于滞后循环的状态。

2)守强攻弱的初始状态的演化 

如果初始状态时,防守方都进行了有效安全投资,攻击方没有相对收益,那么经过一段时间演化,攻击方攻击概率都将降为0。

通过仿真实验,假设攻击方初始状态为0.9,经过演化攻击方进行攻击概率迅速降至0,

初始防守概率为1,攻击概率为0.9,之后的概率演进

3)攻强守弱的初始状态的演化 

如果初始状态为攻击方都采取攻击行动,防守方受到损失,经过一段时间演化,防守方都将进行安全投资。

系统仿真中假设所有攻击方都进行攻击,防守方初始状态为0.1时,经过有演化迅速达到1的均衡状态,

初始攻击概率为1,防守概率为0.1,之后的概率演进

现实世界中第三种情况占了绝大多数,网络安全中防守技术的的起步比攻击技术要晚,防守技术以及防守产品落地时,攻击方往往已经处于上峰优势地位很久了。这个时候防守方会呈现追赶的态势,在经过一段时间后,攻防达到平衡,此后就回到第一种状态,即防守方会持续处于滞后循环中。 

Relevant Link:  

http://xueshu.baidu.com/usercenter/paper/show?paperid=eb82da16d21916df568789de58231e7e&site=xueshu_se

3. 网络安全攻防对抗治理策略 

0x1:所谓的提供攻击者成本说法是否合理?

研究信息攻防博弈的最常见治理策略就是:提高攻击者成本,或加大对攻击者的惩罚力度

针对类似问题,有学者已经证明混合战略博弈中提高惩罚力度,其实无法改变被惩罚者违规概率的均衡点。

实践中通过防御手段提高攻击者攻击成本的应用,是因为其在短期内可以以降低被惩罚者的均衡点,而从长期来看,该策略忽视了惩罚力度的加大实际上对于双方的支付矩阵都是有影响了。

一般来说防守者投入概率越高,攻击者采取行动的成本越高,或者被发现的概率越大,导致受到惩罚的可能越大。

系统仿真中设 C2 = 2+p*2,在短期内,攻击者的攻击概率可以下降至0,但从长期来看,由于防守方策略也受影响,攻击者的概率不会稳定在较低点,而是波动起伏的,

双方演化博弈过程

随着博弈次数和时间的变化,波动振幅也会加大,博弈无法达到演化均衡点。

所以,依靠防守方加大投资,是无法达到演化均衡的,最终呈现攻防双方反复波动的状态,并且防守方还是是滞后波动的。

0x2:引入第三方惩罚机制

当加入动态惩罚策略,如:

  • 第三方监管部门对攻击者的惩罚力度
  • 国家法律对攻击行为的定罪和制裁
  • 相关部分对攻击者的追溯和惩罚

考虑对整个博弈模型的稳定性影响,系统中假设当 C2=2+2*q 时,随着博弈次数和时间的增加,攻击者采取攻击的概率逐渐收敛,稳定在纳什均衡点。

防守方和攻击方概率变化

可以看到,引入第三方动态惩罚策略的系统博弈是存在演化均衡的。

现实中,防守方投入如果侧重于攻击者攻击的追踪,为第三方监管部门进行动态惩罚提供网络攻击行为的审查线索,是有效遏制网络攻击的重要途径。 

0x3:关闭或者减少攻击者获得收益的渠道

解决问题的另一个思路是减少攻击者获取收益的渠道,正常情况下,攻防双方在持续投入的情况下,攻防概率是处于一个纳什均衡中的,这个时候,如果没有新的变现和盈利渠道,那么攻击方就不会有动力去打破当前的均衡点。 

上一篇:Kotlin:后端开发的新宠


下一篇:深入解析【C++多态】:探索面向对象编程中的动态绑定与行为多样性和多态的核心概念与应用实践