• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      D-BitBot:比特幣網(wǎng)絡(luò)雙向通信的P2P僵尸網(wǎng)絡(luò)模型

      2020-02-24 09:11:38周安民
      關(guān)鍵詞:僵尸IP地址列表

      周安民,鐘 毅,左 政,張 磊

      (1.四川大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,成都 610065; 2.四川大學(xué) 電子信息學(xué)院,成都 610065)

      僵尸網(wǎng)絡(luò)是被遠(yuǎn)程攻擊者(Botmaster)所操控的,由一定數(shù)量的被攻陷主機(jī)(如個(gè)人電腦、移動(dòng)電話或智能設(shè)備等)組成的網(wǎng)絡(luò),常被用于發(fā)起各種網(wǎng)絡(luò)攻擊,如信息竊取、發(fā)送釣魚(yú)郵件、DDoS攻擊、敲詐勒索和數(shù)字加密貨幣挖礦[1]等.相對(duì)于其他惡意軟件,僵尸程序的特點(diǎn)是具有命令—控制通信機(jī)制(Command and Control, C&C).隱秘可靠的C&C通信機(jī)制可提高僵尸網(wǎng)絡(luò)的健壯性.安全研究人員常通過(guò)逆向工程和網(wǎng)絡(luò)流量[2-3]對(duì)僵尸網(wǎng)絡(luò)進(jìn)行分析,利用蜜罐技術(shù)[4]監(jiān)控僵尸網(wǎng)絡(luò),并制定相應(yīng)的策略對(duì)僵尸網(wǎng)絡(luò)進(jìn)行打擊[5-6].

      傳統(tǒng)的C&C通信機(jī)制如基于IRC協(xié)議和基于HTTP服務(wù)器的通信均具有單點(diǎn)故障的缺陷.為提高僵尸網(wǎng)絡(luò)通信的隱蔽性,某些僵尸網(wǎng)絡(luò)選擇社交網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)作為通信信道,如基于Yahoo郵件服務(wù)的Trojan.IcoScript[7]、基于Skype的僵尸網(wǎng)絡(luò)[8]、基于Twitter的僵尸網(wǎng)絡(luò)[9]和基于Google Docs的Backdoor.Markadocs[10]等.然而,使用這些信道的僵尸網(wǎng)絡(luò)控制端仍具有單點(diǎn)故障的缺陷.

      為避免單點(diǎn)故障的缺陷,P2P協(xié)議被應(yīng)用于某些僵尸網(wǎng)絡(luò).P2P僵尸網(wǎng)絡(luò)按是否基于分布式哈希表(Distributed Hash Table, DHT)可分為結(jié)構(gòu)化(如Storm Worm[11]、Overbot[12]、Ratbot[13]、Hajime[14]等)與非結(jié)構(gòu)化(如Slapper[15]、Conficker[16]、eBot[17]、參考文獻(xiàn)[18]等).然而,基于P2P協(xié)議的僵尸網(wǎng)絡(luò)對(duì)路由表投毒和節(jié)點(diǎn)爬取的防御比較薄弱.此外,采用P2P結(jié)構(gòu)的僵尸網(wǎng)絡(luò),其上線加入網(wǎng)絡(luò)過(guò)程可能具有單點(diǎn)故障的缺陷.

      使用區(qū)塊鏈網(wǎng)絡(luò)作為僵尸網(wǎng)絡(luò)的C&C通信信道,可有效避免上述缺陷,因?yàn)槟承┕袇^(qū)塊鏈網(wǎng)絡(luò)(如數(shù)字加密貨幣,以比特幣[19]、以太坊[20]為代表)具有匿名、難以被關(guān)閉的特點(diǎn).比特幣是一個(gè)基于區(qū)塊鏈的,全球性的,公開(kāi)的分布式賬本;以太坊是一個(gè)開(kāi)放的區(qū)塊鏈平臺(tái),允許任何人在平臺(tái)中建立和使用通過(guò)區(qū)塊鏈技術(shù)運(yùn)行的去中心化應(yīng)用.二者均通過(guò)各自的P2P網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)同步.Ali等[21-22]提出使用比特幣主網(wǎng)[23]作為僵尸網(wǎng)絡(luò)的命令分發(fā)信道,使用web服務(wù)器進(jìn)行數(shù)據(jù)回收,回傳地址通過(guò)命令分發(fā)信道進(jìn)行聲明.Pirozzi[24]和Malaika[25]分別提出使用比特幣主網(wǎng)和以太坊主網(wǎng)[26]作為惡意程序的通信信道.然而,受限于比特幣和以太坊高昂的價(jià)格,Ali等[21-22]的研究中,其僵尸網(wǎng)絡(luò)模型沒(méi)有使用比特幣網(wǎng)絡(luò)進(jìn)行上行通信,而是采用聲明回傳地址的方式回收數(shù)據(jù),造成回傳信道的抗溯源性相對(duì)薄弱;而Pirozzi[24]和Malaika[25]研究中的通信模型上下行信道均為區(qū)塊鏈主網(wǎng)絡(luò),使其難以被溯源.然而,由于通信成本與網(wǎng)絡(luò)規(guī)模成正比,因此其網(wǎng)絡(luò)擴(kuò)展性受限.

      在Ali等[21-22]的研究中,其僵尸網(wǎng)絡(luò)通信模型的回傳信道存在易被溯源的問(wèn)題,在Pirozzi[24]和Malaika[25]的研究中,其通信模型的網(wǎng)絡(luò)擴(kuò)展性受限于數(shù)字加密貨幣價(jià)格,此外,傳統(tǒng)P2P僵尸網(wǎng)絡(luò)存在節(jié)點(diǎn)列表被注入和被爬取的風(fēng)險(xiǎn).針對(duì)上述問(wèn)題,本文提出D-BitBot,一種基于比特幣網(wǎng)絡(luò)雙向通信的P2P僵尸網(wǎng)絡(luò)模型.本文具體工作如下:

      1)針對(duì)基于比特幣網(wǎng)絡(luò)的僵尸網(wǎng)絡(luò)通信成本過(guò)高和網(wǎng)絡(luò)擴(kuò)展性受限的問(wèn)題,提出一種使用比特幣測(cè)試網(wǎng)絡(luò)作為回傳信道的技術(shù),能極大地降低由于數(shù)據(jù)回收所產(chǎn)生的經(jīng)濟(jì)開(kāi)銷,使網(wǎng)絡(luò)擴(kuò)展性不再受限于比特幣價(jià)格.

      2)為解決傳統(tǒng)僵尸網(wǎng)絡(luò)上線方式的單點(diǎn)故障缺陷,提出一種基于比特幣區(qū)塊鏈的上線機(jī)制,上線節(jié)點(diǎn)信息被周期性地記錄在比特幣區(qū)塊鏈上.比特幣交易難以被追溯且無(wú)法被屏蔽,有效避免僵尸節(jié)點(diǎn)因上線節(jié)點(diǎn)失效而無(wú)法加入網(wǎng)絡(luò).

      3)針對(duì)傳統(tǒng)P2P僵尸網(wǎng)絡(luò)中節(jié)點(diǎn)列表存在被注入和被爬取的問(wèn)題,提出一種基于IP地址加鹽哈希排序的節(jié)點(diǎn)列表交換算法.通過(guò)在節(jié)點(diǎn)請(qǐng)求算法中加入隨機(jī)鹽值,保證節(jié)點(diǎn)被添加至自身節(jié)點(diǎn)時(shí)的隨機(jī)性,使攻擊者難以有效地對(duì)D-BitBot進(jìn)行節(jié)點(diǎn)注入;在節(jié)點(diǎn)回復(fù)算法中,通過(guò)隨機(jī)鹽值生成針對(duì)特定IP地址的特征值,降低基于特征值欺騙的爬取算法效果.

      4)在仿真環(huán)境中,對(duì)本文提出的P2P僵尸網(wǎng)絡(luò)模型進(jìn)行構(gòu)建,并通過(guò)節(jié)點(diǎn)摘除實(shí)驗(yàn)對(duì)其魯棒性進(jìn)行評(píng)估.實(shí)驗(yàn)結(jié)果表明,D-BitBot的上線率達(dá)到100%,移除95%的通信節(jié)點(diǎn)后,僵尸網(wǎng)絡(luò)的上線率仍達(dá)到90%.

      5)通過(guò)重復(fù)節(jié)點(diǎn)請(qǐng)求實(shí)驗(yàn)和網(wǎng)絡(luò)爬取實(shí)驗(yàn)評(píng)估本文提出的算法對(duì)路由表節(jié)點(diǎn)注入攻擊和節(jié)點(diǎn)爬取的抵御效果.實(shí)驗(yàn)結(jié)果顯示,該算法使所有待添加節(jié)點(diǎn)在被添加至節(jié)點(diǎn)列表過(guò)程中達(dá)到隨機(jī)選取的效果;P2P網(wǎng)絡(luò)節(jié)點(diǎn)爬取算法ZeusMilker[27]對(duì)本文所構(gòu)建的仿真網(wǎng)絡(luò)進(jìn)行爬取的平均節(jié)點(diǎn)發(fā)現(xiàn)率不足60%.

      6)最后,本文基于被感染端、比特幣網(wǎng)絡(luò)和網(wǎng)絡(luò)服務(wù)提供商3個(gè)不同層面提出可能的抵御方式,并對(duì)本文采用信道的經(jīng)濟(jì)成本和抗溯源性對(duì)進(jìn)行對(duì)應(yīng)的分析和論述.

      1 D-BitBot系統(tǒng)架構(gòu)

      為提高網(wǎng)絡(luò)管理和數(shù)據(jù)回傳的效率,D-BitBot分為控制端(Botmaster)、普通節(jié)點(diǎn)(Normal Bot)和感知節(jié)點(diǎn)(Sensor Bot)三部分.Botmaster為僵尸網(wǎng)絡(luò)的控制端,用于發(fā)布命令和接收回傳數(shù)據(jù).Normal Bot和Sensor Bot是僵尸網(wǎng)絡(luò)的被控端.

      每個(gè)Sensor Bot擁有兩個(gè)被Botmaster認(rèn)可的比特幣公私鑰對(duì)和對(duì)應(yīng)的比特幣測(cè)試網(wǎng)絡(luò)地址,用于發(fā)送和接收測(cè)試網(wǎng)絡(luò)比特幣.Sensor Bot的比特幣測(cè)試網(wǎng)絡(luò)地址上具有未花費(fèi)的交易(Unspent Transaction Output,UTXO),因此Sensor Bot具有通過(guò)測(cè)試網(wǎng)絡(luò)比特幣交易將數(shù)據(jù)回傳至Botmaster的能力.Normal Bot不具有被Botmaster認(rèn)可的比特幣公私鑰對(duì),或者自身?yè)碛械谋忍貛艤y(cè)試網(wǎng)絡(luò)地址上沒(méi)有UTXO,不具有將數(shù)據(jù)通過(guò)比特幣測(cè)試網(wǎng)絡(luò)回傳至Botmaster的能力.

      D-BitBot加入僵尸網(wǎng)絡(luò)后連接至比特幣主網(wǎng),監(jiān)聽(tīng)所有被廣播的交易,從中標(biāo)識(shí)出由Botmaster發(fā)出的交易并解析對(duì)應(yīng)的命令.Botmaster可通過(guò)命令發(fā)布信道將Normal Bot升級(jí)為Sensor Bot,加強(qiáng)對(duì)僵尸網(wǎng)絡(luò)的控制.D-BitBot的通信細(xì)節(jié)將在C&C通信機(jī)制中進(jìn)行介紹.D-BitBot的架構(gòu)如圖1所示.

      圖1 D-BitBot的架構(gòu)

      2 D-BitBot的C&C通信機(jī)制

      2.1 通信數(shù)據(jù)載體

      利用OP_RETURN輸出腳本函數(shù)[23],任何數(shù)據(jù)均可被嵌入到比特幣交易中.這是Bitcoin Core 0.9.0版本發(fā)布的新函數(shù).比特幣用戶可在單次交易中嵌入最多83字節(jié)的字節(jié)數(shù)據(jù).這個(gè)數(shù)據(jù)段長(zhǎng)度足以讓Botmaster對(duì)僵尸網(wǎng)絡(luò)進(jìn)行命令發(fā)布.

      2.2 D-BitBot的通信信道

      2.2.1 命令發(fā)布信道

      Botmaster通過(guò)合法的比特幣交易進(jìn)行命令發(fā)布.Botmaster擁有一個(gè)公私鑰對(duì).私鑰可用于發(fā)送比特幣交易,公鑰被硬編碼在D-BitBot中,用于校驗(yàn)數(shù)字簽名,標(biāo)識(shí)來(lái)自Botmaster的交易.Botmaster將命令數(shù)據(jù)嵌入比特幣交易中,用私鑰簽名后發(fā)送到比特幣主網(wǎng)中.D-BitBot連接至比特幣網(wǎng)絡(luò)后,標(biāo)識(shí)來(lái)自Botmaster的交易以接收命令.命令發(fā)布和接收的過(guò)程如圖2所示.

      2.2.2 上行通信信道

      每個(gè)Sensor Bot擁有兩個(gè)由Botmaster分配的比特幣測(cè)試網(wǎng)絡(luò)公私鑰對(duì)以及對(duì)應(yīng)的兩個(gè)比特幣測(cè)試網(wǎng)絡(luò)地址,Sensor Bot創(chuàng)建比特幣交易時(shí),將這兩個(gè)地址分別作為交易的輸入和輸出地址,然后將回傳數(shù)據(jù)使用OP_RETURN腳本函數(shù)嵌入該交易中,再通過(guò)比特幣測(cè)試網(wǎng)絡(luò)將交易發(fā)出.Botmaster通過(guò)數(shù)字簽名校驗(yàn)標(biāo)識(shí)來(lái)自Sensor Bot的交易并接收回傳數(shù)據(jù).上行通信過(guò)程如圖3所示.

      圖2 命令發(fā)布過(guò)程

      圖3 上行通信過(guò)程

      2.2.3 D-BitBot之間的通信信道

      真實(shí)的比特幣節(jié)點(diǎn)之間通過(guò)比特幣消息[23]進(jìn)行通信,如version,verack,ping,tx等.每次進(jìn)行通信之前,節(jié)點(diǎn)之間要先進(jìn)行版本握手.

      類似地,D-BitBot在相互通信之前也要進(jìn)行偽裝的版本握手.這樣做可對(duì)通信雙方的合法性進(jìn)行校驗(yàn),并實(shí)現(xiàn)流量混淆,使通信流量與真實(shí)比特幣節(jié)點(diǎn)網(wǎng)絡(luò)流量相似.D-BitBot之間的通信數(shù)據(jù)被嵌在不可用的比特幣交易中,實(shí)現(xiàn)流量偽裝.D-BitBot之間的通信過(guò)程如圖4所示.

      2.3 基于比特幣區(qū)塊鏈的上線方式

      上線地址通過(guò)周期性發(fā)布的比特幣交易被記錄在比特幣主網(wǎng)區(qū)塊鏈上.未加入網(wǎng)絡(luò)的D-BitBot通過(guò)對(duì)比特幣主網(wǎng)區(qū)塊鏈進(jìn)行檢索即可獲取最新的上線地址并加入到僵尸網(wǎng)絡(luò)中.即使安全研究人員分析出Botmaster使用的比特幣地址,也難以通過(guò)屏蔽比特幣地址的方式阻止上線地址的發(fā)布.因?yàn)榘踩芯咳藛T無(wú)法使眾多比特幣礦工達(dá)成共識(shí)以屏蔽Botmaster所擁有的地址發(fā)出的比特幣交易.

      圖4 D-BitBot之間的通信過(guò)程

      2.4 基于IP地址加鹽哈希排序的節(jié)點(diǎn)列表交換算法

      對(duì)于節(jié)點(diǎn)列表請(qǐng)求算法,其設(shè)計(jì)目的是降低攻擊者路由表節(jié)點(diǎn)注入的效率.當(dāng)所有在節(jié)點(diǎn)列表請(qǐng)求中收集到的節(jié)點(diǎn)信息被添加到請(qǐng)求節(jié)點(diǎn)的節(jié)點(diǎn)列表中的可能性相同,無(wú)論使用何種攻擊方式,都不能高效地對(duì)該節(jié)點(diǎn)的路由表進(jìn)行節(jié)點(diǎn)注入.現(xiàn)有方法分析如下:

      Sality:在Sality僵尸網(wǎng)絡(luò)中,一個(gè)節(jié)點(diǎn)在收到節(jié)點(diǎn)請(qǐng)求時(shí)會(huì)隨機(jī)選擇節(jié)點(diǎn)列表中的一個(gè)節(jié)點(diǎn)進(jìn)行回復(fù).針對(duì)Sality,可通過(guò)多次請(qǐng)求以爬取其節(jié)點(diǎn)信息.

      ZeroAccess:在ZeroAccess僵尸網(wǎng)絡(luò)中,一個(gè)節(jié)點(diǎn)在收到節(jié)點(diǎn)請(qǐng)求時(shí)將選擇一定數(shù)量的最近收到回復(fù)的節(jié)點(diǎn)進(jìn)行回復(fù).該方式的一個(gè)嚴(yán)重的缺點(diǎn)是會(huì)泄露最近與該節(jié)點(diǎn)進(jìn)行過(guò)通信的節(jié)點(diǎn).

      P2P Zeus:在P2P Zeus僵尸網(wǎng)絡(luò)中,一個(gè)節(jié)點(diǎn)在收到節(jié)點(diǎn)請(qǐng)求時(shí),該節(jié)點(diǎn)將對(duì)發(fā)出請(qǐng)求的節(jié)點(diǎn)到其節(jié)點(diǎn)列表中所有節(jié)點(diǎn)的異或距離進(jìn)行排序,選出一定數(shù)量異或距離最短的節(jié)點(diǎn)進(jìn)行回復(fù).針對(duì)該回復(fù)方式,可使用節(jié)點(diǎn)信息欺騙的方式改變當(dāng)前節(jié)點(diǎn)到其他節(jié)點(diǎn)的異或距離,即可高效地爬取到單一節(jié)點(diǎn)列表中的所有節(jié)點(diǎn).

      為解決上述現(xiàn)有方法中存在的問(wèn)題,抵抗路由表節(jié)點(diǎn)注入攻擊和P2P僵尸網(wǎng)絡(luò)節(jié)點(diǎn)爬取,本文提出一種基于IP地址加鹽哈希排序的節(jié)點(diǎn)列表交換算法.

      鹽[28]在密碼學(xué)中,是指在計(jì)算哈希值前將散列內(nèi)容(例如:密碼)的任意固定位置插入特定的字符串.這個(gè)在散列中加入字符串的方式稱為“加鹽”.其作用是讓加鹽后的散列結(jié)果和沒(méi)有加鹽的結(jié)果不相同,在不同的應(yīng)用情景中,該處理可增加額外的安全性.

      當(dāng)一個(gè)節(jié)點(diǎn)BotReq需要節(jié)點(diǎn)填充自身的節(jié)點(diǎn)列表LReq時(shí),BotReq首先計(jì)算所需節(jié)點(diǎn)數(shù)Nneed,M為節(jié)點(diǎn)的容量.若節(jié)點(diǎn)列表為空,BotReq從比特幣區(qū)塊鏈上獲取種子節(jié)點(diǎn)Lseed,否則向剩余節(jié)點(diǎn)發(fā)出節(jié)點(diǎn)請(qǐng)求.收集所有回復(fù)到一個(gè)列表Ltemp后,BotReq將Ltemp中的所有IP地址分別與32字節(jié)的隨機(jī)字符串Salt結(jié)合,并計(jì)算其SHA-256哈希值,然后將結(jié)果存入Lhash中.最后,BotReq將對(duì)Lhash排序后對(duì)應(yīng)的IP地址存入最終結(jié)果列表LRet中.

      對(duì)于節(jié)點(diǎn)列表回復(fù)算法,一般來(lái)說(shuō),成功的節(jié)點(diǎn)爬取策略可獲取足夠的信息以繪制僵尸網(wǎng)絡(luò)的網(wǎng)絡(luò)地圖,這是打擊僵尸網(wǎng)絡(luò)的重要一環(huán).由于D-BitBot在收到請(qǐng)求時(shí)返回的是節(jié)點(diǎn)列表的一個(gè)子集,因此攻擊者需要對(duì)同一節(jié)點(diǎn)發(fā)出多次請(qǐng)求,才能獲取更多節(jié)點(diǎn).Karuppayah等[27]提出基于特征值欺騙的節(jié)點(diǎn)爬取算法ZeusMilker,以提高對(duì)同一節(jié)點(diǎn)的爬取效率.為破壞相似的爬取策略,當(dāng)一個(gè)節(jié)點(diǎn)BotRep收到節(jié)點(diǎn)請(qǐng)求,BotRep首先生成一個(gè)32字節(jié)的隨機(jī)字符串作為鹽值Salt,然后將請(qǐng)求節(jié)點(diǎn)的IP地址IPReq和Salt結(jié)合并對(duì)其進(jìn)行SHA-256哈希運(yùn)算得到s1.隨后BotRep對(duì)IPReq進(jìn)行SHA-256哈希運(yùn)算得到s2,最后對(duì)s1和s2進(jìn)行異或運(yùn)算得到對(duì)IPReq的特征值KReq.由于隨機(jī)鹽值不受攻擊者操控,返回的節(jié)點(diǎn)列表將偏向于新的特征值KReq,針對(duì)D-BitBot的特征值欺騙將變得低效.最后BotRep基于節(jié)點(diǎn)列表中節(jié)點(diǎn)到KReq的異或距離選擇Sreturn個(gè)節(jié)點(diǎn)進(jìn)行回復(fù).

      算法1通過(guò)加入隨機(jī)鹽值保證節(jié)點(diǎn)添加的隨機(jī)性,攻擊者難以有效地對(duì)D-BitBot的節(jié)點(diǎn)列表進(jìn)行節(jié)點(diǎn)注入攻擊.算法2通過(guò)加入隨機(jī)鹽值的方式生成針對(duì)特定IP地址的特征值,對(duì)于來(lái)自同一IP地址的多次請(qǐng)求,D-BitBot將返回相同的結(jié)果.對(duì)于使用IP地址進(jìn)行特征值欺騙的節(jié)點(diǎn)爬取策略,加入隨機(jī)鹽值所生成新的特征值將使特征值欺騙變得低效.算法1和算法2的實(shí)際效果將在節(jié)點(diǎn)列表交換算法分析實(shí)驗(yàn)中進(jìn)行評(píng)估.

      算法1D-BitBot的節(jié)點(diǎn)列表請(qǐng)求算法

      輸入:LReq

      輸出:LRet

      1)Nneed←M-|LReq|

      2)ifNneed== 0 then

      3) return?

      4)LRet←?

      5)if| LReq| == 0 then

      6)Lseed←GetSeed()

      7) fori= 0;i< |Lseed|;i+ + do

      8) request(Lseed[i])

      9)else

      10) fori= 0;i< |LReq|;i+ + do

      11) request(LReq[i])

      12)Ltemp←GetResponse()

      13)Salt←GenerateRandomSalt()

      14)ifLtemp≠ ? then

      15) fori= 0;i< |Ltemp|;i+ + do

      16)Hi←SHA-256Hash(Ltemp[i]+Salt)

      17)Lhash←Lhash∪{(Ltemp[i],Hi)}

      18) Sort(Lhash)

      19) while |LRet|0 do

      20)LRet←LRet∪GetIP(Lhash[0])

      21)Lhash←Lhash-Lhash[0]

      22)returnLRet

      23)end

      算法2D-BitBot的節(jié)點(diǎn)列表回復(fù)算法

      輸入:LRep,IPReq

      輸出:LRes

      1)LRes←?

      2)Salt←GenerateRandomSalt()

      3)s1←SHA-256Hash(IPReq+Salt)

      4)s2←SHA-256Hash(IPReq)

      5)KReq←XOR(s1,s2)

      6)fori= 0;i

      7)LRes[i] ←LRep[i]

      8)fori=Sreturn;i< |LRep|;i+ + do

      9) forj= 0;j

      10)stemp1←SHA-256Hash(LRep[i])

      11)stemp2←SHA-256Hash(LRes[j])

      12) if XOR(stemp1,KReq)

      13)LRes[j] ←LRep[i]

      14) break

      15)returnLRes

      16)end

      3 僵尸網(wǎng)絡(luò)仿真分析

      為對(duì)D-BitBot進(jìn)行進(jìn)一步分析,本文使用PeerSim[29]對(duì)D-BitBot進(jìn)行P2P網(wǎng)絡(luò)仿真分析.

      3.1 僵尸網(wǎng)絡(luò)的構(gòu)建

      根據(jù)相關(guān)研究,在文獻(xiàn)[30-31]對(duì)僵尸網(wǎng)絡(luò)的仿真中,僵尸網(wǎng)絡(luò)的構(gòu)建通過(guò)類似蠕蟲(chóng)傳播的方式實(shí)現(xiàn),因?yàn)樵谖墨I(xiàn)[30-31]提出的僵尸網(wǎng)絡(luò)中,新節(jié)點(diǎn)不使用上線節(jié)點(diǎn)加入網(wǎng)絡(luò).在本文的仿真中,僵尸網(wǎng)絡(luò)中有一定數(shù)量的初始節(jié)點(diǎn),上線地址從網(wǎng)絡(luò)的所有節(jié)點(diǎn)中隨機(jī)選出并周期性被更新.新加入網(wǎng)絡(luò)的D-BitBot向上線節(jié)點(diǎn)請(qǐng)求更多節(jié)點(diǎn)以填充自身的節(jié)點(diǎn)列表.為方便分析,本實(shí)驗(yàn)隨機(jī)生成的IP地址均為IPv4地址.

      3.2 僵尸網(wǎng)絡(luò)相關(guān)參數(shù)的定義

      為更好地對(duì)僵尸網(wǎng)絡(luò)進(jìn)行分析,本文對(duì)僵尸網(wǎng)絡(luò)的參數(shù)的定義在表1中列出.

      表1 D-BitBot相關(guān)參數(shù)的定義

      3.3 僵尸網(wǎng)絡(luò)的初始化

      對(duì)于本文使用的僵尸網(wǎng)絡(luò)初始化方式,每個(gè)D-BitBot的節(jié)點(diǎn)列表近似于由整個(gè)僵尸網(wǎng)絡(luò)中的節(jié)點(diǎn)隨機(jī)填充.因此,Ns的期望值為M×pinit.根據(jù)相關(guān)研究[30-31],本文假設(shè)N的初始值為1 000,M的值為20,pinit的值為0.25,僵尸網(wǎng)絡(luò)規(guī)模不斷增長(zhǎng)直至N的值達(dá)到20 000,在這個(gè)過(guò)程中Normal Bot不斷地被升級(jí)為Sensor Bot,使p的值維持在0.25左右.僵尸網(wǎng)絡(luò)初始化完成后μs為

      (1)

      式中Nsi為D-BitBot i節(jié)點(diǎn)列表中的Sensor Bot個(gè)數(shù).μs的實(shí)驗(yàn)值為4.998,接近于Ns的期望值M×pinit=5.Ns的分布情況如圖5所示.

      由圖5可知,近80%的D-BitBot節(jié)點(diǎn)列表中有3~7個(gè)Sensor Bot.該分布近似于平均值為5的正態(tài)分布.為研究Ns的離散度,本文對(duì)Ns的標(biāo)準(zhǔn)差進(jìn)行計(jì)算.假設(shè)Ns的標(biāo)準(zhǔn)差為σ,則σ為

      (2)

      σ的實(shí)驗(yàn)值為1.948,故Ns具有一定的離散度,并可能會(huì)對(duì)D-BitBot的上線率產(chǎn)生影響.本文將在魯棒性評(píng)估實(shí)驗(yàn)中對(duì)上線率進(jìn)行研究.

      圖5 單一節(jié)點(diǎn)列表中包含的Sensor Bot個(gè)數(shù)分布

      Fig.5 Distribution of the current number of sensor bots in a single peer list

      4 D-BitBot魯棒性評(píng)估

      僵尸網(wǎng)絡(luò)魯棒性受多種因素影響,如回傳信道失效、DDoS攻擊、女巫攻擊、路由表投毒和僵尸節(jié)點(diǎn)離線等.這些因素均會(huì)影響D-BitBot的上線率.因此本文以D-BitBot的上線率評(píng)估D-BitBot的魯棒性.在本實(shí)驗(yàn)中,D-BitBot的上線率為一個(gè)D-BitBot發(fā)出的消息能到達(dá)可用的Sensor Bot的概率.“可用”代表一個(gè)Sensor Bot沒(méi)有被移除,能將數(shù)據(jù)通過(guò)回傳信道發(fā)送到Botmaster.假設(shè)R(pr)為移除比重為pr的Sensor Bot后D-BitBot的上線率,則R(pr)的實(shí)驗(yàn)值為

      (3)

      式中Nreachable為發(fā)出的消息能到達(dá)可用Sensor Bot的D-BitBot個(gè)數(shù),Nremaining為僵尸網(wǎng)絡(luò)中剩余的D-BitBot個(gè)數(shù).本文假設(shè)所有Sensor Bot在被移除前均為可用狀態(tài).

      為計(jì)算D-BitBot發(fā)出的消息經(jīng)過(guò)廣播之后能夠到達(dá)一個(gè)可用Sensor Bot的概率,需要先計(jì)算兩個(gè)參數(shù):μp和p.μp為

      (4)

      p隨著Sensor Bot的移除而降低.p為

      (5)

      接下來(lái)計(jì)算一條消息由D-BitBot發(fā)出之后到達(dá)一個(gè)可用的Sensor Bot的概率,即R(pr)的計(jì)算值.事實(shí)上,只需計(jì)算出一條消息不能到達(dá)一個(gè)可用的Sensor Bot的概率,然后用1減去該概率即可得到R(pr)的計(jì)算值.首先,一個(gè)D-BitBot不是可用的Sensor Bot的概率為(1-p),該D-BitBot節(jié)點(diǎn)列表中所有節(jié)點(diǎn)均不為可用的Sensor Bot的概率為(1-p)μp,因此當(dāng)Tup為1時(shí)R(pr)的計(jì)算值為1-(1-p)·(1-p)μp.以此類推可得R(pr)的計(jì)算值為

      (6)

      由式(6)可知,隨著Tup值的增大,由于指數(shù)函數(shù)的特性,Tup對(duì)R(pr)的值有決定性的影響.當(dāng)M為20,pinit為0.25時(shí),隨著Tup的增長(zhǎng),R(pr)接近于1.本章設(shè)計(jì)實(shí)驗(yàn)選出Tup的最優(yōu)值,避免網(wǎng)絡(luò)負(fù)載過(guò)高且便于管理.

      為通過(guò)網(wǎng)絡(luò)仿真研究Tup取不同的值時(shí)摘除Sensor Bot的比重pr對(duì)D-BitBot的上線率R(pr)的影響,針對(duì)自構(gòu)建的仿真僵尸網(wǎng)絡(luò),本章使用不同摘除比重pr對(duì)網(wǎng)絡(luò)中的Sensor Bot進(jìn)行摘除,并對(duì)摘除后的網(wǎng)絡(luò)連接率R(pr)進(jìn)行監(jiān)測(cè),得到實(shí)驗(yàn)結(jié)果.pinit的取值為0.25,pr的取值范圍為[0,1],取值間隔為0.05,Tup的取值范圍為[1,4],取值間隔為1.

      圖6為在仿真環(huán)境中R(pr)計(jì)算值和實(shí)驗(yàn)值的比較.隨著Tup的增長(zhǎng),R(pr)的計(jì)算值趨近于1.當(dāng)Tup≥2,在Sensor Bot的移除比重pr≤0.85時(shí),R(pr)的實(shí)驗(yàn)值趨近于1.當(dāng)Tup≥3,在Sensor Bot的移除比重pr=0.95時(shí),R(pr)≈0.9.這表明在Tup=3時(shí),僵尸網(wǎng)絡(luò)具有良好的魯棒性,因此當(dāng)節(jié)點(diǎn)列表的最大值M取值為20,Sensor Bot的初始比重pinit取值為0.25時(shí),Tup的最優(yōu)取值為3.R(pr)的計(jì)算值與實(shí)驗(yàn)值基本相符,實(shí)驗(yàn)值略低于計(jì)算值.這是因?yàn)樵?/p>

      圖6 Tup取不同的值時(shí)R(pr)的計(jì)算值和實(shí)驗(yàn)值的比較

      Fig.6 Comparison of the calculated values and simulation results ofR(pr) with differentTup

      R(pr)的計(jì)算式中使用的是μp.實(shí)際上,由自構(gòu)建的仿真僵尸網(wǎng)絡(luò)屬性可得,單一D-BitBot節(jié)點(diǎn)列表中包含的Sensor Bot個(gè)數(shù)Ns具有一定的離散程度,因此R(pr)的實(shí)驗(yàn)值和計(jì)算值存在誤差.雖然式(6)并不能計(jì)算出準(zhǔn)確的R(pr),但是,當(dāng)安全研究人員沒(méi)有獲取實(shí)際數(shù)據(jù)時(shí),式(6)仍可用于估算相似僵尸網(wǎng)絡(luò)的上線率.

      5 節(jié)點(diǎn)列表交換算法分析

      5.1 節(jié)點(diǎn)注入抵御效果分析

      為抵抗路由表節(jié)點(diǎn)注入攻擊,降低節(jié)點(diǎn)注入的效率,算法1通過(guò)對(duì)IP地址加鹽哈希后排序的方式實(shí)現(xiàn)對(duì)待添加節(jié)點(diǎn)的隨機(jī)選取.本章從自構(gòu)建的仿真僵尸網(wǎng)絡(luò)中隨機(jī)選取一個(gè)節(jié)點(diǎn)列表中節(jié)點(diǎn)數(shù)為M的節(jié)點(diǎn),其中5/M個(gè)節(jié)點(diǎn)被標(biāo)記為惡意.然后使其對(duì)節(jié)點(diǎn)列表中所有節(jié)點(diǎn)發(fā)起多次節(jié)點(diǎn)請(qǐng)求,然后計(jì)算每次經(jīng)過(guò)算法1篩選后被添加的節(jié)點(diǎn)來(lái)自惡意節(jié)點(diǎn)的概率.請(qǐng)求重復(fù)的次數(shù)為30 000.

      根據(jù)實(shí)驗(yàn)所得數(shù)據(jù),經(jīng)算法1篩選后被添加至節(jié)點(diǎn)列表中的節(jié)點(diǎn)來(lái)自惡意節(jié)點(diǎn)的平均概率為19.97%,標(biāo)準(zhǔn)差為7.8%.證明經(jīng)算法1篩選后所有候選節(jié)點(diǎn)能達(dá)到被隨機(jī)選取添加至節(jié)點(diǎn)列表的效果.

      5.2 節(jié)點(diǎn)爬取抵御效果分析

      為降低攻擊者對(duì)單一節(jié)點(diǎn)進(jìn)行爬取的效率,本文提出基于異或距離的節(jié)點(diǎn)篩選算法,計(jì)算異或距離使用的特征值為請(qǐng)求節(jié)點(diǎn)的IP地址加鹽后的SHA-256哈希值.

      為評(píng)估該算法的效果,本文分別使用ZeusMilker節(jié)點(diǎn)爬取算法和隨機(jī)生成特征值的爬取算法Random對(duì)本文方法、Sality、P2P Zeus和ZeroAccess進(jìn)行對(duì)比.本文以節(jié)點(diǎn)發(fā)現(xiàn)率評(píng)估節(jié)點(diǎn)爬取的效果,即已發(fā)現(xiàn)的節(jié)點(diǎn)占該節(jié)點(diǎn)列表的節(jié)點(diǎn)總數(shù)的比重.本章從自構(gòu)建的仿真僵尸網(wǎng)絡(luò)中隨機(jī)選取50個(gè)節(jié)點(diǎn),分別對(duì)不同的節(jié)點(diǎn)回復(fù)策略進(jìn)行爬取,然后計(jì)算平均節(jié)點(diǎn)發(fā)現(xiàn)率,本文假設(shè)節(jié)點(diǎn)列表在被爬取的過(guò)程中不會(huì)發(fā)生變化,M的值為20,Sreturn的值為4.圖7和圖8顯示在不同的節(jié)點(diǎn)回復(fù)策略下Random算法和ZeusMilker算法對(duì)單一D-BitBot進(jìn)行節(jié)點(diǎn)爬取的效率.對(duì)于ZeroAccess,不同的爬取方法其爬取結(jié)果相同,因?yàn)閆eroAccess固定返回節(jié)點(diǎn)列表中的前5/M個(gè)節(jié)點(diǎn).

      由圖7可知,除ZeroAccess外,隨機(jī)爬取算法Random在經(jīng)過(guò)大量的請(qǐng)求后均可獲取到單一節(jié)點(diǎn)列表中的絕大部分節(jié)點(diǎn).本文提出的方法和P2P Zeus效果略優(yōu)于Sality.

      圖7 Random節(jié)點(diǎn)爬取算法對(duì)不同抵御方法的效果分析(M=20,Sreturn=4)

      Fig.7 Performance of Random on different anti-crawling strategies (M=20,Sreturn=4)

      由圖8可知,本文所提出的方法對(duì)ZeusMilker算法的抵御效果最佳,ZeusMilker算法對(duì)其目標(biāo)節(jié)點(diǎn)的平均發(fā)現(xiàn)率不足60%.對(duì)于P2P Zeus,ZeusMilker算法在一定數(shù)量的請(qǐng)求后的節(jié)點(diǎn)發(fā)現(xiàn)率可達(dá)100%,而對(duì)于Sality,ZeusMilker算法最高節(jié)點(diǎn)發(fā)現(xiàn)率則略高于90%.

      圖8 ZeusMilker節(jié)點(diǎn)爬取算法對(duì)不同抵御方法的效果分析(M=20,Sreturn=4)

      Fig.8 Performance of ZeusMilker on different anti-crawling strategies (M=20,Sreturn=4)

      實(shí)驗(yàn)結(jié)果證明本文提出的算法可有效抵御基于特征值欺騙的ZeusMilker節(jié)點(diǎn)爬取算法.隨機(jī)爬取算法Random無(wú)法通過(guò)少量請(qǐng)求獲取單一D-BitBot的所有節(jié)點(diǎn)信息,存在效率低下的缺陷.因此,本文提出提出的節(jié)點(diǎn)列表回復(fù)法可有效抵御僵尸網(wǎng)絡(luò)節(jié)點(diǎn)爬取攻擊.

      6 相關(guān)討論分析

      6.1 抵御措施分析

      6.1.1 被感染端層面抵御措施

      根據(jù)本文提出的僵尸網(wǎng)絡(luò)模型設(shè)計(jì)方案及比特幣協(xié)議,該模型需監(jiān)聽(tīng)受感染主機(jī)的8 333和18 333端口(比特幣主網(wǎng)和比特幣測(cè)試網(wǎng)絡(luò)的默認(rèn)通信端口).通過(guò)關(guān)閉受感染主機(jī)的對(duì)應(yīng)端口可有效阻止其數(shù)據(jù)傳輸.然而,關(guān)閉端口會(huì)對(duì)依賴該端口的其他網(wǎng)絡(luò)服務(wù)產(chǎn)生影響,并會(huì)對(duì)真實(shí)比特幣客戶端的網(wǎng)絡(luò)行為產(chǎn)生影響.因此該操作僅作為應(yīng)急措施而不能永久解除威脅.

      6.1.2 比特幣網(wǎng)絡(luò)層面抵御措施

      比特幣網(wǎng)絡(luò)并非由Botmaster所控制的節(jié)點(diǎn)組成的P2P網(wǎng)絡(luò),若屬于Botmaster的比特幣地址被網(wǎng)絡(luò)中的節(jié)點(diǎn)所屏蔽或被列入黑名單,不僅會(huì)使本文提出的僵尸網(wǎng)絡(luò)通信信道失效,還會(huì)使該僵尸網(wǎng)絡(luò)控制端有被溯源的風(fēng)險(xiǎn).由于96%的比特幣節(jié)點(diǎn)使用的客戶端為Bitcoin Core[32],因此一種可能的抵御方式為安全研究人員與Bitcoin Core開(kāi)發(fā)團(tuán)隊(duì)協(xié)商在程序中加入黑名單機(jī)制,屏蔽特定地址的交易或?qū)Πl(fā)出交易的源IP地址進(jìn)行追溯.然而,黑名單機(jī)制違反比特幣設(shè)計(jì)的理念和初衷[33],會(huì)因比特幣社區(qū)用戶及開(kāi)發(fā)人員的反對(duì)而無(wú)法實(shí)行.

      6.1.3 網(wǎng)絡(luò)服務(wù)提供商層面抵御措施

      由Botmaster發(fā)出的交易數(shù)據(jù)須先經(jīng)過(guò)被網(wǎng)絡(luò)服務(wù)提供商(Internet Service Provider, ISP)發(fā)送到比特幣網(wǎng)絡(luò),因此交易數(shù)據(jù)在被發(fā)出時(shí)可被部署于ISP層的基于軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)的針對(duì)特定協(xié)議的監(jiān)測(cè)點(diǎn)[34]所捕獲.安全研究人員可根據(jù)捕獲到的數(shù)據(jù)和信息進(jìn)行進(jìn)一步的溯源.然而,比特幣網(wǎng)絡(luò)是一個(gè)節(jié)點(diǎn)分布在全球各地的P2P網(wǎng)絡(luò),安全研究人員難以與全球眾多ISP協(xié)同部署對(duì)應(yīng)的監(jiān)測(cè)點(diǎn).

      6.2 相關(guān)討論

      6.2.1 經(jīng)濟(jì)成本分析

      本文提出的實(shí)現(xiàn)方案通過(guò)比特幣主網(wǎng)發(fā)送命令,每發(fā)送一條命令的成本約為0.4美元(0.1 mBTC),回傳信道使用比特幣測(cè)試網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)回收,通信所需比特幣可通過(guò)公開(kāi)訪問(wèn)的網(wǎng)站免費(fèi)獲取,因此回傳通信成本與比特幣價(jià)格和僵尸網(wǎng)絡(luò)的規(guī)模均無(wú)關(guān).Sensor Bot被捕獲或被移除不會(huì)造成Botmaster的經(jīng)濟(jì)損失.此外,節(jié)點(diǎn)間通信消息在自組建的P2P網(wǎng)絡(luò)中廣播,節(jié)點(diǎn)間無(wú)通信成本.

      6.2.2 D-BitBot信道分析

      基于本文及相關(guān)研究所論述,對(duì)于比特幣和以太坊等公開(kāi)的區(qū)塊鏈網(wǎng)絡(luò),暫無(wú)相關(guān)研究提出方法防止對(duì)其的惡意利用以及對(duì)惡意利用的有效溯源.比特幣主網(wǎng)和測(cè)試網(wǎng)絡(luò)具有相同的功能和特性,兩者均為擁有大量遍布全球的節(jié)點(diǎn)的P2P網(wǎng)絡(luò)[35],其區(qū)別僅在于交易數(shù)據(jù)的網(wǎng)絡(luò)標(biāo)識(shí)及協(xié)議使用的端口號(hào)不同,而且比特幣網(wǎng)絡(luò)沒(méi)有獨(dú)立的第三方組織對(duì)其進(jìn)行監(jiān)管,因此通過(guò)傳統(tǒng)方法對(duì)比特幣網(wǎng)絡(luò)進(jìn)行溯源并不可行.

      本文提出的解決方案被控端和控制端在從比特幣網(wǎng)絡(luò)中接收消息時(shí)其網(wǎng)絡(luò)行為與真實(shí)的比特幣節(jié)點(diǎn)無(wú)異,被控端和控制端接收所有被廣播的交易并在本地過(guò)濾出包含通信數(shù)據(jù)的交易.使用比特幣測(cè)試網(wǎng)絡(luò)對(duì)通信數(shù)據(jù)進(jìn)行回收,可利用比特幣網(wǎng)絡(luò)的可靠性和抗跟蹤溯源性,同時(shí)降低回傳信道的通信成本.

      此外,該模型經(jīng)少量修改即可部署至其他相似的公有區(qū)塊鏈網(wǎng)絡(luò),將來(lái)可能會(huì)對(duì)網(wǎng)絡(luò)空間安全造成威脅,應(yīng)當(dāng)引起安全研究人員的重視,并研究對(duì)應(yīng)的防御技術(shù).

      7 結(jié) 論

      僵尸網(wǎng)絡(luò)已經(jīng)成為當(dāng)前網(wǎng)絡(luò)空間面臨的最大安全威脅之一.針對(duì)基于公有區(qū)塊鏈網(wǎng)絡(luò)(如比特幣、以太坊等)的僵尸網(wǎng)絡(luò)通信模型研究中網(wǎng)絡(luò)擴(kuò)展代價(jià)高和回傳通道容易被溯源的問(wèn)題,本文提出D-BitBot,一種基于比特幣網(wǎng)絡(luò)雙向通信的P2P僵尸網(wǎng)絡(luò)模型.與其他對(duì)僵尸網(wǎng)絡(luò)的相關(guān)研究相比,D-BitBot的C&C信道更加難以被破壞和屏蔽,通信成本更低,且網(wǎng)絡(luò)擴(kuò)展性不受限于數(shù)字加密貨幣價(jià)格.此外,本文提出基于比特幣區(qū)塊鏈的上線機(jī)制及基于IP地址加鹽哈希排序的節(jié)點(diǎn)列表交換算法,使D-BitBot可避免單點(diǎn)故障的缺陷,并可有效抵御路由表節(jié)點(diǎn)注入攻擊和僵尸網(wǎng)絡(luò)節(jié)點(diǎn)爬取.

      猜你喜歡
      僵尸IP地址列表
      巧用列表來(lái)推理
      學(xué)習(xí)運(yùn)用列表法
      筆記本電腦“僵尸”
      擴(kuò)列吧
      鐵路遠(yuǎn)動(dòng)系統(tǒng)幾種組網(wǎng)方式IP地址的申請(qǐng)和設(shè)置
      你愿意當(dāng)吸血鬼還是僵尸?
      基于SNMP的IP地址管理系統(tǒng)開(kāi)發(fā)與應(yīng)用
      黑龍江電力(2017年1期)2017-05-17 04:25:16
      App已死?80%的僵尸應(yīng)用帶來(lái)的困惑
      新聞傳播(2015年6期)2015-07-18 11:13:15
      “僵尸肉”橫行誰(shuí)之過(guò)
      不含3-圈的1-平面圖的列表邊染色與列表全染色
      丹凤县| 台南市| 昌宁县| 苏尼特左旗| 弥勒县| 碌曲县| 乌苏市| 蕉岭县| 山东省| 朔州市| 赤壁市| 驻马店市| 莱阳市| 永清县| 佛教| 喜德县| 江陵县| 巢湖市| 杨浦区| 鄂伦春自治旗| 城步| 色达县| 成都市| 漳浦县| 互助| 廉江市| 内丘县| 江北区| 焦作市| 赞皇县| 望城县| 射洪县| 汾西县| 津市市| 青海省| 凤山市| 五河县| 平南县| 贡觉县| 静乐县| 石柱|