アプトスのワームホールブリッジに500万ドルのセキュリティ欠陥が発見される
仮想通貨関連のセキュリティサービスを手掛けるCertiK(サーティーケー)は、Aptos(アプトス)ネットワーク上のワームホールブリッジにある重大なセキュリティ欠陥を発見してパッチを適用し、500万ドル(約7.8億円)を節約できる可能性があった事がわかった。
この脆弱性により、攻撃者は偽トークン転送を作成できる可能性があったものの、CertiKの迅速な行動によってユーザーの資金は確保された。CertiKは、Aptosのワームホールブリッジの欠陥を発見し、ワームホールチームに報告。この問題は、MOVEプログラミング言語の「public(friend)」修飾子と「entry」修飾子が誤って実装されたことが原因で発生したとのこと。「public(friend)」修飾子を使用すると、同じモジュール内の他のユーザーまたは指定された外部アカウントによる関数の呼び出しが可能になる。これとは対照的に、「entry」修飾子を使用すると、任意の外部アカウントが関数を呼び出せるとのことだ。
ブリッジには、トークン転送などのイベントを通知することを目的とした「publish_event」と呼ばれる機能があった。この関数は、同じモジュール内の他の関数または特定の指定された外部エンティティによってのみ呼び出し可能でなければならない。ただし、この関数は「public(friend)」と「entry」の両方によって変更されており、承認されていない場合でも誰でも「publish_event」を呼び出せるようになっていた。
この欠陥により、攻撃者は実際のトークンを移動することなく、あるアカウントから別のアカウントにトークンを移動するように見せる偽トランザクションを作成する可能性がある。これらの偽イベントにより、イーサリアム版ブリッジがAptos側で実際の預金を裏付けることなくトークンを鋳造またはロック解除する可能性があり、最大500万ドルが流出する可能性があったっとのことだ。
ワームホールブリッジに対するCertiKの迅速な行動
欠陥を発見した後、CertiK は 2023年12月5日にすぐにワームホールチームに通知している。
同チームはセキュリティの抜け穴を塞ぐパッチを開発し、テストを実施。彼らはプロトコルの保護者に通知し、保護者は複数署名の投票を通じてパッチを承認。その後、プロトコルのAptosコントラクトがアップグレードされ、ブリッジが保護された。なお、このプロセスには約3時間程度をようしたという。
新しいパッチは、publish_event 関数から「entry」キーワードを削除するだけでなく、Aptos の「governor rate limits(ガバナーレート制限)」を500万ドルから100万ドル(約1.5億円)に制限。この戦略的措置は、将来のエクスプロイトによる潜在的な損失を制限することを目的としている。CertiK は、現在の使用量は1日あたり100万ドル未満であるため、レート制限はほとんどのユーザーに影響を及ぼさないはずだと指摘しており、次のようにツイートしている。
This case study not only underscores the critical role of proactive security practices but also celebrates the power of open source software in raising security and transparency standards across the Web3 world.
— CertiK (@CertiK) May 13, 2024
このケーススタディは、積極的なセキュリティ対策の重要な役割を強調するだけでなく、Web3の世界全体でセキュリティと透明性の標準を高めるオープンソースソフトウェアの力を称賛しています。