CN109194685A - 基于安全博弈论的中间人攻击防御策略 - Google Patents
基于安全博弈论的中间人攻击防御策略 Download PDFInfo
- Publication number
- CN109194685A CN109194685A CN201811191560.4A CN201811191560A CN109194685A CN 109194685 A CN109194685 A CN 109194685A CN 201811191560 A CN201811191560 A CN 201811191560A CN 109194685 A CN109194685 A CN 109194685A
- Authority
- CN
- China
- Prior art keywords
- port
- defender
- attacker
- optimal
- defence policies
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于安全博弈论的中间人攻击防御策略,将防御方与攻击者之间的交互过程建模为Stackelberg博弈模型;利用降低计算最优防御策略时搜索空间的方法,对上述的Stackelberg博弈模型进行推理分析,计算得到防御方的最优防御策略,并且提出了λ值已知的情况下,为防御方计算其最优防御策略的新的算法。与现有技术相比,本发明在中间人攻击一直存在的情况下,如何为防御方设计防御策略使得防御方所遭受的整体损失降到最低。
Description
技术领域
本发明涉及网络攻击防御技术领域,特别是涉及基于安全博弈论的相关理论研究中间人攻击防御问题的解决策略。
背景技术
近年来,互联网的快速发展给人们的生活以及工作带来了许多便利,但是越来越多的网络安全问题层出不穷。目前,人们通过网络进行着越来越多的涉及隐私或是财产信息的交易,一旦遭遇到网络攻击,攻击者便可从中获取到这些交易信息,这将会对人们的人身和经济财产安全构成极大的威胁。而且,人们越来越关心隐私信息保护的问题,从而使得对于网络攻击防御问题的研究受到越来越多的关注。目前随着应用领域的不同以及实际问题规模的增大,现有的求解算法不可能适应于所有安全问题的求解,亟需设计出能够解决针对不同问题或是大规模问题的高效求解算法。
中间人攻击(Man-In-The-MiddleAttack,MITM)就是攻击者窃取用户敏感信息较常用的一种网络攻击方式。所谓中间人攻击就是攻击者与原本正常通讯的用户分别建立通讯连接,然而正常通讯的用户并不知道,仍旧认为自己还在跟对方直接通讯,但实际上他们的通讯已经被攻击者控制,这样攻击者就可以获取用户的通讯信息或者对信息进行篡改。其实中间人攻击由来已久。据报道称,2013年1月26日,中国大陆的用户访问GitHub.com时曾遇到SSL证书无效警告的情况,之后的证据表明这是一起中间人攻击事件。2014年,Google IPv6教育网、Yahoo和微软也都曾遭遇过SSL证书中间人攻击。而且根据相关报道,目前95%的HTTPS服务器由于没有正确实施HSTS(HTTP Strict Transport Security)安全功能很容易遭受中间人攻击。因为如果没有正确实施HSTS安全功能,用户可能就是通过HTTP协议访问服务器,那么攻击者甚至不需要伪造TLS证书就可以实施中间人攻击。
随着物联网技术慢慢进入我们的生活,一些物联网设备也同样可能遭遇中间人攻击。据报道称,中间人攻击者可以对智能汽车进行中间人攻击,从而控制汽车的一些基本功能,例如刹车、转弯和加速等。因此,中间人攻击对人们的隐私信息甚至生命安全造成了极大的威胁,针对中间人攻击防御问题的研究刻不容缓。目前随着应用领域的不同以及实际问题规模的增大,现有的求解算法不可能适应于所有安全问题的求解,亟需设计出能够解决针对不同问题或是大规模问题的高效求解算法。
安全博弈论是一个以实际应用为导向的研究领域,对其的早期研究主要是为了保护关键公共基础设施如何进行有限安全资源的最优部署;通常使用Stacelberg博弈模型对安全部门和攻击者之间的交互进行建模。过去几年中,美国不同领域的安全机构已经开始使用基于Stacelberg安全博弈框架设计的实际应用系统。目前,其他更多安全领域也开始尝试使用安全博弈论来解决问题,一个新的应用领域就是网络攻击的防御问题。网络攻击防御问题中的攻击者和防御方之间的交互过程可以被建模为一个两个参与者的博弈,其研究的主要目标是为防御方设计最优的防御策略。
本发明应用安全博弈论的相关理论研究中间人攻击防御问题,首先,是对中间人攻击防御问题方面研究的一个补充;其次,使用安全博弈论的相关理论来解决网络攻击问题,为安全博弈论的应用提供了新的发展方向;最后,针对所建立的博弈模型进行了理论分析并提出了有效的求解算法,对安全博弈论的发展具有一定的理论意义。本发明不仅是对中间人攻击防御问题研究方面的一个补充,对安全博弈论的发展具有一定的理论意义,也为安全博弈论的应用提供了新的发展方向。
发明内容
针对海洋倾倒作业中常见的违规行为,本发明提出了一种基于安全博弈论的中间人攻击防御策略,首先采用Stackelberg博弈模型对中间人攻击防御问题进行建模,然后对博弈模型进行理论分析并提出了一个有效实用的求解最优防御策略的算法,最后通过实验验证了最优防御策略在降低防御方整体损失方面明显优于其他非策略性的防御策略。
本发明的一种基于安全博弈论的中间人攻击防御策略,该方法包括以下步骤:
将防御方与攻击者之间的交互过程建模为Stackelberg博弈模型:直接分析防御方的损失值,损失值也就是其收益值的相反数;防御方的损失就是所有被攻击的端口和未被攻击的端口的损失之和,如果端口i被攻击了,那么使用端口i通讯的用户的损失包括其敏感信息被攻击者获取的损失pivi以及由于噪声数据所造成的通讯延时带来的损失F(pi)ci。因此,其损失函数定义如下:
如果端口i没有被攻击,那么使用端口i进行通讯的用户所遭受的损失就只有噪声数据所造成的通讯延时损失,它的损失函数定义如下:
最后,防御方的损失函数定义如下:
由上述的损失函数从而得到收益值;
利用降低计算最优防御策略时搜索空间的方法,对上述的Stackelberg博弈模型进行推理分析,计算得到防御方的最优防御策略:
给出基于攻击者的最佳响应策略已知的情况下,防御方的最优防御策略满足集合S中攻击者最佳响应策略的充分必要条件假设
分析端口i被攻击的情况即i∈S,端口i的最优策略就是即时函数取得最小值;
分析端口i没有被攻击的情况即端口i的最优策略就是即时函数取得最小值;
当给定一个任意的攻击者的策略端口集合S后,可以使用搜索技术找到一个最优的λ值,从而获得防御方的最优防御策略p;
λ值已知的情况下,为防御方计算其最优防御策略,具体算法如下:
按照如下方式计算每一个端口的值:对于端口i,如果则否则
按照如下方式计算每一个端口的值:对于端口i,如果则否则
计算每一个端口的Di值:
在所有端口中选择Di值最小的K个端口组成集合S;
对于每一个在集合S中的端口i,如果那么否则,
对于每一个不在集合S中的端口i,如果那么否则,
输出防御方最优策略p=(p1,p2,...,pN)。
与现有技术相比,本发明在中间人攻击一直存在的情况下,如何为防御方设计防御策略使得防御方所遭受的整体损失降到最低。
附图说明
图1为中间人攻击简单示例图;
图2为Stackelberg安全博弈模型示例图;
图3为期望损失L关于K的变化图(幂律分布):c与v所服从分布的参数相同;
图4为期望损失L关于K的变化图(幂律分布):c与v所服从分布的参数不同;
图5为期望损失L关于K的变化图(正态分布):c与v所服从分布的参数相同;
图6为期望损失L关于K的变化图(正态分布):c与v所服从分布的参数相同。
具体实施方式
本发明主要介绍在中间人攻击不可避免的情况下,从整体的角度出发,以降低整体在遭受攻击时的损失为目标为防御方设计防御策略。本发明的主要步骤如下:
一、中间人攻击技术原理
(1-1)在密码学和计算机网络安全领域中,中间人攻击是指攻击者通过使用某种技术手段介入到原本正常通讯的双方,也就是与双方分别建立独立的连接,这样攻击者就可以作为中间人监听整个通讯过程,然而通训的双方对此却毫不知情,仍旧以为自己在与对方直接通讯。在中间人攻击中,攻击者可以通过截取通讯双方的数据包获得双方的敏感信息,也可以为了达到自己的某种目的对数据进行修改,如图1所示为中间人攻击的一个简单示例。目前实施中间人攻击的技术有很多,下面简单介绍几种常见的中间人攻击技术。
(1)基于ARP欺骗的中间人攻击技术主要是指攻击者通过对计算机中ARP缓存的网关地址进行修改来达到攻击的目的。攻击者在实施攻击时,通过将计算机中ARP缓存的网关地址修改为自己的MAC地址,同时修改网关设备上ARP缓存中远程计算机的MAC地址为自己的MAC地址,这样一来计算机在上网时的通信数据都会流经攻击者,从而攻击者就可以窃取用户的敏感信息。
(2)SSL协议是浏览器与网站服务器之间的一种安全通信协议,该协议为通信双方提供端点认证,并建立一条可靠的安全连接来保障数据不被窃听、篡改或是伪造。SSL中间人攻击技术是指攻击者首先通过其他相关技术实现会话劫持,例如DNS欺骗等,之后攻击者利用SSL协议在建立安全连接时证书认证不完善的缺陷或漏洞等,通过伪造数字证书或自签名证书充当SSL中间人进行欺骗和攻击。
(1-2)中间人攻击防御措施
在当前网络通讯过程中,服务器/客户端模型是主要的较常使用的通讯框架,服务器常常成为中间人攻击的主要攻击目标。因此,本文主要研究针对服务器的中间人攻击防御问题,下面将详细介绍研究中所采用的中间人攻击防御措施以及所要解决的关键问题。
服务器与客户端之间通讯的数据包主要是通过服务器的端口转发完成的,每个端口都有自己对应的协议,每个协议都有相应的服务。客户端(用户)需要不同的服务就会通过不同的端口与服务器进行数据包的交换,例如,80端口就是超文本传输协议(http协议)的默认端口,可以为用户提供网络服务,例如浏览网页等。显然,这样的默认端口设置给中间人攻击者提供了便利,攻击者可以通过解析特定服务所对应的协议来进行攻击,从而可以监听该服务所对应端口所转发的通讯数据,获得自己想要的敏感信息。因此,目前有一些研究提出使用端口跳变技术来迷惑攻击者,从而防御这样类型的攻击服务器发出通讯请求时,服务。端口跳变的基本原理是当客户端向器并不使用默认的服务端口与客户端进行通讯,而是利用某些算法技术等将默认端口映射到一个没有使用的随机端口,使用映射后的端口与客户端进行通讯,这样攻击者就不能很快地准确知道客户端与服务器是通过哪个端口进行通讯的,从而达到防御攻击的目的。
基于端口跳变技术的一些设置,所有可用的端口可以依据其可提供的服务分成不同的组,即对于每一个服务s都对应一组可以提供该服务的端口集合Ss。为了方便分析,这里只分析提供某一特定服务的一个端口集合,提供其他服务的其他端口集合可以类似地进行分析。对于同时需要服务s的所有用户,服务器可以将能够提供该服务的端口分配给这些用户使用。为了后续能够方便地建立模型以及分析,假设每一个端口对应一个用户,即端口与用户是一一对应关系。在后文中,用户与端口将交替使用表示相同含义,都表示防御方。
由于中间人攻击的攻击者目标大多是获取用户的敏感信息,因此为了减小攻击者获取到的用户有效信息的概率,采取的一种防御方法是在用户与服务器通讯的数据包中添加一些无用的噪声数据。当攻击者截取到混有有效信息和噪声数据的通讯数据包后,其解析数据包获得用户有效信息的难度就会相应地增加。但是,在通讯过程中添加噪声数据必然会对用户与服务器之间的通讯造成一定的延时。因此,需要在降低攻击者获取有效信息的概率与通讯延时之间进行权衡折衷。
假设每个用户在其与服务器通讯的数据包中以比例f插入噪声数据,本质上来说这个比例决定了攻击者获取该用户有效敏感信息的概率。原始通讯数据包中插入的噪声数据的比例f越大,那么攻击者获得有效信息的概率p就越小。f与p之间的关系可以用最简单的线性关系p=1-f来表示,从公式可以看出,当原始通讯数据包中没有插入噪声数据时(即f=0),攻击者将以概率p=1p=1获得用户的有效信息,而当插入的噪声数据比例f=1时,攻击者获取有效信息的概率变为0,这与实际情况比较吻合。另一方面,在通讯过程中插入噪声数据必然导致在传输相同数量的有效信息时需要交换更多的数据包,因此就会造成一定的通讯延时。由于插入噪声数据所造成的通讯延时程度用符号q来表示,它的大小同样决定于噪声数据的比例f。因为当用户与服务器进行通讯时,插入的噪声数据的比例f越大,就需要发送更多的数据包来完成有效信息的交换,必然造成更长的通讯时间,那么延时程度q就会变大。
为了找到一个合适的噪声数据的比例f,不仅需要考虑信息被窃取的损失也要考虑通讯延时所造成的损失,因此,需要权衡攻击者获取有效信息的概率p与插入噪声数据所造成的通讯延时程度q之间的关系。p与q之间的关系可以使用函数q=F(p):[0,1]→[0,1]来表示。直观分析来看,如果在通讯过程中没有添加噪声数据(即f=0),那么攻击者获得有效信息的概率p=1-f=1,而且也就没有了噪声数据所造成的通讯延时,即q=0;反之,如果在通讯的数据包中都是噪声数据(即f=1),那么攻击者获得有效信息的概率p=1-f=0p=1-f=0,此时的通讯延时程度将会是最大的,最大的通讯延时程度用q=1来表示。对于一些非极端的情形,可以采用实验仿真的方法来获得,从而得到函数q=F(p)的对应关系。获得函数的实q=F(p)验仿真的具体方法会在2小节详细介绍,为了后续理论分析方便,假设函数q=F(p)是关于p的连续的严格递减的凸函数。
在后续研究中,将基于上述方式对中间人攻击进行防御,因此关键亟待解决的问题是如何为防御方设计合适的噪声数据的比例f,才能使得防御方在遭受中间人攻击时所承受的损失最小,即信息泄露的损失以及通讯延时造成的损失,这是主要的研究内容与重点。
二、将防御方与攻击者之间的交互过程建模为Stackelberg博弈模型
从整体的角度分析,把服务器与用户看作一个整体作为防御方,研究的主要目标就是为防御方制定最优的防御策略来保证在遭受中间人攻击时与服务器通讯的所有用户的整体损失最小。在实际的攻击情景中,一个理性的攻击者在实施攻击之前,通常会对当前服务器所部署的防御策略进行充分的调研,然后制定自己的攻击策略。基于这种情况提出如下假设:在攻击开始之前,攻击者可以事先知道防御方所部署的防御策略。那么攻击者和防御方之间的交互就可以描述如下:首先防御方选取一个防御策略进行部署,攻击者在观察了防御方的防御策略后,选择自己的攻击策略进行攻击。这是一个有先后顺序的博弈即动态博弈,与Stackelberg博弈模型比较吻合。因此,在这种情况下采用Stackelberg博弈模型来对攻击者和防御方之间的交互行为进行建模。为了方便理解分析,表1整理总结了模型及理论分析中用到的一些符号表示。
表1、模型及分析中用到的符号
下面从参与者、行动策略集以及收益函数构成博弈模型的基本要素对模型进行介绍。
参与者:Stackelberg博弈模型的参与者通常有两个,一个是首先做决策的领导者,一个是观察了领导者策略后再做决策的跟随者。因此,所建立的博弈模型的参与者就是实施中间人攻击的攻击者和作为防御方的服务器,其中防御方首先选择防御策略,是Stackelberg博弈模型中领导者,攻击者是Stackelberg博弈模型中的跟随者。
行动策略集:基于1小节对中间人攻击防御措施的介绍,防御方采取的防御措施是在通讯过程中,在用户的通讯数据包中添加一定比例的噪声数据来迷惑攻击者,从而降低攻击者获得用户有效信息的概率。因此防御方可以采取的行动是为每个用户设置其通过端口进行传输的数据包中噪声数据的比例f,为了方便后文对模型进行理论分析,基于已知攻击者获得有效信息的概率p与f之间的关系为p=1-f,这里定义防御方的行动是为每个端口(用户)i确定一个攻击者获得有效信息的概率pi,其中pi∈[0,1]。防御方的策略用向量p来表示,使用N表示所有可用端口组成的集合,端口总数为n,即|N|=n,那么防御方的策略就可以形式化地表示为p=(p1,p2,...,pN)。对于攻击者来说,由于时间成本以及计算资源等能力限制,不可能攻击全部的端口,所以攻击者可以采取的行动是从n个端口中策略性地选择K个端口实施攻击。因此,攻击者的策略是从端口集合N中选择一个端口子集S,对集合S中的端口进行中间人攻击,其中|S|≤K,K为一个定值,代表了攻击者的能力限制。
收益函数:为了方便定义参与者双方的收益函数,首先介绍一些符号定义。符号vi表示使用端口i进行通讯的用户的信息价值,同时也代表了攻击者成功攻击了端口i所能获得的敏感信息价值即攻击者的收益值。由于插入噪声数据而造成的通讯延时给使用端口i的用户所带来的延时损失用符号ci来表示。双方的收益是策略组合的函数,因此给定一个策略组合(p,S),攻击者的收益就是通过截取端口集合S中的端口所传输的数据包所获得的有效信息的价值之和。因此,攻击者的收益函数定义如下:
为方便分析,这里直接分析防御方的损失值,也就是其收益值的相反数。防御方的损失就是所有被攻击的端口(用户)和未被攻击的端口(用户)的损失之和。如果端口i被攻击了,那么使用端口i通讯的用户的损失包括其敏感信息被攻击者获取的损失(pivi)以及由于噪声数据所造成的通讯延时带来的损失(F(pi)ci)。因此,其损失函数定义如下:
如果端口i没有被攻击,那么使用端口i进行通讯的用户所遭受的损失就只有噪声数据所造成的通讯延时损失,它的损失函数定义如下:
最后,防御方的损失函数定义如下:
三、降低计算最优防御策略时搜索空间的方法
完成了将对中间人攻击防御问题的形式化建模为Stackelberg博弈模型,对该模型进行理论分析,采用强Stackelberg均衡作为Stackelberg博弈模型的解概念,也就是防御方的最优防御策略,并提出一个降低计算最优防御策略时搜索空间的方法。
(3-1)强Stackelberg均衡、弱Stackelberg均衡
在安全博弈论中,Stackelberg博弈模型通常被用于对安全领域中的攻击防御类的交互行为进行建模,此类Stackelberg博弈模型就称为Stackelberg安全博弈模型。经典的Stackelberg博弈通常是一个由两个参与者组成动态博弈过程,即一个领导者和一个跟随者,跟随者在做决策前能够观察到领导者的策略。首先,领导者从自己的行动策略集中选择策略,跟随者在观察了领导者的策略之后,从自己的行动策略集中选择自己的最佳响应策略作为自己的策略,也就是最大化自己利益的策略。Stackelberg博弈中所描述的场景很好地刻画了安全领域中安全部门所遇到的安全问题。首先,安全部门需要对所要保护的目标部署好自己的防御策略,例如巡视策略,攻击者在实施攻击前则会通过观察、监视等方式来了解安全部门的防御策略,之后选择能够最大化自己期望收益的目标进行攻击。因此,在Stackelberg安全博弈模型中,一般将防御方看作是领导者,首先选择策略,将攻击者看作是跟随者,在观察了防御方的策略之后选择自己的攻击策略。如图2所示,为Stackelberg安全博弈模型的一个简单示例。
在博弈论中,一个博弈最重要、最基础的解概念就是均衡,最常见的就是Nash均衡。在Nash均衡下,所有参与者的策略都是自己的最佳响应策略,也就是任何人都不可能通过单方面改变自己的策略来增加自己的收益。Stackelberg均衡是在Stackelberg博弈中Nash均衡的一种精炼,它是一种子博弈完美均衡。在Stackelberg均衡下,每个参与者在原博弈的每个子博弈中都会选择自己的最佳响应策略。但是当多个策略对于攻击者来说没有区别时,并不能保证博弈有唯一的Stackelberg均衡。为了解决这个问题,Leitmann提出了两种Stackelberg均衡的概念,随后被Breton等人命名为“强Stackelberg均衡”和“弱Stackelberg均衡”。强Stackelberg均衡是指当攻击者在多个策略下收益相同时,假设攻击者选择对防御方最有利的策略作为其均衡策略,而弱Stackelberg均衡则假设攻击者选择对防御方最不利的策略作为其均衡策略。强Stackelberg均衡在所有Stackelberg博弈中都是存在的,而弱Stackelberg均衡却不一定存在。在安全博弈论的相关研究中,通常是从防御方的角度出发来分析问题,因此大多采用强Stackelberg均衡作为博弈模型的解概念。
(3-2)模型理论分析
Stackelberg均衡下,每个参与者的策略都是其最佳响应策略。但是当攻击者存在多个最佳响应策略时,攻击者可能会随机选择一个策略,就可能导致无法保证Stackelberg均衡的唯一性。为了避免这个问题,提出了强Stackelberg均衡和弱Stackelberg均衡两个概念。
在上述的模型中,从公式(1)和公式(4)可以看出,当多个策略对攻击者来说没有区别时,即攻击者的多个攻击策略所产生的收益Uattracker相同,无论攻击者选择哪个策略,对防御方来说其损失值都相同。这就表明当出现均衡选择问题时,无论攻击者通过什么方式来选择其均衡策略,对防御方来说是没有影响的,当然也就说明防御方的最优防御策略等价于模型的强Stackelberg均衡策略,同时保证了防御方最优防御策略的唯一性。
计算Stackelberg博弈模型的Stackelberg均衡的一种常用方法是逆向归纳法。该方法的思想是向前展望、向后推理,也就是首先思考自己的策略可能引起的所有后续响应,以及后续响应的后续响应,直到这个博弈过程结束;然后从最后一步开始依次倒推,找出自己在每一步的最佳响应策略。以中间人攻击防御问题为例,首先防御方考虑自己的每一个防御策略下攻击方可能的攻击策略,然后得到每个策略组合下的收益值,这样博弈就结束了。基于攻击者的收益值,为攻击者找出在每个防御策略下的最佳响应策略,最后防御方基于计算出的攻击者的最佳响应策略在自己的防御策略集中选择一个能够最小化自己损失的防御策略。但是,在所建立的模型中,因为pi∈[0,1]并且pi∈R,防御方的策略集合是无限的,不可能穷举出全部的防御策略。因此,逆向归纳法并不能直接用来对模型进行求解。因此,本文提出了一种有效的方法来降低计算强Stackelberg均衡时的搜索空间,从而可以高效求解防御方的最优防御策略。在介绍计算最优防御策略的算法之前,先来分析一个最优防御策略的子问题——假设给定攻击者的最佳响应策略,如何为防御方计算最优防御策略。
四、模型求解
(4-1)防御策略子问题求解:
首先对攻击者的最佳响应策略进行分析,最佳响应策略就是当给定其他参与者的策略不变的情况下,能够最大化其自身收益函数的策略。从攻击者的收益函数(公式1)可以看出,当给定一个防御方的策略p后,攻击者的最佳响应策略就是从端口集合N中选择pivipivi值最大的K个端口组成集合S,作为其策略。
为了方便后续分析,先来介绍一些符号定义。符号和分别表示端口i在遭受攻击和没遭受攻击情况下的最优的策略p值,其本质就是端口i的损失函数和在区间[0,1]上的最小值点,并且从公式2和公式3很容易可以看出和对端口i来说都是唯一的。根据上述分析可以知道攻击者的最佳响应策略是包含pivi值最大的K个端口的集合S,所以可以将防御方的最优防御策略的搜索问题限制在一个空间里,在这个空间里的集合S中的端口有较高的pivi值,也就是集合S是攻击者的最佳响应策略。命题4.1给出了一个特殊情况下(在集合S中的端口参数值与剩下的端口参数值大大不同)防御方的最优防御策略。
命题4.1假设给定集合S是攻击者的最优策略,那么防御方的目标就是选择一个针对集合S的最优防御策略。如果那么防御方的针对集合S的最优防御策略就是对于i∈S的端口,选择作为其策略,对于的端口,选择作为其策略。
证明:首先,从攻击者的收益函数Uattacker=∑i∈Spivi以及|S|≤K可以知道攻击者的最佳响应策略是选择pv值最高的K个端口,已知当前集合S就是攻击者的最优策略,所以在集合S中的端口相比不在集合S中的端口拥有较高的pv值。因此,在给定防御方策略p后,集合S是攻击者的最优策略当且仅当集合S满足其次,根据命题中的条件可知在当前防御方的策略下,也就是i∈S的端口,选择作为其策略,对于i∈S的端口,选择作为其策略时,集合S是攻击者的最优策略,同时根据和的定义可知,是端口i∈S的最优策略,是端口的最优策略,也就是当每个端口都选择自己的最优策略时,仍能保证攻击者的最优策略S不变。因此,命题4.1中所提出的防御策略就是针对集合S的最优的防御策略。
命题4.1给出了基于攻击者的最佳响应策略已知的情况下一个特殊情况下的防御方的最优防御策略。因为命题中的双方策略都是其最佳响应策略,所以由攻击者的最佳响应策略策略S以及由命题4.1给出的针对策略S的防御方策略p所组成的策略组合(p,S)是一个Nash均衡,但是在Stackelberg博弈模型中,这个Nash均衡并不一定是一个强Stackelberg均衡。命题4.1只是描述了求解最优防御策略的一个特殊情况,下面将考虑一般情况并提出一个关于最优防御策略的必要条件。
定理4.1假设给定集合S是攻击者的最佳响应策略,防御方的目标就是选择一个针对集合S的最优防御策略。那么,在防御方的最优防御策略p中存在一个λ使得:
对于任意端口i∈S,如果那么否则,
对于任意端口如果那么否则,
证明:根据命题4.1的证明,可以知道是集合S是攻击者最佳响应策略的充分必要条件。假设
首先分析当端口i被攻击的情况,也就是i∈S。根据攻击者最佳响应策略的充分必要条件可知,该被攻击端口i的pivi值不小于λ。端口i的损失函数为li A=pivi+F(pi)ci,是函数li A的最小值点,也就是端口i被攻击时的最优策略,所以,如果能够满足那么端口i的最优策略就是即如果即由于端口i的最优策略pi应该满足pivi≥λ,即又知函数F(pi)是凸函数,可以知道函数在上是递增的,那么端口i的最优策略就是即时函数取得最小值。
类似地,对端口i没有被攻击的情况进行分析,也就是根据攻击者最佳响应策略的充分必要条件可知,端口i的pivi值不大于λ。端口i的损失函数为 是函数的最小值点,也就是端口i未被攻击时的最优策略,所以,如果能够满足那么端口i的最优策略就是即如果即因为函数F(pi)是减函数,而且端口i的最优策略pi应该满足pivi≤λ,即那么端口i的最优策略就是即时,函数取得最小值。
定理4.1给出了一个最优防御策略的必要条件,当给定一个任意的攻击者的策略端口集合S后,可以使用搜索技术找到一个最优的λ值,从而获得防御方的最优防御策略p。进一步来说,按照定理4.1给出的算法,可以计算出针对任意攻击者策略S下攻击者的最佳响应策略,即最优防御策略。按照这样的方法,可以先对所有K大小的端口子集按照上述方法求解出每一个子集所对应的最优防御策略,之后在所求得的最优防御策略中,进一步搜寻找到使得防御方损失最小的防御策略,从而确定防御方的最优防御策略。但是在实际中,端口数量n的大小和K的取值大小可能导致端口子集的个数很大,从而导致搜索空间依旧会很大,因此上述方法可能并不能有效地对问题进行求解。
(4-2)防御策略问题求解
下面分析当定理4.1中的λ值已知的情况下,如何为防御方计算其最优防御策略,具体方法通过定理4.2给出。
定理4.2假设给定一个λ值,那么防御方的最优防御策略就是满足和的策略,其中S是攻击者的最佳响应策略。下面给出一个计算最优防御策略的算法:
步骤1、按照如下方式计算每一个端口的值:对于端口i,如果则否则
步骤2、按照如下方式计算每一个端口的值:对于端口i,如果则否则
步骤3、计算每一个端口的Di值:
步骤4、在所有端口中选择Di值最小的K个端口组成集合S;
步骤5、对于每一个在集合S中的端口i,如果那么否则,
步骤6、对于每一个不在集合S中的端口i,如果那么否则,
步骤7、输出防御方最优策略p=(p1,p2,...,pN)。
证明:首先,假设攻击者的最佳响应策略S是给定的,这样情况就与定理4.1是类似的。那么,根据定理4.1的证明可知,上述算法中步骤5-6得出的策略就是针对S的最优防御策略。接下来,只需要确定步骤1-4生成的攻击策略S是否是对于防御方最优的集合。
这里使用反证法进行证明,假设存在一个集合S*能够使得防御方遭受更低的期望损失。因为已知步骤5-6能够针对任意集合给出最优的防御策略,所以假设对应于集合S和S*的防御策略都是通过步骤5-6计算出的。使用i+表示在集合S*中但不在集合S中的端口组成的集合,使用i-表示在集合S中但不在集合S*中的端口组成的集合。那么,可以分别计算出对应于集合S和集合S*的防御者的期望损失如下:
两者之间的差值计算如下:
从步骤4中可知集合S中的端口是Di值最小的K个端口,所以,可以得到因此,ΔL<0,即这与之前的假设矛盾,那么原命题成立,所以集合S是对于防御方最优的集合。
通过使用定理4.2给出的算法,当给定一个任意的λ值时,就可以计算出防御方的最优防御策略。使用符号Ldefender(λ)来表示给定$\lambda$值的情况下,防御方所承受的最小的损失,本质上来说就是给定λ值后,使用上述算法所计算出的防御方最优防御策略下所对应的损失值。因为研究的目标是寻找使得防御方损失最小的防御策略,那么就可以把寻找防御方最优防御策略的问题转化为寻找Ldefender(λ)最小值点λ*的问题,在找到了λ*后,利用定理4.2所给出的算法很容易地可以计算出最优防御策略p。
下面将结合示例对本发明的技术方案作进一步的详细描述。
为了验证防御方的最优防御策略是否能够有效地降低防御方在遭受中间人攻击时的整体损失,将最优防御策略与其他非策略性的防御策略通过实验进行防御效果对比,观察在遭受中间人攻击时,每个防御策略下防御方所承受的整体损失。
实验基本设置:假设实验中有30个用户分别通过30个端口与服务器进行通讯,每个用户i的ci值和vi值需要初始化,ci表示由于通讯延时所造成的损失,由用户工作需求的紧急程度所决定的;vi代表用户信息的价值,由用户在整个组织中的相对地位或级别所决定。这里考虑两种情况,第一种情况假设vi服从幂律分布(因为在公司等大型组织中分层结构比较常见,也就是有很少一部分人拥有较高的级别,而绝大多数人的级别较低;另一种情况假设相对较少的人拥有较高或较低的级别,大多数人拥有中等相近的级别。这种情况比较符合正态分布的规律,因此假设vi的值服从正态分布)。这里同样假设ci服从幂律分布或是正态分布(因为每个用户都可能有不同的工作任务)。ci和vi的值并没有关联性,因此实验在两种情况下进行:1)ci和vi所服从分布的参数相同;2)ci和vi所服从分布的参数不同。
将防御方的最优防御策略与几个非策略性的防御策略进行对比,在中间人攻击存在的情况下进行防御方的最优防御策略能否有效降低防御方的整体损失的验证和评价。依据非策略性的防御策略将为每一个端口设置相同的p值。一种极端的情况就是每个端口的p值都设置为1,这就等价于无防御状态,因为f=1-p=0,也就是通讯数据包中并没有添加任何噪声数据,这种情况看作是基准情况。除此之外,还对比了其他两种非策略性的防御策略,虽然这两种非策略性的防御策略并没有考虑攻击者以策略性的方式选择策略,但是是对攻击者的行为进行了基本假设后所计算出的最优策略,具体计算方式如下:
第一个非策略性的防御策略:基于攻击者随机选取端口进行攻击的假设,防御方计算一个能够最小化自己期望损失(即最优)的p值,记为p1,p1值的计算公式如下:
第二个非策略性的防御策略:基于攻击者选择那些信息价值较高(vi值较大)的端口进行攻击的假设,防御方计算能够最小化自己期望损失(即最优)的p值,记为p2,p2值的计算如下:
最后,在中间人攻击一直存在的情况下,针对每一个非策略性的防御策略,假设攻击方一直选择自己的最佳响应策略,最后计算防御方的期望损失。攻击者所能够攻击的端口个数K从3一直变化到10进行实验,(1)用户参数ci和vi服从幂律分布时的实验结果:如图3、4所示分别表示ci和vi服从相同和不同参数下的实验结果;(2)用户参数ci和vi服从正态分布时的实验结果,如图5、6分别表示ci和vi服从相同和不同参数下的情况。
从实验结果图中可以看出,随着攻击者能够攻击的端口个数K的不断增加,每一个防御策略下防御方所承受的整体损失都在增加。但是相比基准情况,可以发现其他三种防御策略所对应的防御方的整体损失增加速率较慢。而且在每一种情况下,基准情况所对应的曲线都是最高的,这就表明基准策略下防御方所遭受的整体损失是最大的。因此,可以说明随着攻击者攻击能力的增加,采取在通讯数据包中添加一定比例的噪声数据这种防御措施能够有效降低防御方在遭受中间人攻击时的整体损失。通过仔细对比两种非策略性的防御策略,第二种策略p2的实验效果稍稍优于第一种策略p1,但是最优防御策略的曲线在所有情况下都是位于最下面的,这表明不论ci和vi值服从什么分布,最优防御策略都能够将防御方所遭受的整体损失降到最低。
Claims (1)
1.一种基于安全博弈论的中间人攻击防御策略,其特征在于,该方法包括以下步骤:
将防御方与攻击者之间的交互过程建模为Stackelberg博弈模型:直接分析防御方的损失值,损失值也就是其收益值的相反数;防御方的损失就是所有被攻击的端口和未被攻击的端口的损失之和,如果端口i被攻击了,那么使用端口i通讯的用户的损失包括其敏感信息被攻击者获取的损失pivi以及由于噪声数据所造成的通讯延时带来的损失F(pi)ci。因此,其损失函数定义如下:
如果端口i没有被攻击,那么使用端口i进行通讯的用户所遭受的损失就只有噪声数据所造成的通讯延时损失,它的损失函数定义如下:
最后,防御方的损失函数定义如下:
由上述的损失函数从而得到收益值;
利用降低计算最优防御策略时搜索空间的方法,对上述的Stackelberg博弈模型进行推理分析,计算得到防御方的最优防御策略:
给出基于攻击者的最佳响应策略已知的情况下,防御方的最优防御策略满足集合S中攻击者最佳响应策略的充分必要条件假设
分析端口i被攻击的情况即i∈S,端口i的最优策略就是即时函数取得最小值;
分析端口i没有被攻击的情况即端口i的最优策略就是即时函数取得最小值;
当给定一个任意的攻击者的策略端口集合S后,可以使用搜索技术找到一个最优的λ值,从而获得防御方的最优防御策略p;
λ值已知的情况下,为防御方计算其最优防御策略,具体算法如下:
按照如下方式计算每一个端口的值:对于端口i,如果则否则
按照如下方式计算每一个端口的值:对于端口i,如果则否则
计算每一个端口的Di值:
在所有端口中选择Di值最小的K个端口组成集合S;
对于每一个在集合S中的端口i,如果那么否则,
对于每一个不在集合S中的端口i,如果那么否则,
输出防御方最优策略p=(p1,p2,...,pN)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811191560.4A CN109194685A (zh) | 2018-10-12 | 2018-10-12 | 基于安全博弈论的中间人攻击防御策略 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811191560.4A CN109194685A (zh) | 2018-10-12 | 2018-10-12 | 基于安全博弈论的中间人攻击防御策略 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109194685A true CN109194685A (zh) | 2019-01-11 |
Family
ID=64948354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811191560.4A Pending CN109194685A (zh) | 2018-10-12 | 2018-10-12 | 基于安全博弈论的中间人攻击防御策略 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109194685A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110049497A (zh) * | 2019-04-11 | 2019-07-23 | 北京工业大学 | 移动雾计算中一种面向用户的智能攻击防御方法 |
CN114285645A (zh) * | 2021-12-24 | 2022-04-05 | 中国科学技术大学 | 一种基于重复博弈的中间人攻击应对方法 |
CN115510639A (zh) * | 2022-09-21 | 2022-12-23 | 河海大学 | 一种基于多移动防御资源和移动目标的新型变电站安全保护方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101573692A (zh) * | 2006-10-25 | 2009-11-04 | 约维申有限公司 | 检测和防止中间人网络钓鱼攻击 |
CN101808020A (zh) * | 2010-04-19 | 2010-08-18 | 吉林大学 | 基于不完全信息动态博弈的入侵响应决策方法 |
CN107070956A (zh) * | 2017-06-16 | 2017-08-18 | 福建中信网安信息科技有限公司 | 基于动态贝叶斯博弈的apt攻击预测方法 |
-
2018
- 2018-10-12 CN CN201811191560.4A patent/CN109194685A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101573692A (zh) * | 2006-10-25 | 2009-11-04 | 约维申有限公司 | 检测和防止中间人网络钓鱼攻击 |
CN101808020A (zh) * | 2010-04-19 | 2010-08-18 | 吉林大学 | 基于不完全信息动态博弈的入侵响应决策方法 |
CN107070956A (zh) * | 2017-06-16 | 2017-08-18 | 福建中信网安信息科技有限公司 | 基于动态贝叶斯博弈的apt攻击预测方法 |
Non-Patent Citations (2)
Title |
---|
LI SHUXIN等: ""Defending Against Man-In-The-Middle Attack in Repeated Games", 《PROCEEDINGS OF THE TWENTY-SIXTH INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE,IJCAI》 * |
XIAOHONG LI等: ""Optimal Personalized Defense Strategy Against Man-In-The-Middle Attack"", 《PROCEEDINGS OF THE THIRTY-FIRST AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE,AAAI》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110049497A (zh) * | 2019-04-11 | 2019-07-23 | 北京工业大学 | 移动雾计算中一种面向用户的智能攻击防御方法 |
CN110049497B (zh) * | 2019-04-11 | 2022-09-09 | 北京工业大学 | 移动雾计算中一种面向用户的智能攻击防御方法 |
CN114285645A (zh) * | 2021-12-24 | 2022-04-05 | 中国科学技术大学 | 一种基于重复博弈的中间人攻击应对方法 |
CN114285645B (zh) * | 2021-12-24 | 2022-09-30 | 中国科学技术大学 | 一种基于重复博弈的中间人攻击应对方法 |
CN115510639A (zh) * | 2022-09-21 | 2022-12-23 | 河海大学 | 一种基于多移动防御资源和移动目标的新型变电站安全保护方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gulhane et al. | Security, privacy and safety risk assessment for virtual reality learning environment applications | |
Kontaxis et al. | Detecting social network profile cloning | |
US9659185B2 (en) | Method for detecting spammers and fake profiles in social networks | |
CN107172049A (zh) | 一种智能身份认证系统 | |
Doupé et al. | Hit'em where it hurts: a live security exercise on cyber situational awareness | |
CN113347156B (zh) | 一种网站指纹防御的智能流量混淆方法、系统及计算机存储介质 | |
CN107426181A (zh) | 恶意Web访问请求的拦截方法及装置 | |
CN109194685A (zh) | 基于安全博弈论的中间人攻击防御策略 | |
Parmar et al. | On the Use of Cyber Threat Intelligence (CTI) in Support of Developing the Commander's Understanding of the Adversary | |
Kotenko et al. | Evaluation of Computer Network Security based on Attack Graphs and Security Event Processing. | |
CN108600145A (zh) | 一种确定DDoS攻击设备的方法及装置 | |
WO2022026273A1 (en) | Proof-of-work techniques for validating online activities | |
Bhuiyan et al. | Maintaining the balance between privacy and data integrity in internet of things | |
Zhou et al. | Collaborative anomaly detection in distributed SDN | |
Korać et al. | A hybrid XSS attack (HYXSSA) based on fusion approach: Challenges, threats and implications in cybersecurity | |
Nunnally et al. | Navsec: A recommender system for 3d network security visualizations | |
Cui et al. | CBSeq: A Channel-level Behavior Sequence For Encrypted Malware Traffic Detection | |
Yu et al. | An explainable method of phishing emails generation and its application in machine learning | |
Fauzi et al. | PassGAN based honeywords system for machine-generated passwords database | |
CN110321702A (zh) | 检测网络资源的修改的系统和方法 | |
Masi et al. | Simulating network cyber attacks using splitting techniques | |
Uchibori et al. | Honeypot Method to Lure Attackers Without Holding Crypto-Assets | |
Hu et al. | A Novel Attack‐and‐Defense Signaling Game for Optimal Deceptive Defense Strategy Choice | |
Subhan et al. | Unveiling Attack Patterns: A Study of Adversary Behavior from Honeypot Data | |
Ou et al. | Security risk analysis of enterprise networks using attack graphs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190111 |
|
WD01 | Invention patent application deemed withdrawn after publication |