セキュリティアドバイザリー

HTTP/2クライアント接続に関連した誤ったサービスルーティングについて

2019年11月14日

適用可能性


このセキュリティアドバイザリーは、Fastly のミネアポリス セントポール (STP) データセンターで、2019年11月11日午後9:57 UTC から2019年11月13日午前12:50 UTC の間 (約27時間) に HTTP/2クライアントリクエストが処理されたお客様に適用されます。すべてのお客様またはすべてのトラフィックに適用されるものではありません。


概要


2019年11月11日午後9:57 UTC に、Fastly は HTTP/2終端ソフトウェアの新しいビルドを、ミネアポリス セントポール (STP) データセンターにある Fastly の2台のキャッシュサーバーにデプロイしました。このビルドには、(HTTP/2多重化に関係しない) 内部 Fastly システムの間での接続再利用に関連する処理の欠陥があり、Fastly のお客様のサービスに対する入ってくる HTTP/2リクエストの一部が、最大20件の Fastly のお客様のサービスとオリジンのグループに誤ってルーティングされました。このため、一部のクライアントリクエストデータが、誤ったお客様のオリジンに配信され、そのお客様のオリジンからレスポンスが返されました。オリジンでこれらのリクエストを誤って受信したお客様は、誤ってルーティングされたリクエストデータを記録している可能性があります。


Fastly が最初にお客様からクライアントエラーの連絡を受けたのは、2019年11月12日午後11:07 UTC でした。2019年11月13日午前12:50 UTC には、すべてのカスタマートラフィックは、影響を受けたデータセンターを迂回するようになりました。Fastly は速やかに調査を開始し、2019年11月14日午前12:31 UTC には、誤ってルーティングされたリクエストデータの存在をお客様のログで検証しました。


私たちは、この障害が影響したのは、27時間の世界中のリクエストトラフィックのうち0.00016%と推定しました。また、影響を受けたクライアントリクエストが北米以外から送信された可能性は低いです。


Fastly はお客様のログデータを格納していないため、影響を受けたリクエストが誤ってルーティングされたかどうかを断定することができません。


影響


この27時間、問題はミネアポリス セントポール (STP) (トラフィックが少ない1つのデータセンター) の2台の Fastly キャッシュサーバーに限定され、すべてのカスタマートラフィックに影響したわけではありませんでした。


このデータセンターへのリクエストのうち、次の基準をすべて満たすものが影響を受けました。



  • 受信リクエストが HTTP/2介して行われた。

  • 受信リクエストが、20191111日午後9:57 UTC から20191113日午前12:50 UTC間に送信された。

  • リクエストが、障害が起こった HTTP/2 終端ソフトウェアが実行されていたミネアポリス セントポール (STP) データセンターの2台のキャッシュサーバーを介してルーティングされた。


影響を受けたリクエストは、Fastly の IP-to-Service Pinning 機能を使用している Fastly のお客様20社に誤ってルーティングされました。Fastly およびオリジンのロギング設定によりますが、これら20社では、クライアントリクエストデータを記録している可能性があります。Fastly は、お客様と協力してこのインシデントに関連するログデータを調査のために入手しました。また、影響を受けたお客様には、要請に基づいてそのログデータを提供しました。


影響を受けたリクエストを送信したクライアントは、誤ったサービスおよびオリジンからレスポンスを受けた可能性があります。このため、クライアントが、予期しないレスポンスを受信したかもしれません。誤ったオリジンが、認識しない Host ヘッダーと Uniform Resource Identifier (URI) を含むリクエストに応答した可能性あるためです。そのようなレスポンスの例は、誤ったオリジンからの404エラーページです (そのオリジンのテキストや画像などのコンテンツが含まれる可能性もあります)。


次のいずれかの基準を満たすリクエストは影響を受けませんでした。



  • 受信リクエストで、HTTP または HTTPS バージョン1.0または1.1使用された。

  • 受信リクエストがルーティングされたミネアポリス セントポール (STP) データセンターのキャッシュサーバーで処理上の不具合が含まれない HTTP/2 終端ソフトウェアのビルドが実行されていた。

  • 受信リクエストが他の Fastly データセンターにルーティングされた。


ミネアポリス セントポール (STP) データセンターでのこのインシデントに関して、現在、Fastly は以下のように推定しています。



  • ミネアポリス セントポール (STP)トラフィックは、影響を受けた時間帯に Fastly全世界でのトラフィックの0.01%を占めていました。

  • ミネアポリス セントポール (STP) データセンターへのリクエストの1.14%誤ってルーティングされた可能性があります。


ミネアポリス セントポール (STP) データセンターに送られるトラフィックのほぼすべては、米国中西部地域の ISP 経由で配信されるクライアントリクエストです。クライアントリクエストは通常は地理的に最も近いデータセンターにルーティングされます。ミネアポリス セントポール (STP) データセンターに届いたクライアントリクエストが北米以外から送信された可能性は低くなります。


対応


Fastly は、誤ったサービスからレスポンスを受け取ったリクエストを認識した時点で、すべてのカスタマートラフィックをミネアポリス セントポール (STP) データセンターから迂回させ、不具合が含まれている HTTP/2 終端ソフトウェアビルドを実行していた2台のキャッシュサーバーを使用できないようにしました。これにより、2019年11月13日午前12:50 UTC にはお客様への潜在的な影響が軽減されました。


さらに、Fastly は、この不具合がある HTTP/2終端ソフトウェアビルドは、ミネアポリス セントポール (STP) データセンターのこの2台のキャッシュサーバーにしか存在していないことを確認しました。Fastly ネットワークの他の場所にはデプロイされていませんでした。


Fastly ネットワーク全体でもテストを行いましたが、この不具合は他では検出されませんでした。


Fastly は IP-to-Service Pinning のお客様にご協力いただき、誤ってルーティングされたリクエストのうち推定98%についてログを収集し分析しました。収集したログデータは、2019年12月13日までに Fastly のシステムから削除される予定です。


Fastly は、近い将来ミネアポリス セントポール (STP) データセンターを再稼働させる予定です。予定が確定した時点で、Fastly ステータス (status.fastly.com/jp) を更新します。


Fastly は、セキュリティ、エンジニアリングおよびカスタマーチームレビューを多数実施しており、将来の本稼働デプロイメントで同様のインシデントが発生するリスクを低減するために、運用や開発の手順変更を導入しています。


詳細情報


その他にご質問がある場合は、Fastly カスタマー・エンジニアリング ・チーム (support@fastly.com) またはセキュリティチーム (security@fastly.com) までお問い合わせください。


バージョン履歴



  • バージョン1.3 -- 「概要」に、ログデータ分析の結果によって、影響を受けたリクエストの推定数の更新を反映しました。「影響」を更新し、Fastlyログデータ調査に関する情報を含め、ミネアポリス セントポール (STP) データセンタートラフィックの推定数を更新しました。「対応」に、このインシデントの際に Fastlyよって取得されたログデータの詳細と、ミネアポリス セントポール (STP) データセンターの再稼働の予定に関するお知らせを追加しました。2019124日午前12:12 UTC

  • バージョン1.2 -- 問題の明確化を反映するようにタイトルを更新しました。「概要」、「影響」、「対応」を更新し、同様の明確化を反映するようにしました。また、読みやすくするために、Fastlyプラットフォームにデプロイするためにカスタマイズした HTTP/2終端ソフトウェアの名称「H2O」を削除しました。20191116日午前1:14 UTC

  • バージョン1.1 -- 「概要」での語の選択を編集して明確化しました。「影響」の3段落にクライアントエクスペリエンスの例を追加。20191115日午後7:55 UTC

  • バージョン1.0 -- 初期リリース。20191115日午前12:26 UTC

セキュリティアドバイザリーの購読お申し込み

入力いただいた情報は米国 Fastly に送信され、当社のプライバシーポリシーに従って処理されます。内容をご確認いただき、同意の上「購読を申し込む」をクリックしてください。