応用情報技術者 2016年 春期 午後 問01
Webサイトを用いた書籍販売システムのセキュリティに関する次の記述を読んで、設問1〜4に答えよ。
K社は技術書籍の大手出版社である。従来は全ての書籍を書店で販売していたが、顧客からの要望によって、高額書籍を自社の Webサイトでも販売することとなった。K社システム部の L部長は、Webサイトを用いた書籍販売システム(以下、「Webシステム」という)の開発のためのプロジェクトチームを立ち上げ、開発課の M課長をリーダに任命した。L部長は、情報セキュリティ確保のための対策として、サイバー攻撃による Webシステムへの侵入を想定したテスト(以下、「侵入テスト」という)を実施するように M課長に指示した。M課長は、開発作業が結合テストまで完了した段階で、Webシステムのテスト環境を利用して侵入テストを実施することにした。
〔Webシステムのテスト環境〕
Webシステムは、高額書籍を購入する顧客の氏名、住所、購入履歴などの個人情報(以下、顧客情報という)を内部ネットワーク上のデータベースサーバ(以下、DBサーバという)に保存し、Webサーバが DBサーバ、業務サーバにアクセスして販売処理を行う。Webシステムのテスト環境の構成を図1に示す。

〔Webシステムの認証と通信〕
顧客が Webシステムを利用する際、利用者IDとパスワードで認証する。また、顧客との通信には、インターネット標準として利用されている a による暗号化通信を用いる。
サーバ管理者は、各サーバやファイアウォールのログを定期的にチェックすることによって、Webシステムにおける不正なアプリケーションの稼働を監視する。
〔侵入テストの実施〕
M課長は、社外のセキュリティコンサルタントのN氏に侵入テストの実施を依頼した。N氏は、表1に示す侵入テストのテスト項目を作成し、M課長に提出した。

〔結果〕
N氏は、テスト項目に沿って侵入テストを実施し、その結果と改善項目をM課長に報告した。テスト結果と改善項目を表2に示す。

〔改善項目とその対策〕
M課長とN氏は、Webシステムの侵入テストの結果と、セキュリティ上の改善項目について、表1と表2を基にしてL部長に報告した。
N氏:現在のWebシステムには、サイバー攻撃に対して多くの脆弱性が存在します。
L部長:項番1について説明してください。
N氏:攻撃者は①Webサーバの構成情報の調査によって、攻撃するために有用な情報を得ることで、Webサーバの脆弱性を探ってきます。
L部長:どのような対策が有効ですか。
N氏:②ポートスキャンについては、Webサーバやファイアウォールの設定で防止する必要があります。Webサーバの構成情報の調査については、Webサーバの設定情報を変更して、必要のない問い合わせに応答しないようにすることで対処します。
L部長:項番2で、Webサーバについて改善項目がありますが、どのような対策が必要ですか。
N氏:③Webサーバへの攻撃の疑いがあるアクセスを遮断するセキュリティ機器の導入が効果的です。保護する対象をWebアプリケーションに特化しており、Webサーバ上で使用するアプリケーションに潜む未知の脆弱性を突く攻撃を、プロトコルの異常などによって検知し、遮断できるようになります。
L部長:項番3のバッファオーバフローとSQLインジェクションについては、どのような対策が必要ですか。
N氏:ソースコードをチェックするツールを使用して、Webアプリケーションの脆弱性を調査し、その結果に基づいたソースコードの修正が必要です。バッファオーバフローは、バッファにデータを保存する際にdを常にチェックすることで防ぐことができます。SQLインジェクションは、データをSQLに埋め込むところで、データの特殊文字を適切にeすることで防ぐことができます。
M課長:改善項目に対応するようWebアプリケーションのソースコードを修正します。
N氏:Webシステムの構成にも問題点があります。攻撃者が、攻撃の発見を遅らせるために、Webシステム内でログを消去するおそれがあります。
L部長:対策方法はありますか。
N氏:各サーバやファイアウォールのログを集中して保存する専用のサーバを設置し、ログが消去されることを防ぎます。また、④ログをリアルタイムにチェックするツールを導入します。
N氏の指摘に基づいて、開発課がWebシステムを改善し、L部長はWebシステムの総合テストの実施を承認した。
設問1:
本文中のa及び表2中のb、cに入れる適切な字句をそれぞれ4字以内で答えよ。
模範解答
a:TLS
b:踏み台
c:ゼロデイ
解説
解答の論理構成
-
通信経路の暗号化技術
- 原文引用:「顧客との通信には、インターネット標準として利用されている a による暗号化通信を用いる。」
- Web 上で広く採用されるインターネット標準の暗号化プロトコルは「TLS(Transport Layer Security)」です。HTTPS の実体としても利用され、他の選択肢(SSL3.0 など)は既に非推奨で「標準」とは呼びにくいため、a=「TLS」と判断します。
-
侵入後の悪用形態
- 原文引用:「Webサーバの脆弱性を利用して、Webサーバを b にし、そこを中継点として内部ネットワークに侵入できた。」
- 攻撃者が一度乗っ取ったサーバを“中継点”や“踏み台”として利用することを「踏み台攻撃」と呼びます。したがって、b=「踏み台」となります。
-
公表前の脆弱性を狙う攻撃
- 原文引用:「脆弱性の存在自体が広く公表される前にそれを悪用する c 攻撃のリスクを軽減する。」
- 公表前の未知の脆弱性を突く攻撃は「ゼロデイ攻撃 (Zero-day attack)」です。よって c=「ゼロデイ」となります。
以上より模範解答
a:TLS
b:踏み台
c:ゼロデイ
b:踏み台
c:ゼロデイ
誤りやすいポイント
- aを「SSL」とする誤答
SSL は歴史的用語として残りますが、現在のインターネット標準は TLS が正式名称です。 - bを「ボット」や「C&C」などと混同
ボット化は可能性の一部ですが、文中で強調されているのは「中継点として内部ネットワークに侵入」という踏み台の役割です。 - cを「未知」や「未公開脆弱性」と表現
日本語説明に置き換えると4字を超えたり曖昧になるため、専門用語「ゼロデイ」が適切です。
FAQ
Q: HTTPS と TLS の関係は何ですか?
A: HTTPS は「HTTP over TLS」の略で、HTTP 通信を TLS で暗号化したものです。TLS 自体が暗号プロトコルであり、HTTPS はアプリケーション層の具体的な利用形態です。
A: HTTPS は「HTTP over TLS」の略で、HTTP 通信を TLS で暗号化したものです。TLS 自体が暗号プロトコルであり、HTTPS はアプリケーション層の具体的な利用形態です。
Q: 踏み台にされたサーバはどんな危険がありますか?
A: 攻撃者により内部ネットワークへのリレー拠点として使われるだけでなく、外部攻撃の発信源にされることで自社が加害者側と見なされるリスクがあります。
A: 攻撃者により内部ネットワークへのリレー拠点として使われるだけでなく、外部攻撃の発信源にされることで自社が加害者側と見なされるリスクがあります。
Q: ゼロデイ攻撃対策で WAF だけ導入すれば十分ですか?
A: WAF(Web Application Firewall)は有効ですが、OS・ミドルウェアの迅速な更新、脆弱性情報の収集、ログ監視など多層防御が不可欠です。
A: WAF(Web Application Firewall)は有効ですが、OS・ミドルウェアの迅速な更新、脆弱性情報の収集、ログ監視など多層防御が不可欠です。
関連キーワード: TLS, 踏み台攻撃, ゼロデイ攻撃, WAF, 暗号化通信
設問2:
本文中のd、eに入れる適切な字句をそれぞれ解答群の中から選び、記号で答えよ。
解答群
ア:エスケープ
イ:データサイズ
ウ:マイグレーション
エ:リダイレクト
オ:ルートクラック
模範解答
d:イ
e:ア
解説
解答の論理構成
-
【問題文】には、バッファオーバフロー対策として
“バッファオーバフローは、バッファにデータを保存する際にdを常にチェックすることで防ぐことができます。”
とあります。 -
バッファオーバフローは、用意した領域より大きいデータを書き込むことで隣接領域を上書きし、任意コード実行を招く攻撃です。したがって最重要ポイントは「格納前にデータの大きさを確認する」ことです。
-
解答群のうち、サイズを示す語は “イ:データサイズ” です。よって d=“データサイズ”。
-
次に SQL インジェクション対策として
“SQLインジェクションは、データをSQLに埋め込むところで、データの特殊文字を適切にeすることで防ぐことができます。”
とあります。 -
SQL 文に直接ユーザ入力を連結すると、クォート ' やセミコロン ; などの特殊文字により構文が改変されます。対策は特殊文字を“無害化”または“逃がす”処理、すなわち “エスケープ” です。
-
解答群の “ア:エスケープ” が意味的にも一致するため、e=“エスケープ”。
以上より
d:イ(データサイズ)
e:ア(エスケープ) が妥当です。
d:イ(データサイズ)
e:ア(エスケープ) が妥当です。
誤りやすいポイント
- “バッファ容量を増やす”だけでは根本対策にならないため d に別の語を当てはめてしまう。サイズ確認という基本を忘れがちです。
- SQL インジェクション対策を “入力値の長さ制限” や “リダイレクト” と混同し、e に他の語を選択してしまう。特殊文字のエスケープは必須かつ直接的な対策です。
- “ルートクラック” など響きの強い語を選びたくなるが、文脈が攻撃手法ではなく防御操作を説明している点を見落とすと失点につながります。
FAQ
Q: バッファオーバフローは言語を変えれば防げますか?
A: メモリ管理を自動で行う言語を使うと発生しにくくなりますが、組込み部など C/C++ が必要な場面も多いので、サイズチェックや境界チェックは依然として重要です。
A: メモリ管理を自動で行う言語を使うと発生しにくくなりますが、組込み部など C/C++ が必要な場面も多いので、サイズチェックや境界チェックは依然として重要です。
Q: SQL インジェクション対策でエスケープ以外に推奨される方法は?
A: プリペアドステートメント(バインド機構)を使うと、入力値と SQL 構文を論理的に分離でき、エスケープ漏れのリスクを大幅に減らせます。
A: プリペアドステートメント(バインド機構)を使うと、入力値と SQL 構文を論理的に分離でき、エスケープ漏れのリスクを大幅に減らせます。
Q: エスケープ処理を二重に行うと問題がありますか?
A: 二重エスケープはデータの可逆性を損ねたり、別種の脆弱性(例:XSS のサニタイジング失敗)を招く可能性があるため、処理フローを整理し、適切な場所で一度だけ実施することが望ましいです。
A: 二重エスケープはデータの可逆性を損ねたり、別種の脆弱性(例:XSS のサニタイジング失敗)を招く可能性があるため、処理フローを整理し、適切な場所で一度だけ実施することが望ましいです。
関連キーワード: バッファオーバフロー, SQLインジェクション, データサイズ, エスケープ, 入力検証
設問3:〔改善項目とその対策〕について、(1)〜(3)に答えよ。
(1)本文中の下線①について、Webサーバの構成情報の調査によって得られる、Webサーバを攻撃するために有用な、アプリケーションに関する情報を二つ挙げ、それぞれ7文字以内で答えよ。
模範解答
①:種類
②:バージョン
解説
解答の論理構成
- 下線部①は
N氏の発言「攻撃者は①Webサーバの構成情報の調査によって、攻撃するために有用な情報を得る」
に該当します。 - 設問は「Webサーバを攻撃するために有用な、アプリケーションに関する情報を二つ挙げ」るよう要求しています。
- アプリケーション攻撃で有用となる代表的な構成情報は、
・どのアプリケーション(ソフトウェア)が動いているか
・そのアプリケーションがどの版か
です。これにより攻撃者は「対応する既知の脆弱性」を突くことができます。 - それぞれを7文字以内にまとめると
・アプリケーションの種類 → 「種類」
・アプリケーションのバージョン → 「バージョン」 - よって解答は
① 種類
② バージョン
誤りやすいポイント
- 「OS 名」や「ポート番号」などを挙げてしまうケース。設問は「アプリケーションに関する情報」に限定しています。
- 「ソフト名」「ver」など略語で書いて失点する例。可読性・一般性の高い日本語を用いると安全です。
- 7文字以内の条件を超える語(例:アプリ種類)を書いてしまうミス。
FAQ
Q: 「種類」と「名称」はどう違いますか?
A: 「名称」は具体的な名前(例:Apache)を指すことが多く7文字を超えやすいので不適切です。「種類」はソフトウェアの種別を示す語として短くまとまります。
A: 「名称」は具体的な名前(例:Apache)を指すことが多く7文字を超えやすいので不適切です。「種類」はソフトウェアの種別を示す語として短くまとまります。
Q: OS のバージョン情報も攻撃には有用ですが解答に含めなくてよいのですか?
A: 本設問は「アプリケーションに関する情報」を問うているため、OS ではなく Webサーバ上のアプリケーション情報を優先します。
A: 本設問は「アプリケーションに関する情報」を問うているため、OS ではなく Webサーバ上のアプリケーション情報を優先します。
Q: 数字だけの「3.1」などで答えても良いですか?
A: 単独で「3.1」では「何の情報か」が伝わりません。「バージョン」と明示することで採点基準を満たせます。
A: 単独で「3.1」では「何の情報か」が伝わりません。「バージョン」と明示することで採点基準を満たせます。
関連キーワード: ポートスキャン, 脆弱性, バナーグラビング, 情報収集
設問3:〔改善項目とその対策〕について、(1)〜(3)に答えよ。
(2)本文中の下線②について、Webサーバへのポートスキャンの対策として効果的な方策は何か。15字以内で答えよ。
模範解答
必要なポートだけ開ける。
解説
解答の論理構成
- 攻撃者はまずポートスキャンで攻撃口を探します。本文には
「攻撃者は①Webサーバの構成情報の調査によって、攻撃するために有用な情報を得る」
とあり、ここでの“構成情報の調査”はポートスキャンを含みます。 - 表2 項番1のテスト結果に
「Webシステムのサービスに必要ないポートが、インターネットに公開されていた。」
と記され、改善項目では
「Webシステムのサービスに必要なポートだけをインターネットに公開する。」
と明示されています。 - 下線②の発言でも
「②ポートスキャンについては、Webサーバやファイアウォールの設定で防止する」
と述べており、不要ポートを閉じることが核心であると分かります。 - 以上から、最も効果的な対策を簡潔に表すと
「必要なポートだけ開ける。」
が妥当です。
誤りやすいポイント
- IDS/IPSの導入など高度な機器を答えたくなるが、本文は“設定で防止”と述べており基本対策を問うている。
- 「全ポート閉塞」など極端な回答はサービス提供自体を阻害するため不適。
- ファイアウォール設定の専門用語(ステートフルインスペクションなど)を盛り込み過ぎ、趣旨がずれる。
FAQ
Q: ポートを全部閉じればもっと安全では?
A: 必要ポートまで閉じるとWebサービスが使えなくなります。業務に必要なポートのみ開放し、残りは閉じるのが現実的対策です。
A: 必要ポートまで閉じるとWebサービスが使えなくなります。業務に必要なポートのみ開放し、残りは閉じるのが現実的対策です。
Q: ファイアウォールだけでなくWebサーバ側でも設定する理由は?
A: 外部境界(ファイアウォール)と内部ホスト(Webサーバ)の二重防御により、設定ミスや機器障害によるリスクを低減できるためです。
A: 外部境界(ファイアウォール)と内部ホスト(Webサーバ)の二重防御により、設定ミスや機器障害によるリスクを低減できるためです。
Q: ポートスキャンは完全に防げますか?
A: 完全遮断は困難ですが、不要ポートを閉じることで攻撃対象面を最小化し、スキャン結果から得られる情報を大幅に減らせます。
A: 完全遮断は困難ですが、不要ポートを閉じることで攻撃対象面を最小化し、スキャン結果から得られる情報を大幅に減らせます。
関連キーワード: ポートスキャン, 不要ポート閉塞, ファイアウォール, アタックサーフェス縮小, 設定ミス防止
設問3:〔改善項目とその対策〕について、(1)〜(3)に答えよ。
(3)本文中の下線③で、N氏が導入を推奨するセキュリティ機器とは何か。アルファベット3字で答えよ。
模範解答
WAF
解説
解答の論理構成
-
下線③の原文確認
・【問題文】「③Webサーバへの攻撃の疑いがあるアクセスを遮断するセキュリティ機器の導入が効果的です。」
・続けて【問題文】「保護する対象をWebアプリケーションに特化しており、Webサーバ上で使用するアプリケーションに潜む未知の脆弱性を突く攻撃を、プロトコルの異常などによって検知し、遮断できるようになります。」 -
要求される機能の整理
(1) “Webサーバへの攻撃の疑いがあるアクセスを遮断”
(2) “Webアプリケーションに特化”
(3) “未知の脆弱性を突く攻撃をプロトコルの異常で検知” -
代表的なセキュリティ機器との比較
- IDS(Intrusion Detection System):検知のみで“遮断”はしない。
- IPS(Intrusion Prevention System):遮断できるがネットワーク層~トランスポート層が中心、“Webアプリケーションに特化”とは言い難い。
- WAF(Web Application Firewall):HTTP/HTTPS のリクエスト内容を解析し、“Webアプリケーションに特化”して攻撃(SQLインジェクション、XSS など)を遮断。“未知の脆弱性”でもシグネチャやプロトコル異常で検知できる。
-
条件適合性
上記(1)〜(3)をすべて満たすのは WAF(Web Application Firewall)のみ。
したがって、下線③で N 氏が導入を推奨するセキュリティ機器は
【解答】WAF
【解答】WAF
誤りやすいポイント
- 「遮断=IPS」と短絡しがちですが、本文は「Webアプリケーションに特化」と明言しており、ネットワーク層中心の IPS では要件不足になります。
- 「ファイアウォール」を連想してしまう受験者も多いですが、従来型ファイアウォールはポート/IP ベースであり、アプリケーション層の未知攻撃まで扱えません。
- IDS と WAF の混同。IDS は“検知のみ”であり、「遮断できる」という本文要件を満たしません。
FAQ
Q: WAF はネットワーク型とサーバ型がありますが、本問で区別は必要ですか?
A: 設問は機器名称のみを問うため、実装形態の区別は不要です。どちらも「Webアプリケーションに特化して攻撃を遮断する」点で共通です。
A: 設問は機器名称のみを問うため、実装形態の区別は不要です。どちらも「Webアプリケーションに特化して攻撃を遮断する」点で共通です。
Q: IPS でもアプリケーション層のシグネチャを持つ製品がありますが、なぜ IPS では不正解なのですか?
A: 本文が「Webアプリケーションに特化」と述べているため、専用機である WAF を指していると判断できます。IPS はネットワーク全般を対象とするため、特化の要件を満たしません。
A: 本文が「Webアプリケーションに特化」と述べているため、専用機である WAF を指していると判断できます。IPS はネットワーク全般を対象とするため、特化の要件を満たしません。
Q: WAF を導入すれば SQL インジェクション対策は不要ですか?
A: いいえ。WAF は防御の“外部層”であり、アプリケーション側の入力値チェックやプリペアドステートメントなど“内部対策”も併せて実施することが推奨されます。
A: いいえ。WAF は防御の“外部層”であり、アプリケーション側の入力値チェックやプリペアドステートメントなど“内部対策”も併せて実施することが推奨されます。
関連キーワード: WAF, IPS, IDS, ポートスキャン, SQLインジェクション
設問4:
本文中の下線④について、ログのリアルタイムでのチェックで、サイバー攻撃の可能性があると判断される痕跡を解答群の中から全て選び、記号で答えよ。
解答群
ア:DNSを使用せずURLの中にIPアドレスを直接書き込んで通信している。
イ:URLフィルタのホワイトリストに一致した通信が発生している。
ウ:送られてくるファイルの拡張子が偽装されている。
エ:業務時間外に内部ネットワークから業務サーバへのアクセスが減少している。
オ:通信元のIPアドレスが、想定した範囲から外れている。
模範解答
ア、ウ、オ
解説
解答の論理構成
- 本文では、N氏が「④ログをリアルタイムにチェックする」ツールを導入し、サイバー攻撃の痕跡を検知すると述べています。
- リアルタイム監視で攻撃を疑うポイントは、
・通常の運用フローを外れるアクセス
・隠蔽や偽装を試みる通信内容
・想定外の送信元や宛先
であると整理できます。 - 解答群を個別に検討します。
- ア:「DNSを使用せずURLの中にIPアドレスを直接書き込んで通信している。」
DNSを回避して直接 IP を書く行為は、名前解決ログを残さずに攻撃サイトへ誘導したり、ブラックリストを避ける典型的手口です。よって“攻撃の痕跡”と判断できます。 - イ:「URLフィルタのホワイトリストに一致した通信が発生している。」
ホワイトリストに一致するのは“想定内”の通信であり、攻撃を示す痕跡とは言えません。 - ウ:「送られてくるファイルの拡張子が偽装されている。」
例:.jpg の実体が .exe など。マルウェアや不正スクリプトの持ち込みによく用いられるため、攻撃の痕跡です。 - エ:「業務時間外に内部ネットワークから業務サーバへのアクセスが減少している。」
アクセス“減少”は異常というより通常の夜間低負荷を示すケースが多く、攻撃兆候を直ちに示しません。 - オ:「通信元のIPアドレスが、想定した範囲から外れている。」
社外や未知の IP からのアクセスは不正侵入の可能性が高く、明確な警戒シグナルです。
- ア:「DNSを使用せずURLの中にIPアドレスを直接書き込んで通信している。」
- 以上より、攻撃の可能性が高い痕跡は「ア、ウ、オ」です。
誤りやすいポイント
- 「URLフィルタのホワイトリストに一致=安全」と読み飛ばし、「イ」を選んでしまう。ホワイトリストは“許可済み”を示すので注意。
- 「業務時間外=怪しい」と短絡的に「エ」を選択するミス。問題は“減少”であり、“増加”ならば異常と判断される点を混同しやすい。
- “DNS回避”が攻撃と直結するイメージが薄く、「ア」を見落とすケース。
FAQ
Q: DNSを使わず IP 直書きだと、なぜ危険なのですか?
A: DNSログに痕跡を残さず接続先を隠蔽できるため、フィッシングやマルウェア配布サイトへ秘匿的に誘導するのに利用されるからです。
A: DNSログに痕跡を残さず接続先を隠蔽できるため、フィッシングやマルウェア配布サイトへ秘匿的に誘導するのに利用されるからです。
Q: 拡張子偽装は具体的にどんなログで分かりますか?
A: HTTP レスポンスヘッダの Content-Type と通信中のファイル名が一致しない、あるいはアンチウイルスが MIME 不整合を検知するなどで判別できます。
A: HTTP レスポンスヘッダの Content-Type と通信中のファイル名が一致しない、あるいはアンチウイルスが MIME 不整合を検知するなどで判別できます。
Q: 想定外 IP アドレスを監視するには何を設定すべきですか?
A: ファイアウォールや IDS/IPS に「許可 IP 範囲」を定義し、逸脱した通信が発生した場合に即時アラートを出す設定を行います。
A: ファイアウォールや IDS/IPS に「許可 IP 範囲」を定義し、逸脱した通信が発生した場合に即時アラートを出す設定を行います。
関連キーワード: ログ監視, ポートスキャン, IPフィルタリング, 拡張子偽装, DNS回避


