Microsoft Security Response Centerは米国時間2月20日、同社のウェブサーバ製品「Internet Information Services」(IIS)に存在する、サービス妨害攻撃が可能になる脆弱性についてのセキュリティアドバイザリを発表した。
Microsoftによると、「Windows 10」および「Windows Server 2016」に付属しているIISサーバには、HTTP/2リクエストの処理に脆弱性が存在するという。
HTTP/2は普通のユーザーがブラウザでアクセスするウェブの基盤となっている、HTTPプロトコルの最新バージョンだ。
同社は、IISサーバがHTTP/2のリクエストを処理する際に、CPUの使用率が100%に上昇し、システム全体が事実上停止したり、動作が遅くなったりする状況が存在すると述べている。
この問題を発見したのは、F5 NetworksのソフトウェアエンジニアGal Goldshtein氏だ。この脆弱性については、Microsoftのセキュリティアドバイザリ(ADV190005)以外には詳しい情報が出回っていない。
アドバイザリでは、この問題について次のように説明している。
HTTP/2の仕様では、クライアントは任意の数のパラメータを持つ、任意の数のSETTINGSフレームを指定できます。一定の状況では、過剰な設定が指定されると、サービスが不安定になり、接続のタイムアウトが発生して接続が切断されるまで、CPUの使用率が一時的に大きく上昇する場合があります。
同社は、IISサーバが処理できるHTTP/2リクエストのSETTINGSパラメータの数に上限を設定できる機能を追加することで、この問題を解決した。
2月19日には、このIISに対するサービス妨害攻撃を可能にする脆弱性を修正するために、複数の累積アップデート(KB4487006、KB4487011、KB4487021、KB4487029)が公開されている。
アップデートを適用すると、HTTP/2のSETTINGSのしきい値をカスタマイズすることで、この脆弱性が原因でIISのサービスが停止するのを防止できるようになる。
同社は、「しきい値はIISの管理者によって設定される必要があり、Microsoftによってあらかじめ設定されているわけではない」と述べている。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。