一、Roll被攻擊事件始末
3月14日消息,社區(qū)代幣平臺Roll被攻擊,基于其發(fā)行的代幣在Uniswap被大量拋售,受影響的代幣包括ALEX、RARE、BAEPAY、KERMAN、WHALE、PICA等。據(jù)統(tǒng)計(jì),WHALE損失1362 ETH,F(xiàn)WB損失797 ETH,KARMA損失155 ETH,JULIEN損失115 ETH,黑客共獲利2998 ETH,并將700 ETH存入混幣平臺Tornado.Cash。后續(xù),Roll官方聲稱此次安全事故的原因似乎是對熱錢包的入侵導(dǎo)致,并為受此影響的用戶籌集 50 萬美元的資金補(bǔ)償(損失2998ETH約價(jià)值500萬美元)。
通付盾區(qū)塊鏈安全團(tuán)隊(duì)(SharkTeam)第一時(shí)間對攻擊事件進(jìn)行了跟進(jìn)并發(fā)現(xiàn)這次攻擊是由于被攻擊者私鑰丟失造成的,似乎并沒有特別之處。但后續(xù)我們發(fā)現(xiàn)事情遠(yuǎn)不止這么簡單,一種區(qū)塊鏈上以竊取私鑰為基礎(chǔ),以竊取用戶資產(chǎn)為目的的新型自動(dòng)化攻擊手段浮出水面,此次Roll被攻擊事件或許只是一個(gè)開始,給我們敲響了警鐘。
我們先來對Roll攻擊事件本身進(jìn)行分析:
攻擊者:0x5fe4e7124d1da9046edc67a6499b565241be0167
被攻擊者:0x6060b77a5d8309eb36374198e197072205ea2bb3
攻擊過程如下:
(1)攻擊者利用被攻擊賬戶調(diào)用合約,利用 approve 授權(quán)給攻擊合約權(quán)限。交易詳情如下:
攻擊合約地址為 0xeaa86ddd49d8907c939413e92888536e4587bd9a
?。?)攻擊者通過攻擊合約進(jìn)行一次性轉(zhuǎn)賬操作,其中包含多種Token。交易詳情如下:
交易執(zhí)行追蹤如下:
?。?)攻擊者使用攻擊合約在 Uniswap 進(jìn)行Token交換,交易詳情如下:
交易執(zhí)行追蹤如下:
根據(jù)整個(gè)攻擊過程的分析,根本原因在于攻擊者可以利用被攻擊者的賬戶地址調(diào)用合約,利用 approve 授權(quán)給攻擊合約權(quán)限,攻擊者必然知道被攻擊者賬戶地址的私鑰。因此,被攻擊者的私鑰在管理和使用的過程中存在不安全因素,導(dǎo)致私鑰被攻擊者通過一定的方式竊取到。
建議以太坊用戶管理好自己的私鑰,防止私鑰泄露以及私鑰被攻擊者竊取。
二、以私鑰竊取為基礎(chǔ),以竊取數(shù)字資產(chǎn)為目的
3月15日消息,多個(gè) DeFi 協(xié)議表示網(wǎng)站被 DNS 攻擊,攻擊者通過網(wǎng)站請求用戶提交用戶的私鑰或助記詞,目前已有借貸協(xié)議 Cream Finance 和交易協(xié)議 PancakeSwap 在推特上公開確認(rèn)了該事件,并提醒用戶不要提交私鑰等信息。3月16日,Cream Financ 和 PancakeSwap表示已重新獲得對其 DNS 的訪問權(quán)。
私鑰泄露風(fēng)險(xiǎn)集中爆發(fā),或許并不是巧合。以此次Roll事件為例,竊取用戶私鑰只是第一步,以竊取用戶資產(chǎn)為目的的自動(dòng)化攻擊設(shè)計(jì),才是真正的威脅。這也給各區(qū)塊鏈項(xiàng)目服務(wù)提供商敲響了警鐘,應(yīng)以保護(hù)用戶為核心,做好自身安全防護(hù),切莫淪為黑暗森林身份危機(jī)陰影下的獵物。以Roll被攻擊事件為例:
Roll安全事件攻擊畫像
第一步:攻擊者竊取用戶私鑰(釣魚或滲透錢包)
第二步:使用被攻擊者賬戶部署攻擊合約,攻擊合約是整個(gè)自動(dòng)化攻擊的核心。
第三步:使用被攻擊者賬號進(jìn)行交易,將所有資產(chǎn)轉(zhuǎn)到攻擊合約中。
第四步:攻擊合約自動(dòng)執(zhí)行,通過Uniswap等去中心化交易所將資產(chǎn)轉(zhuǎn)出,防止項(xiàng)目方啟動(dòng)應(yīng)急機(jī)制鎖定被盜資產(chǎn)。
第五步:被盜資產(chǎn)進(jìn)一步被轉(zhuǎn)移到匿名性更強(qiáng)的混幣平臺,對抗AML等安全機(jī)制。
攻擊分為5步,卻有極強(qiáng)的目的性,自動(dòng)化程度很高,一旦私鑰丟失將非常難以進(jìn)行防范。
那么,既然攻擊的起始點(diǎn)是私鑰竊取,那我們到底應(yīng)該如何才能保護(hù)好我們的私鑰?這里必須要提到區(qū)塊鏈錢包,錢包是存儲賬戶地址和使用數(shù)字貨幣的工具,比如以太坊錢包存儲以太坊賬戶地址以及賬戶的以太幣并且可以進(jìn)行交易。區(qū)塊鏈錢包并不是傳統(tǒng)意義上的實(shí)體的錢包,而是使用加密技術(shù)加密保存賬戶地址的公私鑰對的工具,有了錢包密鑰就可以擁有錢包中賬戶地址的支配權(quán),可以支配其中的數(shù)字貨幣,尤其是以太坊錢包,有了密鑰不僅可以支配其中的以太幣,更可以支配其中的合約地址對應(yīng)的智能合約。由于私鑰是一長串毫無意義且毫無規(guī)律的字符,比較難以記憶,因此出現(xiàn)了助記詞(Mnemonic),助記詞是利用固定算法,將私鑰轉(zhuǎn)換成十多個(gè)常見的英文單詞,作為區(qū)塊鏈數(shù)字錢包私鑰的友好格式。助記詞和私鑰是等價(jià)的,可以相互轉(zhuǎn)換。
公鑰和地址的生成都依賴于私鑰,而私鑰和助記詞時(shí)互通的,所以私鑰和助記詞是黑客竊取的最為核心的目標(biāo)。而錢包保存了賬戶地址及其私鑰,因此,錢包也是黑客攻擊的目標(biāo)。
未知攻焉知防,私鑰通常面臨“釣魚”和錢包私鑰保護(hù)不當(dāng)兩類安全風(fēng)險(xiǎn)。
三、釣魚風(fēng)險(xiǎn)
所謂“網(wǎng)絡(luò)釣魚攻擊(Phishing)”,指的是攻擊者偽裝成可以信任的人或機(jī)構(gòu),通過電子郵件、通訊軟件、社交媒體等網(wǎng)絡(luò)工具,從而獲取收件人的用戶名、密碼、私鑰等私密信息。隨著技術(shù)的發(fā)展,網(wǎng)絡(luò)釣魚攻擊不僅可以托管各種惡意軟件和勒索軟件攻擊,而且更糟糕的是這些攻擊正在呈現(xiàn)不斷上升的趨勢。
網(wǎng)絡(luò)釣魚攻擊可以分為兩種類型:社會工程和漏洞利用。社會工程是基于欺騙和隨后受害者的錯(cuò)誤行為,而漏洞利用則是利用漏洞以及軟件架構(gòu)缺陷實(shí)施攻擊的專業(yè)技術(shù)。
1.社會工程
社會工程調(diào)用方案的特點(diǎn)在于網(wǎng)絡(luò)用戶直接參與其中。攻擊是向用戶發(fā)送虛假信息,并在用戶執(zhí)行某些操作(打開郵件,移動(dòng)鏈接或下載惡意附件)后激活。研究表明,有4%的用戶會單擊網(wǎng)絡(luò)釣魚鏈接。用戶只要單擊一下網(wǎng)絡(luò)釣魚鏈接,攻擊者就可以進(jìn)入系統(tǒng)。
社會工程調(diào)用方案包含以下攻擊手段:
?。?)克隆網(wǎng)絡(luò)釣魚
攻擊者會在官方網(wǎng)站上創(chuàng)建網(wǎng)站的副本,具有類似名稱的網(wǎng)站或偽造的頁面,然后將包含偽造資源鏈接的鏈接發(fā)送給地址中的潛在受害者。
?。?)社交網(wǎng)絡(luò)釣魚
黑客入侵知名人物的帳戶并代表他們發(fā)布包含網(wǎng)絡(luò)釣魚鏈接的帖子,創(chuàng)建克隆的知名人物、社區(qū)等的頁面的情況越來越普遍。攻擊者利用Facebook允許使用任何名稱創(chuàng)建頁面從假克隆頁面進(jìn)行活動(dòng),這些假克隆頁面的名稱與真實(shí)社區(qū)頁面非常相似。
?。?)針對性網(wǎng)絡(luò)釣魚
網(wǎng)絡(luò)釣魚的對象是大型投資者、錢包所有者、公司一把手、加密貨幣所有者。攻擊者清楚地知道他們到底想攻擊多少人。攻擊者計(jì)算受害者在其他領(lǐng)域中的活動(dòng),并竊取模仿這些領(lǐng)域的必要數(shù)據(jù),與受害者進(jìn)行接觸。
(4)膨脹
攻擊者人為地提高價(jià)格,以便于管理流動(dòng)性低,市值小的加密貨幣??涨暗膬r(jià)格膨脹通過眾多媒體渠道(YouTube,Twitter,Telegram)廣泛報(bào)道,并受到大量廣告宣傳,有望為外部投資者帶來高回報(bào)。在用戶進(jìn)行了大量投資之后,攻擊者停止支持加密貨幣的發(fā)展,其價(jià)格恢復(fù)到原始位置。
(5)虛假錢包
攻擊者發(fā)布虛假錢包。虛假錢包分為兩類。
第一類:虛假錢包啟動(dòng)后,惡意的程序可以向用戶請求或獲取其私鑰和錢包密碼;
第二類:虛假錢包不會通過生成賬戶地址和私鑰來創(chuàng)建新的錢包,惡意的程序僅顯示攻擊者的賬戶地址,而用戶無法訪問私鑰。私鑰歸詐騙者所有。一旦啟動(dòng)了惡意的應(yīng)用程序,用戶就認(rèn)為該應(yīng)用程序已經(jīng)生成了他的賬戶地址,用戶可以在其中存儲加密貨幣。如果用戶將其資金發(fā)送到此錢包,他將無法提取,因?yàn)樗麤]有私鑰,而持有私鑰的攻擊者則可以提取用戶的資金。
2.漏洞利用
利用網(wǎng)絡(luò)漏洞以及軟件和基礎(chǔ)架構(gòu)的缺陷來實(shí)現(xiàn)攻擊手段。此類攻擊一般包含以下攻擊手段:
?。?)基于DNS的網(wǎng)絡(luò)釣魚
在此攻擊中,攻擊者最初會創(chuàng)建惡意訪問點(diǎn),并誘使客戶端連接到運(yùn)行假DNS服務(wù)器的訪問點(diǎn)。該服務(wù)器將特定站點(diǎn)重定向到攻擊者的網(wǎng)絡(luò)釣魚服務(wù)器。
(2)會話劫持(cookie劫持)
該攻擊基于使用有效會話(有時(shí)也稱為會話密鑰)來獲得對計(jì)算機(jī)系統(tǒng)上信息或服務(wù)的未授權(quán)訪問。特別是,它用于表示用于對遠(yuǎn)程服務(wù)器上的用戶進(jìn)行身份驗(yàn)證的cookie的盜竊。一種流行的方法是使用源路由的IP數(shù)據(jù)包。IP數(shù)據(jù)包通過B的計(jì)算機(jī),這使得網(wǎng)絡(luò)上B點(diǎn)的攻擊者可以參與A和C之間的對話。攻擊者可以在原始路由被禁用的情況下盲目捕獲,發(fā)送命令但看不到響應(yīng)來設(shè)置允許從網(wǎng)上其他地方訪問的密碼。攻擊者還可以使用嗅探程序“監(jiān)視” A和C之間的對話。這就是“中間人攻擊”。
(3)惡意軟件
當(dāng)使用基于惡意軟件的網(wǎng)絡(luò)釣魚時(shí),惡意軟件被用來在被攻擊者計(jì)算機(jī)上存儲憑據(jù)并將其發(fā)送給攻擊者,即發(fā)送給釣魚者。例如,可以通過帶有附件doc文件的惡意垃圾郵件來傳遞威脅,該文檔文件包含下載惡意程序的Powershell腳本,然后,惡意程序找到存儲的錢包和憑據(jù)并將其發(fā)送給釣魚者。木馬AZORult和Pony Formgrabber以及bot Qbot是最常用的惡意程序。同時(shí),網(wǎng)絡(luò)犯罪分子還會繼續(xù)使用以前針對銀行的攻擊工具,現(xiàn)在成功地使用它們來破解加密錢包,獲得錢包的密碼以及用戶的個(gè)人賬戶等信息。
(4)按鍵/屏幕記錄器
當(dāng)用戶從其設(shè)備輸入信息時(shí),它們將用于竊取數(shù)據(jù)。隨著虛擬鍵盤和觸摸屏的出現(xiàn),使用了屏幕截圖將其發(fā)送給攻擊者。
四、數(shù)字貨幣錢包安全風(fēng)險(xiǎn)
根據(jù)數(shù)字貨幣錢包是否連網(wǎng),通常分為冷錢包和熱錢包兩種。冷錢包就是沒有連網(wǎng)的錢包,又稱為離線錢包。熱錢包就是能夠聯(lián)網(wǎng)上線的錢包,也稱為在線錢包。熱錢包的安全性比冷錢包的安全性低,一旦用戶托管在服務(wù)器端的私鑰被竊取,用戶的數(shù)字資產(chǎn)將面臨被盜風(fēng)險(xiǎn)。冷錢包的密鑰能夠通過物理、電磁、聲、光、電等方式的隱蔽信道傳輸?shù)礁浇穆?lián)網(wǎng)計(jì)算機(jī)、智能手機(jī)、攝像頭等其他接收器中,相對安全,但也不是絕對安全。此處主要對冷錢包的安全風(fēng)險(xiǎn)做出分析。
對數(shù)字貨幣錢包進(jìn)行滲透攻擊的過程分成以下兩個(gè)階段:
第一階段:錢包應(yīng)用安裝前,由于操作系統(tǒng)和錢包應(yīng)用都是通過聯(lián)網(wǎng)來進(jìn)行操作的,因此攻擊者可以通過下載地址來修改操作系統(tǒng)和錢包代碼,也可以通過替換有后門的鏡像來傳播惡意木馬。
第二階段:錢包應(yīng)用安裝后,熱錢包的安全性比冷錢包的安全性低,一旦用戶托管的私鑰沒有妥善保存被竊取,用戶的數(shù)字資產(chǎn)將面臨被盜風(fēng)險(xiǎn)。冷錢包的密鑰能夠通過物理、電磁、聲、光、電等方式的隱蔽信道傳輸?shù)礁浇穆?lián)網(wǎng)計(jì)算機(jī)、智能手機(jī)、攝像頭等其他接收器中。因此,錢包的攻擊類型也可以分為很多種:
(1)物理方式:通過USB這種可移除設(shè)備插入目標(biāo)計(jì)算機(jī)中,利用交易簽名或者其他機(jī)會來竊取密鑰,并將密鑰存儲在隱蔽分區(qū)。當(dāng)USB設(shè)備再次插入其他聯(lián)網(wǎng)計(jì)算機(jī)時(shí),便可以將原本存儲在隱蔽分區(qū)的密鑰信息傳給黑客。比如基于貨幣錢包的BeatCoin攻擊。
基于貨幣錢包的BeatCoin攻擊
(2)電磁隱蔽通道:利用計(jì)算機(jī)在顯示時(shí),會產(chǎn)生電磁泄露信號,由于該方式的實(shí)現(xiàn)需要電磁接收設(shè)備,因此適用范圍并不是很廣。
(3)聲隱蔽通道:利用人耳聽不到的超聲波完成了數(shù)據(jù)傳輸從而竊取密鑰。
(4)光隱蔽通道:利用計(jì)算機(jī)鍵盤的 LED 或者HDD 和路由器的指示燈等從目標(biāo)計(jì)算機(jī)中竊取密鑰。
?。?)電隱蔽通道:通過改變 CPU 負(fù)載來控制系統(tǒng)中計(jì)算機(jī)中電力的消耗來進(jìn)行數(shù)據(jù)傳輸。
五、安全建議
通過如上的分析應(yīng)該可以看到,雖然不同于傳統(tǒng)互聯(lián)網(wǎng)的賬號密碼體系,但區(qū)塊鏈賬戶同樣面臨私鑰被盜的風(fēng)險(xiǎn),由于通常私鑰與數(shù)字資產(chǎn)緊密相關(guān),其安全風(fēng)險(xiǎn)更高。保護(hù)私鑰安全,既是用戶的責(zé)任也是項(xiàng)目方的責(zé)任。
用戶應(yīng)提高私鑰保護(hù)意識,對訪問的網(wǎng)頁或下載安裝的錢包提高警惕,防止被釣魚攻擊。
項(xiàng)目方應(yīng)以用戶資產(chǎn)安全為核心,做好熱錢包、冷錢包、系統(tǒng)服務(wù)、智能合約等相關(guān)模塊的風(fēng)險(xiǎn)評估和安全審計(jì),確保系統(tǒng)本身安全。
制定AML和應(yīng)急方案,提高對抗黑客攻擊的風(fēng)險(xiǎn)防范能力。
底層鏈平臺可采用分組密碼、環(huán)簽名等技術(shù),從區(qū)塊鏈底層提高賬戶安全保護(hù)能力。
該分析報(bào)告僅供技術(shù)交流,切勿采用相關(guān)方法進(jìn)行操作,否則后果自負(fù)。
【版權(quán)及免責(zé)聲明】凡本網(wǎng)所屬版權(quán)作品,轉(zhuǎn)載時(shí)須獲得授權(quán)并注明來源“中國產(chǎn)業(yè)經(jīng)濟(jì)信息網(wǎng)”,違者本網(wǎng)將保留追究其相關(guān)法律責(zé)任的權(quán)力。凡轉(zhuǎn)載文章及企業(yè)宣傳資訊,僅代表作者個(gè)人觀點(diǎn),不代表本網(wǎng)觀點(diǎn)和立場。版權(quán)事宜請聯(lián)系:010-65363056。
延伸閱讀