バイナンスが出金を停止したのに、なぜオンチェーンではまだETHが送金されたのか?答えはEIP-7702にある

昨夜発表されたバイナンスの10/29事件に関する初期調査報告書には、多くの人が見落としている点があります。出金停止後も、資産が動いていたのです。その原因は、EIP-7702というイーサリアムの仕組みにあります。

まず、EIP-7702とは何でしょうか。
通常のアドレス(EOA)が、秘密鍵を渡すことなく、実行権限の一部をスマートコントラクトに「委任」できる仕組みです。本来は、まとめて操作したり、手数料を肩代わりしたりと、ウォレットの機能を拡張するためのものです。

バイナンスの報告書によると、今回起きたことは次のとおりです。
1. 攻撃者はまず、内部ウォレットの署名サービスを利用する権限を手に入れました。
2. 署名サービスを使って50件の署名済みトランザクションを送信し、アカウントのnonceを操作。悪意のある委任承認を設定し、攻撃者が管理するコントラクトに、バイナンスのホットウォレットの実行権限の一部を与えました。
3. バイナンスはすぐに出金を停止し、提携先と連携して資産を凍結するとともに、承認の取り消しに着手しました。しかし報告書には、出金停止だけではすべての不正な送金を防げなかったと記されています。これらのEIP-7702承認はすでにオンチェーンにあり、バイナンスの通常の出金システムとは独立して機能していたためです。
4. さらに厄介な点がありました。ホットウォレットにはMPC(マルチパーティ計算)が使われており、すぐに承認を取り消せる単独の秘密鍵がありませんでした。専用の手順を開発する必要があり、時間がかかりました。
5. 最後の2,961.9 ETHは10/29 23:56(UTC)にオンチェーンで承認されました。これはそれ以前にブロードキャストされ、未処理のまま残っていたトランザクションです。10/30 00:10(UTC)、バイナンスはBinance14ホットウォレットの承認先をゼロアドレスに変更し、委任コードを削除しました。

誤解のないように補足すると、報告書にあるBTC、XRP、SOL、OPは、署名サービスを通じてホットウォレットから直接送金されました。EIP-7702が関係していたのは、イーサリアムのホットウォレットに関する部分だけです。「すべての通貨が7702によって盗まれた」と理解しないでください。

身も蓋もない言い方をすれば、バックエンドでオフにしたスイッチでは、すでにオンチェーンで署名された承認までは止められません。

一般ユーザーができることを一つ挙げるなら、ブロックエクスプローラーやウォレットで、自分のアドレスに見覚えのない承認や委任がないか定期的に確認することです。見覚えのないものは取り消しましょう。

自分のウォレットの承認を確認したことはありますか?

#以太坊 #EIP7702 #钱包安全 #科普 $ETH