当前位置: 首页 > news >正文

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

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:关闭或者减少攻击者获得收益的渠道

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

相关文章:

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

1. 拉高视角,从宏观看网络安全攻防 伴随着信息化的发展,网络安全的问题就一直日益突出,与此同时,网络安全技术也成为研究热点,直到今日也没有停止。 从微观来看,网络安全技术研究指的是针对某项或某几项…...

【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(7)

1.问题描述: 推送通知到手机,怎么配置拉起应用指定的页面? 解决方案: 1、如果点击通知栏打开默认Ability的话, actionType可以设置为0, 同时可以在.clickAction.data中,指定待跳转的page页面…...

远程桌面防护的几种方式及优缺点分析

远程桌面登录是管理服务器最主要的方式,于是很多不法分子打起了远程桌面的歪心思。他们采用暴力破解或撞库的方式破解系统密码,悄悄潜入服务器而管理员不自知。 同时远程桌面服务中的远程代码执行漏洞也严重威胁着服务器的安全,攻击者可以利…...

ASP.NET|日常开发中连接Sqlite数据库详解

ASP.NET|日常开发中连接Sqlite数据库详解 前言一、安装和引用相关库1.1 安装 SQLite 驱动1.2 引用命名空间 二、配置连接字符串2.1 连接字符串的基本格式 三、建立数据库连接3.1 创建连接对象并打开连接 四、执行数据库操作4.1 创建表(以简单的用户表为例…...

python的自动化seleium安装配置(包含谷歌的chromedriver)

目录 前言介绍 一、下载谷歌浏览器chromedriver (一)查看谷歌浏览器版本 (二)去官网下载谷歌驱动(chromdriver) (三)谷歌浏览器安装位置解压 (四)配置环境变量 二、pychram里下载安装selenium 三、测试selenium是否成功 前言介绍 Selenium是一个开源的自动化测试工具&…...

QT requested database does not belong to the calling thread.线程中查询数据报错

QT requested database does not belong to the calling thread.线程中查询数据报错 QString name "ttx"; QSqlQueryModel* sql_model; QString sql_comm QString("select * from dssb_moddve_loddt_tab where name%1").arg(name); sql_model->set…...

服务器一般装什么系统?

在服务器管理中,操作系统的选择是一个关键因素,它直接影响到服务器的稳定性、性能和可维护性。那么为什么有些服务器选择Linux,而不是Windows?选择合适的操作系统对服务器的性能和安全性有多么重要? 在众多操作系统中…...

Linux vi/vim 编辑器使用教程

Linux vi/vim 编辑器使用教程 引言 Linux 系统中的 vi 和 vim 是非常强大的文本编辑器,它们以其高效性和灵活性而闻名。vim 是 vi 的增强版,提供了更多的功能和改进的用户界面。本文将详细介绍 vi/vim 的基本用法,包括打开文件、编辑文本、…...

JavaEE多线程案例之阻塞队列

上文我们了解了多线程案例中的单例模式,此文我们来探讨多线程案例之阻塞队列吧 1. 阻塞队列是什么? 阻塞队列是⼀种特殊的队列.也遵守"先进先出"的原则. 阻塞队列是⼀种线程安全的数据结构,并且具有以下特性: 当队列满的时候,继续⼊队列就会…...

梳理你的思路(从OOP到架构设计)_基本OOP知识04

目录 1、 主动型 vs.基於被动型 API 1)卡榫函数实现API 2)API的分类 3)回顾历史 4)API >控制力 2、 结语&复习: 接口与类 1)接口的表示 2)Java的接口表示 1、 主动型 vs.基於被动…...

nginx反向代理(负载均衡)

nginx的代理 代理 四层代理 七层代理 正向代理和缓存的配置方式 🐭🐮🐯🐰🐉🐍🐴🐑🐒🐔🐶🐷 反向代理》负载均衡 负载均衡&#xff…...

Android系统应用主要模块

设置 Android Settings开发总结 Launcher Android Launcher开发学习总结 System UI Android SystemUI 学习总结...

【万字详解】三维重建(二)——NeRF、NeuS、MeshUDF、NeuralUDF、3DGS、GShell

文章目录 一、NeRF:Representing Scenes as Neural Radiance Fields for View Synthesis(推荐读)1.1 式1 神经网络的输入和输出1.2 式2 体素渲染算法1.3 式3 损失函数1.4 位置编码1.5 基本原理二、经典的重建流程2.1 传统的三维重建pipeline2.2 神经网络回归2.3 可微渲染最优…...

【RK3588 Linux 5.x 内核编程】-内核线程与Seqlock

内核线程与Seqlock 文章目录 内核线程与Seqlock1、Seqlock介绍2、Seqlock相关API2.1 初始化2.2 写操作2.3 读操作3、驱动实现4、驱动验证在前面的文章中,我们介绍了 Mutex、Spinlock、Read/Write Spinlock 的使用及其实现。 它们都用于保护共享资源不被两个或多个进程同时修改…...

访问者模式的理解和实践

在软件开发过程中,设计模式为我们提供了解决常见问题的最佳实践。访问者模式(Visitor Pattern)是行为设计模式之一,它将数据操作与数据结构分离,使得在不修改数据结构的前提下,能够定义作用于这些元素的新的…...

在Scala中对Map函数的使用

package pp28{object cscc {def main(args: Array[String]): Unit {val m1 Map("马云 — 阿里巴巴" -> 1964,"马化腾 — 腾讯" -> 1971,"李彦宏 - 百度" -> 1968,"雷军 - 小米" -> 1969,"丁磊 - 网易" -> …...

PyTorch基本使用-张量的索引操作

在操作张量时,经常要去获取某些元素进行处理或者修改操作,在这里需要了解torch中的索引操作。 准备数据: data torch.randint(0,10,[4,5]) print(data--->,data)输出结果: data---> tensor([[3, 9, 4, 0, 5],[7, 5, 9, …...

OpenCV实验:图片加水印

第二篇:图片添加水印(加 logo) 1. 实验原理 水印原理: 图片添加水印是图像叠加的一种应用,分为透明水印和不透明水印。水印的实现通常依赖于像素值操作,将水印图片融合到目标图片中,常用的方法…...

sql server log文件

确定 SQL Server 实例中具有大量 VDF 的数据库 SELECT [name], COUNT(l.database_id) AS vlf_count FROM sys.databases AS s CROSS APPLY sys.dm_db_log_info(s.database_id) AS l GROUP BY [name] HAVING COUNT(l.database_id) > 100; 在收缩日志文件之前确定事务日志中…...

Elasticsearch 集群部署

Elasticsearch 是一个分布式的搜索和分析引擎,广泛应用于日志分析、全文搜索、实时数据分析等场景。它以其高性能、高可用性和易用性而著称。本文档将引导您完成一个基本的 Elasticsearch 集群配置,包括节点间的通信、客户端访问、安全设置等关键步骤。我…...

微信小程序5-图片实现点击动作和动态加载同类数据

搜索 微信小程序 “动物觅踪” 观看效果 感谢阅读,初学小白,有错指正。 一、功能描述 a. 原本想通过按钮加载背景图片,来实现一个可以点击的搜索button,但是遇到两个难点,一是按钮大小调整不方便(网上搜索…...

策略梯度定理公式的详细推导

策略梯度定理公式的详细推导 以下是策略梯度定理公式从基础概率公式到最终形式的完整推导,帮助更清晰地理解推导过程中的每一个步骤。 1. 策略梯度的目标 我们希望最大化期望累积奖励 ( J ( θ ) J(\theta) J(θ) ),其定义为: J ( θ ) E…...

力扣-图论-10【算法学习day.60】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非…...

《Python WEB安全 库全解析》

《Python WEB安全 库全解析》 一、Python WEB安全 库概述二、常见的 Python WEB安全 库介绍1. Jiasule2. Awesome Python Security3. Flask-Security4. Flask-SeaSurf 三、Python WEB 安全库的优缺点1. 优点2. 缺点 四、Python WEB 安全库的使用场景1. 开发 Web 应用2. 处理敏感…...

Linux yum-config-manager命令异常

错误信息 使用 yum-config-manager命令时错误信息如下 sudo yum-config-manager \ > --add-repo \ > https://download.docker.com/linux/centos/docker-ce.repo sudo: yum-config-manager: command not found 解决办法 第一步: sudo yum -y install yum-u…...

ios 开发配置蓝牙

如果使用了蓝牙功能, 又没有配置, 会出现以下错误: This app has crashed because it attempted to access privacy-sensitive data without a usage description. The apps Info.plist must contain an NSBluetoothAlwaysUsageDescription key with a string value explaini…...

geoserver(1) 发布sql 图层 支持自定义参数

前提使用postgis 数据库支持关联 join 支持 in,not in,like,及其他sql原生函数 新增sql图层 编写自定义sql 编辑sql语句必须输出带有geom数据 正则表达式去除 设置id以及坐标参考系 预览sql图层效果 拼接sql参数 http://xxx.com/geoserver/weather/wms?SERVICEWMS&VERSI…...

Linux:network:添加ip的时候自动添加一个本地路由

文章目录 问题问题 最近在看一个路由的问题,顺便看内核代码,发现在添加IP的时候,内核会自动添加一个local route。 net/ipv4/devinet.c inet_rtm_newaddr->__inet_insert_ifa /* Send message first, then call notifier.Notifier will trigger FIB update, so thatlis…...

go 集成nacos注册中心、配置中心

使用限制 Go>v1.15 Nacos>2.x 安装 使用go get安装SDK: go get -u github.com/nacos-group/nacos-sdk-go/v2 快速使用 初始化客户端配置ClientConfig constant.ClientConfig{TimeoutMs uint64 // 请求Nacos服务端的超时时间,默…...

ssd202d-badblock-坏块检测

这边文章讲述的是坏快检测功能 思路: 1.第一次烧录固件会实现跳坏块,但是后续使用会导致坏块的产生; 于是我在uboot环境变量添加了两个变量来控制坏快 lb_badnum //坏块个数 lb_badoff //坏块所在位置 2.第一次开机会根据lb_badnum是否…...

广西自治区政府网站建设要求/电商关键词排名优化怎么做?

我们一般使用Windows函数MultiByteToWideChar将多字节字符串转换为宽字符字符串,函数原型如下: int MultiByteToWideChar( __in UINT CodePage, //与多字节字符串关联的一个代码页值,一般设为CP_ACP __in DWORD dwFlags, //指定额外的转换控制…...

如何帮客户做网站/百度关键词推广网站

Android5.0之后提供了JobService和JobScheduler,用于在稍后的某个时间点或者当满足某个特定的条件时执行一个任务。使用JobScheduler,我们可以在用户一段时间没有使用我们的app的情况下,推送本地通知来提高app的用户留存率。废话…...

国内可访问的海外网站和应用/百度网盘怎么找片

我们直接看代码&#xff1a; <meta http-equiv"refresh" content"跳转时间&#xff08;秒数&#xff09;;urlhttps://blog.csdn.net/PanDaoxi2020&#xff08;跳转链接&#xff09;">...

网址大全12345/seo优化行业

mysql调优实战如何优化查询效率优化查询效率的方式----建立索引索引的优缺点索引的分类---1,普通索引2,唯一索引3,单列索引4,组合索引5,全文索引6,空间索引索引的选择---创建索引的方式----普通索引与唯一索引之间的区别---多列索引---组合索引---全文索引----空间索引---查看表…...

自己电脑做的网站如何映射到公网/在线优化工具

在系统管理或者数据库管理中&#xff0c;经常要周期性的执行某一个命令或者SQL语句。对于linux系统熟悉的人都知道linux的cron计划任务&#xff0c;能很方便地实现定期运行指定命令的功能。Mysql在5.1以后推出了事件调度器(Event Scheduler)&#xff0c;和linux的cron功能一样&…...

做全屏轮播的网站有哪些/seo排名快速刷

2022年9月秋招算法工程师笔试题 1 题目 括号匹配问题 定义一个括号串的权值为&#xff0c;它的最长合法括号子序列的长度&#xff0c;例如()())的权值是4&#xff0c;因为它的最长合法括号子序列为()(),求一个给定括号串的所有子串权值之和。 注意&#xff0c;我忘了题目&am…...