主页 > imtoken下载中心 > 360 | 加密货币钱包APP安全威胁概述

360 | 加密货币钱包APP安全威胁概述

imtoken下载中心 2023-10-13 05:07:49

比特币哪里买安全_比特币放火币网安全吗_比特币软件安全吗

传送门:360 | 数字货币钱包安全白皮书

前言

随着区块链技术的普及,各种数字货币得到了极大的发展。 官方货币将发布自己的钱包应用程序,例如 Bitcoin Core 和 Parity。 为了进一步提升用户体验,第三方数字货币钱包也应运而生,如Bitpie、imToken、AToken等钱包APP,随着它们的出现,黑客也瞄准了这一领域。

2017年,智能合约公司Parity开发的数字货币钱包使用的多重签名技术被黑客发现存在漏洞,导致15.3万个以太币被盗,损失高达3260万美元。

2018年,全球领先的硬件数字货币钱包制造商Ledger在完成7500万美元的B轮融资后,被曝钱包设计存在缺陷。 黑客可以使用恶意软件篡改钱包地址并将数字货币转移给黑客。

2018年,比特币钱包被曝私钥存储不正确,黑客很容易获取私钥,还原用户助记词。

为了更准确地了解钱包APP的安全状况,我们近期对应用市场流通的热钱包和冷钱包进行了相关的安全审计和评估,发现了诸多安全问题,整理成相关文件在此发布帮助钱包APP厂商与用户共同认识和了解其中存在的安全风险,引起大家对安全的重视比特币软件安全吗,及时进行自查,避免造成损失。

数字货币钱包安全威胁

数字货币钱包的使用包括从软件启动到交易的一整套流程,这会涉及到很多业务场景,从传统软件APP功能如核心代码未加密,软件本身无验证,中间商数据劫持等,在钱包APP的业务场景中,危害会被放大,导致用户资金流失。 同时,针对钱包APP特有的业务场景,如助记词存储不安全、交易密码设置弱口令、币价走势数据更换等也会对用户使用安全造成极大危害钱包。 下面整理一下为我们发现的top5安全隐患。

比特币软件安全吗_比特币放火币网安全吗_比特币哪里买安全

1、助记词和交易密码泄露

比特币哪里买安全_比特币软件安全吗_比特币放火币网安全吗

比特派是由比特币官方推荐的第三方团队Bitpie开发的一款钱包应用,目前在Google Play上的安装量已超过10000。

比特币软件安全吗_比特币放火币网安全吗_比特币哪里买安全

我们在非Root环境下进行了录屏测试,发现助记词生成阶段无法录屏,但是在导入钱包时可以录入界面,这会导致助记词泄露,导致数字货币账户被封锁。 同时,我们发现输入交易密码时也存在录屏漏洞,观察按键顺序即可解除交易密码。

比特币哪里买安全_比特币放火币网安全吗_比特币软件安全吗

在钱包业务场景中,需要对相关敏感信息输入页面采取防截屏措施,比如在当前Activity页面添加属性WindowManager.LayoutParams.FLAG_SECURE,这样第三方程序会直接显示一个截图时黑屏,无法录制。

2.不安全的钱包APP运行环境

数字货币钱包APP的安全关键点之一就是运行环境。 Android 是一个非常庞大和复杂的系统。 我们在实际进行分析测试的时候发现,近四分之三的APP没有测试过相关环境,可以直接对APP进行逆向调试和HOOK注入比特币软件安全吗,分析APP的执行过程,动态分析加密和加密。解密算法过程。 我们发现近80%的钱包APP没有对运行环境进行安全检查,无法保障用户运行环境的安全,导致用户资金流失。

比特币软件安全吗_比特币放火币网安全吗_比特币哪里买安全

从上图360发布的中国手机安全状况报告可以看出,目前的安卓手机存在很多漏洞,导致应用运行时存在很多安全隐患,比如以下几点。

扫描移动漏洞

如果手机存在被公开的系统漏洞,则随时都有被黑客入侵的风险。 如果存在可以提权或获取助记词等敏感数据的漏洞,那么用户账号就会暴露在极其危险的境地。 环境危险,建议加入对已知Android系统漏洞的检测。

比特币哪里买安全_比特币软件安全吗_比特币放火币网安全吗

根环境检测

Android 实现了沙盒机制。 如果设备没有root,在沙箱的保护下,其他应用无法获取本应用的数据。 如果设备被root,我们无法保证运行环境的安全。 助记词极其重要 数据极有可能被恶意应用获取。

APP完整性检测

APP完整性是指是否被篡改,通常可以通过签名验证来实现,防止用户使用重新打包的应用。

网络代理检测

如果现在的网络使用了代理,在数据交换过程中可能会被第三方监听,导致数据泄露甚至敏感数据泄露。

针对上述关键点,我们在不同环境下进行了模拟攻击,发现近80%的APP并未对此采取安全防护措施。 我们可以利用Android系统漏洞、软件漏洞等进行攻击测试。 同时,在过去的一年里,挖矿木马、钱包APP劫持木马也开始大量出现,导致不少用户直接遭受财产损失。 因此,建议钱包厂商一定要重视这个问题,并使用相关的漏洞缓解措施。

3、交易密码被暴力破解

大多数数字货币钱包在第一次运行时都会提示用户是否创建新钱包。 用户创建新钱包后,数字货币钱包会通过一系列算法生成私钥。 通常情况下,不会显示私钥。 对于用户,会以助记词的形式提示用户备份钱包。 以下是某数字货币钱包的助记词界面。 该算法有一套行业标准,可以通过助记词推导出私钥。 然后从私钥中导出其他数据。

比特币软件安全吗_比特币哪里买安全_比特币放火币网安全吗

钱包初始化后,会提示用户输入一个交易密钥,用于交易前解密推导出私钥。 当交易发生时,将输入的交易密钥与算法结合计算出私钥,生成的私钥用于对交易进行签名。 如果数字货币钱包的交易密码设置不够牢固,很容易被暴力破解。 当交易密钥被强行破解后,整个钱包相当于一个没有任何保护的状态,任何人都可以访问钱包进行操作,包括转账等。

比特币哪里买安全_比特币放火币网安全吗_比特币软件安全吗

下面是一个不使用复杂密码的数字货币钱包,直接使用六位数字作为交易密码,不设置尝试次数,可以直接暴力破解进行交易。

比特币软件安全吗_比特币哪里买安全_比特币放火币网安全吗

建议在APP开发过程中,对用户输入的交易密码进行弱密码检测,同时添加字母或特殊符号,增加复杂度,保证密码安全。

4.钱包APP伪造漏洞

钱包APP被黑客逆向后,添加恶意代码,返回助记词等敏感信息,修改交易收款人地址,给用户造成直接的金钱损失。 因此,在使用钱包时,一定要到官方渠道下载。 同时,如果APP本身没有严格验证软件的完整性,也可能导致相关事件的发生。

2017年底出现的Janus签名漏洞可以直接应用在这个场景中。 修改Android应用后,可利用Janus漏洞对其进行特殊处理,绕过Android系统的签名验证,更新原应用。 Android系统一直采用V1签名验证。 当一个应用已经安装在系统中,更新时,会验证是否是同一个签名。 验签过程中,系统会默认读取一个ZIP文件,直接从更新包尾部读取数据。 执行更新文件时,会从头读取。 如果是Dex,直接进行操作,那么我们就可以得到最新版本的数字货币钱包安装包,修改如下:

取出Dex文件,植入恶意代码,将原安装包拼接到修改后的Dex中,并对拼接后的Dex文件头进行修复

然后更新的时候,从尾部读取数据,读取的是原来的APK,可以通过系统的签名来验证。 执行时,读取的是我们插入恶意代码后的Dex文件。 如果数字货币钱包被修改,植入恶意代码,如将所有转账地址替换为攻击者的收款地址。 如果用户使用虚假的数字货币钱包进行更新和转账,将造成不可估量的损失和后果。

在分析过程中,我们发现部分数字货币钱包仍然使用V1签名。 我们模拟攻击并生成带有恶意代码的应用程序。

比特币哪里买安全_比特币软件安全吗_比特币放火币网安全吗

虽然谷歌在收到漏洞后进行了修补,但并非所有手机厂商都会及时将补丁推送给用户。 推荐使用V1+V2签名方式对发布的应用进行签名,可以抵御伪造APP漏洞的攻击。

比特币哪里买安全_比特币软件安全吗_比特币放火币网安全吗

5.核心功能代码未加固

由于Android应用程序是用Java语言开发的,很容易被反编译出类似源代码的效果,无需加固。

比特币哪里买安全_比特币软件安全吗_比特币放火币网安全吗

它使用的Smali语言也比较容易掌握,所以在没有加固的情况下,数字货币钱包很容易被重新打包。 重新包装的效果和上面提到的伪造漏洞一样,给用户造成直接损失。 同时,关键信息的泄露也会让黑客更容易分析代码逻辑,利用相关算法提取助记词,逆向分析加解密过程,利用其他漏洞窃取助记词等。信息。

建议使用加固方案,对钱包APP中的关键功能代码进行加固,防止被黑客逆向分析,提高安全性。

6.钱包敏感信息存储不当

我们知道在数字货币的世界里,最重要的就是私钥,所以对于用户来说,数字货币钱包最关键的就是助记词,助记词可以推导出私钥。 因此,如果数字货币钱包在本地不当存储助记词或私钥,将是一个非常高的风险。 我们在分析一个钱包的时候,发现钱包APP会自动为当前客户端创建一个钱包,并且钱包存储在本地的方式不对,使得Root设备上的攻击者可以解码钱包文件,获取用户助记词、钱包私钥等钱包数据,下图是我们模拟的攻击过程,其中对随机生成的助记词进行了部分编码。

比特币哪里买安全_比特币放火币网安全吗_比特币软件安全吗

逆向后,我们编写数据解密和恢复的相关代码:

比特币哪里买安全_比特币放火币网安全吗_比特币软件安全吗

建议在开发过程中,一定要对本地存储的数据进行加密处理,防止数据泄露,直接造成用户资金损失。

比特币软件安全吗_比特币哪里买安全_比特币放火币网安全吗

7、网络数据交互被劫持和篡改

当用户通过数字货币钱包进行交易时,是否使用合适的加密算法对交易数据进行加密是衡量网络连接安全性的一个非常重要的维度。 不仅要注意它是否对数据进行了加密,还要注意是否使用助记词、私钥等数据回传给服务器。 当助记词等数据传回服务器时,意味着除了用户之外,还有其他人知道用户自己的助记词。 当存储助记词的服务器被黑时,极有可能导致账号被盗。

另外,当钱包具有交易功能时,对于当前币价的显示,在网络数据交互过程中,数据可能被劫持和篡改。 如下图所示,我们修改后的BTC、ETH、XRP的实时价格显示在用户的手机上。

比特币软件安全吗_比特币放火币网安全吗_比特币哪里买安全

这样,展示给用户的页面就是黑客想让用户看到的币价,间接诱导用户交易币种,推测某种币种的兑换价值,通过短时间内的大量交易。

在此过程中,建议厂商严格验证网络交互数据。 如果使用https,则需要对证书信息进行强校验,防止数据在传输过程中被篡改。

总结

现阶段,市场上数字货币钱包良莠不齐,很多开发团队本着业务至上的原则,对自家钱包产品的安全性没有做足够的保护。 一旦出现安全问题,将导致大量用户的账户货币被盗,而由于数字货币实施的特殊性,被盗资产追回难度很大。

希望钱包厂商在业务功能上多注意安全性。 一方面可以保护厂商的利益不受损失,另一方面也可以保护用户的钱不受损失。 关于本文档涉及钱包厂商安全审计的技术要点,我们发布了相关数字货币钱包安全白皮书文档,供大家参考。

团队介绍

360 Vulpecker Team隶属于360信息安全部,360信息安全部致力于保护内部安全和业务安全,抵御外部恶意网络攻击,逐步形成了一套属于自己的安全防御体系,积累了丰富的经验和经验安全运营和突发安全事件应急响应,建立了完善的安全应急响应体系,早发现安全威胁,早解决,保障安全。 技术能力处于行业领先水平,培养了众多明星安全团队和研究人员。 研究成果得到了微软、谷歌、苹果等国内外厂商的正式感谢,并多次受邀在国内外安全会议上发表演讲。 目前主要研究方向包括区块链安全、WEB安全、移动安全(Android、iOS)、网络安全、云安全、物联网安全等,基本涵盖了互联网安全的主要领域。

附录:

360数字货币钱包安全白皮书地址: