楊義先,,鈕心忻
?。ū本┼]電大學(xué) 信息安全中心,北京 100876)
編者按:文章揭示了紅客的本質(zhì),,即,,維護系統(tǒng)的“安全熵”值,避免其突變,,當(dāng)然,,如果能夠“使熵減少或不增”就最理想。通過對熵的時變微分方程的討論,,分析了各種情況下,,系統(tǒng)的安全態(tài)勢以及紅客的業(yè)績評價等。我們過去一直認為,,網(wǎng)絡(luò)安全對抗的狀態(tài)只有兩個:此起,、彼伏,或者說是“水漲”,、“船高”,,但卻忽略了另一個更重要的狀態(tài),即納什均衡,!那時,,攻防雙方的最佳策略都是“靜止不動”,至少表面上是這樣,。
0引言
紅客是被黑客逼出來的,,沒有黑客就不需要紅客,。但遺憾的是,黑客不但沒有絕跡,,而且還越來越多,,越來越兇!
在某種意義上,,黑客代表“邪惡”,,因此,黑客的行動都是在隱蔽環(huán)境下進行的,,不敢對外公開,。從而,黑客獲勝的主要法寶就是技術(shù)和其他“雞鳴狗盜”,。
在某種意義上,,紅客代表“正義”,因此,,紅客的行動都是公開的,,他們可以光明正大地運用包括法律、法規(guī),、標(biāo)準(zhǔn),、管理、技術(shù),、教育等一切手段來捍衛(wèi)系統(tǒng)的安全,。
從表面上看,紅客的行動包括(但不限于)安裝防火墻,、殺病毒,、抓黑客、加解密,、漏洞掃描,、制定標(biāo)準(zhǔn)、頒布(或協(xié)助頒布)相關(guān)法律法規(guī),,而且還經(jīng)常刪貼,、封網(wǎng)、雇水軍等,。但是,,這些都是錯覺,如果要單一地考慮紅客的這些防衛(wèi)措施,,那么,,《安全通論》將無立足之地,而且系統(tǒng)的安全防守工作將越來越亂,。過去,,也許因為沒有搞清紅客的本質(zhì),,所以,紅客才做了許多事倍功半的事情,,甚至還做了不少負功,,既沒有能擋住黑客的攻擊,又把自己的陣營搞得一團糟,,甚至逼反了自己的“友軍”,。其實,紅客的本意,,是只想做一件事,,那就是:維護系統(tǒng)的熵(或秩序)!或更準(zhǔn)確地說,,最好能夠“減少系統(tǒng)的熵”,次之是要“阻止系統(tǒng)的熵被增大”,,至少要確?!跋到y(tǒng)的熵不要過快地增大”。因此,,能夠維護好熵的紅客,,才是合格的紅客;否則,,就是差紅客,,甚至是幫倒忙的紅客。
過去一直認為,,網(wǎng)絡(luò)安全對抗的狀態(tài)只有兩個:此起,、彼伏(或者說是“水漲”、“船高”),,但卻忽略了另一個更重要的狀態(tài):納什均衡,!那時,攻防雙方的最佳策略,,都是“靜止不動”,,至少表面上是這樣。
由于紅客可以使用黑客的所有技術(shù),,所以,,本文不再重復(fù)文獻[1-8]中提到過的所有技術(shù)部分,而是充分運用《系統(tǒng)論》[9]來揭示紅客的本質(zhì),。
1安全熵及其時變性研究
考慮由紅客,、黑客、用戶,、網(wǎng)絡(luò)和服務(wù)等組成的系統(tǒng),。由“熱力學(xué)第二定律”可知該系統(tǒng)的熵(或秩序,,或組織性)一定會隨著時間的流逝而不斷地自動增大,這意味著“系統(tǒng)的不安全性”也在不斷地增大,。特別是黑客的存在,,使得這種“熵增大”的趨勢更明顯,因為,,黑客的實質(zhì)就是搞破壞,,就是要搞亂系統(tǒng)的既定秩序;而與之相反,,紅客的目的就是要有效阻止這種系統(tǒng)崩析(耗散)趨勢,,確保用戶能夠按既定的秩序在系統(tǒng)中提供或獲得服務(wù)。當(dāng)然,,用戶的誤操作(或者紅客的亂操作)也會在實際上搞亂系統(tǒng),,增大系統(tǒng)的熵。不過,,為了清晰起見,,本文不考慮諸如用戶誤操作、紅客和黑客失誤等無意行為所造成的亂序問題,。
由于有紅客,、黑客等人為因素的影響,所以,,網(wǎng)絡(luò)系統(tǒng)顯然不是“封閉系統(tǒng)”(如果只考慮設(shè)備,,那么,系統(tǒng)就可看成是“封閉系統(tǒng)”,,實際上,,它還是一個“有限系統(tǒng)”),更由于紅客和黑客連續(xù)不斷的攻防對抗,,使得系統(tǒng)熵(秩序的度量)不斷地被增大和縮小,,即系統(tǒng)的熵始終是時變的。
設(shè)系統(tǒng)的全部不安全因素為q1,q2,…,qn,,記t時刻系統(tǒng)的熵為Q(t,q1,q2,…,qn),,或者簡記為Q(t)。當(dāng)Q(t)=0時,,系統(tǒng)的熵達到最小值,,此時系統(tǒng)的安全性就達到最大值(因為根據(jù)文獻[1],“安全”是“負熵”,,或者說“不安全”是“熵”),。當(dāng)然,一般情況下,熵總是正數(shù),。若Q(t)隨時間而增長,,即微分dQ(t)/dt>0,那么,,系統(tǒng)將變得越來越不安全,;反之,若Q(t)隨時間而減少,,即微分dQ(t)/dt<0,,那么,系統(tǒng)將變得越來越安全,。因此,,以下將Q(t)稱為“安全熵”。而紅客的目標(biāo)就是要努力使得“安全熵”越來越小,,黑客則想使“安全熵”越來越大,。
對每個i(i=1,2,…,n),記Q(t,qi)(更簡單地記為Qi(t)或Qi)為在“只存在不安全因素qi”的條件下,,在t時刻,,系統(tǒng)的“安全熵”。那么,,各個Qi(t)的時變情況便可以用方程組(1)來描述:
這里,任何一個Qi的變化都是所有其他各Qj(j≠i)的函數(shù),;反過來,,任一Qi的變化也承擔(dān)著所有其他量和整個方程組(1)的變化。
下面針對一些特殊情況來仔細討論方程組(1),。
如果各個Qi不隨時間而變化,,即,dQi/dt=0,,i=1,2,…,n(或者說f1(Q1,Q2,…,Qn)=f2(Q1,Q2,…,Qn)=…= fn(Q1,Q2,…,Qn)=0),,那么,此時系統(tǒng)的“安全熵”就處于靜止?fàn)顟B(tài),,即系統(tǒng)的安全性既不變壞,,也沒有變得更好。如果從系統(tǒng)剛剛投入運行開始(即t=0),,紅客就能夠維護系統(tǒng),,使其“安全熵”永遠處于靜止?fàn)顟B(tài),那么,,這樣的紅客就是成功的紅客,!
設(shè)Q*1,Q*2,…,Q*n是在靜止?fàn)顟B(tài)下方程組(1)的一組解。對每個i,,i=1,2,…,n,,引入新的變量Q′i=Q*i-Qi,,那么,方程組(1)就轉(zhuǎn)變成了方程組(2):
如果這個方程組可以展開為泰勒級數(shù),,即得到如下方程組(3):
該方程組的通解是:
此處各個G都是常數(shù),,λ(i), i=1,2,…,n,則是如下n×n階矩陣B=[bij]的行列式關(guān)于λ的特征方程的根,,即方程det(B)=0的根,,這里B=[bij],bii=aii-λ, i=1,2,…,n,,而當(dāng)i≠j時,,bij=aij。
上述特征方程的根λ(i)既可能是實數(shù),,也可能是虛數(shù),。下面考慮幾種特別情況:
(1)如果所有的特征根λ(i)都是實數(shù)且是負數(shù),,那么,,根據(jù)通解式可知,各Q’i將隨著時間的增加而趨近于0(因為e-∞=0),,這說明紅客正在節(jié)節(jié)勝利,,因為,“安全熵”變化率趨于0意味著:各個不安全因素正被逐步控制,,系統(tǒng)的秩序也正在恢復(fù)之中,。
(2)同理,,如果所有的特征根λ(i)都是復(fù)數(shù)且負數(shù)在其實數(shù)部分,,那么,根據(jù)通解式可知,,各Q′i也隨著時間的增加而趨近于0,。這時,紅客也正在節(jié)節(jié)勝利中,。
由于Qi=Q*i-Q′i,,i=1,2,…,n,所以,根據(jù)方程組(2)可知,,在情況(1)和(2)中,,Qi逼近靜態(tài)值Q*i,此時,,系統(tǒng)所處的安全平衡狀態(tài)是穩(wěn)定的,,因為,在一個足夠長的時間內(nèi),系統(tǒng)愈來愈逼近靜態(tài),,系統(tǒng)的“安全熵”變化率始終逼近于0,,即系統(tǒng)的秩序是長期穩(wěn)定的。
?。?)如果有一個特征根λ(i)是正數(shù)或0,,那么,系統(tǒng)的平衡就不穩(wěn)定了,,即系統(tǒng)的安全性也不穩(wěn)定了,,紅客就有可能失控。
?。?)如果有一些特征根λ(i)是正數(shù)和復(fù)數(shù),,那么,系統(tǒng)中就包含著周期項,,因為,,指數(shù)為復(fù)數(shù)的指數(shù)函數(shù)具有這樣的形式:
這里i為虛數(shù)單位。
此時,,系統(tǒng)的安全狀態(tài)會出現(xiàn)周期性的振動,,即會出現(xiàn)紅客與黑客之間的反復(fù)“拉鋸戰(zhàn)”,雖然雙方會各有勝負,,但是,,總體趨勢是向著對紅客不利的混亂和不安全方向發(fā)展。
為了使上面的討論更加形象,,現(xiàn)在考慮n=2,,即此時系統(tǒng)的不安全因素主要有兩個(比如“黑客攻擊”和“用戶操作失誤”這兩個宏觀的因素),那么方程組(1)就簡化為:
在可以展開為泰勒級數(shù)的假設(shè)下,,它的解為:
其中Q*1和Q*2是使f1=f2=0而得到的Q1和Q2的靜態(tài)解,G是積分常數(shù),;而λ(1)和λ(2)是特征方程(a11-λ)(a22-λ)-a12a21=0的根,,而此二次方程的根為:
λ=C/2±√[-D+C2/4]
其中,C=a11+a22, D=a11a22-a12a21,,√表示平方根,。
于是,可知:
?。?)若C<0,,D>0,E=C2-4D>0,,那么,,特征方程的兩個根都是負的,因而,系統(tǒng)就會隨著時間的伸展趨向于穩(wěn)定在靜止?fàn)顟B(tài)(Q*1,Q*2),,這時,,紅客將居于主動地位,系統(tǒng)的安全盡在掌控中,。
?。?)若C<D,D>0,,E=C2-4D<0,,那么,特征方程的兩個根都是帶有負實數(shù)部分的復(fù)數(shù)解,。此時,,隨著時間的發(fā)展,系統(tǒng)的“安全熵”(Q1,Q2)將沿一個螺旋狀的曲線軌跡而逼近靜止?fàn)顟B(tài)(Q*1,Q*2),,這時,,對紅客來說也是有利的。
?。?)若C=0,,D>0,E<0,,那么,,特征方程的兩個解都是虛數(shù),因此,,方程組的解中就包含有周期項,,就會出現(xiàn)圍繞靜止值的擺動或旋轉(zhuǎn),即代表“安全熵”的點(Q1,Q2)會圍繞靜止態(tài)(Q*1,Q*2)畫出一條封閉的曲線,,這時,,紅客與黑客難分勝負,雙方不斷地進行著“拉鋸戰(zhàn)”,。
?。?)若C>0,D>0,,E>0,,那么,特征方程的兩個解都是正數(shù),,此時,,完全不存在靜態(tài),或者說,,此時系統(tǒng)更混亂,,紅客完全失控,,只能眼睜睜地看著系統(tǒng)最終崩潰!
更進一步,,下面再來考慮n=1這種最簡單的情況,,此時,系統(tǒng)的不安全因素只有一個(比如黑客的破壞),。于是,,方程組(1)就簡化為方程:dQ/dt=f(Q)。若將f(Q)展開為泰勒級數(shù),,那么,,就得到如下方程:
dQ/dt=a1Q+a11Q2+…
此泰勒式中未包含常數(shù)項,因為,,我們可以假定:“不安全因素”不會自然發(fā)生,,即,系統(tǒng)剛剛被使用(t=0)的那一刻,,系統(tǒng)不會出現(xiàn)安全問題,。
如果粗略地只保留該泰勒級數(shù)中的第一項,那就有dQ/dt=a1Q,,這說明:系統(tǒng)的安全態(tài)勢將完全取決于常數(shù)a1是正還是負,。如果a1為負,那么“安全熵”整體上向減少的方向發(fā)展,,即系統(tǒng)的安全性會越來越好,,對紅客有利;如果a1為正,,那么“安全熵”整體上向增加的方向發(fā)展,,即系統(tǒng)的安全性會越來越差,對紅客不利,。而且,,系統(tǒng)的這種越來越安全(或越來越不安全)的態(tài)勢遵從指數(shù)定律:Q=Q0ea(1)t,其中,,Q0表示初始時刻(t=0)時系統(tǒng)的“安全熵”,;而a(1)是a1的等價表達式,這主要是為了簡化公式中足標(biāo)體系的復(fù)雜度(這是因為Q=Q0ea(1)t是方程dQ/dt=a1Q的解),。該指數(shù)定律表明:如果系統(tǒng)的安全態(tài)勢在向好的方面發(fā)展,,那么,,變好的速度會越來越快,;反之,如果系統(tǒng)的安全態(tài)勢在向壞的方面發(fā)展,,那么,,變壞的速度也會越來越快,,甚至瞬間崩潰!
如果再精細一點,,即,,保留上述泰勒級數(shù)的前兩項,于是,,就有方程:
dQ/dt=a1Q+a11Q2
該方程的解為Q=[a1cea(1)t]/[1-a11cea(1)t],。注意,隨著時間的延伸,,該解所畫出的曲線就是所謂的“對數(shù)曲線”,,它是一個趨向于某極限的S形曲線,也就是說,,此時,,從安全性角度來看,系統(tǒng)的變好和變壞,,還是有“底線”的,。
下面,我們再換一個角度來看系統(tǒng)安全,,即,,跳出系統(tǒng),完全以旁觀的第三方身份來看紅客與黑客之間如何“道高一尺魔高一丈”地“水漲船高”,。
此時,,影響系統(tǒng)安全性的因素只有兩個(即,紅客努力使系統(tǒng)變得更安全,,使“安全熵”不增,;而黑客卻努力要使系統(tǒng)不安全,增加“安全熵”),,而且,,假如這兩個因素之間還是相互獨立的,即,,各方都埋頭于自己的“攻”或“守”,,或者說,紅客(黑客)的“安全熵”隨時間變化的情況與黑客(紅客)的“安全熵”無關(guān),,而且還只考慮“主要矛盾”,,即,此時在方程組(3)中,,每個方程式只保留第1項,,其他系數(shù)都為0。于是,,方程組(3)被簡化為:
解此方程組,,可得其解為:Q1=c1ea(1)t和Q2=c2ea(2)t,,從中再解出時間t,可得:t=[lnQ1-lnc1]/a1=[lnQ2-lnc2]/a2,。設(shè)a=a1/a2,,b=c1/(c2)a,那么就有如下重要公式:
Q1=b(Q2)a
它說明紅客與黑客的“安全熵”(Q1和Q2)彼此之間是冪函數(shù)關(guān)系,,比如,,紅客維護系統(tǒng)安全所貢獻的“安全熵”是黑客破壞系統(tǒng)安全所增大“安全熵”的冪函數(shù)。為更清楚起見,,將上面式(5)重寫如下:
{[dQ1/dt][1/Q1]}:{[dQ2/dt][1/Q2]}=a或者dQ1/dt=a(Q1/Q2)(dQ2/dt)
這里,,前一部分說明:在只考慮紅客和黑客的“安全熵”(Q1和Q2)的前提下,,紅客使其“安全熵”的相對增長率([dQ1/dt][1/Q1])與黑客的“安全熵”的相對增長率([dQ2/dt][1/Q2])之間的比值竟然是常數(shù)!而后一部分,,更出人意料地表示:紅客“安全熵”的時變率(dQ1/dt)與黑客“安全熵”的時變率(dQ2/dt)之間的關(guān)系,竟然是如此簡潔,!
若a1>a2,即紅客“安全熵”Q1的增長率大于黑客“安全熵”Q2的增長率,,那么,,a=a1/a2>1,它表明紅客對系統(tǒng)整體安全性走勢的掌控力更強,;反過來,,若a1<a2,即紅客“安全熵”Q1的增長率小于黑客“安全熵”Q2的增長率,,那么,,a=a1/a2<1,它表明紅客對系統(tǒng)安全性走勢的掌控力不如黑客,。
再考慮泰勒級數(shù)方程組(3)的另一種情況:各個不安全因素彼此之間相互獨立(比如,,由文獻[1]可知,當(dāng)這些不安全因素就是系統(tǒng)安全“經(jīng)絡(luò)圖”中的全體“元誘因”時,,這些不安全因素之間就是相互獨立的),,此時,,方程組(3)就簡化為:
dQi/dt=ai1Qi+ai11(Qi)2+ai111(Qi)3+…
此時,,不安全因素對系統(tǒng)“安全熵”的整體影響,就等于每個不安全因素對系統(tǒng)“安全熵”各自影響的累加,,即此時有“整體等于部分和”,。
方程組(3)還有一種特殊情況值得單獨說明,即假如有某個不安全因素qs的泰勒展開式系數(shù)在各個方程中都很大,,而其他不安全因素的泰勒系數(shù)卻很小甚至為0,,那么,不安全因素qs就是不安全因素的主導(dǎo)部分,,系統(tǒng)的不安全性可能主要是由它而引發(fā),,因此,這樣的不安全因素qs就應(yīng)該是紅客關(guān)注的重點,,要盡力避免它成為系統(tǒng)崩潰的“導(dǎo)火索”,。
2結(jié)束語
雖然紅客與黑客在技術(shù)方面幾乎沒有區(qū)別,甚至他們的技術(shù)可以彼此通用,,但是,,作為系統(tǒng)安全的正、反兩種力量的代表,,他們在角色方面的差別還是很大的,,因此,值得專門設(shè)立篇幅來進行研究,。
如果說黑客的手段雜亂無章,,那么,紅客的手段更是一團亂麻(甚至紅客還會“好心辦壞事”,,即做一些本該黑客搞的破壞),,如何找到一條線索來把“這團亂麻”理清,這是一個嚴峻的挑戰(zhàn),。幸好我們偶然從文獻[1-8]中發(fā)現(xiàn)了一個總是伴隨著《安全通論》的“幽靈”,,即“熵”,而且,,運氣更好的是,,經(jīng)過分析,“熵”竟然與紅客的本質(zhì)密不可分,,而且還是解開“亂麻”的重要線索,。貝塔朗菲的《一般系統(tǒng)論》[9]對系統(tǒng)熵進行了恰到好處的研究,,因此,被本文深度參考,。文中的許多思路和方法都依賴于“系統(tǒng)論”,,只不過貝塔朗菲用它們?nèi)パ芯可锏男玛惔x系統(tǒng),而本文用它們來研究網(wǎng)絡(luò)系統(tǒng),;貝塔朗菲研究的是生物熵,,而此處研究的是“安全熵”而已。
本文揭示了紅客的實質(zhì)是“維護系統(tǒng)的安全熵”,,并詳細分析了系統(tǒng)“安全熵”的多種情況下的時變特性,。但是,到底應(yīng)該怎樣做才能夠有效地阻止“安全熵”變大的趨勢,?這當(dāng)然是一個重要而又困難的問題,,過去全球安全界的同行們做了許多“埋頭拉車”的具體工作,但是,,在“抬頭看路”方面還真的做得不夠,,比如:
(1)都說安全是“三分技術(shù),,七分管理”,,但是,真正落實到行動上時,,大家在“安全管理”方面花費的精力遠遠未達到“七分”,。因此,我們希望能夠在《安全通論》中,,專門開辟“管理篇”來詳細研究“如何用管理的辦法來維護系統(tǒng)的安全熵”,;
(2)及時反饋也是紅客維護“安全熵”并在必要時對其進行微調(diào)的重要辦法,,因此,,維納的《控制論》在《安全通論》中也應(yīng)該有特殊的地位,但是,,突破口確實很難找,。
對紅客的研究肯定不僅僅限于本文的這些內(nèi)容,但是,,為了盡快搭建起《安全通論》的核心骨架,,吸引全球盡可能多的安全專家來一起“挖金礦”,我們不得不先放棄一些細節(jié),,比如,,其實開放系統(tǒng)的“安全熵”永遠不會處于平衡狀態(tài),而是會維持在所謂的“穩(wěn)態(tài)”上,這與有機體的新陳代謝相同,,而且,,同樣具有“異因同果性”,即,,由不同的原因?qū)е孪嗤慕Y(jié)果,,比如,或者是因為“黑客太弱”,,或者是因為“紅客太強”,而使得系統(tǒng)的安全無恙,;反過來,,或者是因為“黑客太強”,或者是因為“紅客做了負功”,,而使得系統(tǒng)崩潰,。系統(tǒng)一旦達到“穩(wěn)態(tài)”,就必定表現(xiàn)出“異因同果性”,。
參考文獻
?。?] 楊義先,鈕心忻.安全通論(1)——經(jīng)絡(luò)篇[J].微型機與應(yīng)用,,2016,,35(15):1-4.
[2] 楊義先,,鈕心忻.安全通論(2)——攻防篇之“盲對抗”[J].微型機與應(yīng)用,,2016,35(16):1-5.
?。?] 楊義先,,鈕心忻,安全通論(3)——攻防篇之“非盲對抗”之“石頭剪刀布”[J].微型機與應(yīng)用,,2016,,35:(17)1-3.
[4] 楊義先,,鈕心忻,,安全通論(4)——攻防篇之“非盲對抗”之“童趣游戲”[J].微型機與應(yīng)用,2016,,35(18):3-5,,9.
[5] 楊義先,,鈕心忻,,安全通論(5)——攻防篇之“非盲對抗”之“勸酒令”[J].微型機與應(yīng)用,2016,35(19):2-6.
?。?] 楊義先,,鈕心忻,安全通論(6)——攻防篇之“多人盲對抗”[J].微型機與應(yīng)用,,2016,,35(20):1-4.
[7] 楊義先,,鈕心忻,,安全通論(7)——黑客篇之“戰(zhàn)術(shù)研究”[J].微型機與應(yīng)用,2016,,35(21):1-4.
?。?] 楊義先,鈕心忻,,安全通論(8)——黑客篇之“戰(zhàn)略研究”[J].微型機與應(yīng)用,,2016,35(22):1-5.
?。?] 馮·貝塔朗菲.一般系統(tǒng)論:基礎(chǔ),、發(fā)展和應(yīng)用(第1版)[M].林康義,魏宏森,,等,,譯.北京:清華大學(xué)出版社,1987.