ブロックチェーンセキュリティ企業Oak Securityは、 Cosmos チェーンのソフトウェア開発キット(SDK)に存在する脆弱性について懸念を表明した。この脆弱性は、ネットワークへの分散型サービス拒否(DDoS)攻撃につながる可能性がある。同社の研究者であるエドワード・コティッシュ氏とクリスチャン・ヴァリ氏は、Mediumへの投稿で、これがなぜ重大なリスクなのかを説明した。.
研究者によると、この脆弱性はBeginBlock関数とEndBlock関数がガスメーターの計測対象になっていないことに起因する。これは設計上の仕様であり、これらの2つの関数は必ずしもユーザーのトランザクションに影響を与えるわけではないため、開発者が計算時間を自由に使えるようにするためである。
しかし、セキュリティ専門家は、開発者にとっての小さな自由を意図したものが、実際には Cosmosベースのネットワークに様々な形で重大な損害を与える可能性があると警告しました。具体的には、ネットワークの輻輳を引き起こしたり、バリデータに影響を与えたり、さらには完全な機能停止につながる可能性があります。.
彼らはこう言いました。
「この自由度は諸刃の剣であり、潜在的な脆弱性というパンドラの箱を開けてしまう可能性があります。主な問題は、ガス制限がないと、BeginBlockとEndBlock内の最適化が不十分なコードや悪意のあるコードが、大きな損害を引き起こす可能性があることです。」
研究者たちは、この脆弱性の潜在的な影響に関する仮説を検証するために実験を行いました。ある実験では、様々なブロック高において、BeginBlock関数に5秒から1分までのランダムな遅延を導入しました。.
専門家たちは実験の結果、遅延によってネットワークに重大な混雑が生じ、処理が遅くなり、ブロックの完成に必要な時間が長くなることを確認しました。また、バリデーターにも影響が出ており、一部のバリデーターは必要なタイミングでブロックに署名できず、投票フェーズを完全に欠落しているケースもありました。.
当然のことながら、トランザクションに署名できるバリデーターの数が限られていた(3分の2未満)ため、テストチェーンは一時的な停止に見舞われました。研究者らは、この停止はメインネット自体の完全な停止につながる可能性があると指摘しました。メインネットでは複数のトランザクションが同時に発生しており、その処理を確定させる必要があるためです。.
Oak Securityが開発者向けに修正を推奨
一方、セキュリティ専門家は、悪意のある攻撃者がこの脆弱性を悪用する前に修正するための解決策を推奨しています。専門家によると、過度の計算を引き起こすような攻撃ベクトルを誰でも簡単に追加できないように、厳格な計算境界を実装する必要があるとのことです。.
彼らはこのソリューションを実装するための3つの異なる方法をdentしました。具体的には、BeginBlock関数とEndBlock関数に時間計算量を追加してdefiに実行されないようにすること、リソースを大量に消費する操作を従量制コンテキスト内に保持するためのコンテキストラッピング、そして関数へのすべての入力を検証することなどです。.
さらに、彼らは、脆弱性がどのように悪用されるか、そしてそれがどのような影響を与える可能性があるかを判断するために、より包括的なテストとシミュレーションを求めました。.
また、ネットワークが標準の基準に従って動作し、重大な逸脱を検出することを保証するためのアーキテクチャ上の安全策と運用監視もdentしました。.
Cosmos SDKの新バージョンがリリース
一方、 Cosmos SDKは、セキュリティレポートについて、また自社側でこの問題に対処する予定があるかどうかについて、まだコメントしていません。これは、dentされた脆弱性が、最近のサプライチェーン攻撃に関するセキュリティアラートのように、バグやマルウェアではなく、実際には設計上の問題である可能性があるためです。.
幸いなことに、 Cosmos SDK を使用する開発者は、セキュリティ専門家からの推奨事項のほとんどを実装できるため、展開するものを制御し、DDoS 攻撃に対して脆弱ではないことを保証できます。.
興味深いことに、 Cosmos SDKは最近バージョンv0.53.0をリリースしました。Xの発表によると、このバージョンは以前のバージョンで開発者から指摘された問題点への対応策とのことです。
最新バージョンには、順序なしトランザクション、コミュニティプールの容量向上、カスタムガバナンスメカニズム、エポック、カスタムミント機能が搭載されているとのことです。また、バグ修正も行われており、開発者はGitHubからアップグレード可能です。.
Cosmos SDK は、開発者が独自のカスタマイズされたネットワークを簡単に構築し、ブロックチェーンのインターネットを目指すネットワークである Cosmos ブロックチェーンと統合するためのツールです。.

