以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads

條條大路通羅馬:實現數字貨幣雙花攻擊的多種方法_BLOCK:LOCK

Author:

Time:1900/1/1 0:00:00

2008年,中本聰提出了一種完全通過點對點技術實現的電子現金系統。該方案的核心價值在于其提出了基于工作量證明的解決方案,使現金系統在點對點環境下運行,并能夠防止雙花攻擊。如今比特幣已經誕生十年,無數種數字貨幣相應誕生,但人們對雙花攻擊的討論似乎仍然停留在比特幣51%攻擊上。實際上,我們的研究發現,實用的數字貨幣雙花攻擊還有很多種其他形式。在本文中,我們通過介紹我們發現的針對EOS、NEO等大公鏈平臺的多個雙花攻擊漏洞,總結出多種造成數字貨幣雙花攻擊的多種原因,并提出一種高效的減緩措施。

來源:360核心安全技術博客作者:ZhiniangPengfromQihoo360CoreSecurity、YukiChenofQihoo360VulcanTeam

1.工作量證明和雙花攻擊

2008年,中本聰提出了一種完全通過點對點技術實現的電子現金系統,它使得在線支付能夠直接由一方發起并支付給另外一方,中間不需要通過任何的金融機構。雖然數字簽名部分解決了這個問題,但是如果仍然需要第三方的支持才能防止雙重支付的話,那么這種系統也就失去了存在的價值。比特幣的工作量證明機制(PoW)的本質,就是要使現金系統在點對點的環境下運行,并防止雙花攻擊。

工作量證明機制的原理如下:網絡中每一個區塊都包含當前網絡中的交易和上一個區塊的區塊頭哈希。新區塊產生,其區塊頭哈希必須滿足工作量證明條件。整個網絡將滿足工作量證明的哈希鏈連接起來,從而形成區塊鏈。除非攻擊者重新完成全部的工作量證明,否則形成的交易記錄將不可更改。最長的區塊鏈不僅將作為被觀察到的交易序列的證明,而且被看做是來自算力最大的群體的共識。只要整個網絡中大多數算力都沒有打算合作起來對全網進行攻擊,那么誠實的節點將會生成最長的、超過攻擊者的鏈條,從而實現對雙花攻擊的抵抗。

雙花攻擊實際上是一個結果。如果一個攻擊者A將同一個比特幣同時支付給B和C兩個用戶,并且B和C兩個用戶都認可了這筆交易。那么我們說A將該比特幣花了兩次,A實現了一次雙花攻擊。針對工作量證明機制的雙花攻擊中,51%攻擊是被討論的最多的一種攻擊形式。但針對工作量證明機制的雙花攻擊實際上有多種形式,包括芬妮攻擊、競爭攻擊、Vector76攻擊等。這些攻擊實際上也得到了充分的關注和討論,本文中不做贅述。實際上,實用的數字貨幣雙花攻擊還有很多種其他形式。下文中,我們將通過多個我們發現的多個安全漏洞,討論多種數字貨幣雙花攻擊的多種原因,并提出一種高效的減緩措施。

2.雙花攻擊的新分類

智能合約平臺,本質上是要在全網共享一個賬本。這可以看成是一個分布式狀態機復制問題。當前的賬本狀態,我們可以認為是State_n。當一個新交易Tx_{n1}產生的時候,Tx_{n1}將對State_n產生一個作用。從而使State_n狀態過渡到State_{n1}狀態。這個過程我們可以用公式表示:

Fireblocks:16家錢包提供商和開源庫受到BitForge漏洞影響:金色財經報道,Fireblocks 密碼學研究團隊發現,16家錢包提供商和開源庫受到了BitForge漏洞的影響,該公司表示,所披露的漏洞“有效地將 MPC 系統提供的保護降級為傳統的單密鑰系統的保護”,BitForge僅影響使用GG-18、GG-20和Lindell17協議的MPC錢包提供商,該漏洞為攻擊者創建了一個后門,以便在簽名失敗時暴露部分私鑰。Fireblocks 建議所有實施這些協議的提供商包含所需的零知識證明以增強安全性。

該公司將 BitForge 歸類為“零日”漏洞,這意味著受影響軟件的開發人員在 Fireblocks 披露之前并未發現這些漏洞。據悉,Fireblocks 確定了16家受影響的提供商和開源庫,但沒有公開點名這些公司,而是強調行業合作并提供修復機會。[2023/8/10 16:16:40]

State_n×Tx_{n1}-->State_{n1}

智能合約平臺共識機制,本質上是將所有的交易按順序作用到初始State_0上,使全網始終保持相同的狀態。區塊鏈中的每一個區塊,實際上將交易序列按順序拆分成不同的區塊Block1{Tx_1,Tx_2},Block2{Tx_3,Tx_4}并按順序鏈接起來。在全網狀態機復制的過程中,如果一旦因為某些原因產生了全網狀態不一致,則我們可以認為全網產生了一個分叉。分叉被攻擊者利用,可進一步實現雙花攻擊。本文中,我們將我們發現的這些雙花攻擊漏洞分成3類:

驗證不嚴格造成的雙花攻擊。狀態機State_n×Tx_{n1}-->State_{n1}不一致執行造成的雙花攻擊。共識機制造成的雙花攻擊。驗證不嚴格造成的雙花攻擊,主要原因在于具體實現邏輯校驗問題。比特幣的漏洞CVE-2018-17144實際上就是這樣一個漏洞。狀態機不一致執行造成的雙花攻擊,主要是由于智能合約虛擬機因為各種原因導致直接結果不一致,從而在整個網絡中創造分叉,造成雙花攻擊。共識機制漏洞可能產生整個網絡的分叉,從而進一步造成雙花攻擊。人們常說的51%攻擊,實際上就是PoW共識機制的分叉漏洞。3.驗證不嚴格造成的雙花攻擊

驗證不嚴格造成的雙花攻擊,主要原因在于具體實現邏輯校驗問題。這里我們介紹兩個關于區塊與交易綁定時校驗不嚴格,從而產生雙花攻擊的漏洞。在區塊鏈項目中,一筆交易Tx_1被打包的某個區塊Block_1中的方式如下:首先計算交易Tx_1的哈希值Hash_1,然后用Hash_1與其他交易的哈希值Hash_2…Hash_n組合構成MerkleHashTree。計算出哈希樹的根節點root,然后將root打包到Block_1中。這樣即形成一筆交易與區塊的綁定。一般來講,除非攻擊者能夠攻破哈希函數的抗碰撞性,否則無法打破一筆交易與區塊的綁定。如果攻擊者能夠打包交易與區塊的綁定,則攻擊者能通過造成全網的分叉從而實現雙花攻擊。下面我們介紹兩個我們在NEO上發現的雙花攻擊漏洞:

Arkham:不隸屬于政府機構,Arkham Intel Exchange不允許交換鏈下個人信息:7月11日消息,區塊鏈數據公司Arkham發推澄清稱,Arkham的主要用戶是交易者,交易者使用Arkham來分析加密貨幣市場活動。Arkham Intel Exchange 主要是用于鏈上分析和標記,并為其創造了一個流動性市場,因此鏈上研究人員可以更輕松地將其工作貨幣化并交換信息。Arkham Intel Exchange 不允許交換鏈下的個人信息,如地址或電話號碼。任何要求或包含此類個人信息的帖子都不允許出現在交易所上。

Arkham 稱其不是一個秘密的政府項目,不隸屬于政府機構,而是加密原生團隊。關于是否會出售用戶數據或將其用作平臺上的信息,Arkham 表示,用戶專用標簽、導入的地址或任何其他用戶數據均未在平臺上使用,Arkham 沒有也永遠不會出售用戶數據。[2023/7/11 10:48:44]

3.1NEO虛擬機GetInvocationScript雙花攻擊漏洞

區塊鏈項目中,一個交易一般是由未簽名的部分和簽名的部分構成的。在如比特幣之類的區塊鏈項目中,交易的hash計算實際上是包含了該交易的簽名部分的。而在如NEO、ONT等多種區塊鏈平臺中,交易的計算公式為hash=SHA256(UnsignedTx)。即交易的哈希是由未簽名的部分計算得來的,與交易的witness無關。而NEO智能合約在執行的時候,能夠通過Transaction_GetWitnesses方法,從一個交易中獲得該交易的witnesses。其具體實現如下:

某個合約交易獲得自己的witness之后,還能夠通過Witness_GetVerificationScript方法獲得該witness中的驗證腳本。如果攻擊者針對同一個未簽名交易UnsignedTx1,可以構造兩個不同的驗證腳本,則可以造成該合約執行的不一致性。正常情況下,合約的VerificationScript是由合約的輸入等信息決定的,攻擊者無法構造不同的驗證腳本并通過驗證。但是我們發現在VerifyWitness方法中,當VerificationScript.length=0的時候,系統會調用EmitAppCall來執行目標腳本hash。

所以當VerificationScript=0,或者VerificationScript等于目標腳本的時候,均可滿足witness驗證條件。即攻擊者可以對于同一個未簽名的交易UnsignedTx_1,構造兩個不同的VerificationScript。攻擊者利用這個性質,可以對NEO智能合約上的所有代幣資產進行雙花攻擊,其具體攻擊場景如下:

步驟1:攻擊者構造智能合約交易Tx_1。在UnsignedTx_1的合約執行中,合約判斷自己的VerficationScript是否為VerficationScript_1。如果為VerficationScript_1,則發送代幣給A用戶。如果VerficationScript為空,則發送代幣給B用戶。

Mirror推出外部NFT Drop鏈接嵌入功能:6月23日消息,去中心化內容發布平臺Mirror宣布推出外部NFT Drop鏈接嵌入功能Collectable Embeds,允許創作者將來自ZORA、Manifold和OpenSea等NFT平臺(以太坊上)的Drop鏈接嵌入到Mirror文章中,并讓讀者無需離開帖子即可內聯(inline)收集。[2023/6/23 21:55:33]

步驟2:Tx_1被打包到區塊Block_1中。

步驟3:攻擊者收到Block_1后,將Tx_1替換成Tx_2(Tx_1具有與Tx_1相同的未簽名內容UnsignedTx_1,但驗證腳本為空)從而形成Block_2。攻擊者將Block_1發送給A用戶,將Block_2發送給B用戶。

步驟4:當A用戶收到Block_1時,發現自己收到攻擊者發送的代幣。當B用戶收到Block_2時,也會發現自己收到了攻擊者發送的代幣。雙花攻擊完成。

可見,該漏洞的利用門檻非常低,且可以對NEO智能合約上的所有代幣資產進行雙花攻擊。危害非常嚴重。

3.2NEOMerlkeTree綁定繞過造成交易雙花攻擊漏洞:

智能合約交易與區塊的綁定,通常通過MerkleTree來完成。如果攻擊者能繞過該綁定,則能實現對任意交易的雙花。這里我們看看NEO的MerkleTree的實現如下:

在MerkleTreeNode函數中,NEO進行了MerkleTree葉節點到父節點的計算。但這里存在一個問題,當leaves.length為奇數n的時候。NEO的MerkleTree會將最后一個葉節點復制一次,加入到MerkleTree的計算中。也就是說當n為奇數時,以下兩組交易的MerkleRoot值會相等:

,其中Tx_{n1}=Tx_n

利用這個特性,攻擊者可以實現對任意NEO資產的雙花攻擊。其具體攻擊場景如下:

步驟1:假設正常的一個合法Block_1,包含的交易列表為。攻擊者收到Block_1后,將交易列表替換為,形成Block_2。然后將Block_2發布到網絡中去。

步驟2:一個普通節點收到Block_2后,會對Block_2的合法性進行校驗。然而因為與具有相同的MerkleRoot。所以Block_2能夠通過區塊合法性校驗,從而進如區塊持久化流程。NEO本地取消了普通節點對合法區塊中交易的驗證。則Tx_n交易可以被普通節點執行兩次,雙花攻擊執行成功。

可見,該漏洞的利用門檻非常低,且可以對NEO上的所有資產進行雙花攻擊。危害非常嚴重。

4.虛擬機不一致性執行

智能合約平臺共識機制,本質上是將所有的交易按順序作用到初始State_0上,使全網始終保持相同的狀態。在狀態機復制過程中,我們要求State_n×Tx_{n1}-->State_{n1}是決定性的。State_n×Tx_{n1}-->State_{n1}實質上就是智能合約虛擬機對Tx_{n1}的執行過程,如果智能合約虛擬機中存在設計或者實現漏洞,導致虛擬機不一致性執行。則攻擊者可以利用該問題在網絡中產生分叉和并進行雙花攻擊。下面我們介紹多個EOS和NEO上我們發現的虛擬機不一致執行漏洞和其產生原因。

DeFi協議Sovryn推出由比特幣支持的穩定幣DLLR:3月17日消息,基于比特幣的DeFi協議Sovryn推出100%由比特幣支持的穩定幣Sovryn Dollar(DLLR),DLLR從其他比特幣支持的穩定幣中聚合而來的,并與美元掛鉤。[2023/3/17 13:08:54]

4.1EOS虛擬機內存破壞RCE漏洞:

此前,我們公開了文章《EOSNodeRemoteCodeExecutionVulnerability---EOSWASMContractFunctionTableArrayOutofBound》。在該文中,我們發現了一個EOSWASM虛擬機的一個內存越界寫漏洞,針對該漏洞我們編寫的利用程序可以成功利用該漏洞使EOS虛擬機執行任意指令,從而完全控制EOS所有出塊和驗證節點。究其本質而言,是在State_n×Tx_{n1}?State_{n1}過程中。攻擊者能讓EOS虛擬機完全脫離原本執行路徑,執行任意指令,自然可以完成雙花攻擊。其攻擊流程如下:

步驟1:攻擊者構造能夠實現RCE的惡意智能合約,并將該合約發布到EOS網絡中。步驟2:EOS超級節點解析到該合約后,觸發漏洞,執行攻擊者自定義的任意指令。步驟3:攻擊者實現雙花攻擊。該漏洞的危害非常嚴重,且是第一次智能合約平臺受到遠程代碼執行攻擊事件。讀者可以閱讀該文章了解相關細節,在此不再贅述。

4.2EOS虛擬機內存未初始化造成雙花攻擊

我們在編寫《EOSNodeRemoteCodeExecutionVulnerability---EOSWASMContractFunctionTableArrayOutofBound》的利用程序的過程中,還利用了EOS中當時的一個未公開的內存未初始化漏洞。在內存破壞攻擊中,內存未初始化漏洞通常能夠造成信息泄露、類型混淆等進一步問題,從而輔助我們繞過如ASLR之類的現代二進制程序的緩解措施,進一步實現攻擊。然而在智能合約虛擬機中,內存未初始化漏洞有更直接的利用方式,可以直接造成雙花攻擊。以下為我們在EOSRCE中利用的一個內存未初始化漏洞的細節,其可以被用來直接實現EOS智能合約代幣資產雙花攻擊。WASM虛擬機通過grow_memory偽代碼來申請新的內存。在EOSWASMgrow_memory最初的實現中,未對申請到的內存進行清零操作。該塊內存的空間實際上是隨機的。則攻擊者可以構造惡意合約,實現對EOS上任意合約資產的雙花攻擊。其攻擊流程如下:

步驟1:攻擊者構造惡意智能合約。合約中通過grow_memory獲得一塊新的內存地址。

步驟2:合約中讀取該地址中的某個bit內容。。

步驟3:合約判斷該bit的內容,如果為1。則發送代幣給A用戶,如果為0,則發送代幣給B用戶。從而實現雙花攻擊。

4.3EOS虛擬機內存越界讀造成雙花攻擊:

TokenPocket官網遭受異常流量攻擊,正緊急維護:10月11日,據官方公告,TokenPocket 官網遭受異常流量攻擊,技術團隊正在進行緊急維護。技術維護期間,TokenPocket 網站將不能正常訪問,用戶資產安全不會受到影響。官方提醒用戶提高警惕,注意識別欺詐風險。[2022/10/11 10:31:06]

在傳統的內存破壞中,內存越界讀漏洞主要將會導致信息泄露,從而輔助我們繞過如ASLR之類的現代二進制程序的緩解措施,進一步與其他漏洞一起實現攻擊。然而在智能合約虛擬機中,內存越界讀漏洞有更直接的利用方式,可以直接造成雙花攻擊。下面為一個我們發現的EOS內存越界讀漏洞,我們可以利用該漏洞實現雙花攻擊。當EOSWASM將一個offset轉換內WASM內存地址時,其邊界檢查過程如下:

在這里|ptr|的類型實際上是一個I32類型,它可以是一個負數。那么當:-sizeof(T)<ptr<0的時候,ptrsizeof(T)是一個很小的數可以通過該邊界檢查。在之后的尋址中,我們看到代碼:

T&base=(T)(getMemoryBaseAddress(mem)ptr)

|base|的地址將會超過WASM的內存基址,從而讓智能合約實現內存越界讀。攻擊者可以利用該漏洞實現雙花攻擊。其攻擊過程如下:

步驟1:攻擊者構造惡意智能合約。合約中利用內存越界讀漏洞,讀取超越WASM內存基址的某個bit。此時該bit可能為0,也可能為1,依賴于合約執行機器的狀態]步驟2:合約判斷該bit的內容,如果為1。則發送代幣給A用戶,如果為0,則發送代幣給B用戶。從而實現雙花攻擊。

4.4標準函數實現不一致造成雙花攻擊

總結上面雙花攻擊兩個例子的本質,實際上是EOS合約在執行過程中因為某些內存漏洞原因讀取到了隨機變量,從而打破了原本虛擬機執行的一致性,造成了雙花攻擊。事實上,合約執行的不一致性,不一定完全依賴于隨機性。這里我們介紹一個因為各個平臺對標準C函數實現不一致造成的雙花攻擊。在C語言標準定義中,memcmp函數的返回值被要求為:小于0,等于0,或者大于0。然而各種不同的C版本實現中,具體返回的可能不一樣。攻擊者可以利用該標準實現的不一致性,造成運行在不同系統上的EOS虛擬機執行結果不一致,進而實現雙花攻擊。其攻擊流程如下:

步驟1:攻擊者構造惡意智能合約,在合約中調用memcmp函數,并獲取返回值。步驟2:此時,不同的平臺和版本實現Memcmp的返回值不一致。惡意合約判斷Memcmp的返回值,決定轉賬給A或B。從而完成雙花。

該漏洞的具體修復如下:

EOS強制將memcmp的返回值轉換為0,-1或者1,從而抵抗這種不一致執行。Memcmp這個問題,是同一種語言對相同標準實現的不一致性造成的。事實上,同一個區塊鏈項目經常會有多個不同版本語言的實現。不同語言對相同標準的實現通常也會有偏差,比如一個我們發現的因標準定義實現不一致造成不一致執行是ECDSA函數。ECDSA簽名標準中要求私鑰x不為0。如python、JS中的多個密碼學庫中對該標準由嚴格執行,但是我們發現部分golang的ECDSA庫允許私鑰x=0進行簽名和驗證計算,惡意攻擊者利用該問題可以對同一個區塊鏈平臺的不同版本實現構造不一致執行惡意合約,從而進一步完成雙花攻擊。

4.5版本實現不一致造成雙花攻擊

同一個區塊鏈項目經常會有多個不同版本編程語言的實現。不同編程語言的實現同樣存在著各種這樣的不一致執行的可能性。上面ECDSA是一個例子。浮點數運算也是一個常見的例子。比如在曾經的NEO的C#版本實現和python版本實現中,大整數(BigInteger)除法運算可導致不同編程語言實現版本間的不一致執行現象,從而造成雙花攻擊。類似的現象在多個區塊鏈項目中產生過。

4.6其他不一致性問題

系統時間、隨機數、浮點數計算等因素也是可以造成虛擬機不一致執行的原因。但是在我們的審計中,并沒有發現此類漏洞在大公鏈項目中出現。多數區塊鏈項目在設計之初就會考慮到這些明顯可能造成的問題。但可能造成不一致執行的因素可能遠遠超過我們上面發現的這些問題。事實上,一些主觀因素都可能造成虛擬機的不一致執行。舉個例子,比如在4G內存,8G內存的機器在執行過程中產生內存溢出(OOM)的主觀邊界就不一樣,攻擊者利用OOM可能造成虛擬機的不一致執行。

5.共識機制造成的雙花攻擊

共識機制造成的雙花攻擊實際上是在業界中獲得充分討論的一個問題,然而各種公鏈方案在共識機制實現上仍然可能存在分叉問題,從而造成雙花攻擊。

共識機制造成的雙花攻擊實際上是在業界中獲得充分討論的一個問題,然而各種公鏈方案在共識機制實現上仍然可能存在分叉問題,從而造成雙花攻擊。

5.1ONTvBFTVRF隨機數繞過漏洞

Longrangeattack是目前所有PoS共識機制都面臨的一種分叉攻擊方法。攻擊者可以選擇不去分叉現有的鏈,而實回到某個很久之前的鏈狀態,造一跳更長的新鏈出來讓網絡誤以為是主鏈,從而完成雙花。目前業界針對Longrangeattack并沒有根本的解決辦法,只能保證在「WeakSubjectivity」不發生的情況下,防止分叉發生。

ONT的vBFT共識算法提出了一種依靠可驗證隨機函數來防止惡意分叉擴展的方法。網絡首先基于VRF在共識網絡中依次選擇出一輪共識的備選區塊提案節點集,區塊驗證節點集和區塊確認節點集,然后由選出的節點集完成共識。由于每個區塊都是由VRF確定節點的優先級順序的,對于惡意產生的分叉,攻擊者很難持續維持自己的高優先級,因此惡意產生的分叉將很快消亡,從而使vBFT擁有快速的狀態終局性。

然而我們發現vBFT中的VRF實現存在一個漏洞,導致私鑰為0的用戶的可對任意區塊數據生成相同的vrfValue。具體的,vBFT中的vrf是對由波士頓大學提出的VRF標準草稿:https://hdl.handle.net/2144/29225的一個實現。具體在該草案的5.1和5.2章節中,我們可以看到證明生成,和隨機數計算的算法。如圖:

漏洞在于x=0時候,此時從計算上y仍然為一個合法的公鑰,且能通過vBFT實現中ValidatePublicKey的校驗。gamma為橢圓曲線上固定的點。即對任意輸入alpha,該vrf產生的值為固定一個值。完全沒有隨機性。該問題可導致攻擊者利用固定vrf破壞共識算法隨機性,從而長期控制節點選舉。

5.2NEOdBFT共識分叉

NEO的dBFT共識機制,本質上可以看成是一個POSpBFT方案。在原版NEO代碼中,我們發現NEO和ONT在實現其dBFT共識機制的時候存在分叉問題。惡意的共識節點可以產生一個分叉塊,從而造成雙花的發生。具體細節可以參考我們之前的文章:《AnalysisandImprovementofNEO’sdBFTConsensusMechanism》,在此我們不做贅述。

6.一種針對虛擬機執行不一致雙花問題的高效減緩措施

對于校驗繞過之類的邏輯漏洞和共識機制問題產生的分叉漏洞,還是需要深入到業務邏輯中具體問題具體分析。這里我們提出一種針對虛擬機執行不一致的減緩措施。一種簡單的解決虛擬機執行不一致造成的雙花問題的方法是由出塊者將運行完交易后的全局狀態State_{n1}進行哈希散列,然后將該散列打包到區塊中。普通節點在收到區塊后,將本地運行完交易后的狀態State’{n1}的哈希散列與State{n1}的哈希散列進行對比。如果相等,則說明沒有分叉產生。然而由于本地數據是先行增長的,所以每次對全局狀態進行散列計算的開銷極大。針對這個問題,以太坊使用了MekleTree的結構來提高性能,同時應對分叉回滾問題。但以太坊的方案并不適用于采用其他數據結構存儲狀態信息的區塊鏈項目。這里我們提出一種新的解決方案,其工作流程如下:

區塊生產者在區塊打包階段,將該區塊中所有的交易運行過程中的對數據庫的寫操作序列記錄下來,并計算該序列的哈希值write_db_hash。

普通節點收到新的區塊后,對區塊進行校驗。然后在虛擬機中執行交易。同時本地記錄這些交易對數據庫的寫操作序列,然后計算write_db_hash’。判斷其與write_db_hash是否相等。如果相等,則認為沒有不一致執行發生。如果不等,則拒絕對該寫操作序列進行commit。

本方法的核心思路在于,智能合約平臺虛擬機執行不一致產生的原因在于:合約中各種功能函數和圖靈完備性的支持中,可能引入多種不確定因素,從而造成執行不一致。各種各樣復雜的小原因,可能導致這種不一致執行防不勝防。但是我們退一步看,雙花攻擊的本質是要對全局狀態State_{n1}進行修改,本質上就是一系列的簡單寫操作。要防止雙花,只需要對所有的寫操作序列進行匹配校驗便可。本地對這些寫操作進行匹配和記錄的開銷非常小,同時本地記錄這些寫操作序列,也方便應對分叉回滾等其他因素。

7.后記

在本文中,我們通過介紹我們發現的針對EOS、NEO等大公鏈平臺的多個雙花攻擊漏洞的案例發現,總結出多種造成數字貨幣雙花攻擊的多種原因,并提出了一種通用的安全減緩措施。從上面的分析中,我們可以看到,區塊鏈安全目前的形式仍然十分嚴峻。各種大公鏈項目實際上都產生過能夠產生雙花攻擊之類的嚴重安全問題。我們的職業道德經受住了無數次的考驗。Makeabillionorworkhard?Ofcourse,workhard!不過幸運的是,在幾個月的區塊鏈安全研究中,我們收到了來自各個項目方價值超過30萬美金的數字貨幣漏洞報告獎勵,感謝。Hardworkpayoff。

本文中所有提到的漏洞均已被修復。在漏洞報告和解決的過程中我們發現EOS與NEO項目方對于安全問題處理專業高效,反應及時。項目安全性也一步一步得到完善。我們會繼續關注和研究區塊鏈相關技術的安全問題,推動區塊鏈技術向前發展。

來源鏈接:blogs.360.cn

本文來源于非小號媒體平臺:

鏈聞研究院

現已在非小號資訊平臺發布1篇作品,

非小號開放平臺歡迎幣圈作者入駐

入駐指南:

/apply_guide/

本文網址:

/news/3627073.html

免責聲明:

1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險

2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場

上一篇:

盤點Fomo3D狼人殺、EOSBet、EOSDice等十八個安全漏洞事件始末

Tags:EOSBLOLOCBLOCKWeosblockchain交易所LOCKBlockchain Brawlers

芝麻開門交易所下載
俄羅斯加密挖礦公司CryptoUniverse計劃于年中在西伯利亞開設工廠_POST:Purpose Coin

據福布斯消息,俄羅斯加密挖礦公司CryptoUniverse計劃于2019年年中在西伯利亞開設一家工廠。它不僅提供加密挖礦服務,還將成為人工智能、大數據和物聯網空間運營企業的數據中心.

1900/1/1 0:00:00
驚天盜竊案!涉及比特大陸、幣安、Bittrex、MANA!_NDO:DOE幣

比特大陸于11月7日在西雅圖提起訴訟,控告黑客非法侵入其幣安賬戶,對其造成了至少550萬美元的損失.

1900/1/1 0:00:00
集體暴漲 IEO高調回歸?_PAD:CHP

今日,主流交易所的優選上市幣高度一致地都走出了一輪暴漲行情。截止午間12:00,幣安四期Launchpad項目集體大漲,其中MATIC價格翻了一倍,24小時漲幅高達102%,此外FET、CELR.

1900/1/1 0:00:00
挖掘我這個比特幣區塊為什么花了二十分鐘?_PDF:BTC是騙局嗎

一圖看懂 這聽起來耳熟嗎? 你剛做完一筆比特幣交易并且非常想看到它是否會出現在下一個區塊中。你預期比特幣的出塊時間是10分鐘。查詢比特幣節點的記錄,距離上一個區塊已經過去7分鐘.

1900/1/1 0:00:00
大家對 PoS 質押資產操碎了心 請考慮「資本再循環」提高資產效率_以太坊:BreederDAO

設計好的資本再循環活動會提高PoS網絡生產力,實現更大的實用價值,也會減少對投機的依賴,有助PoS資產的增長.

1900/1/1 0:00:00
Cobo 發布防火助記板「金鋼匣」,有效保護數字資產不被外部攻擊_比特幣:數字貨幣交易員違法嗎

通過金屬助記詞板等物理保存助記詞,是存儲私鑰或助記詞的最安全的方式。任何主流的軟硬件錢包都使用助記詞的方式來保存私鑰.

1900/1/1 0:00:00
ads