Technologie & IA
币安被盗事件:以太坊代码委托揭示了什么
分析人员描述了币安钱包使用EIP-7702的情况。观察到的机制能解释部分执行过程,但不能单独确定最初入侵是如何发生的。
张俊编辑笔名
授权可以改变账户的执行功能
对币安被盗事件的分析涉及以太坊的一项功能:EIP-7702允许普通账户指定它将执行的代码。这种委托需要相关账户签署授权。它可以为钱包增加可编程功能,但实际效果取决于所选择的程序。在Hacken及其他分析人员研究的案例中,被标记为Binance 14的账户被关联到一个旨在将资产转给攻击者的程序。
规范说明,委托可以在安装它的交易结束后继续存在。因此,钱包不会在首次执行后自动恢复原先行为。这使撤销或替换授权具有特别意义。但这并不表示所有采用此功能的应用都遭到入侵:风险取决于被授权的代码以及签名如何取得。EIP-7702也不应被简单描述成一种多重签名协议。
账户计数器解释了连续授权
Hacken报告发现了50份授权,对应钱包计数器的一系列连续取值。这个计数器通常称为nonce,可用于排列账户操作的顺序。只有在条件与预期状态相符时,授权才适用。对于频繁使用的运营钱包,准备与执行之间的状态可能发生变化。连续取值因而增加了遇到正确值的机会,但这并不能证明网络验证规则被绕过,或签名被伪造。
这一过程并不能解释事件中的所有转账。分析区分了以太坊上观察到的委托,以及其他网络和其他钱包发出的普通签名转账。如果将整个攻击归结为这一项功能,就会忽略其跨链维度。公开记录可以显示哪些操作得到授权并被执行,却不能直接揭示币安系统的内部组织、此前获得的访问权限,或本应阻止恶意指令的全部审批过程。
有效签名不能揭示整个入侵过程
被提取的私钥与遭到劫持的合法签名系统,都可能生成具有有效签名的交易。区块链可以验证签名有效性,却不能自动在这两种情形之间作出判断。币安表示,调查现阶段尚未发现私钥泄露的证据。必须保留这句话的有限含义:它描述运营方的初步调查结论,不能将未公布证据等同于已经最终证明内部系统究竟发生了什么。
完整技术报告需要将公开观察与内部证据联系起来,包括访问来源、取得的权限、签名流程和提现控制。在此之前,可以解释所使用的委托,以及授权程序代表账户执行操作的风险,而不把尚未证实的漏洞归于以太坊协议。核心问题仍是必要授权如何被取得。理解其用途有助于重建执行过程,但不能取代识别最初原因,也不能替代对所有调查假设的核验。