||
刷新你的安全观念
------《安全通论》之科普篇
杨义先教授
北京邮电大学信息安全中心主任
杨漆匠我来也~~!
今天刷什么?刷观念!
观念重要吗?很重要!因为,连爱因斯坦都说:“不改变制造问题的那些观念,就无法解决问题!”观念正确,事半功倍。观念若错,那么,能力越强,工作越努力,谬之越远!
为什么要刷安全观念?因为,至今,国内外网络空间安全界的许多观念,要么是错误的,要么是片面的。为简捷计,下面所说的“安全”指是网络空间安全(学科用语)、网络安全(管理用语)和信息安全(产业用语)等。
如何刷新安全观念?请听俺徐徐道来!
以下新观念,都是《安全通论》中经过严格数学证明的结论,所以,本文其实就是《安全通论》的科普篇。有特殊兴趣的读者,可阅读《安全通论》的相关论文[1-9],以便了解全貌。当然,若听吾计,用之必胜,留之;若不听吾计,用之必败,去之。
(一)第一刷子:安全到底有几个状态?
一说起网络空间安全,特别是信息战等残酷斗争,全世界的安全专家马上想到的就是“你死+我活”或“水涨+船高”或“魔高一尺+道高一丈”等等。总之,都认为“安全就是零和”,只有“二状态”。但是,该观念是错误的!
这一错误观念导致的严重后果将是:敌我双方不惜耗费大量的人力、物力和财力等,永远无休止地“兵来将挡”或“水来土掩”,于是,将永远没有最后的赢家,直到最终把大家都“累死”。
其实,只要冷静地想一想就会明白:在“打败对方”和“争取自己利益最大化”这两者之间,信息战的真正目的,显然是后者;而一旦陷入情绪化,就很可能误选前者,“故杀敌者,怒也;取敌之利者,货也”。正如孙子所曰:“夫用兵之法,全国为上,破国次之;全军为上,破军次之;全旅为上,破旅次之;全卒为上,破卒次之;全伍为上,破伍次之。…故善用兵者,屈人之兵而非战也,拔人之城而非攻也,毁人之国而非久也,必以全争于天下,故兵不顿,而利可全”。
既然信息战的真正目标清楚了,那么,安全对抗的重点,就应该转移到“如何争取己方利益最大化”而不是“置对手于死地而后快”,即,合于利而动,不合于利而止。
非常幸运的是,《安全通论》严格证明了如下定理:
安全对抗的纳什均衡存在性定理:针对任何有限系统(即,攻防终端数目有限、攻防用户数有限、攻防手段数目有限。因此,现实中的所有网络系统,其实都是有限系统),无论各方的损益函数怎么定义,红客和黑客之间的安全对抗都一定存在纳什均衡。
什么是纳什均衡呢?形象地说,当达到这个“纳什均衡状态”后,对抗的各方所获利益都已经最大化,因此,他们都不愿意打破这个平衡,更不愿意因为自己的蠢动而自食其果。比如,当今世界核大国之间的核武器竞争,就已经达到了“纳什均衡状态”,任何一方都可以把另一方毁灭一次以上,因此,“利益最大化的行动”就是不行动!大家都小心翼翼地维持着这种平衡,“非利不动,非得不用,非危不战”。
因此,错误的安全“二状态观念”被刷新后,就成为“三状态新观念”。即,网络空间安全有“水涨+船高+纳什均衡”三个状态!
这一刷新有价值吗?有,太有价值了!比如,中国在未来信息战中的策略可能需要做重大调整,因为,除非针对特别弱小的对手,我们可以对其“攻城略地”;而面对强大的对手,我们就不宜与其“针尖对麦芒”,而应该以追求“纳什均衡状态”为主要目标!毕竟,与世界先进国家相比,我国在信息基础设施(核心芯片、基础软件、高新技术等)方面,都处于被动状态,硬拼必吃亏。
虽然到目前为止,网络攻防对抗还从未出现过“纳什均衡状态”(这也许就是它被全球安全界忽略的原因吧),但是,理论上它是存在的,我们可以通过不懈努力,尽可能地逼迫对手达成“纳什均衡状态”,从而,争取我方利益最大化,代价最小化。
虽然,单枪匹马的杨漆匠我,没本事告诉你,到底如何才能达到网络攻防的“纳什均衡状态”,但是,只要目标明确,总能找到最有效的办法。其实,从古至今,弱国逼迫强国达成“纳什均衡状态”的先例非常多,比如,“互相质押皇太子”就是一种,几乎零成本的,达到“纳什均衡状态”的妙法。
(二)第二刷子:追求局部绝对安全对吗?
嘴巴上好像大家都知道“安全是整体的,不是割裂的;动态的,不是静态的;开放的,不是封闭的;相对的,不是绝对的;共同的,不是孤立的”,但是,真正落实到行动时,就全给忘了,最典型的反例之一就是:与全体网民为敌的随意删贴和封号!当然,本文不讨论时政,只研究纯理论,而且只研究与意识形态等无关的纯理论,也不分析反例们如何违反了《孙子兵法》中的众多经典策略,比如:攻城为下,攻心为上。…令民与上同意也,故可以与之死,可以与之生,而不畏危。…百战百胜,非善之善者也;不战而屈人之兵,善之善者也。…乱生于治,怯生于勇,弱生于强。…善战者,求之于势,不责于人,故能择人而任势。…敌虽众,可使无斗。穷寇勿迫等等。
根据《安全通论》的红客篇(见[9]),我们知道:维护网络安全的手法虽然很多(包括但不限于:技术措施、管理规章、法律保障、培训教育等等),但是,它们的真正目的,其实只有一个,即,最佳情况是促使网络系统的“不安全熵”减少,次之是维持“不安全熵”不增加,再次之是阻止“不安全熵”快速增加。但是,在实际操作中,常被“专家”和领导们倚重的许多办法,却是最笨的办法,也是最帮倒忙的办法,因为,这些办法或者“以局部的不安全熵的减小,激发了全局不安全熵的大幅度增加”或者“以暂时的不安全熵的减小,激发了长期不安全熵的大幅度增加”或者“以封闭性不安全熵的减小,激发了开放性不安全熵的大幅度增加”或者“为追求绝对安全,却激发了系统不安全熵的大幅度增加”或者“为追求孤立的安全,却激发了共同的不安全熵的大幅度增加”等等。因此,从《安全通论》的理论上说,判断某种网络安全保障措施是否正确的唯一标准,是“它将引起系统的不安全熵向哪个方向发展”,而绝不是“执行者的初衷是否善意”或者“某些领导或组织是否高兴”等主观标准。如果明知某些措施会大幅度增加“不安全熵”,但却仍然长期滥用的话,不排除有人在搞“高级黑”。
虽然如下定理有点生僻,但是,为了严谨性,我还是想做些叙述:
有限系统“不安全熵”趋势定理:设有限网络系统的全部不安全因素为q1,q2,…,qn,记t时刻系统的不安全熵为Q(t,q1,q2,…,qn)或者简记为Q(t)。当Q(t)=0时,系统的熵达到最小值,此时系统的安全性就达到最大值。当然,一般情况下,熵总是正数。若Q(t)随时间而增长,即微分dQ(t)/dt>0,那么,系统将变得越来越不安全;反之,若Q(t)随时间而减少,即微分dQ(t)/dt<0,那么,系统将变得越来越安全。这里系统的“不安全熵”定义为Q(t,q1,q2,…,qn)=∑ni=1pilog(1/pi),而pi是不安全因素qi发生的概率,1≤i≤n。
对每个i(i=1,2,…,n),记Q(t,qi)(更简单地Qi(t)或Qi)为在“只存在不安全因素qi”的条件下,在t时刻,系统的“不安全熵”。那么,各个Qi(t)的时变情况便可以用如下n个微分方程(称为方程组1)来描述:
dQ1/dt=f1(Q1,Q2,…,Qn)
dQ2/dt=f2(Q1,Q2,…,Qn)
……..
dQn/dt=fn(Q1,Q2,…,Qn)
这里,任何一个Qi的变化都是所有其它各Qj(j≠i)的函数;反过来,任一Qi的变化也承担着所有其它量和整个方程组1的变化。虽然在一般情况下,很难精确求解方程组1,但是,探讨一些特殊情况,还是很有启发意义的,比如:
静态情况:如果各个Qi不随时间而变化,即,dQi/dt=0,i=1,2,…,n(或者说f1(Q1,Q2,…,Qn)=f2(Q1,Q2,…,Qn)=…=fn(Q1,Q2,…,Qn)=0),那么,此时系统的“不安全熵”就处于静止状态,即系统的安全性既不变坏,也没有变得更好。如果从系统刚刚投入运行开始(即,t=0),红客就能够维护系统,使其“不安全熵”永远处于静止状态,那么,这样的红客就是成功的红客!
动态情况1):如果方程组1的解中,所有的特征根都是实数且是负数,那么,红客正在节节胜利,因为,“不安全熵”变化率趋于0意味着:各个不安全因素正被逐步控制,系统的秩序也正在恢复之中!
动态情况2):如果方程组1的解中,所有的特征根都是复数且负数在其实数部分,那么,红客也正在节节胜利中!
动态情况3):如果方程组1的解中,有一个特征根是正数或0,那么,系统的平衡就不稳定了,即,系统的安全性也不稳定了,红客就有可能失控。
动态情况4):如果方程组1的解中,有一些特征根是正数和复数,那么,系统中就包含着周期项,此时,系统的安全状态会出现周期性的振动,即,会出现红客与黑客之间的反复“拉锯战”,虽然双方会各有胜负,但是,总体趋势是向着对红客不利的混乱和不安全方向发展。
当然,有限网络系统的“不安全熵”发展态势,绝不止以上几种情况,但是,该定理确实给我们描述了有价值的安全态势图,有助于避免具体决策时的战略性错误,有助于决策者的“神机庙算”,毕竟“夫未战而庙算胜者,得算多也;未战而庙算不胜者,得算少也。多算胜,少算不胜,而况于无算乎!”
(三)第三刷子:什么是安全?
若问什么是安全,你也许会马上想到查字典,但是,非常遗憾地告诉你:到现在为止,无论是通过字典、谷歌、百度等方法获得的安全定义,都是片面的,至少不是普适性的。现在就用《安全通论》的经络篇(见[1])来揭示,到底什么才是安全的完整定义。
首先,“安全”是一个很主观的概念,与“角度”密切相关。同一个事件,对不同的人,从不同的角度来说可能会得出完全相反的结论。所以,研究“安全”,必须只锁定一个角度,比如,“我”的角度。
其次,“安全”是一个与时间密切相关的概念。同一个系统,在昨天安全,绝不等于今天也安全;同样,在今天安全,也绝不等于明天就安全。当然,一个“在昨天不安全”的系统,今天也不会自动变为安全。为清楚计,研究“安全”时,只考虑时间正序流动的情况,即,立足当前,展望未来。
还有,“安全”是一个与对象密切相关的概念。若A和B是两个相互独立的系统,若我们只考虑A系统的安全,那么,B系统是否安全就应该完全忽略。
有了上述陈清后,《安全通论》在研究“安全”时,只锁定一个有限系统(即,该系统由有限个“元件”组成)并严格证明了如下结论:
“不安全性”遵从热力学第二定律:有限系统的“不安全”概率总是会越来越大,而不会越来越小(除非有外力,比如,采取了相应的安全加固措施等);或者说“安全”与“信息”一样都是负熵。
有限系统“不安全素事件”分解定理:有限系统的“不安全事件集”总可分解为:B1∪B2∪…∪Bm,这里对任意的i和j(i,j=1,2,…,m)都有Bi是“不安全素事件”并且Bi∩Bj=ø(空集)。这里,哪个事件算“不安全事件”,完全由“我”决定。若设Z是一个“不安全事件”,并且存在另外两个“不安全事件”X和Y(它们都是Z的真子集),同时满足如下两个条件:1)X∩Y=ø(空集);2)Z=X∪Y。那么,就说“不安全事件”Z是可分解的。此时X和Y都是Z的子事件。如果某个“不安全事件”是不可分解的(即,它的所有真子集都不再是“不安全事件”了),那么,就称该事件为“不安全的素事件”。
根据“不安全素事件”分解定理,我们可得如下,
分而治之定理:任何有限系统A的“不安全事件”集合,都可以分解成若干个彼此互不相容的“不安全素事件”:B1、B2、…、Bm。使得只需要对每个Bi(i=1,2,…,m)进行独立加固,即减小事件Bi发生的概率P(Bi),那么,就可以整体上提高系统A的安全强度,或者说整体上减少系统A的“不安全”概率。
该分而治之定理就回答了前面的“热平衡”问题,即,有限系统A的“不安全”状态,将最终稳定成一些彼此互不相容的“不安全素事件”之并。
该定理对网络空间安全界的启发意义在于:过去那种“头痛医头,足痛医足”的做法虽然值得改进;但也不能盲目地“头痛医足”或“足痛医头”,而是应该科学地将所有安全威胁因素,分解成互不相容的一些“专科”(B1、B2、…、Bm),然后,再开设若干“专科医院”来集中精力“医治”相应的病症(即,减小P(Bi))。
专科医院也是要分门诊部的,同样,针对上述的每个“不安全素事件”Bi也可以再进一步地进行分解,并最终得到系统A的完整“安全经络图”,于是,便找到了某些“头痛医足”的依据,甚至给出“头痛医足”的办法。
该安全经络树揭示了如下事实:
1)如果系统A不安全了,那么,至少有某个“不安全素事件”(甚至可能是“元诱因”(穴位))发生了(见经络树的第二层);
2)如果某个“不安全素事件”发生了,那么,该事件的至少某个“素诱因”(甚至可能是“元诱因”(穴位))就发生了(见经络树的第三层);
……
K)如果某个“第k-1步素诱因”发生了,那么,该它的至少某个“第k步素诱因”(甚至可能是“元诱因”(穴位))就发生了(见经络树的第k+1层);
好了,现在就清楚,该如何“头痛医足”了:实际上,只要系统A“病”了,那么,就一定能够从系统A的完整经络图中,找出某个“生病的子经络图”M,使得1)M的每层“素诱因”或“元诱因”(穴位)都是“病”的;2)除了M之外,系统A的经络图的其它部分都没病。于是,为了治好该“病”,只需要将M中的所有“元诱因”(穴位)的“病”治好就行了,或形象地说,只需要对这些“元诱因”(穴位)扎针灸就行了。(说明:这里某个第k步诱因病了,意指它的至少一个“第k+1步诱因”发生了。而如果某个第k步诱因的全部第k+1步诱因都没有发生,那么,这个第k步诱因就没病!可见,除了“元诱因”(穴位)之外,M中的其它非元诱因是可以自愈的!)
更具体地说,“头痛医足”的过程是:首先将最底层,比如第N层,的“元诱因”(穴位)治好,于是,第N-1层的“素诱因”就自愈了;然后,再扎针灸治好第N-1层的“元诱因”(穴位),于是,第N-2层的“素诱因”就自愈了;然后,再扎针灸治好第N-3层的“元诱因”(穴位),……,如此继续,最终到达顶层,就行了。
“经络图”的用途显然不仅仅是用来“头痛医足”,它还有许多其它重要应用,比如:
1)只要守住所有相关的“元诱因”(穴位),那么,系统A就安然无恙。即,善守者,藏于九地之下,…守而必固者,守其所不攻也。…善守者,敌不知其所攻。…故形人而我无形,则我专而敌分。我专为一,敌分为十,是以十攻其一也,则我众而敌寡;能以众击寡者,则吾之所与战者,约矣。吾所与战之地不可知,不可知,则敌所备者多;敌所备者多,则吾所与战者,寡矣。
2)同理,只要将所有炮火瞄准相关“元诱因”(穴位),那么,就能够稳准狠地打击对手。即,善攻者,动于九天之上,故能自保而全胜也。…攻而必取者,攻其所不守也;故善攻者,敌不知其所守;…故知战之地,知战之日,则可千里而会战。…知彼知己,胜乃不殆;知天知地,胜乃不穷。
3)除了元诱因(穴位)之外,经络图中平均概率值大的“经络”是更脆弱的经络(即,安全“木桶原理”中的短板),也是在系统安全保障中,需要重点保护的部分;同时,也是攻击过程中重点打击的部分。即,所谓古之善用兵者,能使敌人前后不相及,众寡不相恃,贵贱不相救,上下不相收,卒离而不集,兵合而不齐。
4)平时就可绘制和补充经络图,在关键时刻就可以排上用场了!即,故善动敌者,形之,敌必从之;予之,敌必取之。以利动之,以卒待之。…知可以战与不可以战者胜;识众寡之用者胜。
特别提醒:我们虽然证明了有限系统的“安全经络图”是存在的,但是,并未给出如何针对具体的系统,来绘制其安全经络图,估计未来的学者们也不得不花费巨大的精力,针对具体系统来绘制具体的经络图。绘制经络图绝非易事,想想看,为了绘制人体经络图,中医界的祖先们奋斗了数千年!因此,别指望在短期内就绘制出“网络空间安全经络图,虽然该图肯定存在。
(四)第四刷子:什么是攻防?
若问什么是攻防?你也许会笑着反问道:几千年来,人类战争就在不断地攻防,《孙子兵法》都倒背如流了,难道还不清楚!确实,你真的不清楚!你所能够罗列的攻防,都只是“树木”,而不是“森林”;而且,攻防的许多奥妙还真的不为人知。
“攻防”是“安全”的核心,特别是在有红黑双方对抗的场景下,“攻防”几乎就等于“安全”。但过去,人们并未对攻防场景进行过清晰的整理,再加上“攻防”一词经常被滥用,从而导致“攻防”几乎成了一个“只能意会不能言传”的名词,当然就更无法对“攻防”进行系统的理论研究了。
《安全通论》将“攻防”分为两大类:盲攻防、非盲攻防(见[2])。
所谓“盲攻防”,意指每次攻防后,双方都只知道自己的损益情况,而对另一方却一无所知;比如,大国博弈、网络攻防、实际战场、间谍战、泼妇互骂等都是“盲攻防”的例子。
所谓“非盲攻防”,意指每次攻防后,双方都知道本次攻防的结果,而且还一致认同这个结果;比如,石头剪刀布游戏、下棋、炒股等都是“非盲攻防”的例子。一般来说,“盲对抗”更血腥和残酷,而“非盲对抗”的娱乐味更浓。因此,《安全通论》的研究重点是“盲对抗”,同时,随便研究“非盲对抗”(见[3-5])。
黑客与红客之间的“非盲对抗”是没有纳什均衡的,因为,一方只要知道另一方的博弈策略后,他就一定能够通过调整自己的战略而获胜。但是,“盲对抗”则存在纳什均衡。
为形象计,我们借用拳击的术语来介绍“盲攻防”系统:
攻方(黑客)是个神仙拳击手,永远不知累,他可用随机变量X来表示。他每次出击后,都会对自己的本次出击给出一个“真心盲评价”(比如,自认为本次出击成功或失败。当自认为本次出击成功时,记为X=1;当自认为出击失败时,记为X=0),但是,这个“真心盲评价”他绝不告诉任何人,只有他自己才知道!此处,之所以假定“攻方(黑客)的盲自评要对外保密”是因为,我们可以因此认定他的盲自评是真心的,不会也没有必要弄虚作假。
守方(红客)也是个神仙拳击手,他也永远不知累,可用随机变量Y来表示他。红客每次守卫后,也都会对自己的这次守卫给出一个真心盲评价(比如,自认为本次守卫是成功或失败。当自认为守卫成功时,记为Y=1;当自认为守卫失败时,记为Y=0)。这个评价也仍然绝不告诉任何人,只有红客自己才知道!同样,之所以要假定“红客的盲自评要对外保密”是因为,我们可以因此认定他的自评是真心的,不会也没有必要弄虚作假。
这里“盲评价”的“盲”,主要意指双方都不知道对方的评价,而只知道自己的评价,但是,这个评价却是任何第三方都不能“说三道四”的。
直观感觉是,攻防双方中,一方可以无限度地完胜另一方。但是,出人意料的是,《安全通论》却严格地证明了一些不可超越的理论极限。
攻防能力极限定理([2]):设攻方和守方的盲自评分别为随机变量X和Y;设Z=(X+Y)mod2。则有,
若由随机变量(X;Z)组成的“攻击信道”F的信道容量为C。那么,1)如果黑客想“真正成功”地把红客打败k次,那么,一定有某种技巧(对应于仙农编码),使得他能够在k/C次攻击中,以任意接近1的概率达到目的。反过来,2)如果黑客经过n次攻击,获得了S次“真正成功”的攻击,那么,一定有S≤nC。
若由随机变量(Y;Z)组成的“防御信道”G的信道容量为D。那么,1)如果红客想“真正成功”地把黑客挡住R次,那么,一定有某种技巧(对应于仙农编码),使得他能够在R/D次防御中,以任意接近1的概率达到目的。反过来,2)如果红客经过N次守卫,获得了R次“真正成功”的守卫,那么,一定有R≤ND。
谁都知道“兵不厌诈”!孙子也曰:“兵者,诡道也。故能而示之不能,用而示之不用,近而示之远,远而示之近;利而诱之,乱而取之,实而备之,强而避之,怒而挠之,卑而骄之,佚而劳之,亲而离之。攻其无备,出其不意”。但是,如下“实力对比定理”却能够确保你不被对方所诈,因为,你能够一眼看穿他的真正实力!
攻守实力对比定理([2]):设C和D分别表示“攻击信道”F和“防御信道”G的“信道容量”,那么,如果C<D,那么,整体上黑客处于弱势;如果C>D,那么,整体上红客处于弱势;如果C=D,那么,红黑双方实力相当,难分伯仲。
由该实力对比定理可知,通过调节已方信道的容量,使其大于对方的信道容量,便可以从宏观上把控成败,即,
知足常乐定理([2]):在“盲对抗”中,黑客(或红客)有两种思路来提高自己的业绩,或称为“幸福指数”:其一,增强自身的相对打击(或抵抗)力;其二,降低自己的贪欲。但是,请注意,你可能无法改变外界(对手),但却可以改变自身。由此可见,“知足常乐”不仅仅是一个成语,而且也是“盲对抗”中的一个真理。
到此,我们只研究了“攻”与“守”单挑的情形,即,一个黑客攻击一个红客。但是,在网络空间安全对抗中,还会经常出现“群殴”事件,特别是多位黑客攻击一位红客;一个黑客攻击多位红客;黑客借助跳板来攻击红客;在有间谍协助时,黑客攻击红客等(见[6])。当然,为了突出重点,仍然只涉及“盲对抗”。
为直观计,先考虑2个黑客攻击一个红客的情形,然后,再做推广。设黑客X1和X2都想攻击红客Y,并且两个黑客互不认识,甚至可能不知道对方的存在,因此,作为随机变量,可以假设X1和X2是相互独立的。
仍然假设:攻防各方采取“回合制”,并且,每个“回合”后,各方都对本次的攻防结果,给出一个“真心的盲自评”,由于这些自评结果是不告诉任何人的,所以,有理由假设“真心的盲自评”是真实可信的,没必要做假。
分别用随机变量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;
与“单挑”情形类似,这里也存在如下极限定理,
二攻一时红客的防御能力极限定理:设两个黑客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)]}次防御。
此处Z是一个2维随机变量,即,Z=(Z1,Z2)=((1+X1+Y1)mod2,(1+X2+Y2)mod2);I(..)和I(.│.)分别表示互信息和条件互信息。
下面将“2攻1”推广到任意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攻1时红客的防御能力极限定理:设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))]}次防御。
此处Z是一个m维随机变量,即,Z=(Z1,Z2,…Zm)=((1+X1+Y1)mod2,(1+X2+Y2)mod2,… , (1+Xm+Ym)mod2)。I(..)和I(.│.)分别表示互信息和条件互信息。
接下来,考虑1攻2的情况。
为了增强安全性,红客在建设系统时,常常建设一个甚至多个(异构)备份系统,一旦系统本身被黑客攻破后,红客可以马上启用备份系统,从而保障业务的连续性。因此,在这种情况下,黑客在对抗红客时,若想真正取胜,他就必须同时攻破主系统和所有备份系统。这就是“一位黑客攻击多位红客”的实际背景,换句话说,只要有那怕一个备份未被黑客攻破,那么,就不能算黑客赢。当然,也许红客们并不知道是同一个黑客在攻击他们,至于红客们是否协同,都不影响下面的研究。
先考虑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;
再造两个随机变量Z1和Z2,这里Z1=(X1+Y1)mod2,Z2=(X2+Y2)mod2。并利用随机变量X(输入)和Z1、Z2(输出)构造一个2-输出广播信道p(z1,z2│x),并称该信道为黑客的攻击信道G。于是,便有如下,
2-输出广播信道等价定理:一个黑客X=(X1,X2)同时攻击两个红客Y1和Y2,如果在某个回合中黑客攻击成功,那么,1比特信息就在上述2-输出广播信道(攻击信道)G中被成功传输,反之亦然。
其实,该定理还可推广到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。于是便有,
m-输出广播信道等价定理:一个黑客X=(X1,X2,…,Xm)同时攻击m个红客Y1、Y2、…、Ym,如果在某个回合中黑客攻击成功,那么,1比特信息就在上述m-输出广播信道(攻击信道)H中被成功传输,反之亦然。
(五)第五刷子:什么是黑客?
“黑客”几乎成了新闻热词,但是,以往还真没人对其定义进行过精确研究!只有搞懂了黑客的实质,你才会对某些事情恍然大悟,比如,什么黑客最牛?黑客到底有多厉害等。
如果说安全的核心是对抗,那么,在对抗的两个主角(攻方与守方)中,攻方(黑客)又是第一主角,因为,红客(守方)是因黑客(攻方)而诞生的。所以,很有必要对黑客,特别是他的攻击策略,进行更深入的研究。
黑客的攻击都是有代价的,这种代价可能是经济代价、政治代价或时间代价。同样,黑客想要达到的目标也可能是经济目标、政治目标或时间目标。因此,至少可以粗略地将黑客分为经济黑客、政治黑客和时间黑客(见[7,8])。
经济黑客:只关注自己能否获利,并不在乎是否伤及对方。有时,自己可以承受适当的经济代价,但是,整体上要赢利。因此,经济黑客的目标就是:以最小的开销来攻击系统,并获得最大的收益。只要准备就绪,经济黑客随时可发动进攻。
政治黑客:不计代价,一定要伤及对方要害,甚至有时还有更明确的攻击目标,不达目的不罢休。他们随时精确瞄准目标,但是只在关键时刻,才“扣动板机”。
时间黑客:希望在最短的时间内,攻破红客的防线,而且,使被攻击系统的恢复时间尽可能地长。它们其实可看作学术研究者。
从纯理论角度来看,其实没必要去区分上述三种黑客。下面为了形象计,也为了量化计,我们重点考虑经济黑客,即,黑客想以最小的经济开销来获取最大的经济利益。
首先,对黑客进行静态描述:
先讲一个故事:我是一个“臭手”,面向墙壁射击。虽然,我命中墙上任一特定点的概率都为零,但是,只要板机一响,我一定会命中墙上某点,而这本来是一个“概率为零”的事件。因此,“我总会命中墙上某一点”这个概率为1的事件,就可以由许多“概率为零的事件(命中墙上某一指定点)”的集合构成。
再将上述故事改编成“有限和”情况:我先在墙上画满(有限个)马赛克格子,那么,“我总会命中某一格子”这个概率为1的事件,便可以由有限个“我命中任何指定格子”这些“概率很小,几乎为零的事件”的集合构成。或者,更准确地说,假设墙上共有n个马赛克格子,那么,我的枪法就可以用随机变量X来完整地描述:如果我击中第i(1≤i≤n)个格子的事件(记为X=i)的概率pi,那么,p1+p2+…+pn=1。
现在,让黑客代替“我”,让(有限)系统代替那面墙。
安全界有一句老话,也许是重复率最高的话,说:“安全是相对的,不安全才是绝对的”。可是,过去大家仅将这句话当成“口头禅”,而没有意识到它其实是一个很重要的公理:
安全公理:对任何(有限)系统来说,安全都是相对的,不安全才是绝对的,即,“系统不安全,总可被黑客攻破”这个事件的概率为1。
根据该安全公理,我们可知,虽然黑客命中“某一点”(攻破系统的指定部分)的概率虽然几乎为零,但是,黑客“击中墙”(最终攻破系统)是肯定的,概率为1。
黑客可以有至少两种方法在“墙上”画马赛克格子:
画马赛克格子的第一种办法:锁定目标,黑客从自己的安全角度出发,画出系统的安全经络图(见[1]),然后,以每个“元诱因”(或“穴位”)为一个“马赛克格子”。假如,系统的安全经络图中共有n个“元诱因”,那么,黑客的(静态)攻击能力就可以用随机变量X来完整地描述:如果黑客摧毁第i(1≤i≤n)个“元诱因”,记为X=i,的概率为pi,那么,p1+p2+…+pn=1。
这种“元诱因马赛克画法”的根据是:在文献[1]中,已经知道,系统出现不安全问题的充分必要条件是某个(或某些)“元诱因”不安全。
“元诱因马赛克”的缺点是参数体系较复杂,但是,它的优点很多,比如,可以同时适用于多目标攻击,安全经络可以长期积累、永远传承等。根据安全经络图,我们可知:“安全”同时具有“波”和“粒子”的双重性质,或者说,具有“确定性”和“概率性”两种性质。更具体地说,任何不安全事件的“元诱因”的“确定性”更浓,而“素诱因”和“素事件”的“概率性”更浓。充分认识安全的波粒二象性,将有助于深刻理解安全的实质,有助于理解《安全通论》的研究方法和思路。
画马赛克格子的第二种办法:经过长期准备和反复测试,黑客共掌握了全部n种可能攻破系统的方法,于是,黑客的攻击能力可以用随机变量X完整地描述为:当黑客用第i种方法攻破系统,记为X=i(1≤i≤n),的概率为pi,这里,p1+p2+…+pn=1,0<pi<1(1≤i≤n)。
说明:能够画出这“第二种马赛克格子”的黑客,肯定是存在的,比如,长期以“安全检测人员”这种红客身份掩护着的卧底,就是这类黑客的代表。虽然,必须承认,要想建立完整的武器库,即,掌握攻破系统的全部攻击方法,或完整地描述上述随机变量X,确实是非常困难的,但是,从理论上看是可行的。
当然,也许还有其它方法来画“马赛克格子”,不过它们的实质都是一样的,即,黑客可以静态地用一个离散随机变量X来描述,这里X的可能取值为{1,2,…,n},概率Pr(X=i)= pi,并且,p1+p2+…+pn=1。
现在来对黑客进行动态描述,《安全通论》已经证明(见[7,8]):
黑客的最佳攻击战术定理:对于一个可用离散随机变量X(Pr(X=i)= pi,并且,p1+p2+…+pn=1)来静态描述的黑客,他的动态最佳攻击战术也是(p1,p2,…,pn),即,他将其攻击资金按比例(p1,p2,…,pn)分配后,可得到最多的“黑产收入”。而且,该黑客的杀伤力取决于X的熵(H(X)=∑ni=1pilog(1/pi)),准确地说,若H(X)每减少1比特,那么,该黑客的杀伤力就会翻一倍!
除了战术外,黑客在攻击时,还要讲究战略,即,充分运用“田忌赛马”来为自己争取最大的经济利益。
设黑客想通过攻击某m个系统来获取其经济利益,并且根据过去的经验,他攻击第i个系统的“投入产出比”是随机变量Xi(≥0, i=1,2,…,m),即,攻击第i个系统时,若投入1元钱,则其收益是Xi元钱。记收益列向量X=(X1,X2,…,Xm)t服从联合分布F(x),即,X~F(x)。
从经济角度看,所谓黑客的一个攻击组合,就是这样一个列向量b=(b1,b2,…,bm)t,bi≥0, ∑bi=1,它意指该黑客将其“用于攻击的资金总额”的bi部分,花费在攻击第i个系统上(i=1,2,…,m)。于是,在此组合攻击下,黑客的收益便等于S=btX=∑i=1mbiXi。这个S显然也是一个随机变量。
当本轮组合攻击完成后,黑客还可以发动第2轮、第3轮等组合攻击,即,黑客将其上一轮结束时所得到的全部收益,按相同比例b分配,形成新一轮的攻击组合b。下面定理揭示了,黑客怎样才能达到最佳攻击组合b。
田忌赛马最佳组合攻击定理:设黑客欲攻击的m个系统的收益列向量X=(X1,X2,…,Xm)t服从联合分布F(x),即,X~F(x)。那么,该黑客的攻击组合b*是对数最优(即,使得增长率W(b,F)达到最大值的攻击组合)的充分必要条件是:当b*i>0时,E[Xi/(b*tX)]=1; 当b*i=0时,E[Xi/(b*tX)]≤1。
其实,按上述定理的策略,这种对数最优攻击组合不但能够使得黑客的资产增长率最大化,而且,也能使得他在每轮攻击的收益比值也最大化。
间谍在战争中扮演重要的角色,孙子曰:故三军之事,莫亲于间,赏莫厚于间,事莫密于间。同样,在网络对抗中,也需要间谍!但是,黑客的目的是自身经济利益最大化,所以,有决定收买间谍前,必须先搞清楚该间谍到底能够给他带来多大的效益。幸好《安全通论》回答了这个问题,即,
间谍的价值定理:若X表示黑客的本来收益向量,用Y表示间谍。那么,该间谍所能带来的增长率的增量ΔW满足如下不等式,ΔW≤I(X;Y)。这里I(X;Y)表示随机变量X与Y之间的互信息。
换句话说,如果间谍要价超过ΔW,那么黑客就别收买该间谍了。
关于黑客的量化分析,还有许多结果(见[7,8]),但是,由于它们的数学味太浓,很难用科普的语言描述出来,所以,就不在此详述了。
(六)结束语
2016年5月25日,中国网络安全大会(CNCERT2016)在成都世纪城国际会议中心召开。来自全国各地的一千多位院士、专家、领导、老总和部分外宾等网络空间安全界的顶级精英,齐聚一堂。
会议邀请我做了题为《安全通论---刷新你的安全观念》的大会报告。会后,各方面反应相当好,强烈希望我能够将大会报告内容整理成通俗易懂的文字材料。于是,我只好硬着头皮,把本来是“阳春白雪”的《安全通论》,改编成了此文的“下里巴人”。希望本文有助于国内外网络空间安全界的官、产、学、研、用等方面。
更希望网络空间安全的统一理论,《安全通论》,早日成熟!
(七)参考文献
[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]杨义先,钮心忻,安全通论(6):攻防篇之“多人盲对抗”,见科学网实名博客,http://blog.sciencenet.cn/blog-453322-954445.html
[7]杨义先,钮心忻,安全通论(7):黑客篇之“战术研究”,见科学网实名博客,http://blog.sciencenet.cn/blog-453322-956051.html
[8]杨义先,钮心忻,《安全通论》(8):黑客篇之“战术研究”,见科学网实名博客,http://blog.sciencenet.cn/blog-453322-958609.html
[9] 杨义先,钮心忻,《安全通论》(9):红客篇,见科学网实名博客,见科学网实名博客,http://blog.sciencenet.cn/blog-453322-960372.html
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-20 07:26
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社