ニュース暗号資産Cosmos Labs、572万ドルの6チェーン攻撃前にバグを過小評価

Cosmos Labs、572万ドルの6チェーン攻撃前にバグを過小評価

著者: Coindoo·

重要ポイント

  • Cosmos Hub自体はハックされておらず、欠陥はMANTRA、TAC、KiiChainを含む6つのネットワークが使用するcosmos/evmソフトウェアに存在した。
  • 攻撃者は約572万ドルを換金または売却し、うち約285万ドルは中央集権取引所を通じ、そのアカウントはその後凍結された。
  • この脆弱性は、ロックされたトークンを含むデリゲート額をより小さい使用可能残高から差し引くことで発生する整数アンダーフローであり、被害者資金の直接的な盗難を可能にした。
  • Cosmos Labsは18桁のチェーンで再現できなかったためバグの影響を限定性的と誤判断し、その後のサイレントパッチにはアップグレード遅延がユーザー資金を危険にさらすことを伝えるノートが欠けていた。
  • Cosmos Labsは脆弱性トリアージの拡大、セキュリティ連絡網の拡充と検証、運用セキュリティ対策の外部監査を計画している。
Cosmos Labs、572万ドルの6チェーン攻撃前にバグを過小評価

Cosmos Hubはハックされていない

この事件はCosmos Hubを侵害したものではなく、より広いCosmosエコシステム内のすべてのブロックチェーンが侵害されたわけでもない。欠陥はcosmos/evmにあり、これは独立したCosmosベースのネットワークがイーサリアム互換アプリケーションを実行できるようにする共有ソフトウェアである。

Cosmos Labsの事後検証によると、このソフトウェアを使用する6つのネットワークが8月20日から8月25日の間に攻撃された。MANTRA、TAC、KiiChainが詳細な時系列で名指しされており、残る3つは文書では公に特定されていない。

この区別は重要である。共有ソフトウェアの障害が誤解を招く「Cosmosハック」という見出しになるのを防ぐからだ。同じ範囲の考え方はThe Sandboxブリッジの攻撃にも当てはまる。統合部分が侵害されても、基盤となるプロトコル全体がハックされたことを意味するわけではない。

攻撃者は2つの経路で572万ドルを換金

Cosmos Labsの推定では、攻撃者は8月19日の価格に基づき、分散型のプラットフォームを通じて約287万ドルを交換した。この数値は独立した監査を受けていない推定値だと同社は述べている。さらに285万ドルが中央集権取引所を通じて売却されたと報じられており、換金または売却された合計額は約572万ドルに上る。

Cosmos Labsによると、被害を受けたチェーンは警察の調査が続く間、中央集権取引所のアカウントが凍結されたと報告した。572万ドルという換金総額は変わらないが、凍結された取引所残高の回収により最終的な純損失は縮小する可能性がある。

対応により被害は限定された。Cosmos Labsは、さらなる被害報告なしにパッチ適用、停止その他の保護措置を講じるため、被害にさらされる可能性のあった他の13のネットワークと協力し、全体で40のチェーンと連携した。

会計上の不整合が有効な残高を露呈した仕組み

この脆弱性は、ソフトウェアの2つの部分が残高を異なる方法で計算していたことに起因する。Cosmos EVMのStateDBは、アカウントが即座に使用できる金額のみを追跡していた。しかし、Cosmosのベスティングアカウントは使用可能なトークンとロックされたトークンの両方を保持でき、ステーキングシステムではロックされたトークンのデリゲートが許可されていた。

ソフトウェアが小さい方の使用可能残高からデリゲートされた全額を差し引いた際、未チェックの算術アンダーフローにより結果が2^256に近い数値に折り返される可能性があった。攻撃者はこのアンダーフローを転送時のオーバーフローと組み合わせることができた。この種のバグ——符号なし算術における整数アンダーフローとオーバーフロー——は、スマートコントラクトおよびブロックチェーンの脆弱性としてよく知られたカテゴリーであり、現代のスマートコントラクト言語がデフォルトでチェック付き算術を備える理由のひとつである。

この一連の処理は供給量の恒久的な増加を生み出さなかった。代わりに、高残高の被害者アカウントをゼロに減らし、そのアカウントが以前保持していた残高を攻撃者に残す可能性があった。これにより、この欠陥は単なる表示の不正確さや会計上の異常ではなく、直接的な資金盗難のリスクとなった。

警告は攻撃の約4か月前に到着

この盗難はより長い一連の流れの終焉だった。決定的な誤りは、誰かがコードを悪用する数か月前の初期評価の段階で生じた。

Cosmos Labsは本番環境の脅威を日常的なメンテナンスとして扱った

元の概念実証は小数点以下6桁に設定されたチェーンを使用していた。Cosmos Labsは18桁の設定でテストを行い、結果を再現できず、既知の本番ネットワークは安全だと結論づけた。この結論は誤りだった。根本的な残高の不整合は、小数点以下の設定にかかわらず、すべてのCosmos EVMチェーンに影響を与える可能性があった。

その後の報告で影響範囲の広さが判明すると、Cosmos Labsは本番環境の資金が危険にさらされていることを知った。同社は、攻撃者を助ける詳細を公開せずに修正コードを運営者の手に渡すことを意図したサイレントパッチ方式を選択した。

リリースは最初の確認された攻撃の約20時間前に入手可能だったが、そのノートは深刻さを明記しておらず、アップグレードの遅延がユーザー資金を危険にさらす可能性を運営者に伝えていなかった。運営者は新しいリリースにセキュリティ修正が含まれることは確認できたが、未対応のチェーンが資金損失のリスクに直面しているという説明はノートにはなかった。

開示は翌朝に公開された。下流フォークのプルリクエストが攻撃経路を説明し、影響を受けるリリースタグを特定したのは、最初の攻撃の約12時間前だった。この公開されたプルリクエストは攻撃者に明確な道筋を与え、Cosmos Labsはすでに緊急性を説明する警告を運営者に与えていなかった。

Cosmos Labsが直面したジレンマは、オープンソースセキュリティにおいてよく知られたものである。脆弱性を完全に開示すれば、すべての運営者がパッチを適用する前に攻撃者に武器を与える可能性があり、沈黙を保てば運営者が緊急性を判断できなくなる。ソフトウェア業界全体の調整的開示の実践はまさにこのトレードオフのバランスを取ろうとするものであり、この事件はそのバランスが両面で誤った場合に何が起こるかを示している。

Cosmosは警告が必要なすべてのチェーンを把握していなかった

私的な警告プロセスであっても、メンテナーが誰に連絡すべきかを知っていなければ機能しない。Cosmos Labsによると、エコシステムには115を超える既知の公開チェーンが存在するが、完全な登録簿がない。対応の過程で、同社はセキュリティチャネルに登録されていない11のCosmos EVMデプロイを把握した。

Cosmos Labsは、それをデプロイしたすべてのネットワークを知らないまま共有コードを維持していた。この隙間があるため、チェーンチームが自ら脅威を認識できるだけの情報を公開する前に、機密警告を届けることが困難だった。

対応の時系列は、メッセージが明示的でなければならなかった理由も示している。MANTRAが最初の攻撃を報告した後、Cosmos Labsは約2時間後に最初の重大なセキュアメールを送信した。それ以前の連絡にもかかわらず、TACはMANTRAの約45時間後に攻撃され、ガイダンスは後にすべてのCosmos EVMチェーンに停止を勧告するレベルまで引き上げられた。

独立したCosmos EVMチェーンにとって、コードの公開だけでは不十分だった。それらのチームは、アップグレードが緊急であることを知り、状態を破壊するリリースを調整する必要があった。

脆弱なチェーンはアップグレードまたは停止すべき

重大なセキュリティ勧告は、0.6.2より前のバージョンと、0.7.0から0.7.2未満までのバージョンを影響を受けるものとして挙げている。運営者はCosmos EVM 0.6.2、0.7.2またはそれ以降のリリースに移行すべきである。

設定のみの回避策は存在しない。ステーキングプリコンパイルを無効化すれば勧告に記載された主要なトリガーは除去されるが、Cosmos Labsはその手段をアップグレードの代替とは見なしていない。修正済みリリースを直ちにインストールできないチェーンは停止すべきである。

BTCPayは資金の盗難を確認した後、同様にバージョン固有の指示を最近発表した。影響を受けるインストールを更新するか、オフラインにすることを求めるものだ。いずれの場合も、有用なガイダンスが具体的であるのは、リスクが使用中のソフトウェアバージョンに依存するためである。

次に修正すべきは開示プロセス

Cosmos Labsは、報告者の概念実証を超えて脆弱性のトリアージを拡大し、セキュリティ連絡網を拡充し、それらの連絡先が応答可能か確認すると述べた。また、メンテナーが調整されたアップグレードの代わりに停止を勧告すべき状況を含め、非公開パッチおよびサイレントパッチに関するより明確な基準を計画している。運用セキュリティ対策の外部監査も計画されている。

これらの変更は、別のコードパッチでは解決できない事件の側面、つまり独立したチェーンの分散型グループが時間に敏感な警告をどのように受け取り、理解し、行動するかという問題に対処するものである。最初の評価はバグを狭く捉えすぎた。その後のリリースプロセスは、修正をインストールすべき人々の一部から緊急性を隠した。コードは最初の攻撃前に入手可能だった。複数の運営者に欠けていたのは、待機がユーザー資金を失う可能性があるという警告だった。

本記事は情報提供のみを目的としており、金融、投資またはセキュリティに関する助言を構成するものではない。ネットワーク運営者は公式のCosmos EVM勧告を参照し、デプロイ済みのバージョンを確認すべきである。

出典: Coindoo