2023年10月版 最速! 危険度の高い脆弱性をいち早く解説「脆弱性研究所」第15回
10月に公開された重大な脆弱性(CISA KEV参照)
10月に新たに公開された脆弱性は2664となります。この中で特に重大な脆弱性をいくつかピックアップして説明したいと思います。
第三回で説明したCISAによる「実際に悪用されている脆弱性(Known Exploited Vulnerabilities Catalog)」のデータベース情報もあわせて載せています。
10月にCISAのKEVに登録された脆弱性はトータル23件で、内訳は
- Cisco: 3件
- Microsoftt: 3件
- F5: 2件
- Adobe: 1件
- Apple: 1件
- Arm: 1件
- Attlasian: 1件
- Citrix: 1件
- Google: 1件
- IETF(HTTP/2): 1件
- JetBrains: 1件
- Progress: 1件
- Roundcube: 1件
となっています。
参考情報
- CISA「Known Exploited Vulnerabilities Catalog」
1. HTTP/2の脆弱性(CVE-2023-44487)。8月に最大規模のDDoS(分散型サービス妨害)攻撃を検知していたと発表。
HTTP/2で、リクエストのキャンセルにより、DoSを引き起こせる脆弱性(CVE-2023-44487)がAWS, Cloudflare, Googleの三社により公表されました。この発表によると、8月時点で該当脆弱性を悪用した最大規模のDDoS攻撃が検知されていたようです。ここでは、このHTTP/2の脆弱性に関しての情報をまとめています。
一次情報源
- Google: The novel HTTP/2 ‘Rapid Reset’ DDoS attack
- Cloudflare: HTTP/2 Rapid Reset: deconstructing the record-breaking attack
- AWS: How AWS protects customers from DDoS events
CVE情報
今回公開されたCVEは以下になります。
- CVE-2023-44487
- CVSS
- Base Score 7.5 High
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- HTTP/2 プロトコルでは、2023 年 8 月から 10 月にかけて悪用されたように、リクエストのキャンセルにより多くのストリームが即座にリセットされる可能性があるため、サービス拒否 によるDoS(サーバー リソースの消費) が可能になります。
- CVSS
脆弱性詳細
ストリーム多重化
そもそもHTTP/2の設計思想の一つとして、エンドポイント間での「通信の効率化」がありました。HTTP/2 は、エンドポイント間で、さまざまなメッセージ(フレーム)を送信するために、双方向のより抽象化された「ストリーム」を使用します。
各TCP接続の利用率を高めるために、HTTP/2の主要な機能として「ストリーム多重化」があります。ストリームは、1 つのレイヤ4接続のみを使用しながら、接続の両側でトラッキングできる方法で多重化されます。ストリーム多重化により、クライアントは複数の個別の接続を管理する必要はなくなり、複数の実行中のリクエストを持つことができます。
ストリーム多重化による問題
HTTP/1.1 では、各リクエストはシリアルに処理されるため、単一の接続で送信できるリクエストの割合が1ラウンドトリップ(ネットワーク遅延、プロキシ処理時間、バックエンドリクエストの処理時間などを含んだ時間)ごとに1 リクエストとなっていました。
その一方で、HTTP/2 を使用するとクライアントは、単一のTCP接続上で複数の同時ストリーム(HTTPリクエスト)を開けます。理論上は同時にオープンするストリーム最大数はサーバーによって制御可能ですが、実際にはクライアントはリクエストごとに100個のストリームをオープンでき、サーバーはこれらのリクエストを並行して処理します。サーバー制限は一方的に調整できないことに注意することが重要です。
たとえばクライアントは100個のストリームを開き、それぞれのストリームに対して1往復でリクエストを送信できます。これにより、HTTP/1.1リクエストと比べて1往復あたり100リクエストの単一接続が得られます。これにより各接続の使用率がほぼ100倍になります。
HTTP/2 ラピッド リセット攻撃
HTTP/2 プロトコルを使用すると、クライアントは RST_STREAM フレームを送信することで、前のストリームをキャンセルできます。このプロトコルでは、クライアントとサーバーがキャンセルを調整する必要はなく、クライアントが一方的にキャンセルを行えます。この攻撃は「ラピッド リセット攻撃」と呼ばれます。これにより、他のエンドポイントが動作を開始し、リクエストが急速にリセットされます。 リクエストはキャンセルされますが、HTTP/2接続は開いたままになります。
クライアントは一般のHTTP/2での攻撃と同様に一度に多数のストリームを開きますが、サーバーからの応答を待たずに各リクエストをすぐにキャンセルします。ストリームを即座にリセットできるため、各接続は理論上無制限の数のリクエストを処理することができます。リクエストを明示的にキャンセルすることで、攻撃者は同時オープンストリーム数の制限を超えることはありません。処理中のリクエストの数はラウンドトリップ時間 (RTT) には依存しなくなり、利用可能なネットワーク帯域幅のみに依存します。
一般的なHTTP/2サーバーの実装では、リクエストがキャンセルされているにも関わらず、サーバーは一旦新しいストリームデータ構造の割り当てや、クエリの解析、ヘッダーの解凍、URL のリソースへのマッピングなど、大量の作業を実行する必要があります。一方で、クライアントはリクエストの送信にかかる費用をほとんど負担しない状態となります。
ある意味では、HTTP/2ラピッド リセット攻撃は「新しいタイプの HTTPリクエストフラッド」とも言えます。また、実際の攻撃では、攻撃者が20000台程度のマシンからなるボットネットを使用して、1秒あたり2億以上のリクエスト攻撃を生成できたらしいこともわかっています。
Cloudflareのブログからは、合計 1000 件のリクエストを試行するPoCクライアントを使用して再現された高速リセットのpcapファイルがダウンロードできます。このpcapファイルをWiresharkで解析すると
1.パケット14(サーバーからの応答)では、サーバーが「最大同時ストリーム数は100です」と送ってきていることがわかります。
2.一方、その次のパケット15(クライアントからの送信)では、1051のストリーム(HTTP/2のHeadersフレーム)が含まれていることがわかります。
このように、サーバーが100の同時ストリームを返答してきたにも関わらず、クライアントはそれよりもはるかに多くのHEADERSフレームを送信できています。 ちなみに、このパケット15での通信内にはRST_STREAM フレームがありません(RST_STREAMフレームはパケット17で出てきます)。これは、パケット15ではサーバーが同時ストリーム違反を観察しなかったことを示しています。
被害状況
- Googleでは8月の最大の攻撃で 1秒あたり3億9800万リクエストを超えたDDoS攻撃を受けました 。
- Cloudflareでは1秒あたり2億100万以上のリクエストを検知しました。
- AWSでは1秒あたり1億5500万以上のリクエストを検知しました。
修正方法
HTTP/2を使用している各ソフトウェア上で、脆弱性の対応版がリリースされていますので、そちらをダウンロードしてパッケージを更新してください。
- Apache TomcatではTomcat 10.1.4で本脆弱性の対応を行いました。
- Apache HTTPDではApache HTTPD 2.4.58で本脆弱性の対応を行いました。
- Red HatではBugzillaのこちらに登録されています。
- SuSEではこちらの様に登録されています。
- kubernetesのAPIサーバーではこちらに対応がまとまっています。
- AKSではこちらに対応がまとまっています。
- nginxではこちらに対応がまとまっています。
- Microsoftではこちらに対応がまとまっています。
また、CISAでもセキュリティアラートを出しており、各製品へのリンクもまとまっていますので、ぜひ参考にしてください。
参考情報
- Google: The novel HTTP/2 ‘Rapid Reset’ DDoS attack
- Cloudflare: HTTP/2 Rapid Reset: deconstructing the record-breaking attack
- AWS: How AWS protects customers from DDoS events
- CISA: HTTP/2 Rapid Reset Vulnerability, CVE-2023-44487
2. Ciscoの新しいIOS XEのゼロデイ脆弱性(CVE-2023-20198, CVE-2023-20273)が積極的に悪用される
2023/10/16にCisco社がIOS XEのゼロデイ脆弱性を公開しました。これはWebユーザーインターフェイス(Web UI)機能が有効になっており、HTTPまたはHTTPSサーバー機能もオンになっているデバイスにのみ影響する脆弱性です。そのため、回避策もHTTP/HTTPSサーバー機能をオフにするということになります。
まず最初にリモートから特権レベル15のアクセス権を持つアカウントを作成できるという脆弱性(CVE-2023-20198)が発見されました。さらにその後の調査で、別のコマンドインジェクション脆弱性(CVE-2023-20273)も悪用されていることが判明しました。
CVE情報
公開されたCVEは以下になります。
CVE-2023-20198
- 一時情報源
- CVSS
- Base Score: 10.0 Critical
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
- CVE-2023-20198 を悪用することにより、リモートから非認証の攻撃者が対象となるシステム上で、特権レベル15のアクセス権を持つアカウントを作成することができます。このアカウントを利用すると、攻撃者は対象となるシステムを制御する権限を得ます。
CVE-2023-20273
- 一時情報源
- CVSS
- Base Score: 7.2 High
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
- Cisco IOS XE ソフトウェアの Web UI 機能の脆弱性により、認証されたリモート攻撃者が root 権限でコマンドを挿入できる可能性があります。この脆弱性は入力値の検証が不十分であることが原因です。攻撃者は特別に細工した入力をWeb UI に送信することで、この脆弱性を悪用する可能性があります。悪用に成功すると、攻撃者が root 権限で基盤OSにコマンドを挿入できる可能性があります。
影響を受ける製品
Cisco IOS XE Softwareが対象となります。今回の脆弱性はWeb UI機能が有効になっている場合が対象です。Web UI機能は、ip http server または ip http secure-server コマンドを使用することで有効になります。
HTTPサーバー機能の確認方法
HTTP サーバー機能がシステムで有効になっているかどうかを確認するには、システムにログインし、show running-config | include ip http server | secure | active コマンドを使用します。グローバル設定で「ip http server」または「ip http secure-server」というコマンドが有効化されている(含まれている)場合には、HTTPサーバー機能が有効になっており、従ってWeb UI機能も有効になっています。
例えば、下記のように出力された場合、HTTPサーバー機能が有効になっており、従ってWeb UI機能も有効になっています。
Router# show running-config | include ip http server|secure|active
ip http server
ip http secure-server
HTTPサーバー機能が有効になっていても影響を受けないケース
下記のように、それぞれコマンドが含まれていても、個別の設定がされている場合には、今回の脆弱性の影響を受けません。
- ip http serverコマンドが存在し、設定にip http active-session-modules noneも含まれている場合、脆弱性はHTTPでは不正利用できません。
- ip http secure-serverコマンドが存在し、設定にip http secure-active-session-modules noneも含まれている場合、脆弱性はHTTPSでは不正利用できません。
回避策
脆弱性に対する直接の回避策はありませんが、HTTP サーバー機能を無効にすることで脆弱性が悪用不可となります。グローバル コンフィギュレーション モードで no ip http server または no ip http secure-server コマンドを使用して、HTTP サーバー機能を無効にすることができます。HTTP サーバーと HTTP セキュア サーバーの両方が使用されている場合、HTTP サーバー機能を無効にするには両方のコマンドが必要です。
また、HTTPサーバーへのアクセスを信頼できるネットワークのみに制限することで、脆弱性が悪用されるリスクが限定的となります。以下の例では、信頼できる 192.168.0.0/24 ネットワークから HTTP サーバーへのリモートアクセスを許可する方法を示しています。
!
ip http access-class 75
ip http secure-server
!
access-list 75 permit 192.168.0.0 0.0.0.255
access-list 75 deny any
修正方法
2023/10/29時点では、Cisco IOS XE Software Release Trainの17.6, 17.9は修正版が出ています。17.3, 16.12はTBD(未定)となっていますので、修正版がリリースされるまでは迂回策のようにHTTPサーバー自体を停止するか、接続できるIPを制限することになります。
また、TBDとなっている製品に関しても、後に修正版がリリースされる可能性がありますので、サポートからのメールやサポートサイトを頻繁に確認しておいたほうが良いでしょう。
悪用の状況
Ciscoでは悪用を確認しているようです。また、CISA KEVにも悪用が確認された脆弱性として10/16にすぐに登録されています。
侵害の痕跡(IoC)
システムが侵害されたかを確認するには、システムログをチェックします。
「user」の箇所は「cisco_tac_admin」、「cisco_support」、またはネットワーク管理者が認識していないローカルユーザーになっている可能性があります。
%SYS-5-CONFIG_P: Configured programmatically by process SEP_webui_wsma_http from console as user on line
%SEC_LOGIN-5-WEBLOGIN_SUCCESS: Login Success [user: user] [Source: source_IP_address] at 03:42:13 UTC Wed Oct 11 2023
参考情報
- Multiple Vulnerabilities in Cisco IOS XE Software Web UI Feature
- Cisco Releases Security Advisory for IOS XE Software Web UI
3. Citrix Netscaler ADC/Gatewayの脆弱性(CVE-2023-4966)
10/10にCitrix Netscaler ADC/Gatewayの脆弱性(CVE-2023-4966)が公開されました。こちらの脆弱性も既に悪用が観測されているものになります。以下で脆弱性について簡単にまとめてみます。
一次情報源
CVE情報
CVE-2023-4966
- CVSS
- Base Score: 9.4 Critical
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
- ゲートウェイ (VPN 仮想サーバー、ICAプロキシ、CVPN、RDPプロキシ) または AAA 仮想サーバーとして構成されている場合の、NetScaler ADC / NetScaler Gateway での重要な情報の漏洩
CVE-2023-4967
- CVSS
- Base Score: 8.2 High
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
- ゲートウェイ (VPN 仮想サーバー、ICAプロキシ、CVPN、RDPプロキシ) または AAA 仮想サーバーとして構成されている場合の、NetScaler ADC / NetScaler Gateway でのDoSの脆弱性
影響を受ける製品
- NetScaler ADC および NetScaler Gatewayの14.1 14.1-8.50 より前
- NetScaler ADC および NetScaler Gatewayの13.1 13.1-49.15 より前
- NetScaler ADC および NetScaler Gatewayの13.0 13.0-92.19 より前
- NetScaler ADC 13.1-37.164より前のNetScaler ADC 13.1-FIPS
- NetScaler ADC 12.1-55.300より前のNetScaler ADC 12.1-FIPS
- NetScaler ADC 12.1-NDcPP 12.1-55.300より前
悪用の状況
Mandiant は、この脆弱性の悪用が 2023 年 8 月下旬から実際に行われていることを確認しています。悪用に成功すると、既存の認証されたセッションがハイジャックされる可能性があり、その結果、多 要素認証 (MFA) やその他の強力な認証要件がバイパスされる可能性があります。
参考情報
- NetScaler ADC and NetScaler Gateway Security Bulletin for CVE-2023-4966 and CVE-2023-4967
- Mandiant: Citrix NetScaler ADC/Gateway: CVE-2023-4966 Remediati
10月のまとめ
10月も大きな脆弱性や脆弱性を悪用した攻撃が数多く見られました。ネットワーク製品にも多くの脆弱性が出ていますので、なるべく更新を確認して早めの更新を検討してください。また、今回は取り上げませんでしたが、iPhoneなどのOSに関しても更新が頻繁に行われています。こちらも脆弱性の情報などをなるべく早くキャッチして、即座に対応しましょう。
<著者> 面 和毅
サイオステクノロジー株式会社 上席執行役員
OSS/セキュリティエバンジェリスト
OSSのセキュリティ専門家として20年近くの経験があり、主にOS系のセキュリティに関しての執筆や講演を行う。大手ベンダーや外資系、ユーザー企業などでさまざまな立場を経験。
2015年からサイオステクノロジーのOSS/セキュリティエバンジェリストとして活躍中。また、ヒートウェーブ株式会社でも講師として活動中。
専門分野はSELinuxを含むOSのアクセス制御、AntiVirus、SIEM、脅威インテリジェンス。
「脆弱性研究所」の最新話は、メールマガジンにてもご案内致しています。是非JAPANSecuritySummit Updateのメールマガジンにご登録ください。
メールマガジンの登録はこちらからお願いします
最速! 危険度の高い脆弱性をいち早く解説「脆弱性研究所」の過去の記事はこちらから