TokenPocketのフラッシュ交換サービスプロバイダーがハッキングされました。あなたが開通した「無限権限」がいくつあるかをすぐに確認してください。

OdailyNews
2022-10-02 12:28:38
コレクション
超2100万ドルが盗まれた、すべてのweb3ユーザーはこの記事を読むべきだ。

著者:Loopy Lu、星球日报 Odaily

今日、クロスチェーン DEX アグリゲーター Transit Swap が攻撃を受け、多くのユーザーの資金がウォレットから引き出されました。 現在までに、損失は 2100 万ドルを超えると予想されています。

盗難が発覚した後、Transit Swap の技術チームは緊急にサービスを停止し、契約は完全に停止され、操作はできなくなりました。発表前に Transit Swap の公式は、以前のハッキング事件の原因はコードのエラーであると発表し、現在ハッカーの IP、メールアドレス、および関連するチェーン上のアドレスが特定されています。Transit Swap チームは、ハッカーを追跡し、ユーザーの損失を回復するためにハッカーと連絡を試みると述べています。

さらに、セキュリティチームの PeckShield は、ハッカーの資金の流れを確認しました。

image

以前の盗難事件とは異なり、Transit Swap は TokenPocket ウォレットのスワップサービスプロバイダーです。これにより、多くのユーザーは「無感覚での盗難」というスムーズな体験を実現し、ウォレットのバックアップによる便利な「スワップ」サービスにもかかわらず、盗難のリスクが存在することを再確認させられました。

スワップとは?

現在、ほぼすべてのウォレットには DeFi 機能が組み込まれており、一部のウォレットは使いやすさを考慮して「スワップ」という概念を創造し、適用しています。

スワップとは、ウォレットと深く統合され、製品内により明確な独立した入口、簡素化された操作プロセス、より便利な操作を持つことを指します。スワップを使用することで、ユーザーは暗号資産の取引を簡単かつ迅速に完了できます。たとえば、「Approve」操作は通常、取引プロセスにワンクリックで統合されており、ユーザーはほとんど意識しません。

また、ウォレットに組み込まれているため、ユーザーはそれに対して自然に信頼を持ち、ある程度防止意識が低下します。しかし、本質的には、ウォレットアプリに統合された DEX であり、他の DEX と何ら変わりありません。これも今回のセキュリティ事件にリスクを残しました。

契約の承認にはどれほどのリスクが潜んでいるのか?

「誰もあなたの暗号資産を強制的に奪うことはできない」というのは、投資家がブロックチェーンの特性について持つ広く共有された合意です。チェーン上の資産は一度ウォレットに所有されると、強制的に移転する手段はありません。しかし、私たちが DEX を使用してチェーン上で取引を行うとき、DEX はどのようにしてある資産を奪い、別の資産に移転するのでしょうか?

承認がすべての鍵となります。ユーザーは DEX で資産を売却する前に、「Approve」操作を実行する必要があります。この操作の後、契約はユーザーの特定のトークンを使用する権限を持つことになります。

あるいは、より率直に説明すると、あなたが承認を行う限り、ウォレットを開く必要も、操作を実行する必要も、秘密鍵も必要なく、その契約はあなたの許可なしに、あなたが承認した資産を支配することができます。これはイーサリアムのメカニズムと承認モデルによって決定されており、プロジェクト側の倫理や安全規範、コード監査とは無関係です。

監査=安全?

承認後、契約は暗号資産を移転する能力を持ちますが、その能力は合理的な範囲内で使用される限り、安全です。そして、信頼できる安全機関による監査を受けた場合、その能力が悪用されず、ユーザーが取引を行う際に必要な資産のみが移転されることを意味するのでしょうか?

静的に見れば、この論理は成立します。たとえば、Uniswap はユーザーのウォレットをいつでも空にする能力を持っていますが、実際にはそうすることはありません。しかし、動的に見れば、この論理は依然として危険です。

現代のソフトウェア開発において、アップグレードは欠かせない能力です。スマートコントラクトも同様です。Solidity スマートコントラクトには、Transparent と UUPS の 2 つのアップグレード方法があり、これらの機能を利用することで、契約の代理とアップグレードは業界の標準となっています。

プロジェクト側はどのように契約をアップグレードするのでしょうか?通常、ユーザーがアクセスする契約は、ビジネスロジックのコア契約を直接運営するものではなく、「代理契約」であり、代理契約はユーザーのリクエストを受け取った後、それをコアのビジネス契約に転送し、ビジネス契約が処理します。そして、契約のアップグレードは、簡単に言えば、スマートコントラクトは変更できませんが、ユーザーが最終的にアクセスするビジネスロジックを運営する契約は置き換え可能です。これも業界の一般的な慣行です。

そして、最も安全な契約であっても、「契約のアップグレード」を行うと、そのビジネス契約は変更され、以前の監査報告書は無効になります。

簡単に言えば、今日あなたが相互作用している契約は安全ですが、明日同じプロジェクトにアクセスすると、その安全性が根本的に変わっている可能性があります。契約(または攻撃契約のハッカー)は、依然としてあなたが承認したすべての資産を移転する能力を持っているかもしれません。

無限承認はどれほど危険か?

幸いなことに、承認はユーザーがウォレットを空にされる危険に常にさらされることを意味しません。承認メカニズムにはもう一つ重要なルールがあり、それは承認には数量が含まれることです。ユーザーは「Approve」契約に一定数量のトークンを承認し、契約は最大でその数量しか使用できません。たとえウォレットにそのトークンがさらに多くあっても、契約はそれを使用できません。

しかし危険なのは、大多数の DeFi 契約がユーザーに「無限承認」を無遠慮に要求することです。つまり、デフォルトでは、ユーザーが承認するトークンの数量は無限です。

image

典型的な「無限承認」操作、承認金額は 10 の 59 乗の数量級に達する

ユーザーはどのように防ぐべきか?

承認がなければ安全リスクはありません。チェーン上の操作を実行する際、「どれだけ使うか、どれだけ承認するか」という原則に従うべきです。もし私が 1000 TOKEN を売却するだけであれば、Approve 金額を 1000 に手動で変更すべきです。契約の移転金額は累積されるため、もし 1000 を承認し、今回の金額がちょうど 1000 であれば、契約の承認額はちょうど使い果たされます。将来的に契約に安全リスクが発生しても、ユーザーのウォレットからは何も資産を移転できなくなります。

image

ユーザーは承認金額を手動で変更できます

すでに承認されたユーザーは、承認をキャンセルする操作を開始することもできます。(興味深い点は、イーサリアムは「承認キャンセル」をサポートしておらず、この操作は本質的に契約に「0」金額の承認を与えることです。)

一般的な承認キャンセルサイトは以下の通りです(セキュリティ会社の漫雾推奨):

  1. Dappstar:https://tac.dappstar.io/#/

  2. Revoke:https://revoke.cash/

  3. Approved.zone:https://approved.zone/

  4. Rabby Wallet

さらに、一部のブロックチェーンブラウザもユーザーが承認を確認し、キャンセルすることをサポートしています。

https://cn.etherscan.com/tokenapprovalchecker

https://bscscan.com/tokenapprovalchecker

DeFi の盗難、誰の責任か?

「暗黒の森」は、チェーン上の秩序に関する広く知られた叙述であり、ユーザーにこの世界の危険性と高リスクを警告しています。しかし、このような安全事件が繰り返し発生する中で、本当にすべての責任をユーザーの安全意識に帰することができるのでしょうか?

このような事件において、DeFi プロジェクトがユーザーに対して無制限に承認を要求することが、リスクの最初の原因です。ほぼすべてのプロジェクトは、承認を要求する際のデフォルトオプションが無限承認です。ユーザーが手動で変更できるとはいえ、責任ある市場は投資家保護とユーザー教育の責任を負うべきです。

今でも、どれだけの暗号ユーザーが承認の危険性を理解していないのでしょうか?このような環境の中で、プロジェクト側は依然として非常に危険な無限承認を要求しています。

DeFi における承認の乱用はすでに業界の慣行となっており、この高リスクの状況はすべてのユーザーの資産に危険を及ぼしています。その影響は深遠で広範囲にわたり、リスクの大きさは他の安全リスクと比べても比類がないでしょう。このリスクは「誰もウォレットの中のコインを奪うことはできない」という素朴な直感に根本的に反しています。これも業界が常に直面しなければならないリスクと挑戦です。

盗難事件が発生した後、神魚は Twitter で呼びかけました。「プロジェクト側に承認機能の使用を規範化し、必要な分だけ承認し、無限承認を避けるよう呼びかけます。みんなが安心できるように。」

分散型は機会とリスクに満ちています。暗号技術の最初のビジョンを覚えていますか?「あなたの資産を保護し、誰もあなたのウォレットの中の暗号通貨を奪うことはできない。」健全な秩序を築くためには、複雑なコードや難解な概念ではなく、すべての普通のユーザーが安全に暗号技術を使用できるようにするために、業界のすべての参加者の共同の努力が必要です。

ChainCatcherは、広大な読者の皆様に対し、ブロックチェーンを理性的に見るよう呼びかけ、リスク意識を向上させ、各種仮想トークンの発行や投機に注意することを提唱します。当サイト内の全てのコンテンツは市場情報や関係者の見解であり、何らかの投資助言として扱われるものではありません。万が一不適切な内容が含まれていた場合は「通報」することができます。私たちは迅速に対処いたします。
チェーンキャッチャー イノベーターとともにWeb3の世界を構築する