近期,CertiK发布了《2022年Web3.0行业安全报告》,在报告中我们可以看到2022年对于整个数字资产行业来说是艰难的一年。
2022年恶意行为者从Web3.0协议中盗取了价值超过37亿美元的资产,这个数字比2021年的13亿美元损失增加了189%。
这些资产被盗的原因大部分是由于网络钓鱼攻击中的私钥泄露或智能合约中的漏洞,但也有相当数量的资金是被盗于数字货币钱包。
这些钱包事件既影响了个人用户,如Fenbushi Capital的Bo Shen:4200万美元的数字货币资产被盗;也影响了大批用户群体,如Slope及Bitkeep钱包事件,影响了超过9000个用户账户。
然而这些事件中的一部分原本是可以避免的——因为这些漏洞可以在钱包安全评估中被发现。
CertiK在过去几年中已经保障了数百个钱包应用的安全。
在本文中,我们将重新审视2022年发生的与数字货币钱包相关的主要安全事件,并探讨其技术细节。
此外,我们将对我们在为客户的钱包应用程序进行研究和安全评估时发现的常见安全漏洞进行总结。文末我们将列出一些可供钱包用户参考的安全建议,以降低被黑风险。
~2022年主要的加密货币钱包相关事件~
Slope钱包
2022年最著名、影响最大的加密货币钱包安全事件源于Slope钱包对私钥的不当处理。
Slope钱包是一个非托管的数字货币钱包,适用于iOS和Android、Chrome浏览器的扩展。
它支持多个区块链,但主要活跃于Solana区块链。
2022年8月2日晚,价值约410万美元的资产在大约四个小时的时间里被从9231名用户的钱包地址中盗取。
在事件发生的前几个小时,当根本原因不明时,用户就已出现了恐慌,Solana区块链被黑的谣言也开始不胫而走。
在攻击发生的几小时后,一名推特用户发布了一张截图,显示了来自Slope移动钱包的HTTP流量(其中包含了该用户的助记词)。CertiK发现在导入钱包账户时,用户的助记词将被发送到Slope的Sentry日志服务器,任何有权访问日志的人都可以接管该账户并从该地址转移所有资产。
该攻击事件发生两周后,Slope钱包发布了“取证和事件响应报告”。
从报告中我们可以得知,2022年7月28日起,用户私钥就已经会被记录于数据库中,然而这一漏洞风险在经过安全审计或是内部审查后其实非常容易被发现。
发布报告后至今,Slope钱包团队未于社交媒体上再发表任何回应。
Profanity
Profanity是一个基于GPU的Vanity地址(靓号地址)生成工具,允许用户生成自己喜欢的Vanity自定义外部账户(EOA)和智能合约地址。
Profanity使用一个随机的种子数来将其扩展为初始私钥,并通过GPU根据初始私钥计算数百万个帐户,以此暴力创建满足用户要求的地址。
从技术上讲,Profity并不是一个钱包应用程序,但它确实有一个与几乎所有数字货币钱包通用的功能:生成钱包账户。
这就是由风险账户导致了恶劣后果的完美案例。
2022年9月15日,1Inch团队发表了一篇文章《以太坊vanity地址工具Profanity中披露的一个漏洞》,讲述Profanity工具使用不安全的种子,该工具生成账户的私钥可以被轻易破解。此后该漏洞首次引起了人们的注意。
五天后,即9月20日,最大数字资产做市商之一的Wintermute的一个钱包账户被黑,攻击者利用该账户从一个智能合约中提取了约1.625亿美元。
10月11日,QanxBridge的部署者账户被黑,攻击者利用该账户从Bridge上提取$Qanx并出售。多个攻击者同时也在区块链上积极寻找有漏洞的账户并窃取资金。
这类问题的根本原因在于,种子总数也许只有2^32(40亿)。不安全的种子和可逆的暴力过程使恢复使用该工具生成账户的私钥成为可能。CertiK成功开发了一个概念验证程序,并能够恢复Wintermute和Qanx部署者账户的私钥。
这样的事件并非独例。
2013年,Android系统的随机数生成器中,一个类似的漏洞被发现,影响了比特币钱包的创建。
密码学是一个复杂的领域,因此很容易犯下损害安全的错误。一条金科玉律就是“don't roll your own crypto”(不要从头开始建立一个加密函数。因为新的函数没有经过足够长时间的检验,它可能会存在诸多漏洞)。
幸运的是,大多数数字货币钱包在处理创建钱包账户时,都会使用如 "bip39"这样的既定的库。
MetaMask的iCloud备份
4月17日,被3000多万人用来存储和管理数字资产的主流加数字币钱包MetaMask警告其iOS用户,在Apple iCloud中存储钱包秘密存在潜在风险。
如助记词这样的钱包敏感信息在上传到iCloud时是加密的,但如果其所有者的Apple账户被泄露,且使用了低强度的密码,那他们的数字资产很可能会面临风险。
这一警告是由一次代价高昂的钓鱼攻击换来的。
在这次攻击中,推特账号为@revive_dom的用户Domenic Iacovone损失了大量的数字货币和非同质化token,总计价值约65万美金。
骗子假装是Apple公司的支持人员,借此获得了Iacovone的iCloud账户的访问权,并使用存储的MetaMask凭证耗尽了他的钱包,让他成为了这场社会工程攻击的受害者。钱包应将包含助记词的保管库存储于不会被iCloud备份的位置,如果这一点无法实现,应用程序也应警告用户:在创建账户时禁用iCloud备份以确保钱包安全。
SeaFlower
一个安全研究小组发现,有一个组织SeaFlower正在传播合法数字货币钱包的恶意版本(包括Coinbase Wallet、MetaMask、TokenPocket和imToken),会导致用户的助记词被通过后门窃取。这些修改过的钱包会按照预期运行,但允许攻击者通过使用窃取的助记词来获取用户的数字货币。
SeaFlower向尽可能多的用户传播数字货币钱包应用程序的木马版本是通过包括创建山寨网站和攻击搜索引擎优化(SEO)等各类方式实现的,或是通过社交媒体渠道、论坛和通过恶意广告推广这些应用程序,但其主要传播渠道是通过搜索服务。
研究人员发现,百度引擎的搜索结果尤其会受到SeaFlower的影响,将大量流量引向恶意网站。
在iOS设备上,攻击者可以通过滥用配置文件绕过安全保护以对恶意应用进行side-load——这些配置文件可将开发人员和设备链接到授权的开发团队,并允许设备用于测试应用程序代码,因此攻击者可以利用它们向设备添加恶意应用程序。
数字货币钱包应用的常见安全问题
-
钱包敏感信息被上传到服务器,或在服务器端生成钱包
最关键的风险之一是将钱包敏感信息上传到服务器或在服务器端生成钱包。对于非托管钱包,钱包敏感信息应存储于用户的设备中——即使它们是以加密的形式存在,这种高度敏感的数据仍可能会在传输过程中被截获,或者被泄露给能够访问服务器的数据库或日志的人。
-
不安全的存储
当敏感信息(如钱包密码和其它机密)以纯文本或在设备上的不安全位置存储时,就会出现安全风险。
这种情况包括Android上的外部存储或iOS上的“UserDefaults”。
当使用不安全的密钥派生函数来生成加密密钥时,或者当使用不安全的加密算法来保护数据时,也可能发生这种情况。
-
缺少对操作和运行环境的安全检查
除了安全地存储数据外,钱包应用程序还应该确保其运行的安全和底层运行环境的安全。这一类的一些常见问题包括缺乏root和越狱检测,无法阻止用户对钱包敏感信息进行截图、应用程序在后台运行时未能隐藏敏感信息,以及允许在敏感输入字段使用自定义键盘。
-
扩展钱包中缺乏对恶意网站的防范
大多数DApp都是Web应用程序,使用浏览器扩展钱包是最常见的交互方式。
然而,扩展钱包的一个共同问题是缺乏对恶意网站的防范。例如,一个不安全的钱包可能允许恶意网站获取用户的钱包账户信息,或在用户同意将其钱包连接到该网站之前接受交易签名请求;当从恶意网站接收恶意数据时,钱包可能会出现故障。
对钱包用户的建议
采取预防措施以保护你的数字资产并确保钱包使用安全非常重要。数字货币领域充满了黑客及欺诈者带来的风险。
下文是一份用户可以参考或遵循的建议清单,以减少被黑客攻击的可能性。
①选择符合安全标准的钱包。一些钱包可能存在漏洞,容易受到黑客攻击或其他安全漏洞的影响。请只使用经过安全公司安全测试、彻底检查潜在的漏洞且认为符合安全标准的钱包。
② 从官方的iOS商店和Google Play商店下载应用程序有助于确保你获取该应用程序的合法版本。
③保持设备更新十分重要,因为软件更新通常包括对已发现的漏洞的安全修复。④ 使用专门的手机或个人电脑来安装钱包应用程序,请勿使用日常工作的设备,这有助于降低被意外安装的恶意应用程序破坏的风险。⑤ 如果你持有大量的数字货币,并希望确保其尽可能安全,可以考虑使用硬件钱包。
写在最后
新Layer 1和Layer 2区块链正在持续发展,鉴于许多现有的钱包与这些新的区块链并不兼容,市场上将会推出更多的数字货币钱包。
尽可能地降低钱包的安全风险需要用户和钱包开发者共同的努力:用户需要遵循最佳实践并保持警惕以防止被黑客入侵;开发团队则需要编写安全的代码,并对其钱包应用进行安全审计。
原文出处:,不代表云顶量化立场,如有侵权,请联系删除
云顶量化是币圈专业量化策略团队,团队成员均有3年以上金融量化实战经验,主要针对比特币量化(BTC),以太坊量化(ETH),狗狗币(DOGE),SHIB等各种虚拟数字货币推出资金费率套利策略和合约趋势型量化机器人策略。经过长时间实盘测试,策略的稳定型,实用型,可行性都是顶尖水平。