ポリゴンPoS、ノードに過大な負荷をかける2件の脆弱性を修正。悪用は確認されず

少ない取引コストでノードに過大な負荷をかける問題

ポリゴン・ラボ(Polygon Labs)が、ブロックチェーン「ポリゴンPoS(Polygon PoS)」のノードソフトウェア「ボー(Bor)」に存在した2件の脆弱性を修正したと10月15日に発表した。修正版「Bor v2.10.3」は、メインネットとテストネット「アモイ(Amoy)」向けに公開された。

これらの脆弱性を悪用すると、比較的少ない取引コストでノードに過大な負荷をかけ、ブロックの処理を遅延させることが可能だった。なお、ポリゴン・ラボは、両ネットワークで把握する限り悪用はなかったと説明している。

ボーは、ポリゴンPoSで取引やブロックを処理するためのソフトウェアだ。今回修正されたのは、複数の取引を並行して処理する機能「ブロックSTM V2(BlockSTM V2)」に存在した2件のサービス拒否(DoS)に関する脆弱性だ。DoSは、システムに過大な負荷をかけて正常な処理を妨害する攻撃を指す。いずれも深刻度は「中(Medium)」で、ブロックSTM V2が標準で有効になっているBor v2.10.1とv2.10.2に存在していた。

具体的には、1件目は並列処理で計算結果を一時保存する領域に容量の上限がなく、ノードのメモリを過剰に消費する可能性がある問題だ。ポリゴン・ラボの検証では、ブロックの処理に1秒以上かかるケースが確認された。同様の負荷が繰り返されると、ノードが新しいブロックの処理に追いつけなくなる可能性があった。この問題への対策として、ポリゴン・ラボは保存領域に上限を設けた。

一方、2件目はスマートコントラクトの処理で同じ計算が繰り返され、ノードに過大な負荷がかかる問題だ。検証では、通常の逐次処理なら数十ミリ秒で完了する取引が、並列処理では約11秒かかった。この問題への対策として、ポリゴン・ラボは計算結果を再利用する仕組みに変更した。

なお、今回の脆弱性はノードの処理速度や安定稼働に関するもので、取引履歴について合意するコンセンサスに影響する問題ではない。また、今回の修正によって取引の実行結果が変わることもないとのことだ。

ポリゴン・ラボは、ブロックの生成や検証を担うバリデーターや主要なインフラ提供事業者に、非公開版を先行配布した。具体的には、10月5日からアモイ、10月8日からメインネットでバリデーターや主要なインフラ提供事業者による先行導入が進められた。その後、多くのバリデーターや主要なインフラ提供事業者が修正版を導入した段階で、同社は公開版をリリースした。

今回の更新では、ネットワークの基本的なルールを変更するハードフォークは必要なく、ノードを個別に更新できる。同社はv2.10.2以前を使用する運用者に対し、できるだけ早くv2.10.3へ更新するよう求めている。

参考:フォーラム1・フォーラム2
画像:PIXTA

関連ニュース

参照元:ニュース – あたらしい経済

コメント

タイトルとURLをコピーしました