八月初,跨鏈通訊協(xié)議 Nomad 被曝遭遇黑客攻擊,導(dǎo)致其代幣橋內(nèi)的 1.9 億美元資金幾乎全被“掏空”:據(jù) Defil Lama 統(tǒng)計(jì)數(shù)據(jù)顯示,原本 Nomad 的總價(jià)值鎖定(TVL)為 1.9 億美元,但幾個(gè)小時(shí)后其官方賬戶中只剩下了 651.54 美元。
盡管周二一早,Nomad 官方就發(fā)推特表示已得知此事,并稱目前正在調(diào)查,但這起事件還是在 Web3 領(lǐng)域引起了巨大爭(zhēng)議:
Terra 研究員 FatMan 認(rèn)為本次 Nomad 遭遇的攻擊是“真正的加密市場(chǎng)中首次發(fā)生的去中心化搶劫”。
Paradigm 研究合伙人兼安全主管 Samczsun 也發(fā)推表示:“剛剛發(fā)生的 Nomad 事件是我在 Web3 中見過(guò)的最混亂的黑客攻擊之一。”
更令人意外的是,最終導(dǎo)致了這 1.9 億美元損失的源頭,竟然只是一個(gè)“低級(jí)漏洞”。
大量資產(chǎn)從 Nomad 代幣橋轉(zhuǎn)移出去
具體來(lái)說(shuō),Nomad 是以太坊、Avalanche、Milkomeda 和 Moonbeam 之間跨鏈轉(zhuǎn)移的代幣橋梁,特點(diǎn)在于不依賴大量外部方來(lái)驗(yàn)證跨鏈通信,可通過(guò)一種名為“optimistic”機(jī)制,讓用戶可以安全地發(fā)送消息和橋接資產(chǎn)。
最初注意到不對(duì)勁的是一名推特用戶 @spreekaway:“Nomad 代幣橋變得很‘崎嶇’???看起來(lái)非??梢伞?rdquo;從他提供的截圖來(lái)看,彼時(shí)正有大量資產(chǎn)從 Nomad 代幣橋轉(zhuǎn)移出去,這顯然不太尋常。
對(duì)此,Paradigm 研究合伙人兼安全主管 Samczsun 的第一反應(yīng):可能是 Token 小數(shù)點(diǎn)的配置有誤。從他的視角來(lái)看,當(dāng)時(shí)跨鏈橋似乎正在進(jìn)行一個(gè) “發(fā)送 0.01 WBTC,返還 100 WBTC”的促銷活動(dòng)。
最初 Samczsun 是不信的,但在 Moonbeam 上進(jìn)行了一些手動(dòng)挖掘后,他確認(rèn)了這一事實(shí):“雖然我從 Moonbeam 只轉(zhuǎn)出了 0.01 WBTC,但不知道為什么以太坊上卻收到了 100 WBTC。”也就是說(shuō),這不并是 Token 小數(shù)點(diǎn)的錯(cuò)誤配置。
但與此同時(shí),Samczsun 發(fā)現(xiàn)了更糟糕的一點(diǎn):在 WBTC 中橋接的交易實(shí)際上并沒(méi)有“證明(prove)”這個(gè)步驟,而是直接進(jìn)行“process”操作。這明顯不符合邏輯。
Replica 合約中存在致命錯(cuò)誤
基于此,Samczsun 總結(jié)出有兩種可能性:要么是在先前的區(qū)塊中單獨(dú)提交了證明,要么就是 Replica 合約中存在嚴(yán)重錯(cuò)誤。然而,沒(méi)有任何跡象表明最近有什么信息被提前證明了,這也就只剩下了一種可能性,即 Replica 合約中存在致命錯(cuò)誤。
在快速瀏覽代碼后,Samczsun 推測(cè)出了問(wèn)題所在。在進(jìn)行 process 操作時(shí),用戶提交的消息必須來(lái)自可接受的根(會(huì)在 prove 中被設(shè)置),其中第 185 行的“acceptableRoot”就是用來(lái)檢查根是否被證明或已被確認(rèn)。
一般在進(jìn)行 Replica 合約部署初始化時(shí),會(huì)先把可信根設(shè)置為 0,再將其改為非 0 數(shù)據(jù)的新根,同時(shí)將舊根設(shè)為失效——而 Samczsun 懷疑,可能舊根的“0”還處于生效狀態(tài)。
這個(gè)想法很好驗(yàn)證,Samczsun 用 0x00 來(lái)檢查合同是否會(huì)接受這個(gè)根,結(jié)果居然真的通過(guò)了……
“事實(shí)證明,在升級(jí)期間,Nomad 團(tuán)隊(duì)將可信根初始化為 0x00。說(shuō)白了,使用 0 值作為初始化值是一種常見的做法。不幸的是,在這種情況下,它也有一個(gè)很小的副作用,即會(huì)自動(dòng)驗(yàn)證每一條消息。”
這也就意味著,攻擊者可以直接構(gòu)造任意消息,而這些消息都可以正常執(zhí)行。這一漏洞的性質(zhì)決定了本次黑客事件的規(guī)模,正如 Samczsun 所說(shuō):“這就是此次事件如此混亂的原因——你甚至不需要知道 Solidity 或默克爾樹(Merkle Trees)這類技術(shù)知識(shí),只需找到一個(gè)有效交易,用你的地址替換原本的地址,然后再推廣出去。”
網(wǎng)絡(luò)安全人才的重要性
從這次的事件中也側(cè)面印證了網(wǎng)絡(luò)安全的重要性,近幾年來(lái),市場(chǎng)也逐漸加大了對(duì)網(wǎng)絡(luò)完全領(lǐng)域人才的培養(yǎng)。
根據(jù)數(shù)據(jù)統(tǒng)計(jì),2022年第一季度,網(wǎng)絡(luò)安全領(lǐng)域的招聘比例進(jìn)一步提升,其中技術(shù)人才招聘占比增至67.6%,平均招聘月薪為20235元。
這個(gè)數(shù)據(jù)的原因也有跡可循,對(duì)前沿技術(shù)的重視能夠提高網(wǎng)絡(luò)安全領(lǐng)域的技術(shù)深度,是取得人才和行業(yè)發(fā)展的重要手段之一,而網(wǎng)絡(luò)安全作為一個(gè)復(fù)合性領(lǐng)域,其對(duì)技術(shù)要求也就不言而喻。
專家提出,網(wǎng)絡(luò)安全技術(shù)人才供需嚴(yán)重失衡,不僅體現(xiàn)在數(shù)量,更體現(xiàn)在不同類型人才供給和需求之間的錯(cuò)位。目前行業(yè)平均供求比約為1:2,存在資深人才儲(chǔ)備不足、新人培養(yǎng)和育留難度大等挑戰(zhàn)。
根據(jù)數(shù)據(jù)統(tǒng)計(jì),以下崗位是2022年一季度網(wǎng)絡(luò)安全崗位需求TOP 10,其中,測(cè)試排在了第十位。由此可見,安全測(cè)試人才的需求量在社會(huì)仍不容小覷。
寫在最后
所以如今安全測(cè)試對(duì)于測(cè)試員來(lái)說(shuō),是一個(gè)風(fēng)口,安全測(cè)試未來(lái)的發(fā)展方向有信息安全專家、信息安全分析師、信息安全總監(jiān)、安全咨詢師、IT安全架構(gòu)師等等,崗位職業(yè)晉升方向還是比較多的。
|