応用情報技術者 2011年 春期 午後 問09
サーバへのサイバー攻撃対策に関する次の記述を読んで、設問1〜3に答えよ。
D社はおもちゃを扱う中堅商社であり、取扱商品を紹介するためにWebサーバやデータベースサーバ(DBサーバ)などを自社で運用している。D社のネットワーク構成を図1に、各サーバの役割を表1に示す。


あるとき、D社の顧客から“Webサイトが表示されない”と問合せがあった。原因を調査したところ、Webサーバが応答しない状態であったので、Webサイトの運営を一時中止して原因を探った。その結果、各サーバに対して、次のサイバー攻撃が行われていたことが判明した。
【サイバー攻撃1】Webサーバに対して、Webページを表示するためのリクエストが大量に送られ、CPU とメモリの使用率が許容範囲を超えてしまっていた。
【サイバー攻撃2】DBサーバにアクセスするプログラムの不備を利用して、データベース上の情報に不正にアクセスしようとした形跡が、Webサーバにあった。
【サイバー攻撃3】DNSプログラムが確保したメモリサイズを超えた入力を与えて、管理者権限を奪おうとした形跡が、DNSサーバにあった。
【サイバー攻撃4】使用可能なサービスを探した形跡が、DMZ 内の各サーバにあった。
D社では判明したサイバー攻撃に対応するために、ファイアウォールの設定を変更するとともに、ネットワーク型IDS(Intrusion Detection System, 侵入検知システム) を導入することにした。
〔ファイアウォールの設定変更〕
ファイアウォールの新しいフィルタリングルールを表2に示す。フィルタリングルールの設定は、次の方針で行うことにした。
・インターネット以外のあて先は、ホスト名で指定する。
・必要なサービスだけを通過させる。
なお、表2で用いるフィルタリングルールの記述方法は、次のとおりである。
・通信パケットの送信元、あて先及びサービスの組合せによって、許可又は拒否の動作を指定することができる。
・送信元、あて先には個別のホスト名又は“インターネット”、“DMZ”、“内部 LAN1”、“内部 LAN2”のネットワーク名又は“すべて”が指定できる。
・サービスにはポート番号(複数指定可)又は“すべて”が指定できる。ポート番号は、SMTP は25、DNSは53、HTTP は80、POP3 は110、DBサーバへのアクセスは1521、プロキシサーバへのアクセスは8080とする。
・項番が小さいものから順に調べて、最初に一致したルールが適用される。


〔ネットワーク型IDSの導入〕
D社では、早期にサイバー攻撃を検知するために、ネットワーク型IDSを図1のaの位置に設置した。設置したIDSの概要は、次のとおりである。
・不正侵入の特徴的なパターンをシグネチャとして事前に登録し、検知した脅威の種類を示すシグネチャの識別子、脅威の名称、詳細な通信内容などをログに記録するとともに、管理者あてに警告メールで通知する機能をもつ。
・検知されるサイバー攻撃には、4段階の優先度(優先して対応する必要性の度合い)が付与されている。優先度は、優先度1が最も高く、優先度4が最も低い。
D社で判明したサイバー攻撃1〜4に対応する優先度の初期値は、表3のとおりである。

D社では、IDSの優先度の設定は初期値のままとし、優先度が1、2のものを管理者に警告メールで通知する設定で、IDSの試験運用を開始した。
試験運用を開始してすぐに、IDSから管理者あてに警告メールが大量に送られるようになった。警告メールが多いと、管理者が重要な警告を見落とすおそれがあることから、D社ではIDSの導入効果を維持したまま警告メールの件数を少なくするために、①IDSの設置位置を図1のβの位置に変更した。
設問1:
サイバー攻撃1〜4について、その名称を解答群の中から選び、記号で答えよ。
解答群
ア:DoS攻撃
イ:SQLインジェクション
ウ:ソーシャルエンジニアリング
エ:トロイの木馬
オ:バッファオーバフロー攻撃
カ:ポートスキャン
模範解答
サイバー攻撃1:ア
サイバー攻撃2:イ
サイバー攻撃3:オ
サイバー攻撃4:カ
解説
解答の論理構成
-
サイバー攻撃1
・引用: “Webサーバに対して、Webページを表示するためのリクエストが大量に送られ、CPU とメモリの使用率が許容範囲を超えてしまっていた。”
・大量のリクエストで資源を枯渇させる攻撃はサービス不能状態を狙うため、DoS (Denial of Service) 攻撃と判断できます。
⇒ 解答群「ア:DoS攻撃」 -
サイバー攻撃2
・引用: “DBサーバにアクセスするプログラムの不備を利用して、データベース上の情報に不正にアクセスしようとした形跡が、Webサーバにあった。”
・アプリの入力チェック不備を突きSQL文を注入する典型例はSQLインジェクションです。
⇒ 解答群「イ:SQLインジェクション」 -
サイバー攻撃3
・引用: “DNSプログラムが確保したメモリサイズを超えた入力を与えて、管理者権限を奪おうとした形跡が、DNSサーバにあった。”
・確保領域を超えるデータ投入で権限奪取を狙うのはバッファオーバフロー攻撃です。
⇒ 解答群「オ:バッファオーバフロー攻撃」 -
サイバー攻撃4
・引用: “使用可能なサービスを探した形跡が、DMZ 内の各サーバにあった。”
・各ポートを順に調べて開放サービスを洗い出す調査行為はポートスキャンです。
⇒ 解答群「カ:ポートスキャン」
よって、模範解答は
サイバー攻撃1:ア
サイバー攻撃2:イ
サイバー攻撃3:オ
サイバー攻撃4:カ
サイバー攻撃1:ア
サイバー攻撃2:イ
サイバー攻撃3:オ
サイバー攻撃4:カ
誤りやすいポイント
- サイバー攻撃1を「分散」DoSと混同して“DDoS”と書いてしまう(設問は分散の有無を問わずDoSで十分)。
- サイバー攻撃2で“Web改ざん”や“クロスサイトスクリプティング”と誤答するケース。キーワードは“データベース上の情報に不正にアクセス”。
- サイバー攻撃3を“ヒープスプレー”など他のメモリ破壊系と混同。ポイントは“確保したメモリサイズを超えた入力”。
- サイバー攻撃4で“ポートスキャニング”の単語揺れを気にして別解を書きたくなるが、解答群の正式名称は「ポートスキャン」。
FAQ
Q: サイバー攻撃1はなぜ「ア:DoS攻撃」であって「カ:ポートスキャン」ではないのですか?
A: ポートスキャンはサービスの有無を調べる行為であり“リクエストが大量に送られ、CPU とメモリの使用率が許容範囲を超えて”という資源枯渇の記述はDoS攻撃の特徴です。
A: ポートスキャンはサービスの有無を調べる行為であり“リクエストが大量に送られ、CPU とメモリの使用率が許容範囲を超えて”という資源枯渇の記述はDoS攻撃の特徴です。
Q: SQLインジェクションかどうかはどこで判断できますか?
A: 引用部分の“プログラムの不備を利用して、データベース上の情報に不正にアクセス”が決定打です。Webアプリの入力値が直接SQL文に連結される脆弱性を示唆しています。
A: 引用部分の“プログラムの不備を利用して、データベース上の情報に不正にアクセス”が決定打です。Webアプリの入力値が直接SQL文に連結される脆弱性を示唆しています。
Q: バッファオーバフロー攻撃はなぜ権限奪取につながるのですか?
A: 範囲外のメモリを書き換えることで戻り番地や関数ポインタを改変し、攻撃者が用意したコードを管理者権限で実行させることが可能になるためです。
A: 範囲外のメモリを書き換えることで戻り番地や関数ポインタを改変し、攻撃者が用意したコードを管理者権限で実行させることが可能になるためです。
関連キーワード: DoS, SQLインジェクション, バッファオーバフロー, ポートスキャン
設問2:
D社で実施したファイアウォールの設定変更について、表2中のa~fに入れる適切な字句を答えよ。
模範解答
a:プロキシサーバ
b:8080
c:DBサーバ
d:1521
e:メールサーバ1
f:25
解説
解答の論理構成
- 行番号【表2】の「3」では送信元が「内部 LAN2」です。これは【問題文】の PC 群が属するネットワークであり、Web 閲覧時には「プロキシサーバ」を経由すると書かれています(【表1】“プロキシサーバ:『PCからの社外へのWebアクセスを中継する。』”)。したがって a に入るのは「プロキシサーバ」です。
- 同じ行のサービス b には、プロキシ用ポート番号である「8080」を指定します。【問題文】の説明では “プロキシサーバへのアクセスは8080” とあります。
- 行番号「6」は送信元が「Webサーバ」です。【表1】では“Webサーバ”は“DBサーバにアクセス”して商品情報を取得すると明示されています。よって c は「DBサーバ」となります。
- d は DB サーバ用のポート番号です。【問題文】のポート対応表に “DBサーバへのアクセスは1521” とあるので「1521」を設定します。
- 行番号「10」は送信元「インターネット」から DMZ 内のサーバへ届く通信を許可するルールです。インターネットから直接受信するサーバは【表1】の“メールサーバ1”で、役割に “自社あてのメールをインターネットから受け取り” と記述されています。したがって e は「メールサーバ1」です。
- SMTP の標準ポートは “25” であり、【問題文】のポート一覧にも “SMTP は25” とあります。従って f は「25」となります。
誤りやすいポイント
- 内部 LAN2 の PC が直接インターネットへ出ると考え、a に「インターネット」を入れてしまう。PC は必ずプロキシサーバを経由します。
- DMZ 内のメールサーバが二つあるため、インターネット側と内部側のどちらが「メールサーバ1」か取り違える。インターネットと直接やり取りするのは「メールサーバ1」です。
- DB サーバのポート番号を一般的な 3306(MySQL)や 5432(PostgreSQL)と誤記。問題文で “1521” と明示されています。
FAQ
Q: プロキシサーバ経由の HTTP 通信がポート 8080 で固定されている理由は何ですか?
A: 問題設定上、プロキシサーバが “8080” で待ち受けるよう運用されていると示されています。よってファイアウォールも同じポートを許可します。
A: 問題設定上、プロキシサーバが “8080” で待ち受けるよう運用されていると示されています。よってファイアウォールも同じポートを許可します。
Q: インターネットから直接 DNS 問合せが来るのは「DNSサーバ1」だけなのでしょうか?
A: はい。【表1】に “DNSサーバ1:『自社ドメインを管理し、インターネットからの問合せに応答する。』” と明記されており、内部用の「DNSサーバ2」は社内向けです。
A: はい。【表1】に “DNSサーバ1:『自社ドメインを管理し、インターネットからの問合せに応答する。』” と明記されており、内部用の「DNSサーバ2」は社内向けです。
Q: Web サーバと DB サーバ間の通信を 1521 だけに制限することで何が得られますか?
A: 不要なポートを閉じることで、攻撃者が DB サーバに到達する経路を最小化し、侵入や情報漏えいのリスクを減らせます。
A: 不要なポートを閉じることで、攻撃者が DB サーバに到達する経路を最小化し、侵入や情報漏えいのリスクを減らせます。
関連キーワード: ファイアウォール, ポート番号, プロキシ, SMTP, IDS
設問3:IDSから管理者あてに送られる警告メールの大量発生後に、D社が実施した対策について、(1)、(2)に答えよ。
(1)本文中の下線①の対策について、警告メールが減少する理由を35字以内で述べよ。
模範解答
監視対象がファイアウォールを通過したパケットに限定されるから
解説
解答の論理構成
- 初期配置の確認
- IDS は「“ネットワーク型 IDS を図1のaの位置に設置した”」とあるように、ファイアウォールの外側(インターネット側)で全トラフィックを監視していました。
- アラートが増えた原因
- 外側には「サイバー攻撃4」で示されたような“使用可能なサービスを探した”スキャンなど、多量の攻撃パケットが存在します。
- IDS はシグネチャ検知で「優先度1、2のものを管理者に警告メールで通知」する設定なので、ブロックされる前のパケットまで検知し、大量の警告メールが発生しました。
- 改善策の実施
- D社は「① IDSの設置位置を図1のβの位置に変更した」と記載しています。
- β はファイアウォールの DMZ 側インタフェースであり、ここを通るのは「表2 ファイアウォールの新しいフィルタリングルール」で許可されたパケットだけです。
- アラート減少の理由
- ファイアウォールが「“項番12 すべて すべて すべて 拒否”」で不要な通信を遮断した後の通過パケットだけが IDS の監視対象になります。
- したがって IDS が見るパケット総数、特に攻撃パケットが大きく減り、結果として「監視対象がファイアウォールを通過したパケットに限定されるから」警告メールも減少します。
誤りやすいポイント
- IDS を内側に置くと攻撃検知能力が下がると早合点し、βへの移動を否定的に捉えてしまう。実際にはファイアウォールで一次選別した後の重要イベントを集中して検知できる。
- 表2の許可ルールを読み飛ばし、β側にも大量の不要トラフィックが流れると誤解する。項番12のデフォルト拒否を見落とさないこと。
- 「a」と「α」を混同し、設置位置の物理的な違いを正確にイメージできないまま理由を答えてしまう。
FAQ
Q: IDS をファイアウォールの外側と内側どちらに置くのが正しいのですか?
A: 目的次第です。外側なら攻撃全体の把握、内側ならファイアウォールを通過した重要パケットの監視に適します。本問は後者を選択しています。
A: 目的次第です。外側なら攻撃全体の把握、内側ならファイアウォールを通過した重要パケットの監視に適します。本問は後者を選択しています。
Q: IDS を内側に移すとファイアウォールが誤設定だった場合に検知できなくなりませんか?
A: そのリスクを考慮し、ファイアウォールのログ監視や定期的なルールレビューを併用するのが一般的です。
A: そのリスクを考慮し、ファイアウォールのログ監視や定期的なルールレビューを併用するのが一般的です。
Q: β 配置でアラートが減ったのに、本当に攻撃は減っているのですか?
A: いいえ。攻撃自体は外側で依然発生していますが、ファイアウォールで遮断されたため内側の IDS では検知対象外になったというだけです。
A: いいえ。攻撃自体は外側で依然発生していますが、ファイアウォールで遮断されたため内側の IDS では検知対象外になったというだけです。
関連キーワード: ファイアウォール, IDS, DMZ, シグネチャ, フィルタリング
設問3:IDSから管理者あてに送られる警告メールの大量発生後に、D社が実施した対策について、(1)、(2)に答えよ。
(2)本文中の下線②の対策の結果、警告メールが最も効果的に減少すると考えられるサイバー攻撃の種類をサイバー攻撃1〜4から選び、番号で答えよ。
模範解答
サイバー攻撃4
解説
解答の論理構成
- 初期配置
IDS は「“図1のaの位置”」に置かれていました。ここは「インターネット」側なので、DMZ へ届く前の全トラフィックを監視できます。 - 下線②の対策
問題文には「“IDSの設置位置を図1のβの位置に変更した”」とあります。β はファイアウォールの DMZ 側 です。したがって IDS が見るのは、ファイアウォールで“許可”されたパケットだけになります。 - ファイアウォールの動作
表2 のルールは「“必要なサービスだけを通過させる”」方針です。許可される DMZ 向けサービスは
・項番9 「インターネット → Webサーバ → 80」
・項番10 「インターネット → e → f」(※空欄ですが DNSサーバ1 53 以外には該当しない設計)
・項番11 「インターネット → DNSサーバ1 → 53」
など極めて限定的です。これ以外のポートへの試行は項番12「拒否」で DMZ に届きません。 - サイバー攻撃4 の特徴
問題文に「“【サイバー攻撃4】使用可能なサービスを探した形跡が、DMZ 内の各サーバにあった。”」とあります。いわゆるポートスキャンで、多数ポートを順に試し、開いているサービスを列挙します。 - IDS での検知量変化
a 位置ではファイアウォールで拒否される前の全スキャンパケットを IDS が観測→大量アラート。β 位置では拒否済みパケットは到達しないため、IDS が観測するスキャンは大幅に減少。 - 他攻撃との比較
・サイバー攻撃1(HTTP 80)、サイバー攻撃3(DNS 53)はファイアウォールで“許可”なので β でも IDS は検知します。
・サイバー攻撃2 は Webサーバ→DBサーバ間の内部通信で IDS の監視対象外のままです。 - 結論
よって β へ移設すると警告メールが最も減るのは「サイバー攻撃4」です。
誤りやすいポイント
- 「HTTP への大量リクエスト(サイバー攻撃1)が減る」と思い込む
→ 80 番はルール9 で許可されており IDS β でも通過します。 - 「内部通信を監視しなくなるからサイバー攻撃2が対象」と誤読
→ そもそも a 位置でも内部 LAN1 には届かず検知していません。 - β を“内部 LAN1”側と勘違いする
→ β は DMZ 側であり、内部 LAN には入りません。
FAQ
Q: β に置くと本当に IDS の検知能力は落ちませんか?
A: 主要サービス(HTTP, DNS, SMTP など)は引き続き監視できます。不要な拒否パケットが見えなくなるだけなので、実効性は維持されます。
A: 主要サービス(HTTP, DNS, SMTP など)は引き続き監視できます。不要な拒否パケットが見えなくなるだけなので、実効性は維持されます。
Q: サイバー攻撃3 の警告件数は増減しますか?
A: DNS 53 番は許可されているため、β でも同等に観測します。従って件数は大きく変わりません。
A: DNS 53 番は許可されているため、β でも同等に観測します。従って件数は大きく変わりません。
Q: IDS のみでなくファイアウォールのログではどうなりますか?
A: 拒否されたスキャンパケットはファイアウォールのログには残るため、分析用途にはそちらを確認できます。
A: 拒否されたスキャンパケットはファイアウォールのログには残るため、分析用途にはそちらを確認できます。
関連キーワード: IDS, DMZ, ファイアウォール, ポートスキャン


