時間:2021-11-25|瀏覽:15248
目前,區(qū)塊鏈技術(shù)和應(yīng)用仍處于快速發(fā)展的初級階段,安全風(fēng)險種類繁多,從區(qū)塊鏈生態(tài)應(yīng)用的安全性來看,智能合同安全,共識機(jī)制安全和底層基礎(chǔ)組件安全,安全問題分布廣泛,危險性高,對生態(tài)體系,安全審計,技術(shù)架構(gòu),隱私數(shù)據(jù)保護(hù)和基礎(chǔ)設(shè)施整體發(fā)展提出了新的考驗(yàn)。
1-什么是數(shù)字錢包?
區(qū)塊鏈數(shù)字錢包是存儲、管理和使用數(shù)字貨幣的工具,在區(qū)塊鏈領(lǐng)域發(fā)揮著重要作用,是用戶接觸數(shù)字貨幣的入口。
在形式上,錢包可以分為軟件錢包和硬件錢包。軟件錢包是一個APP安裝在我們的手機(jī)上,硬件錢包是專門用來存儲這個私鑰的設(shè)備。
根據(jù)私鑰和簽名是否永遠(yuǎn)離線,可以分為熱錢包和冷錢包。
根據(jù)私鑰的存儲和簽名發(fā)起方式,可分為集中式錢包和分散式錢包?;趨^(qū)塊鏈加密數(shù)字資產(chǎn)的使用大多使用分散式錢包。
2-數(shù)字錢包面臨哪些安全風(fēng)險?
區(qū)塊鏈數(shù)字錢包形式多樣,安全風(fēng)險多樣。主要安全風(fēng)險包括但不限于以下幾個方面:
1.運(yùn)行環(huán)境的安全風(fēng)險
加密數(shù)字貨幣錢包的核心文件-私鑰/助記詞是存儲在終端設(shè)備上的,無論是PC終端或移動終端,如果終端設(shè)備不安全,對于私鑰,/助記詞具有很高的安全風(fēng)險。
一個安全的數(shù)字錢包,在設(shè)計之初就應(yīng)該避免因?yàn)檫\(yùn)行環(huán)境而導(dǎo)致的私鑰/助記詞可能被盜。終端運(yùn)行環(huán)境的安全問題主要包括病毒軟件、操作系統(tǒng)漏洞和硬件漏洞。
2.網(wǎng)絡(luò)傳輸?shù)陌踩L(fēng)險
網(wǎng)絡(luò)傳輸?shù)陌踩愿嗟捏w現(xiàn)在對抗中間人攻擊的能力是否良好。中間人攻擊是指攻擊者與通信的兩端建立獨(dú)立的聯(lián)系,交換他們收到的數(shù)據(jù),使通信的兩端認(rèn)為他們正在通過私人聯(lián)系與對方直接對話,但實(shí)際上整個對話都是被攻擊者完全控制的。
安全的數(shù)字錢包需要能夠掃描終端中所有數(shù)字證書的合法性,檢查網(wǎng)絡(luò)傳輸過程中的代理設(shè)置,保證基本網(wǎng)絡(luò)通信環(huán)境的安全。
在數(shù)字錢包的開發(fā)中,在網(wǎng)絡(luò)傳輸層面是否采用雙向驗(yàn)證通信也是衡量數(shù)字錢包應(yīng)用安全性的重要標(biāo)準(zhǔn)。
3.文件存儲方式的安全風(fēng)險
數(shù)字錢包的私鑰/助記詞,終端設(shè)備的存儲方式也需要注意安全設(shè)計。/助記詞文件存儲目錄的訪問權(quán)限、私鑰/助記詞存儲的形式和加密算法設(shè)計需要嚴(yán)格設(shè)計。
在分析各種主流數(shù)字錢包的安全性時,我們發(fā)現(xiàn)即使是知名的數(shù)字錢包也是私鑰/助記詞的存儲也比較隨意。既有明文存儲,也有加密存儲,但鑰固定在代碼中,不能起到任何安全防御作用。
4.應(yīng)用自己的安全風(fēng)險
應(yīng)用本身的安全風(fēng)險主要集中在應(yīng)用安裝包本身的安全防御上。
應(yīng)用程序安裝包是否具有防篡改能力。此外,應(yīng)用程序運(yùn)行中的內(nèi)存安全、反調(diào)試、私鑰/助記詞的生命周期管理、調(diào)試日志的安全性、開發(fā)過程的安全性也需要設(shè)計和加強(qiáng)。
5.數(shù)據(jù)備份的安全風(fēng)險
如果移動應(yīng)用程序可以備份,計算性能更強(qiáng)的機(jī)器可以用于私鑰/助記詞暴力破解。比如終端設(shè)備允許數(shù)據(jù)備份,可以利用系統(tǒng)備份機(jī)制備份應(yīng)用的數(shù)據(jù)文件,加密數(shù)字貨幣的私鑰/助記詞被備份到外部介質(zhì),從另一個方向打破了操作系統(tǒng)的安全邊界設(shè)計。
對廣大用戶而言,數(shù)字錢包的安全也意味著財富的安全,因此我們在選擇數(shù)字錢包時一定要慎重對待,不能掉以輕心。
3-如何對數(shù)字錢包進(jìn)行安全審計?
無論是集中還是分散錢包, 在安全方面,軟件錢包或硬件錢包必須有充分的安全測試,對數(shù)字錢包的安全審計包括但不限于以下測試項(xiàng)目:
1.網(wǎng)絡(luò)和通信安全測試
網(wǎng)絡(luò)節(jié)點(diǎn)應(yīng)及時發(fā)現(xiàn)和抵抗網(wǎng)絡(luò)攻擊;
2.錢包運(yùn)行環(huán)境安全
錢包可以檢測操作系統(tǒng)已知的重大漏洞、虛擬機(jī)和完整性;
數(shù)字錢包應(yīng)具有第三方程序劫持檢測功能,防止第三方程序劫持錢包竊取相關(guān)用戶信息。
3.錢包認(rèn)證安全
在錢包認(rèn)證過程中,必須設(shè)置錢包解鎖密碼,以防止錢包信息在設(shè)備丟失后被盜;
使用錢包進(jìn)行交易簽名時,必須設(shè)置支付密碼,以防止解鎖后的私鑰被盜;
使用錢包日志功能時,必須設(shè)置日志密碼,防止攻擊者在錢包密碼丟失后直接清除錢包操作日志;
交易密碼需要多種因素認(rèn)證,如指紋、面部識別、OTP令牌、短信驗(yàn)證碼等。,防止密碼泄露導(dǎo)致私鑰丟失。
4.錢包交易安全
錢包發(fā)出的所有交易都必須簽名,簽名時必須輸入支付密碼解密私鑰。交易簽名生成后,必須清除內(nèi)存中解密的私鑰,防止內(nèi)存中的私鑰被竊取和泄露。
5.錢包日志安全
為了方便用戶審核錢包操作行為,防止異常操作和未經(jīng)授權(quán)的操作,需要記錄錢包的操作日志。同時,錢包日志必須脫敏,不得包含機(jī)密信息。
6.節(jié)點(diǎn)安全審查
錢包節(jié)點(diǎn)應(yīng)能記錄用戶的連接記錄和交易記錄,并能保存審計記錄的過程和結(jié)果,便于管理員查詢;
節(jié)點(diǎn)服務(wù)器必須進(jìn)行安全設(shè)計和加固。
7.節(jié)點(diǎn)接口安全審查
接口需要簽名數(shù)據(jù),防止黑客篡改數(shù)據(jù);
接口訪問需要添加token認(rèn)證機(jī)制,防止黑客重放攻擊;
節(jié)點(diǎn)接口需要對用戶連接速率進(jìn)行限制,防止黑客模擬用戶操作進(jìn)行CC攻擊。
8.數(shù)據(jù)存儲安全
錢包生成的私鑰必須通過加密算法加密后才能存儲。同時,錢包的本地靜態(tài)文件不得包含明確的敏感信息。
9.數(shù)據(jù)備份和回復(fù)
錢包生成的私鑰或助記詞必須在確保安全的情況下備份,以避免私鑰意外丟失導(dǎo)致資金無法找回。
如果移動應(yīng)用程序可以備份,計算性能更強(qiáng)的機(jī)器可以用于私鑰/暴力破解助記詞。
10.靜態(tài)代碼安全審查
錢包APP必須進(jìn)行正式的代碼審計,以確保錢包沒有額外的功能權(quán)限來收集用戶的私鑰,并確保APP自身安全。
熱點(diǎn):數(shù)字貨幣 冷錢包 區(qū)塊鏈 區(qū)塊鏈技術(shù) 數(shù)字資產(chǎn) 數(shù)字貨幣錢包 數(shù)據(jù) 錢包