内訳:ハッカーがSolanaWormholeブリッジのPlatoBlockchainDataIntelligenceから80kETHを盗んだ方法。 垂直検索。 愛。

内訳:ハッカーがSolanaWormholeブリッジから80kETHを盗んだ方法

最悪のXNUMXつ ハック ソラナブロックチェーンに対して、ハッカーが書き込みの時点で80,000億214万ドルを超えるXNUMXイーサリアム(ETH)を、ソラナシステムからワームホールブリッジを介してイーサリアムブロックチェーンに転送したときに発生しました。これは、転送機能を提供するサービスです。異なるブロックチェーン間の資金。

ツイートで説明 仮名のTwitterプロファイル スマートコントラクト、ハッカーは、イーサリアムのワームホールスマートコントラクトから80,000 ETHをXNUMX回で転送することにより、エクスプロイトを完成させました。 トランザクション。 結局のところ、これはハッカーが資金を盗むことを可能にした一連のハッキングの最後の動きにすぎませんでした。 

「劇的ですが、このトランザクションは興味深い一連のイベントの最後に過ぎません。 これがどのように可能であるかを理解するために、私は逆戻りし始めなければなりませんでした」とsmartcontractsはツイートします。

保護者は誤った移籍を承認しました

ワームホールはいわゆる橋であり、 スマート契約、この場合のイーサリアムでは、異なるブロックチェーン間で暗号資産を移動する方法を提供します。 スマートコントラクトによると、高レベルの観点から、ワームホールには、ブロックチェーン間の転送を承認する一連のいわゆる保護者がいます。

ワームホールの保護者は、80,000%正当であるかのように、この100ETH転送を何らかの形で承認しました。

「80,000を引き出したトランザクション ETH 実際には、攻撃者は80,000ETHをソラナからイーサリアムに転送していました。 当初、契約によって転送時の署名が誤って検証された可能性があると思っていましたが、署名は完全にチェックアウトされていました。」

スマートコントラクトによると、最初の画期的で部分的な説明は、 トランザクション どういうわけか120,000の「ワームホールETH」を鋳造したソラナで、どこからともなくソラナにエーテルを包みました。 ハッカーはSolanaでWormholeETHを作成できたため、Ethereumに正しく戻すことができました。

「ソラナはちょっと変だ」

ハッカーの取引履歴を調べると、120,000ワームホールETHの鋳造の直前に行われた取引があります。 これで トランザクション、ハッカーが少量で機能をテストしているかのように、ハッカーはわずか0.1ワームホールETHをミントします。

ハッカーの取引履歴をさらに調べると、ハッカーが 保証金 イーサリアムから0.1ETHの サンルーム。 攻撃者はイーサリアムのワームホールスマートコントラクトに120,000ETHのETHデポジットをしませんでしたが、このデポジットには興味深い点があります。

smartcontractが彼のツイートで説明しているように、SolanaでWormhole ETHを作成したトランザクションは、Wormholeスマートコントラクトをトリガーしていました function "と呼ばれる完全に包まれた「。 この関数が取るパラメータのXNUMXつは「メッセージの転送」であり、基本的には メッセージ どのトークンをどのくらいミントするかを示す橋の保護者によって署名されました。

「ソラナはちょっと奇妙なので、これらのパラメーターは実際にはスマートコントラクトそのものです。 ただし、重要なのは、これらの「メッセージ転送」コントラクトがどのように作成されるかです。 これが トランザクション これにより、0.1ETH転送メッセージが作成されました」とsmartcontractsはツイートしています。

誰がチェッカーをチェックしていますか?

この「メッセージ転送」コントラクトは、 function "と呼ばれるpost_vaa「。 最も重要なことは、post_vaaが保護者からの署名をチェックすることにより、メッセージが有効かどうかをチェックすることです。 その部分は十分に合理的であるように思われる、とsmartcontractsは言います、しかしそれはすべてを壊したのはこの署名チェックステップです。

「post_vaa」関数は実際には署名をチェックしません。 代わりに、典型的なソラナのファッションでは、「verify_signatures  function。 一つ 入力 「verify_signatures」関数には、コントラクトが使用できるさまざまなユーティリティを含むSolana組み込みの「システム」プログラムがあります。

「verify_signatures」内で、ワームホールプログラムは、この関数がトリガーされる直前に発生した実行が、 Secp256k1 署名検証機能を実行しました。

「この検証機能は、指定された署名が正しいことを検証するための組み込みツールです。 そのため、署名の検証はこのプログラムにアウトソーシングされています。 しかし、ここでバグが発生します」とスマートコントラクトはツイートしています。

ワームホール契約は関数を使用しました ロード命令_at Secp256k1関数が最初に呼び出されたことを確認しますが、load_instruction_at関数は比較的最近廃止されました。 実際のシステムアドレスに対して実行されていることを確認しません!

ゲームオーバー

スマートコントラクトによると、発信者は次のように提供することになっています 実行中のプログラムのシステムアドレスですが、ハッカーは別のシステムアドレスを提供しました。

0.1ETHの正当なデポジットの「verify_signatures」の入力として使用されているシステムアドレスは次のとおりです。

正しいシステムアドレス入力
正しいシステムアドレス入力

しかし、これが120kETHの偽の預金に対する「verify_signatures」トランザクションです。

システムアドレス入力
誤ったシステムアドレス入力 

それはシステムアドレスではありません!

「この「偽の」システムプログラムを使用すると、攻撃者は署名チェックプログラムが実行されたという事実について事実上嘘をつく可能性があります。 署名はまったくチェックされていませんでした!」とsmartcontractsはツイートします。

「その後、ゲームオーバーになりました。 攻撃者は、保護者がソラナのワームホールへの120kのデポジットを承認しなかったとしても、承認したように見せかけました。 攻撃者が今やらなければならないことは、イーサリアムに引き戻すことで「プレイ」マネーを現実のものにすることだけでした。 そして、80k ETH + 10k ETHのXNUMX回の撤退(イーサリアムの橋のすべて)の後、すべてがなくなった。」

エバードーム

CryptoSlateニュースレター

暗号、DeFi、NFTなどの世界で最も重要な毎日の物語の要約を特集しています。

ゲット エッジ 暗号資産市場で

の有料メンバーとして、すべての記事でより多くの暗号の洞察とコンテキストにアクセスします クリプトスレートエッジ.

オンチェーン分析

価格のスナップショット

その他のコンテキスト

月額$ 19で今すぐ参加 すべてのメリットを探る

ソース:https://cryptoslate.com/breakdown-how-the-hacker-stole-80k-eth-from-the-solana-wormhole-bridge/

タイムスタンプ:

より多くの CryptoSlate