楊義先,鈕心忻
(北京郵電大學(xué) 信息安全中心, 北京 100876)
?
安全通論(7)
——黑客篇之“戰(zhàn)術(shù)研究”
楊義先,鈕心忻
(北京郵電大學(xué) 信息安全中心, 北京 100876)
編者按:文章精確地描述了黑客的靜態(tài)形象,即,黑客可以用一個(gè)離散隨機(jī)變量X來描述,這里X的可能取值為{1,2,…,n},概率Pr(X=i)=pi,并且,p1+p2+…+pn=1。此外,作者還給出了在一定假設(shè)下,黑客的最佳動(dòng)態(tài)攻擊戰(zhàn)術(shù),即,當(dāng)黑客的資源投入比例為其靜態(tài)概率分布值時(shí),黑客的“黑產(chǎn)收入”達(dá)到最大值。特別是,在投入產(chǎn)出比均勻的前提下,黑客X的熵若減少1比特,那么,他的“黑產(chǎn)收入”就會(huì)翻一倍,換句話說,若黑客X的熵H(X)越小,那么,他就越厲害,他能夠通過攻擊行為獲得的“黑產(chǎn)收入”就越高!
楊義先 教授,博士生導(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ò)與信息安全、信號(hào)與信息處理等。
如果說安全的核心是對(duì)抗,那么,在對(duì)抗的兩個(gè)主角(攻方與守方)中,攻方(黑客)又是第一主角,因?yàn)?,紅客(守方)是因黑客(攻方)而誕生的。所以,很有必要對(duì)黑客,特別是他的攻擊策略,進(jìn)行更深入的研究。
廣義地說,系統(tǒng)(或組織)的破壞者,都統(tǒng)稱為“黑客”。他(它)們以擾亂既有秩序?yàn)槟康摹R虼?,癌?xì)胞、病菌、敵對(duì)勢(shì)力、災(zāi)難、間諜等都是黑客。但是,為了聚焦,本文以常言的“網(wǎng)絡(luò)黑客”為主要研究對(duì)象,雖然這里的結(jié)果和研究方法其實(shí)適用于所有黑客。
黑客的攻擊肯定是有代價(jià)的,這種代價(jià)可能是經(jīng)濟(jì)代價(jià)、政治代價(jià)或時(shí)間代價(jià)。同樣,黑客想要達(dá)到的目標(biāo)也可能是經(jīng)濟(jì)目標(biāo)、政治目標(biāo)或時(shí)間目標(biāo)。因此,至少可以粗略地將黑客分為經(jīng)濟(jì)黑客、政治黑客和時(shí)間黑客。
經(jīng)濟(jì)黑客:只關(guān)注自己能否獲利,并不在乎是否傷及對(duì)方。有時(shí),自己可以承受適當(dāng)?shù)慕?jīng)濟(jì)代價(jià),但是,整體上要贏利。賠本的買賣是不做的,他們肯定不是“活雷鋒”。因此,經(jīng)濟(jì)黑客的目標(biāo)就是:以最小的開銷來攻擊系統(tǒng),并獲得最大的收益。只要準(zhǔn)備就緒,經(jīng)濟(jì)黑客隨時(shí)可發(fā)動(dòng)進(jìn)攻。
政治黑客:不計(jì)代價(jià),一定要傷及對(duì)方要害,甚至有時(shí)還有更明確的攻擊目標(biāo),不達(dá)目的不罷休。他們隨時(shí)精確瞄準(zhǔn)目標(biāo),但是只在關(guān)鍵時(shí)刻才“扣動(dòng)板機(jī)”。最終成敗取決于若干偶然因素,比如,目標(biāo)突然移動(dòng)(紅客突然出新招)、準(zhǔn)備不充分(對(duì)紅客的防御情況了解不夠)或突然刮來一陣風(fēng)(系統(tǒng)無意中的變化)等。
時(shí)間黑客:希望在最短的時(shí)間內(nèi)攻破紅客的防線,而且,使被攻擊系統(tǒng)的恢復(fù)時(shí)間盡可能地長。
從純理論角度來看,其實(shí)沒必要去區(qū)分上述三種黑客。下面為了形象計(jì),也為了量化計(jì),我們重點(diǎn)考慮經(jīng)濟(jì)黑客,即,黑客想以最小的經(jīng)濟(jì)開銷來獲取最大的經(jīng)濟(jì)利益。
先講一個(gè)故事:我是一個(gè)“臭手”,面向墻壁射擊。雖然,我命中墻上任一特定點(diǎn)的概率都為零,但是,只要板機(jī)一響,我一定會(huì)命中墻上某點(diǎn),而這本來是一個(gè)“概率為零”的事件。因此,“我總會(huì)命中墻上某一點(diǎn)”這個(gè)概率為1的事件,就可以由許多“概率為零的事件(命中墻上某一指定點(diǎn))”的集合構(gòu)成。
再將上述故事改編成“有限和”情況:我先在墻上畫滿(有限個(gè))馬賽克格子,那么,“我總會(huì)命中某一格子”這個(gè)概率為1的事件,便可以由有限個(gè)“我命中任何指定格子”這些“概率很小,幾乎為零的事件”的集合構(gòu)成?;蛘?,更準(zhǔn)確地說,假設(shè)墻上共有n個(gè)馬賽克格子,那么,我的槍法就可以用隨機(jī)變量X來完整地描述:如果我擊中第i(1≤i≤n)個(gè)格子的事件(記為X=i)的概率為pi,那么,p1+p2+…+pn=1。
現(xiàn)在,讓黑客代替“我”,讓(有限)系統(tǒng)代替那面墻。
安全界有一句老話,也許是重復(fù)率最高的話,“安全是相對(duì)的,不安全才是絕對(duì)的”??墒牵^去大家僅將這句話當(dāng)成“口頭禪”,而沒有意識(shí)到它其實(shí)是一個(gè)很重要的公理。
安全公理:對(duì)任何(有限)系統(tǒng)來說,安全都是相對(duì)的,不安全才是絕對(duì)的,即,“系統(tǒng)不安全,總可被黑客攻破”這個(gè)事件的概率為1。
根據(jù)該安全公理可知,雖然黑客命中“某一點(diǎn)”(攻破系統(tǒng)的指定部分)的概率幾乎為零,但是,黑客“擊中墻”(最終攻破系統(tǒng))是肯定的,概率為1。
黑客可以有至少兩種方法在“墻上”畫馬賽克格子:
畫馬賽克格子的第一種辦法:鎖定目標(biāo),黑客從自己的安全角度出發(fā),畫出系統(tǒng)的安全經(jīng)絡(luò)圖[1],然后,以每個(gè)“元誘因”(或“穴位”)為一個(gè)“馬賽克格子”。假如,系統(tǒng)的安全經(jīng)絡(luò)圖中共有n個(gè)“元誘因”,那么,黑客的(靜態(tài))攻擊能力就可以用隨機(jī)變量X來完整地描述:如果黑客摧毀第i(1≤i≤n)個(gè)“元誘因”,記為X=i,其概率為pi,那么,p1+p2+…+pn=1。
這種“元誘因馬賽克畫法”的根據(jù)是:系統(tǒng)出現(xiàn)不安全問題的充分必要條件是某個(gè)(或某些)“元誘因”不安全[1]。
“元誘因馬賽克”的缺點(diǎn)是參數(shù)體系較復(fù)雜,但是,它的優(yōu)點(diǎn)很多,比如,可以同時(shí)適用于多目標(biāo)攻擊,安全經(jīng)絡(luò)可以長期積累、永遠(yuǎn)傳承等。根據(jù)安全經(jīng)絡(luò)圖可知,“安全”同時(shí)具有“波”和“粒子”的雙重性質(zhì),或者說,具有“確定性”和“概率性”兩種性質(zhì)。更具體地說,任何不安全事件的“元誘因”的“確定性”更濃,而“素誘因”和“素事件”的“概率性”更濃。充分認(rèn)識(shí)安全的波粒二象性,將有助于深刻理解安全的實(shí)質(zhì),有助于理解《安全通論》的研究方法和思路。
畫馬賽克格子的第二種辦法:經(jīng)過長期準(zhǔn)備和反復(fù)測(cè)試,黑客共掌握了全部n種可能攻破系統(tǒng)的方法,于是,黑客的攻擊能力可以用隨機(jī)變量X完整地描述為:當(dāng)黑客用第i種方法攻破系統(tǒng),記為X=i(1≤i≤n),其概率為pi,這里,p1+p2+…+pn=1,0 說明:能夠畫出這“第二種馬賽克格子”的黑客肯定是存在的,比如,長期以“安全檢測(cè)人員”這種紅客身份掩護(hù)著的臥底,就是這類黑客的代表。雖然,必須承認(rèn),要想建立完整的武器庫,即,掌握攻破系統(tǒng)的全部攻擊方法,或完整地描述上述隨機(jī)變量X,確實(shí)是非常困難的,但是,從理論上看是可行的。 當(dāng)然,也許還有其他方法來畫“馬賽克格子”,不過它們的實(shí)質(zhì)都是一樣的,即,黑客可以靜態(tài)地用一個(gè)離散隨機(jī)變量X來描述,這里X可能取值為{1,2,…,n},概率Pr(X=i)=pi,并且p1+p2+…+pn=1。 黑客的動(dòng)態(tài)行為千變?nèi)f化,首先必須清理場景,否則,根本無法下手。 為使相關(guān)解釋更形象,本節(jié)采用上述第一種“馬賽克格子畫法”,即,黑客是一個(gè)離散隨機(jī)變量,他攻破第i個(gè)“元誘因”(記為X=i,1≤i≤n)的概率為pi,這里,p1+p2+…+pn=1,0 任何攻擊都是有代價(jià)的,并且,如果黑客的技術(shù)已經(jīng)足夠好,那么,整體上來說是“投入越多,收益越多”。 設(shè)黑客攻破第i個(gè)“元誘因”的“投入產(chǎn)出比”為di(1≤i≤n),即,若為攻擊第i個(gè)“元誘因”黑客投入了1元錢,那么,一旦攻擊成功(其概率為pi)后,黑客將獲得di元的收入;當(dāng)然,如果攻擊失敗,那么,黑客的這1塊錢就全賠了。 根據(jù)文獻(xiàn)[1]可知,任何一個(gè)“元誘因”被攻破后,系統(tǒng)也就被攻破了,不再安全了。因此,為了盡量避免被紅客發(fā)現(xiàn),盡量少留“作案痕跡”,我們假定:在攻擊過程中,黑客只要發(fā)現(xiàn)有一個(gè)“元誘因”被攻破了,那么,他就立即停止本次攻擊,哪怕繼續(xù)攻破其他“元誘因”還可以獲得額外的收入,哪怕對(duì)其他“元誘因”的“攻擊投資”被浪費(fèi)。 設(shè)黑客共有M元用于攻擊的“種子資金”,如果他把這些資金全部投入到攻擊他認(rèn)為最有可能成功的某個(gè)“元誘因”(比如最大的那個(gè)pi),那么,假如黑客最終成功地攻破了第i個(gè)“元誘因”(其概率為pi),則此時(shí)黑客的資金總數(shù)就變成Mdi,但是,假如黑客攻擊失敗(其概率為1-pi),則他的資金總數(shù)就瞬間變成了零??梢?,從經(jīng)濟(jì)上來說,黑客的這種“孤注一擲”戰(zhàn)術(shù)的風(fēng)險(xiǎn)太大,不宜采用。 我們還假定:為了躲開紅客的對(duì)抗,黑客選擇紅客不在場時(shí)才發(fā)起攻擊,比如,黑客每天晚上對(duì)目標(biāo)系統(tǒng)進(jìn)行(一次)攻擊。當(dāng)然,這里還有一個(gè)暗含的假設(shè),即,黑客每天晚上都能夠成功地把系統(tǒng)攻破一次,其實(shí),這個(gè)假設(shè)也是合理的,因?yàn)椋绻?jīng)過K個(gè)晚上的艱苦攻擊才能攻破系統(tǒng),那么,把這K天壓縮成“一晚”就行了。 單看某一天的情況,很難對(duì)黑客的攻擊戰(zhàn)術(shù)提出任何建議。不過,如果假定黑客連續(xù)m天晚上對(duì)目標(biāo)系統(tǒng)進(jìn)行“每日一次”的攻擊,那么,確實(shí)存在某種攻擊戰(zhàn)術(shù),能使得黑客的盈利情況在某種意義上達(dá)到最佳。 為簡化下足標(biāo),本文對(duì)bi和b(i)交替使用,不加區(qū)別。 如果黑客每天晚上都對(duì)他的全部資金按相同的分配比例b=(b1,b2,…,bn)來對(duì)系統(tǒng)的各“元誘因”進(jìn)行攻擊。那么,m個(gè)晚上之后,黑客的資產(chǎn)就變?yōu)椋?/p> 這里S(X)=b(X)d(X),Xi是1~n之間的某個(gè)正整數(shù),它表示在第i天晚上,被(首先)攻破的那個(gè)“元誘因”的編號(hào),所以,X1、X2、…、Xm是獨(dú)立同分布的隨機(jī)變量,設(shè)該分布是p(x),于是有如下定理: 定理1 若每天晚上黑客都將其全部資金按比例b=(b1,b2,…,bn)分配,來對(duì)系統(tǒng)的各“元誘因”進(jìn)行攻擊,那么,m天之后,黑客的資產(chǎn)就變?yōu)椋?/p> Sm=M2mw(b,p) 證明:由于獨(dú)立隨機(jī)變量的函數(shù)也是獨(dú)立的,所以,logS(X1)、logS(X2)、…、logS(Xm)也是獨(dú)立同分布的,由弱大數(shù)定律,可得: 于是,Sm=M2mw(b,p)。證畢。 由于黑客的資產(chǎn)按照2mw(b,p)的方式增長(這也是把W(b,p)稱為“雙倍率”的根據(jù)),因此,只需要尋找某種資金分配戰(zhàn)術(shù)b=(b1,b2,…,bn),使得雙倍率W(b,p)最大即可。 定義1 如果某種戰(zhàn)術(shù)分配b,使得雙倍率W(b,p)達(dá)到最大值W*(p),那么,就稱該值為最優(yōu)雙倍率,即: J(b)=∑pkln(bkdk)+λ∑bi 關(guān)于bi求導(dǎo)得到: ?J/?bi=pi/bi+λ,i=1,2,…,n 為了求得最大值,令偏導(dǎo)數(shù)為0,從而得出: bi=-pi/λ 證明:將雙倍率W(b,p)重新改寫,使得容易看出何時(shí)取最大值: W(b,p) =∑pklog(bkdk) =∑pklog[(bk/pk)pkdk)] =∑pklogdk-H(p)-D(p│b) ≤∑pklogdk-H(p) 這里D(p|b)是隨機(jī)變量p和b的相對(duì)熵[7]。而當(dāng)b=p時(shí),可直接驗(yàn)證上述等式成立。證畢。 從定理2可知:對(duì)于一個(gè)可用離散隨機(jī)變量X(Pr(X=i)=pi,并且,p1+p2+…+pn=1)來靜態(tài)描述的黑客,他的動(dòng)態(tài)最佳攻擊戰(zhàn)術(shù)也是(p1,p2,…,pn),即,將攻擊資金按比例(p1,p2,…,pn)分配后,可得到最多的“黑產(chǎn)收入”。 下面再對(duì)定理2進(jìn)行一些更細(xì)致的討論,有: 定理3 如果攻破每個(gè)“元誘因”的投入產(chǎn)出比是相同的,即,各個(gè)di彼此相等,都等于a,那么此時(shí)的最優(yōu)化雙倍率W*(p)=loga-H(p),即,最佳雙倍率與熵之和為常數(shù),并且,若按比例b*=p分配攻擊資金,那么,此種戰(zhàn)術(shù)的攻擊業(yè)績便可達(dá)到最大值。此時(shí),第m天之后,黑客的財(cái)富變成Sm=M2m[loga-H(p)]。而且,黑客的熵若減少1比特,那么,他的財(cái)富就會(huì)翻一倍! 如果并不知道每個(gè)di的具體值,而只知道∑1/di=1,此時(shí),記ri=1/di,于是,雙倍率可以重新寫為: W(b,p) =∑pklog(bkdk) =∑pklog[(bk/pk)pkdk)] =D(p|r)-D(p|b) 由此可見雙倍率與相對(duì)熵之間存在著非常密切的關(guān)系。 由于黑客每天晚上都要攻擊系統(tǒng),他一定會(huì)總結(jié)一些經(jīng)驗(yàn)來提高攻擊效果。更準(zhǔn)確地說,可以假設(shè)黑客知道了攻破系統(tǒng)的某種邊信息Y,它也是一個(gè)隨機(jī)變量。 設(shè)X∈{1,2,…,n}為第X個(gè)“元誘因”,攻破它的概率為p(x),而攻擊它的投入產(chǎn)出比為d(x)。設(shè)(X,Y)的聯(lián)合概率密度函數(shù)為p(x,y)。用b(x|y)≥0,∑xb(x|y)=1記為已知邊信息Y的條件下,黑客對(duì)攻擊資金的分配比例。此處b(x|y)理解為:當(dāng)?shù)弥畔的條件下,用來攻擊第x個(gè)“元誘因”的資金比例。對(duì)照前面的記號(hào),將b(x)≥0,∑xb(x)=1表示為無條件下,黑客對(duì)攻擊資金的分配比例。 設(shè)無條件雙倍率和條件雙倍率分別為: W(X)=maxb(x)∑xp(x)log[b(x)d(x)] W(X|Y)=maxb(x|y)∑x,yp(x,y)log[b(x|y)d(x)] 再設(shè): ΔW=W(X|Y)-W(X) 對(duì)于獨(dú)立同分布的“攻擊元誘因”序列(Xi,Yi),可以看到:當(dāng)具有邊信息Y時(shí),黑客的相對(duì)收益增長率為2mw(X|Y);當(dāng)黑客無邊信息時(shí),他的相對(duì)收益增長率為2mw(X)。 定理4 由于獲得攻擊“元誘因”X的邊信息Y,而引起的雙倍率增量ΔW滿足ΔW=I(X;Y)。這里I(X;Y)是隨機(jī)變量X和Y的互信息。 證明:在有邊信息的條件下,按照條件比例分配攻擊資金,即,b*(x|y)=p(x|y),那么關(guān)于邊信息Y的條件雙倍率W(X|Y)可以達(dá)到最大值。于是: W(X|Y) =maxb(x|y)E[logS] =maxb(x|y)∑p(x,y)log[d(x)b(x|y)] =∑p(x,y)log[d(x)p(x|y)] =∑p(x)logd(x)-H(X|Y) 當(dāng)無邊信息時(shí),最優(yōu)雙倍率為: W(X)=∑p(x)logd(x)-H(X) 從而,由于邊信息Y的存在,而導(dǎo)致的雙倍率的增量為: ΔW=W(X|Y)-W(X)=H(X)-H(X|Y)=I(X;Y)證畢。 此處雙倍率的增量正好是邊信息Y與“元誘因”X之間的互信息。因此,如果邊信息Y與“元誘因”X相互獨(dú)立,那么,雙倍率的增量就為0。 設(shè)Xk是黑客第k天攻破的“元誘因”的序號(hào),假如各{Xk}之間不是獨(dú)立的,又假設(shè)每個(gè)dk彼此相同,都等于a。于是,黑客根據(jù)隨機(jī)過程{Xk}來決定第(k+1)天的最佳攻擊資金分配方案(即最佳雙倍率)為: W(Xk|Xk-1,Xk-2,…,X1)=E[maxE[logS(Xk)|Xk-1,Xk-2,…,X1]]=loga-H(Xk|Xk-1,Xk-2,…,X1) 這里的最大值max是針對(duì)所有滿足如下條件的邊信息攻擊資金分配方案而取的:b(x|Xk-1,Xk-2,…,X1)≥0,∑xb(x|Xk-1,Xk-2,…,X1)=1。 而且,該最優(yōu)雙倍率可以在b(xk|xk-1,xk-2,…,x1)=p(xk|xk-1,xk-2,…,x1)時(shí)達(dá)到。 第m天晚上的攻擊結(jié)束后,黑客的總資產(chǎn)變成: 并且,其增長率的指數(shù)為: (ElogSm)/m=[∑Elog(S(Xi))]/m =[∑(loga-H(Xi|Xi-1,Xi-2,…,X1))]/m =(n/m)loga-[H(X1,X2,…,Xm)]/m 這里[H(X1,X2,…,Xm)]/m是黑客m天攻擊的平均熵。對(duì)于熵率為H(χ)的平衡隨機(jī)過程,對(duì)上述增長率指數(shù)公式的兩邊取極限,可得: Limm→∞[ElogSm]/m+H(χ)=loga 這再一次說明,熵率與雙倍率之和為常數(shù)。 文獻(xiàn)[1]~[6]奠定了《安全通論》的兩個(gè)重要基石:安全經(jīng)絡(luò)、安全攻防。本文開始,我們將努力奠定《安全通論》的第三塊重要基石:黑客。 沒有黑客就沒有安全問題,也更不需要《安全通論》??上?,黑客不但有,還越來越多,而且其外在表現(xiàn)形式還千奇百怪,因此,有必要專門對(duì)黑客進(jìn)行系統(tǒng)深入的研究。 本文雖然徹底解決了黑客的靜態(tài)描述問題,即,黑客其實(shí)就是一個(gè)隨機(jī)變量X,它(他)的破壞力由X的概率分布函數(shù)F(x)(或概率密度函數(shù)p(x))來決定。但是,關(guān)于黑客的動(dòng)態(tài)描述問題,還遠(yuǎn)未解決,本文只是在若干假定之下,給出了黑客攻擊的最佳戰(zhàn)術(shù)。歡迎有興趣的讀者來研究黑客的其他攻擊行為的最佳戰(zhàn)術(shù)。 [1] 楊義先,鈕心忻.安全通論(1)——經(jīng)絡(luò)篇[J].微型機(jī)與應(yīng)用,2016,35(15):1-4. [2] 楊義先,鈕心忻.安全通論(2)——攻防篇之“盲對(duì)抗”[J].微型機(jī)與應(yīng)用,2016,35(16):1-5. [3] 楊義先,鈕心忻.安全通論(3)——攻防篇之“非盲對(duì)抗”之“石頭剪刀布”[J].微型機(jī)與應(yīng)用,2016,35(17):1-3. [4] 楊義先,鈕心忻.安全通論(4)——攻防篇之“非盲對(duì)抗”之“童趣游戲”[J].微型機(jī)與應(yīng)用,2016,35(18):3-5,9. [5] 楊義先,鈕心忻.安全通論(5)——攻防篇之“非盲對(duì)抗”之“勸酒令”[J].微型機(jī)與應(yīng)用,2016,35(19):2-6.[6] 楊義先,鈕心忻.安全通論(6)——攻防篇之“多人盲對(duì)抗”[J].微型機(jī)與應(yīng)用,2016,35(20):1-4. [7] COVER T M, THOMAS J A.信息論基礎(chǔ)[M].阮吉壽,張華,譯.北京:機(jī)械工業(yè)出版社,2007. (本文轉(zhuǎn)載自科學(xué)網(wǎng)楊義先博客,原文網(wǎng)絡(luò)鏈接地址:http://blog.sciencenet.cn/blog-453322-956051.html。未完待續(xù),系列之八《安全通論(8)——黑客篇之“戰(zhàn)略研究”》見下期)2 黑客的動(dòng)態(tài)描述
3 結(jié)束語