||
《安全通论》(6)
------攻防篇之“多人盲对抗”
杨义先,钮心忻
北京邮电大学信息安全中心
摘要:本文给出了常见于网络空间安全攻防战中,如下两种情形下,攻守双方极限能力的精确值:1)多位黑客攻击一位红客;2)一个黑客攻击多位红客。
(一)前言
“攻防”是安全的核心,而“攻防”的实质就是“对抗”。
为了全面深入地研究“对抗”,我们已经花费了四篇文章[2,3,4,5]来进行地毯式探索:
文献[2],统一研究了“盲对抗”,并给出了黑客(红客)攻击(防守)能力的精确极限。
文献[3]、[4]和[5],以国际著名的“石头剪刀布游戏”、国内家喻户晓的“猜正反面游戏”和“手心手背游戏”、酒桌上著名的“划拳”和“猜拳”为对象,研究了“非盲对抗”的五个有趣实例,给出了输赢极限和获胜技巧。
特别是文献[5],针对“非盲对抗”的很大一个子类(输赢规则线性可分的情况),给出了统一的解决方案。
但是,文献[2,3,4,5]都只限于“攻”与“守”单挑的情形,即,一个黑客攻击一个红客。虽然在一般系统中,黑客与红客几乎都是“一对一”的,但是,在网络空间安全对抗中,还会经常出现“群殴”事件,特别是多位黑客攻击一位红客;一个黑客攻击多位红客;黑客借助跳板来攻击红客;在有人协助时,黑客攻击红客等。而另一方面,在网络空间安全对抗中,几乎只涉及“盲对抗”,所以,下面我们就重点研究这类“盲群殴”。当然,本文的结果,绝不仅仅限于网络空间安全,仍然对各类安全都有效。
本文的攻防场景描述,主要是引入“上帝”的做法,与文献[2]相同,为了节省篇幅,此处不再重复。
(二)多位黑客攻击一位红客
为了直观计,我们先考虑2个黑客攻击一个红客的情形,然后,再做推广。
设黑客X1和X2都想攻击红客Y,并且两个黑客互不认识,甚至可能不知道对方的存在,因此,作为随机变量,可以假设X1和X2是相互独立的。
与[2]类似,我们仍然假设:攻防各方采取“回合制”,并且,每个“回合”后,各方都对本次的攻防结果,给出一个“真心的盲自评”,由于这些自评结果是不告诉任何人的,所以,有理由假设“真心的盲自评”是真实可信的,没必要做假。
分别用随机变量X1和X2代表第一个和第二个黑客,他们按如下方式对自己每个回合的战果,进行真心盲自评:
X1对本回合盲自评为成功,则X1=1;X1对本回合盲自评为失败,则X1=0;
X2对本回合盲自评为成功,则X2=1;X2对本回合盲自评为失败,则X2=0;
由于每个回合中,红客要同时对付两个黑客的攻击,所以,用2维随机变量Y=(Y1,Y2)代表红客,他按如下方式对自己每个回合的防御X1和X2成果,进行真心盲自评:
本回合Y自评防御X1成功,自评防御X2也成功时,记为,Y1=1,Y2=1;
本回合Y自评防御X1成功,自评防御X2也失败时,记为,Y1=1,Y2=0;
本回合Y自评防御X1失败,自评防御X2也成功时,记为,Y1=0,Y2=1;
本回合Y自评防御X1失败,自评防御X2也失败时,记为,Y1=0,Y2=0;
让黑客们和红客不断地进行攻防对抗,并各自记下他们的盲自评结果。虽然他们的盲自评结果是保密的,没有任何人知道,但是,上帝知道这些结果,而且,根据“频率趋于概率”这个大数定律,上帝就可以计算出如下概率:
0<Pr(X1=1)=p<1; 0<Pr(X1=0)=1-p<1;
0<Pr(X2=1)=q<1; 0<Pr(X2=0)=1-q<1;
0<Pr(Y1=1,Y2=1)=a11<1;0<Pr(Y1=1, Y2=0)=a10<1;
0<Pr(Y1=0,Y2=1)=a01<1;0<Pr(Y1=0, Y2=0)=a00<1;
这里,a00+a01+a10+a11=1
上帝再造一个2维随机变量Z=(Z1,Z2)=((1+X1+Y1)mod2, (1+X2+Y2)mod2),即,Z1=(1+X1+Y1)mod2,Z2=(1+X2+Y2)mod2。并利用随机变量X1、X2和Z构造一个2-接入信道(X1,X2,p(z│x1,x2),Z),并称该信道为红客的防御信道F。(注:关于多接入信道的细节,请见文献[6]的15.3节。)
好了,下面来考虑几个事件恒等式:
{某个回合红客防御成功}={红客防御X1成功}∩{红客防御X2成功}
而
{红客防御X1成功}={黑客X1自评本回合攻击成功,红客自评防御X1成功}∪{黑客X1自评本回合攻击失败,红客自评防御X1成功}={X1=1,Y1=1}∪{X1=0,Y1=1}= {X1=1,Z1=1}∪{X1=0,Z1=0}
同理,
{红客防御X2成功}={黑客X2自评本回合攻击成功,红客自评防御X2成功}∪{黑客X2自评本回合攻击失败,红客自评防御X2成功}={X2=1,Y2=1}∪{X2=0,Y2=1}= {X2=1,Z2=1}∪{X2=0,Z2=0}
所以,{某个回合红客防御成功}=[{X1=1,Z1=1}∪{X1=0,Z1=0}]∩[{X2=1,Z2=1}∪{X2=0,Z2=0}] =[防御信道F的第一个子信道传信成功]∩[防御信道F的第二个子信道传信成功]= {2输入信道F的传输信息成功}
于是,便有如下引理,
引理1:如果红客在某个回合防御成功,那么,1比特信息就在2-输入信道F(防御信道)中,被成功传输。
反过来,如果“2-输入信道F的传输信息成功”,那么,“防御信道F的第一个子信道传输成功”同时“防御信道F的第二个子信道传输成功”,即,[{X1=1,Z1=1}∪{X1=0,Z1=0}]∩[{X2=1,Z2=1}∪{X2=0,Z2=0}],这等价于[{X1=1,Y1=1}∪{X1=0,Y1=1}]∩[{X2=1,Y2=1}∪{X2=0,Y2=1}]
而
{X1=1,Y1=1}∪{X1=0,Y1=1}意味着{黑客X1自评本回合攻击成功,红客自评防御X1成功}∪{黑客X1自评本回合攻击失败,红客自评防御X1成功},即,{红客防御X1成功},
同理,
{X2=1,Y2=1}∪{X2=0,Y2=1}意味着{黑客X2自评本回合攻击成功,红客自评防御X2成功}∪{黑客X2自评本回合攻击失败,红客自评防御X2成功},即,{红客防御X2成功},
所以,[{X1=1,Y1=1}∪{X1=0,Y1=1}]∩[{X2=1,Y2=1}∪{X2=0,Y2=1}]就等同于{某个回合红客防御成功},从而,我们就得到了如下引理(它是引理1的逆)。
引理2:如果1比特信息在2-输入信道F(防御信道)中被成功传输,那么,红客就在该回合中防御成功。
结合引理1和引理2,我们就得到了如下定理:
定理1:设随机变量X1、X2和Z如上所述,防御信道F是如下2-接入信道(X1,X2,p(z│x1,x2),Z),那么,“红客在某回合中防御成功”就等价于“1比特信息在防御信道F中被成功传输”。
根据文献[6]的定理15.3.1及其逆定理,我们知道信道F的可达容量区域为满足下列条件的全体(R1,R2)所组成集合的凸闭包,
0≤R1≤maxXI(X1;Z│X2),
0≤R2≤maxXI(X2;Z│X1),
0≤R1+R2≤maxXI(X1, X2;Z).
这里最大值是针对所有独立随机变量X1和X2的概率分布而取的;I(A,B;C)表示互信息,而I(A;B│C)表示条件互信息;Z=(Z1,Z2)=((1+X1+Y1)mod2,(1+X2+Y2)mod2)。
利用定理1,并将上述可达容量区域的结果翻译成攻防术语后,便得到:
定理2:两个黑客X1和X2独立地攻击一个红客Y。如果,在n个攻防回合中,红客成功防御第一个黑客r1次,成功防御第二个黑客r2次,那么,一定有:
0≤r1≤n[maxXI(X1;Z│X2)],
0≤r2≤n[maxXI(X2;Z│X1)],
0≤r1+r2≤n[maxXI(X1, X2;Z)].
而且,上述的极限是可达的,即,红客一定有某种最有效的防御方法,使得在n次攻防回合中,红客成功防御第一个黑客r1次,成功防御第二个黑客r2次,的成功次数r1和r2达到上限:r1=n[maxXI(X1;Z│X2)],同时r2=n[maxXI(X2;Z│X1)]以及r1+r2=n[maxXI(X1, X2;Z)]。再换一个角度,还有:
如果红客要想成功防御第一个黑客r1次,成功防御第二个黑客r2次,那么,他至少得进行max{r1/[maxXI(X1;Z│X2)],r2/[maxXI(X2;Z│X1)],[maxXI(X1,X2;Z)]}次防御。
下面来将定理2推广到任意m个黑客X1、X2、…、Xm,独立地攻击一个红客Y=(Y1,Y2,…,Ym)的情况。
仍然假设:攻防各方采取“回合制”,并且,每个“回合”后,各方都对本次的攻防结果,给出一个“真心的盲自评”,由于这些自评结果是不告诉任何人的,所以,有理由假设“真心的盲自评”是真实可信的,没必要做假。
对任意1≤i≤m,黑客Xi按如下方式对自己每个回合的战果,进行真心盲自评:
黑客Xi对本回合盲自评为成功,则Xi=1;黑客Xi对本回合盲自评为失败,则Xi=0;
每个回合中,红客按如下方式对自己防御黑客X1、X2、…、Xm的成果,进行真心盲自评:任取整数集合{1,2,…,m}的一个子集S,记Sc为S的补集,即,Sc={1,2,…,m}-S,再记X(S)为{Xi:i∈S},X(Sc)为{Xi:i∈Sc},如果红客成功地防御了X(S)中的黑客,但却自评被X(Sc)中的黑客打败,那么,红客的盲自评估就为:{Yi=1:i∈S},{Yi=0:i∈Sc}。
上帝再造一个m维随机变量Z=(Z1,Z2,…Zm)=((1+X1+Y1)mod2, (1+X2+Y2)mod2,… , (1+Xm+Ym)mod2),即,Zi=(1+Xi+Yi)mod2,1≤i≤m。并利用随机变量X1、X2、…、Xm和Z构造一个m-接入信道,并称该信道为红客的防御信道G。
仿照上面m=2的证明方法,利用文献[6]的定理15.3.6及其逆定理,我们知道信道G的可达容量区域为满足下列条件的所有码率向量所成集合的凸闭包,
R(S)≤I(X(S);Z│X(Sc)),对{1,2,…,m}的所有子集S。
这里R(S)定义为R(S)=∑i∈SRi=∑i∈S[ri/n],ri/n是第i个输入的码率。
仿照前面,将该可达容量区域的结果翻译成攻防术语后,便得到:
定理3:m个黑客X1、X2、…、Xm独立地攻击一个红客Y。如果,在n个攻防回合中,红客成功防御第i个黑客ri次,1≤i≤m,那么,一定有r(S)≤n[I(X(S);Z│X(Sc))],对{1,2,…,m}的所有子集S。这里r(S)=∑i∈Sri。而且,该上限是可达的,即,
红客一定有某种最有效的防御方法,使得在n次攻防回合中,红客成功防御黑客集S的次数集合r(S),达到上限:r(S)=n[I(X(S);Z│X(Sc))],对{1,2,…,m}的所有子集S。再换一个角度,还有:
如果红客要想实现成功防御黑客集S的次数集合为r(S),那么,他至少得进行max{r(S)/[I(X(S);Z│X(Sc))]}次防御。
(三) 一位黑客攻击多位红客
为了增强安全性,红客在建设系统时,常常建设一个甚至多个(异构)备份系统,一旦系统本身被黑客攻破后,红客可以马上启用备份系统,从而保障业务的连续性。因此,在这种情况下,黑客若想真正取胜,他就必须同时攻破主系统和所有备份系统。这就是“一位黑客攻击多位红客”的实际背景,换句话说,只要有那怕一个备份未被黑客攻破,那么,就不能算黑客赢。当然,也许红客们并不知道是同一个黑客在攻击他们,至于红客们是否协同,都不影响下面的研究。
先考虑1个黑客攻击2个红客的情形,然后,再做推广。
设黑客X=(X1,X2)想同时攻击两个红客Y1和Y2。由于这两个红客是两个互为备份系统的守卫者,因此,黑客必须同时把这两个红客打败,才能算真赢。
与上节类似,仍然假设:攻防各方采取“回合制”,并且,每个“回合”后,各方都对本次的攻防结果,给出一个“真心的盲自评”,由于这些自评结果是不告诉任何人的,所以,有理由假设“真心的盲自评”是真实可信的,没必要做假。
分别用随机变量Y1和Y2代表第一个和第二个红客,他们按如下方式对自己每个回合的战果,进行真心盲自评:
红客Y1对本回合防御盲自评为成功,则Y1=1;红客Y1对本回合防御盲自评为失败,则Y1=0;
红客Y2对本回合防御盲自评为成功,则Y2=1;红客Y2对本回合防御盲自评为失败,则Y2=0;
由于每个回合中,黑客要同时攻击两个红客,所以,用2维随机变量X=(X1,X2)代表黑客,他按如下方式对自己每个回合攻击Y1和Y2的成果,进行真心盲自评:
本回合X自评攻击Y1成功,自评攻击Y2成功时,记为,X1=1,X2=1;
本回合X自评攻击Y1成功,自评攻击Y2失败时,记为,X1=1,X2=0;
本回合X自评攻击Y1失败,自评攻击Y2成功时,记为,X1=0,X2=1;
本回合X自评攻击Y1失败,自评攻击Y2失败时,记为,X1=0,X2=0;
让黑客和红客们不断地进行攻防对抗,并各自记下他们的盲自评结果。虽然他们的盲自评结果是保密的,没有任何人知道,但是,上帝知道这些结果,而且,根据“频率趋于概率”这个大数定律,上帝就可以计算出如下概率:
0<Pr(Y1=1)=f<1; 0<Pr(Y1=0)=1-f<1;
0<Pr(Y2=1)=g<1; 0<Pr(Y2=0)=1-g<1;
0<Pr(X1=1,X2=1)=b11<1;0<Pr(X1=1, X2=0)=b10<1;
0<Pr(X1=0,X2=1)=b01<1;0<Pr(X1=0, X2=0)=b00<1;
这里,b00+b01+b10+b11=1
上帝再造两个随机变量Z1和Z2,这里Z1=(X1+Y1)mod2,Z2=(X2+Y2)mod2。并利用随机变量X(输入)和Z1、Z2(输出)构造一个2-输出广播信道p(z1,z2│x),并称该信道为黑客的攻击信道G。(注:关于广播信道的细节,请见文献[6]的15.6节。)
好了,下面来考虑几个事件恒等式:
{黑客X攻击成功}={黑客X攻击Y1成功}∩{黑客X攻击Y2成功}=[{黑客X自评攻击Y1成功,红客Y1自评防御失败}∪{黑客X自评攻击Y1失败,红客Y1自评防御失败}]∩[{黑客X自评攻击Y2成功,红客Y2自评防御失败}∪{黑客X自评攻击Y2失败,红客Y2自评防御失败}]=[{X1=1,Y1=0}∪{X1=0, Y1=0}]∩[{X2=1,Y2=0}∪{X2=0, Y2=0}]=[{X1=1,Z1=1}∪{X1=0, Z1=0}]∩[{X2=1,Z2=0}∪{X2=0, Z2=0}]=[1比特信息被成功地从广播信道G的第1个分支传输到目的地]∩[1比特信息被成功地从广播信道G的第2个分支传输到目的地]=[1比特信息在广播信道G中被成功传输]。
以上推理过程,完全可以逆向进行,所以,我们有:
定理4:一个黑客X=(X1,X2)同时攻击两个红客Y1和Y2,如果在某个回合中黑客攻击成功,那么,1比特信息就在上述2-输出广播信道(攻击信道)G中被成功传输,反之亦然。
下面再将定理4推广到1个黑客X=(X1,X2,…,Xm),同时攻击任意m个红客Y1、Y2、…、Ym的情况。由于这m个红客是互为备份系统的守卫者,因此,黑客必须同时把这m个红客打败,才能算真赢。
仍然假设:攻防各方采取“回合制”,并且,每个“回合”后,各方都对本次的攻防结果,给出一个“真心的盲自评”,由于这些自评结果是不告诉任何人的,所以,有理由假设“真心的盲自评”是真实可信的,没必要做假。
对任意1≤i≤m,红客Yi按如下方式对自己每个回合的战果,进行真心盲自评:
红客Yi对本回合防御盲自评为成功,则Yi=1;红客Yi对本回合盲自评防御为失败,则Yi=0;
每个回合中,黑客按如下方式对自己攻击红客Y1、Y2、…、Ym的成果,进行真心盲自评:任取整数集合{1,2,…,m}的一个子集S,记Sc为S的补集,即,Sc={1,2,…,m}-S,再记Y(S)为{Yi:i∈S},Y(Sc)为{Yi:i∈Sc},如果黑客自评成功地攻击了Y(S)中的红客,但却自评被Y(Sc)中的红客成功防御,那么,黑客X的盲自评就为:{Xi=1:i∈S},{Xi=0:i∈Sc}。
上帝再造m个随机变量Zi,这里Zi= (Xi+Yi)mod2,1≤i≤m。并利用随机变量X(输入)和Z1、Z2、…、Zm(输出)构造一个m-输出广播信道p(z1,z2,…,zm│x),并称该信道为黑客的攻击信道H。(注:关于广播信道的细节,请见文献[6]的15.6节。)
好了,下面来考虑几个事件恒等式:
{黑客X攻击成功}=∩1≤i≤m{黑客X攻击Yi成功}=∩1≤i≤m [{黑客X自评攻击Yi成功,红客Yi自评防御失败}∪{黑客X自评攻击Yi失败,红客Yi自评防御失败}]=∩1≤i≤m [{Xi=1,Yi=0}∪{Xi=0, Yi=0}]=∩1≤i≤m [{Xi=1,Zi=1}∪{Xi=0, Zi=0}]=∩1≤i≤m [1比特信息被成功地从广播信道G的第i个分支传输到目的地] =[1比特信息在m-广播信道G中被成功传输]。
以上推理过程,完全可以逆向进行,所以,我们有:
定理5:一个黑客X=(X1,X2,…,Xm)同时攻击m个红客Y1、Y2、…、Ym,如果在某个回合中黑客攻击成功,那么,1比特信息就在上述m-输出广播信道(攻击信道)H中被成功传输,反之亦然。
根据上述定理4和定理5,一个黑客同时攻击多个红客的问题,就完全等价于广播信道的信息容量区域问题。可惜,到目前为止,广播信道的信息容量区域问题还未被解决。
(四) 结束语
在实际的网络空间安全对抗中,还有两种常见的攻击情况:1)黑客借助跳板来攻击红客;2)在有人协助(比如,在红方有一个内奸)时,黑客攻击红客等。可是,如何来研究这两种攻防极限呢?目前还没有答案。
另一方面,在多用户信息论中,也有两种常见的信道:1)中继信道(见文献[6]的15.7节);2)边信息信道(见文献[6]的15.8节)。
我严重怀疑“中继信道可用于研究黑客的跳板攻击”,同时,“边信息信道可用于研究有内奸攻击”,但是,很可惜,我始终没能找到突破口。欢迎有兴趣的读者来“接棒”。
特别说明1:这本该是一篇高影响因子的SCI论文,但是,如今国人已被SCI绑架了,所以,老夫想带头摆脱SCI的束搏,故将此文在这里发表。本文欢迎所有媒体转载。
特别说明2:本文是在2016年春节期间,给父亲守孝时完成的。以此怀念我那86岁,无疾而终的老父亲!此文也作为祭给父亲的“头七”礼物。
参考文献
[1]杨义先,钮心忻,安全通论(1)之“经络篇”,见杨义先的科学网实名博客(http://blog.sciencenet.cn/blog-453322-944217.html )
[2]杨义先,钮心忻,安全通论(2):攻防篇之“盲对抗”,见杨义先的科学网实名博客,(http://blog.sciencenet.cn/blog-453322-947304.html )
[3]杨义先,钮心忻,安全通论(3):攻防篇之“非盲对抗”之“石头剪刀布游戏”,见杨义先的科学网实名博客,(http://blog.sciencenet.cn/blog-453322-948089.html )
[4]杨义先,钮心忻,安全通论(4):攻防篇之“非盲对抗”之“童趣游戏”,见杨义先的科学网实名博客,(http://blog.sciencenet.cn/blog-453322-949155.html )
[5]杨义先,钮心忻,安全通论(5):攻防篇之“非盲对抗”收官作及“劝酒令”,见杨义先的科学网实名博客,(http://blog.sciencenet.cn/blog-453322-950146.html)
[6]Thomas M. Cover, Joy A. Thomas著,信息论基础,机械工业出版社出版,2007年11月,北京。阮吉寿,张华译;沈世镒审校。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-20 07:26
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社