数字货币钱包安全白皮书/钱包APP安全现状

2018-09-10 23:15 未知

区块链技术的迅速发展,使得数字货币渐渐走入的大众的视线,在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万个以太坊被冻结,价值亿美金。无独有偶,2018年1月,日本最大比特币交易所 Coincheck被黑,价值亿美金的NEM被盗。可见,力图去中心化的区块链金融,并不符合大众脑海中科技安全的第一印象。我们将钱包APP分为APP端与服务端,分别进行说明。

1.审计钱包APP端安全隐患

基于我们对当前数字钱包APP的安全现状分析,我们将发现的安全隐患进行归纳总结,如下文。

图:2-1 APP端安全审核覆盖范围

. 运行环境安全检测

.1. 手机系统漏洞扫描

钱包APP未对于手机当前系统版本进行检测并做出相关,将导致已知漏洞对手机系统的损害,使得钱包APP容易被黑客控制权限,我们将扫描相关严重漏洞,判断当前手机系统安全性。

.2. Root环境检测

钱包APP未对于手机环境进行root检测,会导致APP运行在已root的手机上,使得APP相关核心执行过程被逆向调试分析,我们将会扫描root常见手段,来判定设备是否已被root。

.3. APP完整性检测

钱包APP未做完整性检测,会导致黑客可以对APP重新打包植入恶意代码,窃取用户助记词,私钥等敏感信息,我们将进行模拟攻击,对APP进行重打包,修改验证机制来判定是否可利用此漏洞。

收藏 举报

延伸 · 阅读