戦国IT

情報処理技術者試験の過去問対策サイト

情報処理安全確保支援士試験 2010年 秋期 午後103


Webアプリケーションファイアウォール(WAF)の導入に関する次の記述を読んで,設問1〜4に答えよ。

   R社は従業員数200名の健康食品販売会社であり,消費者向けに電話受付による販売を行っており,5年前からはインターネットを介した販売システムを利用した販売も行っている。  販売システムは,アウトソーシング事業者であるY社のデータセンタに設置され,ルータ,ファイアウォール,負荷分散装置,Webサーバ,データベースサーバで構成されている。販売システムのネットワーク構成を図1に,販売システムの概略を図2に示す。
情報処理安全確保支援士試験(平成22年度 午後I 問03 図01)
情報処理安全確保支援士試験(平成22年度 午後I 問03 図02)
〔脆弱性発見の情報〕  R社は、情報セキュリティ専門会社からセキュリティ情報の提供を受けている。ある日、販売システムのWebサーバで稼働中のミドルウェアに脆弱性が発見されたとの情報が提供された。R社インターネット販売事業部のS主任がまとめた脆弱性の概要を図3に示す。
情報処理安全確保支援士試験(平成22年度 午後I 問03 図03)
 S主任の調査の結果、ミドルウェアは開発元によるサポートが終了しており、修正プログラムが提供されないことが判明した。また、S主任は、①販売システムのFWでは、セッションIDの偽造を判別できないので、この脆弱性を悪用した攻撃を防御できないと判断した。  このミドルウェアを使用しないよう、販売システムを抜本的に改修するには、長期間を要する。そこで、R社では、販売システムによる注文受付を一時的に停止し、注文は電話受付だけに限定する方針を決めた。また、インターネット販売事業部のP課長は、脆弱性への早急な対策案の検討をS主任に指示した。  
〔WAFによる対策の検討〕  S主任は、図3の脆弱性への早急な対策案を、Y社のセキュリティサービス担当のQ氏に相談した。その結果、WAFの導入の提案を受けた。Q氏が提案したWAFの主な機能を表に示す。
情報処理安全確保支援士試験(平成22年度 午後I 問03 表)
 次は,WAFによる対策の検討に関する,S主任とQ氏との会話である。  
S主任:販売システムのミドルウェアで発見された脆弱性に対しては,WAFを使ってどのような対策が可能でしょうか。 Q氏:②クッキーの暗号化機能によって,図3の脆弱性を悪用した攻撃への対策が可能です。この機能はWAFの導入後にすぐに利用を開始できるので,速やかに販売システムによる注文受付を再開できます。 S主任:分かりました。利用に際して,何か注意点はありますか。 Q氏:③クッキーの暗号化では,クッキーに属性を付与している場合であっても,その属性の効果を維持できるように考慮されています。しかし,④ブラウザに格納されるクッキーが暗号化されたものになることから,Webアプリケーションによっては,動作に異常が生じる場合がありますので,販売システムでのクッキーの用途を事前に確認すべきです。 S主任:分かりました。確認しておきます。WAFにはシグネチャによる通信検査機能もあり,攻撃の遮断ができるようですが,どのような攻撃が遮断できるのでしょうか。また,この機能もすぐに利用が可能でしょうか。 Q氏:クロスサイトスクリプティングやSQLインジェクションなど,既知の攻撃を検知して遮断することが可能です。シグネチャによる通信検査機能の利用に際しては,販売システムの可用性を維持するために,事前に十分な動作確認が必要です。販売システムを利用する上で必要な通信(以下,正常な通信という)をWAFが攻撃として検知してしまうことで,利用者が販売システムを利用できなくならないよう,まずは[ a ]を減らすための検証期間を設けます。検証期間には,攻撃を検知しても通信の遮断は行わず,WAF設定とWebアプリケーション設定のチューニングを行い,[ a ]が十分に減少した段階で,攻撃の遮断を開始します。ただし,チューニングに際しては,⑤正常な通信が攻撃と検知された場合であっても,不用意に,そのシグネチャを無効化するべきではありません。 S主任:シグネチャによる通信検査機能によって,既知の攻撃を検知して遮断することが可能なので,安心して販売システムを運用できるのですね。 Q氏:シグネチャによる通信検査機能では,攻撃がシグネチャに一致しなかった場合には,その攻撃を見逃してしまうので,必ずしもWebアプリケーションを防御できるとは限りません。 S主任:なるほど。Webアプリケーションは,できるだけ脆弱性を除去して運用することが重要ですね。  
 Q氏から説明を受けたS主任は,販売システムでのクッキーの用途を確認した。その結果,WAFの機能によってクッキーを暗号化しても,販売システムの動作には異常が生じないことが分かった。そこで,S主任はP課長にWAFの導入を提案した。  
〔WAFの導入〕  インターネット販売事業部では,S主任の提案内容を検討した結果,販売システムへのWAFの導入を決定した。検討に際しては,クッキーの暗号化機能によって図3の脆弱性への対策が可能となる点に加えて,開発元によるサポートが終了したミドルウェアで,今後新たな脆弱性が発見された場合にも,シグネチャによる通信検査機能によって攻撃への防御を実現できる可能性がある点も評価された。  販売システムへのWAFの導入の際には,Webサーバへの負荷分散にWAFの負荷分散機能を利用することで,利用中のLBをWAFで置き換える方針とした。また,WAFのSSLアクセラレーション機能を利用し,⑥ブラウザからのSSL通信は,WAFで終端させることにした。  インターネット販売事業部では,Q氏の支援の下,WAFを販売システムに導入し,クッキーの暗号化機能を有効化した上で,販売システムによる注文受付を再開した。
   その後、検証期間を終え、シグネチャによる通信検査機能の利用を開始した。そして,サポートの終了したミドルウェアを使用しないよう,販売システムの抜本的な改修に向けた検討を開始した。  

Webアプリケーションファイアウォール(WAF)の導入に関する次の記述を読んで,設問1〜4に答えよ。

設問1

本文中の[ a ]に入れる適切な字句を解答群の中から選び, 記号で答えよ。 解答群  ア:フェールセーフ  イ:フェールソフト  ウ:フォールスネガティブ(偽陰性)  エ:フォールスポジティブ(偽陽性)

模範解答

a:エ

解説

解答の論理構成

  1. 【問題文】には
    「販売システムを利用する上で必要な通信(以下,正常な通信という)をWAFが攻撃として検知してしまうことで,利用者が販売システムを利用できなくならないよう,まずは[ a ]を減らすための検証期間を設けます。」
    と記載されています。
  2. ここで説明されている現象は「正常な通信を攻撃として検知」することです。
  3. これは攻撃ではないものを攻撃と“誤判定”している状態であり、セキュリティ分野では「フォールスポジティブ(偽陽性)」と呼ばれます。
  4. 解答群を照合すると、「エ:フォールスポジティブ(偽陽性)」が一致します。
  5. よって [ a ] に入る適切な語句は「エ」です。

誤りやすいポイント

  • 「攻撃を見逃す」ケース(=フォールスネガティブ)と取り違える。問題文では“正常な通信を攻撃として検知”と明示されており、真逆です。
  • 「フェールセーフ/フェールソフト」は障害時のシステム動作方針の用語であり、誤検知・検知漏れの概念ではない点に注意。
  • “検証期間には,攻撃を検知しても通信の遮断は行わず”という一文だけを見て「見逃し=フォールスネガティブ」と早合点するケース。文脈全体を読めば“遮断しないのは可用性確保のための暫定措置”であり、本質は誤検知削減です。

FAQ

Q: フォールスポジティブが多いと何が問題になりますか?
A: 正常なリクエストが遮断されると利用者はサービスを使えず、ビジネス機会損失や顧客満足度低下を招きます。可用性確保の観点で重大なリスクです。
Q: チューニング時に「不用意にシグネチャを無効化すべきでない」のはなぜですか?
A: 【問題文】の「⑤正常な通信が攻撃と検知された場合であっても,不用意に,そのシグネチャを無効化するべきではありません」にあるように、シグネチャを無効化すると本来検知すべき攻撃まで通過させる恐れがあるからです。
Q: フォールスネガティブが完全にゼロになるように設定すべきでしょうか?
A: 理想ですが、フォールスネガティブを極端に抑えるとフォールスポジティブが増えるトレードオフがあります。業務への影響とセキュリティ要求を踏まえ、バランスを取ったルール設計が現実的です。

関連キーワード: フォールスポジティブ, フォールスネガティブ, シグネチャ, チューニング, 可用性

設問2

本文中の下線①について、判別できないとS主任が考えた理由を、30 字以内で述べよ。

模範解答

FWはパケットのヘッダ情報だけでアクセスを制御するから

解説

解答の論理構成

  1. まず本文では、S主任が「①販売システムのFWでは、セッションIDの偽造を判別できない」と判断しています。
  2. その根拠として図2の説明に「(5) FW は,パケットのヘッダ情報によってアクセスを制御するパケットフィルタリング型である。」と明示されています。
  3. パケットフィルタリング型ファイアウォールは、IPアドレス・ポート番号といったヘッダ情報のみを参照し、HTTPメッセージ本文に含まれるクッキーやセッションIDといったアプリケーション層データは検査範囲外です。
  4. したがって、ヘッダ以外に含まれるセッションIDが真正か偽造かを見分けられないため、S主任は判別不可と結論付けました。

誤りやすいポイント

  • 「ファイアウォール=すべての不正通信をブロックできる」と早合点し、パケットフィルタリング型とアプリケーション層を解析するWAFの違いを混同しやすいです。
  • 「SSL通信だからFWでも中身を見られるのでは」と誤解するケースがありますが、FWは復号処理を行わないため暗号化されたペイロードも判別できません。
  • 「シグネチャによる通信検査機能」をFWが持つと勘違いし、下線①との関係を取り違えるミスが起こりやすいです。

FAQ

Q: パケットフィルタリング型FWはアプリケーション層を一切見られないのですか?
A: 原則としてIP/TCP/UDPヘッダなどネットワーク層・トランスポート層情報のみを参照し、HTTP本文やクッキー値は対象外です。
Q: FWをステートフルにしてもセッションIDは判別できますか?
A: ステートフルFWは通信の状態を保持しますが、依然としてヘッダ中心の制御です。セッションIDのようなアプリケーション層データを精査するにはWAFなど別の仕組みが必要です。
Q: SSLアクセラレーション機能をWAFで終端するとFWの役割は変わりますか?
A: FW自体は従来と同じくヘッダでのアクセス制御を行いますが、SSLがWAFで終端されることで、WAFは復号後のHTTP本文まで検査可能になります。

関連キーワード: パケットフィルタリング, セッションID, アプリケーション層, クッキー, SSL

設問3〔WAF による対策の検討〕 について (1)〜(4)に答えよ。

(1)本文中の下線②について、クッキーの値を暗号化することで、図3の脆弱性を悪用した攻撃への対策が可能と Q氏が判断した理由を、40字以内で述べよ。

模範解答

復号後に有効なセッションIDとなる暗号文を攻撃者が生成できないから

解説

解答の論理構成

  • 図3には「ミドルウェアによるセッションIDの生成に不備があり、利用者向けに発行されたセッションIDを第三者が推定できてしまう可能性がある。」とあり、攻撃者は推定した値をクッキーに仕込み送信するだけでなりすましが可能です。
  • 一方、WAFの「クッキーの暗号化機能」は「Web アプリケーションがブラウザに対してクッキーを発行した際,クッキーの値を暗号化して引き渡す。」さらに受信時に復号してアプリケーションへ渡します。
  • つまりブラウザ側に保存される値は暗号文であり、攻撃者は①推定した平文セッションIDをそのまま送信しても WAF が復号時に不整合を検知し破棄する、②暗号鍵を知らないため「復号後に有効なセッションID」となる暗号文を生成できません。
  • したがって「②クッキーの暗号化機能によって,図3の脆弱性を悪用した攻撃への対策が可能です」という Q 氏の説明が成り立ちます。

誤りやすいポイント

  • クッキー暗号化を「通信経路の盗聴防止」と混同し、推定可能なセッションID問題まで解決できる理由を説明できない。
  • 暗号化してもクッキー属性が保持されるとあるため、安全性が落ちると誤解する。実際には暗号化で予測困難性が加わる。
  • シグネチャ検査と混同し、「既知攻撃検知だから防げる」と答えてしまう。今回の対策は検知ではなく改変困難化。

FAQ

Q: なぜ SSL 通信だけではセッションID偽造を防げないのですか?
A: SSL は経路上の盗聴・改ざんを防ぎますが、攻撃者が推定したセッションIDを自分のブラウザから送信する行為までは防げません。
Q: クッキー暗号化でブラウザに保存される値が長くなりますが問題ありませんか?
A: ほとんどのブラウザは 4 KB 程度までのクッキーを扱えるため実用上は支障ありません。ただしサイズ制限を超えると切り捨てられるので要確認です。
Q: クッキー暗号化を導入したあとアプリ側の改修は必要ですか?
A: WAF が暗号化・復号を透過的に行うため、通常は変更不要です。ただしアプリがクッキー値を JavaScript で直接参照している場合などは影響確認が必要です。

関連キーワード: セッション管理, クッキー暗号化, 盗聴防止, なりすまし対策, Webアプリケーション脆弱性

設問3〔WAF による対策の検討〕 について (1)〜(4)に答えよ。

(2)本文中の下線③について、販売システムへのログイン時に、次の Set-Cookie ヘッダを Web アプリケーションが送信した場合、WAF がそれを暗号化した結果の Set-Cookie ヘッダはどれか。 解答群の中から選び, 記号で答えよ。 解答群の中の“☆☆” は, 暗号化後の文字列を表す。 (Webアプリケーションが送信した Set-Cookie ヘッダ)  Set-Cookie: session_id=uid20101017143045; secure; path=/874045/
解答群  ア:Set-Cookie:session_id=★★; path=/874845/  イ:Set-Cookie:session_id=★★; path=★★  ウ:Set-Cookie:session_id=★★; secure;path=/874045/  エ:Set-Cookie:session_id=★★; secure;path=★★

模範解答

解説

解答の論理構成

  1. クッキー暗号化機能の仕様確認
    【問題文】の表で、WAF の機能として
    「クッキーの暗号化機能…クッキーの値を暗号化して引き渡す」
    と明記されています。すなわち暗号化対象は 値 (=右辺) のみです。
  2. 属性は維持されることの確認
    下線③では
    「クッキーの暗号化では,クッキーに属性を付与している場合であっても,その属性の効果を維持できるように考慮されています」
    とあるため、
    secure
    path
    などの属性名・属性値は書き換えません。
  3. 元の Set-Cookie ヘッダ
    Web アプリケーションが送信するヘッダは
    Set-Cookie: session_id=uid20101017143045; secure; path=/874045/

    です。
  4. 暗号化後に変化する箇所
    変わるのは
    session_id=
    以降の値「uid20101017143045」だけ。
    問題文では暗号化後の文字列を “☆☆” で表すと指定されているので
    session_id=☆☆
    となります。
  5. 選択肢比較
    • ア:
    path
    の値が書き換わっており、属性保持の要件に反します。
    • イ:
    secure
    属性が消えており、要件に反します。
    • ウ:
    secure; path=/874045/
    がそのまま残り、値だけが
    ☆☆

    • エ:
    secure
    は残るが
    path
    の値が書き換わっています。
    よって要件を唯一満たすのは【ウ】です。

誤りやすいポイント

  • 「属性も暗号化対象」と思い込み、
    path
    secure
    まで変更してしまう。
  • secure
    属性を見落とし、暗号化後に消えても問題ないと判断する。
  • 暗号化でクッキー名称 (
    session_id
    ) まで変わると誤解する。名称は保持されます。

FAQ

Q: クッキー暗号化でブラウザ側の表示やサイズに影響はありますか?
A: 値が長くなる場合がありますが、RFC 6265 のサイズ上限 (4KB 付近) を越えなければ通常問題ありません。
Q:
HttpOnly
属性が付いていた場合も暗号化で削除されませんか?
A: はい、下線③のとおり「属性の効果を維持」するため、
HttpOnly
もそのまま残ります。
Q: 同じ WAF で複数システムを保護する際、暗号化キーは共通ですか?
A: 製品ごとに異なりますが、システム単位・ドメイン単位でキーを分けられる設定が一般的です。

関連キーワード: cookie, secure属性, path属性, 暗号化, WAF

設問3〔WAF による対策の検討〕 について (1)〜(4)に答えよ。

(3)本文中の下線④の動作に異常が生じる場合とは、クッキーがどのように用いられる場合か。30字以内で述べよ。

模範解答

・クッキーがクライアント上で参照される場合 ・クッキーが WAF を経由しない別のWebサーバへ送信される場合

解説

解答の論理構成

  • 【問題文】では WAF の「クッキーの暗号化機能」について、
    「ブラウザからクッキーを受信した際,値を復号して,Web アプリケーションに引き渡す」と説明されています。
    つまり暗号化/復号は WAF を経由する HTTP リクエスト/レスポンスの中だけで完結します。
  • しかし下線部④において、Q氏は
    「ブラウザに格納されるクッキーが暗号化されたものになることから,Webアプリケーションによっては,動作に異常が生じる場合があります」
    と述べています。
  • WAF が復号する前にクッキー値が利用されると、アプリケーションは暗号化済みの値しか取得できず整合が取れません。該当するケースは
    1. クッキーを JavaScript など“クライアント側”で参照・加工している場合
    2. クッキーを WAF を経由しない別ドメインや別 Web サーバに送信している場合
      です。どちらも WAF による復号が行われず、平文を期待する処理が破綻するため「動作に異常」が発生します。

誤りやすいポイント

  • WAF が暗号化/復号を行うので「アプリケーションには影響しない」と早合点する。クライアントサイドで読む処理を見落としがちです。
  • 「同一サイト内の別 Web サーバなら問題ない」と誤解する。WAF 経由かどうかが鍵であり、経路が異なれば復号されません。
  • 暗号化対象を“セッションIDだけ”と決めつけ、他のクッキーフィールドを調べずにチューニングを進めてしまう。

FAQ

Q: JavaScript で
document.cookie
を参照する用途があっても WAF 側で自動復号できますか?
A: できません。復号は HTTP レイヤでの透過処理です。ブラウザ内部でアクセスする際は暗号化済みの値が返るため、平文を前提としたスクリプトは動作不良になります。
Q: 暗号化クッキーを別ドメインにリダイレクトで送るとどうなりますか?
A: WAF を経由せずに送信される場合、復号されないまま値が届けられます。受信側が平文を期待していると認証エラーやロジック不整合が生じます。
Q: 暗号化機能を使う場合の確認手順は?
A: まずクライアントサイドスクリプトと外部連携先を洗い出し、クッキー値を直接読む/加工する箇所を特定します。それらが平文を必要とするなら設計変更か暗号化対象外の設定が必要です。

関連キーワード: クッキー, 暗号化, セッション管理, クライアントサイドスクリプト, リバースプロキシ

設問3〔WAF による対策の検討〕 について (1)〜(4)に答えよ。

(4)本文中の下線⑤について、シグネチャを無効化しても問題ないと判断するためには、何を確認することが望ましいか。 “シグネチャ” と “脆弱性”という字句を用いて、60字以内で具体的に述べよ。

模範解答

無効化するシグネチャで定義された攻撃の対象となる脆弱性が、Web アプリケーションやミドルウェアに存在しないこと

解説

解答の論理構成

  1. 【問題文】ではシグネチャによる通信検査機能について「シグネチャには,脆弱性を悪用する攻撃に含まれる可能性の高い文字列が定義されている」と示されています。
  2. 同じく【問題文】の下線⑤で「正常な通信が攻撃と検知された場合であっても,不用意に,そのシグネチャを無効化するべきではありません」と注意喚起があります。
  3. つまり“誤検知を防ぐためにシグネチャを無効化したい”という運用要望があっても、そのシグネチャで守っている“対象脆弱性”がシステムに残っている場合、無効化すれば攻撃を素通ししてしまう危険があります。
  4. 逆に言えば、無効化しても安全と言い切れる条件は「そのシグネチャが防御している脆弱性が、Webアプリケーションやミドルウェアに存在しない」と確認できた場合に限られます。
  5. 以上から、下線⑤に対する答えは「無効化するシグネチャの標的となる脆弱性が自システムに無いことを確認すること」と導かれます。

誤りやすいポイント

  • 誤検知が出たら“即座に”シグネチャをオフにしてよいと考えてしまう。対象脆弱性が残存している可能性を忘れがちです。
  • 「正常通信のみ通れば良い」の発想で“シグネチャの詳細分析”を怠り、実際にどんな攻撃を検知しているのか把握しないまま無効化するケース。
  • 対象脆弱性の有無を「機能テストで問題が起きないから大丈夫」と誤解し、ソースコードレビューやバージョン確認を行わない点。

FAQ

Q: シグネチャを無効化せずに誤検知を減らす手段はありますか?
A: パラメータチューニングや例外ルールの追加、正規表現の調整で正常通信をホワイトリスト化する方法があります。
Q: 対象脆弱性が“ミドルウェアレベル”でも“アプリケーションレベル”でも無いと分かったら無効化して良いですか?
A: はい、ただし確認結果を変更管理に記録し、ミドルウェア更新や機能追加時には再評価する運用が望まれます。
Q: シグネチャの更新で再び誤検知が増えた場合、同じ手順を繰り返すべきですか?
A: その通りです。更新で検知対象が変わるため、誤検知か正検知かを毎回評価し、脆弱性の有無を再確認してください。

関連キーワード: シグネチャ, 脆弱性, 誤検知, WAF, セキュリティ対策

設問4

本文中の下線⑥について、この措置を行う理由を55字以内で述べよ。

模範解答

利用者のブラウザとWebサーバ間で通信がSSL暗号化されていると、WAF が攻撃の検知をできないから

解説

解答の論理構成

  1. 【問題文】には,WAFの機能として
    「シグネチャによる通信検査機能…HTTP による通信をシグネチャと比較し,一致した場合には攻撃として検知する」
    とあります。
    ⇒ WAFは暗号化されていない“HTTP”データを参照して初めて攻撃を検知できます。
  2. しかし販売システムはログイン後,
    「ブラウザと Web サーバ間で SSL 通信が行われる」
    と明記され,SSLで暗号化されたパケットはWAFから中身が見えません。
    ⇒ 従来どおり Web サーバでSSL終端すると,WAFは暗号化されたままの通信しか受け取れず検査不能です。
  3. そこでWAFの「SSL アクセラレーション機能」を使い,
    「⑥ブラウザからのSSL通信は,WAFで終端させることにした」
    としたのは,WAF自身が復号して平文HTTPを得るためです。
  4. 復号後のHTTPを対象に「シグネチャによる通信検査機能」を適用し,攻撃を検知・遮断できるようにする。
    ⇒ したがって解答は “SSL暗号化されたままではWAFが検知できないため,復号の終端点をWebサーバではなくWAFに変更する” となります。

誤りやすいポイント

  • 「SSLアクセラレーション=高速化目的」とだけ考え,セキュリティ検査の必然性を見落とす。
  • WAFを透過型と思い込み,暗号化されていても自動的に解読できると誤解する。
  • SSL終端をWAFに移すと“通信は平文になる”と誤認し,内部区間の再暗号化(リバースプロキシ方式)を考慮し忘れる。

FAQ

Q: SSL終端をWAFにしたあと,WAF‐Webサーバ間は暗号化しなくても大丈夫ですか?
A: 必須ではありませんが,内部ネットワークのセキュリティポリシや扱う情報の機密度に応じて再度SSLで暗号化する構成が推奨されます。
Q: WAFの“シグネチャによる通信検査機能”だけで未知の攻撃も防げますか?
A: いいえ。「攻撃がシグネチャに一致しなかった場合には,その攻撃を見逃してしまう」とあるように既知攻撃中心です。定期的なシグネチャ更新とアプリケーション側の脆弱性対策が不可欠です。
Q: 検証期間中に正常な通信が誤検知された場合,シグネチャを無効化しても良いですか?
A: 「⑤正常な通信が攻撃と検知された場合であっても,不用意に,そのシグネチャを無効化するべきではありません」とあるように,チューニングや除外設定で対処し,無効化は最後の手段にすべきです。

関連キーワード: SSL終端, WAF, シグネチャ検査, HTTPS, 暗号復号
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ