複製私鑰反被盜,地址轉賬反丟幣,區塊鏈C端資料安全如何保障?近期,以太坊著名的瀏覽器擴充套件外掛MetaMask被暴出現隱私洩漏的安全問題,可能讓使用者的以太坊地址在不知情的情況下被DApp開發方等第三方獲得,事實上,MetaMask的問題本質上是私有資料許可權過度開放的問題,為了使用者體驗而做了安全上的犧牲。類似的問題在Android App端也同樣存在,特別在數字錢包、交易所這樣的App使用中危害可能更大。
北京鏈安安全專家C00lMan介紹瞭如下場景:比如,當我們備份私鑰,或者透過錢包地址進行轉賬時,需要把私鑰資訊或地址資訊傳輸給其他App。大部分錢包App此時的策略是透過Android系統的剪貼簿作為資料的傳輸媒介,這樣做真的安全嗎?答案是:不安全。
(Android系統剪貼簿框架)
Android系統裡的所有App都可以透過系統剪貼簿進行復制、貼上,而儲存在剪貼簿裡的資料,所有的App都可以訪問。一個App只要透過系統自帶的介面,註冊一個監聽事件,當有新的資料儲存到剪貼簿時,這個App就能第一時間知道複製的資料是什麼。
(註冊剪貼簿監聽事件函式)
試想一下,如果此時你在錢包App裡複製了你的私鑰資料,註冊了監聽事件的App就能竊取你的私鑰資訊。
(錢包複製私鑰介面)
上圖為數字錢包匯出私鑰介面,說明了私鑰儲存需要注意的一系列安全提示,由於本文旨在說明安卓系統剪貼簿的安全性問題,故對可能體現具體錢包品牌特徵的介面做遮蔽處理。事實上,當你選擇複製私鑰的似乎,就觸發了剪貼簿監聽事件。
(竊取私鑰攻擊示例)
上圖可見,這一事件被監聽後,我們可以讀取剪貼簿的內容,竊取私鑰,讓你的資產陷入極度危險的狀況。
甚至,剪貼簿中的內容還可以進一步修改,比如假設你複製的是轉賬目標地址,這個App可以透過先清空剪貼簿所有的資料,然後寫一個假的轉賬地址到剪貼簿裡,這樣當你透過系統的“貼上”功能去輸入轉賬地址時,你其實輸入的已經是一個假的地址,這時候就造成了釣魚攻擊,你轉賬的資金就被駭客竊取了,而這一切都是在神不知鬼不覺中完成的。
由此可見,剪貼簿在應用之間共享資料帶來了一定的便利性,但重要的資料是否應該透過剪貼簿來傳輸呢?如何在保證便利性的同時,更好地保證使用者重要資料的安全性呢?
對此,我們實際上可以採用一種安全資料剪貼簿的方案。
據北京鏈安手機安全專家Zer0dMan介紹,在安全沙盒技術中,我們可以透過專門的安全技術將使用者複製的資料進行高強度加密後儲存到安全容器建立的一塊記憶體區域中,該區域是與系統剪貼簿隔離的,只有在安全沙盒中啟動的區塊鏈App才可以使用,而在沙盒之外的應用對此區域都無權訪問。這種解決方案既保證了使用者資料的安全,也達到了良好的使用者體驗效果。