問題 31★★☆

会員向けWebサイトの新規登録フォームに、プログラムによる自動送信とみられる架空の登録が、 毎回異なるIPアドレスから大量に届いている。正規の利用者の登録は受け付けたまま、 この自動送信を減らす対策として、最も適切なものはどれか。

正解:イ

各選択肢の解説

  1. ア送信元のIPアドレスを拒否リストに登録して遮断する。

    誤り。特定の送信元からの攻撃なら効きますが、この事例では送信元が毎回変わるので、 登録したアドレスはもう使われず、遮断が追いつきません。 送信元が固定されているかどうかで、効くかが分かれる対策です。

  2. イ登録画面にCAPTCHAを設け、人による操作かを確かめる。

    正解。CAPTCHAは、人には解けてプログラムには解きにくい問いを出して、 操作しているのが人かプログラムかを見分けます。送信元が変わっても効きます。

  3. ウ登録後のログインに、多要素認証を求めるようにする。

    誤り。多要素認証は、登録済みの利用者がログインするときに本人かを確かめる仕組みです。 どちらも「入口で確かめる」ので混同しやすいですが、確かめるのは本人かどうかで、 登録フォームへの自動送信そのものは止まりません。

  4. エWAFを導入し、攻撃に使われる文字列を含む送信を止める。

    誤り。WAFは、SQLインジェクションのような攻撃用の文字列を通信の中から見つけて止めます。 架空の登録は、氏名やメールアドレスを普通の形式で入れてくるので、 中身だけ見ても正規の登録と区別がつきません。

理解を深めるために

「あなたは人ですか」と確かめる仕組み

ゆがんだ文字を読ませる、条件に合う画像を選ばせる、といった画面を見たことがあるでしょう。 これがCAPTCHAです。人なら簡単に答えられて、プログラムには答えにくい問いを出すことで、 操作しているのが人かプログラムかを見分けます。

なぜこの場面でCAPTCHAなのか

この事例で困っているのは「誰が」ではなく「人ではないものが」送ってくることです。 手がかりを整理すると、ほかの対策が効かない理由が見えてきます。

  • 送信元のIPアドレスは毎回変わる → アドレスで止める方法は追いつかない
  • 送られてくる内容は普通の登録と同じ形 → 中身を見て止める方法では見分けられない
  • 登録の段階で起きている → ログイン時の確認では間に合わない

残る手がかりは「操作しているのが人かどうか」で、そこを確かめるのがCAPTCHAです。 正規の利用者は問いに答えれば登録できるので、受付を止めずに済みます。 ただし、問いを解くサービスを使う攻撃者もいるので、登録数の監視などと組み合わせて使います。

混同しやすいものとの違い

対策 何を見て止めるか
CAPTCHA 操作しているのが人かプログラムか
拒否リスト(IPアドレス) 送信元が登録済みの危険なアドレスか
多要素認証 ログインする人が本人か
WAF 送信内容に攻撃用の文字列が含まれるか

試験では、止めたい相手が「特定の送信元」「本人以外」「攻撃用の入力」「プログラムによる自動操作」の どれかを読み取ります。自動操作そのものを止めたいなら、CAPTCHAです。

前の問題へ次の問題へ