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