こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
08/13/2019にNetflixからいくつかのHTTP2実装に起因するDoSの問題に関してアドバイザリーが出されました(CVE-2019-9511, CVE-2019-9512, CVE-2019-9513, CVE-2019-9514, CVE-2019-9515, CVE-2019-9516, CVE-2019-9517, CVE-2019-9518)。今後も情報が出てくると思われますので、こちらで取り上げます。
逐次情報は更新していく予定です。
2019/08/20 04:30 更新:Red HatとNode.jsの情報を追記しました。
2019/08/21 00:30 更新:kubernetesの情報を追記しました。
Priority/CVSS
- CVE-2019-9511
- SuSE
- Red Hat Customer Potal
- CVSS v3 Base Score: 6.5(Important)
- Vector: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- NVD
- SuSE
- CVE-2019-9512
- SuSE
- Red Hat Customer Potal
- CVSS v3 Base Score: 7.5 (Important)
- Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- NVD
- SuSE
- CVE-2019-9513
- SuSE
- Red Hat Customer Potal
- CVSS v3 Base Score: 7.5(Important)
- Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- NVD
- SuSE
- CVE-2019-9514
- SuSE
- Red Hat Customer Potal
- CVSS v3 Base Score: 7.5(Important)
- Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- NVD
- SuSE
- CVE-2019-9515
- SuSE
- Red Hat Customer Potal
- CVSS v3 Base Score: 7.5(Important)
- Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- NVD
- SuSE
- CVE-2019-9516
- SuSE
- Red Hat Customer Potal
- CVSS v3 Base Score: 6.5(Important)
- Vector: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- NVD
- SuSE
- CVE-2019-9517
- SuSE
- Red Hat Customer Potal
- CVSS v3 Base Score: 7.5(Important)
- Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- NVD
- SuSE
- CVE-2019-9518
- SuSE
- Red Hat Customer Potal
- CVSS v3 Base Score: 7.5(Important)
- Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- NVD
- SuSE
関連ニュース/関連情報
SW提供情報
- Red Hat
- Apache Traffic Server
[ANNOUNCE] Apache Traffic Server is vulnerable to various HTTP/2 attacks
- Apple
- Nginx
NGINX Updates Mitigate the August 2019 HTTP/2 Vulnerabilities
- Node.js
- Kubernetes
修正方法
各ディストリビューションの情報を確認してください。
脆弱性概要(詳細は一次情報源のサイトをご確認ください)
Netflixが幾つかのサードパーティ製のHTTP/2実装にリソース枯渇の原因となる問題を見つけました。これらの攻撃によりHTTP/2接続をサポートしているサーバに対してDoS攻撃を仕掛けることが可能です。
これはHTTP/2実装でのセキュリティ考慮事項に関するRFC 7540 Section 2で”通常の”振る舞いはきちんと書かれているのに対して、”通常でない(abnormal)”振る舞いに関しては曖昧に記されているためです。
以下の脆弱性はNetflixのJonathan Looney氏と(CVE-2019-9518に関しては)GoogleのPiotr Sikora氏により発見されました。
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9511
- リモートからのDoSの可能性(Data Dribble)
- 攻撃者は、複数のストリームで指定された特定のリソースから大量のデータを要求します。攻撃者はサーバーに対して、ウィンドウサイズとストリームの優先度を操作して、データを1バイト単位でキューに入れさせます。 このデータがどれだけ効率的にキューに入れられるかによって、CPU、メモリ、またはその両方が過剰に消費され、DoSを引き起こす可能性があります。
- リモートからのDoSの可能性(Ping Flood)
- 攻撃者は継続的なpingをHTTP/2ピアに送信し、ピアに応答の内部キューを作成させます。このデータがどれだけ効率的にキューに入れられるかによって、CPU、メモリ、またはその両方が過剰に消費され、DoSを引き起こす可能性があります。
- リモートからのDoSの可能性(Resource Loop)
- 攻撃者は複数のリクエストストリームを作成し、優先度ツリーにかなりの混乱を引き起こすような方法でストリームの優先度をシャッフルします。 これによりCPUが過剰に消費され、DoSを引き起こす可能性があります。
- リモートからのDoSの可能性(Reset Flood)
- 攻撃者は多数のストリームを開き、ピアからRST_STREAMフレームストリームを要求する必要がある、各ストリームを介して無効な要求を送信します。 ピアがRST_STREAMフレームをキューに入れる方法に応じて、CPU、メモリ、またはその両方が過剰に消費され、DoSを引き起こす可能性があります。
- リモートからのDoSの可能性(Setting Flood)
- 攻撃者は、SETTINGSフレームのストリームをピアに送信します。RFCでは、ピアがSETTINGSフレームごとに1つの確認応答で応答する必要があるため、空のSETTINGSフレームの動作はpingとほぼ同等です。このデータがどれだけ効率的にキューに入れられるかによって、CPU、メモリ、またはその両方が過剰に消費され、DoSを引き起こす可能性があります。
- リモートからのDoSの可能性(0-length Headers Leak)
- 攻撃者は、長さ0のヘッダー名と長さ0のヘッダー値を持つヘッダーのストリームと、オプションで1バイト以上のヘッダーにエンコードされたHuffmanを送信します。 一部の実装では、これらのヘッダーにメモリを割り当て、セッションが終了するまで割り当てを維持します。これによりメモリが過剰に消費され、DoSが発生する可能性があります。
- リモートからのDoSの可能性(Internal Data Buffering)
- 攻撃者はHTTP/2ウィンドウを開き、ピアが制約なしで送信できるようにします。 ただし、TCPウィンドウは閉じたままなので、ピアは実際に(多くの)バイトを書き込むことができません。その後、攻撃者は大きな応答オブジェクトに対するリクエストのストリームを送信します。サーバーが応答をキューに入れる方法によっては、CPU、メモリ、またはその両方が過剰に消費され、DoSを引き起こす可能性があります。
- リモートからのDoSの可能性(Empty Frames Flood)
- 攻撃者は、空のペイロードとストリームの終了フラグなしで、フレームのストリームを送信します。 これらのフレームは、DATA、HEADERS、CONTINUATION、PUSH_PROMISEのいずれかまたは両方です。 ピアは各フレームの処理に時間を費やします。これにより、CPU、メモリ、またはその両方が過剰に消費され、DoSを引き起こす可能性があります。
主なディストリビューションの対応状況
詳細は、各ディストリビューションの提供元にご確認ください
- Debian
https://security-tracker.debian.org/tracker/CVE-2019-9512
https://security-tracker.debian.org/tracker/CVE-2019-9511
https://security-tracker.debian.org/tracker/CVE-2019-9513
https://security-tracker.debian.org/tracker/CVE-2019-9514
https://security-tracker.debian.org/tracker/CVE-2019-9515
https://security-tracker.debian.org/tracker/CVE-2019-9516
- Red Hat Enterprise Linux/CentOS
https://access.redhat.com/security/cve/CVE-2019-9511
https://access.redhat.com/security/cve/CVE-2019-9512
https://access.redhat.com/security/cve/CVE-2019-9513
https://access.redhat.com/security/cve/CVE-2019-9514
https://access.redhat.com/security/cve/CVE-2019-9515
https://access.redhat.com/security/cve/CVE-2019-9516
- Ubuntu
https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-9511.html
https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-9512.html
https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-9513.html
https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-9514.html
https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-9515.html
https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-9516.html
https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-9517.html
https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-9518.html
- SUSE/openSUSE
https://www.suse.com/security/cve/CVE-2019-9511.html
https://www.suse.com/security/cve/CVE-2019-9512.html
https://www.suse.com/security/cve/CVE-2019-9513.html
https://www.suse.com/security/cve/CVE-2019-9514.html
https://www.suse.com/security/cve/CVE-2019-9515.html
https://www.suse.com/security/cve/CVE-2019-9516.html
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。
また、OSの再起動が発生しますので、peacemakerなどOSSのクラスタ製品やLifeKeeperなどの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます。
セキュリティ系連載案内
- OSSセキュリティ技術の会による日経Linuxでの連載「IoT時代の最新SELinux入門」がITPro上で読めるようになりました。技術の会代表で第一人者である中村さん等による、最新のSELinuxの情報やコマンド類等も更新されているのでお薦めです。
- OSSセキュリティ技術の会によるThinkITでの連載「開発者のためのセキュリティ実践講座」がThinkIT上で開始しました。技術の会の中の人間で、最新の代表的なOSSセキュリティ技術を紹介していきます。
- OSSセキュリティ技術の会により、ThinkITでLinuxSecuritySummit 2018のレポートが紹介されています。
- OSSセキュリティ技術の会の面により、@ITで「OSS脆弱性ウォッチ」が連載されています。
- OSSセキュリティ技術の会の面により、@ITで「OpenSCAPで脆弱性対策はどう変わる?」が連載されています。
- OSSセキュリティ技術の会のメンバーにより、@ITで「Berkeley Packet Filter(BPF)入門」が連載されています。
セミナー情報1
コンピュータセキュリティシンポジウム2019(長崎)が2019年10月21日(月) ~ 10月24日(木)で開催されます。
こちらですが、OSSセキュリティ技術の会も後援になっており、オープンソースソフトウェア(OSS)セキュリティ技術トラック(略称:OWSトラック) も用意しております。
セミナー情報2
“distro info”: vol.1 と題しまして、各種ディストリビューションの情報を関係者から直接お届けするイベント「distro info」が開催されます。
今回は、先日リリースされたDebian10について、Debianの概要から含めての説明〜Debian10での特徴の紹介をします。ざっくり概要を把握されたい方から、発表者に確認の質問をしてみたい方までどうぞご参加下さい。
また、先月末にブラジルでDebian Conferenceが行われましたのでその紹介を行います。「Debianのカンファレンスってこんなのなんだな」というのを現地エピソードなど交えてお話します。