基于随机博弈与改进WolF-PHC的网络防御决策方法

基于随机博弈与改进WolF-PHC的网络防御决策方法      杨俊楠


问题:实际网络攻防中很难达到完全理性的要求,使得现有方法的准确性和指导价值有所降低。状态爆炸。

思路:从网络攻防对抗实际出发,分析有限理性对攻防随机博弈的影响,在有限理性约束下构建攻防随机博弈模型。针对网络状态爆炸的问题,提出一种基于攻防图的网络状态与攻防动作提取方法,有效压缩了博弈状态空间。在此基础上引入了强化学习中的WoLF-PHC算法进行分析,并设计了具有在线学习能力的防御决策算法,通过引入资格迹改进WoLF-PHC算法,进一步提高了防御者的学习速度。

所得策略在有限理性下优于现有攻防随机博弈模型的纳什均衡策略。

本文贡献:

(1)提出一种以主机为中心的攻防图模型并设计了攻防图生成算法,有效压缩了博弈状态空间。

(2)本文将强化学习引入到随机博弈中,使随机博弈由完全理性拓展到有限理性领域。现有有限博弈大多采用生物进化机制进行学习,以群体为研究对象,与其相比,本文所提方法降低了博弈参与人之间的信息交换,更适用于指导个体防御决策。

(3)基于资格迹对WoLF-PHC算法进行了改进,加快了防御者的学习速度,减少了算法对数据的依赖并通过实验证明了方法的有效性。

强化学习:一种经典的在线学习方法,其参与人通过环境的反馈进行独立学习,相比生物进化方法,强化学习更适于指导个体的决策。


基于随机博弈的攻防对抗建模


问题描述与分析

有限理性下的攻防随机博弈学习机制需满足2点需求:

1)学习算法的收敛性。

2)学习过程不需要过多攻击者信息。

WoLF-PHC算法是一种典型的策略梯度强化学习方法,使防御者通过网络反馈进行学习,不需要与攻击者之间过多的信息交换。

WoLF机制的引入保证了WoLF-PHC算法的收敛性:在攻击者通过学习采用纳什均衡策略后,WoLF机制使得防御者能够收敛到对应的纳什均衡策略;在攻击者尚未学习到纳什均衡策略时,WoLF机制使得防御者能够收敛到对应的最优防御策略。

攻防随机博弈模型

对每个状态下博弈所需的“信息”和“行动顺序”2个关键要素进行假定。

(1)“信息”。受有限理性的约束,将攻击者历史动作和攻击者的收益函数设定为攻击者的私有信息。网络状态为双方的共同知识。

(2)“行动顺序”。由于攻防双方的非合作行,双方只能通过检测网络来观察对方的行动,这会比动作的执行时间至少延迟一个时间片,所以在每个时间片攻防双方是同时行动的,这里的“同时”是一个信息概念而非时间概念,即尽管从时间概念上攻防双方的选择可能不在同一时刻,但由于攻防双方在选择行动时不知道对方的选择则认为是同时行动。

为了增强模型的通用性将转移概率设定为攻防双方的未知信息。

定义1.攻防随机博弈模型(attack defense stochastic game model,AD-SGM)是一个六元组AD-SGM=(N,S,DR,Q,\pi ),其中:

①N=(attacker,defender)为参与博弈的2个剧中人,分别代表网络攻击者和防御者;

②S=(s_1,s_2,···,s_n)为随机博弈状态集合,由网络状态组成;

③D=(D_1,D_2,···,D_n)为防御者动作集合,其中D_k={d_1,d_2,···,d_m}为防御者在博弈状态S_k的动作集合;

R_d(s_i,d,s_j)为防御者状态转移后的立即回报

Q_d(s_i,d)为防御者的状态-动作收益函数,指期望收益

\pi _d(s_k)为防御者在状态S_k的防御策略

基于攻防图的网络状态与攻防动作提取方法

随即博弈模型重要组成部分——网络状态与攻防动作

关键点是对两者的提取

每个网络状态包含当前网络所有节点的安全要素,网络状态的数量是安全要素的幂集,会产生“状态爆炸”。为此提出了以主机为中心的攻防图模型,每个状态节点仅描述主机状态,可以有效压缩状态节点规模。利用此攻防图提取的网络状态及攻防动作更有利于进行网络攻防对抗分析。

定义2.攻防图是一个二元组G=(S,E)。其中S={s_1,s_2,····,s_n}是节点安全状态集合,s_i=<host,privilege>,其中host是节点的唯一标识,privilege={none,user,root}分别标识不具有任何权限、具有普通用户权限、具有管理员权限。E=(E_a,E_d)为有向边,标识攻击动作或防御动作的发生引起节点状态的转移,e_k=(s_r,v/d,s_d),k=a,d,其中s_r为源结点,s_d为目标结点。


攻防图生成

攻防随机博弈模型的状态集合由攻防图节点提取,防御动作集合由攻防图的边提取。

1)网络安全要素

网络安全要素NSE由网络连接关系矩阵C节点脆弱性信息V节点服务信息F节点访问权限P组成。其中C=host\times host\times port描述节点之间的连接关系,矩阵的行表示源节点shost,矩阵的列表示dhost,矩阵元素表示shost到dhost的端口port访问关系,当port=\phi 时表示shost与dhost之间不存在连接关系;V=<host,service,cveid>表示节点host上的服务service存在脆弱性cveid,包括系统软件、应用软件存在的安全漏洞和配置不当或配置错误引起的安全漏洞;F=<host,service>表示节点host上开启服务service;P=<host,privilege>表示攻击者在节点host上拥有privilege访问权限。

2)攻击模板

攻击模板AM时对脆弱性利用的描述:AM=<tid,prec,postc>。其中tid是攻击模式标识;prec=<P,V,C,F>描述攻击者利用一个脆弱性所需具备的前提条件集合,包括攻击者在源节点shost上具有的初始访问权限privilege、目标节点的脆弱性信息cveid、网络节点关系C、节点运行服务F,只有满足该条件集合,攻击者才能成功利用该脆弱性;postc=<P,C,sd>描述攻击者成功利用一个脆弱性而产生的后果,包括攻击者在目标节点上获得权限的提升、网络连接关系的变化以及服务破坏等。

3)防御模块

防御模板DM是防御者在预测或者识别攻击后采取的相应措施:DM=<tid,dset>,tid是攻击标识,dset={<d_1,postd_1>,<d_2,postd_2>,····,<d_m,postd_m>}是应对特定攻击的防御策略集。其中,d_i是防御策略标识;postd_i=<F,V,P,C>描述防御策略对网络安全要素的影响,包括对节点服务信息、节点漏洞信息、攻击者权限信息、节点连接关系等的影响。

攻防图生成算法


基于WoLF-PHC的博弈分析与策略选取


将强化学习机制引入到有限理性随机博弈中,采用WoLF-PHC算法在AD-SGM基础上进行防御策略选取。

WoLF-PHC算法原理

Q-learning算法

Q-learining是WoLF-PHC算法的基础,是一种典型的免模型强化学习算法,

Q-learining学习机制

Q-learning中Agent通过与环境的交互获得回报和环境状态转移的只是,知识用收益Q_d来表示,通过更新Q_d来进行学习。其收益函数Q_d

收益函数

Q-learning的策略为

PHC算法

爬山策略算法是一种适用于混合策略的简单实用的梯度下降学习算法,是对Q-learning的改进。PHC的状态-动作收益函数Q_d与Q-learning相同,但不再沿用Q-learning的策略更新方式,而是通过执行爬山算法对混合策略\pi _d(s_k)进行更新,\delta 为策略学习率。

WoLF-PHC算法

狼爬山策略算法是对PHC算法的改进。通过引入WoLF机制,使防御者具有2种不同的策略学习率,当获胜时采用低策略学习率\delta _w,当失败时采用高策略学习率\delta_l.

2个学习率使得防御者在比与其表现差时能快速适应攻击者的策略,比预期表现差时能快速适应攻击者的策略,比与其表现好时能谨慎学习。最重要的时WoLF机制的引入,保证了算法的收敛性。WoLF-PHC算法采用平均策略作为胜利和失败的判断标准

基于资格迹的改进WoLF-PHC及防御策略算法

为提高WoLF-PHC算法的学习速度,减少算法对数据量的依赖程度,引入资格迹对WoLF-PHC进行改进。资格迹能跟踪最近访问的特定状态-动作轨迹,然后将当前回报分配给最近访问的状态-动作。

对WoLF-PHC进行改进。定义,每个状态-动作的资格迹为e(s,a)设定当前网络状态为s^* ,资格迹更新:

算法2 防御决策算法



实验分析


实验网络结构

利用工具对实验网络进行扫描

攻击图


防御图
防御动作描述

构建实验场景的AD-SGM

①N=(attacker,defender)为参与博弈的局中人,分别代表网络攻击者和防御者。

②随机博弈状态集合S=(s0,s1,s2,s3,s4,s5,s6),随机博弈状态由网络状态组成,从攻击图与防御图种的节点提取。

测试与分析

实验的目的:1)测试不同参数设置对算法的影响,从而找出适用于本场景的实验参数

                      2)将本文的方法与现有典型方法进行比较,验证本文方法的先进性;

                      3)测试基于资格迹对WoLF-PHC算法改进的有效性。

1)

不同参数设置
不同参数设置下的防御决策
不同参数设置下的防御收益变化
不同参数设置下的平均收益
不同参数设置下的防御收益标准差

2)

第一组实验:

防御变化收益对比

[12]随即博弈 [16]演化博弈

[12]防御策略为\pi _d(s_2,d_3)=0.7,\pi _d(s_2,d_4)=0.3

[16]演化稳定均衡的防御策略为\pi _d(s_2,d_3)=0.8,\pi _d(s_2,d_4)=0.2

第二组实验:

本文方法的防御决策


防御收益变化对比

可知,当面对学习能力较弱的攻击者时,本文方法由于文献[12]和文献[16]的方法。当面对学习能力较强的攻击者时,如果攻击者尚未通过学习得到纳什均衡,此时本文的方法仍然优秀;如果攻击者通过学习得到了纳什均衡策略,取得与文献[12]相同的效果,并优于文献[16]。

有无资格迹的对比测试

防御决策对比

每1000次的平均收益变化对比

防御收益变化对比

统计有、无资格迹下前3000次防御收益的平均值,各统计10次。

平均防御收益对比
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容