作者:張一鋒、朱立、練娜
來源:《區塊鏈技術與應用安全分析報告》
出品:區塊鏈大本營
區塊鏈技術近年來快速發展,其價值得到越來越多認可的同時,技術與應用方面的安全挑戰也逐漸凸顯。
本文研究了針對區塊鏈技術與應用的攻擊方式及安全事件,提出了包括基礎設施層、密碼算法層、節點通訊層、共識協議層、運行平臺層、智能合約層和系統應用層的七層安全模型,并針對模型各層對應的具體風險點,提出了解決方案。此外還探討了區塊鏈數據隱私問題。
區塊鏈安全
根據區塊鏈的技術特征,其安全模型可以由七層架構組成,自下而上分別包括:基礎設施層、密碼算法層、節點通訊層、共識協議層、運行平臺層、智能合約層和系統應用層。各層分別從各自層面應對相應的安全風險,實現區塊鏈系統的整體安全。
其中,基礎設施層包含了區塊鏈在其上運行所需的基礎軟硬件,如操作系統;密碼算法層包含了區塊鏈實現中所需要的密碼學技術,如非對稱加密算法、數據摘要算法等;節點通信層包含了節點之間的通訊傳輸機制;共識協議層主要包含了各類共識協議;運行平臺層包含了智能合約運行環境,如EVM虛擬機;智能合約層主要包含各類部署在區塊鏈上的業務合約;系統應用層指基于智能合約,結合傳統IT技術構建的可被最終用戶訪問的各類應用。
各層之間面臨著不同的安全風險:
基礎設施層主要面臨黑客通過傳統安全漏洞進行攻擊的風險;
密碼算法層主要面臨密碼學算法本身在加密強度、前提假設等方面存在的問題,以及其代碼實現過程中存在漏洞的風險;
節點通訊層主要面臨節點傳播與驗證機制的風險,以及因為點對點組網而形成的網絡拓撲特征、消息傳送時間不確定、網絡分裂等因素帶來的攻擊;
共識協議層因共識和激勵機制的不同而面臨不同類型的攻擊風險;
運行平臺層主要面臨區塊鏈運行平臺本身實現過程中存在的漏洞帶來的風險,比如虛擬機逃逸等;
智能合約層主要面臨的多種攻擊風險有:Solidity語言漏洞、時間戳依賴攻擊等;
系統應用層安全風險主要集中在用戶節點、數字資產錢包以及交易平臺上。
1.基礎設施層
區塊鏈節點服務器仍存在被黑客植入木馬、竊聽網絡通信、DDOS攻擊等安全風險。雖然區塊鏈技術本身能夠在一定程度上抵御少數節點被惡意控制所造成的破壞,但如果因為底層系統漏洞使得黑客可以輕易控制大部分節點,整個區塊鏈網絡仍會面臨較大危險。
這方面因為與傳統IT系統的安全攻擊與防護沒有太大的差異,所以本文不展開做詳細的闡述。
2.密碼算法層
加密算法是保證區塊鏈的安全性和不可篡改性的關鍵,為區塊鏈的信息完整性、認證性和不可抵賴性提供了關鍵保障。
Patrick Hansen:歐盟目前還沒有關于加密資產作為MiFID II所指的金融工具的監管分類指南:金色財經報道,Circle歐盟戰略和政策總監Patrick Hansen在社交媒體上表示,我推薦德國金融監管機構 BaFin 在 2018 年發出的這封舊咨詢信,以提供一些指導,說明代幣在德國和歐盟法律下何時可能被視為證券。在歐盟層面,目前還沒有關于代幣/加密資產作為 MiFID II 所指的金融工具(如可轉讓證券)的監管分類指南。
但這種情況很快就會改變。作為 MiCA 實施過程的一部分,ESMA 被授權發布關于加密資產作為金融工具(證券)的標準和條件的指南。這項工作將于 2024 年第一季度完成,從跨大西洋的角度來看,這項工作將非常值得關注。
不過,歐盟不太可能偏離其先前的評估,即大多數加密資產不在歐盟現有證券監管范圍內。早在 2019 年,歐盟主要監管機構歐洲銀行監管局(EBA)和歐洲證券與金融管理局(ESMA)就已認定,通常情況下,加密資產活動并不構成歐盟銀行、支付和電子貨幣法律范圍內的受監管服務,對消費者存在的風險并未在歐盟層面得到解決。這一認識是 MiCA 的主要驅動力之一。
此外,這一評估甚至已被納入已在實施的歐盟法律,如 DLT 試點制度,該制度指出:大多數加密資產不屬于歐盟立法范圍,并在投資者保護、市場誠信和金融穩定等方面提出了挑戰。因此,它們需要歐盟層面的專門制度。盡管如此,仍應密切關注即將發布的歐洲證券與金融管理局(ESMA)指導方針,業界也應為將于 2024 年第一季度發布的一攬子咨詢計劃貢獻自己的觀點。[2023/7/27 16:01:58]
根據被破譯的難易程度,不同的密碼算法具有不同的安全等級。不存在絕對的安全,如果破譯密文的代價大于加密數據的價值,那么可以認為“安全的”;如果破譯密文所需的時間比加密數據的時間更長,那也可以認為是“安全的”。
區塊鏈技術大量依賴了密碼學的研究成果,如非對稱算法和哈希算法。這些密碼算法目前是相對安全的,但并非絕對安全。
一是存在對密碼學算法的攻擊方法,如作用于散列函數的窮舉攻擊、碰撞攻擊、長度擴展攻擊。
窮舉攻擊是指是對截獲到的密文嘗試遍歷所有可能的密鑰,直到獲得了一種從密文到明文的可理解的轉換;或使用不變的密鑰對所有可能的明文加密直到得到與截獲到的密文一致為止。
碰撞攻擊是指攻擊者找到算法的弱點,瓦解它的強抗碰撞性,使攻擊者能在較短的時間能尋找到值不同但hash相同的兩個值。
長度擴展攻擊是指針對某些允許包含額外信息的加密散列函數的攻擊手段。在已知密文hash和密文長度的情況下,推導出密文與另一消息拼接后計算出來的hash。
二是算法實現過程中可能存在后門和漏洞,威脅到區塊鏈系統的安全性。比如,所采用的密碼算法本身雖然沒有安全漏洞,但算法庫的實現存在錯誤,這類代碼編程過程中形成的漏洞,有可能成為區塊鏈實踐中黑天鵝安全事件爆發的誘因,例如:OpenSSL就曾因代碼編寫錯誤出現密鑰安全漏洞。
三是未來可能作用于多種密碼學算法的量子攻擊。隨著量子計算機算力提升,使得窮舉時間復雜度大大降低,目前多種加密算法面臨被瓦解的風險。
因此,為在密碼算法層防范安全風險,應當注意以下幾點。
農心辛拉面推出元宇宙商店“Nongshim Store”:金色財經報道,知名速食面品牌農心辛拉面將在韓國元宇宙平臺 Zepeto 上推出虛擬商店“Nongshim Store”,并上線新款聯名杯面 Shin Ramyun Zepeto,旨在吸引并強化與 10-20 歲年輕用戶之間的聯系。(《韓國時報》)[2023/1/6 10:58:36]
第一,盡量采用經過安全認證的硬件密碼機或算法庫,來保證密碼算法和密鑰管理方面的安全性。
第二,應充分考量隨著時間的推移支持遷移到新算法的可行性。計算機計算能力變得更快,這變相降低了現有算法的強度,當前一般通過增加密鑰長度的方式以抵消其帶來的風險。不排除未來出現安全性更高、速度更快、計算和存儲資源要求更少的優異特性的新算法的可能。
第三,充分考量密鑰管理的重要性。區塊鏈系統包含的各種密鑰和Hash值等數據需要得到有效保護和管理,以保證區塊鏈系統自身不受損害。密鑰的安全至關重要,其管理系統應包括密鑰創建、密鑰派生、密鑰分發、密鑰存儲和安全審計等安全性管理功能。
第四,充分考量在用戶丟失密鑰、密鑰過期或受到其他危害時使用區塊鏈的例外程序。密鑰或私鑰的盜竊風險可以通過限制密鑰的有效期和使用量來緩解。實踐中,某些區塊鏈系統因沒有設計任何方法來替換被盜用的密鑰,導致用戶損失。
第五,加密算法應當在安全性和計算成本之間有所折衷。在應用環境中,應根據特定行業所需的保護級別,選擇合適的密碼算法和密鑰長度。要特別注意的是,雖然目前依賴現有的密碼算法的加密算法和密鑰長度可以滿足當前的安全需求,但需要充分考慮量子計算的發展在未來可能帶來的影響。
3.節點通信層
大部分公有區塊鏈系統以P2P網絡為基礎,P2P網絡技術重要的特點就是開放性,它在帶來方便的同時,也伴隨著各種安全問題。
P2P網絡依賴附近的節點進行信息傳輸會暴露對方的IP,攻擊者可以利用這個漏洞給其他節點帶來安全威脅,區塊鏈節點可能是普通家庭PC,可能是云服務器等等,其安全性參差不齊,其中安全性較差的節點更易遭受攻擊,進而影響P2P網絡的整體安全。
針對P2P網絡,攻擊者可以發動日蝕攻擊、竊聽攻擊、分割攻擊、延遲攻擊、拒絕服務攻擊等攻擊。
日蝕攻擊是其他節點實施的網絡層面攻擊,其攻擊手段是囤積和霸占受害者的點對點連接的對等節點,將該節點從主網中隔離,這樣的節點被為日蝕節點。這種類型的攻擊旨在阻止最新的區塊鏈信息進入到日蝕節點,使其成為信息孤島,甚至控制其信息輸入。
竊聽攻擊可以使攻擊者將區塊鏈中的用戶標識與IP關聯起來。
分割攻擊的攻擊者可以利用邊界網關協議劫持來將區塊鏈網絡劃分成兩個或多個不相交的網絡,此時的區塊鏈會分叉為兩條或多條并行鏈。攻擊停止后,區塊鏈會重新統一為一條鏈,以最長的鏈為主鏈。其他的鏈將被廢棄,其上的交易、獎勵等全部無效。
延遲攻擊是攻擊者利用邊界網關協議劫持來延遲目標的區塊更新,而且不被發現。因為它是基于中間人修改目標請求區塊的數據來做到的,在目標請求獲取最新區塊的時候,將它的這一請求修改為獲取舊區塊的請求,使得目標獲得較舊的塊。
DDoS攻擊是通過大流量或漏洞的方式攻擊P2P網絡中的節點,使網絡中部分節點網絡癱瘓。
派盾:量化交易公司mgnr已刪除全部推文:12月19日消息,據派盾預警監測,量化交易公司mgnr已在官方推特上刪除全部推文,且似乎退出了部分群組,標記為mgnr.eth的地址目前持有0.097枚ETH。目前不知道他們為什么在11月14日將5160萬枚USDC轉移到Coinbase和Genesis Trading。[2022/12/19 21:53:52]
公有鏈對加入其中的用戶不設任何訪問授權機制,惡意節點可在加入后刻意擾亂運行秩序,破壞正常業務;而許可鏈盡管設置了不同等級的訪問控制機制,也可能存在惡意節點利用漏洞混入進而展開攻擊,或發生節點聯合等情況。
鑒于以上這些情況可能帶來的安全威脅:應在對等節點進行信息傳輸時進行加密,包括傳輸過程的加密和信息本身的加密;應通過安全散列計算及數字簽名等技術保證傳輸過程中數據的完整性;應通過節點身份認證防止信息傳遞過程中受到攻擊。對許可鏈而言,具體做法一是采取節點授權準入原則,二是在終端接入時進行身份認證,三是在交易前對節點通信雙方進行身份認證。
4.共識協議層
區塊鏈有不同的類型,如根據準入機制不同,區塊鏈分為公有鏈和許可鏈。這就需要相適應的共識機制來保證鏈上最后的區塊能夠在任何時候都反應出全網的狀態。共識機制是維持區塊鏈系統有序運行的基礎,相互間未建立信任關系的區塊鏈節點通過共識機制,共同對寫入新區塊的信息達成一致。
以Fabric為代表的許可鏈系統使用PBFT共識機制。PBFT是一種狀態機副本復制算法,即作為狀態機進行建模,使得狀態機可以在分布式系統的不同節點進行安全可靠的副本復制。對于許可鏈來說,由多信任方共同管理維護,節點信任度高,使得PBFT成為首選共識機制。只要大于2/3的節點是誠實的,PBFT就能在理論上保證系統的安全性,所以目前沒有針對PBFT的有效攻擊方法。
公有鏈與許可鏈在共識協議安全上考慮的因素不盡相同。以PBFT為代表的傳統BFT算法的安全前提通常只假設整個網絡中惡意節點不超過一定比例,但不去追究或考慮惡意節點的比例為何可以滿足實際要求,也不考慮如何通過制度設計引導節點控制者的行為以促成惡意節點的比例不超閾值。但對于大部分公有鏈而言,由于節點可以匿名地動態加入及退出,如果沒有良好的基于經濟人假設的獎懲制度設計,合作不會自動產生,類似于“惡意節點比例不超閾值”這樣的安全前提也不會神秘地自動滿足。所以本文所說的“共識機制”,也包括區塊鏈的激勵機制。
以比特幣為代表的公有鏈多使用POW共識機制。POW共識機制本質上就是在所有提供算力資源的集群中通過一種算法機制選擇出一個幸運節點,因POW算法不存在終局性狀態,一旦總算力過小,則非常容易被攻擊者劫持整個區塊鏈,嚴重影響區塊鏈系統的安全性。
尤其隨著通用礦機和算力云化租賃服務的出現,算力分布更容易隨著租賃方的變化在不同鏈之間快速切換,這是因為此時某條鏈上的加密貨幣受到攻擊而貶值不會影響到礦機擁有者的利益,所以礦機擁有者有動力出租礦機給黑客而不顧及用途,從而降低了51%攻擊的門檻。
以Peercoin為代表的加密貨幣使用POS共識機制。采用工作量證明機制發行新幣,采用權益證明機制維護網絡安全。POS機制根據每個節點擁有代幣的比例和時間,依據算法等比例地降低節點的挖礦難度,從而加快了尋找隨機數的速度。這種共識機制可以縮短達成共識所需的時間,但本質上仍然需要網絡中的節點進行挖礦運算。
數據:本周ETC全網算力突破300 TH/s 創歷史新高:金色財經報道,據2Miners數據顯示,以太坊成功合并后,ETC全網算力本周算力于9月15日創下307.33TH/s,歷史新高,但之后出現下滑,本文撰寫時已跌至199.10 TH/s。[2022/9/17 7:03:24]
常見的針對公鏈共識機制的攻擊有51%攻擊、長距離攻擊、幣齡累計攻擊、預計算攻擊等。其中長距離攻擊、幣齡累計攻擊、預計算攻擊是針對POS共識機制的;51%攻擊是針對POW共識機制的。
5.運行平臺層
區塊鏈的運行平臺層,在密碼算法層、節點通信層、共識協議層的基礎上構建了面向智能合約和區塊鏈應用的運行環境,是構成區塊鏈PAAS服務的核心部分,其攻擊與安全風險主要來自于智能合約虛擬機的設計與實現。
智能合約虛擬機是區塊鏈智能合約的運行環境。安全的智能合約虛擬機是沙盒封裝的,并確保其運行環境是完全隔離的,即在智能合約虛擬機中運行代碼是無法訪問網絡、文件系統和其他進程的。甚至智能合約之間的訪問和調用也需要接受必要的管理和限制。
智能合約虛擬機運行在區塊鏈的各個節點上,接收并部署來自節點的智能合約代碼,若虛擬機存在漏洞或相關限制機制不完善,很可能運行來自攻擊者的惡意的智能合約。目前針對合約虛擬機的主要攻擊方式有:逃逸漏洞攻擊、邏輯漏洞攻擊、堆棧溢出漏洞攻擊、資源濫用漏洞攻擊。
逃逸漏洞攻擊是指在虛擬機運行字節碼時提供沙盒環境,一般用戶只能在沙盒的限制中執行相應的代碼時,此類型漏洞會使得攻擊者退出沙盒環境,執行其他本不能執行的代碼。
邏輯漏洞攻擊是指利用編碼不合規范,未對特定數據或代碼做容錯處理,進而構建特定場景,導致系統出現邏輯問題。
堆棧溢出漏洞攻擊是指攻擊者通過編寫惡意代碼讓虛擬機去解析執行,最終導致棧的深度超過虛擬機允許的最大深度,或不斷占用系統內存導致內存溢出。
資源濫用攻擊是指攻擊者在虛擬機上部署一份惡意代碼,消耗系統的網絡資源、存儲資源、計算資源、內存資源。
6.智能合約層
智能合約本質是一段運行在區塊鏈網絡中的代碼,它完成用戶所賦予的業務邏輯。一方面,區塊鏈為智能合約的運用提供可信的計算運行平臺,另一方面,智能合約大大擴展了區塊鏈的應用范圍。合約條款由計算機代碼評估并執行不受人為干預,所以合約代碼一旦上鏈,執行過程和結果都完全公開而且不可篡改。隨著智能合約的廣泛應用,出現了各種漏洞攻擊事件,安全風險問題日益嚴重。智能合約漏洞一旦被黑客利用就可能導致很多嚴重的安全問題,特別是資產安全問題。
一旦智能合約的編程代碼設計不完善,就可能出現安全風險。其安全風險包含了三個方面:第一,漏洞風險,包括合約代碼中是否有常見的安全漏洞。第二,可信風險。沒有漏洞的智能合約,未必就安全,合約本身要保證公平可信。第三,不合規范風險。由于合約的創建要求以數字形式來定義承諾,所以如果合約的創建過程不夠規范,就容易留下巨大的隱患。
目前針對智能合約的主要攻擊方式有:可重入攻擊、調用深度攻擊、交易順序依賴攻擊、時間戳依賴攻擊、誤操作異常攻擊、整數溢出攻擊和接口權限攻擊等。
可重入攻擊是指當一個合約調用另一個合約的時候,當前的操作就要等到調用結束之后才會繼續。這時,如果被調用者需要使用調用者當前所處的狀態,就可能發生問題。2017年7月,以太坊錢包Parity爆出極其嚴重的的漏洞,使得攻擊者從三個高安全的多重簽名合約中竊取到超過15萬ETH。攻擊者通過調用initWallet智能合約,而initWallet智能合約未設置重入檢查,以防止攻擊者多次初始化智能合約將這個錢包合約的所有者進行覆蓋從而將錢包所有者修改為攻擊者,這相當于從unix中獲得了root權限。
BridgeCoin正式被CoinMarketCap(CMC)收錄:據官方消息,基于以太坊的去中心化支付項目BridgeCoin已于6月2日正式被加密貨幣行情網站CoinMarketCap收錄,未來用戶可通過CoinMarketCap了解BridgeCoin的行情動態及基礎信息。據悉,BridgeCoin是面向Web 3.0的國際加密貨幣,通過區塊鏈技術的加持,打造其它加密貨幣的統一兌換標的,形成規范化、全球化、國際化的加密貨幣體系。[2022/6/2 3:58:05]
調用深度攻擊針對虛擬機中智能合約的調用深度限制,這個限制是為了防止調用棧資源被濫用。調用深度攻擊可以讓合約調用失敗,即使這個調用在邏輯上不存在任何問題,在虛擬機層面已經不被允許了,因為調用深度達到了虛擬機中的閾值,不再往下執行。攻擊者可以通過控制調用深度來使某些關鍵操作無法執行,如轉賬、余額清零等。
交易順序依賴攻擊是指交易進入未確認的交易池,并可能被礦工無序地包含在區塊中,因此打包在區塊中的交易順序與交易生成的順序完全不同。如果攻擊者可監聽到網絡中對應合約的交易,然后發出他自己的交易來改變當前的合約狀態,例如對于懸賞合約減少合約回報,則有一定幾率使這兩筆交易包含在同一個區塊下面,并且排在另一個交易之前,完成攻擊。
時間戳依賴攻擊是指攻擊者可以通過設置區塊的時間戳來盡可能滿足有利于他的條件,從中獲利。
誤操作異常攻擊是指當一個合約調用另外一個合約時,后者操作可能執行失敗,從而退回到未執行前的狀態,此時前者若不檢查后者執行的結果繼續往下執行,會導致很多問題。
整數溢出攻擊是指如果攻擊者向智能合約提供了一個超出代碼處理范圍的參數,就會產生崩潰結果,這樣的崩潰助長了多重攻擊。崩潰可能觸發拒絕服務攻擊,更嚴重地,關于系統內部的重要信息可能會在錯誤消息中泄漏。2018年初,區塊鏈形式化驗證平臺VaaS檢測發現,基于EOS區塊鏈的代幣合約同樣可能存在BEC代幣合約類似的整數溢出漏洞。
接口權限攻擊是指智能合約錯誤地將高權限的接口暴露給普通用戶調用,導致系統狀態出現異常。常見的接口權限攻擊多出現在ERC20代幣合約的鑄幣權限上,一些開發者沒有在初始化后關閉鑄幣權限,導致任何人可以調用生成新的代幣。2017年11月,著名的Parity多簽錢包被一個用戶誤觸發了共享庫銷毀函數,導致價值2.85億美元的以太幣永久鎖定。
從以上的安全事件可以看出,現階段智能合約并不完善,存在的各種漏洞一旦被黑客利用,就會造成資產損失。解決這些問題仍具有挑戰性。
智能合約的本質是代碼,它界定了各方使用合約的條件,在滿足合約條件下機器指令被執行,其開發本身對程序員就是一項挑戰。受限于自身的安全意識和代碼編寫能力,開發人員一旦沒有全面考慮可能應對的風險,智能合約的可靠性就難以保證。
為防范智能合約層的安全風險,首先,在開發數值計算相關的智能合約時應該使用安全數值計算庫,并做完整的生命周期式安全合規檢查,防止整數溢出漏洞;應充分考量智能合約執行的功能,不能對數據完整性、安全性和平臺穩定性產生負面影響。
其次,智能合約不可避免地與區塊鏈之外的應用程序相互作用,目前沒有方法和標準可以將與外部應用程序連接時引入安全漏洞的風險降至最低。所以一方面需要先進行智能合約協議安全性分析,防止業務邏輯漏洞的出現;另一方面應對與外部應用程序進行智能合約交互進行標準化,為保護完整性、安全性和穩定性提供指導。
最后,在系統安裝智能合約代碼時,確保代碼來自正確的可信提供商并且未被修改,如果攻擊者有能力安裝惡意智能合約代碼則可以改變智能合約的行為。必須有控制措施確保智能合約只能由已被授權人員安裝,或能將部署在鏈上的代碼和公布的合約源碼自行編譯后的結果進行比對以確認其一致。
7.系統應用層
系統應用層涉及不同行業領域的場景和用戶交互,導致各類傳統安全隱患較為集中,成為攻擊者實施攻擊的首選。2018年7月至12月間,EOS鏈上的DApp共發生49起安全事件,波及37個DApp,導致項目方共損失近75萬枚EOS,按照攻擊發生時的幣價折算,總損失約合319萬美元。
加密貨幣交易平臺是為用戶提供在線交易服務的重要渠道。不論是內部泄露數據還是外部黑客入侵,都會造成關鍵信息泄露。目前針對交易平臺的攻擊主要包括:賬戶泄露攻擊、DDoS攻擊、Web注入攻擊、釣魚網頁攻擊。
賬戶泄露攻擊是指攻擊者通過手機互聯網上已公開或還未公開的用戶名、郵箱、密碼等信息來在要攻擊的網站上通過程序批量嘗試。若網站不對登陸接口做請求限制或者風控,則會導致攻擊者可以無限發送請求逐個測試可能的值來暴力破解某些關鍵信息。
2017年10月2日,OKCoin旗下交易所出現大量賬戶被盜情況,不完全統計損失金額在1000萬元人民幣左右,用戶懷疑平臺已被攻擊,或有已被關閉平臺的交易所員工向黑客泄漏了平臺用戶的賬戶信息,黑客通過用戶信息破解賬戶密碼登錄平臺,然后在平臺上完成數字資產轉移。
DDoS攻擊是攻擊者想辦法讓目標機器停止提供服務,若交易平臺被DDoS攻擊,不但交易平臺蒙受損失,加密貨幣的交易量也將大大減少,間接影響價格漲跌。
Web注入攻擊是指通過對web連接的數據庫發送惡意的SQL語句而產生的攻擊,從而產生安全隱患和對網站的威脅,可以造成逃過驗證或者私密信息泄露等危害。
釣魚網頁攻擊是指是一種企圖從電子通訊中,通過偽裝成用戶信任的網頁以獲得如用戶名、密碼和信用卡明細等個人敏感信息的犯罪詐騙過程。常用手段是導引用戶到URL與界面外觀與真正網站幾無二致的假冒網站輸入個人數據。就算使用強式加密的SSL服務器認證,要偵測網站是否仿冒實際上仍很困難。
區塊鏈的錢包是密鑰管理的工具,錢包中包含公私鑰對,私鑰與用戶的資產直接相關。用戶用私鑰進行簽名交易,從而證明用戶交易的輸出權。獲取了私鑰,就獲得了資產的使用權和交易權。目前主流的錢包分為軟錢包和硬件錢包。
軟錢包一般運行在有互聯網連接的設備上,因此也稱其為熱錢包,例如電腦客戶端錢包、手機APP錢包、網頁錢包等。用軟錢包交易是很方便的,但是安全性相對于硬件錢包來說要低很多。主要攻擊手段包括私鑰竊取、破解攻擊、APP內存篡改攻擊。
私鑰竊取是指由于錢包私鑰文件多點備份不安全導致錢包私鑰泄露。經調查,在互聯網可接入的地方,都能看到密鑰的存儲。攻擊者可以針對密鑰文件進行專門掃描,以及開發相關的木馬病進竊取。2019年1月14日,加密貨幣交易所Cryptopia被盜,成為2019年第一黑客盜竊事件,共有價值1600萬美元的以太坊ETH被盜竊。此次攻擊涉及了大量錢包,超過7.6萬,而且這部分錢包都沒有基于智能合約,這意味著黑客獲得的私鑰數量不是一個兩個而是成千上萬。
APP內存篡改攻擊是指攻擊者通過控制內存中的應用代碼,解析出APP內邏輯、功能、流程、漏洞等各類關鍵內容,針對發現的漏洞植入相應后門代碼并針對APP進一步攻擊。
硬件錢包的私鑰存儲和運算,往往是運行在封閉的硬件內部,沒有直接暴露在互聯網或開放的軟件運行環境中,有時候也被叫做冷錢包,其安全性要遠高于軟錢包,但往往不方便交易。但硬件錢包也非絕對安全,比如2018年初硬件錢包制造商Ledger公司產品上發生過的中間人攻擊,以及第35屆混沌通訊大會上WalletFail團隊所展示的側通道攻擊等,都說明硬件錢包的安全仍需要不斷的完善。
還有一種針對錢包私鑰的攻擊叫作“彩虹攻擊”,即通過事先遍歷所有常見的助記詞組合并預先生成對應的公私鑰,然后在網絡中尋找已經被彩虹表記錄碰撞出來的賬戶,一旦被彩虹表碰撞,則意味著攻擊者擁有了對應賬戶的控制私鑰,驗證威脅賬號安全。
該安全攻擊手段使得熱錢包和冷錢包都面臨較大的風險。2018年7月11日上午,在發布EOS賬戶存在”彩虹“攻擊風險的高危預警后,區塊鏈安全公司PeckShield緊急啟動部署了一系列應急處理方案。其中啟用的EOSRescuer公共查詢服務已累計提供數萬次查詢,監測到的受影響的高危賬戶資產也已做妥善管理。
為應對系統應用層的安全風險:平臺端上線前應進行滲透測試,運行中進行全方位安全防護,同時制定遭受攻擊后的應對措施。錢包端因為涉及加密資產的安全,更容易被攻擊者攻擊。這其中私鑰的保護最為重要,用戶私鑰的生成最好使用隨機字符串進行生成,若允許用戶自定義輸入則必須輸入足夠復雜的助記詞。
應該加密保存私鑰,恪守按需使用、離線使用的原則使用私鑰,尤其不應該通過網絡傳輸私鑰。另外,結合門限簽名等密碼算法的私鑰管理方案,對于錢包端私鑰的安全保護,也具有重要的實踐意義。
事實上在實踐中,大部分的區塊鏈系統應用層的安全問題,都不是區塊鏈自身的安全風險帶來的,甚至與區塊鏈本身沒有絲毫關系。比如大量加密貨幣交易平臺爆出的安全問題,本質上都是其自身上層應用中存在的安全管理漏洞所致,不涉及底層的區塊鏈技術。
區塊鏈隱私泄露問題
在CIA三要素中,區塊鏈在確保完整性和可用性方面天然具有某種優勢,但在確保機密性方面尚存在較大挑戰。
隱私是一種與公共利益、群體利益無關,當事人不愿他人知道或他人不便知道的個人信息、當事人不愿他人干涉或他人不便干涉的個人私事,以及當事人不愿他人侵入或他人不便侵入的個人領域。
區塊鏈技術的邏輯要求相關上鏈數據必須得到不同節點的共識驗證,因此,區塊鏈上的數據隱私保護與傳統的數據隱私保護相比,具有不同的特點與要求,往往需要設計專門的隱私保護策略:
一是設計隱私保護技術方案,區塊鏈在設計和實現時,宜考慮提供適當的隱私保護方案來加強對其上運行的隱私數據的保護。
二是鏈上鏈下分割,區塊鏈上的隱私保護,需根據實現方案考慮鏈上和鏈下隱私數據的保護策略。
三是訪問控制,區塊鏈在設計和實現時,應采取技術措施控制隱私相關數據的訪問權限,對隱私數據訪問者進行身份驗證并檢查其授權。
四是需要重點研究同態加密、零知識證明、安全多方計算、TEE等技術領域,最大限度地為區塊鏈體系提供隱私保護能力。同態加密在保證信息不解密的情況下運行。零知識證明即證明者能夠在不向驗證者提供信息本身內容的情況下,使驗證者相信某個論斷真實可信,保證身份的匿名性。
安全多方計算是解決一組互不信任的參與方之間隱私保護的協同計算問題,安全兩方計算作為其特例,一般基于混淆電路和不經意傳輸等技術實現。TEE技術則是在信任特定硬件設備難以攻破的前提下選擇在受硬件保護的Enclave環境中解密外部輸入數據、執行智能合約代碼、加密輸出數據,此過程中明文信息只出現在Enclave中但不能被外部看到。
當然,在實現匿名的過程中,所需的代價可能較高,也可能給追蹤與監管帶來非常大的挑戰。
結束語
區塊鏈是信息互聯網向價值互聯網轉變的重要基石,是現代數字貨幣體系的可選技術之一。它以密碼學技術為基礎,通過分布式多節點“共識”機制,可以“完整、不可篡改”地記錄價值轉移的全過程。
區塊鏈作為密碼學、網絡技術、數據庫等多種技術組合的新型技術,復雜程度更高,更容易出現安全問題,因此區塊鏈安全在考慮傳統技術范疇內的基礎設施安全外,更需要圍繞密碼算法安全、節點通信安全、共識協議安全、運行平臺安全、智能合約安全和系統應用安全等不同的層級進行全面的安全體系建設。
安全是個系統性工程,風險的發生也遵循木桶原理,容易從最薄弱的一塊板上突破。
來源:LongHash 最近,Zoom科技的股票價格暴漲。為什么?這可能僅僅是因為投資者搞混了它與流行視頻會議軟件Zoom的代碼,雖然它們其實沒有任何關系.
1900/1/1 0:00:00來源:哈希派 作者:LucyCheng最早認可比特幣合法身份的國家是德國,最早關注到加密貨幣行業納稅的是美國,最早出現比特幣ATM機的是加拿大......不過要說到最喜愛加密貨幣的國家.
1900/1/1 0:00:00作者:羅滔 近期,開曼群島政府提出了大量監管措施以規范當地的加密貨幣行業。這些措施旨在使不斷發展的行業與金融行動工作組的要求保持一致,從而使該國的加密服務提供商能夠獲得全球范圍內的競爭力.
1900/1/1 0:00:00來源:LongHash UTC時間5月11日晚7點23分,當第630000個BTC區塊被挖出時,比特幣經歷了第三次區塊獎勵減半。減半是指加密貨幣礦工驗證區塊或“挖礦”獲得的獎勵減少50%的事件.
1900/1/1 0:00:002019年底爆發的新冠肺炎疫情,對我國經濟社會發展帶來極大沖擊。無論是作為“毛細血管”的中小微民營企業,還是作為我國經濟發展“壓艙石”的大中型企業,均未幸免.
1900/1/1 0:00:00吳說區塊鏈獲悉,2月份以來,四川涼山水電消納示范區已落地5個大數據項目,應全為比特幣礦場項目。《涼山日報》頭版對此進行了報道.
1900/1/1 0:00:00