応用情報技術者 2018年 秋期 午後 問01
インターネットサービス向けサーバのセキュリティ対策に関する次の記述を読んで、設問1~3に答えよ。
食品販売業を営むL社では、社内外の電子メール(以下、メールという)を扱うメールサーバ、商品を紹介するWebサーバ及び自社ドメイン名を管理するDNSサーバを運用している。L社情報システム部のM部長は、インターネット経由の外部からのサイバー攻撃への対策が重要だと考え、当該サイバー攻撃にさらされるおそれのあるサーバの脆弱性診断を行うように、情報システム部のNさんに指示した。L社のサーバなどを配置したDMZを含むネットワーク構成を図1に、各サーバで使用している主なソフトウェアを表1に示す。
なお、L社のセキュリティポリシでは、各サーバで稼働するサービスへのアクセス制限は、ファイアウォール(以下、FWという)及び各サーバのOSがもつFW機能の両方で実施することになっている。


〔脆弱性診断の実施〕
Nさんは、社外のセキュリティベンダであるQ社に、メールサーバ、Webサーバ及びDNSサーバの脆弱性診断を実施してもらい。弱性診断の内容とその結果を受け取った。Q社が実施した脆弱性診断の内容の抜粋を表2に、Q社から受け取った脆弱性診断結果の抜粋を表3に示す。


〔発見された脆弱性への対策の検討〕
Nさんは、表3の脆弱性診断結果の内容を確認し、発見された脆弱性に対して実施すべき対策の案を検討した。検討結果を表4に示す。

Nさんは、脆弱性診断結果(表3)と、実施すべき対策の案(表4)をM部長に報告した。報告を受けたM部長は、Nさんが検討した表4の脆弱性対策を速やかに実施することと、中長期的な脆弱性対策を検討することを指示した。
〔中長期的な脆弱性対策〕
Nさんは、OSやミドルウェアなどの市販ソフトウェアと社外に委託して開発する自社ソフトウェアについて、L社が中長期的に取り組むべき脆弱性対策の案を検討した。検討結果を表5に示す。

Nさんは、表5の脆弱性対策の案を盛り込んだ改善計画を策定し、その結果をM部長に報告した。改善計画を確認したM部長は、この改善計画を基に具体的な取組みを検討するようにNさんに指示した。
設問1:〔脆弱性診断の実施〕について、(1)、(2)に答えよ。
(1)表2中のa、bに入れる適切な字句を解答群の中から選び、記号で答えよ。
解答群
ア:ARP
イ:IT資産管理
ウ:UDP
エ:XML
オ:インシデント管理
カ:ウイルス
キ:セッション管理
ク:ログ管理
模範解答
a:ウ
b:キ
解説
解答の論理構成
-
問題文では
“インターネット側から対象サーバにTCPスキャン及びaスキャンを実施し、稼働しているサービスに関する情報を収集する。”
とあります。ポートスキャンで TCP と対になる代表的なプロトコルは UDP です。他の選択肢「ア:ARP」「エ:XML」などはポートスキャンの対象プロトコルではないため不適切です。
⇒ a には “ウ:UDP” が入ります。 -
“Webアプリケーションについて、bの不備、Webページの出力処理の不備などがないことを確認する。”
Webアプリケーション診断では セッション管理 の不備が定番チェック項目です。解答群に該当するのは “キ:セッション管理” だけです。
⇒ b には “キ:セッション管理” が入ります。
誤りやすいポイント
- UDPをARPやICMPと混同しやすい
→ ポート番号を持つのは TCP/UDP だけ。ARPはそもそもレイヤ2。 - Webアプリ診断で “ログ管理” や “XML” を選びがち
→ 問題文は “出力処理の不備” に言及しており、クライアントとサーバ間の状態保持に関わる セッション管理 が本命。
FAQ
Q: UDPポートスキャンはなぜ重要なのですか?
A: DNSやSNMPなどUDPで待ち受けるサービスが開いていると、DDoSやリフレクション攻撃の踏み台になる可能性があります。TCPだけでは発見できないため、両方を組み合わせるのが一般的です。
A: DNSやSNMPなどUDPで待ち受けるサービスが開いていると、DDoSやリフレクション攻撃の踏み台になる可能性があります。TCPだけでは発見できないため、両方を組み合わせるのが一般的です。
Q: セッション管理の不備にはどのような攻撃がありますか?
A: セッションIDの推測・固定化・盗聴による乗っ取り(Session Hijack)が代表例です。Secure属性やHttpOnly属性の設定、セッションタイムアウトの適切化などが対策になります。
A: セッションIDの推測・固定化・盗聴による乗っ取り(Session Hijack)が代表例です。Secure属性やHttpOnly属性の設定、セッションタイムアウトの適切化などが対策になります。
Q: 出力処理の不備とセッション管理の不備は別物では?
A: そのとおりです。設問は “bの不備、Webページの出力処理の不備” と列挙しており、複数カテゴリーを同時に点検していることを示唆しています。
A: そのとおりです。設問は “bの不備、Webページの出力処理の不備” と列挙しており、複数カテゴリーを同時に点検していることを示唆しています。
関連キーワード: UDP, TCP, ポートスキャン、セッション管理、Webアプリケーション
設問1:〔脆弱性診断の実施〕について、(1)、(2)に答えよ。
(2)表3中のcに入れる適切な字句を答えよ。
模範解答
c:診3
解説
解答の論理構成
- 表2における「診3」の説明は“OS、ミドルウェア、アプリケーションの設定の不備などがないことを確認する。”という【問題文】の記載です。
- 表3「脆1」の“脆弱性の内容”には“送信ドメイン認証機能が未設定”とあり、まさに設定の不備であることが分かります。
- よって、表3「脆弱性診断の項番」欄に入るのは、設定不備に該当する「診3」と判断できます。
- 以上より c に入る適切な字句は【問題文】そのままの “診3” です。
誤りやすいポイント
- “既知の脆弱性”という文言だけで“未設定”をソフトウェアのバグと誤認し「診2」としてしまう。
- メールに関する脆弱性なので送受信プロトコルの開放ポート不足と誤解し「診1」を選択してしまう。
- 表2の説明を細かく読まず、設定不備=診3を結び付けられない。
FAQ
Q: “既知の脆弱性”と“設定の不備”はどう見分ければよいですか?
A: “既知の脆弱性”はソフトウェアそのものの欠陥やバグを指します。一方“設定の不備”は利用者が行う設定値の未設定・誤設定です。今回の“送信ドメイン認証機能が未設定”は後者です。
A: “既知の脆弱性”はソフトウェアそのものの欠陥やバグを指します。一方“設定の不備”は利用者が行う設定値の未設定・誤設定です。今回の“送信ドメイン認証機能が未設定”は後者です。
Q: メールで用いる“送信ドメイン認証”が未設定だと何が起こるのですか?
A: 送信元メールアドレスを偽装したスパムメールを正規メールと誤認して受信してしまう危険があります。フィッシングなどの被害拡大につながります。
A: 送信元メールアドレスを偽装したスパムメールを正規メールと誤認して受信してしまう危険があります。フィッシングなどの被害拡大につながります。
Q: 脆弱性診断では“診1”~“診4”のどこを優先的に見るべきですか?
A: 全て重要ですが、運用中の設定不備は即時修正しやすく効果も高いので“診3”の指摘は早急な対応を推奨します。
A: 全て重要ですが、運用中の設定不備は即時修正しやすく効果も高いので“診3”の指摘は早急な対応を推奨します。
関連キーワード: ポートスキャン、設定不備、送信ドメイン認証、脆弱性診断
設問2:〔発見された脆弱性への対策の検討〕について、(1)〜(3)に答えよ。
(1)表4中のd、eに入れる適切な字句を解答群の中から選び、記号で答えよ。
解答群
ア:MX
イ:PTR
ウ:SMTP
エ:SPF
オ:送信先
カ:送言元
キ:中継先
ク:中継元
模範解答
d:エ
e:カ
解説
解答の論理構成
- 【問題文】では、脆弱性「送信ドメイン認証機能が未設定なので、インターネットから届く送信元メールアドレスを偽装したスパムメールを受信してしまう状態」を解消するために「メールサーバソフトウェアに送信ドメイン認証機能としてd認証の設定を行う」と記載されています。
- メールの送信ドメイン認証方式で、DNSに登録したレコードを利用し送信元 IP アドレスを照合する代表的な仕組みは「SPF(Sender Policy Framework)」です。SPF では DNS に “SPF レコード” を登録し、送信を許可された IP アドレスを公開します。したがって d には解答群「エ:SPF」が入ります。
- SPF の動作手順には「受信したメールのeIPアドレスと照合」という工程が必ず含まれます。ここで比較対象となるのは、SMTP セッションを張ってきたホスト、すなわち「送信元 IP アドレス」です。解答群で該当するのは「カ:送言元」です。
- 以上より、
・d=「エ:SPF」
・e=「カ:送言元」
が妥当となります。
誤りやすいポイント
- DNS に登録するレコード種別を「ア:MX」と誤解するケース。MX はメール受信サーバを示すレコードであり、送信ドメイン認証とは直接関係しません。
- 「ウ:SMTP」を認証方式名と勘違いするケース。SMTP はプロトコル名であって認証方式そのものではありません。
- SPF で照合する IP アドレスを「送信先」や「中継先」と誤って覚えているケース。実際に DNS レコードと突き合わせるのは「送信元 IP アドレス」です。
FAQ
Q: SPF だけ設定すればスパムメールは完全に防げますか?
A: SPF は送信ドメインを偽装したメールの遮断に有効ですが、メール本文の内容をチェックするわけではありません。DKIM や DMARC など他方式と併用し、総合的な対策を行うのが望ましいです。
A: SPF は送信ドメインを偽装したメールの遮断に有効ですが、メール本文の内容をチェックするわけではありません。DKIM や DMARC など他方式と併用し、総合的な対策を行うのが望ましいです。
Q: 「PTR レコード」を使った認証方式は存在しますか?
A: SPF では RFC7208 で PTR メカニズムが非推奨になっています。現在は A、MX、IP4、IP6 などを用いるのが一般的です。
A: SPF では RFC7208 で PTR メカニズムが非推奨になっています。現在は A、MX、IP4、IP6 などを用いるのが一般的です。
Q: 送信元 IP アドレスはどこで取得されるのですか?
A: メールを受信したサーバが SMTP セッションを確立した際の相手側 IP アドレスを取得し、それを DNS で取得した SPF レコード記載の IP と照合します。
A: メールを受信したサーバが SMTP セッションを確立した際の相手側 IP アドレスを取得し、それを DNS で取得した SPF レコード記載の IP と照合します。
関連キーワード: SPF, DNSレコード、送信ドメイン認証、メールスプーフィング、IPアドレス照合
設問2:〔発見された脆弱性への対策の検討〕について、(1)〜(3)に答えよ。
(2)表4中のf、gに入れる適切な字句を図1中の構成機器の名称で答えよ。
模範解答
f:FW
g:Web サーバ
解説
解答の論理構成
- まず、対策案の本文を確認します。
引用:
「fと、gのOSがもつFW機能で、DBMSに接続するためのTCPポートを閉塞して、インターネットからDBMSにアクセスできないようにする。」 - L社のセキュリティポリシでは、アクセス制限を行う装置・機能が二段構えで定義されています。
引用:
「ファイアウォール(以下、FWという)及び各サーバのOSがもつFW機能の両方で実施することになっている。」 - 図1のネットワーク構成で “FW” は DMZ の外側に設置される境界ファイアウォールを示します。ここが最初に遮断すべき装置なので、f には「FW」が入ります。
- DBMS へ直接つながるのは “Webサーバ” だけです。商品検索システムは Web サーバ内で動作し、DBMS への接続ポート(例:3306/TCP など)が外部に露出していることが脆弱性(脆2)の原因です。その OS が持つホスト型 FW で二重に閉塞する必要があるため、g には「Webサーバ」が入ります。
- 以上より、
f = FW
g = Webサーバ
が妥当であると結論付けられます。
誤りやすいポイント
- 「FW」が複数存在すると思い込み、DMZ 内のレイヤ2スイッチやルータを選んでしまう。実際にポリシで明示されている名称は「FW」のみです。
- g を「DBMS」や「DBサーバ」と誤記するケース。問題文では “DBMS” はミドルウェアであって独立サーバではなく、あくまで “Webサーバ” 内のプロセスです。
- “サーバ OS の FW 機能” を無効化している企業ルールに慣れている受験生は、二重防御という方針を見落としがちです。
FAQ
Q: ルータ側でもフィルタリングできるのに、なぜ f は「FW」と限定されるのですか?
A: 問題文は「ファイアウォール(以下、FWという)」と明示し、アクセス制限の実施主体をルータではなく FW と規定しています。
A: 問題文は「ファイアウォール(以下、FWという)」と明示し、アクセス制限の実施主体をルータではなく FW と規定しています。
Q: “Webサーバ” の FW 機能を使う意味はありますか?
A: DMZ 内で万一他サーバが侵害された場合に備え、ホスト単位でポートを閉塞して侵害範囲を局所化する「多層防御」の考え方を適用しています。
A: DMZ 内で万一他サーバが侵害された場合に備え、ホスト単位でポートを閉塞して侵害範囲を局所化する「多層防御」の考え方を適用しています。
Q: DBMS のポート番号は具体的に何番を閉塞する想定でしょうか?
A: 代表例は MySQL 系なら “3306/TCP”、PostgreSQL 系なら “5432/TCP” などですが、本問は番号そのものではなく「インターネット越しに直接見えないようにする」ことが趣旨です。
A: 代表例は MySQL 系なら “3306/TCP”、PostgreSQL 系なら “5432/TCP” などですが、本問は番号そのものではなく「インターネット越しに直接見えないようにする」ことが趣旨です。
関連キーワード: パケットフィルタリング、DMZ, 二重防御、ホストベースファイアウォール、ポートスキャン
設問2:〔発見された脆弱性への対策の検討〕について、(1)〜(3)に答えよ。
(3)表4中のhに入れる適切なサイバー攻撃手法の名称を15字以内で答えよ。
模範解答
h:SQL インジェクション
解説
解答の論理構成
-
問題文の確認
表4の該当箇所には、次の一文が示されています。
――「SQL文を組み立てる際に害のあるコードが入力値に含まれていないか十分にチェックしてhを防止する。」
ここで “SQL文を組み立てる” と “害のあるコード” がキーワードになっています。 -
攻撃手法の典型例との照合
データベースを操作する SQL に悪意あるコードを混入し、不正に情報を取得・改ざんする代表的な攻撃手法は「SQLインジェクション」です。
表3の脆4にも「入力値チェックの不備によって、データベースに蓄積された非公開情報が閲覧されるおそれがあった。」とあり、まさに SQL インジェクション被害の典型的な結果(非公開情報の閲覧)を示しています。 -
結論
以上より、h に入る適切なサイバー攻撃手法は
「SQL インジェクション」と判断できます。
誤りやすいポイント
- XSS と混同する
Webアプリケーションの入力値検証という点で XSS を連想しがちですが、SQL 文を組み立てるという記述が決め手です。 - CSRF と取り違える
CSRF も入力値を悪用しますが、対象はユーザのセッション操作であり SQL 文の直接操作ではありません。 - “インジェクション”の語を省略する
正式名称「SQL インジェクション」まで書かないと減点対象になり得ます。
FAQ
Q: SQL インジェクションはどの層の脆弱性診断で検出されますか?
A: 表2の「診4 Webアプリケーション診断」で入力値検証の不備を確認する過程で検出されます。
A: 表2の「診4 Webアプリケーション診断」で入力値検証の不備を確認する過程で検出されます。
Q: 入力値チェック以外の SQL インジェクション対策には何がありますか?
A: プリペアドステートメントや ORM の利用により、SQL とパラメータを分離して組み立てない方法が有効です。
A: プリペアドステートメントや ORM の利用により、SQL とパラメータを分離して組み立てない方法が有効です。
Q: 脆4 の対策実装後は再診断が必要ですか?
A: はい。実装後に再度「診4」を実施し、脆弱性が解消されたことを客観的に確認するプロセスが推奨されます。
A: はい。実装後に再度「診4」を実施し、脆弱性が解消されたことを客観的に確認するプロセスが推奨されます。
関連キーワード: 入力値検証、SQL, インジェクション攻撃、DBMS, Webアプリケーション
設問3:〔中長期的な脆弱性対策〕について(1)、(2)に答えよ。
(1)表5中の下線①、②の各対策に該当する項目として適切なものを解答群の中からそれぞれ選び、記号で答えよ。
解答群
ア:インシデント発生時の緊急対応体制を整備する。
イ:公開されている弱性情報データベースを確認する。
ウ:実施すべきセキュリティ対策を定めて定期的に監査する。
エ:セキュリティ対策に関する予算を増額する。
オ:リスク分析を定期的に実施して対応計画を立案する。
模範解答
下線①:イ
下線②:ウ
解説
解答の論理構成
-
下線①の原文は「①社外の関連する組織から脆弱性情報を入手して活用する」です。
- ここで求められているのは “外部から脆弱性情報を収集して活用する” という行動です。
- 解答群で外部情報の収集に該当するのは「イ:公開されている弱性情報データベースを確認する。」です。
- よって①は「イ」となります。
-
下線②の原文は「②ソフトウェア開発の委託先企業のセキュリティ対策の実施状況を確認する」です。
- キーワードは “委託先のセキュリティ対策の実施状況を確認”、すなわち監査・チェックです。
- 解答群で監査に該当するのは「ウ:実施すべきセキュリティ対策を定めて定期的に監査する。」です。
- よって②は「ウ」となります。
以上より
・下線① ⇒ 「イ」
・下線② ⇒ 「ウ」
・下線① ⇒ 「イ」
・下線② ⇒ 「ウ」
誤りやすいポイント
- 「ア:インシデント発生時の緊急対応体制を整備する。」は事後対応の体制作りであり、脆弱性情報の“入手”とは別目的です。
- 「オ:リスク分析を定期的に実施して対応計画を立案する。」はリスク評価フェーズであって、委託先の“実施状況確認”=監査とは異なります。
- “弱性情報データベース”の「弱性」は誤植に見えるため読み飛ばしてしまいがちですが、選択肢そのものの意図は正確に把握する必要があります。
FAQ
Q: 下線①はメール通知サービスなどでもよいのでは?
A: 問題文は“社外の関連する組織から脆弱性情報を入手して活用する”という広い表現ですが、能動的・継続的な情報収集例として最も一般的なのが「公開されている弱性情報データベースを確認する。」なので選択肢イが適切です。
A: 問題文は“社外の関連する組織から脆弱性情報を入手して活用する”という広い表現ですが、能動的・継続的な情報収集例として最も一般的なのが「公開されている弱性情報データベースを確認する。」なので選択肢イが適切です。
Q: “委託先の実施状況確認”と“監査”は同義とみなしてよい?
A: はい。委託先の対策が計画通り実装・運用されているかを第三者または発注側が確認する行為は監査に相当します。従って選択肢ウが該当します。
A: はい。委託先の対策が計画通り実装・運用されているかを第三者または発注側が確認する行為は監査に相当します。従って選択肢ウが該当します。
Q: 外部監査機関を利用しないと②は満たせない?
A: 必ずしも外部監査機関である必要はありません。発注者自身によるチェックリスト方式や、共同レビューでも“定期的に監査する”という要件を満たせば十分です。
A: 必ずしも外部監査機関である必要はありません。発注者自身によるチェックリスト方式や、共同レビューでも“定期的に監査する”という要件を満たせば十分です。
関連キーワード: 脆弱性情報、セキュリティ監査、情報収集、外部委託、リスクマネジメント
設問3:〔中長期的な脆弱性対策〕について(1)、(2)に答えよ。
(2)表5中の下線③について、表3の項番“脆3"で発見された脆弱性への対策として、ソフトウェアの企画・設計段階からセキュリティの専門家を参加させる狙いを30字以内で述べよ。
模範解答
危殆化していない暗号化通信方式を採用するため
解説
解答の論理構成
- 表3の“脆3”には
「Webサーバソフトウェア」「脆弱な暗号化通信方式が使用できてしまう設定であり、情報漏えいのおそれがあった」
と記載されています。つまり弱い暗号スイートが残っている点が問題です。 - 表5の下線③では
「ソフトウェアの企画・設計段階からセキュリティ機能を組み込むようにセキュリティの専門家を参加させる」
とあります。実装後ではなく設計段階から専門家が加わることで、安全な暗号仕様を選定できます。 - したがって、狙いは“弱い暗号を排除し、安全な暗号化通信方式を最初から採用すること”です。
- 以上より模範解答「危殆化していない暗号化通信方式を採用するため」と導けます。
誤りやすいポイント
- “専門家参加=脆弱性診断の頻度を上げる”と誤解しやすいですが、本問は診断ではなく“設計段階での安全な方式選定”が主旨です。
- “暗号鍵長を長くする”とだけ答えると、弱いプロトコル自体の排除という本質を捉えていないと判断されます。
- “テスト工程で暗号方式を確認する”と後工程を答えてしまうケースも注意が必要です。
FAQ
Q: 暗号化通信方式が“脆弱”かどうかは誰が判断するのですか?
A: セキュリティ専門家が最新の脆弱性情報や業界ガイドラインを踏まえて評価します。設計段階で参加することで安全な方式を選択できます。
A: セキュリティ専門家が最新の脆弱性情報や業界ガイドラインを踏まえて評価します。設計段階で参加することで安全な方式を選択できます。
Q: 既に導入済みのサーバにはこの対策は有効ですか?
A: 設計段階での参加は新規・更改時に特に効果を発揮しますが、専門家が設定見直しやアップグレード計画を立てることで既存環境にも波及効果があります。
A: 設計段階での参加は新規・更改時に特に効果を発揮しますが、専門家が設定見直しやアップグレード計画を立てることで既存環境にも波及効果があります。
関連キーワード: 暗号化通信方式、セキュア設計、セキュリティ専門家、脆弱性診断


