成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

P2P 僵尸網(wǎng)絡(luò)入門

chnmagnus / 766人閱讀

摘要:傳統(tǒng)僵尸網(wǎng)絡(luò)傳統(tǒng)僵尸網(wǎng)絡(luò)圖例無(wú)論使用或是其他協(xié)議,傳統(tǒng)僵尸網(wǎng)絡(luò)的構(gòu)成都是相同的。盡管這些節(jié)點(diǎn)僅僅從技術(shù)上可以作為服務(wù)器,但是可以利用它們防止僵尸網(wǎng)絡(luò)被摧毀。

當(dāng)前人們正大肆宣傳ZeroAccess(一種惡意程序)被攻克的消息,我認(rèn)為是時(shí)候介紹一下P2P僵尸網(wǎng)絡(luò)(botnets)了。包括它們是如何工作的,以及通常怎么應(yīng)對(duì)它們。

傳統(tǒng)僵尸網(wǎng)絡(luò)


傳統(tǒng)僵尸網(wǎng)絡(luò)圖例

無(wú)論使用HTTP、IRC或是其他協(xié)議,傳統(tǒng)僵尸網(wǎng)絡(luò)的構(gòu)成都是相同的。所有的僵尸主機(jī)(bot)都通過(guò)一個(gè)或多個(gè)域名連接到一個(gè)或多個(gè)服務(wù)器。盡管網(wǎng)絡(luò)結(jié)構(gòu)可能千差萬(wàn)別,或一目了然,或錯(cuò)綜復(fù)雜,通過(guò)各服務(wù)器間良好的協(xié)作,都可以輕易摧毀僵尸網(wǎng)絡(luò)。

恢復(fù)僵尸主機(jī)正常工作最常見(jiàn)的辦法,就是奪取它所使用的域名或服務(wù)器的控制權(quán)。然而有些時(shí)候由于某些原因我們無(wú)法向僵尸主機(jī)發(fā)送指令,就需要另一種手段。當(dāng)然嘗試關(guān)閉命令與控制服務(wù)器(C&C Server)一般情況下都是浪費(fèi)時(shí)間的做法,因?yàn)橹骺卣撸╞otmaster)不需要花多少時(shí)間,就可以找到另一個(gè)服務(wù)器,并將域名重定向到它上面。于是我們就只有在域名上做文章來(lái)應(yīng)對(duì)了。

高手操縱的僵尸網(wǎng)絡(luò)通常會(huì)使用多個(gè)域名,當(dāng)其中一個(gè)被關(guān)閉時(shí),僵尸主機(jī)會(huì)連接到另一個(gè)。想要徹底破壞這樣的僵尸網(wǎng)絡(luò),有兩個(gè)辦法:1、暫時(shí)關(guān)閉所有和這個(gè)僵尸網(wǎng)絡(luò)相關(guān)的域名(需要在短時(shí)間內(nèi)完成,以防主控者操作僵尸主機(jī)定向到新的域名);2、把僵尸網(wǎng)絡(luò)使用的域名定向到一個(gè)有特殊功能的服務(wù)器(如Sinkhole路由器),使僵尸主機(jī)遠(yuǎn)離正常的控制服務(wù)器,從而切斷主控者對(duì)它們的控制。

P2P

不同于傳統(tǒng)僵尸網(wǎng)絡(luò)在域名或服務(wù)器被奪取控制權(quán)時(shí)表現(xiàn)出的脆弱,P2P僵尸網(wǎng)絡(luò)會(huì)建立一個(gè)相對(duì)分散的網(wǎng)絡(luò)環(huán)境。思路就是所有的僵尸主機(jī)都互相連接并且進(jìn)行通信,從而不再需要一個(gè)中心服務(wù)器,但實(shí)際上并不單純是這樣。

指令

如果所有的僵尸主機(jī)都能互相通信,那么主控者需要確保只有他能向這些主機(jī)發(fā)送指令,通常的解決辦法是數(shù)字簽名。這個(gè)簽名是由不對(duì)稱加密算法生成的,需要兩個(gè)密鑰(公鑰和私鑰)。如果其中一個(gè)密鑰用于加密消息,那么必須使用另一個(gè)來(lái)解密。于是主控者可以自己持有一個(gè)密鑰(私鑰),將另一個(gè)(公鑰)發(fā)放到僵尸主機(jī)上。他使用私鑰對(duì)指令進(jìn)行加密,然后僵尸主機(jī)使用公鑰解密。沒(méi)有私鑰,任何人都無(wú)法正確加密指令。

網(wǎng)絡(luò)架構(gòu)

圖1

大部分人眼中P2P僵尸網(wǎng)絡(luò)的構(gòu)造和圖1類似,所有僵尸主機(jī)通過(guò)IP地址互相連接,互相發(fā)送命令,完全不需要中心服務(wù)器或者域名。很遺憾,這種表述是錯(cuò)誤的。

那些使用NAT、防火墻,或者代理訪問(wèn)網(wǎng)絡(luò)的計(jì)算機(jī),無(wú)法接受連入的請(qǐng)求,它們只能向外發(fā)送消息,這會(huì)導(dǎo)致大多數(shù)僵尸主機(jī)無(wú)法被另一個(gè)直接連接。在傳統(tǒng)僵尸網(wǎng)絡(luò)中,這根本不是問(wèn)題,因?yàn)榻┦鳈C(jī)都是連接到服務(wù)器的。因此在P2P網(wǎng)絡(luò)中,我們?nèi)匀恍枰?wù)器,只不過(guò)形式不同罷了。

圖2

把那些可以接受連入請(qǐng)求的僵尸主機(jī)(沒(méi)有使用代理、NAT或防火墻)作為服務(wù)器(通常稱作節(jié)點(diǎn)),同時(shí)那些不能連入的主機(jī)(通常稱作worker,暫譯工作機(jī))將向一個(gè)或多個(gè)節(jié)點(diǎn)發(fā)起連接,從而獲取指令(圖2)。盡管這些節(jié)點(diǎn)僅僅從技術(shù)上可以作為服務(wù)器,但是可以利用它們防止僵尸網(wǎng)絡(luò)被摧毀。辦法就是:所有的工作機(jī)在節(jié)點(diǎn)間是分布式連接的,這使它們?cè)谀硞€(gè)節(jié)點(diǎn)失效時(shí),能夠輕易轉(zhuǎn)移到另一個(gè)節(jié)點(diǎn)上。有時(shí)關(guān)閉所有的節(jié)點(diǎn)是一件不切實(shí)際的事情,于是P2P僵尸網(wǎng)絡(luò)得以持續(xù)工作。不幸的是,這些節(jié)點(diǎn)都是合法的普通計(jì)算機(jī),它們可不能像服務(wù)器一樣隨意被我們控制。

每個(gè)節(jié)點(diǎn)都維護(hù)著一個(gè)IP列表,它包含所有和自身有相同工作機(jī)的節(jié)點(diǎn)。然后工作機(jī)再獲取這個(gè)列表,于是它們就能夠在其中某個(gè)節(jié)點(diǎn)失效時(shí)轉(zhuǎn)向另一個(gè)。在這個(gè)階段,數(shù)個(gè)僵尸主機(jī)成為一組,并且連接到許多不同的節(jié)點(diǎn),但整個(gè)僵尸網(wǎng)絡(luò)還無(wú)法接受指令。為了使指令能夠抵達(dá)網(wǎng)絡(luò)中各臺(tái)主機(jī),需要僵尸主機(jī)連接到多個(gè)節(jié)點(diǎn)并把接受到的指令發(fā)送到其他節(jié)點(diǎn),或者節(jié)點(diǎn)之間相互連接同時(shí)相互傳遞指令,亦或者把兩者結(jié)合起來(lái)。

引導(dǎo)增殖

要將一臺(tái)主機(jī)擁入僵尸網(wǎng)絡(luò)的懷抱,它至少需要獲取一個(gè)節(jié)點(diǎn)的IP地址,這時(shí)引導(dǎo)增殖的過(guò)程便開(kāi)始了。僵尸程序里硬編碼了一系列可提供自身繁衍所需信息的服務(wù)器(暫譯引導(dǎo)服務(wù)器),當(dāng)程序第一次在被感染的計(jì)算機(jī)上運(yùn)行時(shí),它就會(huì)連接到這些服務(wù)器。引導(dǎo)服務(wù)器的工作就是維護(hù)一個(gè)海量的節(jié)點(diǎn)地址,將其中一部分發(fā)放到僵尸主機(jī)上(把主機(jī)引入僵尸網(wǎng)絡(luò))。通常來(lái)說(shuō),引導(dǎo)服務(wù)器使用某種簽名,防止被安全人員劫持,也避免提供無(wú)效的節(jié)點(diǎn)地址。

顯然引導(dǎo)服務(wù)器是中心要點(diǎn),就像傳統(tǒng)僵尸網(wǎng)絡(luò)一樣,他們可以被破壞,然而這也不算什么大不了的事。如果所有的引導(dǎo)服務(wù)器在一瞬間被全部拿下,這也不會(huì)影響到已經(jīng)存在的僵尸主機(jī),只是阻止了新僵尸的加入。主控者可以從容地暫停感染新機(jī)器,直到他設(shè)置好新的引導(dǎo)服務(wù)器。因此這個(gè)辦法只能算是一個(gè)臨時(shí)措施,去攻擊僵尸網(wǎng)絡(luò)的引導(dǎo)增殖系統(tǒng)意義并不大。

拆解僵尸網(wǎng)絡(luò)

攻擊引導(dǎo)服務(wù)器只是臨時(shí)地阻止了網(wǎng)絡(luò)的感染,而包含數(shù)字簽名的指令使得除了主控者以外的人無(wú)法操縱僵尸主機(jī),同時(shí)節(jié)點(diǎn)數(shù)量又太多以至于很難同時(shí)被擊破,那么我們還能做什么呢?

投下慢性毒藥

幾乎所有的P2P僵尸網(wǎng)絡(luò)都有一個(gè)弱點(diǎn),那就是所有的對(duì)等主機(jī)會(huì)使用相同的運(yùn)行機(jī)制。像之前描述過(guò)的那樣,節(jié)點(diǎn)主機(jī)需要維護(hù)包含其他節(jié)點(diǎn)的列表,同時(shí)共享給工作機(jī),使它們能夠分布式地連接到一系列節(jié)點(diǎn)上。如果主控者手動(dòng)為每個(gè)節(jié)點(diǎn)提供其他節(jié)點(diǎn)的地址,將耗費(fèi)難以估計(jì)的時(shí)間,甚至是不可能做到的,因此交給節(jié)點(diǎn)自動(dòng)完成。當(dāng)一個(gè)僵尸節(jié)點(diǎn)被認(rèn)定可以接受連入請(qǐng)求時(shí),節(jié)點(diǎn)主機(jī)便連接到它,并給它共享一個(gè)節(jié)點(diǎn)列表。

那么如果你引入一臺(tái)對(duì)僵尸網(wǎng)絡(luò)來(lái)說(shuō)居心叵測(cè)的計(jì)算機(jī)呢,它有條件作為節(jié)點(diǎn)主機(jī),并且向其他節(jié)點(diǎn)共享一個(gè)包含無(wú)效IP的列表。很可能效果不是很大,節(jié)點(diǎn)會(huì)校驗(yàn)新獲取的IP以確保它們可用。但是既然想到了這點(diǎn),離成功也就不遠(yuǎn)了!

安全人員可以引入許多這樣的“惡意”計(jì)算機(jī),并非提供無(wú)效的節(jié)點(diǎn)IP,而是提供它們各自的IP。資源充足的情況下,“惡意”計(jì)算機(jī)會(huì)成為僵尸網(wǎng)絡(luò)中重要的一部分,并且把僵尸主機(jī)和節(jié)點(diǎn)主機(jī)分離。通過(guò)這樣的方式,可以使工作機(jī)只能獲取“惡意”的節(jié)點(diǎn),從而顯著降低它們重新成為僵尸網(wǎng)絡(luò)一員的可能性。在一定的時(shí)間內(nèi),“惡意”節(jié)點(diǎn)會(huì)阻止正常節(jié)點(diǎn)傳播命令,于是工作機(jī)也無(wú)法接收到指令,打了主控者一個(gè)措手不及。這個(gè)辦法不太可能將所有的工作機(jī)分離出來(lái),但已大大削弱了僵尸網(wǎng)絡(luò)的影響程度。保持“惡意”節(jié)點(diǎn)持續(xù)運(yùn)行能夠?qū)⒏嗟闹鳈C(jī)占為己有,也時(shí)刻監(jiān)視著那些可能存有“正?!惫?jié)點(diǎn)IP地址的僵尸主機(jī)。


原文:Peer-to-Peer Botnets for Beginners
轉(zhuǎn)載于:伯樂(lè)在線 - 蔣生武

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/11135.html

相關(guān)文章

  • EOS入門指南 - PART2 連接主網(wǎng)

    摘要:本文主要介紹了本地的程序如何連接主網(wǎng)。連接主網(wǎng)添加種子節(jié)點(diǎn)這時(shí)我們看上去似乎沒(méi)啥問(wèn)題了,之后出來(lái)的也是主網(wǎng),一切看上去歲月靜好。這要靠顯示聲明的種子節(jié)點(diǎn)來(lái)解決,這些種子節(jié)點(diǎn)通常是的創(chuàng)建者和運(yùn)營(yíng)者。 本文主要介紹了本地的eos程序如何連接主網(wǎng)。 1. 我們?cè)贓OS主網(wǎng)上么 這時(shí)我們?cè)诿钚兄休斎耄?cleos get info 會(huì)顯示如下界面:showImg(https://segmen...

    brianway 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<