主なポイント
Web3 の世界では、無制限の承認を与えると、スマート コントラクトの欠陥やソーシャル エンジニアリングを通じてハッカーが悪用できる脆弱性が生じます。
資産への不正アクセスを防ぐために、定期的に承認を確認し、不要な承認を取り消してください。
Binance Web3 Wallet などのツールを使用して資金を保護し、Web3 のセキュリティ リスクに関する最新情報を常に把握してください。
分散型金融の世界では、承認を 1 回見落とすと、どのような損失が発生するでしょうか。スマート コントラクトはトランザクションを簡素化できますが、これらのインタラクションは、特にユーザーが第三者に無制限に資金にアクセスして管理する権限を与える場合に、固有のセキュリティ リスクももたらします。前回のブログでは、スマート コントラクトと外部所有アカウント (EOA) の承認のリスクについて説明しました。この記事では、Ethereum Virtual Machine (EVM) チェーンに特有の追加の承認リスクと、これらの脅威から資産を保護する方法について詳しく説明します。
EVMにおける承認リスクの理解
多くのユーザーは、有名または監査済みのプロジェクトとやり取りすることが、資金が完全に安全であることを保証すると思っています。しかし、特に分散型のスペースでは、最も注意深く設計されたプロジェクトでさえ、ハッキングに免疫ではありません。無制限の承認は、過去に信頼していたアプリケーションやプラットフォームが侵害された場合に、スマートコントラクトがウォレットの資産に無制限にアクセスできるリスクを高めます。
これはさらに危険です。なぜなら、ユーザーは便利さのためにスマートコントラクトを承認し、その後忘れてしまうことが多いからです。時間が経つにつれて、これらの忘れられた承認は隠れた脆弱性に変わり、悪用される準備が整います。プロジェクトのセキュリティが侵害されると、ハッカーはこれらの無制限の承認を利用して、あなたの資金を瞬時に引き出すことができます。承認を制限したり定期的に取り消したりしないことは、ドアを開けっぱなしにしておくのと同じで、資産を簡単な標的にします。これが、Web3エコシステムにおいて承認を慎重に管理することが重要な理由です。
プロジェクトのセキュリティがどのように侵害される可能性があるのか、あなたは不思議に思うかもしれません。二つの一般的な方法が際立っています: スマートコントラクトコードの脆弱性を悪用することと、開発者を操作するためのソーシャルエンジニアリング手法を使用することです。どちらのアプローチも、攻撃者がユーザー資金に不正アクセスを得る扉を開くことができます。
スマートコントラクトの脆弱性を悪用する
スマートコントラクトは、トークンの作成、貸付、ステーキング、ブリッジングなどの機能を可能にし、ブロックチェーン機能の基盤を形成しています。しかし、あらゆるソフトウェアと同様に、完全に脆弱性のないコードは存在しません。これらの弱点は、特に大規模なユーザーベースや多額の資金を持つ人気のあるプロジェクトにとって、攻撃者の主要なターゲットとなります。
このような攻撃がどのように展開されるか、以下に示します。
適切なターゲットを見つける: ハッカーは有名なプロジェクトに狙いを定め、悪用可能な欠陥を探してスマートコントラクトを分析します。ブロックチェーンの透明性を利用して、このプロセスはスキルだけでなく忍耐にも依存しています。攻撃者は、慎重にコーディングエラーや論理の見落としを探します。
侵害: 一度脆弱性が確認されると、攻撃者はプロジェクトの契約に不正アクセスを得ます。ここから、彼らの目的は明確です: 資金を吸い上げることです。流動性プールや貸付準備金を引き出すことを目指し、侵害された契約と相互作用するユーザーを直接悪用しようとします。
引き出し: 無制限の承認を与えられたユーザーにとって、リスクは大幅に増加します。これらの承認は、ウォレット内のトークンへの無制限アクセスを提供します。攻撃者は、transferFrom()のような機能を実行して、トークンの残高全体を引き出すことができます。これは一度だけでなく、何度も繰り返し行われます。同じウォレットへの新しい入金も、無制限の承認がアクティブな限り脆弱なままです。
その結果、ユーザーは現在の資金と将来の入金の両方を失うリスクがあります。無制限の承認は便利に見えるかもしれませんが、すぐに深刻な脆弱性になる可能性があります。したがって、必要のないまたはめったに使用しないスマートコントラクトを見直し、取り消す習慣を身につけることが重要です。資金を失うリスクを冒すよりも、契約を再承認するために1分間の時間を取る方が常に安全です。
ソーシャルエンジニアリング
スマートコントラクトが脆弱である可能性がある一方で、人間のエラーが侵害の鍵であることが多いです。攻撃者は開発者やプロジェクトのオーナーをターゲットにし、信頼を悪用して機密システムへのアクセスを得ようとします。よくある手法はマルウェア詐欺で、悪意のある者が個人を騙してマルウェアをダウンロードさせるものです。一度インストールされると、これらのプログラムは秘密鍵を盗んだり、ウォレットにアクセスしたり、契約を操作したりして、プロジェクトの資金やユーザーの残高を引き出します。したがって、ソーシャルエンジニアリングは、エコシステム全体に影響を及ぼす深刻な脅威です。
実際の例
スマートコントラクトのアップグレードにおける脆弱性: LI.FIプロトコル
LI.FIプラットフォームでのスマートコントラクトのアップグレード中に脆弱性が発生し、攻撃者が適切な検証なしに任意の契約に対して呼び出しを実行できました。この欠陥により、攻撃者はLI.FI契約に無限のトークン承認を与えたウォレットを悪用することができました。これらの未確認の権限を利用することで、攻撃者はユーザーから追加の承認を必要とせずに、これらのウォレットから資金を引き出すことができました。脆弱性は予期せず発生する可能性があるため、可能な限り権限を取り消すことで、常に慎重であることが安全です。
マルチシグ署名者を侵害する: ラディアントキャピタル
悪意のある者たちは、3人のマルチシグ署名者のデバイスを標的にし、ラディアントキャピタルに属するマルチシグウォレットを制御しました。このアクセスを利用して、彼らはウォレットの所有権を自分たちに移転し、貸付プール契約の更新をプッシュしました。この更新により、彼らは貸付プールと無限の承認を与えたユーザーのウォレットからすべての資金を引き出すことができました。無限の承認を取り消していないユーザーは、特定のブロックチェーン上で特にリスクにさらされています。
このケースは、侵害後に承認を取り消さないことの危険性を示しています。以下に示すWeb3ウォレットのユーザーは、侵害されたラディアントキャピタル貸付プール契約に無限の承認を与えていました。「無制限」の許可は、契約がユーザーのウォレットから制限なしにトークンを引き出すことができることを意味しました。
承認がアクティブな限り、攻撃者はユーザーのウォレットからBUSC-USDを繰り返し引き出すことができます。さらに、ウォレットへの新しい入金もリスクにさらされており、契約は資金を引き出す権限を保持しています。このシナリオは、ユーザーが資産を保護するために、セキュリティ侵害が発生した場合に承認を見直し、取り消す必要性を強調しています。
ソーシャルエンジニアリング: モノスワップ
モノスワップの開発者は、攻撃者がベンチャーキャピタリストを装った標的型詐欺の犠牲になりました。資金調達の機会について話し合うためのコールに参加するため、開発者は悪意のあるKakaotalkメッセンジャーの模倣版をインストールするように騙されました。彼は知らずに、攻撃者はこの機会を利用して、モノスワップ関連のウォレットや契約にアクセスできるボットネットを彼のオフィスPCにインストールしました。
このアクセスを使って、悪意のある者たちは大多数のステークされた流動性ポジションを引き出し、プロトコルに重大な損害を与え、ユーザーに損失をもたらしました。この事件は、厳格なセキュリティプロトコルを維持し、機密システムへのアクセスを許可する前に、アプリケーションや通信の正当性を確認することの重要性を強調しています。
自分を守る方法
Web3の世界では、資産を安全に保つためには警戒を怠らないことが重要です。完全にリスクのないシステムは存在しませんが、積極的な措置を講じることで、潜在的な脅威へのさらなる曝露を大幅に減少させることができます。自分を守る方法は次の通りです。
承認には注意を払う
可能な限り、信頼できるプロジェクトに対しても無制限のトークン承認を与えることは避けましょう。承認を制限することで、プロジェクトが侵害された場合に攻撃者がそれを悪用できないようにする追加のセキュリティ層を追加します。
未使用の承認を習慣的に取り消す
もはや使用していない契約のトークン承認を定期的に見直し、取り消すことを習慣にしましょう。このシンプルな実践により、資産が悪意のある悪用や予期しない脆弱性にさらされる可能性が減ります。
デューデリジェンスを行う
契約を承認する前に、honeypot.isなどの信頼できるセキュリティツールを使用して確認する時間を取りましょう。これらのツールは完全な安全性を保証することはできませんが、潜在的なリスクに関する貴重な洞察を提供し、全くチェックをスキップするよりはるかに優れています。これらの習慣を採用することで、Web3における安全性を自ら管理し、警戒を潜在的な脅威に対する最も強力な防護策に変えることができます。
バイナンスWeb3ウォレットを使用する
信頼できるツールであるバイナンスWeb3ウォレットでウォレットを保護し、承認の悪用を含む一般的なWeb3の脅威に対抗するための堅牢な機能を優先しています。
プロジェクトが侵害された場合、バイナンスWeb3ウォレットは迅速にユーザーを保護します。セキュリティ警告やアプリ内通知が即座に送信され、ユーザーにリスクのある承認を取り消すように促します。リスクのあるスマートコントラクトの承認が完全に取り消されるまで、持続的なポップアップが表示され続け、ユーザーが資金を保護するために行動を取るようにします。
これらの積極的な措置は、ユーザーに情報を提供し、迅速に対応できるようにし、潜在的な損失のリスクを減少させます。
情報を得て最新の状態を保つ
知識は、常に進化するDeFiのエコシステムにおける最良の防御です。セキュリティニュース、プロジェクトの進展、新たな脆弱性について、バイナンスアカデミーで最新情報を入手してください。潜在的な脅威についてより深く掘り下げるには、詐欺を知るシリーズをご覧ください。これらのリソースは、詐欺を認識し、エコシステム内の最新のリスクから自分を守るための貴重な洞察を提供します。
最終的な考え
Web3の世界では、いくつかのシンプルな習慣が資産を安全に保つ上で重要です。定期的に承認を確認し、バイナンスWeb3ウォレットのような信頼できるツールを使用し、バイナンスアカデミーのようなリソースを通じて情報を得続けましょう。これらの小さな重要なステップを踏むことで、資金を安全に保ち、分散型金融が提供する可能性を楽しむことに集中できます。
