楊義先,鈕心忻
?。ū本┼]電大學(xué) 信息安全中心,, 北京 100876)
0引言
“安全”與“信息”都是至今還沒有嚴(yán)格定義的概念。早在60年前,,仙農(nóng)創(chuàng)立了“信息論”,,從而為現(xiàn)代通信的飛速發(fā)展奠定了堅實的基礎(chǔ)。但是,,至今人們對“安全”的研究,,特別是網(wǎng)絡(luò)空間安全的研究,還僅僅停留在“兵來將擋,,水來土淹”的工程層次或技術(shù)層次,,既缺乏全面系統(tǒng)的理論指導(dǎo),又遺留了許多明顯的漏洞,,比如,,雖然大家都承認(rèn)網(wǎng)絡(luò)空間安全是“三分技術(shù),七分管理”,,但是,,全世界都將幾乎90%的精力聚焦于“三分技術(shù)”;而“七分管理”竟然無人問津,,或者說只是片面地將“管理”理解為“頒布幾份規(guī)章制度”而已,。
我們夢想建立一套基礎(chǔ)的通用安全理論,并以此來指導(dǎo)包括網(wǎng)絡(luò)空間安全在內(nèi)的所有安全保障工作,。本文是努力實現(xiàn)該夢想的第一步,。
希望本文能夠激發(fā)國內(nèi)外學(xué)者更多的后續(xù)研究。
1不安全事件的素分解
“安全”是一個很主觀的概念,,與“角度”密切相關(guān),。同一個事件,對不同的人,,從不同的角度來說可能會得出完全相反的“安全結(jié)論”,,比如,,“政府監(jiān)聽公民通信”這件事,,從政府角度來看,“能監(jiān)聽”就是“安全”,;而對公民來說,,“能監(jiān)聽”就是“不安全”。所以,,下面研究“安全”,,只鎖定一個角度,比如,“我”的角度,。
“安全”是一個與時間密切相關(guān)的概念,。同一個系統(tǒng),在昨天安全,,絕不等于今天也安全(比如,,若用現(xiàn)代計算機(jī)去破譯古代密碼,簡直是易如反掌),;同樣,,在今天安全,也絕不等于明天就安全,。當(dāng)然,,一個“在昨天不安全”的系統(tǒng),今天也不會自動變?yōu)榘踩?。因此,,下面研究“安全”,只考慮時間正序流動的情況,,即,,立足當(dāng)前,展望未來(為突出重點(diǎn),,本文只考慮當(dāng)前時刻的情況,,帶時間的安全通論,將在后續(xù)論文中涉及),。
“安全”是一個與對象密切相關(guān)的概念,。若A和B是兩個相互獨(dú)立的系統(tǒng),若只考慮A系統(tǒng)的安全,,那么,,B系統(tǒng)是否安全就應(yīng)該完全忽略。比如,,若只考慮“我的手機(jī)是否安全”,,那么,“白宮的電腦是否中毒”就可以完全忽略,。因此,,下面研究“安全”時,只鎖定一個有限系統(tǒng),,即該系統(tǒng)由有限個“元件”組成,。
設(shè)A是一個封閉的獨(dú)立系統(tǒng),如果直接研究其“安全”,,根本無處下手,!不過,,幸好有“安全”=不“不安全”,所以,,若能夠把“不安全”研究清楚了,,那么“安全”也就明白了。
下面就以概率論為工具,,從“我”的角度,,沿著時間的正序方向(但只考慮當(dāng)前狀態(tài))來研究系統(tǒng)A的“不安全”。
假定A系統(tǒng)中發(fā)生了某個事件,,如果它是一個對“我”來說的“不安全”事件,,那么,“我”就能夠精確且權(quán)威地判斷這是一個“不安全的事件”(注意:除“我”之外,,“別人”的判斷是沒有參考價值的,,因為,本文只從一個角度來研究“安全”),。如果將該“不安全事件”記為D,,那么,該事件導(dǎo)致系統(tǒng)A“不安全”的概率就記為P(D),。為了簡化計,,此處只考慮0<P(D)<1的情況,因為,,如果P(D)=0,,那么這個“不安全事件”D就幾乎不會發(fā)生,故可以忽略,,因為無論是否對造成事件D的環(huán)境進(jìn)行改進(jìn),,都不影響系統(tǒng)A的安全性;如果P(D)=1,,那么,,D就是“不安全”的確定原因(沒有隨機(jī)性),這時只需要針對事件D單獨(dú)進(jìn)行加固(比如,,采用現(xiàn)在所有可能的已知安全技術(shù)手段,。實際上,當(dāng)前全球安全界都已經(jīng)擅長于這種“頭痛醫(yī)頭,,足痛醫(yī)足”的方法),,就可以提升系統(tǒng)A的安全性了。
從理論上看,,給定系統(tǒng)A之后,,如果A是有限系統(tǒng),那么,,總可以通過各種手段,,發(fā)現(xiàn)或測試出當(dāng)前的全部有限個“不安全事件”,比如,,D1,、D2、…,、Dn,。下面,在不引起混淆的情況下,,用Di同時表示“不安全事件”和造成該事件Di的原因,。于是,系統(tǒng)A的“不安全”概率就等于P(D1∪D2∪…∪Dn),,或者說,,系統(tǒng)A的“安全”概率等于1-P(D1∪D2∪…∪Dn)。
換句話說,,本來無處下手的“安全”研究,,就轉(zhuǎn)化為了下面的數(shù)學(xué)問題:
“安全”數(shù)學(xué)問題:在概率0<P(D1∪D2∪…∪Dn)<1的情況下,使該概率P(D1∪D2∪…∪Dn)最小化的問題,,或者使1-P(D1∪D2∪…∪Dn)最大化的問題,。
設(shè)D和B是系統(tǒng)A的兩個“不安全事件”,那么,,(D∪B)也是一個“不安全事件”,,但是,(D∩B)或者(D\\B)等就不一定再是“不安全事件”了,。若事件D是B的真子集,,并且D的發(fā)生會促使B也發(fā)生(即,條件概率P(B|D)>P(B)),,則稱事件D是事件B的“子事件”,。
在時間正序流動的條件下,設(shè)系統(tǒng)A的過去全部“不安全事件”集合為D,,若當(dāng)前又發(fā)現(xiàn)一個新的“不安全事件”B,,那么,系統(tǒng)A的當(dāng)前“不安全”概率=P(D∪B)≥P(D)=系統(tǒng)A的過去“不安全”概率,。于是:
“不安全性”遵從熱力學(xué)第二定律:系統(tǒng)A的“不安全”概率將越來越大,,而不會越來越小(除非有外力,,比如采取了相應(yīng)的安全加固措施等),;或者說“安全”與“信息”一樣都是負(fù)熵。
由熱力學(xué)第二定律可知,,熱量可以自發(fā)地從高溫物體傳遞到低溫物體,,但不可能自發(fā)地從低溫物體傳遞到高溫物體,;熱量將最終穩(wěn)定在溫度一致的狀態(tài)。那么,,有限系統(tǒng)A的“不安全”狀態(tài)將最終穩(wěn)定在什么地方呢,?
下面就來回答這個問題。
設(shè)Z是一個“不安全事件”,,如果存在另外兩個“不安全事件”X和Y(它們都是Z的真子集),,同時滿足如下兩個條件:(1)X∩Y=;(2)Z=X∪Y,。那么,,就說“不安全事件”Z是可分解的。此時X和Y都是Z的子事件,。如果某個“不安全事件”是不可分解的(即它的所有真子集都不再是“不安全事件”了),,那么,就稱該事件為“不安全的素事件”,。
定理1(“不安全事件”分解定理):對任意給定的“不安全事件”D,,都可以判斷出D是否是可分解的,并且,,如果D是可分解的,,那么,也可以找到它的某種分解,。
證明:由于有限系統(tǒng)A的全部“不安全事件”只有有限個D1,、D2、…,、Dn,,所以,至少可以通過窮舉法,,對每個Di(i=1,2,…,n)測試D\\Di,,判斷其是否也是“不安全事件”。如果至少能夠找到某個這樣的i,,則D就是可分解的,,而且,Di與(D\\Di)就是它的一個分解,;否則,,D就是不可分解的“不安全素事件”,這是因為“D1,、D2,、…、Dn”是全部“不安全事件”,。證畢,。
定理2(“不安全事件”素分解定理):若反復(fù)使用上述的“不安全事件”分解定理來處理“不安全事件”(D1∪D2∪…∪Dn)及其被分解后的“不安全子事件”,,那么,就可以最終得到分解:D1∪D2∪…∪Dn=B1∪B2∪…∪Bm,,這里對任意的i和j(i,,j=1,,2,,…,m)都有Bi是“不安全素事件”,并且Bi∩Bj=,。
證明:若D=D1∪D2∪…∪Dn,,已經(jīng)是不可分解的了,那么,,m=1,,并且D1∪D2∪…∪Dn=B1;若D是可以分解的,并且X是D分解后的一個“不安全子事件”,。如果X已經(jīng)不可分解了,,那么,可以取B1=X,;如果X還可以再分解,,那么,再對X的某個“不安全子事件”進(jìn)行分解,。如此反復(fù),,直到最終找到一個不能再被分解的“不安全子事件”,將該事件記為B1,。
仿照上面分解D的過程來分解D\\B1,,便可以找出不能再被分解的“不安全子事件”B2。
再根據(jù)D\(B1∪B2)的分解,,便可得到B3,。
最終,當(dāng)這個分解過程結(jié)束后,,全部的Bi就已經(jīng)構(gòu)造出來了,。證畢。
于是,,根據(jù)“不安全事件”素分解定理,,便有Bi∩Bj=,并且:
P(D1∪D2∪…∪Dn)=P(B1∪B2∪…∪Bm)=P(B1)+P(B2)+…+P(Bm)
換句話說,,可以將引發(fā)有限系統(tǒng)A的“不安全事件”D1,、D2、…,、Dn分解為另一批彼此互不相容的“不安全素事件”B1,、B2,、…、Bm,,并且,,還將有限系統(tǒng)A的不安全概率轉(zhuǎn)化為P(B1)+P(B2)+…+P(Bm)。所以,,有限系統(tǒng)A的“不安全”概率P(D1∪D2∪…∪Dn)的最小化問題也就轉(zhuǎn)化成了每個彼此互不相容的“不安全素事件”的概率P(Bi)(i=1,2,…,m)的最小化問題,。進(jìn)而得到如下結(jié)論:
定理3(分而治之定理):任何有限系統(tǒng)A的“不安全事件”集合,都可以分解成若干個彼此互不相容的“不安全素事件”:B1,、B2,、…、Bm,,使得只需要對每個Bi(i=1,2,…,m)進(jìn)行獨(dú)立加固,,即減小事件Bi發(fā)生的概率P(Bi),即可以整體上提高系統(tǒng)A的安全強(qiáng)度,,或者說整體上減少系統(tǒng)A的“不安全”概率,。
該分而治之定理回答了前面的“熱平衡”問題,即:有限系統(tǒng)A的“不安全”狀態(tài),,將最終穩(wěn)定成一些彼此互不相容的“不安全素事件”之并,。該定理對全球網(wǎng)絡(luò)空間安全界的啟發(fā)意義在于:過去那種“頭痛醫(yī)頭,足痛醫(yī)足”的做法雖然值得改進(jìn),,但也不能盲目地“頭痛醫(yī)足”或“足痛醫(yī)頭”,,而是應(yīng)該科學(xué)地將所有安全威脅因素,分解成互不相容的一些“??啤保˙1,、B2、…,、Bm),,然后,再開設(shè)若干“??漆t(yī)院”來集中精力“醫(yī)治”相應(yīng)的病癥(即,,減小P(Bi))。
??漆t(yī)院也是分門診部的,,同樣,針對上述的每個“不安全素事件”Bi也可以再進(jìn)一步地進(jìn)行分解,,并最終得到系統(tǒng)A的完整“經(jīng)絡(luò)圖”,,于是,便找到了某些“頭痛醫(yī)足”的依據(jù),甚至給出“頭痛醫(yī)足”的辦法,。
2系統(tǒng)“經(jīng)絡(luò)圖”的邏輯分解
設(shè)X是B的一個真子集,,并且,若事件X發(fā)生,,就會促使B也發(fā)生(即,,P(B|X)-P(B)>0),那么,,就稱X為B的一個誘因,。
針對任何具體給定的有限系統(tǒng)A,因為B是有限集,,所以,,從理論上看,,總可以通過各種手段發(fā)現(xiàn)或測試出當(dāng)前B的全部有限個誘因,,比如,X1,、X2,、…、Xn,,即,,B=X1∪X2∪…∪Xn。
設(shè)X和Y是B的兩個誘因,,而且還同時滿足:(1)X∩Y=,;(2)B=X∪Y。那么,,即認(rèn)為B是可分解的,,并且X∪Y就是它的一種分解。如果某個B是不可分解的(即它的所有真子集都不再是其誘因了,,或者說對B的所有真子集Z,,都有條件概率P(B|Z)=P(B)),那么,,就稱該事件為“素事件”,。
若Y、Y1,、Y2都是B的誘因有:并且有:(1)Y1∩Y2=,;(2)Y=Y1∪Y2。那么,,即認(rèn)為B的誘因Y是可分解的,,并且Y1∪Y2就是它的一種分解。如果誘因Y是不可分解的(即,它的所有真子集都不再是B的誘因了),,那么,,就稱該誘因Y為“B的素誘因”。如果誘因Y的所有子集Z,,都不再是Y自己的誘因了,,那么,就稱Y為“元誘因”,,或形象地稱為“穴位”,。
定理4(事件分解定理):對任意給定的事件B,都可以判斷出B是否可分解,,并且,,如果B是可分解的,那么,,也可以找到它的某種分解,。
證明:由于系統(tǒng)B的全部誘因只有有限個X1、X2,、…,、Xn,所以,,至少可以通過窮舉法,,對每個Xi(i=1,2,…,n)測試B\\Xi,判斷其是否也是B的一個誘因,。如果至少能夠找到某個這樣的i,,那么,B就是可分解的,,而且,,Xi與(B\\Xi)就是它的一個分解;如果這樣的i不存在,,那么,,B就是不可分解的,這是因為“X1,、X2,、…、Xn”是B的全部誘因,。證畢,。
定理5(事件素分解定理):若反復(fù)使用上述的“事件分解定理”來處理事件B,那么,,就可以最終得到分解:B=Y1∪Y2∪…∪Ym,,這里對任意的i和j(i,,j=1,2,,…,,m)都有Yi∩Yj=,并且每個Yi都是B的素誘因,。
證明:若B已經(jīng)是不可分解的了,,那么,m=1,,并且,,B=Y1。
若B是可以分解的,,并且Y是B分解后的一個誘因,。如果Y已經(jīng)是B的素誘因了,那么,,可以取Y1=Y,;如果Y還可以再分解,那么,,再對Y的某個誘因進(jìn)行分解,。如此反復(fù),直到最終找到一個不能再被分解的素誘因,,將它記為Y1。
仿照上面分解B的過程來分解B\\Y1,,便可以找出B的不能再被分解的素誘因Y2,。
再根據(jù)B\(Y1∪Y2)的分解,便可得到Y(jié)3,。
最終,,當(dāng)這個分解過程結(jié)束后,全部的Yi就已經(jīng)構(gòu)造出來了,。證畢,。
有了上面各定理的準(zhǔn)備后,現(xiàn)在就可以給出如下有限系統(tǒng)A的經(jīng)絡(luò)圖算法步驟:
第0步:針對系統(tǒng)A的“不安全事件”D,。
第1步:利用定理2,,將D分解成一些互不相容的“不安全素事件”B1∪B2∪…∪Bm,這里對任意的i和j(i,,j=1,,2,…,,m)都有Bi是“不安全素事件”并且Bi∩Bj=(為清晰計,,在繪制經(jīng)絡(luò)圖時,可以從左至右,按照P(Bi)的遞減順序排列),。
第2.i步(i=1,,2,…,,m):利用定理5,,把第1步中所得到的Bi分解成若干“Bi的素誘因”(為清晰計,在繪制經(jīng)絡(luò)圖時,,可以從左至右,,對Bi的素誘因,按照其發(fā)生概率大小值的遞減順序排列),,為避免混淆,,將所有第2步獲得的素誘因,稱為“第2步素誘因”,。這些素誘因中,,有些可能已經(jīng)是“元誘因”(穴位)了。
第3.i步(i=1,,2,,…):針對第2步所獲得的每個不是“元誘因”(穴位)的素誘因,利用定理5,,將其進(jìn)行分解,,由此得到的素誘因稱為“第3步素誘因”(這些誘因的從左到右的排列順序與前幾步相似)。這些素誘因中,,有些可能已經(jīng)是“元誘因”(穴位)了,。
……
第k.i步(i=1,2,,…):針對第k-1步所獲得的每個不是“元誘因”(穴位)的素誘因,,利用定理5,將其進(jìn)行分解,,由此得到的素誘因稱為“第k步素誘因”(這些誘因的從左到右的排列順序也與前幾步相似),。這些素誘因中,有些可能已經(jīng)是“元誘因”(穴位)了,。
……
由于上面各步驟的每次分解,,都是針對真子集所進(jìn)行的,所以,,這種分解的步驟不會無窮進(jìn)行下去,,即,一定存在某個正整數(shù),,比如N,,使得:
第N.i步(i=1,,2,…):針對第N-1步所獲得的每個不是“元誘因”的素誘因,,利用定理5將其進(jìn)行分解,,由此得到的素誘因全部都已經(jīng)是“元誘因”(穴位)了(每一個素誘因下面的元誘因排列順序,也是采用概率從大到小進(jìn)行),。
將上面的分解步驟結(jié)果用圖形表述出來,,便得到了有限系統(tǒng)A的安全事件“經(jīng)絡(luò)圖”(由于它的外形很像一棵倒立的樹,所以,,也稱為“經(jīng)絡(luò)樹”),,如圖1。
根據(jù)經(jīng)絡(luò)樹的繪制過程,,可以得到:
?。?)如果系統(tǒng)A不安全了,那么,,至少有某個“不安全素事件”(甚至可能是“元誘因”(穴位))發(fā)生了(見經(jīng)絡(luò)樹的第二層),;
(2)如果某個“不安全素事件”發(fā)生了,,那么,,該事件的至少某個“素誘因”(甚至可能是“元誘因”(穴位))就發(fā)生了(見經(jīng)絡(luò)樹的第三層);
……
?。↘)如果某個“第k-1步素誘因”發(fā)生了,,那么,它的至少某個“第k步素誘因”(甚至可能是“元誘因”(穴位))就發(fā)生了(見經(jīng)絡(luò)樹的第k+1層),;
現(xiàn)在就清楚該如何“頭痛醫(yī)足”了:實際上,,只要系統(tǒng)A“病”了,那么,,就一定能夠從系統(tǒng)A的完整經(jīng)絡(luò)圖中,找出某個“生病的子經(jīng)絡(luò)圖”M,,使得:(1)M的每層“素誘因”或“元誘因”(穴位)都是“病”的,;(2)除了M之外,系統(tǒng)A的經(jīng)絡(luò)圖的其他部分都沒病,。于是,,為了治好該“病”,只需要將M中的所有“元誘因”(穴位)的“病”治好(說明:這里某個第k步誘因病了,,意指它的至少一個“第k+1步誘因”發(fā)生了,。而如果某個第k步誘因的全部第k+1步誘因都沒有發(fā)生,那么,,這個第k步誘因就沒??!可見,除了“元誘因”(穴位)之外,,M中的其他非元誘因是可以自愈的?。?/p>
更具體地說,,“頭痛醫(yī)足”的過程是:首先將最底層,,比如第N層的“元誘因”(穴位)治好,于是,,第N-1層的“素誘因”就自愈了,;然后,再扎針灸治好第N-1層的“元誘因”(穴位),,于是,,第N-2層的“素誘因”就自愈了;然后,,再扎針灸治好第N-3層的“元誘因”(穴位),,……,如此繼續(xù),,最終到達(dá)頂層,。
“經(jīng)絡(luò)圖”的用途顯然不僅僅是用來“頭痛醫(yī)足”,它還有許多其他重要應(yīng)用,,比如:
?。?)只要守住所有相關(guān)的“元誘因”(穴位),那么,,系統(tǒng)A就安然無恙,;
(2)同理,,只要將所有炮火瞄準(zhǔn)相關(guān)“元誘因”(穴位),,那么,就能夠穩(wěn)準(zhǔn)狠地打擊對手,;
?。?)除了元誘因(穴位)之外,經(jīng)絡(luò)圖中平均概率值大的“經(jīng)絡(luò)”是更脆弱的經(jīng)絡(luò)(即,,安全“木桶原理”中的短板),,也是在系統(tǒng)安全保障中需要重點(diǎn)保護(hù)的部分;同時,,也是攻擊過程中重點(diǎn)打擊的部分,;
(4)平時注意繪制和補(bǔ)充經(jīng)絡(luò)圖,,關(guān)鍵時刻就可以派上用場了,!
3結(jié)束語
仙農(nóng)在研究信息論時,,雖然發(fā)現(xiàn)了信道容量的上限值,但是非常遺憾,,他沒能給出如何才能達(dá)到該上限值,,從而,致使全世界通信界的科學(xué)家們在過去60余年來,,使出渾身解數(shù)設(shè)計各種編碼方法,,來努力逼近仙農(nóng)界,至今沒有成功,。
與此相似,,本文雖然證明了有限系統(tǒng)的“安全經(jīng)絡(luò)圖”是存在的,但是,,并未給出如何針對具體的系統(tǒng),,來繪制其安全經(jīng)絡(luò)圖,估計未來的學(xué)者們不得不花費(fèi)巨大的精力,,針對具體系統(tǒng)來繪制具體的經(jīng)絡(luò)圖,。
必須指出,繪制經(jīng)絡(luò)圖絕非易事,。為了繪制人體經(jīng)絡(luò)圖,,中醫(yī)界的祖先們奮斗了數(shù)千年!因此,,絕無可能在短期內(nèi)就繪制出“網(wǎng)絡(luò)空間安全經(jīng)絡(luò)圖”,,雖然這個圖肯定存在。
下面結(jié)合網(wǎng)絡(luò)空間安全給出幾點(diǎn)注記:(1)漏洞庫中的每個漏洞,,算是“元誘因”(穴位),,堵住相關(guān)漏洞就是對相關(guān)“元誘因”(穴位)的加固;(2)口令算是一種“元誘因”(穴位),,如果今后能夠完全消除口令,,代之以綜合的個體生理特征,那么,,這個“元誘因”(穴位)就會被充分加固,;(3)刪貼等“信息封堵”手段,雖然可以加固某個“素誘因”,,但是,絕非加固“元誘因”(穴位),,所以,,難免會吃力不討好;(4)“被穿透”和“被封堵”顯然是互不相容的安全事件,,而“被竊密”和“口令暴露”卻是彼此相容的不安全事件,;(5)歡迎所有學(xué)者,,繼續(xù)對“網(wǎng)絡(luò)空間安全經(jīng)絡(luò)圖”和其他系統(tǒng)的經(jīng)絡(luò)圖進(jìn)行更深入的研究。