公鏈和DDOS攻擊:防守反擊型節(jié)點(diǎn)設(shè)計(jì)區(qū)塊鏈
區(qū)塊鏈公鏈作為一個(gè)開(kāi)放的分布式數(shù)據(jù)庫(kù),最容易被進(jìn)行DDOS攻擊,攻擊的技術(shù)方式一般有三種。
引言
DDOS(DistributedDenial of Service)分布式拒絕服務(wù)攻擊,是最常用、最粗暴的網(wǎng)絡(luò)服務(wù)攻擊手段,其破壞性巨大。其主要特征是處于不同位置的多個(gè)攻擊者同時(shí)向一個(gè)或者數(shù)個(gè)目標(biāo)發(fā)起攻擊,或者一個(gè)或多個(gè)攻擊者控制了位于不同位置的多臺(tái)機(jī)器并利用這些機(jī)器對(duì)目標(biāo)同時(shí)實(shí)施攻擊,惡意造成網(wǎng)絡(luò)服務(wù)不能正常運(yùn)轉(zhuǎn)從而不能向正常用戶提供所需要的服務(wù)或者使得服務(wù)質(zhì)量降低。針對(duì)區(qū)塊鏈公鏈的節(jié)點(diǎn)分布式特征和區(qū)塊數(shù)據(jù)全網(wǎng)同步特征,本文設(shè)計(jì)了一種有效的區(qū)塊鏈防守攻擊型節(jié)點(diǎn)機(jī)制,在防范對(duì)區(qū)塊鏈節(jié)點(diǎn)做DDOS攻擊的同時(shí),可對(duì)攻擊者發(fā)起懲罰性反擊,震懾并提高其做惡成本,維護(hù)合法DAPP開(kāi)發(fā)者對(duì)區(qū)塊鏈的正常使用。
攻擊方式
區(qū)塊鏈公鏈作為一個(gè)開(kāi)放的分布式數(shù)據(jù)庫(kù),最容易被進(jìn)行DDOS攻擊,攻擊的技術(shù)方式一般有如下三種:
(1) 攻擊者向公鏈主網(wǎng)節(jié)點(diǎn)或公開(kāi)節(jié)點(diǎn)服務(wù)器端口,使用Socket發(fā)起TCP請(qǐng)求,在建立通信前基于TCP三次握手協(xié)議,首先要協(xié)商,正常情況下,客戶端發(fā)送一個(gè)SYN數(shù)據(jù)包表示要進(jìn)行通信,服務(wù)器收到該SYN包后回應(yīng)一個(gè)ACK確認(rèn)包,客戶端再回應(yīng)一個(gè)確認(rèn)包后握手通信就完成了。攻擊者通過(guò)操縱多個(gè)主機(jī)向被攻擊的服務(wù)器發(fā)送SYN數(shù)據(jù)包,當(dāng)服務(wù)器回復(fù)ACK確認(rèn)包后,主機(jī)不再回應(yīng),這樣服務(wù)器就會(huì)保持這個(gè)半連接的并等待,這些很多的半連接會(huì)耗費(fèi)極大的服務(wù)器I/O等資源,導(dǎo)致服務(wù)器不能正常工作。
(2) 攻擊者使用無(wú)連接的UDP協(xié)議或ICMP協(xié)議,在短時(shí)間內(nèi)向區(qū)塊鏈節(jié)點(diǎn)發(fā)送大量無(wú)用的數(shù)據(jù)包,飽和節(jié)點(diǎn)服務(wù)器的帶寬、內(nèi)存和CPU資源,導(dǎo)致服務(wù)器的擁塞和癱瘓。
(3) 攻擊者仿造正常DAPP應(yīng)用,批量高頻地向區(qū)塊鏈發(fā)起偽交易,制造大量的垃圾交易數(shù)據(jù),區(qū)塊鏈作為一個(gè)分布式數(shù)據(jù)庫(kù)對(duì)業(yè)務(wù)數(shù)據(jù)語(yǔ)義本身是沒(méi)有判斷標(biāo)準(zhǔn)和判斷能力的,這些數(shù)據(jù)會(huì)被正常打包進(jìn)入?yún)^(qū)塊,造成區(qū)塊數(shù)據(jù)龐大,嚴(yán)重影響區(qū)塊節(jié)點(diǎn)數(shù)據(jù)的同步效率和交易響應(yīng)時(shí)長(zhǎng)。
防守反擊
針對(duì)不同的區(qū)塊鏈DDOS攻擊方式,防守和反攻的方式不盡相同:
(1) 利用對(duì)稱性判斷分析TCP攻擊,通過(guò)檢查TCP鏈接池狀態(tài),統(tǒng)計(jì)是否有大量ACK包存在并判斷其活動(dòng)狀態(tài),對(duì)異常鏈接主動(dòng)斷開(kāi)并收回系統(tǒng)I/O資源。
(2) 根據(jù)業(yè)務(wù)UDP包大小的正常范圍,過(guò)濾異常包大小的流量,丟棄UDP碎片。
(3) 直接過(guò)濾ICMP報(bào)文,如禁止PING協(xié)議等。
(4) 對(duì)偽交易型攻擊,根據(jù)區(qū)塊鏈的特征其交易的發(fā)起都來(lái)自特定節(jié)點(diǎn),主網(wǎng)官方節(jié)點(diǎn)通過(guò)大數(shù)據(jù)實(shí)時(shí)分析,監(jiān)控異常節(jié)點(diǎn)及IP操作頻率如下面公式,實(shí)時(shí)進(jìn)行閥值云控和自動(dòng)配置,并根據(jù)所操作合約地址來(lái)跟蹤其變化的節(jié)點(diǎn)IP。防守的機(jī)制有限制節(jié)點(diǎn)可連接源IP的連接數(shù)、主動(dòng)清除僵尸偽連接、對(duì)特定智能合約的訪問(wèn)操作授權(quán)范圍進(jìn)行限制等。反擊的機(jī)制有:
瞬間提高作惡用戶地址和對(duì)應(yīng)合約地址的交易GAS消耗,做歸零處理
封閉其對(duì)應(yīng)節(jié)點(diǎn)IP和用戶地址的交易請(qǐng)求,封閉正常區(qū)塊數(shù)據(jù)同步及用戶狀態(tài)請(qǐng)求
引入懲罰性區(qū)塊數(shù)據(jù),讓該節(jié)點(diǎn)只能同步無(wú)效且數(shù)據(jù)量巨大的無(wú)用區(qū)塊數(shù)據(jù),消耗該節(jié)點(diǎn)帶寬和存儲(chǔ)資源
總結(jié)
當(dāng)前市場(chǎng)上眾多公鏈之間的競(jìng)爭(zhēng)歸根結(jié)底將是生態(tài)的競(jìng)爭(zhēng),誰(shuí)能如似傳統(tǒng)App Store一樣吸引更多優(yōu)秀開(kāi)發(fā)者和更多優(yōu)質(zhì)DAPP誰(shuí)就將最后勝出,其前提是公鏈開(kāi)發(fā)者和運(yùn)營(yíng)者,必須通過(guò)經(jīng)濟(jì)和技術(shù)手段解決好區(qū)塊鏈的安全性和真正大規(guī)模可用性問(wèn)題,在去中心化、安全、效率這三角之間做好務(wù)實(shí)的平衡。
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會(huì)明確標(biāo)注作者和來(lái)源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請(qǐng)轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來(lái)源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會(huì)經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。