数字货币钱包安全白皮书

前言

区块链技术的迅速发展,使得数字货币渐渐走入的大众的视线,在2017年底,这股热潮达到顶峰,直接搅动着金融市场与科技市场,大量的数字货币交易流水催生了数字钱包开发行业, 根据钱包使用时的联网状态分为热钱包和冷钱包。

随着各种数字货币的诞生,为了方便用户记录地址和私钥,官方会同时发布全节点钱包,例如Bitcoin Core,Parity钱包 ,同时也有一些第三方公司为了进一步提高用户体验,他们相继开发了如比特派,imToken,AToken,币信,币包等钱包APP,它们并不同步所有的区块数据,因此称其为轻钱包,这两种数字钱包都属于热钱包。冷钱包也称为硬件钱包,常见的冷钱包有库神钱包,Ledger Nano S,Trezor等,由于私钥不接触网络,相对安全性也较高。不过由于业务场景的快速迭代以及推广需求,无论热钱包还是冷钱包都会有一些的安全隐患会被忽视。

近期,我们对应用市场上流通的热钱包以及冷钱包进行了相关安全审核评估,发现了很多安全问题,360信息安全部依靠通过对各类攻击威胁的深入分析及多年的安全大数据积累,旨在区块链时代为数字货币钱包厂商提供安全性建议,保障厂商与用户的安全,因此发布数字货币钱包安全报告为其作为参考。

一、 钱包APP安全现状

近期360安全团队发现了国外某知名钱包APP的一个钱包不正确加密存储漏洞,其钱包APP在第一次运行的时候,默认为用户创建一个新钱包并将钱包文件未加密存储在系统本地,攻击者可以读取存储的钱包文件,通过对钱包应用逆向分析等技术手段,还原该钱包的算法逻辑,并由此直接恢复出用户的助记词以及根密钥等敏感数据。

我们对目前热门的近二十款钱包APP进行了安全分析,从应用运行开始,创建助记词、备份数据、查看货币价值到进行交易,如下图我们的模拟攻击流程。

由于数字货币交易的一个安全重点就是运行环境,Android是一个非常庞大而且复杂的系统,APP的运行环境,针对数字钱包本身的功能设计,都将存在很大的安全隐患,如下图所示,我们将发现的安全风险较大的点进行归纳说明。

我们可以看到,在无root下的截屏、录屏可以将我们输入的助记词,交易密码等信息进行得到;利用Janus签名问题对APP进行伪造,将软件植入恶意代码,可以修改转账人地址等操作,这些都会令用户的钱财受到损失。

一、 审计热钱包安全隐患

区块链在造就无数财富神话的同时,伴随着而来的,是一系列已经发生的区块链攻击事件。2017年11月,以太坊钱包Parity被爆漏洞,导致93万个以太坊被冻结,价值2.8亿美金。无独有偶,2018年1月,日本最大比特币交易所Coincheck被黑,价值5.3亿美金的NEM被盗。可见,力图去中心化的区块链金融,并不符合大众脑海中科技安全的第一印象。我们将钱包APP分为APP端与服务端,分别进行说明。

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

基于我们对当前数字钱包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.1. 创建交易安全

在用户创建交易时,交易双方的账号如果没有二次验证,则容易导致收款账户信息被恶意替换后无法知道,导致用户钱财损失问题,我们将会使用技术手段进行测试,验证钱包APP是否存在此风险。

1.2.2. 交易签名安全

在交易创建后,发送正式签名交易过程,如果相关协议设计不严格,会导致用户财产受到损失,我们会对交易过程逻辑代码进行逆向分析,查看是否存在相关安全隐患。

1.2.3. 交易完毕确认

交易完毕后,如果未对交易内容进行确认,会导致使用户清晰了解此次交易过程的记录,在APP上无法记录相关信息,无法查询个人交易记录,我们会对此过程进行分析,查看是否存在相关安全隐患。

1.2.4. 余额查询安全

钱包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上收到虚假信息,我们将会模拟黑客攻击,对此过程进行验证,确认是否存在相关安全隐患。

二.审计钱包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轮融资后被爆出钱包设计存在缺陷,黑客可通过恶意软件篡改钱包地址,并将数字货币转给黑客。

硬件钱包目前也是使用趋势,实际上是将密钥保存在了硬件芯片当中,不过依然会存在很多安全风险,我们将从以下几点说明。

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 系统完整性安全

设备系统是否有严格的完整性校验,用于自检设备是否被人刷机,正品保障,否则容易在设备出厂经销地方被黑客或攻击者进行篡改。

四、总结

现阶段,市面上有大量良莠不齐的数字货币钱包存在,而不少开发团队在以业务优先的原则下,暂时对自身钱包产品的安全性并未做到足够的防护,一旦出现安全性问题会导致大量用户出现账户货币被盗,而由于数字货币实现的特殊性,被盗资产非常难以追回,因此钱包的安全性是至关重要的。我们团队会不断跟进钱包安全,为区块链生态安全贡献一份力量。

对于漏洞等级的相关说明,我们做了一下总结,如下表:

本文转载于黑白之道

原文地址:https://www.cnblogs.com/wushangguo/p/9090127.html

时间: 2024-07-30 21:47:46

数字货币钱包安全白皮书的相关文章

数字货币钱包入门之--极客钱包详解

什么是数字货币钱包数字货币这个概念我想大家应该不会陌生,尤其是2017年-2018年这两年,越来频繁的被提到,很多投资者.投机者大批涌入数字货币交易市场,这时候,针对这个日渐庞大的用户群体,数字货币钱包即成为币圈的刚需产品.数字货币钱包用来存储数字货币,但数字货币是基于区块链,是一个特殊的账本,因此数字货币钱包里并不装数字货币,装的是数字货币的密钥,有了密钥就可以拥有相应地址上的数字货币的支配权. "工欲善其事,必先利其器",好的数字货币钱包是安全保障,所以今天小编给大家推荐一款方便又

入坑币圈,你需要了解的数字货币钱包那些事儿

如果你刚刚入坑币圈,正欲入手数字货币,别着急,先静下心来看一看下面的内容,我猜一定会对你有所帮助. 一.什么是数字货币钱包 很多人说,数字货币钱包就是用来装数字货币的,通俗来讲这样理解没有问题,但实际上,数字货币钱包装的并不是数字货币,而是装密钥(私钥和公钥)的工具,有了密钥就可以拥有相应地址上的数字货币的支配权,利用钱包中生成的数字货币收款地址,可以接受他人给你转账的数字货币,也可以把你所拥有的数字货币转账给其他人.通俗来讲可以理解为用来存储和交易数字货币. 二.数字货币钱包的结构 1.地址:

数字货币钱包Vpay系统源码解析

清晨出门,"刷"开一辆共享单车骑到地铁站去上班:中午利用午休时间,在电子政务平台缴纳水电费:晚上回家,在外卖App购买热气腾腾的饭菜--根据中国互联网络信息中心(CNNIC)8月20日发布的第42次<中国互联网络发展状况统计报告>显示,截至2018年6月,我国网民规模为8.02亿,互联网普及率达57.7%:手机网民规模为7.88亿,占比达98.3%.随着互联网的发展,移动支付的运用也越来越广泛,所以数字货币也就发展开来. 数字货币的使用比电子银行复杂,因此更需要有一款好用的

fairpay数字货币钱包平台开发

fairpay钱包系统专业开发,找<董先生156微9242电2517同号>fairpay钱包APP系统开发.fairpay钱包余额流通系统开发.fairpay钱包系统fairpay钱包开发.fairpay钱包支付模式系统开发. 特别提示:本公司是软件开发公司,非平台方 fairpay手机钱包还具有以下八大优势:拆分(原始发行1000万)互助(买进卖出点对点匹配打款)分红(每天最底2‰释放)复利(放大倍增)虚拟币(区块链挖矿机制)数字资产(低进高出炒币)资产证券化(最高释VPAY钱包规则 [余额

第6讲 | 理解区块链之前,先上手体验一把数字货币

初次接触到区块链的你,肯定是一头雾水:“区块链是什么,这玩意到底怎么回事”. 其实对于区块链的原理,你大可不必着急,咱们可以直接上手体验一下目前区块链的第一大应用:数字货币. 本篇的内容面向所有区块链的小白,我会教你如何使用数字货币,来帮你从另外一个维度理解区块链技术. 本篇内容包括但不限于:数字货币钱包介绍.下载安装.转账.数字货币交易所充币.提币等等. 首次接触数字货币 区块链其实是从生产者的角度讨论一个抽象出来的概念.如果把区块链比作车辆设计图纸,那么数字货币就是正在跑的汽车.所以理解区块

关于央行数字货币DCEP的几个特点的思考(转)

近期,央行即将推出数字货币,无论在金融领域还是在资本市场,央行数字货币这一话题都被炒的很火热.央行研发的数字货币叫做DCEP(DC,DigitalCurrency,是数字货币:EP,ElectronicPayment,是电子支付),既有数字货币内涵.也有支付工具的内涵. 对于全球首个以国家中央银行名义官方发行的数字货币,我们应该如何看待,未来推出以后,可能存在哪些风险,可能会对现有的支付结算以及金融领域带来哪些挑战和机遇,这些问题都很值得思考和研究,本文谈谈我个人的一些想法和疑问. 从官方的一些

Sky Token钱包介绍区块链数字货币系统开发

SKY Token钱包区块链数字货币系统开发(梁经理159-2054-0260微/电)SKY Token钱包智能搬砖套利系统开发 SKY Token钱包区块链数字货币系统开发(梁经理159-2054-0260微/电)SKY Token钱包智能搬砖套利系统开发. 特别提示:本公司是软件开发公司,非平台方 Sky Token钱包介绍 1.支持BTC ETH EOS等多币种储存钱包随存随取 2.看得到的高频量化搬砖交易套利,每天sky到账! 3.SKY币的应用将成为跨境支付通币. 4.SKY币会一直增

交易所系统开发数字货币区块链的未来

代币交易所系统开发系统开发, 代币交易所系统开发软件定制,代币交易所app开发,维137-电9025-2同号557 开发区块链商城系统,数字资产钱包系统,区块链交易平台,区块链白皮书撰写,区块链应用,区块链游戏挖矿矿机系统开发.专业区块链技术系统开发团队 近年来,数字货币区块链开发逐渐发展成为一大热点,特别是在刚刚进入的2018年里,"区块链"这一概念更是在商界频繁出现.那么区块链到底是什么?为什么如此受企业家.资本家的关注? 2018年,一场轰轰烈烈的"数字货币区块链开发运

区块链数字资产钱包系统开发

区块链代币商城app开发找卢先生[l36可微→3lO6电→l7l4],区块链代币系统开发,数字资产钱包系统,区块链交易平台,区块链白皮书撰写,区块链应用,区块链游戏挖矿矿机系统开发.专业区块链技术系统开发团队 专业开发区块链商城系统,数字资产钱包系统,区块链交易平台,区块链白皮书撰写,区块链应用,区块链游戏挖矿矿机系统开发.专业区块链技术系统广州开发团队 新零售正在突破传统的零售模式,并非只是单一个新奇点,也不是仅仅区分为线上线下的整合,而是糅合优势的互补作用.2018,应该是新零售最活跃的一年