楊義先 鈕心忻
編者按:網(wǎng)絡(luò)空間安全作為一項新的全球治理議程,已經(jīng)成為世界關(guān)注的焦點、各國政府的戰(zhàn)略目標(biāo)之一,但人們對網(wǎng)絡(luò)空間安全的研究,還缺乏全面系統(tǒng)的理論指導(dǎo),針對該問題,我刊特轉(zhuǎn)載自《科學(xué)網(wǎng)》一篇由北京郵電大學(xué)楊義先、鈕心忻教授編寫的《安全通論——攻防篇之“盲對抗”》(原文網(wǎng)址:http://blog.sciencenet.cn/blog-453322-947304.html)。在該文章中,給出了黑客攻擊能力和紅客防御能力的可達(dá)理論極限,并巧妙地構(gòu)造了一個隨機變量Z =(X+Y )mod2,將一次真正成功的攻防問題,等價地轉(zhuǎn)換成了攻擊信道(X ;Z ),同時恰到好處地應(yīng)用了看似并不相關(guān)的仙農(nóng)編碼定理。
摘要:精確地給出了黑客攻擊能力和紅客防御能力的可達(dá)理論極限。對黑客來說,如果他想真正成功地把紅客打敗k次,一定有某種技巧,使他能夠在k /C次進(jìn)攻中,以任意接近1的概率達(dá)到目的;如果黑客經(jīng)過n次攻擊,獲得了S次真正成功,那么一定有S ≤nC。對紅客來說,如果他想真正成功地把黑客擋住R次,一定有某種技巧,使得他能夠在R /C次防御中,以任意接近1的概率達(dá)到目的;如果紅客經(jīng)過n次防衛(wèi),獲得了R次真正成功,一定有R ≤ND。這里C和D分別是攻擊信道和防御信道的信道容量。如果C
關(guān)鍵詞:黑客;紅客;進(jìn)攻;防御;信道
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 盲對抗場境
攻防是安全的核心,特別是在有紅黑雙方對抗的場景下(比如,戰(zhàn)場、公安、網(wǎng)絡(luò)安全等),攻防幾乎就等于安全。所以,在安全通論的建立過程中,我們將花費更多的篇幅來研究攻防問題。但是,長期以來,人們并未對攻防場景進(jìn)行過清晰的整理,再加上攻防一詞經(jīng)常被濫用,從而導(dǎo)致攻防幾乎成了一個只能意會不能言傳的名詞,當(dāng)然就更無法對攻防進(jìn)行系統(tǒng)的理論研究了。
因此,為了開始我們的研究,必須首先理清攻防場景。更準(zhǔn)確地說,下面我們只考慮無裁判的攻防,因為像日常看到的諸如拳擊比賽等有裁判攻防的體育項目,并不是真正的攻防。在攻防系統(tǒng)中,只有攻方和守方這兩個直接利益相關(guān)方(雖然有時涉及的人員會超過兩個),但絕沒有利益無關(guān)的第三方。所以,對攻防結(jié)果來說,吹哨的裁判員其實是干擾,是噪音,而且還是主觀的噪音,因此必須要去除。
無裁判攻防又可以進(jìn)一步分為兩大類:盲攻防、非盲攻防。所謂盲攻防,指每次攻防后,雙方都只知道自己的損益情況,而對另一方卻一無所知,比如,大國博弈、網(wǎng)絡(luò)攻防、實際戰(zhàn)場、間諜戰(zhàn)、潑婦互罵等都是盲攻防的例子;非盲攻防,指每次攻防后,雙方都知道本次攻防的結(jié)果,而且還一致認(rèn)同這個結(jié)果,比如,石頭剪刀布游戲、下棋、炒股等都是非盲攻防的例子。一般來說,盲對抗更血腥和殘酷,而非盲對抗的娛樂味更濃。在文章中,我們只考慮盲攻防[1]。
為了更形象地說明,下面我們?nèi)匀唤栌萌瓝舻男g(shù)語來介紹盲攻防系統(tǒng)。當(dāng)然,這時裁判已經(jīng)被趕走,代替裁判的是無所不知的上帝。
攻方(黑客)是個神仙拳擊手,永遠(yuǎn)不知累,他可用隨機變量X來表示。黑客每次出擊后,都會對自己的本次出擊給出一個真心盲評價(比如,自認(rèn)為本次出擊成功或失敗,當(dāng)自認(rèn)為本次出擊成功時,記為X=1;當(dāng)自認(rèn)為出擊失敗時,記為X=0),但是,他絕不將這個真心盲評價系統(tǒng)告訴任何人。此處,之所以假定攻方(黑客)的盲自評要對外保密,是因為我們可以因此認(rèn)定他的盲自評是真心的,不會也沒有必要弄虛作假。
守方(紅客)也是個神仙拳擊手,他也永遠(yuǎn)不知累,可用隨機變量Y來表示。紅客每次守衛(wèi)后,也都會對自己的這次守衛(wèi)給出一個真心盲評價(比如,自認(rèn)為本次守衛(wèi)是成功或失敗,當(dāng)自認(rèn)為守衛(wèi)成功時,記為Y=1;當(dāng)自認(rèn)為守衛(wèi)失敗時,記為Y=0)。這個評價也仍然絕不告訴任何人。同樣,之所以要假定紅客的盲自評要對外保密,是因為我們可以因此認(rèn)定他的自評是真心的,不會也沒有必要弄虛作假。
裁判員雖然被趕走了,但是我們卻把上帝請來了。不過,上帝只是遠(yuǎn)遠(yuǎn)地呆在凌霄寶殿看熱鬧,他知道攻守雙方心里的真實想法,因此也知道雙方對每次攻防的真心盲自評,于是他可將攻守雙方過去N次對抗的盲自評結(jié)果記錄下來:(X,Y)=(X1,Y1)、(X2,Y2)、…、(XN,YN)。
足夠長的時間之后,上帝看夠了,便叫停攻守雙方。讓他們分別對擂臺進(jìn)行有利于自己的秘密調(diào)整,當(dāng)然某方(或雙方)也可以放棄本次調(diào)整的機會,如果他(他們)認(rèn)為當(dāng)前擂臺對自己更有利的話。這里,所謂的秘密調(diào)整,指雙方都不知道對方做了些什么調(diào)整。比如,針對網(wǎng)絡(luò)空間安全對抗,也許紅客安裝了一個防火墻,也許黑客植入了一種新的惡意代碼等;針對陣地戰(zhàn)的情況,也許攻方調(diào)來了一去增援部隊,也許守方又埋了一批地雷等。
總之,攻守雙方調(diào)整完成后,雙方又在新的擂臺上,再開始下一輪的對抗。
不過,我們不研究攻守雙方的下一輪對抗,只考慮當(dāng)前輪,即由上面的X、Y、(X,Y)等隨機變量所組成的系統(tǒng)。
至此,盲攻防場景的精確描述就完成了。可見,網(wǎng)絡(luò)戰(zhàn)、間諜戰(zhàn)、潑婦互罵等對抗性很慘烈的攻防,都是典型的盲對抗。
2 黑客攻擊能力極限
根據(jù)第1節(jié)中的隨機變量X和Y,上帝再新造一個隨機變量Z=(X+Y)mod2。由于任何兩個隨機變量都可以組成一個通信信道,所以我們把X作為輸入,Z作為輸出,上帝便可構(gòu)造出一個通信信道F,我們稱之為攻擊信道。
另一方面,如果有1 bit信息被成功地從發(fā)端(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”意味著攻方本次盲自評為成功∩守方本次盲自評為失?。痪C合起來就意味著攻方獲得某次攻擊的真正成功。
簡而言之,我們可以知道:如果黑客的某次攻擊真正成功,那么攻擊信道F就成功地傳輸1 bit到收端;如果有1 bit被成功地從攻擊信道F的發(fā)端,傳送到了收端,那么黑客X就獲得了一次真正成功攻擊。
引理1:黑客獲得一次真正成功的攻擊,其實就對等于攻擊信道F成功地傳輸了1 bit。
根據(jù)仙農(nóng)信息論的著名《信道編碼定理》[2]:如果信道F的容量為C,那么對于任意傳輸率k/n≤C,都可以在譯碼錯誤概率任意小的情況下,通過某個n bit長的碼字,成功地把k bit傳輸?shù)绞招哦?;如果信道F能夠用n長碼字,把S bit無誤差地傳輸?shù)绞斩?,那么,一定有S≤nC。
定理1(黑客攻擊能力極限定理):設(shè)由隨機變量(X;Z)組成的攻擊信道F的信道容量為C。那么:如果黑客想真正成功地把紅客打敗k次,一定有某種技巧(對應(yīng)于仙農(nóng)編碼),使得他能夠在k/C次攻擊中,以任意接近1的概率達(dá)到目的;如果黑客經(jīng)過n次攻擊,獲得了S次真正成功的攻擊,一定有S≤nC。
由定理1可知:只要求出攻擊信道F的信道容量C,那么黑客的攻擊能力極限就確定了。
下面我們需要計算出F的信道容量C。