在实际的网络对抗中,攻与防其实是一体的,即每个当事人既是攻方(黑客)又是守方(红客).而且,除了最常见的“1对1”的对抗之外,还有“1对多”,以及多人分为两个集团(如历史上的北约和华约集团)之间的对抗;当然,更一般地,还有所有当事人之间的混战.笔者针对所有这些可能的对抗场景,在“任何人不会自己骗自己”的假定下,给出了全部“独裁评估事件”可达理论极限.
In actual network confrontations, attack and defense is, in fact, combined in one body, i.e., each person is not only the attacking side (hackers), but also the defending side(the Honker). In addition to the most common "1 to 1" and "one to many" attack-and-defense, there are also the 2-group cases, i.e., the persons are divided into two groups (for example, the historical NATO and the Warsaw Pact) such that one group attacks and defenses the other group. Of course, the more general cases are the "all parties attack-and-defense", i.e., all persons attack and defense each other. In this paper, the reachable limitations of all "dictatorship evaluate" events are listed for all of these possible confrontations, under the assumption of "any person not deceive ourselves".
由于在网络空间安全等许多真实对抗中,与“非盲对抗”相比,“盲对抗”才是常态,因此,有必要对“盲对抗”进行更深入的研究. 本文是文献[2]和文献[6]的继续.
为清晰起见,在文献[2]和文献[6]中,将攻方(黑客)和守方(红客)进行了严格的区分. 但是,在实际对抗中,往往各方都是攻守兼备:在攻击别人的同时,也要防守自己的阵地;他们既是黑客也是红客. 因此,笔者针对这种攻防一体的情况,研究相关各方的能力极限.
通过文献[2]和文献[6]已知,如果仅仅借助《信息论》,那么面对诸如“1攻多”等攻防情况,就束手无策了,最多建立起“某次攻击成功”与“某个广播信道无差错传输1比特信息”之间的等价关系,但是,由于至今“广播信道的信道容量”等都还是没有解决的世界难题,而且在短期内也不可能解决,所以,只好另辟蹊径:祭出《博弈论》这个法宝.
但是,要想驾驭《博弈论》绝非易事,如果按常规,根据每个回合中各方的“收益函数”值,套用纳什均衡定理等,那么,将面临一个致命的挑战,即对政治黑客而言,压根就没有什么“收益函数”,因为,他们是不计代价的;对经济黑客而言,确定“收益函数”值的难度,甚至可能超过“各方攻防对抗”的难度,显然这就本末倒置了!就算是经济黑客愿意花大力气,把“收益函数”值都测试出来,那么,对《安全通论》的进步,也没有理论价值,只不过是做了一道小儿科习题而已.
所以,必须创新性地利用《博弈论》,为此,继续沿用文献[2]和文献[6]的研究对象,重点考虑各方在对抗中的输赢次数. 当然,输赢次数的多少,只能在一定程度上说明对抗各方的损益情况,毕竟,一次大赢可能好过多次小输.
1 盲对抗的自评估输赢分类既然“兵不厌诈”,所以在盲对抗中,每个回合后,攻防双方都只知道“自己的损益”情况(盲自评估为“输”或“赢”),而对“对方的损益情况”一无所知. 为了不影响其广泛适用性,文献[2]和文献[6]中建立了以“攻防双方的盲自评估”为基础的聚焦于“胜负次数”的对抗模型,而并不关心每次胜负到底意味着什么. 下面对这种模型及其“输赢分类”进行更详细的说明.
在每个回合后,各方对自己本轮攻防的“业绩”进行“保密的自评估”(该评估结果不告诉任何人,因此,其客观公正性就有保障,因为可以假定每个人不会“自己骗自己”,阿Q除外). 比如,一方(X)若认为本回合的攻防对抗中自己得胜,就自评估为X=1;若认为本回合自己失败,就自评估为X=0. 同理,在每个回合后,另一方(Y)对自己的“业绩”也进行“保密的自评估”:若认为本回合自己得胜,就自评估为Y=1;若认为本回合自己失败,就自评估为Y=0.
当然,每次对抗的胜负,绝不是由攻方或守方单方面说了算,但是,基于攻守双方的客观自评估结果,从旁观者角度来看,可以公正地确定如下一些输赢规则. 为减少冗余,只给出每个回合后,从X方角度看到的自评估输赢情况(对Y方,也可以有类似的规则. 为节省篇幅,不再重复了,因为实际上每个人都是攻守一体的).
1) “对手服输的赢”(在文献[2]中,也称为“真正赢”):此时双方的自评估结果集是{X=1,Y=0}∪{X=0,Y=0},即此时对手服输了(Y=0),哪怕自己都误以为未赢(X=0).
2) “对手的阿Q式赢”:此时双方的自评估结果集是{X=0,Y=1}∪{X=1,Y=1},即此时对手永远认为他赢了(Y=1),哪怕另一方并不认输(X=1).
3) “自己心服口服的输”(在文献[2]中,也称为“真正输”):此时双方的自评估结果集是{X=0,Y=1}∪{X=0,Y=0},即此时自己服输了(X=0),哪怕对手以为未赢(Y=0).
4) “自己的阿Q式赢”:此时双方的自评估结果集是{X=1,Y=0}∪{X=1,Y=1},即此时永远都认为自己赢了(X=1),哪怕另一方并不认输(Y=1).
5) “对手服输的无异议赢”:此时双方的自评估结果集是{X=1,Y=0},即攻方自评为“成功”,守方自评为“失败”(从守方角度看,这等价于“无异议的守方认输”).
6) “对手不服的赢”:此时双方的自评估结果集是{X=1,Y=1},即攻守双方都咬定自己“成功”.
7) “意外之赢”:此时双方的自评估结果集是{X=0,Y=0},即攻守双方承认自己“失败”.
8) “无异议的自己认输”:此时双方的自评估结果集是{X=0,Y=1},即攻方承认自己“失败”,守方自评为“成功”(从守方的角度看,这等价于“对手无异议的守方赢”).
上面的8种自评估输赢情况,其实可以分为两大类:其一,叫“独裁评估”,即损益情况完全由自己说了算(前面的4种情况,根本不考虑另一方的评估结果);其二,叫“合成评估”,即损益情况由攻守双方的盲自评估合成(后面的4种情况).
由于“合成评估”将攻守双方都锁定了,所以,其变数不大,完全可以根据攻防的自评估历史记录,客观地计算出来,而且,其概率极限范围也很平凡(介于0与1之间,而且还是遍历的),因此,它们没有理论研究的价值. 故,本文只考虑“独裁评估”的极限问题.
2 星状网络对抗的输赢次数极限所谓“星状网络对抗”意指,对抗的一方只有一个人,如星状图的中心点(X);对抗的另一方有许多人,如星状图的非中心点(Y1,Y2,…,Yn). 更形象地说,此时一群人要围攻一位武林高手,当然该武林高手也要回击那一群人. 为研究方便,假设这一群人彼此之间是相互独立的,他们只与武林高手过招,互相之间不攻击.
在文献[6]中,还遗留了一个未解决的难题:1攻多时的能力极限问题. 当时虽然将此问题等价地转化为了“广播信道的信道容量计算问题”,但是,由于该容量问题至今还是一个世界难题,所以,本小节以“1攻多”为例,一方面随便回答了“1攻多的黑客能力极限”等问题,另一方面为后面榕树网络(Banyan)和一般的麻将网络对抗的输赢次数极限研究做准备.
为了增强安全性,红客在建设网络系统时,常常建设一个甚至多个(异构)灾难备份恢复系统,一旦系统本身被黑客攻破后,红客可以马上启用备份系统,从而保障业务的连续性. 因此,在这种情况下,黑客若想真正取胜,他就必须同时攻破主系统和所有备份系统;否则,黑客就会前功尽弃. 这就是“一位黑客攻击多位红客”的实际背景,换句话说,只要有哪怕一个备份未被黑客攻破,那么,就不能算黑客真正赢. 当然,也许红客们并不知道是同一个黑客在攻击他们,所以,可假定红客们互不协同,彼此独立.
先考虑1个高手对抗2个战士的情形,然后再做推广.
设高手X=(X1,X2)想同时对抗2个战士Y1和Y2. 由于这2个战士是互为备份系统的守卫者,因此,高手必须同时把这2个战士打败,才能算真赢. 仍然假设:攻防各方采取“回合制”,并且每个“回合”后,各方都对本次的攻防结果给出一个“真心的盲自评”,由于这些自评结果是不告诉任何人的,所以有理由假设“真心的盲自评”是真实可信的,没必要做假.
分别用随机变量Y1和Y2代表第1个和第2个战士,他们按如下方式对自己每个回合的战果进行真心盲自评.
战士Y1对本回合防御盲自评为成功,则Y1=1;战士Y1对本回合防御盲自评为失败,则Y1=0.
战士Y2对本回合防御盲自评为成功,则Y2=1;战士Y2对本回合防御盲自评为失败,则Y2=0.
由于每个回合中,高手要同时攻击2个战士,所以用二维随机变量X=(X1,X2)代表高手. 为形象计,假定高手有两只手X1和X2,分别用来对付那2个战士. 他按如下方式对自己每个回合攻击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.
当然,每次对抗的胜负,绝不是由某个单方面说了算,但是,上述客观自评估结果,从旁观者角度来看,可以公正地确定如下一些输赢规则. 由于这时从任何一个战士(Y1或Y2)的角度来看,他面临的情况与“1对1的情况”完全相同,没必要再重复讨论,所以,下面只从高手X的角度来对“独裁评估”输赢次数的极限问题进行讨论.
首先看高手“真正赢”的情况,即高手X同时使战士Y1和Y2服输,即{Y1=0,Y2=0}. 由于Y1和Y2相互独立,所以,P(Y1=0,Y2=0)=P(Y1=0)P(Y2=0)= [P(X1=1,Y1=0)+P(X1=0,Y1=0)][P(X2=1,Y2=0)+P(X2=0,Y2=0)] = P(X1=Z1)P(X2=Z2),其中,随机变量Z1=(X1+Y1)mod 2,Z2=(X2+Y2)mod 2. 由于如下2个信道:①以X1为输入,Z1为输出,其信道容量记为C1;②以X2为输入,Z2为输出,其信道容量记为C2. 根据仙农编码极限定理[11]可知,P(X1=Z1)≤C1和P(X2=Z2)≤C2,而且这2个不等式还是可以达到的,于是P(Y1=0,Y2=0)≤C1C2. 因此,有如下定理.
定理1(1攻2的攻击能力极限定理) 在N个攻防回合中,1个高手最多能够同时把2个战士打败NC1C2次,而且一定有某种技巧,可以使高手达到该极限.
其实,定理1是下面定理2的特殊情况,之所以单独将其列出,是因为这个问题在文献[6]中未被解决.
在1对2情况下,所有可能的“独裁评估”有X1=a、X2=b、(X1,X2)=(a,b)、Y1=a、Y2=b、(Y1,Y2)=(a,b)、(X1,Y2)=(a,b)、(X2,Y1)=(a,b),这里a和b取值为0或1. 由于X1与X2相互独立,Y1与Y2相互独立,X1与Y2相互独立,Y1与X2相互独立,所以,仿照定理1的证明过程,可以得到:
定理2(独裁评估的极限) 在1个高手X=(X1,X2)同时攻击2个战士Y1和Y2的情况下,在N个攻防回合中,有如下极限,而且它们都是可以达到的极限.
1) {X1=a}最多出现NC1次,其中C1是以Y1为输入,以(X1+Y1+a)mod2为输出的信道容量.
2) {X2=b}最多出现NC2次,其中C2是以Y2为输入,以(X2+Y2+b)mod2为输出的信道容量.
3) {(X1,X2)=(a,b)}最多出现NC1C2次,其中C1和C2如1)和2)所述(此时,若a=b=1,则意味着“X既未被Y1打败,也未被Y2打败”,或者说“X成功地挡住了Y1和Y2的攻击”. 由于P(X1=0∪X2=0)=1-P(X1=1,X2=1)≥1-C1C2,所以,在N个回合的对抗中,X被打败至少N(1-C1C2)次. 这也是文献[6]中研究过的多攻1的特例).
4) {Y1=a}最多出现ND1次,其中D1是以X1为输入,以(X1+Y1+a)mod2为输出的信道容量.
5) {Y2=b}最多出现ND2次,其中D2是以X2为输入,以(X2+Y2+b)mod2为输出的信道容量.
6) {(Y1,Y2)=(a,b)}最多出现ND1D2次,其中D1和D2如4)和5)所述(此时,若a=b=0的特殊情况,就是定理1中的情况).
7) {(X1,Y2)=(a,b)}最多出现NC1D2次,其中C1和D2如1)和5)所述.
8) {(X2,Y1)=(a,b)}最多出现NE1E2次. 其中,E1是以Y2为输入,以(X2+Y2+a)mod2为输出的信道容量;E2是以X1为输入,以(X1+Y1+b)mod2为输出的信道容量.
现在将1对2的情况推广到1对多的星状网络攻防情况.
星状网络的中心点是高手X=(X1,X2,…,Xm),他要同时对抗m个战士Y1,Y2,…,Ym(他们对应于星状网的非中心点).
每个回合后,战士们对自己在本轮攻防中的表现,给出如下保密的不告知任何人的盲自评估:战士Yi若自评估自己打败了高手,则记Yi=1;否则,记Yi=0这里1≤i≤m.
每个回合后,高手X=(X1,X2,…,Xm)对自己在本轮攻防中的表现,给出如下保密的不告知任何人的盲自评估:若他在对抗Yi时得分为ai(这里ai=0时,表示自认为输给了Yi;否则,ai=1,即表示自己战胜了Yi),那么,就记Xi=ai,1≤i≤m. 这时,也可以形象地将高手看成“长了m只手:X1、X2、…、Xm”的大侠.
类似于定理2,有如下定理.
定理3(星状网络对抗的独裁极限) 在1个高手X=(X1,X2,…,Xm)同时对抗m个战士Y1,Y2,…,Ym的星状网络环境中,所有的独裁评估都可以表示为事件
而且,独裁评估的概率为P
换句话说,在星状网络的N次攻防对抗中,每个独裁事件
该定理的证明过程与定理1类似,只是注意到如下事实:从随机变量角度来看,当i≠j时,Xi与Yj相互独立,各Xi之间相互独立,各Yj之间也相互独立. 定理3其实也包含了文献[6]考虑的“1攻多”和“多攻1”的情况.
3 榕树网络(Banyan)对抗的输赢次数极限除了1对1的单挑、1对多的星状网络攻防之外,在真实的网络对抗中,还常常会出现集团之间的对抗情况,即由一群人(比如,北约集团X1,X1,…,Xn)去对抗另一群人(比如,华约集团Y1,Y2,…,Ym). 这里,北约集团的成员(X1,X1,…,Xn)之间不会相互攻击;同样,华约集团的成员(Y1,Y2,…,Ym)之间也不会相互攻击;北约(华约)的每一个成员,都会攻击华约(北约)的每一个成员. 因此,对抗的两个阵营,其实就形成了一个榕树网络(Banyan). 为研究简便,假定同一集团成员之间都是独立行事(各Xi之间相互独立,各Yi之间也相互独立),因为,如果某两个集团成员之间是协同工作的,那么就可以将他们视为同一个(融合)成员.
仍然采用回合制. 仍然假定在每个回合后,各成员都对自己在本轮对抗中的表现,给出一个真心的盲评价. 具体地说:
每个北约成员Xi(1≤i≤n)都长了m只手,即Xi=(Xi1,Xi2,…,Xim),当他自认为在本轮对抗中打败了华约成员Yj(1≤j≤m)时,就记Xij=1;否则,当他自认为在本轮对抗中输给了华约成员Yj(1≤j≤m)时,就记Xij=0.
同样,每个华约成员Yj(1≤j≤m)也都长了n只手,即Yj=(Yj1,Yj2,…,Yjn),当他自认为在本轮对抗中打败了北约成员Xi(1≤i≤n)时,就记Yji=1;否则,当他自认为在本轮对抗中输给了北约成员Xi(1≤i≤n)时,就记Yji=0.
类似于定理3,有如下定理.
定理4(榕树网络对抗的独裁极限) 在该榕树网络(Banyan)攻防环境中,所有的独裁评估事件都可表示为
换句话说,在榕树网络的N次攻防对抗中,每个独裁事件{
一个有n个终端的网络中,如果所有这些终端之间都相互攻击,就像打麻将时每个人都“盯上家,卡对家,打下家”一样,那么,这样的攻防场景就称为麻将网络攻防,或者更学术一些,叫作“全连通网络攻防”. 在实际情况中,这种攻防场景虽然不常见,但是偶尔还是会出现的. 为了学术研究的完整性,在此也来介绍一下.
在麻将网络中的n个战士,用X1,X2,…,Xn来表示. 每个战士Xi(1≤i≤n)都有n只手Xi=(Xi1,Xi2,…,Xin),其中,他的第j(1≤j≤n)只手(Xij)是用来对付第j个战士Xj的,而Xii这只手是用来保护自己的.
仍然假设他们的攻防是采用回合制,也仍然假设他们在每个回合后,都对本轮攻防的效果进行一次只有自己知道的评估. 即: 如果战士Xi自认为在本回合中打败了战士Xj(1≤i≠j≤n),那么,他就记Xij=1;否则,如果他认为输给了战士Xj,那么,他就记Xij=0. 说明:对Xii不做任何赋值,因为它对整个攻防不起任何作用,放在这里仅仅是使得相关公式整洁而已.
类似于定理4,有如下定理.
定理5(麻将网络对抗的独裁极限) 在麻将网络攻防环境中,所有的独裁评估事件都可表示为
《安全通论》以“建立网络空间安全的统一基础理论”为最高目标,并希望它能够适用于网络空间安全这个一级学科的所有分支. 可见,其难度相当大!
仙农是全世界几百年才出一个的神人,他仅凭一己之力,仅凭一篇论文就成功地建立了“信息通信工程学科的统一基础理论”:信息论. 恐怕其他人很难再如此神奇,至少老夫我肯定不行!
在整个IT界,几乎没有哪门学科的基础理论是由中国人建立的,国人最多只参与了一些局部工作,或者说只啃了一些吃力不讨好的硬骨头. 难道中国人真的就没能力创立核心的新学科?我不相信!但是,如果国人连创立新学科的欲望都没有的话,那肯定就没戏了!
横扫当今和可见将来的IT界,除了网络空间安全之外,好像还真没有什么别的机会了. 因为,诸如信息论、冯·诺依曼理论、电磁场理论等基础理论,都已经把相关的学科分支统一起来了,唯独网络空间安全的各个分支,到目前为止,还仍然只是一盘散沙,还亟须统一的基础理论!
没有仙农那样的天才,那么,我们能否“三个臭皮匠顶个诸葛亮”?!很难像仙农那样,用一篇论文“The Mathematical Theory of Communications”搞定《信息论》,那么,我们能否用一堆论文来搭建《安全通论》?!这就是我到处宣传《安全通论》,并甘当伯乐的原因. 我将在不断探索研究《安全通论》的同时,乐意为所有学者,特别是青年才俊,敞开大门,毫无保留地为大家服务,争取早日完善《安全通论》.
经过前段时间的宣讲,我收集到一些学者的相关疑问,现简要回答如下:
1) 问:《安全通论》存在吗?答:安全的核心是对抗,它也是一种特殊的博弈. 既然前人已经能够把广泛的博弈用很紧凑的《博弈论》给统一起来,那么,从理论上说,《安全通论》的“上界”是存在的,甚至它就是博弈论的某种精练. 当然,这种精练绝非易事!另一方面,从本文和已经发表的其他9篇文章文献[1-9],我们至少可以说,《安全通论》的“下界”也是存在的. 因此,只要大家一起努力,把“上界”不断压小,把“下界”不断增大,那么,紧凑的《安全通论》就一定能够建成.
2) 问:实际的网络攻防不是回合制呀?答:表面上,现实世界的网络攻防确实不是回合制!但是,设想一下,如果把时间进行必要的局部拉伸和压缩(这样做,对攻防各方来说,并无实质性的改变),那么,所有攻防也都可转化成回合制了. 况且,既然《博弈论》都是采用的回合制,那么,作为一种特殊的博弈,为什么安全对抗就不能是回合制呢?理论研究一定要建立相应的模型,一定要抛弃一些不必要的差异和非核心细节,否则,就只能做“能工巧匠”了. 采用什么制,并不重要. 重要的是,是否能够把所有安全分支给紧凑地统一起来.
3) 问:为什么你只考虑了对抗的输赢次数?答:我承认,对抗中的“输赢次数”只包含了部分输赢信息(比如,一次大赢可能胜过多次小输),但是,在没有能力揭示更多输赢信息的情况下,能“向前迈一步”总好过无所作为. 做科研,特别是创立一门新学科,只能步步逼近,至少,我没本事一步登天.
4) 问:《安全通论》完成后,对网络空间安全到底有什么具体的指导价值?答:关键看今后《安全通论》完成后,到底是什么样子. 也许它会是安全界的“信息论”,也许一钱不值. 但是,如果是后者,就说明网络空间安全根本就是“一堆扶不上墙的烂泥”,我不相信会出现这种情况. 当然,你若问我,今后到底如何用《安全通论》去指导安全的各个细枝末节,那么,我可以告诉你,仙农也不知道如何用《信息论》去指导电视机的生产.
5) 问:实际安全对抗中还有许多诸如模糊性、随机性等因素,你的《安全通论》中为什么没有考虑?答:首先,《安全通论》不是我的,我只是抛了块“砖”,来引各位的“玉”而已;其次,做研究,一定要有所为,有所不为. 只要不影响普适性,那么,能够简化的东西都要尽量简化,否则,搞得太复杂,就会无处下手,就很难建立一门紧凑的学科.
6) 问:至今,为什么你竟然没有用到《博弈论》?答:从研究《安全通论》的第一天开始,我就想把《博弈论》当成核心工具,可是,总是事与愿违!这也许有两方面原因:其一,《博弈论》真的不能简单地平移到网络安全对抗中来,虽然我花费了大量的精力和时间来专攻《博弈论》,研读了包括冯·诺依曼原著等在内的近两千页博弈论专著;其二,我的《博弈论》功底还不够深,没能从中找到打开《安全通论》的博弈论金钥匙. 因此,我真诚地欢迎博弈论专家,介入《安全通论》.
[1] | 杨义先, 钮心忻. 安全通论(1)之"经络篇". 见杨义先的科学网实名博客(http://blog.sciencenet.cn/blog-453322-944217.html). (0) |
[2] | 杨义先, 钮心忻. 安全通论(2):攻防篇之"盲对抗". 见杨义先的科学网实名博客(http://blog.sciencenet.cn/blog-453322-947304.html). (0) |
[3] | 杨义先, 钮心忻. 安全通论(3):攻防篇之"非盲对抗"之"石头剪刀布游戏". 见杨义先的科学网实名博客(http://blog.sciencenet.cn/blog-453322-948089.html). (0) |
[4] | 杨义先, 钮心忻. 安全通论(4):攻防篇之"非盲对抗"之"童趣游戏". 见杨义先的科学网实名博客(http://blog.sciencenet.cn/blog-453322-949155.html). (0) |
[5] | 杨义先, 钮心忻. 安全通论(5):攻防篇之"非盲对抗"收官作及"劝酒令". 见杨义先的科学网实名博客(http://blog.sciencenet.cn/blog-453322-950146.html). (0) |
[6] | 杨义先, 钮心忻. 安全通论(6):攻防篇之"多人盲对抗". 见杨义先的科学网实名博客(http://blog.sciencenet.cn/blog-453322-954445.html). (0) |
[7] | 杨义先, 钮心忻. 安全通论(7):黑客篇之"战术研究". 见杨义先的科学网实名博客(http://blog.sciencenet.cn/blog-453322-956051.html). (0) |
[8] | 杨义先, 钮心忻. 安全通论(8):黑客篇之"战略研究". 见杨义先的科学网实名博客(http://blog.sciencenet.cn/blog-453322-958609.html). (0) |
[9] | 杨义先, 钮心忻. 安全通论(9):红客篇. 见杨义先的科学网实名博客(http://blog.sciencenet.cn/blog-453322-960372.html). (0) |
[10] | Drew Fudenberg, Jean Tirole. 博弈论[M]. 北京: 中国人民大学出版社 , 2016 . (0) |
[11] | Thomas M Cover, Joy A Thomas. 信息论基础[M]. 北京: 机械工业出版社 , 2007 . (0) |