前言
區塊鏈技術的迅速發展,使得數字貨幣漸漸走入的大眾的視線,在2017年底,這股熱潮達到頂峰,直接攪動著金融市場與科技市場,大量的數字貨幣交易流水催生了數字錢包開發行業,根據錢包使用時的聯網狀態分為熱錢包和冷錢包。
隨著各種數字貨幣的誕生,為了方便用戶記錄地址和私鑰,官方會同時發布全節點錢包,例如Bitcoin Core,Parity錢包,同時也有一些第三方公司為了進一步提高用戶體驗,他們相繼開發了如比特派,imToken,AToken,幣信,幣包等錢包APP,它們并不同步所有的區塊數據,因此稱其為輕錢包,這兩種數字錢包都屬于熱錢包。冷錢包也稱為硬件錢包,常見的冷錢包有庫神錢包,Ledger Nano S,Trezor等,由于私鑰不接觸網絡,相對安全性也較高。不過由于業務場景的快速迭代以及推廣需求,無論熱錢包還是冷錢包都會有一些的安全隱患會被忽視。
近期,我們對應用市場上流通的熱錢包以及冷錢包進行了相關安全審核評估,發現了很多安全問題,360信息安全部依靠通過對各類攻擊威脅的深入分析及多年的安全大數據積累,旨在區塊鏈時代為數字貨幣錢包廠商提供安全性建議,保障廠商與用戶的安全,因此發布數字貨幣錢包安全白皮書為其作為參考。
一、錢包APP安全現狀
近期360安全團隊發現了國外某知名錢包APP的一個錢包不正確加密存儲漏洞,其錢包APP在第一次運行的時候,默認為用戶創建一個新錢包并將錢包文件未加密存儲在系統本地,攻擊者可以讀取存儲的錢包文件,通過對錢包應用逆向分析等技術手段,還原該錢包的算法邏輯,并由此直接恢復出用戶的助記詞以及根密鑰等敏感數據。
我們對目前熱門的近二十款錢包APP進行了安全分析,從應用運行開始,創建助記詞、備份數據、查看貨幣價值到進行交易,如下圖我們的模擬攻擊流程。
圖:1-1模擬黑客攻擊流程
由于數字貨幣交易的一個安全重點就是運行環境,Android是一個非常龐大而且復雜的系統,APP的運行環境,針對數字錢包本身的功能設計,都將存在很大的安全隱患,如下圖所示,我們將發現的安全風險較大的點進行歸納說明。
圖:1-2 Top5的安全隱患
我們可以看到,在無root下的截屏、錄屏可以將我們輸入的助記詞,交易密碼等信息進行得到;利用Janus簽名問題對APP進行偽造,將軟件植入惡意代碼,可以修改轉賬人地址等操作,這些都會令用戶的錢財受到損失。
二、審計熱錢包安全隱患
區塊鏈在造就無數財富神話的同時,伴隨著而來的,是一系列已經發生的區塊鏈攻擊事件。2017年11月,以太坊錢包Parity被爆漏洞,導致93萬個以太坊被凍結,價值2.8億美金。無獨有偶,2018年1月,日本最大比特幣交易所Coincheck被黑,價值5.3億美金的NEM被盜??梢?,力圖去中心化的區塊鏈金融,并不符合大眾腦海中科技安全的第一印象。我們將錢包APP分為APP端與服務端,分別進行說明。
1.審計錢包APP端安全隱患
基于我們對當前數字錢包APP的安全現狀分析,我們將發現的安全隱患進行歸納總結,如下文。
圖:2-1 APP端安全審核覆蓋范圍
1.1.運行環境安全檢測
1.1.1.手機系統漏洞掃描
錢包APP未對于手機當前系統版本進行檢測并做出相關,將導致已知漏洞對手機系統的損害,使得錢包APP容易被黑客控制權限,我們將掃描相關嚴重漏洞,判斷當前手機系統安全性。
1.1.2.Root環境檢測
錢包APP未對于手機環境進行root檢測,會導致APP運行在已root的手機上,使得APP相關核心執行過程被逆向調試分析,我們將會掃描root常見手段,來判定設備是否已被root。
1.1.3.APP完整性檢測
錢包APP未做完整性檢測,會導致黑客可以對APP重新打包植入惡意代碼,竊取用戶助記詞,私鑰等敏感信息,我們將進行模擬攻擊,對APP進行重打包,修改驗證機制來判定是否可利用此漏洞。
1.1.4.網絡代理檢測
APP在運行中,未檢測是否使用相關代理,將會導致協議交互過程中網絡數據被黑客監聽,我們將進行模擬黑客攻擊,確認是否安全。
1.1.5.網絡安全檢測
錢包APP未檢測驗證當前使用網絡的DNS是否安全,將會會存在被劫持的可能,導致一些網絡回傳的數據被黑客惡意修改,我們將通過技術手段模擬黑客攻擊,來確認是否安全。
1.2協議交互安全檢測
1.2.1.新用戶注冊安全
在安裝完APP后,新用戶需要進行注冊,才能使用錢包APP,在這個注冊過程中,如將用戶敏感信息上傳至服務器,會存在很大安全風險,比如傳輸過程或服務器上被黑客攻擊獲取注冊信息,我們將對網絡傳輸數據進行逆向分析,查看是否存在隱患。
1.2.2.創建交易安全
在用戶創建交易時,交易雙方的賬號如果沒有二次驗證,則容易導致收款賬戶信息被惡意替換后無法知道,導致用戶錢財損失問題,我們將會使用技術手段進行測試,驗證錢包APP是否存在此風險。
1.2.3.交易簽名安全
在交易創建后,發送正式簽名交易過程,如果相關協議設計不嚴格,會導致用戶財產受到損失,我們會對交易過程邏輯代碼進行逆向分析,查看是否存在相關安全隱患。
1.2.4.交易完畢確認
交易完畢后,如果未對交易內容進行確認,會導致使用戶清晰了解此次交易過程的記錄,在APP上無法記錄相關信息,無法查詢個人交易記錄,我們會對此過程進行分析,查看是否存在相關安全隱患。
1.2.5.余額查詢安全
錢包APP在進行余額查詢時,無論是從貨幣官方服務器,還是錢包廠商服務器進行的查詢,應嚴格對其返回給客戶端的數據進行完整性驗證,否則容意導致用戶APP數據接收虛假、異常信息,我們會對此流程進行確認,查看是否存在安全隱患。
1.3數據存儲安全檢測
1.3.1助記詞創建安全
新用戶使用錢包APP時,會生成助記詞要求用戶記錄,此過程是否有檢測截屏,錄屏等操作,如未進行安全檢測,將會導致錢包核心敏感信息泄露,用戶錢財損失。
1.3.2.助記詞存儲安全
助記詞生成后,如果會在本地保存,在本地保存時是明文存儲,將會導致黑客進行攻擊獲取用戶助記詞信息。如果是加密存儲,加密算法安全性不高,將會導致黑客可以逆向分析算法,將加密數據進行恢復明文,導致用戶助記詞信息泄露。我們會模擬黑客攻擊,檢測相關流程是否存在安全隱患。
1.3.3.私鑰生成安全
錢包APP在新用戶私鑰生成過程,相關算法如果可被逆向分析,會導致黑客模擬生成的私鑰,使用戶的錢財受到損失,我們將會模擬黑客攻擊,逆向分析相關算法,確認是否存在此安全隱患。
1.3.4.私鑰儲存安全
私鑰生成后,如果會在本地保存,在本地保存時是明文存儲,將會導致黑客進行攻擊獲取用戶私鑰信息。如果是加密存儲,加密算法安全性不高,將會導致黑客可以逆向分析算法,將加密數據進行恢復明文,導致用戶私鑰信息泄露。我們會模擬黑客攻擊,檢測相關流程是否存在安全隱患。
1.3.5.本地存儲數據敏感性檢測
在本地存儲數據時,是否會將敏感信息保存在本地,如果一些對用戶敏感的信息保存在本地,容易被攻擊者進行逆向分析,我們會對其進行逆向分析,查看本地是否存在敏感信息。
1.4功能設計安全檢測
1.4.1.導入錢包功能安全
用戶使用導入錢包的功能,是會將之前用戶存儲在系統中的私鑰直接恢復,恢復過程如果被監控,相關功能設計不嚴格,會導致在此過程被黑客攻擊,我們會模擬黑客攻擊,進行相關驗證。
1.4.2.交易密碼安全
交易密碼如果未檢測弱口令,將會導致黑客對密碼進行猜解,直接進行交易;交易密碼日字旁本地存儲,本地儲存加密不嚴格,則會導致黑客對其進行逆向分析,獲取到交易密碼,我們將模擬黑客攻擊,驗證此安全隱患是否存在。
1.4.3.用戶輸入安全
用戶輸入數據,如果功能設計不嚴格,將會被黑客監聽竊??;如果采用第三方鍵盤進行,未對用戶輸入邏輯做校驗,容易被黑客監聽獲取敏感信息,我們將會模擬黑客攻擊,查看相關流程是否嚴格,驗證此安全隱患是否存在。
1.4.4.轉賬地址安全檢測
錢包APP在輸入轉賬地址或掃描二維碼轉賬地址后,如果未檢測地址被篡改,保證轉賬地址完整,會導致用戶錢財受到損失,我們將會模擬黑客攻擊,查看相關流程是否存在安全隱患。
1.4.5.助記詞,私鑰網絡儲存安全
助記詞和私鑰應當禁止通過網絡傳輸回APP廠商,防止服務器被攻擊用戶數據與錢財被盜取,如果有相關回傳數據操作,容易導致用戶數據與錢財被盜。我們將逆向分析相關網絡協議,查看是否存在相關安全隱患。
1.4.6.https通信中的證書校驗
在數據網絡交互通信中,如果使用https,未對證書做嚴格的校驗,將會導致中間人劫持攻擊,黑客將數據替換,導致用戶在APP上收到虛假信息,我們將會模擬黑客攻擊,對此過程進行驗證,確認是否存在相關安全隱患。
2.審計錢包APP服務端安全隱患
服務端作為區塊鏈數字錢包的中心化對象,顯然已是黑客十分青睞的攻擊目標,安全是其健壯運行的核心基石。
基于我們對當前數字錢包服務端的安全現狀分析,我們將相關審計點進行歸納總結,并提供相關安全建議。
圖:2-2錢包APP服務端安全審核覆蓋范圍
2.1域名DNS安全檢測
2.1.1.域名注冊商安全檢測評估
對數字錢包所用域名注冊商,需進行評估,防止錢包域名被惡意社工篡改和攻擊。建議使用國內外排名靠前的域名注冊商。
2.1.2.域名記錄安全檢測
對數字錢包接口所用域名及其解析記錄,增改進行審核,并定期復查,防止被CNAME/NS/SOA劫持,做好權限管理和日志收集。數字錢包使用云CDN時,合理配置相關參數,避免子域劫持,域名前置,Web緩存欺騙等安全問題,同時選用業界安全性較好的CDN服務提供商。
2.1.3.DNS服務安全檢測
域名解析服務,錢包廠商自建的,做好上線前的審計和運行后的定期復查。使用第三方DNS解析服務的,建議一定要選用國內外大廠商,預防域名解析被惡意社工或利用漏洞篡改,或拒絕服務攻擊。合理配置DNS配置參數,預防偽造郵件,證書校驗,DNSSEC,高緯度攻擊BGP等安全問題。
2.1.4.TLD/gTLD安全檢測
建議使用org等頂級域名,不要選用小眾后綴域名,防止被惡意篡改和劫持上層記錄。如2017年6月,Matthew劫持io頂級域.
2.1.5.全網多節點DNS解析監測
選用排名靠前的第三方服務,使用全球不同節點對DNS記錄進行解析,監控解析結果是否正常,是否被污染篡改等。如遇大面積故障,協調多方及時應急響應。
2.1.6.證書安全
數字錢包內置證書時,選用20年等時間較長的證書,避免APP升級迭代后的兼容問題。同時建議選擇國內外知名證書機構簽發的證書,避免信任鏈牽連問題。
2.2主機實例安全檢測
2.2.1.口令安全
審計數字錢包所用服務口令強度,建議設置為強密碼,SSH類使用證書登陸,最好前置堡壘機。
2.2.2.系統安全
數字錢包服務端系統,高危漏洞及時更新,系統和內核等加固配置,減輕未知的漏洞,預防被攻擊后的提權和橫向滲透等操作。
2.2.3.訪問控制
數字錢包服務端在云上時,云安全組ACL是其第一道防線,嚴格限制出入站端口和ip的開放,避免高危和敏感服務暴露。同時,控制敏感服務出站流量。VPC是在云中預配置出一個邏輯隔離的環境,不要選用經典網絡等各租戶互通的網絡環境,預防阿里云租戶之前的經典網絡內網攻擊路線。數字錢包服務端系統,使用Iptables等保護系統相互隔離,控制資源僅可信域連接。
2.2.4.日志審計
搜集和保存數字錢包服務端各種日志,便于服務狀態監控,故障排查,被滲透后的溯源追蹤等。日志保存時間至少6個月以上。
2.2.5.冗余安全
對數字錢包核心系統進行冗余配置,保證服務的高可用。定期進行系統快照,核心數據備份等。檢測數字錢包賬戶下EBS(區塊存儲),RDS(云數據庫),AMI(主機鏡像)等所有快照和備份服務,嚴格保證其為私密權限,防止意外暴露。
2.2.6.云IAM授權檢測
如使用云IAM,因為IAM是云上對用戶權限,資源權限控制的一種服務,檢測數字錢包使用過程中的配置安全問題。妥善保管憑證,合理分配權限。
2.3服務端應用安全檢測
2.3.1.代碼安全
數字錢包APP代碼和服務端代碼,上線前進行進行安全審核,檢查通過后,允許上線。每次改動代碼后,也要進行安全復查,同時定期進行黑灰盒掃描測試。另外對代碼進行嚴格控制,防止上傳到Github等第三方代碼托管平臺。
2.3.2.服務應用安全
數字錢包服務端應用上線前,先進行安全加固,運行時保持低權限運行,同時定期監控,黑白盒掃描漏洞。
2.3.3.環境隔離
數字錢包不同功能的服務,建議模塊化運行,保持相互獨立且隔離,防止越權訪問和讀取數據,減輕被攻擊后的橫向滲透。
2.3.4.云存儲
數字錢包如使用類似Amazon S3的對象存儲服務時,嚴格控制權限問題,防止未授權可讀寫造成一系列安全問題。
三、審計冷錢包安全隱患
2018年,技術處于全球領先的硬件數字錢包制造商Ledger在完成7500萬美元的B輪融資后被爆出錢包設計存在缺陷,黑客可通過惡意軟件篡改錢包地址,并將數字貨幣轉給黑客。
硬件錢包目前也是使用趨勢,實際上是將密鑰保存在了硬件芯片當中,不過依然會存在很多安全風險,我們將從以下幾點說明。
圖:3-1冷錢包安全審核覆蓋范圍
1.設備系統安全機制
1.1硬件錢包是否存在聯網控制
設備在使用過程中,是否有聯網操作,是否全程隔絕物理網絡,如未做相關設計,黑客的攻擊面則會變大,導致設備更加容易被攻擊。
1.2硬件錢包系統安全檢測
設備是否保留藍牙,wifi,nfc相關近景協議模塊,是否有安全防護措施,是否有漏洞掃描。
1.3硬件錢包系統漏洞更新機制
如何設備存在漏洞,更新機制是如何進行的,在更新過程中,是設備與電腦進行連接刷機還是什么方式,如未校驗系統完整性,則導致更新刷入的系統無法控制,刷入黑客修改的惡意系統,對所有流程進行控制。
1.4設備丟失鎖定方案
是否有健全的機制對設備丟失模式進行判定,將設備鎖定,如未做相關設計,則容易導致用戶錢財受到損失。
2.設備訪問權限控制
2.1是否允許用戶對設備進行連接調試
對設備是否加入了嚴格的權限控制,防止攻擊者對設備進行連接調試,分析轉賬中功能實現部分,交易過程中本地數據讀取等。
2.2是否允許用戶對設備存儲區進行讀寫
對于設備存儲區,是否有做嚴格加密,對存儲區的權限控制是否嚴格,如不嚴格,則會被黑客進行拆機對存儲區做分析提取數據。
2.3是否允許用戶對設備內存進行轉儲分析
對設備被調試是否有做檢測,防止內存數據泄露,如未做相關設計,則會導致黑客進行數據采集和逆向分析。
2.4是否采用加密芯片
私鑰存儲是否采用加密芯片保存相關信息,運行系統和私鑰存儲是否分離,如未采用,則安全性相對會低。
3.業務功能實現機制
3.1設備使用密碼設置
是否提醒用戶設置解鎖密碼,解鎖手勢或指紋解鎖,錯誤密碼解鎖時間周期,設備交易密碼強度是否為較高,如未有完善的密碼設置控制,則在設備丟失后無法被人直接進入查看個人隱私信息,進行交易。
3.2創建錢包助記詞安全
新用戶使用錢包時創建助記詞,私鑰過程是否安全,是否本地保存,本地保存如何來做,如相關功能設計未考慮安全性,則會導致相關數據被逆向調試分析泄露,對用戶錢財造成損失。
3.3交易過程安全
對于收賬地址是否完全顯示,是否有驗證地址被修改,如未校驗,則容易使用戶轉賬轉錯,錢財受到損失。。
3.4數據存儲安全
有哪些數據是保存在存儲設備上,私鑰儲存方式如何,是否保存在設備存儲卡上,被外部獲取,如相關功能設計不完善,則容易被黑客攻擊。
3.5系統完整性安全
設備系統是否有嚴格的完整性校驗,用于自檢設備是否被人刷機,正品保障,否則容易在設備出廠經銷地方被黑客或攻擊者進行篡改。
四、總結
現階段,市面上有大量良莠不齊的數字貨幣錢包存在,而不少開發團隊在以業務優先的原則下,暫時對自身錢包產品的安全性并未做到足夠的防護,一旦出現安全性問題會導致大量用戶出現賬戶貨幣被盜,而由于數字貨幣實現的特殊性,被盜資產非常難以追回,因此錢包的安全性是至關重要的。我們團隊會不斷跟進錢包安全,為區塊鏈生態安全貢獻一份力量。
對于漏洞等級的相關說明,我們做了一下總結,如下表:
圖:4-1漏洞風險等級列表
人妻精品一区二区三区_好紧好湿好硬国产在线视频_亚洲精品无码mv在线观看_国内激情精品久久久責任編輯:韓希宇
免責聲明:
中國電子銀行網發布的專欄、投稿以及征文相關文章,其文字、圖片、視頻均來源于作者投稿或轉載自相關作品方;如涉及未經許可使用作品的問題,請您優先聯系我們(聯系郵箱:cebnet@cfca.com.cn,電話:400-880-9888),我們會第一時間核實,謝謝配合。