BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

イーサリアムの「スカベンジャー」を倒す方法、3つの解決策を紹介します

区块律动BlockBeats
特邀专栏作者
この記事は約4131文字で、全文を読むには約6分かかります
使い切れなかった資金を節約する3つの方法!
AI要約
使い切れなかった資金を節約する3つの方法!

口座に大金を送金したのに、そのお金が消えてしまったという経験はありませんか? 「スカベンジャー」の毒に侵された可能性があります。私たちはあなたを危機から救い出すためにここにいます。

あなたの秘密鍵が盗まれた場合、加害者は通常、あなたのアカウントを監視する「スカベンジャー」プログラムを手配し、あなたが ETH や他のトークンをこのアカウントに入金したか、あるいはエアドロップとか、そういうもの。

この記事では、「スカベンジャー」がユーザーの資産をどのように食い荒らすかを概説し、食べられなかった資金(預金など)を節約する 3 つの方法を説明します。

ユーザーの秘密鍵はどのようにして漏洩するのでしょうか?

最近、多くのユーザーが Telegram グループの管理者を装い、これらの正規グループのメイン チャネルでユーザーに「ヘルプ」を提供しているのを確認しました (ただし、彼らは本物の管理者ではなく、本物の管理者のプロフィールをコピーしているだけですが、ユーザー名が少し変更されました)。偽の管理者は、専門的な言葉を使ってユーザーを混乱させ、正規の Web サイトのように見えるリンクを (ブランドの宣伝のため) ユーザーに共有することがよくあります。これらのサイトは、ユーザーに秘密キーまたはシード フレーズを要求します。

そうなると、あなたのトークンはなくなり、あなたのアカウントを監視し始める「スカベンジャー」が現れます。

以下はフィッシング サイトの例です。

WalletConnect を装った多くの活動を発見した研究者 @dubstard に感謝します。

「スカベンジャー」はどのように機能しますか?

「スカベンジャー」は、ブロックチェーン (技術的にはオフチェーンであるトランザクション プールを含む) を監視するコードの一部です。人間よりも反応速度が速く、ルールを満たす特定の取引に署名するようにプログラムされています。

言い換えれば、「スカベンジャー」はあなたを見ることができず、あなたがブロックチェーンブラウザ上であなたのアドレスを閲覧していることや、あなたのアドレスをdAppのユーザーインターフェースに「接続」していることを知りません。トランザクションに署名してネットワークにブロードキャストする場合にのみ、アクティビティが表示されます。

「スカベンジャー」と「スカベンジャー」を使用するフィッシング詐欺は、時間の経過とともに進化してきました。

「スカベンジャー」の進化

2017 年に非常に流行したあるタイプの詐欺は、ロック機能 (transfer() を正常に呼び出すことができないこと) と価格フィードを備えたトークンを利用していました。 Dave Appleton は、この種の詐欺を暴露する投稿を投稿しました。

このタイプの詐欺では、詐欺師は最初にロック可能なトークンを取得しますが、ブロック エクスプローラーは依然としてそのようなトークンの価格を提供します [最も人気のあるトークンは Minerum (MNE) です]。次に、詐欺師は、そのようなトークンが保存されているアドレスの秘密キーを (意図的でないふりをして) 公開し、被害者を誘惑してアドレス内のトークンを取得します。トークンを引き出すために、被害者はガス料金として ETH をこのアドレスに送金します。しかし、詐欺師たちはすでに、被害者が送金したETHを自分の口座に瞬時に送金する「スカベンジャー」を手配しています。理論的には、ロックされたトークンは無価値とみなされているため、詐欺師は、疑いを持たない貪欲なユーザーからロックされた価値の一部を取り戻そうとします。

現在、ハッキングされたアドレスは、基礎となるETH「スカベンジャー」とともに大規模に配置されています。また、論理的により高度な「スカベンジャー」を採用し、価格フィードに基づいて ERC 20 トークンを食べる詐欺グループもいます。

少し前に、ハッキングされたアドレスについて調査を行ったところ、これらの「スカベンジャー」がまだ進化していることがわかりました。

1) 「スカベンジャー」は、たとえ取引手数料が高くなっても、高額な資産を食べることを好みます。

2) 「スカベンジャー」は、可能な限り多くの価値を盗むために利用可能なすべての ETH を使用し、そのトランザクションは同じナンスで勝つ可能性が高くなります。

3) 「Scavenger」には、誓約されたトークンの価格フィードを取得するために、ネイティブ トークンと誓約されたトークン (つまり、xKNCa = KNC) をペアにするマッチング エンジンがあります。

4) 「スカベンジャー」には独自の内部ナンス カウンタがあり、最高位のナンスが一定期間確認されない (または破棄/置換されない) 場合、定期的にナンスをリセットします。

eth.getTransactionCount()

出力。

5) チェーン上のいくつかのアクティビティを通じて、高額資産が「スカベンジャー」の餌食となった場合、「スカベンジャー」はガス料金として関連する口座に一部の ETH を転送することさえあることがわかります。資産がアカウントから転送されます。

6) 一部の「スカベンジャー」は、資産価値の最低しきい値を設定します。 「スカベンジャー」は、このしきい値を下回る資産を食べません。これは、アカウントに「スカベンジャー」が存在することに気づいていない可能性があることを意味します。慎重に考えてください。

私たちが初めて「スカベンジャー」について書いたのが 2017 年であることを考えると、今日の「スカベンジャー」は、被害者の損失を最大化しながら事業者が利益を最大化するのに役立つ、かつてのようなものではありません。

やめて!スカベンジャー!

「スカベンジャー」を倒すには?

まず第一に、人間としてのあなたはコードよりも高速ではないため、私たちのソリューションにはコードが含まれます。 100% 効果があるという保証はありませんが、自分に合った解決策が必ず 1 つあります。

簡単に計画できるように、回収したいコインのリスト (優先順位順) を作成する必要があります。このリストには以下を含める必要があります。

トークンコントラクトアドレス

トークンがプレッジに使用されているかどうか(ロック解除の期限があるかどうか)

トークンは転送できますか

トークン価値(ユーザーの主観的判断または優先順位付けのためのUSD価値によって決定されます)

最も重要なことは、プログラムを迅速かつ効率的に実行するには、系統立てて行う必要があるということです。有名な格言にあるように、「何事も事前に警告されていますが、事前に警告されることは何もありません。」

Taichiネットワークの利用

「スカベンジャー」は、トランザクション プール内のトランザクションを監視して、「プレイ」アドレスへの転送を監視することによって機能します。このようにして、「スカベンジャー」は別のトランザクションに署名し、トランザクションが確認される前にトランザクションをブロードキャストすることで、転送された資金を奪うことができます。

Taichi Network を使用すると、署名済みトランザクションをパブリック トランザクション プールにブロードキャストすることなく、マイナー (つまり Spark プール) に直接送信できます。これは、あなたのトランザクションが「スカベンジャー」の死角に入り、「スカベンジャー」ロボットによって横取りされないことを意味します(少なくとも私の経験では)。


出典:TAICHI.NETWORK

具体的な方法は、すべてのトランザクションをノンス順で事前署名し、プログラム的に Taiji Network に送信することです。ほとんどの「スカベンジャー」は、追加されるのを待っている Ethereum トランザクションのパブリック トランザクション プールを監視するだけであり、新しいブロックごとに eth_getBalance を呼び出しません (これは CPU サイクルと RPC 呼び出しを節約するためです)。言い換えれば、「スカベンジャー」はプライベートトランザクションプールを通じて「獲物」アカウントに送られたETHを見ることができず、それを食べることはありません。

ガス料金としてアカウントに送信された ETH が、署名された各トランザクションで完全に利用できることを確認するには、いくつかの計算を行う必要があります。 「スカベンジャー」は、正しく数えると初期の実行を逃す可能性があります。 (通常は、トランザクションが次のブロックに含まれる確率を高めるために、GasNow の「Rapid」基準値よりも数パーセント高いガス料金をデフォルトで設定します。)

MyCrypto をオフラインで使用してトランザクション署名を生成し、準備ができたら Taichi ネットワークに送信したり、ethers.js (または他のコード ライブラリ) を使用してコードを記述して署名付きトランザクションを作成したりできます。

自己破壊機能を備えたスマートコントラクトを使用する

この方法は太極拳ネットワークの使用と似ています。スマートコントラクトを使用すると、トランザクションをパブリックトランザクションプールに公開することなく、ETHをアカウントに転送できます。これを行うには、安全なアドレスを通じてスマート コントラクトをデプロイし、そのコンストラクターを通じてハッキングされたアドレスに ETH を送信します (これは内部トランザクションになります)。

pragma sopdity >=0.7.0 <0.9.0;  contract MoveETH {    constructor(address sendToAddress) payable {        address payable addr = payable(address(sendToAddress));        selfdestruct(addr);    }}
` このコントラクトをデプロイすることで、ETH とハッキングされたアドレスの文字列をコンストラクターのパラメーターに送信できます。コントラクトは同じトランザクション内で作成され、自動的に破棄されます。このうち、`selfdestruct()` は、このコントラクトのブロックチェーン状態をクリアし (つまり、このコントラクトは 1 回限りです)、同じトランザクションでハッキングされたアドレスに ETH を送信することを意味します。 `

例:

https://goerp.etherscan.io/tx/0x82ccb222eae55aaea73dd0efee1ea6ed7320f880889f280d4a343b8823f86692

この方法は効果的ではありますが、ETH をある口座から別の口座に送金するだけではないため、追加のコストがかかることに注意してください。この方法では約70,000ガスの費用がかかります。ガス価格が高い場合、ガスコストだけで 0.0112 ETH もかかります。

次に、ハッキングされたアドレスから事前に署名されたトランザクションを Taichi ネットワーク経由でブロードキャストします (ここではパブリック ノードも使用できます。「スカベンジャー」に横取りされないように、アカウント内の ETH 残高全体をガス料金として設定してください) (少なくともこの可能性を減らすように努めてください)。この場合、「スカベンジャー」はガス料金オークションに勝つために、ハッキングされたアカウントにさらに多くの ETH を送金する必要があるからです)。

Flashbot の使用

一般的に言えば、トランザクションをチェーンに載せるには ETH を支払う必要があります (トランザクション手数料はトランザクション送信者が支払うため)。しかし、Flashbot を使用すると、別のアカウントからの資金でマイナーに「賄賂を渡す」だけで、ガス料金 (つまり、取引手数料) を支払うことなく、外部アカウントからのトランザクションをオンチェーンに置くことができます。言い換えれば、ハッキングされたアドレスに手数料として大金のETHを送金する必要はなく、このアドレス上のトークンを奪うことができます。そうです、それです!

このスキームでは、ハッキングされたアカウントとマイナーへの賄賂に使用されたアカウントの 2 つのアカウントを使用する必要があります。

Flashbots チームは、Flashbots/searcher-sponed-tx と呼ばれるプロジェクトをリリースしました。このプロジェクトでは、このスキームを通じてトランザクションをチェーン上に置く方法の基本原則が紹介されています。

取引手数料の支払いには別​​のアカウントの資金を使用するため、ハッキングされたアカウントに ETH は必要ありません。実際、私たちはハッキングされたアカウントに ETH が存在しないことを望みます。結局のところ、私たちが資金を引き出してアカウント内の元の ETH を使って私たちを逃がそうとしていることに詐欺師/「スカベンジャー」が気づいてほしくないのです。 。

ハッキングされたアカウントに ETH が存在しないことを確認するには、バーナー ボットを実行することを強くお勧めします。

通常、複数のマシンで burner-bot を実行し、インスタンスごとに異なる RPC ノードを使用することをお勧めします。たとえば、バーナーをローカルで実行するには Infura を使用し、リモート サーバーでバーナーを実行するには Quiknode などの別のプロバイダーを使用します。これにより、高いネットワーク遅延やノード障害 (レート制限、同期の問題など) などの問題が発生した場合の冗長性が可能になります。

Flashbots/searcher-sponed-tx のコードは、特定のニーズに応じて変更する必要がありますが、ハッキングされたアドレスにトークンを保存するのに役立つエンジンがここにあります。 Flashbots エンジンは柔軟性が高く、単一の transfer() 呼び出し、または unstake() および transfer() 呼び出しをサポートできます。

コードがわからない場合は、@kendricktan/flashbots.tools Web サイトが提供する Flashbot の機能 UI を試すこともできます。https://flashbots.tools/。

「スカベンジャー」を根本的に回避するにはどうすればよいですか?

もちろん、最善の予防策は、自分のアドレスを「スカベンジャー」によるハッキングから守ることです。そのため、「スカベンジャー」と知恵比べをする必要はありません。

近年、一部のアプリ UI ではその逆が見られ、ユーザーが dapp インターフェイスで生の機密情報を使用できるようになりました。これは非常に危険な行為であり、推奨すべきではありません。

インターネットに接続されたデバイスや Web ページには、元の機密情報 (秘密キー、キー ストア ファイル、シード フレーズ) を決して入力しないでください。

秘密キーを別のデバイスに保存するには、ハードウェア ウォレットを使用することをお勧めします。MetaMask を使用して dApp とやり取りする場合、MetaMask は最近、ユーザーが複数のハードウェア ウォレット アドレスを使用できるようにするアップデートをリリースしました。


ETH
Odaily公式コミュニティへの参加を歓迎します
購読グループ:
https://t.me/Odaily_News
チャットグループ:
https://t.me/Odaily_GoldenApe
公式アカウント:
https://twitter.com/OdailyChina
記事目次
Odailyプラネットデイリーアプリをダウンロード
一部の人々にまずWeb3.0を理解させよう
IOS
Android