応用情報技術者 2015年 秋期 午後 問01
ソーシャルネットワーキングサービスのセキュリティに関する次の記述を読んで、設問1~3に答えよ。
P社は、ソーシャルネットワーキングサービスの運営会社である。P社のサービス(以下、P-SNSという)は、約30,000人の会員が利用している。PCやスマートフォンのWebブラウザから簡単に日記や写真を登録できることが人気で、会員数を伸ばしつつある。
〔P-SNSの利用方法〕
P-SNSの利用には、会員登録が必要である。利用を希望するユーザは、会員情報として希望するアカウント名とパスワード、電子メールアドレス、ニックネーム、プロフィール情報(氏名、誕生日、年齢、性別、居住地)を入力し会員登録を行う。会員登録をすると、P-SNS内にマイページが作成される。
会員登録後は、アカウント名とパスワードを用いてP-SNSにログインし、日記や写真を登録して、マイページを更新する。
P-SNSでは、マイページ内の日記や写真について、情報の公開範囲の設定が可能であり、P-SNS内に無制限に公開するか、特定の会員だけに公開するかを設定できる。ただし、日記や写真以外の情報については、公開範囲の設定ができず、P-SNS内に無制限に公開される。
日記と写真をP-SNS内に無制限に公開する設定にした場合、他の会員がPCのWebブラウザからアクセスしたときに見えるP-SNSのマイページのイメージを図1に示す。

〔P-SNSのアカウント名とパスワードの設定ポリシ〕
P-SNSでは、アカウント名とパスワードの設定ポリシを図2のように定めており、設定ポリシを満たさないアカウント名やパスワードは設定できないように、会員登録時やパスワード変更時に入力チェックが行われる。

〔不正ログインの発覚〕
ある日、会員のQさんからP社に、“情報の公開範囲の設定が勝手に変更され、日記や写真が無制限に公開されている”とのクレームが入った。
そこで、P社カスタマサポート担当のR君が、Qさんのアカウントの利用状況調査を行うことになった。まず、R君がアクセスログからログイン状況を調査したところ、クレームの前日に、Qさんのアカウントでログインを試みるアクセスが100回あったことを確認した。そのうち、99回はパスワード誤りによってログインが拒否されており、最後の1回でログインが成功していた。また、Qさんへのヒアリングから、Qさん自身はこの日にログインしていないことが分かった。そこで、R君は、Qさんのアカウントが第三者による不正ログインに使用されたと判断し、Qさんのアカウントの利用を停止し、P-SNSの全会員に不正ログインの事件発生について注意喚起の案内を行った。
次にR君は、Qさんへのヒアリングから、設定されていたパスワードが氏名と誕生日を組み合わせた単純なものであったことが判明したので、今回の攻撃はaである可能性が高いと判断した。また、アカウント名とパスワードの組合せが第三者に知られたことから、bに備えて、P-SNSと同じパスワードを設定している他のサービスについてもパスワードを変更するように、Qさんにアドバイスした。
〔不正ログインに対する調査〕
R君は、Qさん以外の会員のアカウントに対する不正ログインについても調査を行った。その結果、Qさんの場合と同様の100回程度のログイン試行の記録が幾つか見つかった。
R君は、P-SNSのマイページには、①公開範囲の設定ができない情報の中にこれらの攻撃の足掛かりとなるものがあり、不正ログインにつながるリスクが高いと考えた。
〔不正ログイン対策の検討〕
R君は、不正ログイン対策として、次の三つの対策を検討した。
対策1:アカウント名とパスワードの設定ポリシを見直して、悪意をもった第三者がP-SNSに不正ログインしにくくする。
対策2:パスワード誤りによってログインが一定の回数拒否された場合、アカウントの利用を自動的に停止する機能を追加する。
対策3:悪意をもった第三者がP-SNSに不正ログインできないように、アカウント名とパスワードによる認証に加え、Cookieによる認証を追加する。
対策3を採用した場合の、会員登録から初回ログインまでの手順を図3に示す。


ユーザがWebブラウザを用いて会員登録機能から会員登録を行うと、Cookie発行機能のURLが記載された電子メール(以下、メールという)がCookie発行メール送信機能から送される。ユーザは、メールソフトを用いてメールを受し、メール内に記載されたURLからCookie発行機能にWebブラウザを用いてアクセスする。ユーザがアカウント名とバスワードを入力し認証が完了すると、ログイン用Cookieが発行される。Cookie発行機能のURLは、登録した会員一人一人にメールを送信する都度、異なるものが発行され、メールの送から1時間だけ有効である。また、発行されたログイン用Cookieの有効期間は半年間とし、ログインするたびに有効期間がその日から半年間に更新される。
会員がP-SNSにログインするときには、会員が入力するアカウント名とパスワードとともにログイン用Cookieがログイン機能へ送信される。ログイン機能では、送信されたログイン用Cookieがその会員に発行されたログイン用Cookieと異なる場合にはアクセスを拒否する。
会員が利用端末を変更したい場合やCookieの有効期間が過ぎた場合には、Cookie発行メール送信機能に対して、Cookie発行機能のURLが記載されたメールの送信を要求する。その後、会員登録時と同様にログイン用Cookieを入手する。
なお、P-SNSの通信は暗号化し、悪意をもった第三者が盗聴しても必要な情報を入手できないようにする。その後R君は、アカウントへの不正ログインの足掛かりとなった情報を全会員のマイページから削除するとともに、Cookieによる認証機能の導入を行った。
設問1:
本文中のa、bに入れる適切な字句を解答群の中から選び、記号で答えよ。
aに関する解答群
ア:DoS攻撃
イ:サイドチャネル攻撃
ウ:標的型攻撃
エ:類推攻撃
bに関する解答群
ア:ゼロデイ攻撃
イ:総当たり攻撃
ウ:パスワードリスト攻撃
エ:フィッシング攻撃
模範解答
a:エ
b:ウ
解説
解答の論理構成
-
a を考察します。問題文には
“設定されていたパスワードが氏名と誕生日を組み合わせた単純なものであったことが判明した”
とあります。個人情報を手掛かりに推測しやすい文字列を試す攻撃は、一般に「類推攻撃」と呼ばれます。したがって
a=“エ:類推攻撃”
が適切です。 -
b を考察します。問題文には
“アカウント名とパスワードの組合せが第三者に知られたことから、bに備えて、P-SNSと同じパスワードを設定している他のサービスについてもパスワードを変更するように”
とあります。取得済みの“アカウント名‐パスワードの組合せ”をそのまま別サービスへ横展開してログインを試みる行為は「パスワードリスト攻撃」です。したがって
b=“ウ:パスワードリスト攻撃”
が正解となります。
誤りやすいポイント
- 「総当たり攻撃」を選びたくなる
100回程度の試行回数に着目して “イ:総当たり攻撃” と誤解しやすいですが、総当たりは文字列を機械的に網羅する手法です。今回の鍵は「氏名と誕生日」という個人情報の組合せを使った“推測”である点です。 - 「フィッシング攻撃」を選びたくなる
他サービスへの被害拡大リスクを読んで “エ:フィッシング攻撃” と勘違いしやすいですが、フィッシングは偽サイトで入力させて資格情報を盗む手口であり、既に漏えい済みの認証情報を再利用する場面とは異なります。 - “リスト攻撃”と“総当たり”の区別
パスワードリスト攻撃は“既知の組合せを流用”するため試行回数はサービス数に比例します。総当たり攻撃は“未知の文字列を生成”するため桁数や文字種によって天文学的な試行が必要になります。
FAQ
Q: 類推攻撃はどのように防げますか?
A: パスワード設定ガイドラインで「氏名・誕生日・電話番号など個人情報を含めない」「辞書に載る単語を避ける」など具体的な禁止事項を盛り込み、入力チェック機能で弾くことが効果的です。
A: パスワード設定ガイドラインで「氏名・誕生日・電話番号など個人情報を含めない」「辞書に載る単語を避ける」など具体的な禁止事項を盛り込み、入力チェック機能で弾くことが効果的です。
Q: パスワードリスト攻撃への基本的な対策は?
A: “サービス間で同じパスワードを使わない”ことが最も重要です。運営側としては多要素認証、ログイン試行の監視、IP/端末ごとのレートリミットなどを組み合わせて防御します。
A: “サービス間で同じパスワードを使わない”ことが最も重要です。運営側としては多要素認証、ログイン試行の監視、IP/端末ごとのレートリミットなどを組み合わせて防御します。
Q: 総当たり攻撃と辞書攻撃の違いは何ですか?
A: 総当たり攻撃は可能な文字列をすべて生成・試行する方式、辞書攻撃はあらかじめ用意した単語リスト(辞書)を順に試す方式です。いずれも推測ベースですが、辞書攻撃の方が人間が選びやすい単語に限定する点が特徴です。
A: 総当たり攻撃は可能な文字列をすべて生成・試行する方式、辞書攻撃はあらかじめ用意した単語リスト(辞書)を順に試す方式です。いずれも推測ベースですが、辞書攻撃の方が人間が選びやすい単語に限定する点が特徴です。
関連キーワード: 類推攻撃、パスワードリスト攻撃、多要素認証、入力チェック、レートリミット
設問2:
本文中の下線①について、攻撃の足掛かりとなる情報とは何か。プロフィール情報とニックネームを除く情報の中から、10字以内で答えよ。
模範解答
アカウント名
解説
解答の論理構成
- 【問題文】には「ただし、日記や写真以外の情報については、公開範囲の設定ができず、P-SNS内に無制限に公開される。」とあります。
- その“公開範囲の設定ができない情報”は、図1のヘッダーなどに表示される「ニックネーム」「アカウント名」と右枠のプロフィール情報です。
- ①の下線部では「これらの攻撃の足掛かりとなるもの」があると述べられています。攻撃者がパスワードを総当たりするには、まずログイン時に必要な“ユーザ識別子”を知る必要があります。
- 会員にとって最も直接的なユーザ識別子は【図2】で定義されたアカウント名です。
- 攻撃者がマイページを閲覧するだけで「アカウント名」を取得できるため、パスワード総当たり(ブルートフォース)や辞書攻撃の開始条件が満たされます。
- 以上より、下線①で指摘する“攻撃の足掛かり”に該当するのは「アカウント名」です。
誤りやすいポイント
- 氏名や誕生日などプロフィール項目を選んでしまう
攻撃者はまずログインを試みるためのユーザ名を知る必要があるので、識別子以外の個人情報は直接の足掛かりになりにくいです。 - 「ニックネーム」を答える
ニックネームはログイン時に入力しないため、攻撃の起点としては不適切です。 - “プロフィール情報”という大括りの語を解答に使う
設問は「プロフィール情報とニックネームを除く」と明記しているため不正解になります。
FAQ
Q: なぜ氏名や誕生日ではなくアカウント名なのですか?
A: ログインフォームで要求される識別子が「アカウント名」だからです。これが分からなければパスワードの試行自体が成立しません。
A: ログインフォームで要求される識別子が「アカウント名」だからです。これが分からなければパスワードの試行自体が成立しません。
Q: ニックネームも公開されていますが攻撃の足掛かりになりませんか?
A: ニックネームはログイン時に使わないため直接的な足掛かりになりません。攻撃者は正しいアカウント名でログイン試行を行う必要があります。
A: ニックネームはログイン時に使わないため直接的な足掛かりになりません。攻撃者は正しいアカウント名でログイン試行を行う必要があります。
Q: ブルートフォースを防ぐには何が有効ですか?
A: 問題文の対策2のように一定回数の失敗でアカウントをロックする、あるいは対策3の多要素認証を導入することが有効です。
A: 問題文の対策2のように一定回数の失敗でアカウントをロックする、あるいは対策3の多要素認証を導入することが有効です。
関連キーワード: ブルートフォース攻撃、ユーザ名列挙、認証、アカウントロック、多要素認証
設問3:〔不正ログイン対策の検討〕について、(1)〜(4)に答えよ。
(1)対策1について、Qさんのアカウントへの攻撃手法に対する対策として有効ではないものを、解答群の中から選び、記号で答えよ。
解答群
ア:英和辞典にある英単語の利用禁止
イ:パスワード中に会員情報として登録した文字列を含めることの禁止
ウ:パスワードに記号文字を含めることの必須化
エ:半年以上ログイン実績がないアカウントの利用停止
模範解答
エ
解説
解答の論理構成
- 攻撃の特徴を把握
- 【問題文】には、
“パスワードが氏名と誕生日を組み合わせた単純なものであった”
“ログインを試みるアクセスが100回…99回はパスワード誤り…最後の1回でログインが成功”
とあり、公開プロフィールから推測しやすい文字列を短時間で総当たりした典型的な推測型攻撃であることが分かります。
- 【問題文】には、
“パスワードが氏名と誕生日を組み合わせた単純なものであった”
- 対策1の目的を整理
- 対策1は“アカウント名とパスワードの設定ポリシを見直して、悪意をもった第三者がP-SNSに不正ログインしにくくする”ものです。
- したがって「推測を困難にする」ルールが有効、「推測難易度と無関係なルール」は無効または効果が薄いと判定できます。
- 解答群の検証
- ア:英和辞典にある英単語の禁止 → 辞書攻撃で真っ先に試される語を排除できるため有効。
- イ:登録情報を含めることの禁止 → 氏名・誕生日を組み込むことを防げるため有効。
- ウ:記号文字の必須化 → 文字種を増やし総当たりの探索空間を拡大するため有効。
- エ:半年以上ログイン実績がないアカウントの利用停止 → 利用頻度が低い利用者を除外する措置であり、“推測しにくいパスワードにさせる”という目的には直接寄与しません。
- よって、対策1として“有効ではないもの”は「エ」となります。
誤りやすいポイント
- 「アカウント停止=セキュリティ強化」と早合点しやすい
実際には停止は“攻撃対象を減らす”だけで“推測困難化”には無関係です。 - 辞書攻撃対策=英単語禁止だけだと思い込む
個人情報を含める禁止や文字種増加も同じくらい重要です。 - 他対策と混同
回数制限(対策2)やCookie併用(対策3)など別機能とごちゃ混ぜにしないよう注意が必要です。
FAQ
Q: 半年以上ログインしていないアカウントは乗っ取られやすいのでは?
A: 乗っ取られやすさは“使用しているパスワードの強度”で決まり、最終ログイン時期とは直接関係ありません。停止しても推測攻撃の難度は変わりません。
A: 乗っ取られやすさは“使用しているパスワードの強度”で決まり、最終ログイン時期とは直接関係ありません。停止しても推測攻撃の難度は変わりません。
Q: 記号必須にするとメモ書きする人が増えて逆効果では?
A: 文字種を増やしたうえで“容易に推測されない経験則”を周知し、定期的にチェックを行うことでバランスを取ります。
A: 文字種を増やしたうえで“容易に推測されない経験則”を周知し、定期的にチェックを行うことでバランスを取ります。
Q: パスワードに個人情報を含めることの何が危険?
A: 【問題文】にあるようにプロフィールが“P-SNS内に無制限に公開”されていれば、攻撃者は本人情報を簡単に取得でき、推測候補を大幅に絞れます。
A: 【問題文】にあるようにプロフィールが“P-SNS内に無制限に公開”されていれば、攻撃者は本人情報を簡単に取得でき、推測候補を大幅に絞れます。
関連キーワード: 辞書攻撃、パスワード強度、プロフィール公開、ブルートフォース、認証ポリシ
設問3:〔不正ログイン対策の検討〕について、(1)〜(4)に答えよ。
(2)アカウント名とパスワードによる認証がユーザを認証するのに対し、Cookieによる認証は何を認証するものか。10字以内で答えよ。
模範解答
Webブラウザ
解説
解答の論理構成
- 問題文は「アカウント名とパスワードによる認証がユーザを認証する」と明示しています。
引用:【問題文】「アカウント名とパスワードによる認証に加え、Cookieによる認証を追加する。」 - 同じ箇所で Cookie 認証の目的が示唆されています。
引用:【問題文】「ログイン機能では、送信されたログイン用Cookieがその会員に発行されたログイン用Cookieと異なる場合にはアクセスを拒否する。」 - ここで比較されている対象は“送信してきた側”が保有する Cookie と“あらかじめ発行しておいた Cookie”の一致です。会員本人かどうかではなく、発行時に利用していたクライアント(=Webブラウザ)であるかを確認しています。
- 以上より、Cookie 認証は「その Cookie を保持する Web ブラウザ=利用端末」を識別・認証する仕組みであると結論付けられます。
- 指定文字数内に収めて最終解答は「Webブラウザ」となります。
誤りやすいポイント
- Cookie を「ユーザ」や「アカウント」を再認証する手段と誤解しやすい。Cookie 自体は利用端末側に保存されるため、本質的にはクライアント識別である。
- 「端末」や「PC」と答えると、モバイルブラウザなどを包含できず減点リスクがある。設問は Web ブラウザ単位での認証を意図している。
- Cookie 認証を多要素認証(Something you have)と混同し、“トークン”など抽象語で答えると意図がずれる。
FAQ
Q: 端末を買い替えたら Cookie 認証はどうなりますか?
A: 【問題文】「Cookie発行機能のURLが記載されたメールの送信を要求する」とある通り、新端末で再度 Cookie を発行し直します。
A: 【問題文】「Cookie発行機能のURLが記載されたメールの送信を要求する」とある通り、新端末で再度 Cookie を発行し直します。
Q: Cookie が盗まれた場合は安全ですか?
A: P-SNS では「通信は暗号化」されていますが、端末から直接 Cookie を奪われた場合は危険です。二段階目の認証としては有効ですが、端末管理も重要です。
A: P-SNS では「通信は暗号化」されていますが、端末から直接 Cookie を奪われた場合は危険です。二段階目の認証としては有効ですが、端末管理も重要です。
Q: パスワードを変更しただけで Cookie を無効にできますか?
A: 仕様上は Cookie が一致している限りログインが通るため、Cookie 自体を失効させる処理(有効期間切れや手動削除)が必要です。
A: 仕様上は Cookie が一致している限りログインが通るため、Cookie 自体を失効させる処理(有効期間切れや手動削除)が必要です。
関連キーワード: Cookie認証、クライアント識別、多要素認証、ログインセッション、暗号化通信
設問3:〔不正ログイン対策の検討〕について、(1)〜(4)に答えよ。
(3)図3の手順によって、今回のような悪意をもった第三者のログインが拒否される理由を25字以内で述べよ。
模範解答
ログイン用Cookieの値を知らないから
解説
解答の論理構成
- 【問題文】では、対策3の運用として
“会員がP-SNSにログインするときには、会員が入力するアカウント名とパスワードとともにログイン用Cookieがログイン機能へ送信される。ログイン機能では、送信されたログイン用Cookieがその会員に発行されたログイン用Cookieと異なる場合にはアクセスを拒否する。”
と明記されています。 - さらに、ログイン用Cookieは
“Cookie発行機能のURLは、登録した会員一人一人にメールを送信する都度、異なるものが発行され、メールの送から1時間だけ有効”
とされ、本人しか受信できないメール経由でしか取得できません。 - したがって、悪意ある第三者はパスワードを推測できてもログイン用Cookieを入手できず、ログイン機能で照合に失敗します。
- 以上から、解答は「ログイン用Cookieの値を知らないから」となります。
誤りやすいポイント
- パスワードだけを保護要素と考え、「試行回数制限があるから」と答えてしまう。対策2に該当する説明であり出題意図とずれます。
- 「メールに書かれたURLを知らないから」とする誤答。URLはCookie取得の手段に過ぎず、真正面の認証要素はログイン用Cookieです。
- 「IPアドレスが異なるから」など環境依存の要素を理由に挙げる。問題文にはIPアドレス照合の仕様はありません。
FAQ
Q: ログイン用Cookieが漏えいしたらどうなりますか?
A: 半年間の有効期間中は悪用される可能性があります。HTTPS通信で盗聴を防いでも、端末のマルウェア対策や利用端末管理が重要です。
A: 半年間の有効期間中は悪用される可能性があります。HTTPS通信で盗聴を防いでも、端末のマルウェア対策や利用端末管理が重要です。
Q: パスワードリスト攻撃への対策としてログイン用Cookieは十分ですか?
A: パスワードとCookieの二つを満たす必要があるため攻撃成功確率は大幅に低下しますが、併せてパスワード強度向上やアカウントロックも有効です。
A: パスワードとCookieの二つを満たす必要があるため攻撃成功確率は大幅に低下しますが、併せてパスワード強度向上やアカウントロックも有効です。
Q: なぜワンタイムパスワードではなくCookieなのでしょうか?
A: 端末を固定化し、再ログイン時の利便性(半年前後の自動認証)を維持できる点が大きいからです。
A: 端末を固定化し、再ログイン時の利便性(半年前後の自動認証)を維持できる点が大きいからです。
関連キーワード: Cookie認証、二要素認証、ブルートフォース攻撃、パスワードリスト攻撃、HTTPS
設問3:〔不正ログイン対策の検討〕について、(1)〜(4)に答えよ。
(4)図3の手順を用いることで、会員登録時に入力した情報の有効性を確認できる。どの情報の有効性を確認できるか。15字以内で答えよ。
模範解答
電子メールアドレス
解説
解答の論理構成
- 【問題文】には、
“ユーザがWebブラウザを用いて会員登録機能から会員登録を行うと、Cookie発行機能のURLが記載された電子メール(以下、メールという)がCookie発行メール送信機能から送される。ユーザは、メールソフトを用いてメールを受し、メール内に記載されたURLからCookie発行機能にWebブラウザを用いてアクセスする。”
と記載されています。 - この一連の流れでは、会員登録時に入力した宛先に実際にメールが届き、受信者がそこに含まれる“Cookie発行機能のURL”をクリックして初めて処理が進みます。
- さらに“Cookie発行機能のURLは…メールの送から1時間だけ有効”とあり、有効期限内にアクセスできなければ手続は完了しません。
- したがって、届いたメールを受信し、リンクをクリックできることにより「入力した宛先が本当に利用可能なメールアカウントである」ことが確認できます。
- 以上から、手順によって有効性(到達性)を確認できる情報は「電子メールアドレス」です。
誤りやすいポイント
- Cookieを受け取るために再度入力する“アカウント名”や“パスワード”が確認対象だと思い込む。これらは認証情報であり、有効性確認(リーチャビリティ確認)の対象ではありません。
- 「URLが届く=本人確認=本人情報すべてが検証される」と誤解し、氏名やプロフィールまで確認できたと考えてしまう。
- 有効期限が“1時間”であることに目を奪われ、目的が「電子メールアドレスの到達確認」である点を見落とす。
FAQ
Q: メールが届きさえすれば本人確認になるのですか?
A: 本設問で求められているのは「入力されたメールアドレスが実際に受信可能であるか」の確認です。本人確認(身元確認)までを保証するものではありません。
A: 本設問で求められているのは「入力されたメールアドレスが実際に受信可能であるか」の確認です。本人確認(身元確認)までを保証するものではありません。
Q: ワンタイムURLを使う利点は何ですか?
A: 第三者がURLを使い回すことを防ぎ、かつ有効期限(“メールの送から1時間だけ有効”)を設けることで、不正利用リスクを大幅に低減できます。
A: 第三者がURLを使い回すことを防ぎ、かつ有効期限(“メールの送から1時間だけ有効”)を設けることで、不正利用リスクを大幅に低減できます。
Q: Cookie発行後にメールアドレスを変更した場合、再確認は必要ですか?
A: はい。変更後のメールアドレスにも同様の手順でURLを送り、受信・アクセスできることを再度確認する必要があります。
A: はい。変更後のメールアドレスにも同様の手順でURLを送り、受信・アクセスできることを再度確認する必要があります。
関連キーワード: メールアドレス確認、ワンタイムURL, Cookie認証、不正ログイン


