仮想通貨ブロックチェーンネットワークのSuiは、「何十億ドルもの資金」が危険にさらされる可能性があったバグをこっそりと修正した。これは、セキュリティ監査会社Zellicが5月16日に発表したものだ。同社はSuiネットワークのセキュリティ監査を依頼されていた。

このバグは、Sui上でスマートコントラクトを記述するために使われる人間が読めるMove言語が、デプロイ時に正しく機械語に変換されることを確認するバイトコード・ベリファイアに関係していた。もしバグが修正されなかった場合、攻撃者が複数のセキュリティ特性を回避し、潜在的に大きな金銭的損害を引き起こすことができたと、発表では指摘されている。Mysten Labsは、コインテレグラフに対し、SUI版のMOVEでバグが修正されたことを確認した。

Zellicは、このバグがAptosやStarcoinを含む他のMoveベースのネットワークにも存在していた可能性があると主張している。ただし、Zellicチームによれば、Aptos版は4月10日にパッチで修正されたとのことだ。コインテレグラフはAptosにコメントを求めたが、記事執筆時点で返答は得られなかった。

Moveベースの0Lネットワークの広報担当者は、このバグは同ネットワークのMove版には影響しないとコインテレグラフに述べた。5月15日、0LはGitHubに一連のテストを追加し、0L版ではこの脆弱性が利用できないことを証明している。Starcoinチームは、コインテレグラフに対し、自分たちのバージョンは4月5日に修正されたと語った。

Suiは、元Metaのエンジニアが設立したMysten Labsが開発したブロックチェーンネットワークだ。これは、Metaが作成したオープンソースのLibraプロジェクトのフォークである(Libraは2019年に終了している)。

開発者の中には、Moveスマートコントラクト言語がブロックチェーンに特化したセキュリティ機能を提供するため、それを好むケースもある。例えば、コピーまたは削除できない「コイン」タイプを含むカスタムデータタイプを作成できる。

Suiなどのブロックチェーンネットワークは、コードを記述された言語と同じ言語で保存しない。代わりに、人間が読める言語から機械語のバイトコードに変換する。この変換を行う際、Suiは、変換されたコードがネットワークのセキュリティ特性に違反しないことを確認するために一連の検証を実行する。例えば、コインが削除されたり、コピーされたりしないことを確認する。

Zellicのブログ投稿によれば、同社はMysten Labsから検証プログラムのセキュリティ評価を依頼された。ベリファイア自体にバグは見つからなかったが、「コントロールフローグラフ」(CFG)ファイルにバグがあったという。CFGは、ベリファイアが多くのタスクを実行するために使用される。CFGの記述方法のため、特定のコード行がベリファイアから隠され、ネットワークのセキュリティ原則に違反するコードが検出されずに保存・実行される可能性があったという。

チームは、この脆弱性が悪意のある借り手によってフラッシュローンで悪用される可能性があると説明した。Moveベースのネットワークでフラッシュローンが実装されると、ローンプロトコルは通常、借り手に削除できない資産を送信する。借り手がこの資産を削除できる場合、「フラッシュローンを成功させ、借りた資金を返済しない」とチームは述べた。この脆弱性により、Moveセキュリティの基本原則が破られるため、他のタイプの悪用も可能だった。そのため、セキュリティ会社は投稿で、「何十億ドルもの資金が危険にさらされる可能性があった」と書いている。

最近、Moveベースのネットワークやアプリは、資金調達の世界で話題になっている。5月8日には、Suiベースの分散型取引所Cetusが1分間で600万ドル以上を調達した。Aptosを運営する会社も、2022年7月に1億5000万ドル以上を調達している。

翻訳・編集 コインテレグラフジャパン