趙昊,舒輝,康緋,邢穎
基于智能合約的高對(duì)抗性僵尸網(wǎng)絡(luò)研究
趙昊,舒輝,康緋,邢穎
(數(shù)學(xué)工程與先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室,河南 鄭州 450001)
區(qū)塊鏈技術(shù)的發(fā)展與應(yīng)用使構(gòu)建更為魯棒和靈活的僵尸網(wǎng)絡(luò)命令控制信道成為可能。為了更好地研究這類潛在的新型僵尸網(wǎng)絡(luò)威脅,提出基于區(qū)塊鏈智能合約的高對(duì)抗性僵尸網(wǎng)絡(luò)模型——SCBot。SCBot模型采用分層混合拓?fù)浣Y(jié)構(gòu),在僵尸子網(wǎng)層構(gòu)建基于智能合約的命令傳遞信道,并建立可信度評(píng)估機(jī)制判別節(jié)點(diǎn)真實(shí)性,從流量和終端兩大層面提升網(wǎng)絡(luò)的對(duì)抗性。模擬構(gòu)建小型的僵尸網(wǎng)絡(luò)集群,對(duì)SCBot的命令傳遞效率和魯棒性進(jìn)行了對(duì)比實(shí)驗(yàn),并從經(jīng)濟(jì)成本角度分析其在現(xiàn)實(shí)環(huán)境中的可行性。最后對(duì)該類型僵尸網(wǎng)絡(luò)的防御策略做簡(jiǎn)要分析和討論。
網(wǎng)絡(luò)安全;僵尸網(wǎng)絡(luò);命令控制;區(qū)塊鏈;智能合約
僵尸網(wǎng)絡(luò)被視為網(wǎng)絡(luò)空間安全的重大威脅之一[1],用于發(fā)動(dòng)DDoS、垃圾郵件、點(diǎn)擊欺詐和敏感信息竊取等大規(guī)模網(wǎng)絡(luò)攻擊活動(dòng)。僵尸網(wǎng)絡(luò)本質(zhì)上可看作發(fā)動(dòng)大規(guī)模網(wǎng)絡(luò)攻擊的基礎(chǔ)設(shè)施平臺(tái),由數(shù)以萬(wàn)計(jì)的受控計(jì)算機(jī)或物聯(lián)網(wǎng)設(shè)備組成。僵尸控制者通過(guò)命令控制(C&C, command and control)信道,實(shí)現(xiàn)對(duì)僵尸成員節(jié)點(diǎn)的一對(duì)多遠(yuǎn)程管理。實(shí)際上,C&C機(jī)制是僵尸網(wǎng)絡(luò)的核心所在,唯一決定一種僵尸網(wǎng)絡(luò)。從最傳統(tǒng)的中心結(jié)構(gòu)到分布式的P2P結(jié)構(gòu),僵尸網(wǎng)絡(luò)信道的拓?fù)浼軜?gòu)不斷演變。雖然出現(xiàn)了Domain-Fluxing、Fast-Fluxing和Tor網(wǎng)絡(luò)等方法用于保護(hù)C&C服務(wù)器,但中心化的本質(zhì)避免不了“單點(diǎn)失效”的固有缺陷。而更為復(fù)雜的P2P網(wǎng)絡(luò)結(jié)構(gòu),存在難以部署、易受監(jiān)視和索引污染等問(wèn)題。從協(xié)議層面看,所有的應(yīng)用層協(xié)議(如IRC、HTTP、DNS)或者自定義P2P協(xié)議等可作為僵尸網(wǎng)絡(luò)通信協(xié)議。近年來(lái),僵尸網(wǎng)絡(luò)設(shè)計(jì)者嘗試使用如云平臺(tái)[2]和社交網(wǎng)絡(luò)[3]等公共服務(wù)來(lái)提升C&C信道的彈性和魯棒性。
比特幣[4]作為區(qū)塊鏈技術(shù)的首個(gè)大規(guī)模應(yīng)用,取得了空前的成功,成為眾所周知的數(shù)字加密貨幣。區(qū)塊鏈技術(shù)展現(xiàn)了匿名性、不可篡改性和去中心化等優(yōu)勢(shì)特性,不僅在數(shù)字貨幣領(lǐng)域廣泛應(yīng)用,而且引起了程序開(kāi)發(fā)人員的關(guān)注,將其作為安全解決方案應(yīng)用于軟件[5]、汽車[6]和化工行業(yè)[7]等領(lǐng)域。然而,區(qū)塊鏈技術(shù)本身吸引了網(wǎng)絡(luò)攻擊者的注意。其中最明顯的例子是區(qū)塊鏈?zhǔn)构粽吣軌蛟诂F(xiàn)有公共區(qū)塊鏈的基礎(chǔ)上建立更具彈性和可用性的僵尸網(wǎng)絡(luò)[8]。隨著區(qū)塊鏈技術(shù)的普及,網(wǎng)絡(luò)中與之相關(guān)的流量變得越來(lái)越普遍,而區(qū)塊鏈的底層網(wǎng)絡(luò)則提供了分布式P2P通道,僵尸網(wǎng)絡(luò)可直接基于此構(gòu)建命令控制信道而無(wú)須自定義P2P協(xié)議。因此,基于區(qū)塊鏈的僵尸網(wǎng)絡(luò)C&C機(jī)制不同于傳統(tǒng)僵尸網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)或通信協(xié)議,具有高度匿名、流量隱蔽和強(qiáng)認(rèn)證性等特點(diǎn),難以被檢測(cè)、發(fā)現(xiàn)和接管,是潛在的新型網(wǎng)絡(luò)安全威脅。在國(guó)內(nèi)尚缺乏針對(duì)此類僵尸網(wǎng)絡(luò)的系統(tǒng)性研究的背景下,開(kāi)展這方面的研究工作,具有十分重要的理論價(jià)值和現(xiàn)實(shí)意義。
本文的主要貢獻(xiàn)如下:①綜述現(xiàn)有的基于區(qū)塊鏈構(gòu)建僵尸網(wǎng)絡(luò)命令控制信道的相關(guān)研究,總結(jié)現(xiàn)有方案的原理和實(shí)現(xiàn)過(guò)程,分析這類方案存在的不足和局限性;②簡(jiǎn)要闡述區(qū)塊鏈智能合約的技術(shù)原理,從理論上說(shuō)明該技術(shù)用于僵尸網(wǎng)絡(luò)命令控制機(jī)制的優(yōu)勢(shì)特性;③提出基于區(qū)塊鏈智能合約的僵尸網(wǎng)絡(luò)信道模型SCBot,該模型采用分層混合P2P結(jié)構(gòu),構(gòu)建基于智能合約進(jìn)行命令傳遞的僵尸子網(wǎng)層,并加入節(jié)點(diǎn)可信度評(píng)估機(jī)制提升對(duì)抗性;④模擬構(gòu)建小型的僵尸網(wǎng)絡(luò)集群,從命令傳遞效率和魯棒性等方面對(duì)SCBot做對(duì)比試驗(yàn),并從經(jīng)濟(jì)成本角度分析其可行性;⑤對(duì)該類型僵尸網(wǎng)絡(luò)的防御策略做簡(jiǎn)要分析和討論。
區(qū)塊鏈技術(shù)的出現(xiàn)引起了僵尸網(wǎng)絡(luò)設(shè)計(jì)者的注意,使建立更加魯棒和更具彈性的僵尸網(wǎng)絡(luò)命令控制機(jī)制成為可能,這促使學(xué)術(shù)界對(duì)這一問(wèn)題開(kāi)展研究,以應(yīng)對(duì)可能到來(lái)的新型僵尸網(wǎng)絡(luò)安全威脅。Ali等[9]在2015年提出的ZombieCoin中討論了使用公共區(qū)塊鏈構(gòu)建僵尸網(wǎng)絡(luò)C&C信道的可能性,文中列舉了在比特幣區(qū)塊鏈中存儲(chǔ)和隱藏僵尸網(wǎng)絡(luò)命令的4種方法:一是利用交易中的OP_RETURN字段,該字段被允許寫(xiě)入任意數(shù)據(jù),長(zhǎng)度限制為80 B;二是利用unspent output,由數(shù)據(jù)本身直接生成實(shí)際不存在的賬戶地址,并向其發(fā)送少量比特幣,最多可保存20 B的數(shù)據(jù);三是利用比特幣中的橢圓曲線數(shù)字簽名算法(ECDSA),通過(guò)選擇相同的隨機(jī)因子派生私鑰來(lái)傳播最多32 B的數(shù)據(jù),但每次都需要發(fā)起兩筆交易來(lái)實(shí)現(xiàn);四是利用簽名算法的隨機(jī)性,通過(guò)重復(fù)創(chuàng)建簽名,使前位與預(yù)編碼命令字符串一致,這種方法與正常交易無(wú)異,隱蔽性更好。Frkat等[10]深入研究了ZombieCoin中提及的利用比特幣數(shù)字簽名嵌入隱藏信息的思想,提出了ChainChannels方案,用更隱蔽和先進(jìn)的方法隱藏僵尸網(wǎng)絡(luò)C&C活動(dòng)。此外,Curran和Geist[11]提出利用區(qū)塊鏈的OP_RETURN域作為中心化僵尸網(wǎng)絡(luò)的備份機(jī)制——Floating C&C Server,在原C&C服務(wù)器不可用的情況下,在比特幣區(qū)塊鏈上發(fā)布備用C&C服務(wù)器的地址信息。
利用比特幣作為僵尸網(wǎng)絡(luò)C&C機(jī)制的方案受限于字段長(zhǎng)度,不能夠完全適應(yīng)C&C信道的需求。除了比特幣,在以太坊平臺(tái)上利用智能合約構(gòu)建僵尸網(wǎng)絡(luò)C&C通道也是一種思路。與比特幣交易不同,智能合約具有圖靈完備性,可承載較大的信息容量,提供更豐富的應(yīng)用場(chǎng)景,允許程序功能直接部署到區(qū)塊鏈上。Majid等[12]討論了基于以太坊智能合約構(gòu)建僵尸網(wǎng)絡(luò)C&C的可能性,提出了Botract這一概念,具體說(shuō)明了如何編寫(xiě)智能合約實(shí)現(xiàn)僵尸網(wǎng)絡(luò)命令的發(fā)布與獲取。Zohar[13]提出把僵尸控制者和僵尸節(jié)點(diǎn)之間的所有通信都通過(guò)以太坊智能合約來(lái)完成,并完成了概念驗(yàn)證——Unblockable Chains。然而,這兩種基于智能合約的方案僅停留在理論驗(yàn)證階段,并沒(méi)有結(jié)合僵尸網(wǎng)絡(luò)實(shí)際特性進(jìn)行測(cè)試或仿真,智能合約作為真實(shí)僵尸網(wǎng)絡(luò)C&C機(jī)制的可行性和實(shí)用性有待進(jìn)一步論證和研究。
區(qū)塊鏈?zhǔn)且环N去中心化的分布式賬本技術(shù),記錄了transaction(交易)數(shù)據(jù)的block(區(qū)塊)按照時(shí)間順序前后連接組成區(qū)塊鏈[14]。在區(qū)塊鏈的P2P網(wǎng)絡(luò)中,每個(gè)full node(全節(jié)點(diǎn))都在本地維護(hù)完整的區(qū)塊鏈數(shù)據(jù)副本。區(qū)塊鏈綜合運(yùn)用了包括數(shù)據(jù)庫(kù)、分布式系統(tǒng)和密碼算法等成熟技術(shù),確保transaction的安全性和不可篡改性。
區(qū)塊鏈系統(tǒng)的運(yùn)行主要由以下幾個(gè)步驟組成。
(1)發(fā)起transaction,然后取hash值,用private key(私鑰)簽名后提交發(fā)送至區(qū)塊鏈網(wǎng)絡(luò)。
(2)由網(wǎng)絡(luò)中的其他node共同驗(yàn)證和審核transaction的合法性。
(3)獲得記賬權(quán)的node打包transaction并發(fā)布新block。
(4)新的block被廣播到P2P網(wǎng)絡(luò),通過(guò)共識(shí)算法同步到每一個(gè)node。
基于區(qū)塊鏈的僵尸網(wǎng)絡(luò)命令控制信道可以形式化表示為
其中,Botmaster是僵尸網(wǎng)絡(luò)的控制者,即信息的發(fā)布者;Bot表示受控僵尸主機(jī)上的僵尸程序集合,即信息的接收方,在區(qū)塊鏈網(wǎng)絡(luò)中可看作客戶端節(jié)點(diǎn);表示傳遞的信息數(shù)據(jù);表示信息的傳輸過(guò)程,在區(qū)塊鏈網(wǎng)絡(luò)中也可視為節(jié)點(diǎn)同步過(guò)程。
假設(shè)基于區(qū)塊鏈的僵尸網(wǎng)絡(luò)中共有個(gè)僵尸節(jié)點(diǎn),并且考慮到僵尸網(wǎng)絡(luò)控制者Botmaster需要構(gòu)造并發(fā)送交易,因此可視為區(qū)塊鏈節(jié)點(diǎn),則Botmaster和Bot可分別表示為
命令控制信道的目標(biāo)是把Botmaster發(fā)布的指令信息數(shù)據(jù)通過(guò)傳輸過(guò)程發(fā)送至各個(gè)Bot節(jié)點(diǎn),如式(4)所示。
當(dāng)Botmaster將發(fā)布的指令信息以交易的形式發(fā)送至區(qū)塊鏈網(wǎng)絡(luò)后,假設(shè)節(jié)點(diǎn)n最先接收到該信息,那么之后該信息在區(qū)塊鏈底層P2P網(wǎng)絡(luò)中傳播的對(duì)等通信過(guò)程可表示為
智能合約是區(qū)塊鏈技術(shù)最重要的應(yīng)用領(lǐng)域之一。從技術(shù)角度來(lái)說(shuō),智能合約可看作可自我執(zhí)行和自我驗(yàn)證的計(jì)算機(jī)程序[15]。在部署智能合約之前,與合約相關(guān)的所有條款的邏輯流程已經(jīng)被制定。以太坊是用來(lái)設(shè)計(jì)和部署智能合約的重要平臺(tái),通過(guò)外部賬戶和合約賬戶的機(jī)制實(shí)現(xiàn)智能合約的部署和調(diào)用。某種程度上,智能合約可視為托管在區(qū)塊鏈上自動(dòng)運(yùn)行的程序。開(kāi)放的社區(qū)允許任意合約無(wú)須審查就可部署在區(qū)塊鏈上,但也給惡意利用提供了可能性。智能合約中專用名詞解釋如表1所示。
表1 智能合約中專用名詞解釋
隨著網(wǎng)絡(luò)空間對(duì)抗的升級(jí),傳統(tǒng)的僵尸網(wǎng)絡(luò)命令控制機(jī)制已不再滿足攻擊者的需求,構(gòu)建更為魯棒、隱蔽和靈活的僵尸網(wǎng)絡(luò)命令控制信道成為趨勢(shì),而區(qū)塊鏈的智能合約的普及與應(yīng)用為此提供了新的可能性。本節(jié)總結(jié)基于區(qū)塊鏈的智能合約用于僵尸網(wǎng)絡(luò)命令控制機(jī)制的優(yōu)勢(shì)如下。
(1)高可用性:區(qū)塊鏈的分布式記賬機(jī)制使每個(gè)節(jié)點(diǎn)維護(hù)和同步相同的數(shù)據(jù),因此僵尸程序無(wú)論連接哪個(gè)節(jié)點(diǎn)都能調(diào)用合約獲得C&C服務(wù)器信息或者發(fā)布的命令。只要智能合約所在的區(qū)塊鏈存在,僵尸網(wǎng)絡(luò)C&C機(jī)制就能一直運(yùn)行。
(2)易部署性:相比構(gòu)建自定義的P2P協(xié)議,借助于強(qiáng)大的社區(qū)生態(tài)和開(kāi)源的軟件工具,直接在智能合約上部署僵尸網(wǎng)絡(luò)C&C通道是更為高效和簡(jiǎn)便的,而且網(wǎng)絡(luò)的組建更為快捷。
(3)魯棒性:區(qū)塊鏈作為公共服務(wù),不會(huì)受到權(quán)威組織審查,其流量不會(huì)被阻斷和屏蔽。分布式特性使部署在區(qū)塊鏈上的僵尸網(wǎng)絡(luò)C&C機(jī)制能夠免疫單點(diǎn)失效攻擊。因此,基于智能合約的C&C機(jī)制具有良好的抗關(guān)停能力。
(4)隱蔽性:由于區(qū)塊鏈應(yīng)用的普及,基于智能合約的僵尸網(wǎng)絡(luò)C&C活動(dòng)混雜在大量正常的交易流量中不會(huì)引起注意,僵尸節(jié)點(diǎn)隱藏在合法用戶中獲取命令,不易被識(shí)別,可以實(shí)現(xiàn)通信過(guò)程的完全加密和無(wú)數(shù)據(jù)泄露。
(5)匿名性:區(qū)塊鏈本身就具有匿名功能,可以任意生成賬戶地址,難以追溯命令信息的發(fā)布源頭,無(wú)法確定僵尸網(wǎng)絡(luò)控制者的真正身份。
(6)強(qiáng)認(rèn)證性:區(qū)塊鏈的加密機(jī)制可以為僵尸網(wǎng)絡(luò)C&C活動(dòng)提供完整的認(rèn)證功能,僵尸網(wǎng)絡(luò)控制者和僵尸節(jié)點(diǎn)間可建立雙向認(rèn)證機(jī)制,可抵御重放攻擊和請(qǐng)求偽造,提供良好的防接管能力。
(7)可編程和可擴(kuò)展性:區(qū)塊鏈?zhǔn)情_(kāi)放的公共平臺(tái),智能合約無(wú)須經(jīng)過(guò)審查就可部署運(yùn)行,相當(dāng)于在區(qū)塊鏈上運(yùn)行托管程序,為僵尸網(wǎng)絡(luò)C&C機(jī)制提供了良好的可編程和可擴(kuò)展性。
為了克服傳統(tǒng)中心結(jié)構(gòu)的單點(diǎn)失效缺陷,提高P2P結(jié)構(gòu)下命令傳遞和節(jié)點(diǎn)控制的效率,實(shí)現(xiàn)更加魯棒和隱蔽的命令控制信道,本文提出了一種分層混合結(jié)構(gòu)的信道模型,該模型通過(guò)增加C&C服務(wù)器層,將僵尸網(wǎng)絡(luò)劃分為獨(dú)立子網(wǎng),緩解針對(duì)命令控制服務(wù)器的打擊和關(guān)停等防御手段。同時(shí),C&C服務(wù)器之間和僵尸子網(wǎng)內(nèi)部均采用P2P方式連接,有效提升僵尸網(wǎng)絡(luò)的魯棒性。
SCBot的體系結(jié)構(gòu)可從上至下分為4個(gè)層次,在圖1中由三條虛線劃分,各部分的具體組成如下。
(1)僵尸網(wǎng)絡(luò)控制中心:第一層是僵尸控制者所在的控制中心,只與C&C服務(wù)器進(jìn)行交互。真實(shí)僵尸網(wǎng)絡(luò)案例中,僵尸網(wǎng)絡(luò)擁有者為了增加經(jīng)濟(jì)利益,往往提供租賃服務(wù)。因此,SCBot在該層加入賬戶控制模塊,允許在管理員之外,添加具有普通使用權(quán)限的一般賬戶。
(2)命令控制服務(wù)器層:第二層是C&C服務(wù)器部分,為了避免單一中心服務(wù)器的固有缺陷,采用部署多臺(tái)C&C服務(wù)器的方案,C&C服務(wù)器之間以P2P方式相連。事實(shí)上,每臺(tái)C&C服務(wù)器均可以獨(dú)立完成命令控制功能,指揮任一子網(wǎng)發(fā)起大規(guī)模協(xié)同攻擊活動(dòng)。SCBot采取這樣的備份冗余機(jī)制,提升了僵尸網(wǎng)絡(luò)的魯棒性。該層部署在匿名網(wǎng)絡(luò)中,C&C服務(wù)器之間通過(guò)Tor隱藏服務(wù)(hidden service)互相訪問(wèn)。
(3)超級(jí)節(jié)點(diǎn)層:第三層是直接與C&C服務(wù)器相連的僵尸主機(jī),標(biāo)以“S”表示這是超級(jí)僵尸節(jié)點(diǎn)。SCBot僵尸網(wǎng)絡(luò)通過(guò)特定的檢測(cè)方法篩選高可信節(jié)點(diǎn)作為超級(jí)僵尸節(jié)點(diǎn)。作為僵尸子網(wǎng)的實(shí)際控制者,超級(jí)節(jié)點(diǎn)通過(guò)Tor網(wǎng)絡(luò)訪問(wèn)C&C服務(wù)器獲取命令,并負(fù)責(zé)將僵尸網(wǎng)絡(luò)控制者的命令下達(dá)至子網(wǎng)所有僵尸節(jié)點(diǎn)。
圖1 SCBot體系結(jié)構(gòu)
Figure 1 Architecture of SCBot
(4)僵尸子網(wǎng)層:第四層由數(shù)量眾多的普通僵尸主機(jī)組成,是攻擊行動(dòng)的具體執(zhí)行層。為了提高僵尸網(wǎng)絡(luò)行為的隱蔽性和抗檢測(cè)能力,SCBot運(yùn)用區(qū)塊鏈上的智能合約機(jī)制進(jìn)行命令的發(fā)布與傳遞。
SCBot僵尸網(wǎng)絡(luò)子網(wǎng)層的組成結(jié)構(gòu)如圖2所示,各部分組成定義如表2所示。將圖中的節(jié)點(diǎn)分為全節(jié)點(diǎn)(FN、FNB)和輕節(jié)點(diǎn)(LN、LNB)兩類,其中,F(xiàn)N和FNB與區(qū)塊鏈核心網(wǎng)絡(luò)直接相聯(lián),而LN和LNB需要聯(lián)接到全節(jié)點(diǎn)才能同步最新的數(shù)據(jù)。僵尸網(wǎng)絡(luò)在擴(kuò)展感染規(guī)模的過(guò)程中,較容易獲得的是硬件資源有限的節(jié)點(diǎn),因此適合運(yùn)行輕節(jié)點(diǎn),且通過(guò)聯(lián)接FN和FNB可以同步獲取最新命令數(shù)據(jù)。計(jì)算資源和帶寬資源更豐富的節(jié)點(diǎn)數(shù)量較少,但由其作為FNB加入?yún)^(qū)塊鏈核心網(wǎng)絡(luò),保證了C&C信道的穩(wěn)定性和可靠性。另外,回傳信道標(biāo)注了兩種方式:①回傳信息與數(shù)據(jù)同樣通過(guò)智能合約調(diào)用從區(qū)塊鏈網(wǎng)絡(luò)傳回僵尸控制節(jié)點(diǎn)S;②使用一定的防溯源反追蹤機(jī)制建立額外的回傳信道。顯然,前者相比后者具有十分明顯的優(yōu)勢(shì),之所以把后者作為備選項(xiàng)列出,是因?yàn)槭褂脜^(qū)塊鏈構(gòu)建信道需要考慮經(jīng)濟(jì)成本。
圖2 SCBot僵尸網(wǎng)絡(luò)子網(wǎng)層的組成結(jié)構(gòu)
Figure 2 Subnet layer composition structure of SCBot
表2 SCBot僵尸子網(wǎng)組成定義
在僵尸子網(wǎng)層面,為了增強(qiáng)隱蔽性和匿名性,SCBot在區(qū)塊鏈底層網(wǎng)絡(luò)上利用智能合約機(jī)制進(jìn)行命令的發(fā)布與傳遞。命令發(fā)布與傳遞的具體過(guò)程如圖3所示。
圖3 基于智能合約的命令發(fā)布與傳遞
Figure 3 Command issuance transmission based on smart contract
(1)高可信節(jié)點(diǎn)S作為超級(jí)僵尸節(jié)點(diǎn),負(fù)責(zé)創(chuàng)建contract account(合約賬戶)。contract創(chuàng)建并發(fā)布至區(qū)塊鏈后,節(jié)點(diǎn)S發(fā)起交易,調(diào)用contract中對(duì)應(yīng)命令寫(xiě)入的function(函數(shù)),函數(shù)運(yùn)行后首先驗(yàn)證調(diào)用者身份,然后將接收到的命令作為參數(shù)寫(xiě)入smart contract。
(2)子網(wǎng)內(nèi)各僵尸節(jié)點(diǎn)周期性訪問(wèn)智能合約,發(fā)起交易,輪詢調(diào)用對(duì)應(yīng)命令獲取的function。
(3)僵尸節(jié)點(diǎn)b通過(guò)調(diào)用相應(yīng)的function讀取contract內(nèi)當(dāng)前的命令參數(shù),判斷是否為新命令。
(4)獲取新命令后,僵尸子網(wǎng)執(zhí)行命令,向目標(biāo)t發(fā)起大規(guī)模協(xié)同攻擊。
實(shí)現(xiàn)SCBot僵尸網(wǎng)絡(luò)C&C信道的智能合約的組成結(jié)構(gòu)如圖4所示,智能合約中涉及的變量和函數(shù)的說(shuō)明見(jiàn)表3?;谝蕴恢悄芎霞s構(gòu)建加密認(rèn)證的SCBot僵尸子網(wǎng)命令控制信道的實(shí)現(xiàn)過(guò)程如下。
(1)明確具體數(shù)據(jù)結(jié)構(gòu)和基本的函數(shù)功能:①自定義命令數(shù)據(jù)結(jié)構(gòu)體,內(nèi)容包含攻擊方式(attack)、目標(biāo)地址(target)、持續(xù)時(shí)間(duration)等;②定義僵尸網(wǎng)絡(luò)控制者賬戶和合約賬戶地址;③命令類型包含廣播和單播兩種。
(2)結(jié)合智能合約的固有特性,實(shí)現(xiàn)對(duì)僵尸網(wǎng)絡(luò)控制者身份的認(rèn)證,并建立信道動(dòng)態(tài)更新機(jī)制:①合約一旦發(fā)布后,編寫(xiě)者不具有特權(quán)或控制權(quán),這與僵尸網(wǎng)絡(luò)的設(shè)計(jì)要求不符,因此需要在構(gòu)造函數(shù)中實(shí)現(xiàn)合約所有者認(rèn)證;②建立地址獲取和合約更新機(jī)制。
(3)這樣的智能合約需要滿足僵尸網(wǎng)絡(luò)通信的基本需求,即命令的發(fā)送和接收。①發(fā)送:驗(yàn)證命令發(fā)布者的身份,然后調(diào)用函數(shù)向合約變量中寫(xiě)入相應(yīng)的命令,單播模式下還需指定發(fā)送目標(biāo)地址。②獲?。赫{(diào)用函數(shù)返回命令變量的字符串,單播模式下通過(guò)當(dāng)前調(diào)用賬戶地址檢索對(duì)應(yīng)命令。
基于區(qū)塊鏈的智能合約作為僵尸網(wǎng)絡(luò)通信協(xié)議的優(yōu)勢(shì)在于匿名、防篡改、強(qiáng)認(rèn)證和穩(wěn)健性,這使下發(fā)指令到僵尸節(jié)點(diǎn)的過(guò)程十分便捷和高效,但無(wú)論比特幣或是以太坊等平臺(tái),發(fā)起交易都需要支付成本。從僵尸控制者到僵尸節(jié)點(diǎn)的命令下發(fā)通道,其交易成本與下發(fā)次數(shù)成正比,雖然各個(gè)節(jié)點(diǎn)都需要同步數(shù)據(jù),但只需計(jì)算一次費(fèi)用,單次成本并不算多。如果各節(jié)點(diǎn)的回傳數(shù)據(jù)(狀態(tài)信息或執(zhí)行反饋)也通過(guò)區(qū)塊鏈傳輸,所產(chǎn)生的交易成本與節(jié)點(diǎn)數(shù)量成正比,隨著僵尸網(wǎng)絡(luò)規(guī)模的擴(kuò)大,回傳信道需要支付的費(fèi)用是巨大的。除非僵尸控制者只想發(fā)動(dòng)一次性的大規(guī)模攻擊活動(dòng)而不考慮節(jié)點(diǎn)維護(hù)和信息反饋,否則對(duì)于僵尸網(wǎng)絡(luò)攻擊活動(dòng)而言,回傳信道是不可或缺的。
圖4 SCBot智能合約組成結(jié)構(gòu)
Figure 4 Smart contract composition structure of SCBot
表3 SCBot智能合約說(shuō)明
對(duì)于僵尸網(wǎng)絡(luò)控制者而言,來(lái)自防御方的威脅主要體現(xiàn)在兩方面:一是流量分析和檢測(cè);二是樣本捕獲和分析。SCBot利用智能合約進(jìn)行命令的發(fā)布與傳遞,將僵尸網(wǎng)絡(luò)的通信流量混雜在正常的區(qū)塊鏈網(wǎng)絡(luò)中,能夠免疫防御方針對(duì)流量層面的對(duì)抗手段。任何暴露在互聯(lián)網(wǎng)上的終端節(jié)點(diǎn)都是僵尸網(wǎng)絡(luò)的潛在感染目標(biāo),這給防御方提供了捕獲僵尸網(wǎng)絡(luò)程序樣本的機(jī)會(huì),如通過(guò)部署蜜罐節(jié)點(diǎn),從而進(jìn)一步了解僵尸網(wǎng)絡(luò)通信機(jī)理及潛在脆弱點(diǎn)。因此,準(zhǔn)確判斷終端身份,提高對(duì)蜜罐節(jié)點(diǎn)或虛擬環(huán)境的識(shí)別能力,是增強(qiáng)僵尸網(wǎng)絡(luò)對(duì)抗性的重要方面。根據(jù)可信度評(píng)估機(jī)制,SCBot從可感染目標(biāo)中剔除不可信節(jié)點(diǎn),并選取高可信度節(jié)點(diǎn)作為各僵尸子網(wǎng)的實(shí)際控制節(jié)點(diǎn)S。
從默認(rèn)配置1、系統(tǒng)指令2和異常行為3這3方面對(duì)節(jié)點(diǎn)進(jìn)行評(píng)估,構(gòu)建節(jié)點(diǎn)可信度評(píng)估矩陣,如表4所示。顯然,覆蓋的檢測(cè)指標(biāo)越多,非真實(shí)節(jié)點(diǎn)的可能性越大,然而,如網(wǎng)絡(luò)時(shí)延、端口開(kāi)放數(shù)量、調(diào)用時(shí)延等指標(biāo)會(huì)存在誤差,正常系統(tǒng)在某些情況下也可能表現(xiàn)出與蜜罐類似的特征。為了提升檢測(cè)的準(zhǔn)確性,本文引入加權(quán)參數(shù)w以反映檢測(cè)指標(biāo)a的重要程度。
表4 可信度評(píng)估矩陣M
由此得出,針對(duì)任一待檢測(cè)目標(biāo),可信度()的計(jì)算方法如式(6)所示,且權(quán)重系數(shù)滿足式(7)。計(jì)算得到可信度數(shù)值后,設(shè)定閾值和,節(jié)點(diǎn)可信度評(píng)估結(jié)果由式(8)給出。
實(shí)現(xiàn)SCBot僵尸子網(wǎng)C&C信道的智能合約的部署與調(diào)用過(guò)程如圖5所示。在本地運(yùn)行g(shù)eth節(jié)點(diǎn)搭建測(cè)試用私有鏈網(wǎng)絡(luò),版本號(hào)為v1.9.16,操作系統(tǒng)環(huán)境為Ubuntu20.04。按4.2節(jié)編寫(xiě)的以太坊(Ethereum)智能合約(.sol文件)用Solidity編譯器的solc命令即可編譯得到合約的EVM二進(jìn)制代碼和JSONABI,然后在JavaScript控制臺(tái)中手動(dòng)進(jìn)行部署。更簡(jiǎn)便的方法是直接運(yùn)行Remix在線編譯器自動(dòng)生成的合約部署代碼。智能合約發(fā)布完成后,發(fā)布和獲取命令的過(guò)程等同于合約調(diào)用,以單播模式為例,相關(guān)合約函數(shù)的調(diào)用格式如下。
BotnetChannel.sendCommandtoSingleBot. send Transaction(attack,target,duration,botAddress, {from: botmaster});
BotnetChannel.getCommand_single.call ({from: web3. eth.account[singleBot]})
對(duì)于僵尸網(wǎng)絡(luò)命令控制信道而言,命令下發(fā)和傳達(dá)的效率是重要的評(píng)價(jià)指標(biāo)之一,體現(xiàn)在命令傳達(dá)耗時(shí)和命令傳達(dá)率兩方面。命令傳達(dá)耗時(shí)指的是命令從發(fā)出到被節(jié)點(diǎn)接收的時(shí)間,而命令傳達(dá)率指的是收到命令的僵尸節(jié)點(diǎn)數(shù)占所有僵尸節(jié)點(diǎn)數(shù)的比例。為檢驗(yàn)SCBot僵尸子網(wǎng)C&C信道的命令傳達(dá)效率,利用VMware虛擬機(jī)軟件生成規(guī)?;目煽毓?jié)點(diǎn),在多臺(tái)云服務(wù)器上同時(shí)運(yùn)行上百個(gè)虛擬機(jī)系統(tǒng),模擬構(gòu)建小型的僵尸網(wǎng)絡(luò)集群。作為對(duì)照,本文分別構(gòu)建基于IRC和Gnutella的良性僵尸網(wǎng)絡(luò),前者是傳統(tǒng)的中心結(jié)構(gòu),后者是典型的P2P結(jié)構(gòu)。本文實(shí)驗(yàn)中的SCBot命令下發(fā)均采用廣播模式,且僵尸節(jié)點(diǎn)均作為區(qū)塊鏈中的全節(jié)點(diǎn)運(yùn)行。同時(shí),加入基于比特幣OP_RETURN[16]的方案,作為同樣基于區(qū)塊鏈構(gòu)建僵尸網(wǎng)絡(luò)C&C信道的比較對(duì)象。需要指出的是,本文實(shí)驗(yàn)的目的是評(píng)估信道的命令傳遞效率,因此簡(jiǎn)化僵尸程序,只保留其接收命令的通信功能模塊,避免產(chǎn)生危害真實(shí)互聯(lián)網(wǎng)的惡意網(wǎng)絡(luò)流量。
圖5 SCBot智能合約部署與調(diào)用
Figure 5 Smart contract deployment and invocation of SCBot
由于受到流量擁堵和路由選擇等實(shí)際網(wǎng)絡(luò)條件的影響,個(gè)別僵尸節(jié)點(diǎn)存在離線的概率,單個(gè)僵尸節(jié)點(diǎn)接收到命令的時(shí)間也可能存在時(shí)延。實(shí)驗(yàn)數(shù)據(jù)如圖6所示,選取120 s內(nèi)的數(shù)據(jù)進(jìn)行分析。首先是基于IRC的中心結(jié)構(gòu)網(wǎng)絡(luò),命令傳達(dá)節(jié)點(diǎn)數(shù)與命令發(fā)出時(shí)間基本成正比,符合其以逐一單發(fā)模式進(jìn)行命令下發(fā)的過(guò)程。而在基于Gnutella的P2P網(wǎng)絡(luò)中,命令傳達(dá)數(shù)近似以指數(shù)級(jí)增長(zhǎng),在初始階段(0~30 s)較慢是因?yàn)樾枰苑汉榉绞较炔檎亦従庸?jié)點(diǎn),隨后各鄰居節(jié)點(diǎn)均可進(jìn)行轉(zhuǎn)發(fā),實(shí)現(xiàn)并發(fā)模式的命令下達(dá),在80 s左右基本傳達(dá)至所有在線節(jié)點(diǎn)。本文重點(diǎn)關(guān)注的基于區(qū)塊鏈的命令傳遞方法,其底層網(wǎng)絡(luò)本質(zhì)上仍然是P2P結(jié)構(gòu),數(shù)據(jù)曲線與Gnutella較為接近,同樣具有“先慢后快”的特征,且區(qū)塊鏈中需要執(zhí)行共識(shí)算法以完成數(shù)據(jù)同步,因此同一時(shí)間段內(nèi)命令傳達(dá)節(jié)點(diǎn)數(shù)明顯落后于Gnutella。另外,在同樣的時(shí)間段內(nèi),SCBot中的命令傳達(dá)節(jié)點(diǎn)數(shù)量少于比特幣OP_RETURN的方法。這可以從原理的角度加以理解,在基于OP_RETURN的方法中,節(jié)點(diǎn)直接從同步后的交易數(shù)據(jù)中獲取命令,而在SCBot中,節(jié)點(diǎn)需要調(diào)用合約并執(zhí)行函數(shù)來(lái)獲取命令,相對(duì)來(lái)說(shuō)時(shí)延會(huì)高一些??傮w來(lái)看,SCBot的命令傳遞速率介于常見(jiàn)的中心結(jié)構(gòu)和P2P結(jié)構(gòu)的僵尸網(wǎng)絡(luò)之間。
圖6 命令傳達(dá)時(shí)間
Figure 6 Time of command transmission
對(duì)于發(fā)動(dòng)大規(guī)模協(xié)同攻擊活動(dòng)而言,規(guī)定時(shí)間內(nèi)的命令傳達(dá)率是十分重要的指標(biāo)。設(shè)定時(shí)間區(qū)段為命令發(fā)出后60 s內(nèi),以Gnutella和OP_RETURN作為對(duì)照,觀察在不同節(jié)點(diǎn)規(guī)模下SCBot的命令傳達(dá)率。實(shí)驗(yàn)結(jié)果如表5所示,可以看到,規(guī)定時(shí)間內(nèi)的命令傳達(dá)率隨僵尸節(jié)點(diǎn)規(guī)模擴(kuò)大而增加。同時(shí),基于區(qū)塊鏈的兩種方法在相同規(guī)模下的命令傳達(dá)率均低于典型P2P網(wǎng)絡(luò)Gnutella,但隨著規(guī)模擴(kuò)大,差距會(huì)逐漸縮小。由此得出結(jié)論,SCBot在規(guī)定時(shí)間內(nèi)(60 s)的命令傳達(dá)率隨僵尸節(jié)點(diǎn)規(guī)模擴(kuò)大而不斷增加,在實(shí)驗(yàn)條件下最高能接近90%。
表5 60 s內(nèi)命令傳達(dá)率
僵尸網(wǎng)絡(luò)命令控制信道的魯棒性是十分重要的評(píng)估指標(biāo),可以理解為隨機(jī)去除一定數(shù)量節(jié)點(diǎn)后,剩余僵尸節(jié)點(diǎn)的命令可達(dá)情況,即部分節(jié)點(diǎn)失去連接后,當(dāng)前僵尸網(wǎng)絡(luò)的連通性情況。因此,魯棒性評(píng)估可理解為對(duì)僵尸網(wǎng)絡(luò)抗毀能力的評(píng)估。實(shí)驗(yàn)節(jié)點(diǎn)規(guī)模為400臺(tái)僵尸主機(jī)節(jié)點(diǎn),依次隨機(jī)關(guān)閉一定比例的節(jié)點(diǎn),在120 s內(nèi)觀察剩余節(jié)點(diǎn)的可達(dá)率,并以Gnutella作為對(duì)照,實(shí)驗(yàn)數(shù)據(jù)如圖7所示。
圖7 SCBot魯棒性評(píng)估
Figure 7 Robustness evaluation SCBot
結(jié)果表明,隨機(jī)去除節(jié)點(diǎn)后,兩種網(wǎng)絡(luò)模型的連通性都受到了一定影響,隨著節(jié)點(diǎn)數(shù)目的減少,剩余節(jié)點(diǎn)的可達(dá)率呈下降趨勢(shì)。但在節(jié)點(diǎn)損失率相同的情況下,SCBot的可達(dá)率相比基于原始P2P結(jié)構(gòu)的Gnutella具有十分明顯的優(yōu)勢(shì)。在節(jié)點(diǎn)損失率將近80%的情況下,SCBot的可達(dá)率仍接近70%。顯然,底層的區(qū)塊鏈網(wǎng)絡(luò)為SCBot提供了良好的路由重構(gòu)和網(wǎng)絡(luò)恢復(fù)能力。
式(9)給出了基于區(qū)塊鏈的僵尸網(wǎng)絡(luò)回傳信道所需花費(fèi)的計(jì)算公式,其中Botnumber表示僵尸節(jié)點(diǎn)個(gè)數(shù),F(xiàn)ee表示單次回傳所需支付的費(fèi)用,即發(fā)起單筆交易所需的交易費(fèi),Times表示回傳信息的次數(shù),也可理解為頻率。
按照上述計(jì)算規(guī)則,表6列出了不同網(wǎng)絡(luò)規(guī)模和通信頻率下SCBot和比特幣OP_RETURN方案[16]的經(jīng)濟(jì)成本,其中比特幣和以太坊的單價(jià)分別按35 457.78美元和1046.6美元計(jì)算(均為撰寫(xiě)本文時(shí)的市場(chǎng)實(shí)時(shí)均價(jià))。從計(jì)算結(jié)果可以看到,即使是花費(fèi)最小的方案,每日費(fèi)用也超過(guò)10萬(wàn)美元。同時(shí),由于原理機(jī)制的不同以及以太坊價(jià)格相對(duì)較低,SCBot的經(jīng)濟(jì)成本明顯小于比特幣OP_RETUTRN的方案。文獻(xiàn)[17]表明,僵尸網(wǎng)絡(luò)的經(jīng)濟(jì)收益與僵尸網(wǎng)絡(luò)規(guī)模正相關(guān),僵尸網(wǎng)絡(luò)控制者的日均收入不會(huì)超過(guò)4萬(wàn)美元,通常為數(shù)千美元。這些數(shù)據(jù)表明,黑客想要憑借自己的經(jīng)濟(jì)能力長(zhǎng)期維護(hù)一個(gè)雙向通信均基于區(qū)塊鏈的僵尸網(wǎng)絡(luò)是不可行的,除非獲得了其他組織的資助。因此,在傳統(tǒng)C&C的架構(gòu)下,加入基于區(qū)塊鏈的備份通道,即把區(qū)塊鏈作為僵尸網(wǎng)絡(luò)通信故障時(shí)的備用機(jī)制,可能是未來(lái)的發(fā)展方向之一。另外,為了方便開(kāi)發(fā)者,如比特幣或以太坊社區(qū)推出了對(duì)應(yīng)的測(cè)試網(wǎng)絡(luò),在其中流通的都是測(cè)試幣,不具有實(shí)際價(jià)值。在測(cè)試網(wǎng)上進(jìn)行區(qū)塊鏈僵尸網(wǎng)絡(luò)C&C方案的概念驗(yàn)證是合適的,但如果將其用于實(shí)際部署,會(huì)存在規(guī)模較小、容易封堵和時(shí)延較大等缺陷,而且社區(qū)會(huì)不定時(shí)迭代更新測(cè)試網(wǎng)版本,這對(duì)于建立長(zhǎng)期穩(wěn)定運(yùn)行的大規(guī)模僵尸網(wǎng)絡(luò)是不利的。
表6 SCBot和OP_RETURN方案的經(jīng)濟(jì)成本
如果基于區(qū)塊鏈智能合約的僵尸網(wǎng)絡(luò)由于執(zhí)行攻擊活動(dòng)或其他原因而暴露,采用何種措施將其移除或關(guān)停是需要重點(diǎn)討論的問(wèn)題。禁止網(wǎng)絡(luò)內(nèi)所有與區(qū)塊鏈相關(guān)的流量有效但卻不符合實(shí)際。比特幣等數(shù)字加密貨幣的流行使越來(lái)越多的普通用戶安裝并使用加密貨幣錢包,屏蔽所有區(qū)塊鏈流量并不符合客觀需求。Li等[18]認(rèn)為常見(jiàn)的僵尸網(wǎng)絡(luò)防御措施可總結(jié)為命令控制服務(wù)器打擊、命令控制過(guò)程對(duì)抗和終端清除三大類,下面分別討論這3種防御策略對(duì)基于智能合約的僵尸網(wǎng)絡(luò)的影響和作用。
(1)命令控制服務(wù)器打擊。直接打擊C&C服務(wù)器作為常見(jiàn)的僵尸網(wǎng)絡(luò)對(duì)抗手段,具體方法為物理關(guān)閉和DoS。但區(qū)塊鏈底層網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)間地位對(duì)等,通過(guò)共識(shí)算法進(jìn)行數(shù)據(jù)同步?;趨^(qū)塊鏈的僵尸網(wǎng)絡(luò)命令控制信道中的通信通過(guò)底層P2P網(wǎng)絡(luò)實(shí)現(xiàn),不存在傳統(tǒng)意義上的中心服務(wù)器,而且節(jié)點(diǎn)遍布全球互聯(lián)網(wǎng),難以進(jìn)行有效的封堵和關(guān)停,因此命令控制服務(wù)器打擊并不適用于對(duì)該僵尸網(wǎng)絡(luò)的防御。
(2)命令控制對(duì)抗。命令控制過(guò)程對(duì)抗主要利用僵尸網(wǎng)絡(luò)通信中的脆弱點(diǎn),如單點(diǎn)失效缺陷、身份認(rèn)證缺失和域名硬編碼等,從而影響和阻斷僵尸網(wǎng)絡(luò)的正常命令下發(fā),甚至接管僵尸網(wǎng)絡(luò)控制權(quán)。這方面的常見(jiàn)防御手段是黑名單機(jī)制。然而這對(duì)于基于區(qū)塊鏈的僵尸網(wǎng)絡(luò)卻不可行[19]。首先僵尸管理員可以使用數(shù)以百計(jì)的地址發(fā)布命令,因?yàn)樵趨^(qū)塊鏈中不需要花費(fèi)代價(jià)就能夠在本地申請(qǐng)到新的賬戶地址。從技術(shù)層面上講,防御人員不可能做到封禁潛在的和未來(lái)的僵尸管理員地址。而且區(qū)塊鏈的公鑰認(rèn)證機(jī)制能確保僵尸節(jié)點(diǎn)只受僵尸管理員的控制。另外,在基于區(qū)塊鏈的數(shù)字加密貨幣中啟用黑名單機(jī)制是違背其理念的,會(huì)引發(fā)社區(qū)的巨大動(dòng)蕩,甚至導(dǎo)致硬分叉的出現(xiàn),如以太坊的DAO事件[20]。
(3)終端清除。終端清除是指清除已感染終端的僵尸程序。防御人員可以通過(guò)挖掘并利用僵尸程序自身漏洞來(lái)實(shí)現(xiàn)清除[21],或者聯(lián)合大型廠商、安全公司和互聯(lián)網(wǎng)服務(wù)提供商對(duì)感染終端進(jìn)行定位,幫助用戶進(jìn)行清理[18]。相對(duì)于前兩種策略,這種手段對(duì)基于區(qū)塊鏈的僵尸網(wǎng)絡(luò)仍然是適用的。因此,在本地網(wǎng)絡(luò)或設(shè)備終端上進(jìn)行監(jiān)視和檢測(cè),及時(shí)發(fā)現(xiàn)并定位異?;顒?dòng)和行為,是更為有效的策略。
僵尸網(wǎng)絡(luò)攻擊者始終致力于構(gòu)建更為魯棒和可用的C&C機(jī)制,為此不斷嘗試各種架構(gòu)和協(xié)議。與此同時(shí),研究人員通過(guò)預(yù)測(cè)模型,分析機(jī)理特性,試圖提出應(yīng)對(duì)新型僵尸網(wǎng)絡(luò)威脅的防御解決方案。新興技術(shù)如區(qū)塊鏈的應(yīng)用,催生了更高級(jí)的僵尸網(wǎng)絡(luò)形態(tài)和命令控制機(jī)制,把攻防博弈推向了新階段。本文提煉出一般模型,給出了基于區(qū)塊鏈智能合約的僵尸網(wǎng)絡(luò)C&C機(jī)制的原理及實(shí)現(xiàn)方法,并對(duì)其可行性和防御策略做了簡(jiǎn)單討論。重視這一潛在的網(wǎng)絡(luò)安全威脅,提出切實(shí)有效的應(yīng)對(duì)措施,是目前亟須進(jìn)一步開(kāi)展的研究和工作。
[1] BHATT P, THAKKER B. Isolating botnet attacks using bootstrap aggregating surflex-PSIM Classifier in IoT[J]. Journal of Intelligent & Fuzzy Systems, 2020, 38(2):1827-1840.
[2] KEBANDE V R, VENTER H S. Obfuscating a cloud-based botnet towards digital forensic readiness[C]//10th International Conference on Cyber Warfare and Security (ICCWS-2015). 2015.
[3] YIN T, ZHANG Y, LI S. DR-SNBot: a social network-based botnet with strong destroy-resistance[C]//2014 9th IEEE International Conference on Networking, Architecture, and Storage (NAS). 2014.
[4] UNDERWOOD S. Blockchain beyond bitcoin[J]. Communications of the ACM, 2016, 59(11): 15-17.
[5] LEE B, LEE J H. Blockchain-based secure firmware update for embedded devices in an internet of things environment[J]. The Journal of Supercomputing, 2017, 73(3): 1152-1167.
[6] DORRI A, STEGER M, KANHERE S S, et al. Blockchain: a distributed solution to automotive security and privacy[J]. IEEE Communications Magazine, 2017, 55(12): 119-125.
[7] SIKORSKI J J, HAUGHTON J, KRAFT M. Blockchain technology in the chemical industry: machine-to-machine electricity market[J]. Applied Energy, 2017, 195: 234-246.
[8] WANG W, MA X. Blockchain-based botnets for command-and- control Resilience[J]. Botnets: Architectures, Countermeasures, and Challenges, 2019: 217.
[9] ALI S T, MCCORRY P, LEE H J, et al. ZombieCoin: powering next-generation botnets with bitcoin[C]//International Conference on Financial Cryptography and Data Security. 2015.
[10] FRKAT D, ANNESSI R, ZSEBY T. ChainChannels: private botnet communication over public blockchains[C]//2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData). 2018.
[11] CURRAN T, GEIST D. Using the bitcoin blockchain as a botnet resilience mechanism[EB].
[12] MAJID N A I. MALAIKA A, IBRAHIM O A. Botract: abusing smart contracts and blockchains for botnet command and control[EB].
[13] ZOHAR O. Unblockable[EB].
[14] SWAN M. Blockchain: blueprint for a new economy[M]. Blockchain: blueprint for a new economy. O'Reilly, 2015.
[15] LUU L, CHU D H, OLICKEL H, et al. Making smart contracts smarter[C]//ACM Sigsac Conference. 2016: 254-269.
[16] KAMENSKI D, SHAGHAGHI A, WARREN M, et al. Attacking with bitcoin: using bitcoin to build resilient botnet armies[M]. Chain: Springer. 2019.
[17] U. S. leads multi-national action against “gameover zeus” botnet and “cryptolocker” ransom ware, charges botnet administrator[EB].
[18] LI K, FANG B X, CUI X, et al. Study of botnets trends[J]. Journal of Computer Research and Development, 2016, 53(10): 2189-2206.
[19] BCK L, ALEXOPOULOS N, SARACOGLU E, et al. Assessing the threat of blockchain-based botnets[C]//2019 APWG Symposium on Electronic Crime Research (eCrime). 2020.
[20] ATZEI N, BARTOLETTI M, CIMOLI T. A survey of attacks on ethereum smart contracts (SoK)[C]//International Conference on Principles of Security and Trust. 2017.
[21] DITTRICH D. So you want to take over a botnet[C]// Proc of the 5th USENIX Workshop on Large-Scale Exploits and Emergent Threats. 2012
High resistance botnet based on smart contract
ZHAO Hao, SHU Hui, KANG Fei, XING Ying
State Key Laboratory of Mathematical Engineering and Advanced Computing, Zhengzhou 450001, China
The development and application of blockchain technology makes it possible to build a more robust and flexible botnet command and control channel. In order to better study this type of potential new botnet threats, a highly confrontational botnet model based on blockchain smart contracts-SCBot was proposed. The SCBot model adopts a hierarchical hybrid topology structure, builds a command transmission channel based on smart contracts at the zombie subnet layer, and establishes a credibility evaluation mechanism to determine the authenticity of nodes, and enhances the confrontation of the network from the two major levels of traffic and terminals. The construction of small botnet clusters were simulated, comparative experiments on SCBot's command transmission efficiency and robustness were conducted, and its feasibility in the real environment from the perspective of economic costs was analyzed. Finally, a brief analysis and discussion of the defense strategy of this type of botnet were given.
cyber security, botnet, command and control, blockchain, smart contract
TP309
A
10.11959/j.issn.2096?109x.2021070
2021?01?11;
2021?05?17
舒輝,18657591907@163.com
國(guó)家重點(diǎn)研發(fā)計(jì)劃(2019QY1305)
The Key R&D Program of China (2019QY1305)
趙昊, 舒輝, 康緋, 等. 基于智能合約的高對(duì)抗性僵尸網(wǎng)絡(luò)研究[J]. 網(wǎng)絡(luò)與信息安全學(xué)報(bào), 2021, 7(4): 30-41.
ZHAO H, SHU H, KANG F, et al. High resistance botnet based on smart contract[J]. Chinese Journal of Network and Information Security, 2021, 7(4): 30-41.
趙昊(1993? ),男,浙江諸暨人,數(shù)學(xué)工程與先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室博士生,主要研究方向?yàn)樾畔踩?、網(wǎng)絡(luò)攻擊行為分析。
舒輝(1974?),男,江蘇鹽城人,博士,數(shù)學(xué)工程與先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室教授、博士生導(dǎo)師,主要研究方向?yàn)榫W(wǎng)絡(luò)安全、嵌入式系統(tǒng)分析與信息安全。
康緋(1972?),女,河南周口人,數(shù)學(xué)工程與先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室教授,主要研究方向?yàn)榫W(wǎng)絡(luò)信息安全。
邢穎(1988? ),女,河南周口人,數(shù)學(xué)工程與先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室博士生,主要研究方向?yàn)闄C(jī)器學(xué)習(xí)、安全檢測(cè)。