戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

情報処理安全確保支援士 2011年 春期 午後104


Webサイトのセキュリティ対策に関する次の記述を読んで、設問1,2に答えよ。

   R社は、おもちゃの会員制オークションサイト(以下、Sサイトという)を運用し、その販売手数料を主な収入源としている従業員数40名のネットオークション会社である。  Sサイトは図1のとおり、主にWebサーバ及びWebサーバ上で動作するWebアプリケーションであるオークションアプリケーション(以下、Rアプリという)、並びにデータベース(DB)で構成されている。
情報処理安全確保支援士試験(平成23年度 春季 午後1 問04 図1)
 Sサイトのサーバの管理とRアプリの保守はR社のシステム課が担当しており、社内LANからアクセスしている。DBの保守においては、WebサーバにあるDB接続用クライアントツール(以下、DB接続ツールという)を使って接続する。  一方、HTMLファイルや画像ファイルなどのコンテンツファイルの保守はホームページデザイン会社であるN社に委託している。N社の担当者にはFTPでWebサーバにコンテンツファイルを転送するためのアカウント(以下、CNT-MGRという)が付与されており、N社内で作成されたファイルをWebサーバに転送している。  Rアプリは、Perlで開発されたスクリプトである。Rアプリのスクリプトには、DBへの接続情報(DB利用者ID、パスワード)、ビジネスロジック、及び画面表示処理が含まれている。RアプリがDBに接続するときには、DB接続ツールとは異なるPerl用のDB処理モジュールを利用している。DBには、会員データが約3万件あり、暗号化されていない状態で格納されている。    Sサイトでは、会員のメールアドレスを会員IDとしており、会員はSサイトのログインページで、会員IDとパスワードを入力してログインする。  R社のシステム課はK課長を中心に、会員向けの機能追加を目的としてRアプリの改修に取り組んでおり、現在は設計フェーズである。   〔ペネトレーションテストによる現状確認〕  他社のオークションサイトで、会員情報の流出事件が起きたことから、R社の経営陣はK課長にSサイトのセキュリティ対策を確認するように指示した。K課長は現状のセキュリティ対策の有効性を確認するために、セキュリティ専門会社であるW社に、インターネット及びN社のオフィスからのペネトレーションテスト(以下、Pテストという)を依頼した。表1は、W社が報告したPテストの結果である。
情報処理安全確保支援士試験(平成23年度 春季 午後1 問04 表1)
〔セキュリティ対策の検討〕  K課長は、表1の結果を踏まえて対策の検討を行うために、W社のG氏に相談した。G氏は表1を見ながら、システム課のメンバから状況を聞いた上で、対策について助言した。次は、検討時の会話である。    K課長:V-1の対策としては、ログインページで、3回連続してログインが失敗したらアカウントをロックし、5分間は当該会員IDによるログインを受け付けなくします。また、V-2の対策としては、ログアウト時にa処理を実装します。  G氏 :それでよいでしょう。少し気になることがありますが、後ほど説明します。  K課長:Pテストの時点ではWebサーバのセキュリティパッチの適用を忘れていましたが、V-3とV-4の対策としては、システム課がDMZに配置された全サーバに最新のセキュリティパッチを適用するよう徹底します。    G氏は、サーバへのセキュリティパッチの適用だけではV-4の対策として不十分であるので、外部向けの不要な通信を拒否するようにFWのフィルタリングルール(以下、FWルールという)を変更することを提案した。さらに、①FWルールに違反してファイルを外部送信する試みの有無をシステム課の担当者が調べるための方法についても説明した。     K課長:なるほど、そうします。V-5、V-6の対策としては、パスワードを複雑なものに設定し直した上で、コンテンツファイル転送時の認証方法をFTPの認証ではなくSSHのパスワード認証に変更しようと思います。その場合、ログインが連続失敗したらアカウントをロックするようSSHを設定します。しかし、N社の担当者がN社以外からもアクセスする必要があるので、アクセス元をIPアドレスで制限できません。アクセス元を限定できないのが不安です。  G氏 :SSHでは、IPアドレス制限に頼らなくても、認証方式をbにすることによって、更にアクセス者を限定できます。  K課長:なるほど、そうします。最後にV-7の対策ですが、現状のWebサーバでCNT-MGRに付与されているファイルアクセス権限は図2のようになっています。第三者によってCNT-MGRが不正に使われた場合の対処も必要ですし、N社の担当者にもDB内の会員データの閲覧はもちろんDB接続もさせたくないので、DBMS標準アカウントの初期パスワードを変更した上で、CNT-MGRからコンテンツファイルの保守には必要のないDB接続ツールの実行権限を削除します。それから、Rアプリで鍵長256ビットのAESを使って、会員データを暗号化しようと考えています。その場合、暗号鍵は定数としてスクリプト内に定義します。
情報処理安全確保支援士試験(平成23年度 春季 午後1 問04 図02)
 G氏は、CNT-MGRに付与されているファイルアクセス権限の現状を考慮すると、K課長が示した対策だけでは②N社の担当者に会員データを閲覧されてしまう可能性が残ることを説明した。さらに、本来であればコンテンツファイルの確認のために新たに独立したテスト環境を構築し、N社にはそのテスト環境にだけアクセスさせ、本番環境にはアクセスさせないようにすべきであることを説明した。その上で、テスト環境を用意するまでの③暫定対策を提示した。    G氏 :先ほどのSサイトへのログインに関する件ですが、多くの会員は、Sサイトに登録しているメールアドレスとパスワードの組合せ(以下、認証情報という)と同じものを、ほかのWebサイトでも登録していると思われます。④ほかのWebサイトで大量に盗まれた認証情報が悪用されてSサイトにログイン試行が行われ、結果として幾つかの会員IDでのログインが成功してしまう可能性があります。V-1の対策のアカウントロックは一つの会員IDに対するログイン試行を想定しているので、大量のほかのWebサイトの認証情報を悪用するログイン成功を防ぐことはできません。  K課長 :それは、Sサイトの脆弱性ではなく会員のパスワード設定の問題ですが、なりすましてSサイトにログインされた場合には、我々が会員への対応に追われることになるので、何らかの手を打った方がよさそうですね。
 G氏は、下線④のようなログイン試行をできる限りRアプリで検知して遮断するための方法を説明した。こうしてK課長はPテストの結果について対策案をまとめ、経営陣から承認を得た。その後、対策を順調に終え、無事に新しいRアプリをリリースすることができた。

設問1Pテストの結果と対策について(1)〜(5)に答えよ。

(1)本文中のaに入れる適切な処理を解答群の中から選び、記号で答えよ。 解答群  ア:クッキーにパスワードをセットする  イ:再認証を行う  ウ:セッション情報を破棄する  エ:ログを採取する

模範解答

a:ウ

解説

解答の論理構成

  • 【問題文】の V-2 では「“Sサイトからいったんログアウトした後に、再びログインせずに、URLを直接指定することでSサイトの会員個人の専用情報ページを閲覧できた。”」と報告されています。
  • 原因は、ログアウト操作を行っても サーバ側に残っているセッションが有効のまま であるため、ブラウザが同じセッション ID を送り続ければ認証済みとして扱われてしまう点にあります。
  • この状況を防ぐためには、ログアウト時に 当該セッションを無効化(破棄) し、次回アクセス時にそのセッション ID が送られてきても認証情報として受け付けないようにしなければなりません。
  • 選択肢を見ると
    ・「ア:クッキーにパスワードをセットする」…セキュリティを低下させる誤手段
    ・「イ:再認証を行う」…ログアウト処理そのものではなく追加操作になる
    ・「エ:ログを採取する」…脆弱性の根本対策にはならない
    ・「ウ:セッション情報を破棄する」…ログアウト時にすべき正しい対策
  • したがって、a に入る処理は「ウ:セッション情報を破棄する」となります。

誤りやすいポイント

  • 「再認証を行う」を選んでしまうミス
    ログアウト後に表示ページへ遷移する前に再認証させるという考え方は一見正しく見えますが、“ログアウト処理そのもの” としてはセッションの無効化が本質です。
  • 「ログを採取する」で十分と誤解
    不正閲覧の証跡を残すことは重要ですが、防止策ではなく検知策。設問は防止策を求めています。
  • セッション破棄=クッキー削除と短絡的に考える
    ブラウザ側のクッキーを削除するだけではサーバ側に残るセッションが有効な限り再利用される恐れがあるので、必ずサーバ側でセッションを失効させる必要があります。

FAQ

Q: セッション情報を破棄すると具体的に何が行われますか?
A: サーバ側で保持しているセッション ID とその関連データを削除または失効状態にし、同じ ID を使った後続リクエストを無効扱いにします。ブラウザに残るセッション ID を示すクッキーも合わせて無効化または削除します。
Q: ログアウト時に CSRF トークンも無効にすべきですか?
A: はい。セッションを無効化すれば通常はトークンも紐付いて消えますが、独立したストレージでトークンを管理している場合は併せて削除する必要があります。
Q: シングルサインオン環境では本対策は変わりますか?
A: 基本は同じで、ログアウト要求を受けたサービスはセッションを即時失効させます。ただし、他サービスと連携する中央 IdP にもログアウトを伝搬させる仕組み(グローバルログアウト)が追加で求められます。

関連キーワード: セッション管理、ログアウト処理、認証、セッションハイジャック、CSRF

設問1Pテストの結果と対策について(1)〜(5)に答えよ。

(2)表1中のV-6の対策として、コンテンツファイル転送時に使用するサービスをSSHに変更した際、N社の担当者がコンテンツファイル転送時に使用するコマンドを、5字以内で答えよ。

模範解答

scp 又は sftp

解説

解答の論理構成

  1. 表1の「V-6」では
    ――「Webサーバへのコンテンツファイル転送時の通信を盗聴して、CNT-MGRのパスワードを窃取できた。」
    と報告されています。原因はFTPが平文で認証情報を送るためです。
  2. これに対してK課長は
    ――「パスワードを複雑なものに設定し直した上で、コンテンツファイル転送時の認証方法をFTPの認証ではなくSSHのパスワード認証に変更しようと思います。」
    と述べています。
    つまり安全な転送経路としてSSHを利用する方針です。
  3. SSH経由でファイルを転送する代表的なコマンドは
    ・scp(Secure Copy)
    ・sftp(SSH File Transfer Protocol)
    の二つです。いずれもSSHトンネル上で暗号化されたままファイルを送受信できるため、V-6の盗聴リスクを解消できます。
  4. よって、N社の担当者が使用すべきコマンドは
    「scp」又は「sftp」
    となります。

誤りやすいポイント

  • FTPのポート番号だけを変更すれば安全になると誤解し、暗号化プロトコルの導入まで考慮しない。
  • SSH導入後も従来どおりftpクライアントを使えると勘違いし、平文転送を続けてしまう。
  • rsyncを選ぶ場合でもオプションを誤り、SSHトンネルを確立せずに利用してしまう。

FAQ

Q: scpとsftpのどちらを選べばよいですか?
A: どちらもSSH上で動作し暗号化されます。大量ファイルの一次的な全転送はscpが簡便、継続的なアップロード・ディレクトリ操作が必要ならsftpの方が操作しやすいです。
Q: FTP over TLS(FTPS)では駄目なのでしょうか?
A: FTPSでも暗号化はできますが、既存環境にはSSHサーバが既に導入される予定であり、FWやポート設定も22番に集約できるため、運用簡素化という観点でSSHベースのscp/sftpが推奨されます。
Q: sshコマンドでポートフォワーディングし、ftpを使う方法は?
A: トンネルは可能ですが、設定が複雑になり誤設定のリスクが高まります。単機能で安全に完結するscp/sftpを利用する方が確実です。

関連キーワード: SSH, scp, sftp, 暗号化通信、パスワード盗聴

設問1Pテストの結果と対策について(1)〜(5)に答えよ。

(3)本文中のbに入れるべき、表1中のV-5の問題を解決できるSSHの認証方式を10字以内で答えよ。

模範解答

b:公開鍵認証方式

解説

解答の論理構成

  1. 問題が示す脅威
    表1「V-5」には
    「“CNT-MGRのパスワードを推測して、WebサーバへのFTP接続を何度か試行し、最終的に成功した。”」
    とあり、パスワード総当たり・推測に弱い点が指摘されています。
  2. 提示された改善方針
    K課長は「“コンテンツファイル転送時の認証方法をFTPの認証ではなくSSHのパスワード認証に変更”」と述べますが、これだけではパスワード推測の根本的リスクは残ります。
  3. G氏の助言
    そこでG氏は
    「“SSHでは、IPアドレス制限に頼らなくても、認証方式をbにすることによって、更にアクセス者を限定できます。”」
    と指摘し、パスワード不要で推測攻撃を受けにくい方式への切替を勧めています。
  4. 適切なSSH認証方式の特定
    ・IP制限に依存しない
    ・推測や辞書攻撃を困難にする
    ・ユーザ(N社担当者)ごとに秘密鍵を配布し、公開鍵のみをサーバに登録
    これら条件を同時に満たす一般的な方式は「公開鍵認証方式」です。
  5. よって b に入る解答は
    公開鍵認証方式

誤りやすいポイント

  • 「パスワードを複雑にする」だけで十分と判断してしまう。パスワード認証では攻撃面は残ります。
  • 「多要素認証」や「証明書認証」などと回答しがちですが、SSHの標準的な呼称は「公開鍵認証方式」です。
  • IPアドレス制限ができないという条件を見落とし、FW設定での対策を答えてしまう。

FAQ

Q: SSHの公開鍵認証方式ではパスフレーズも必要ですか?
A: 秘密鍵にはパスフレーズを設定するのが推奨です。推測攻撃の対象はサーバ側から端末側に移りますが、秘密鍵が窃取されてもパスフレーズで追加防御できます。
Q: 公開鍵認証方式にすると利用者が増えた時の鍵管理が煩雑になりませんか?
A: authorized_keys に利用者ごとの公開鍵を登録・削除するだけで個別管理が可能です。設定ミス防止には構成管理ツールを併用すると効率的です。
Q: もし秘密鍵が漏えいしたらどうすればよいですか?
A: 速やかに該当公開鍵を authorized_keys から削除し、新しい鍵対を再発行します。パスフレーズと鍵保護の運用を徹底することが重要です。

関連キーワード: SSH, 公開鍵暗号、ブルートフォース、認証、アクセス制御

設問1Pテストの結果と対策について(1)〜(5)に答えよ。

(4)本文中の下線①の、FWルールに違反してファイルを外部送信する試みの有無を調べるための方法を35字以内で具体的に述べよ。

模範解答

定期的にFWのドロップログを分析し、拒否した通信から調べる。

解説

解答の論理構成

  1. 【問題文】には「FWではドロップログ(通信を拒否したログ)だけを収集している。」と明記されています。
  2. 同じく下線①では「FWルールに違反してファイルを外部送信する試みの有無をシステム課の担当者が調べるための方法」を尋ねています。
  3. ルール違反の通信は FW により拒否されるので、その結果は必ず「ドロップログ」に記録されます。
  4. したがって、担当者が定期的にドロップログを点検・分析すれば、外部送信を試みた不正通信の有無と内容を把握できます。
  5. 以上より「定期的にFWのドロップログを分析し、拒否した通信から調べる」とするのが最適解です。

誤りやすいポイント

  • IDS/IPS の導入やパケットキャプチャなど、問題文に存在しない仕組みを回答に含めてしまう。
  • 「許可ログ」を対象にするなど、実際には収集されていないログを前提に考えてしまう。
  • 単に「FWログを確認」とだけ書き、どのログ(ドロップログ)をどのように見るかを具体的に示さない。

FAQ

Q: ドロップログだけで本当に外部送信の試行を把握できますか?
A: ルールに反した通信はすべて拒否されるため、ドロップログに残ります。ログを解析すれば宛先 IP やプロトコルなどから送信試行を特定できます。
Q: 許可された通信の中に不正なファイル送信があった場合は?
A: その場合はネットワーク全体の設計見直しや追加の監視装置が必要になりますが、本問は「FWルールに違反」した送信試行を対象としています。
Q: ログ分析はどの程度の頻度で行うべきですか?
A: 攻撃の早期発見を目的とするため、少なくとも日次、重要期間はリアルタイム監視が望ましいです。

関連キーワード: ドロップログ、ファイアウォール、ログ分析、不正通信、ルール違反検知

設問1Pテストの結果と対策について(1)〜(5)に答えよ。

(5)本文中の下線②の可能性について、N社の担当者がスクリプトファイルを悪用して会員データを閲覧するための方法を50字以内で具体的に述べよ。また、本文中の下線③の暫定対策の内容を40字以内で述べよ。

模範解答

閲覧するための方法:DBに接続して会員データを復号し表示するスクリプトファイルを作成し、実行して閲覧する。 暫定対策の内容:CNT-MGRから全てのスクリプトファイルへのアクセス権限を削除する。

解説

解答の論理構成

  1. 【問題文】では「スクリプトファイルに対して、読取り、書込み及び実行が可能である。」と明記されています。ここから、CNT-MGRは任意の Perl スクリプトを作成・配置・実行できることが分かります。
  2. さらに「DB接続ツールの実行権限を削除」しても、Rアプリと同じく「Perl用のDB処理モジュール」を呼び出すコードを書けば DB に接続できる状態が残ります。
  3. K 課長は「Rアプリで鍵長256ビットのAESを使って、会員データを暗号化…暗号鍵は定数としてスクリプト内に定義」と述べています。よって CNT-MGR がスクリプトを閲覧すれば暗号鍵も取得できます。
  4. 以上より、N 社担当者は
    ・自作スクリプトで DB へ接続
    ・取得した暗号鍵で AES 復号
    ・画面やファイルに出力
    という手順で会員データを閲覧できます。
  5. 残るリスクを封じる暫定策として、CNT-MGR から「全てのスクリプトファイル」へのアクセス権限を外せば、読み書きも実行もできず上記の手口は阻止できます。

誤りやすいポイント

  • 「DB接続ツールの実行権限を削除」しただけで安全と誤解しがちですが、Perl から直接 DBI を呼び出せばツールは不要です。
  • 暗号化=安全と短絡し、スクリプト内の定数鍵を見落とすと脅威分析が不十分になります。
  • 減らすべき権限は「DB接続」ではなく「スクリプトファイルへの全アクセス」である点に注意が必要です。

FAQ

Q: なぜ暗号鍵をスクリプトに埋め込むと危険なのですか?
A: ファイル権限が「読取り可能」なら誰でもソースを閲覧でき、鍵も同時に漏えいするため、暗号化していても平文と同じ扱いになります。
Q: DB接続ツールを削除すれば十分ではありませんか?
A: いいえ。Perl から DBI->connect を直接呼び出せば同等機能を実装できるので、スクリプト実行権限が残っている限りリスクは消えません。
Q: 暫定対策としてファイル閲覧だけ禁止すれば良いですか?
A: 作成や実行も封じなければ自作スクリプトを置いて実行されてしまうため、「読取り・書込み・実行」の全権限を除去する必要があります。

関連キーワード: アクセス制御、最小権限、復号、スクリプト実行、暗号鍵

設問2

本文中の下線④に示すログイン試行を、Rアプリで検知して遮断するためには、どのような条件を用いて検知することが適切か。60字以内で述べよ。

模範解答

一定時間内に同一IPアドレスから複数の会員IDでログイン試行し、かつ、一定回数以上認証失敗していること

解説

解答の論理構成

  1. 問題文には、下線④として
    「ほかのWebサイトで大量に盗まれた認証情報が悪用されてSサイトにログイン試行が行われ」
    とあります。これは、多数の“会員IDとパスワードの組合せ”を機械的に投入する典型的な“リスト型攻撃”です。
  2. 攻撃者は短時間に多くのIDでログインを試行するため、同じ送信元(同一IPアドレス)から失敗が連続するという特徴が現れます。
  3. 既にV‐1対策として「3回連続してログインが失敗したらアカウントをロック」する仕組みは導入予定ですが、これは「一つの会員ID」に対してのみ有効であり、リスト型攻撃ではIDを切り替えられるため無力です。
  4. したがって検知条件は、 ・同一IPアドレス
    ・短い時間間隔(一定時間内)
    ・複数の会員IDでの試行
    ・一定回数以上の認証失敗
    を組み合わせることで、アカウントごとの閾値回避を許さず攻撃全体を検知・遮断できます。
  5. 以上より模範解答の「一定時間内に同一IPアドレスから複数の会員IDでログイン試行し、かつ、一定回数以上認証失敗していること」が最適となります。

誤りやすいポイント

  • 「認証失敗回数」だけに注目し、送信元IPや試行ID数を条件に含めない。これでは攻撃者がIPを変えたり成功率を上げた場合に見逃してしまいます。
  • 「同一会員IDの失敗回数」で判断しようとする。問題文が指摘しているのは“IDをたびたび変える攻撃”であり、個別ID監視では検知できません。
  • 条件に「時間制限」を忘れる。長期間にわたる少量試行は正常利用と区別しづらいため、時間的な窓を設けることが重要です。

FAQ

Q: 同一IPアドレスでなくプロキシを使われたらどうなりますか?
A: プロキシやボットネット対策としてIP以外にUser-Agentやアクセス頻度も加味する多段階判定が有効です。ただし基本形としては同一IP条件が最も実装しやすい指標です。
Q: 成功・失敗の両方を条件に入れるべきですか?
A: 攻撃初期は失敗が大半なので失敗回数を主条件にします。成功を含めると正常利用者を誤検知しやすくなるため、まずは失敗回数を超えた時点で遮断し、後続の成功を防止する方式が推奨されます。
Q: 一定時間内とはどれくらいが目安ですか?
A: システムの利用状況次第ですが、数十秒~数分が一般的です。短過ぎると攻撃を逃し、長過ぎると正常利用者を誤検知する恐れがあるため、実運用のログ分析で最適値を調整します。

関連キーワード: リスト型攻撃、アカウントロック、侵入検知、フェールセーフ、認証ログ
戦国ITクイズ機能

\ せっかくなら /

情報処理安全確保支援士
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

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

このサイトについてプライバシーポリシー利用規約特商法表記開発者について