天天看點

區塊鍊安全100問 | 第三篇:數字錢包面臨的安全風險

零時科技——專注于區塊鍊安全領域

區塊鍊安全100問 | 第三篇:數字錢包面臨的安全風險

深圳零時科技有限公司(簡稱:零時科技),公司成立于2018年11月,是一家專注于區塊鍊生态安全的實戰創新型網絡安全企業,團隊紮根區塊鍊安全與應用技術研究,以豐富的安全攻防實戰經驗結合人工智能資料分析處理,為使用者提供區塊鍊安全漏洞風險檢測、安全審計、安全防禦、資産追溯,以及企業級區塊鍊應用創新解決方案。

零時科技區塊鍊安全100問正式上線,以通俗易懂的語言形式為大家講解區塊鍊行業知識,以及區塊鍊生态應用存在的安全問題,讓更多人了解區塊鍊及區塊鍊安全。

前言

目前區塊鍊技術和應用尚處于快速發展的初級階段,面臨的安全風險種類繁多,從區塊鍊生态應用的安全,到智能合約安全,共識機制安全和底層基礎元件安全,安全問題分布廣泛且危險性高,對生态體系,安全審計,技術架構,隐私資料保護和基礎設施的全局發展提出了全新的考驗。

1-數字錢包是什麼?

區塊鍊數字錢包是存儲和管理、使用數字貨币的工具,在區塊鍊領域有舉足輕重的地位,是使用者接觸數字貨币的入口。

錢包在形态上,可以劃分成為軟體錢包和硬體錢包。軟體錢包就是一個APP,裝在我們的手機上,硬體錢包就是專門有一個裝置來存儲這個私鑰。

按照私鑰和簽名這個動作是否永遠離線來區分,可分為熱錢包和冷錢包。

根據私鑰的存儲和簽名發起方式區分,可以分為中心化錢包和去中心化錢包,基于區塊鍊的加密數字資産的使用,大多都是用去中心化錢包。

區塊鍊安全100問 | 第三篇:數字錢包面臨的安全風險

2-數字錢包面臨的安全風險有哪些?

區塊鍊數字錢包存在多種形式,面臨的安全風險也是多樣性的,主要面臨的安全風險包括但不限于如下幾方面:

1、運作環境的安全風險

加密數字貨币錢包最核心的檔案——私鑰/助記詞是存儲在終端裝置上的,無論是PC端還是移動端,終端裝置如果出現不安全的現象,對于私鑰/助記詞來說是有非常高的安全風險。

一個安全的數字錢包,在設計之初就應該避免因為運作環境而導緻的私鑰/助記詞存在被盜可能。終端上運作環境的安全問題主要包括病毒軟體、作業系統漏洞和硬體漏洞等。

2、網絡傳輸的安全風險

網絡傳輸的安全性更多地展現在是否有良好的對抗中間人攻擊的能力上。中間人攻擊是指攻擊者與通訊的兩端分别建立獨立的聯系,并交換其所收到的資料,使通訊的兩端認為他們正在通過一個私密的連接配接與對方直接對話,但事實上整個會話都被攻擊者完全控制。

安全的數字錢包需要能夠對終端裡面全部的數字證書的合法性進行掃描、對網絡傳輸過程中的代理設定進行檢查并能夠保障基礎的網絡通訊環境的安全性。

在數字錢包的開發中,在網絡傳輸層面是否使用雙向校驗的方式進行通訊驗證也是衡量一個數字錢包應用安全性的重要評判标準。

3、檔案存儲方式的安全風險

對于數字錢包的私鑰/助記詞,終端裝置的存儲方式也是需要在安全性設計上加以注意的。私鑰/助記詞檔案存放目錄的通路權限、私鑰/助記詞存儲的形式和加密算法設計都需要通過嚴密設計。

在對多款主流數字錢包進行安全性分析時,我們發現即使是知名的數字錢包,在私鑰/助記詞的存儲上也是比較随意的。既有明文存儲,也有加密存儲,但是解密的密鑰卻是在代碼裡面固定寫死的,起不到任何的安全防禦作用。

4、應用自身的安全風險

應用自身的安全風險主要集中在應用安裝包自身的安全防禦上。

應用安裝包是否具備抗篡改能力。另外,應用運作過程中的記憶體安全、反調試、私鑰/助記詞使用的生命周期管理、調試日志的安全性、開發流程的安全等方面也是需要去設計增強的。

5、資料備份的安全風險

如果移動應用能夠被備份出來,就可以使用計算性能更加強大的機器對私鑰/助記詞進行暴力破解。舉例來說,如果終端裝置上允許資料備份,那麼就可以利用系統的備份機制對應用的資料檔案進行備份,而加密數字貨币的私鑰/助記詞也就被備份到外部媒體了,這就從另外一個方向打破了作業系統的安全邊界設計。

對于廣大使用者來說,數字錢包的安全也意味着财富的安全,是以我們在選擇數字錢包時一定要慎重對待,不可掉以輕心。

區塊鍊安全100問 | 第三篇:數字錢包面臨的安全風險

3-數字錢包該如何進行安全審計?

無論是中心化還是去中心化錢包, 軟體錢包還是硬體錢包在安全性方面必須有充分的安全測試,針對數字錢包的安全審計,零時科技安全團隊的審計項目包括但不限于如下測試項:

1、網絡和通信安全測試

網絡節點應達到及時發現和抵抗網絡攻擊的功能;

2、錢包運作環境安全

錢包能夠對作業系統進行已知重大漏洞進行檢測,虛拟機檢測,完整性檢測;

數字錢包需具有第三方程式劫持檢測功能,防止第三方程式劫持錢包盜取相關使用者資訊。

3、錢包認證安全

錢包認證過程中必須設定錢包解鎖密碼用于解鎖錢包,防止裝置丢失後錢包資訊被竊取;

使用錢包進行交易簽名必須設定支付密碼,防止解鎖後解密的私鑰被竊取;

使用錢包日志功能必須設定日志密碼,防止錢包密碼丢失後攻擊者直接清除錢包記錄檔;

交易密碼需使用多因素認證,例如:指紋、面部識别、OTP令牌、短信驗證碼等,防止密碼洩露導緻私鑰丢失。

4、錢包交易安全

錢包發出的所有交易必須進行簽名,簽名時必須通過輸入支付密碼解密私鑰,交易簽名生成後必須清除記憶體中解密後的私鑰,防止記憶體中的私鑰被竊取而洩漏等。

5、錢包日志安全

為了友善使用者進行審計錢包操作行為,防止異常操作和未授權的操作,需記錄錢包的記錄檔,同時錢包日志必須通過脫敏處理,不得含有機密資訊。

6、節點安全審計

錢包節點應能記錄使用者的連接配接記錄、交易記錄,能夠儲存審計記錄的過程和結果,便于管理者進行查詢;

必須對節點伺服器進行安全設計和安全加強。

7、節點接口安全審計

接口需要對資料進行簽名,防止黑客對資料被篡改;

接口通路需要添加token認證機制,防止黑客進行重播攻擊;

節點接口需要對使用者連接配接速率進行限制,防止黑客模拟使用者操作進行CC攻擊。

8、資料存儲安全

錢包生成的私鑰必須通過加密算法加密後才能進行存儲,同時錢包的本地靜态檔案不得含有明文的敏感資訊。

9、資料的備份與回複

錢包生成的私鑰或者助記詞,必須在確定安全的情況下進行備份處理,避免私鑰意外丢失導緻資金無法找回。

如果移動應用能夠被備份出來,就可以使用計算性能更加強大的機器對私鑰/助記詞進行暴力破解。

10、靜态代碼安全審計

錢包APP必須進行正規的代碼審計,以確定錢包不會有額外功能權限用來收集使用者私鑰,保證APP本身的安全性。

區塊鍊安全100問 | 第三篇:數字錢包面臨的安全風險
  • 區塊鍊安全100問正在持續更新,歡迎大家背景發送自己的觀點,如有對區塊鍊行業及應用有獨到見解或者疑問的朋友直接評論區留言哦!我們會把相關問題統計整理,為大家解答哦!

繼續閱讀