杨义先 钮心忻
编者按:网络空间安全作为一项新的全球治理议程,已经成为世界关注的焦点、各国政府的战略目标之一,但人们对网络空间安全的研究,还缺乏全面系统的理论指导,针对该问题,我刊特转载自《科学网》一篇由北京邮电大学杨义先、钮心忻教授编写的《安全通论——攻防篇之“盲对抗”》(原文网址:http://blog.sciencenet.cn/blog-453322-947304.html)。在该文章中,给出了黑客攻击能力和红客防御能力的可达理论极限,并巧妙地构造了一个随机变量Z =(X+Y )mod2,将一次真正成功的攻防问题,等价地转换成了攻击信道(X ;Z ),同时恰到好处地应用了看似并不相关的仙农编码定理。
摘要:精确地给出了黑客攻击能力和红客防御能力的可达理论极限。对黑客来说,如果他想真正成功地把红客打败k次,一定有某种技巧,使他能够在k /C次进攻中,以任意接近1的概率达到目的;如果黑客经过n次攻击,获得了S次真正成功,那么一定有S ≤nC。对红客来说,如果他想真正成功地把黑客挡住R次,一定有某种技巧,使得他能够在R /C次防御中,以任意接近1的概率达到目的;如果红客经过n次防卫,获得了R次真正成功,一定有R ≤ND。这里C和D分别是攻击信道和防御信道的信道容量。如果C
关键词:黑客;红客;进攻;防御;信道
Abstract:In this paper, the limit theory of hacker attack ability and honker defense ability is given. If a hacker wants to beat a honker K times, there must be some skills, so that he can achieve the purpose with probability arbitrarily close to 1 in the k /C times offensive. If a hacker achieves S successes after n attacks, there must be S ≤nC. If a honker wants to defend against a hacker R times, there must be some skills, so he can achieve the purpose with probability arbitrarily close to 1 in the k /C times defensive; If a honker achieve n times real success after n times defensive, there must be R ≤ND. C and D respectively represent the channel capacity of offensive channel and defensive channel. If C
Key words:hacker; honker; offensive; defensive; channel
1 盲对抗场境
攻防是安全的核心,特别是在有红黑双方对抗的场景下(比如,战场、公安、网络安全等),攻防几乎就等于安全。所以,在安全通论的建立过程中,我们将花费更多的篇幅来研究攻防问题。但是,长期以来,人们并未对攻防场景进行过清晰的整理,再加上攻防一词经常被滥用,从而导致攻防几乎成了一个只能意会不能言传的名词,当然就更无法对攻防进行系统的理论研究了。
因此,为了开始我们的研究,必须首先理清攻防场景。更准确地说,下面我们只考虑无裁判的攻防,因为像日常看到的诸如拳击比赛等有裁判攻防的体育项目,并不是真正的攻防。在攻防系统中,只有攻方和守方这两个直接利益相关方(虽然有时涉及的人员会超过两个),但绝没有利益无关的第三方。所以,对攻防结果来说,吹哨的裁判员其实是干扰,是噪音,而且还是主观的噪音,因此必须要去除。
无裁判攻防又可以进一步分为两大类:盲攻防、非盲攻防。所谓盲攻防,指每次攻防后,双方都只知道自己的损益情况,而对另一方却一无所知,比如,大国博弈、网络攻防、实际战场、间谍战、泼妇互骂等都是盲攻防的例子;非盲攻防,指每次攻防后,双方都知道本次攻防的结果,而且还一致认同这个结果,比如,石头剪刀布游戏、下棋、炒股等都是非盲攻防的例子。一般来说,盲对抗更血腥和残酷,而非盲对抗的娱乐味更浓。在文章中,我们只考虑盲攻防[1]。
为了更形象地说明,下面我们仍然借用拳击的术语来介绍盲攻防系统。当然,这时裁判已经被赶走,代替裁判的是无所不知的上帝。
攻方(黑客)是个神仙拳击手,永远不知累,他可用随机变量X来表示。黑客每次出击后,都会对自己的本次出击给出一个真心盲评价(比如,自认为本次出击成功或失败,当自认为本次出击成功时,记为X=1;当自认为出击失败时,记为X=0),但是,他绝不将这个真心盲评价系统告诉任何人。此处,之所以假定攻方(黑客)的盲自评要对外保密,是因为我们可以因此认定他的盲自评是真心的,不会也没有必要弄虚作假。
守方(红客)也是个神仙拳击手,他也永远不知累,可用随机变量Y来表示。红客每次守卫后,也都会对自己的这次守卫给出一个真心盲评价(比如,自认为本次守卫是成功或失败,当自认为守卫成功时,记为Y=1;当自认为守卫失败时,记为Y=0)。这个评价也仍然绝不告诉任何人。同样,之所以要假定红客的盲自评要对外保密,是因为我们可以因此认定他的自评是真心的,不会也没有必要弄虚作假。
裁判员虽然被赶走了,但是我们却把上帝请来了。不过,上帝只是远远地呆在凌霄宝殿看热闹,他知道攻守双方心里的真实想法,因此也知道双方对每次攻防的真心盲自评,于是他可将攻守双方过去N次对抗的盲自评结果记录下来:(X,Y)=(X1,Y1)、(X2,Y2)、…、(XN,YN)。
足够长的时间之后,上帝看够了,便叫停攻守双方。让他们分别对擂台进行有利于自己的秘密调整,当然某方(或双方)也可以放弃本次调整的机会,如果他(他们)认为当前擂台对自己更有利的话。这里,所谓的秘密调整,指双方都不知道对方做了些什么调整。比如,针对网络空间安全对抗,也许红客安装了一个防火墙,也许黑客植入了一种新的恶意代码等;针对阵地战的情况,也许攻方调来了一去增援部队,也许守方又埋了一批地雷等。
总之,攻守双方调整完成后,双方又在新的擂台上,再开始下一轮的对抗。
不过,我们不研究攻守双方的下一轮对抗,只考虑当前轮,即由上面的X、Y、(X,Y)等随机变量所组成的系统。
至此,盲攻防场景的精确描述就完成了。可见,网络战、间谍战、泼妇互骂等对抗性很惨烈的攻防,都是典型的盲对抗。
2 黑客攻击能力极限
根据第1节中的随机变量X和Y,上帝再新造一个随机变量Z=(X+Y)mod2。由于任何两个随机变量都可以组成一个通信信道,所以我们把X作为输入,Z作为输出,上帝便可构造出一个通信信道F,我们称之为攻击信道。
另一方面,如果有1 bit信息被成功地从发端(X)传到了收端(Z),那么要么是“X=0,Z=0”,要么是“X=1,Z=1”。由于Y=(X+Z)mod2,所以由“X=0,Z=0”推知“X=0,Y=0”;由“X=1,Z=1”推知“X=1,Y=0”。而“X=0,Y=0”意味着攻防本次盲自评为失败∩守方本次盲自评为失败;“X=1,Y=0”意味着攻方本次盲自评为成功∩守方本次盲自评为失败;综合起来就意味着攻方获得某次攻击的真正成功。
简而言之,我们可以知道:如果黑客的某次攻击真正成功,那么攻击信道F就成功地传输1 bit到收端;如果有1 bit被成功地从攻击信道F的发端,传送到了收端,那么黑客X就获得了一次真正成功攻击。
引理1:黑客获得一次真正成功的攻击,其实就对等于攻击信道F成功地传输了1 bit。
根据仙农信息论的著名《信道编码定理》[2]:如果信道F的容量为C,那么对于任意传输率k/n≤C,都可以在译码错误概率任意小的情况下,通过某个n bit长的码字,成功地把k bit传输到收信端;如果信道F能够用n长码字,把S bit无误差地传输到收端,那么,一定有S≤nC。
定理1(黑客攻击能力极限定理):设由随机变量(X;Z)组成的攻击信道F的信道容量为C。那么:如果黑客想真正成功地把红客打败k次,一定有某种技巧(对应于仙农编码),使得他能够在k/C次攻击中,以任意接近1的概率达到目的;如果黑客经过n次攻击,获得了S次真正成功的攻击,一定有S≤nC。
由定理1可知:只要求出攻击信道F的信道容量C,那么黑客的攻击能力极限就确定了。
下面我们需要计算出F的信道容量C。
利用此I(Y, Z)可知:以Y为输入,Z为输出的防御信道G的信道容量D就等于Max[I(Y, Z)](这里最大值是针对Y为所有可能的二元离散随机变量来计算的)或者更简单地说,容量D等于Max0 4 攻守双方的实力比较 由于信道容量是在传信率k/n保持不变的情况下,系统所能够传输的最大信息比特数,而每成功传输1 bit,就相当于攻方的一次攻击真正成功(或守方的一次防守真正成功),所以从宏观的角度来看,我们可以推导出定理3。 定理3(攻守实力定理):设C和D分别表示攻击信道F和防御信道G的信道容量,如果C 我们需要注意到:攻击信道的容量C,其实是q的函数,所以可以记之为C(q);同理,防御信道的容量D是p的函数,可以记之为D(p)。由此,在盲对抗中,红黑双方可以通过对自己预期的调整,即改变相应的概率分q和p,从而改变C(q)和D(p)的大小,并最终提升自己在盲对抗中的胜算情况。换句话说,我们证明了一个早已熟知的社会事实,即定理4。 定理4(知足常乐定理):在盲对抗中,黑客(或红客)有两种思路来提高自己的业绩,或称为“幸福指数”。增强自身的相对打击(或抵抗)力,即增加b和d(或c和a);降低自己的贪欲,即增加p(或q)。但是,需要注意你可能无法改变外界,即调整b和d(或c和a),但却可以改变自身,即调整p(或q)。由此可见:知足常乐是盲对抗中的一个真理。 5 结束语 我们的诀窍有两点:巧妙地构造了一个随机变量Z=(X+Y)mod2,并将一次真正成功的攻防问题,等价地转换成了攻击信道(X;Z)(或者防守信道(Y;Z))的1 bit成功传输问题;恰到好处地应用了看似风马牛不相关的仙农编码定理。以上两点,任缺一项,就不会找到让“黑客悟空”永远也跳不出去的“如来手掌”。 参考文献 [1] THOMAS M C, THOMAS J A.信息论基础[M]. 阮吉寿, 张华, 译. 北京:机械工业出版社出版, 2007 [2] SHU L, DANIEL J C. 差错控制编码[M]. 晏坚, 何元智, 潘亚汉, 等译. 北京:机械工业出版社出版, 2007