2024年1月22日、ある暗号大国がフィッシング攻撃を受け、420万ドルの被害を受けた。BeosinのEagleEyeセキュリティリスク監視・警告・ブロックプラットフォームの監視によると、この脆弱性のキーポイントは、よく参照される当社のPermitシグネチャである。
Beosinは同日未明、ブロックチェーンのセキュリティ研究者であるホウレンソウとともに、「署名で盗まれた?Uniswapを使ったことがある人は要注意!Uncover Permit2 Signature Phishing」セキュリティリサーチ記事,この記事には、攻撃者がpermit2機能を使ってユーザーにフィッシング攻撃を仕掛ける方法が詳しく書かれています,そして、今回の事件で利用された攻撃の原理は、permitが機能をサポートするerc20コントラクトを標的にしていることを除けば、基本的にpermit2攻撃の記事で説明したものと同じです。permit2がすべてのerk20コントラクトをターゲットにできるのに対し、機能をサポートするerk20コントラクトはターゲットになりません。
この投稿では、ユーザーを騙して詐欺的なメッセージに署名させるために攻撃者が通常使用するものと、セキュリティのヒントを紹介します。
許可署名フィッシングとは何ですか?許可署名フィッシングとは?
パーミット署名は、特定の状況下で認証操作を簡略化するために使用される特定のデジタル署名メカニズムです。ブロックチェーン技術と暗号原理に基づいた安全な検証方法です。
従来のデジタル署名では、署名者は特定のデータに署名するための秘密鍵を持っている必要があり、署名されたデータを公開鍵とともに検証者に送信します。検証者は対応する公開鍵を使って署名の正当性を検証する。
しかし、許可署名は異なるアプローチを取る。
秘密鍵をライセンシーに直接送信することなく、特別な認可メッセージに署名することで、保有者が特定の操作へのアクセスを別の人物に許可することを可能にします。
一方、パーミット署名フィッシングは、認可されていないアクセスや機密情報を得るために、認可された操作に対するユーザーの慎重な検証や理解の欠如を悪用します。この攻撃は、ユーザーを騙して偽造された認証操作や署名要求を生成させることで、認証プロセスや署名メカニズムに対するユーザーの信頼を悪用します。
ハッカーが通常使用するPermit署名フィッシング攻撃にはどのようなものがありますか?
偽造された認証リクエスト:
攻撃者はユーザーを騙すために正規の認証リクエストを作成することがあります。これには、あるアクションを実行するためにユーザーに認証や署名を要求する、なりすましのアプリやウェブサイトが含まれる可能性があります。
ユーザーを騙してアクションを実行させる:
攻撃者は、ユーザーを騙して不正使用を実行させることで攻撃を実行する可能性があります。たとえば、一見無害に見えるボタンを作成し、実際にはユーザーが認識できない承認済みのアクションをトリガーすることがあります。
認証ページの偽装:
攻撃者は、通常の認証ページと同じように見えるページを偽装することで、ユーザーを認証に誘い込むことがあります。これらのページは、正規のアプリケーションやサービスとやりとりしているとユーザーをだますために、通常の認証ページとほとんど同じように見えるように設計されていることがよくあります。
ソーシャルエンジニアリング:
攻撃者はソーシャルエンジニアリングのテクニックを使って、たとえば、フィッシングメール、SMS、ソーシャルメディアメッセージを送ることで、ユーザーに悪意のあるリンクをクリックさせたり、偽の認証ページにアクセスさせたりします。または偽の認証ページに移動します。
自分自身を守るにはどうすればよいですか?
Permitシグネチャに対するフィッシング攻撃のいくつかを考慮し、以前のリサーチャーであるSpinachはいくつかの効果的な予防策を教えてくれました:
1シグネチャの内容を理解し、認識する。署名の内容:
Permitの署名フォーマットには通常、所有者、支出者、値、nonce、期限がキーフォーマットとして含まれています。もしPermitの利便性と低コストを享受したいのであれば、この署名フォーマットを認識できるようにならなければならない。(セキュリティ・プラグインをダウンロードするのが良い方法です)
読者や友人には、以下のBeosin Alert Anti-Phishingプラグインをお勧めします。
フィッシング対策プラグインをダウンロードする:
https://chrome.google.com/webstore/detail/beosin-alert/lgbhcpagiobjacpmcgckfgodjeogceji?hl=en2 資産と交流用にウォレットを分ける:
多くの資産を持っている場合、それらをコールドウォレットに保管し、チェーン上の交流用のウォレットに少額のお金を入れておくことをお勧めします。フィッシング詐欺に遭った場合の損失にもつながります。
3トークンの性質とpermit機能をサポートしているかどうかを特定する:
この拡張機能を使用してpermit機能を実装するERC20トークンは、今後ますます増えていくでしょう。この機能をサポートするトークンを持っている場合、そのトークンの取引や操作には細心の注意を払い、未知のシグネチャが許可関数のシグネチャであることを厳密にチェックする必要があります。
4詐欺にあった後、他のプラットフォーム上にトークンがある場合、適切な救助計画を立てる必要があります:
詐欺にあったことがわかり、トークンがハッカーによって転送された場合、適切な救助計画を立てる必要があります。また、他のプラットフォーム上に存在するために、例えば、誓約や他の方法を介してトークンがあり、安全なアドレスに転送するために抽出する必要があり、この時間は、ハッカーが常にあなたのアドレストークンバランスを監視することができることを知っておく必要があります、彼はあなたの署名を持っているので、限り、あなたの盗まれたアドレスがトークンに表示され、その後、ハッカーが直接転送することができます。この時点で、あなたは完璧なトークン救出プロセスを開発する必要があり、トークンの抽出と転送トークンの2つのプロセスを一緒に実行する必要があり、ハッカーのトランザクションを挿入させることはできません、あなたは、ブロックチェーンの知識だけでなく、コードのスキルを必要とするMEV転送を使用することができます、あなたはまた、達成するためにトランザクション強盗スクリプトを使用するBeosinチームのようなプロのセキュリティ会社を探すことができます。