技术开发 频道

知名数字钱包爆安全漏洞:资产面临被盗风险

  【IT168 评论】加密数字货币资产的安全性完全建立在加密数字钱包私钥本身的安全性上,私钥是唯一的数字资产凭证。因为私钥一旦创建就不能修改,没法重置,只要私钥不丢失,资产就不会丢失。因此整个加密数字资产的安全性话题都是围绕私钥的存储和使用来进行的。对于目前移动端钱包所使用的轻钱包模式来说,用户终端私钥存储的安全性是非常核心和关键的问题,如果设计不当则有可能会导致私钥的流失、资产的被盗。

  基于猎豹移动发布的《2018全球加密数字货币钱包安全白皮书》内容,我们首先对市面上的数字钱包产品在私钥存储问题上进行了安全分析,发现Bitcoin Wallet 和 Jaxx Blockchain Wallet 两款产品在私钥存储中存在巨大的安全漏洞。

知名数字钱包爆安全漏洞:资产面临被盗风险

  Bitcoin Wallet 是一款非常著名的比特币的钱包,用户安装量超过了50万用户,而且有着良好的口碑。但是在分析的时候发现,Bitcoin Wallet助记词是以明文的方式存放在 系统的/data/data/com.bitcoin.mwallet /files/profile 文件里面的。

知名数字钱包爆安全漏洞:资产面临被盗风险

  也就是说Bitcoin Wallet已经完全将资产的安全性交给了系统来保护,但是我们知道系统本身是非常复杂的,而且充满了各种安全漏洞,只要利用一个漏洞就可以瞬间获取到Bitcoin Wallet钱包的助记词和私钥。例如:只要你的手机里面有任何APP利用漏洞拿到了系统的ROOT权限,那么这个APP就可以瞬间拿到钱包的助记词,导致数字资产可以随时被盗取,而上述动作是完全可以在后台发生的,用户完全不知道;更可怕的是,即使没有应用有ROOT权限,只需将手机的充电端口连接到黑客控制的充电设备也可以在几分钟时间内拿到钱包的助记词,导致数字资产可以随时被盗取。

  根据猎豹移动提供的白皮书,存储在用户设备里面的私钥/助记词是必须使用安全的加密方法进行加密的,Bitcoin Wallet 作为一款知名的数字钱包,因为未能正确的加密存储用户设备里面的钱包的私钥/助记词,已经让超过50万的用户面临极大的安全风险。

知名数字钱包爆安全漏洞:资产面临被盗风险

  Jaxx是另一个着名的移动加密货币钱包,具有大量功能,包括支持多种货币类型,以及最近添加的数字货币兑换平台,允许用户在钱包内兑换比特币,以太币和ERC20代币。

  在检查Jaxx的数据备份机制时,我们发现了重大的安全漏洞,比Bitcoin Wallet更严重。 事实上,存储在Jaxx中的私钥可以被黑客窃取,只需很少的努力。

  要获取JAXX的私钥文件,有2个步骤需要完成:1)获取存储私钥的数据文件;2)对存储私钥的数据文件进行解密

  步骤一:获取存储私钥的数据文件

  我们有2种方法可以获取存储私钥的数据文件:

  方法1)利用系统的备份机制,通过adb backup 命令或 BackupManagerService 提供的API,就能够把JAXX存储私钥的数据文件拿到手。这样的安全漏洞的产生,是因为 JAXX 开发团队忽略了 Android APP的一个重要的安全设置参数 android:allowBackup 的使用,没有正确的设置 android:allowBackup 参数而导致安全漏洞出现。在猎豹移动发布的2018加密货币数字钱包安全白皮书里面,数据备份的安全风险是一个很容易被人忽视的内容。

  方法2)利用系统漏洞,绕过系统的安全边界,拿到用于存储私钥的数据文件。

  步骤二:对存储私钥的数据文件进行解密

  JAXX 对存储私钥的数据文件使用了AES算法进行加密处理。在密钥长度满足一定条件且算法正常使用的情况下,AES加密以后的文件基本上是不可能被破解的。但是JAXX团队对于AES加密算法使用上存在重大错误,没有正确的使用AES加密算法。JAXX的AES加密用的关键参数是在代码硬编码的而不是按照一定安全规则随机生成,导致只需要通过简单的逆向分析能力就能够拿到AES加密参数,然后对存储私钥的数据文件的内容进行解密。下图显示了JAXX产品里面使用的固定的AES加密参数:

知名数字钱包爆安全漏洞:资产面临被盗风险

  在完成上述2个步骤以后,JAXX钱包的私钥文件就能够非常轻而易举的被攻击者拿到,而且能够轻而易举的解密出来。

  JAXX发布至今已经有超过10万用户在使用,而且最新的更新里面还增加了对交易所的支持,可见用户对于JAXX的喜爱还是很高的。但是因为没有使用正确的安全设计理论,导致了JAXX这10万用户已经处于极高的安全风险。

  猎豹移动发布的加密数字货币钱包安全白皮书,一方面是让用户更清楚的认识和了解数字货币钱包的安全性问题、提高警惕;另一方面通过提出数字货币钱包安全标准的方式促进行业内同类产品的安全升级,共同保护用户资产的安全性。我们相信Bitcoin Wallet产品团队和Jaxx Blockchain Wallet产品团队都能在短时间内完成漏洞的修复,但是因为私钥已经存在被泄露的风险,因此对于这2个产品的用户,应在开发商完成漏洞修补升级版本之前立即换用其他安全的加密数字钱包应用,例如猎豹移动发布的SafeWallet,并重新创建一个全新的钱包地址,通过转账的方式将旧地址的资产转移到新地址,最后将旧地址作废,只有这样才能确保数字资产的安全。

  2018全球加密数字货币钱包安全白皮书全文请见 https://wwwNaNcmbc.com/protocol/safe-wallet/white-paper/

0
相关文章