コンテンツを開く

テーマのトレンド

F5 BIG-IPの重大な脆弱性について警告

F-Secure Japan

14.08.19 6 min. read

負荷分散機能は、サービスを停止することなくサーバの保守や修理を行うことができるなど、多くのインターネットサービスを維持するために必要不可欠なWeb管理プロセスです。もしこの機能が無ければ、オンラインサービスを提供しているあらゆる公共機関、銀行、その他の企業・団体は、Webサイトの稼働を維持することが困難になります。エフセキュアのシニアセキュリティコンサルタントのChristoffer Jerkeby(クリストファー・ジャーカビー)は、通常のセキュリティアセスメント作業の最中に、コーディングバグを利用することで、攻撃者がF5 NetworksのBIG-IPロードバランサーを悪用できることを発見しました。さらに、より詳細な調査により悪用に成功した攻撃者が、侵害したデバイスや影響を受けた企業・個人に対して行った攻撃の痕跡を消去できることが判明しました。

本件に関するChristofferのセキュリティ・ホワイトペーパー(英語)  8月8日のBlack Hat USAでのプレゼンテーション資料(英語)は、こちらからダウンロードできます。

コーディングバグに対するパッチはない

この問題は、通常のソフトウェアのアップデートで修正できるようなセキュリティの脆弱性ではなく、企業が、BIG-IPのiRulesを構成(または間違って構成)する際に作られるものです。iRulesは、受信したWebトラフィックを適切なWebサーバに振り分けるために作成されるルーチンで、Tool Command Language (Tcl) を使用して作成されます。企業にとって非常に機能的かつ実用的であると思われた特定のコーディング手法が、攻撃者側にとって、任意のTclコマンドをインジェクトし、それをターゲットTclスクリプトのセキュリティコンテキストで実行できることがわかりました。

具体的に言うと、iRulesの定義に使用される言語(正確にはTcl 8.4)の特性により、ステートメントとコマンドの置換を許容しているため、攻撃者がコードをインジェクトするために利用することができます。これは、任意のユーザ入力がコードとして解釈され実行される、SQLまたはシェルスクリプト言語で見られる種類のインジェクション攻撃によく似ています。一部のiRulesは、受信したWebリクエストのデータを解析し、そのデータを実行するコマンドと間違えて解釈します。

<example>

Payload: [HTTP::respond 666 {vuln}]

URL Encoded Payload: %5BHTTP%3A%3Arespond%20666%20%7Bvuln%7D%5D

$ curl -I --cookie cookie=%5BHTTP%3A%3Arespond%20666%20%7Bvuln%7D%5D 
https://www.host.com/index.aspx | grep vuln

$ curl -I -H RequestHeader=%5BHTTP%3A%3Arespond%20666%20%7Bvuln%7D%5D 
https://www.host.com/index.aspx | grep vuln

</example>

このコーディングの欠陥と脆弱性のクラスは目新しいものではなく、以前から他の一般的な言語のコマンドインジェクションの脆弱性(SQLインジェクション攻撃(英語)など)とともに知られていました(英語)。しかし、今回の攻撃による被害はとりわけ深刻になる場合があります。特にBIG-IPは大企業で一般的に採用されていることがChristofferの危機感をあおりました。そこで、彼はセキュリティカンファレンス等で調査結果を発表することで問題認識を高めようとしました。

攻撃は、あたかもオンラインフォームを記入するように簡単に実行可能

この脆弱なシステムの悪用は、場合によってはWebリクエストの一部としてコマンドまたはコードを送信するだけで、簡単に実行できてしまいます。このプロセスは、基本的に以下の3ステップで構成されています。

  1.  次の方法でiRulesがコマンドを置き換えるフィールドを識別します。a)フィールドおよびヘッダ名にTcl文字列を入力。そして、b)コードが実行されたことを確認
  2.  「info」コマンドを使用してインジェクション位置をテスト
  3.  外部リソースにピボットして永続性を確立

一旦攻撃が始まると、エクスプロイトはBIG-IPソフトウェアをホスティングしているデバイスを効果的に侵害し、さらなる攻撃を実行する拠点として利用されます。後続する攻撃としては、企業からのデータ窃取、Webトラフィックの傍受と操作による機密情報(パスワードなど)の漏洩、また場合によっては、侵害されたBIG-IPデバイスによって提供されるサービスを利用する個人への攻撃が含まれます。

さらに深刻なのは、侵害されたデバイスが攻撃者の痕跡を記録しない場合があることです。つまり攻撃が行われた証拠が確認できないということです。その他のケースでは、攻撃者が攻撃後の活動の証拠を含むログを削除することで、インシデント調査を妨げる可能性があります。

「この設定上の問題は、攻撃者が侵入してさまざまな目的を達成し、その痕跡を隠すことで、誰も気づくことができないため極めて深刻です。さらに、多くの企業では、ソフトウェアサプライチェーンの奥深くに埋もれている問題を発見または修正するための準備ができていないため、さらに大きなセキュリティ問題に発展する危険性をはらんでいます。」とChristoffer は説明しています。「何を探せば良いか分からなければ、この問題の発生を予測するのは困難であり、実際に攻撃を受けた時に対処するのは至難になります。」

潜在的な影響範囲と緩和策


これまでエフセキュアでは、この問題を悪用した企業への実際の攻撃に関する報告を確認していません。Christofferは、世界中でどの程度多くの企業がこの問題の影響を受けているかは不明だとしています。しかし、彼のチームは自ら開発したWebスキャン技術を使用して、Web上で実稼働しているBIG-IPが30万台以上あることを突き止めましたが、調査方法上の制約のため実台数ははるかに多いと考えられます。ただし、稼働しているすべてのBIG-IPがこの問題の影響を受けるわけではありません。

このセキュリティ問題は、iRules(Tclスクリプト)自体が抱えているコーディングの欠陥です。このプログラムは、企業がBIG-IPロードバランサーを設定するときに作成されるものです。したがって、BIG-IP自体には何ら問題がないため、F5や誰かが簡単なソフトウェアパッチで修正できる問題ではありません。企業が自ら問題を調査して修正する必要があります。

「この種のセキュリティ問題での救われる点を挙げるとすれば、Big-IPのすべてのユーザが影響を受けるわけではないということです。しかし困難な点は、ベンダーからのパッチやソフトウェアアップデートでは解決できないことです。したがって、この問題の影響を受けるかどうかを確認し、修正するのは企業自身の責任になります。」と、Christofferは説明しています。「だからこそ、すべてのBig-IPユーザがこの問題にプロアクティブに取り組むことが極めて重要になるのです。」

これらのテクニックを使用して攻撃を検知することは理論的には可能ですが、困難が伴います。攻撃の検出機能を実装するよりも、コードレビューを実施し、根底にあるTclコードの問題に対処する方が迅速かつ効果的です。

この問題は、企業が自ら問題を調査して修正する必要があるとお伝えしましたが、F5とエフセキュアが支援できないという意味ではありません。実際、両社は協力して企業がこの問題に取り組むことを支援しています。エフセキュアは、数か月前にChristofferの調査結果をF5に通知しています。F5は、影響を受ける製品やTclステートメントなどを詳述したパブリックアドバイザリー(英語)をすでに公開しています。

Christofferは、一般に利用可能な、Tclスクリプトを分析する2つのオープンソースツールの開発に貢献しました。1つ目のTestTcl(英語)は、BIG-IP iRulesを単体テストするためのライブラリです。2番目のTclscan(英語)は、コマンドインジェクションの欠陥に対して、特にTclコードの文字列をスキャンするツールです。

脆弱性が発見されたTclスクリプトを変更する方法について、Christoffeが推奨しているWebページは下記の通りです。

https://wiki.tcl-lang.org/page/double+substitution

https://wiki.tcl-lang.org/page/Brace+your+expr-essions

https://wiki.tcl-lang.org/page/Static+syntax+analysis

この問題は、インターネットを大量スキャンしてこの技術の脆弱なインスタンスを特定し、悪用し、場合によってはこのプロセスを自動化することが可能であるため、バグ報奨金ハンターや攻撃者の注意を引く可能性があります。また、この技術の無料試用版はベンダーから入手でき、クラウドインスタンスは最小限のコストでAWSストアからアクセスできます。これらの理由と、この欠陥を悪用した攻撃の被害が甚大になる危険性があるため、エフセキュアでは、影響を受けるかどうかを積極的に調査し、コードの安全性の確認が必要な場合は当社に連絡するようアドバイスしています。

「組織がこの技術に関しての詳細な調査を行っていない限り、この問題を抱えている可能性が非常に高いと思われます。」と、Christofferは述べています。「しっかりと設備の整った企業で、セキュリティについて驚くほど知識のある社員でさえ、間違いを犯す可能性があります。そのため、侵害シナリオを確実に防ぎたいのであれば、この問題についての認識を広める啓蒙活動を実施することが極めて重要になります。」

F-Secure Japan

14.08.19 6 min. read

カテゴリ

注目記事

関連する投稿

Newsletter modal

登録を受付ました。 購読受付のメールをお送りしたのでご確認ください。

Gated Content modal

下のボタンをクリックしてコンテンツを確認ください。