無論是中心化還是去中心化錢包, 軟件錢包還是硬件錢包在安全性方面必須有充分的安全測試,針對數字錢包的安全審計,零時科技安全團隊的審計項目包括但不限於如下測試項:
1、網絡和通信安全測試
- 網絡節點應達到及時發現和抵抗網絡攻擊的功能;
2、錢包運行環境安全
- 錢包能夠對操作系統進行已知重大漏洞進行檢測,虛擬機檢測,完整性檢測;
- 數字錢包需具有第三方程序劫持檢測功能,防止第三方程序劫持錢包盜取相關用戶信息。
3、錢包認證安全
- 錢包認證過程中必須設置錢包解鎖密碼用於解鎖錢包,防止設備丟失後錢包信息被竊取;
- 使用錢包進行交易簽名必須設置支付密碼,防止解鎖後解密的私鑰被竊取;
- 使用錢包日誌功能必須設置日誌密碼,防止錢包密碼丟失後攻擊者直接清除錢包操作日誌;
- 交易密碼需使用多因素認證,例如:指紋、面部識別、OTP令牌、短信驗證碼等,防止密碼洩露導致私鑰丟失。
4、錢包交易安全
- 錢包發出的所有交易必須進行簽名,簽名時必須通過輸入支付密碼解密私鑰,交易簽名生成後必須清除內存中解密後的私鑰,防止內存中的私鑰被竊取而洩漏等。
5、錢包日誌安全
- 為了方便用戶進行審計錢包操作行為,防止異常操作和未授權的操作,需記錄錢包的操作日誌,同時錢包日誌必須通過脫敏處理,不得含有機密信息。
6、節點安全審計
- 錢包節點應能記錄用戶的連接記錄、交易記錄,能夠保存審計記錄的過程和結果,便於管理員進行查詢;
- 必須對節點服務器進行安全設計和安全加固。
7、節點接口安全審計
- 接口需要對數據進行簽名,防止黑客對數據被篡改;
- 接口訪問需要添加token認證機制,防止黑客進行重放攻擊;
- 節點接口需要對用戶連接速率進行限制,防止黑客模擬用戶操作進行CC攻擊。
8、數據存儲安全
- 錢包生成的私鑰必須通過加密算法加密後才能進行存儲,同時錢包的本地靜態文件不得含有明文的敏感信息。
9、數據的備份與回复
- 錢包生成的私鑰或者助記詞,必須在確保安全的情況下進行備份處理,避免私鑰意外丟失導致資金無法找回。
- 如果移動應用能夠被備份出來,就可以使用計算性能更加強大的機器對私鑰/助記詞進行暴力破解。
10、靜態代碼安全審計
- 錢包APP必須進行正規的代碼審計,以確保錢包不會有額外功能權限用來收集用戶私鑰,保證APP本身的安全性。