イーサリアム清掃ロボットが蔓延、1つの記事で3つの解決策がわかる
この記事は以下からのものです。DeFiのやり方この記事は以下からのものです。
DeFiのやり方
, 著者:無料で簡単、承認を得て転送します。
注: イーサリアム資金を送金した後、ウォレット内のお金がすぐに空になったことに気付いたとき、スイーパーのターゲットにされる可能性があります。この記事は、この問題を解決するのに役立つことを目的としています。著者は MyCrypto のセキュリティおよびフィッシング対策エンジニアの Harry Denley です。
あなたのシークレットが侵害されると、通常、悪意のある当事者はあなたのアカウントにスイーパーをセットアップし、将来そのアドレスに起こるあらゆることを利用します。たとえば、ユーザーがトークンを引き出しようとして ETH を預けたときや、エアドロップなどの場合です。という状況が発生します。
この記事では、ユーザーの資金がどのように一掃されるか、および一掃されなかった資金 (例: ステークされた資金) を回収するための 3 つの独自の方法について概説します。
1. ユーザーはどのようにフィッシングされるのか
最近、Telegram グループ管理者になりすましたユーザーが多数確認されています。これらの偽の管理者は、メイン チャネルで助けを求めるユーザーを支援します (ただし、彼らは本物の管理者ではなく、管理者のプロフィール情報をコピーしていますが、ユーザー名に一部の情報が含まれています)小さな違い)。これらの詐欺師は多くの場合、ユーザーを混乱させるために多くの専門用語を話し、正規のように見える Web サイトへのリンクを共有しますが、最終的にはシード フレーズや秘密キーの入力を求められます。
そうすれば、あなたの暗号資産はスイーパーとともに消えてしまいます。
これらの偽サイトの例を次に示します。
2. クリーナーの仕組み
スイーパーは、ブロックチェーン (技術的にはオンチェーンではない txpool を含む) を監視し、一連のルールを使用して特定のトランザクションに署名することに人間よりも速くプログラム的に反応するコードです。
これは、ブロックチェーン エクスプローラーでアドレスを表示したり、アドレスを dapp に「接続」したりする UI にはスイーパーが表示されないことを意味します。署名してトランザクションをネットワークにブロードキャストした後でのみ、スイーパー (スイーパー) があなたのアクティビティを確認できるようになります。
時間の経過とともに、私たちはスイーパーの進化とそれを悪用するキャンペーンを見てきました。
3. スイーパーの進化
2017 年には、ロック機能を備えた (つまり、 transfer() を正常に呼び出すことができなかった) ものの、価格フィードを含むトークンを利用するアクティビティがかなりの量ありました。 Dave Appleton はこれらの活動に関する記事を公開しました。
悪意のある当事者がこの詐欺を悪用する方法は、このアドレスに秘密鍵を(一見無害または間違った方法で)投稿し、人々がそのアドレスに ETH を入金する(アドレス内のトークンを転送する)のを待つことです。悪意のある当事者は、そのアカウントのスイーパー プログラムを使用して、そのアドレスに入金された ETH を自分のアカウントに迅速に送金します。ロックされたトークンは理論的には無価値であると考えられているため、疑いを持たない「貪欲な」ユーザーから利益を搾取しようとします。
現在、漏洩したアドレスは基本的に ETH スクラバー プログラムを使用して展開されており、一部の組織はより高度なスクラバー プログラム ロジックを使用して、価格フィードに基づいて ERC20 トークンをクリーンアップしています。
今年の初めに、私は漏洩したアドレスについて偵察調査を行ったところ、スイーパーが常に進化していることがわかりました。
スウィーパーは、たとえスウィープのために取引手数料が高くなっても、ドル価値が最も高い資産を好みます。
スイーパーは、利用可能なすべての ETH を使用してスイープ値を最大化し、同時にナンス「勝ち」トランザクションの割合を高くします。
スイーパーには、質入れされたトークン (つまり、xKNCa=KNC) とそのネイティブ トークンを照合する照合エンジンがあり、フィード価格が質入トークンに反映されるようになります。
スイーパーには独自の内部 nonce カウンタがあり、最大の nonce が時間枠内に確認されない (または破棄/別の nonce に置き換えられた) 場合、定期的に nonce を eth.getTransactionCount() 出力にリセットします。
スイーパーの標的となった高額資産がある場合、オペレーターがアカウントから高額資産を迅速に一掃するために、アドレスに資金を提供することで一部の ETH を「犠牲」にすることを示唆する活動がいくつかありました。
一部のスクラバーは、ドルの価値が特定のしきい値を下回っている場合は資産をスイープしません。つまり、自分のアカウントがスクラバーの対象になっていることがわからない可能性があり、これは恐ろしいことです。
スクラバーについて説明した記事は 2017 年に初めて掲載され、現在私たちが観察しているスクラバーはより高度なものになっており、被害者に最大の損失をもたらすと同時にオペレーターの利益を最大化するように設計されています。
4. スイーパーを倒すにはどうすればよいですか?
まず、人間として、コードよりも速くすることはできないため、ソリューションにはコーディングのみが含まれます。選択できるルートはいくつかありますが、どれも 100% 保証されているわけではありませんが、私たちに有利に働きます。
回収したいコインのリストを作成し、優先順位で並べ替えて、計画を簡単に決定できるようにする必要があります。以下をリストする必要があります。
トークンコントラクトアドレス。
トークンがステーキングされているかどうか (およびステーキング解除がタイムロックされているかどうか)。
トークンが譲渡可能かどうか。
トークンの価値 (USD);
5. タイチの使い方
スイーパーの動作方法は、スイーパー アドレスに送られる受信トランザクションを txpool で監視することです。TAICHI を使用すると、署名済みトランザクションをパブリック txpool 経由でブロードキャストせずにマイナー (SparkPool) に直接送信できます。つまり、スイーパー プログラムは Unseen になります。そして、おそらくあなたの取引はスイーパーボットによって横取りされることはありません(少なくとも私の経験では)
画像の説明
写真はTAICHI.NETWORKより
ここでのアプローチは、すべてのトランザクションをノンス順で事前署名し、プログラム的に TAICHI に送信することです。ほとんどのスイーパーは、受信 ETH トランザクションのパブリック txpool/mempool のみを監視し、新しいブロックごとに eth_getBalance を呼び出すことはありません (CPU サイクルと RPC メソッド呼び出しのコストを節約するため)。つまり、スイーパーは、送信されるプライベート txpool ETH を介してルーティングされます。アカウントは無視されるため、消去されません。
これには、いくつかの計算を行う必要があります。計算が正しく行われた場合、フロントランを試みるスイーパー プログラムは失敗する可能性があります。 (通常、私はデフォルトで GasNow の「高速」カテゴリより数パーセント高いガス価格を設定しています。そのため、マイナーは次のブロックであなたのトランザクションを確認する可能性が高くなります。)
MyCrypto をオフラインで使用して署名付きトランザクションを生成し、準備ができたら TAICHI にプッシュしたり、ethers.js (または他のライブラリ) を使用して署名付きトランザクションを作成するコードを作成したりできます。
方法 1: 自己破壊型スマート コントラクトを使用する
TAICHI メソッドと同様に、スマート コントラクトを使用して、パブリック txpool に表示せずに ETH をアカウントに入れることができます。これを行うには、安全なアドレスからスマート コントラクトを展開し、侵害されたアドレスに構造的に ETH を送信します (これは内部トランザクションになります)。
このコントラクトをデプロイすることで、コンストラクターのパラメーターで漏洩したアドレス文字列とともに ETH を送信できるようになります。コントラクトは、コントラクトの作成と同じトランザクション内で自己破棄することによって機能します。 selfdestruct() を使用するということは、(1 回限りの使用コントラクトであるため) ブロックチェーンの状態をクリアし、1 回のトランザクションで漏洩したアドレスに ETH を転送することを意味します。
例: https://goerli.etherscan.io/tx/0x82ccb222eae55aaea73dd0efee1ea6ed7320f880889f280d4a343b8823f86692
この方法は機能しますが、あるアカウントから別のアカウントに ETH を送信するだけではないため、追加のコストがかかることに注意してください。この方法のコストは約 70,000 ガスですが、ガス価格が高騰している状況では、この方法の使用コストは 0.0112ETH に達する可能性があります。
方法 2: Flashbot を使用する
一般に、トランザクションを確認するには ETH を支払う必要があります (トランザクション手数料は送信者が支払うため)。しかし、Flashbot のおかげで、マイナーに別のアカウントの資金を「賄賂」することで、EOA からのガス価格 0 (つまり、取引手数料 0 USD) での取引をより簡単に確認できるようになりました。つまり、支払わずに漏洩したアドレスから Transfer にトークンを転送できることになります。 ETH のガスについては、はい、それだけです。
この戦略では 2 つのアカウントを使用する必要があります。1 つは漏洩したアカウントで、もう 1 つはマイナーに賄賂を渡すために使用されたアカウントです。
Flashbots チームは、Flashbots/searcher-sponed-tx というプロジェクトをリリースしました。これには、2 つのアカウントからのトランザクションを確認するこの戦略を設定する理論的根拠が含まれています。
取引の支払いには別のアカウントを使用するため、侵害されたアカウントに ETH を入金する必要はありません。
侵害されたアカウントに ETH が存在しないことを確認するには、Burner ボットを実行することを強くお勧めします。
通常、インスタンスごとに異なる RPC ノードを使用して、複数のコンピューターでバーナー ボットを実行することをお勧めします。たとえば、Infura を使用してバーナー ボットをローカルで実行し、Quiknode などの別のプロバイダーを使用してリモート サーバーでバーナー ボットを実行します。こうすることで、ネットワーク遅延が長い場合やノードの問題 (レート制限、同期の問題) が発生した場合のバックアップ計画を立てることができます。


