情報セキュリティマネジメント 2019年 春期 午前(科目A) 問21
問題文
Webサイトで利用されるCAPTCHAに該当するものはどれか。
選択肢
ア:人からのアクセスであることを確認できるよう、アクセスした者に応答を求め、その応答を分析する仕組み(正解)
イ:不正なSQL文をデータベースに送信しないよう、Webサーバに入力された文字列をプレースホルダに割り当ててSQL文を組み立てる仕組み
ウ:利用者が本人であることを確認できるよう、Webサイトから一定時間ごとに異なるパスワードを要求する仕組み
エ:利用者が本人であることを確認できるよう、乱数をWebサイト側で生成して利用者に送り、利用者側でその乱数を鍵としてパスワードを暗号化し、Webサイトに送り返す仕組み
🔒 解説は解答すると表示されます
CAPTCHA(ボット判別)【情報セキュリティマネジメント解説】
正解の理由
CAPTCHAは、コンピュータ(自動プログラム=ボット)と人間を区別するための「問いを出して応答を得る仕組み」です。CAPTCHAは英語で「Completely Automated Public Turing test to tell Computers and Humans Apart:コンピュータと人間を区別する自動判定テスト」を意味します。選択肢の中でこの定義に合うのは、アクセスした者に応答を求めてその応答を分析する仕組みを説明する ア です。
他の選択肢は、SQLインジェクション対策や時限式の認証など、目的や技術が異なります。
他の選択肢は、SQLインジェクション対策や時限式の認証など、目的や技術が異なります。
解法ステップ
- 問題が「何を実現する仕組みか」を確認する。キーワードは「人からのアクセスであることを確認」や「応答を求める」。
- 各選択肢が何をしているかを短く定義する(例:SQL対策、ワンタイムパスワード、暗号チャレンジ等)。
- 「問いを出して応答を分析する=人間かを判定する」ことを示す選択肢を選ぶ。
この問題では、応答を分析して人かどうかを判定する説明が含まれる ア を選びます。
選択肢別の誤答解説
- ア: 正解。アクセス者に問い(例えば画像認識、チェックボックス、音声)を出して応答を分析し、人間か自動処理かを判定する仕組みで、これが CAPTCHA の本質です。
- イ: 間違い。これは SQL(Structured Query Language:データベース操作言語)に対する「プレースホルダ」を使った対策で、SQLインジェクション(不正なSQL命令を注入する攻撃)を防ぐ技術です。CAPTCHAとは目的が違います。
- ウ: 間違い。これはTOTP(Time-based One-Time Password:時限式ワンタイムパスワード)などの「一定時間ごとに変わるパスワード」に近い説明で、利用者本人の認証(本人確認)を行う仕組みです。CAPTCHAは「人か機械か」の判定であって、本人認証とは異なります。
- エ: 間違い。これはサーバ側が乱数(チャレンジ)を送り、クライアント側がそれを鍵に何らかの暗号処理をして応答する「チャレンジ・レスポンス認証」に近い技術です。暗号を使った認証であり、CAPTCHAの「単純に人かどうかを問う」仕組みとは目的が違います。
よくある誤解
- CAPTCHAは「本人確認(認証)」と同じだと思う誤解:CAPTCHAは「この操作をしたのは人間か」を判定するもので、誰であるか(本人かどうか)を確認する認証とは目的が異なります。
- CAPTCHAは万能だと思う誤解:機械学習で突破されたり、人手で解かせる有料サービスがあるため、単独では完全な防御になりません。複数の対策と組み合わせて使います。
- 視覚障害者には使えないだろうという誤解:画像だけでなく音声CAPTCHAや行動ベースの判定(Invisible reCAPTCHA など)を用いることで対応可能です。運用時はアクセシビリティに配慮する必要があります。
補足コラム
実務での運用イメージ:会社の問い合わせフォームや会員登録ページにCAPTCHAを入れると、スパムや自動登録(ボット)を減らせます。ただし、ユーザビリティ(使いやすさ)を下げると顧客離れに繋がるため、例えばログイン試行数が多い場合のみ表示する、行動(短時間の大量リクエスト)をもとに自動で有効にする、など段階的に適用するのが現実的です。さらに、WAF(Web Application Firewall:ウェブアプリケーション防御装置)やレート制限と併用すると効果的です。
FAQ
Q: CAPTCHA と 2段階認証(2FA)はどう違いますか?
A: CAPTCHAは「人間かを判定」する対策です。2FA(Two-Factor Authentication:二要素認証)は「本人であることをより確実に確認」する手法で、例えばパスワード+スマホに送るワンタイムコードの組合せです。目的が違うので用途に応じて使い分けます。
A: CAPTCHAは「人間かを判定」する対策です。2FA(Two-Factor Authentication:二要素認証)は「本人であることをより確実に確認」する手法で、例えばパスワード+スマホに送るワンタイムコードの組合せです。目的が違うので用途に応じて使い分けます。
Q: reCAPTCHAって何ですか?
A: reCAPTCHAはGoogleが提供する CAPTCHA のサービス名です。画像やチェックボックス、行動分析で人間判定を行います。無料で導入しやすい反面、外部サービス利用の可否やプライバシー方針を確認する必要があります。
A: reCAPTCHAはGoogleが提供する CAPTCHA のサービス名です。画像やチェックボックス、行動分析で人間判定を行います。無料で導入しやすい反面、外部サービス利用の可否やプライバシー方針を確認する必要があります。
Q: CAPTCHA を使うとどれくらい防げますか?
A: 単純なスクリプトによる大量投稿や自動フォーム送信はかなり減らせますが、機械学習や解答代行サービスには弱い場合があります。多層防御(WAF、レート制限、ログ監視)と組み合わせるのが現実的です。
A: 単純なスクリプトによる大量投稿や自動フォーム送信はかなり減らせますが、機械学習や解答代行サービスには弱い場合があります。多層防御(WAF、レート制限、ログ監視)と組み合わせるのが現実的です。
関連キーワード: CAPTCHA、ボット対策、スパム防止、画像認識、reCAPTCHA、TOTP、ワンタイムパスワード、パラメータ化クエリ、チャレンジレスポンス、WAF、アクセス制限

\ せっかくなら /
情報セキュリティマネジメントを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

