参考文献:

SmartPatch: A patch prioritization framework

SmartPatch: A patch prioritization framework for SCADA chain in Smart grid

PatchRank: Ordering updates for SCADA systems

文章目录

  • 一、摘要
  • 二、相关技术介绍
    • (一)相关概念
    • (二)Nash均衡
    • (三)混合Nash均衡
  • 三、结合工业场景的策略分析

一、摘要

  针对网络攻击,保护系统的资源是有限的,对于不同的漏洞,处理的优先级也是不同的。本文结合智能电网的背景,提出了SmartPatch修复策略和攻守双方博弈策略。SamrtPath利用到防守方和攻击者博弈的思想对漏洞优先级排序。

二、相关技术介绍

(一)相关概念

整个流程主要分为三个步骤:
第一步需要确定智能电网供应链中SCADA子系统间的依赖关系。我认为可以把这个阶段理解成扫描网络拓扑结构
第二步需要进行系统脆弱性风险评估,我认为可以把这个阶段理解为漏洞扫描,利用了CVSS和NVD对漏洞打分,最终得到一个漏洞分析矩阵
第三步需要计算漏洞的优先级排序。攻击者的策略是最大化利润,防御者的策略是最大程度的减少未解决漏洞的影响

定义N为参与博弈的双方,NA={1,2,… ,NA}表示攻击者;ND={1,2,… ,ND}表示防御者。系统中每一个出现的漏洞v,都对应着四个参数。分别是攻击代价CvA,防护代价CvD,攻击者利用漏洞v带来的影响IvA,通过攻击漏洞v攻击者能获得的利润PrvA。我们可以把这四个值存到V里面。分别用V[v][1],V[v][2],V[v][3],V[v][4]对于表示漏洞v的四个值。而V包括这个系统中的所有漏洞。

定义RA,RD分别表示攻击者,防御者总共能调用的资源。SA,SD分别表示攻击者和防御者的策略,这个策略是考虑到自身预算的一组漏洞。SjECA表示使用SjD策略防御的代价。

(二)Nash均衡

  Nash均衡是博弈论中一种解的概念,它是指满足下面性质的策略组合:任何一位玩家在此策略组合下单方面改变自己的策略(其他玩家策略不变)都不会提高自身的收益。
  有几个比较有名的例子。如囚徒困境。假设有两个小偷A和B联合犯事、私入民宅被警察抓住。警方将两人分别置于不同的两个房间内进行审讯,对每一个犯罪嫌疑人,警方给出的政策是:如果一个犯罪嫌疑人坦白了罪行,交出了赃物,于是证据确凿,两人都被判有罪。如果另一个犯罪嫌疑人也作了坦白,则两人各被判刑8年;如果另一个犯罪嫌人没有坦白而是抵赖,则以妨碍公务罪(因已有证据表明其有罪)再加刑2年,而坦白者有功被减刑8年,立即释放。如果两人都抵赖,则警方因证据不足不能判两人的偷窃罪,但可以私入民宅的罪名将两人各判入狱1年。

  表中的数字表示A,B各自的判刑结果。博弈论分析中一般都用这样的表来表示。
  该案例,显然最好的策略是双方都抵赖,结果是大家都只被判1年。但是由于两人处于隔离的情况,首先应该是从心理学的角度来看,当事双方都会怀疑对方会出卖自己以求自保、其次才是亚当·斯密的理论,假设每个人都是“理性的经济人”,都会从利己的目的出发进行选择。这两个人都会有这样一个盘算过程:假如他坦白,如果我抵赖,得坐10年监狱,如果我坦白最多才8年;假如他要是抵赖,如果我也抵赖,我就会被判一年,如果我坦白就可以被释放,而他会坐10年牢。综合以上几种情况考虑,不管他坦白与否,对我而言都是坦白了划算。两个人都会动这样的脑筋,最终,两个人都选择了坦白,结果都被判8年刑期。

(三)混合Nash均衡

(二)介绍了策略式博弈的Nash均衡,每个玩家可选的策略叫做纯策略,前面提到的Nash均衡中,每个玩家都要选定一个纯策略,但有时候并不能找到一个纯策略的Nash均衡。比如石头剪刀布,就没有纯策略的Nash均衡。这个时候需要引入新的概念,混合策略。以石头剪刀布为例,无论双方采用哪种策略组合,输的一方总可以改变策略使自己反败为胜,因此没有纯策略的纳什均衡。通过引入“随机性”来解决这个问题。通俗地解释,混合策略就是在纯策略上加上概率,在一次博弈中,玩家随机地选择一种纯策略。

对于上面这个例子,定义Π1=0.4,Π2=0.5,不难得到采用策略U和策略L的期望收益,计算公式如下:
U1=0.4 x 0.5 +0 + 0 + 0.6 x 0.5 x 3 = 1.1
U2=0.4 x 0.5 x 2 + 0.4 x 0.5 x 4 + 0.6 x 0.5 x 5 + 0.6 x 0.5 x 2 = 3.3
可以发现采用不同的策略收益是不同的,如果想达到Nash平衡,可以通过方程计算Π1,Π2的初始概率怎么赋值。
设玩家1选择U的概率是Π1,玩家2选择L的概率是Π2

由玩家2选L的期望收益等于玩家2选R的期望收益,得式子:
2 x Π1 + 5 x (1 - Π1) = 4 x Π1 + 2 x (1 - Π1)

由玩家1选U的期望收益等于玩家1选D的期望收益,得式子:
Π2 = 3 x (1 - Π2 )

解得 Π1 = 0.6 , Π2 = 0.75

三、结合工业场景的策略分析

下面结合SCADA网络的模型进行分析:

SCADA模型中存在五个子系统s1,s2,s3,s4,s5。箭头(A→B)表示子系统A对系统B的功能依赖关系,这一点很重要,在后面定位图中关键结点的时候很有用。
结合SCADA结构中的模型和相关参数,可以得到一个邻接矩阵Gadj

PU表示性能,FCU定义为功能单元的能力, FCS2-FCS5表示对应子系统的相应功能,PS2-PS5分别表示这些子系统的性能。
可以得到下面的计算公式:

结合公式(1)到(6),不难推断出一个功能单元的性能受到两部分因素的影响,自己本身的性能和与之相连的功能单元的性能。

下面分析一下SCADA网络中存在的博弈过程,定义CA、CD、ID、PRA分别表示攻击者攻击的代价,防御者防御的代价,一次攻击带来的影响,攻击者攻击成功后获得的收益。对于攻击者和防御者来说,分别有两种状态,攻击/不攻击(防御/不防御),我们可以把这些量填入下面的表格中。

需要注意的是CA、CD、ID都是负数。首先需要明确一个问题,就是每一轮博弈过程中,攻击者和防御者只能攻击或防御一个漏洞。而且这个漏洞两者的选择是一样的(一样的原因是攻击者和防御者分别有一套计算漏洞重要性的方法)。结合攻防的代价,会发现这么一个现象。假如防御者一直在消耗资源防御,攻击者一直攻击,那么攻击者更好的策略是不攻击,一直攻击也要消耗攻击者资源。如果攻击者一直不攻击,那么防御者一直防御就会消耗资源,应当抓住防御者不防御的时候攻击,因此没有达到Nash平衡。结合第二章的(二)(三)相关内容,我们引入混合Nash策略来使得攻防双方达到平衡。
我们引入概率P和Q。

利用第二章提到的相关公式可以计算攻击和防御的期望。如果说防御的期望较大,那么防御者可能会倾向于防御。

下面来分析下图中的SCADA模型,首先介绍一些模型中存在的组件,S11、S12都是PLC,S13是一个MTU,S2是一个SCADA服务器,S3是HMI,S3是控制系统,S4是RD,S5是管理控制部分,E表示环境。


结合表中数据,Severity是就是基于CVSS得到的。发现橙色部分的Severity较大,按照大小顺序应该优先修复S3*,然后是S2。但是结合SCADA图来看,有一条从s3*指向S2的棕色的线,这表示二者之间存在依赖关系。所以这就会出现矛盾情况,想要解决这个问题,可以从关键点的思想出发,当两个点的关键程度相同时,再比较Severity得分大小按顺序修复。

基于博弈思想的攻击图漏洞修复策略相关推荐

  1. ubuntu docker慢_基于docker搭建MulVAL攻击图

    拥抱docker,经常做了一些好玩的东西,想在别人的电脑上运行,都发现一堆问题,不是少一个依赖,就是缺一个环境变量,好不郁闷.于是,将目光锁定在了docker上,只要大家都有docker,自己本地能跑 ...

  2. xss攻击-跨站脚本漏洞修复 Springboot项目

    跨站脚本漏洞 XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序.这些恶意网页程序通常是JavaScript,但实际上也可 ...

  3. 针对网络脆弱性的攻击图分析方法总结

    简介 目前,有很多网络攻击.网络脆弱性的评估方法,如攻击树.Petri网.攻击图等.攻击图在1997年被提出,已经成为解决网络安全问题广泛使用的方法之一.由于网络拓扑本身就是图结构,攻击图方法主要描述 ...

  4. 浅谈漏洞修复的方法论

    序言 大人,时代变了 面临的场景不同 技术的不同 应该怎么做 战略 组织 技术 策略 未来的发展 是否是创业的方向 序言 近日在看到安全牛发布的<漏洞管理的八大趋势>,其中提到了" ...

  5. Log4j2远程执行代码漏洞如何攻击? 又如何修复

    Log4j2远程执行代码漏洞如何攻击? 又如何修复 12月9日晚,Apache Log4j2反序列化远程代码执行漏洞细节已被公开,Apache Log4j-2中存在JNDI注入漏洞,当程序将用户输入的 ...

  6. 网站漏洞修复方案防止SQL注入攻击漏洞

    SQL注入漏洞在网站漏洞里面属于高危漏洞,排列在前三,受影响范围较广,像asp..net.PHP.java.等程序语言编写的代码,都存在着sql注入漏洞,那么如何检测网站存在sql注入漏洞? SQL注 ...

  7. 阿里云安全中心之漏洞修复最佳实践

    新钛云服已累计为您分享666篇技术干货 一.云安全中心简介 云安全中心是一个实时识别.分析.预警安全威胁的统一安全管理系统,通过防勒索.防病毒.防篡改.镜像安全扫描.合规检查等安全能力,实现威胁检测. ...

  8. 主机、web漏洞修复整理

    整理安扫漏洞及修复记录 维护系统项目验收前需要做安全扫描,检测主机.web等安全漏洞,现把发现的漏洞修复整理记录一下 主机漏洞 1. ICMP timestamp请求响应漏洞 , 描述: 远程主机会回 ...

  9. 黑客如何攻击图神经网络?别小看土豪转账一分钱

    作者:谭婧,虎嗅认证作者,<亲爱的数据>公众号出品人,香港浸会大学硕士,N年前高考作文满分得主.曾负责中国节能集团控股企业战略管理工作,许多年管理咨询经验,也曾任人脸识别创业公司合伙人. ...

最新文章

  1. java web开发初学_2018年学习Web开发的绝对初学者指南
  2. Windows server 2008 r2 开启Aero
  3. Duilib教程-自动布局3-分隔条
  4. HP Unix vsftp服务配置
  5. mui拓展:flex布局:如何设置x轴横向隐藏,而又往左排列优先
  6. 垃圾回收算法与实现系列-JVM无锁实现
  7. c语言传入的指针无返回值,c语言 关于指针注意事项
  8. PTA的非零返回原因以及解决办法
  9. matlab 2d pml,二维TM波,PML边界,matlab程序。但是仿真结果有问题,求高手。
  10. SQL Server2008函数大全(完整版)
  11. springboot+jsp小说在线阅读系统-java原创文学网
  12. FFmpeg png格式图片转yuv420
  13. ictclas java 下载,10分钟开始使用ICTCLAS Java版
  14. 汉客儿2019支付宝加密红包设计思路
  15. iOS APP上架流程详解
  16. 联想微型计算机设置从u盘启动,联想笔记本设置u盘为第一启动项教程
  17. 一个有趣推理题的答案
  18. 软件测试BUG(缺陷)等级分类
  19. Win10 添加映射网络驱动器出现无法连接网络解决方案
  20. JavaScript笔记8-DOM中的事件、获取元素、操作元素

热门文章

  1. ERP术语 英文对照(部分)(参考)
  2. WG225模块(SDIO WIFI)调试记录
  3. python访问陌生人qq空间_在Python中使用Phantomjs模拟登录QQ空间
  4. EtherCAT从站 SII结构说明
  5. java preferences设置_Java利用Preferences设置个人偏好
  6. openwrt拨号上网设置
  7. 保护环境的画用计算机怎么画,保护环境的简笔画图片大全
  8. 【20210416期AI简报】微软分层ViT模型开源、 DIY一只“眼睛”摄像头
  9. 中国石油大学 个人训练赛第五场C:所罗门王的宝藏(高斯消元)
  10. php转mp3的工厂,魔影工厂怎么转成mp3 魔影工厂转换mp3教程