以太坊DApp安全漏洞:授权访问可能导致资产风险
您是否曾将以太坊去中心化应用(DApp)连接到您的加密钱包?虽然您可能未曾遇到过未经授权访问代币的问题,但根据ZenGo的研究,一些去中心化应用和钱包却为这种风险敞开了大门。
广泛存在的授权漏洞
ZenGo——一家无密钥加密钱包制造商——在最新发布的文章中详细描述了该公司声称在DApp中普遍存在的安全漏洞。据ZenGo介绍,当某些DApp请求批准特定数量的交易时,用户实际上授权的是访问该代币的全部持有量。如果攻击者通过安全漏洞获得访问权限,或者DApp来自恶意来源,这些持有量可能会被再次访问,而无需进一步授权。
"几乎在每一个DApp中,当用户连接到它时,他们会在不知情的情况下向与DApp关联的智能合约提供对其所有资金的完全访问权限,而不管实际使用情况如何,"文章中指出。"因此,即使用户实际只发送了相当于1美元的交易,滥用智能合约漏洞的攻击者也可以提取用户持有的该特定资产的全部余额。更严重的是,许多钱包并没有向用户说明这一事实。"
baDAPProve漏洞的发现
ZenGo将这个漏洞称为"baDAPProve",并声称在研究包括Opera、imToken和Trust Wallet在内的钱包时遇到了此类问题——这些钱包都没有向用户明确说明他们正在允许访问特定代币的全部持有量。该公司使用测试网创建了一个交互式演示来展示这个问题。据ZenGo称,当他们向这些公司反映该问题时,虽然三家公司都知晓情况,但"只有Trust Wallet计划根据我们的调查结果升级他们的钱包"。
解决方案的提出
最终,ZenGo为其新推出的基于Compound的ZenGo储蓄功能实施了一个解决方案,并发布了一个可供其他应用程序使用的修复程序——即使是不使用Compound的应用程序也可以使用。该解决方案批准与计划发送金额完全相同的额度,用户只需在同时发送两笔交易之前批准一次。该公司不久将发布技术博客,为开发者提供更多细节。
"在用户稀缺且技术性强的时代,一些安全妥协可能是可以接受的,但当#DeFi走向主流,获得许多非技术用户,并处理数十亿美元(USD)的加密代币时,这些妥协就不再可接受了,"该公司在推特上表示。