アイデンティティ攻撃への対策

CAPTCHA きゃぷちゃ

ボット対策自動化攻撃人間確認reCAPTCHAチューリングテストスパム対策
CAPTCHAって何のためにあるの?

簡単に言うとこんな感じ!

「あなたは人間ですか?ロボットじゃないですよね?」って確認するための仕組みだよ!ゆがんだ文字を読んだり、信号機の写真を選んだりするアレ。コンピューターが自動でクリックしまくるのを防ぐための”人間チェック”なんだ!


CAPTCHAとは

CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)は、「コンピューターと人間を自動的に区別するための完全自動化された公開チューリングテスト」の略称です。Webフォームの送信やアカウント登録などの操作を、人間だけに許可してボット(自動化プログラム)を排除するための認証技術です。

具体的には、「ゆがんだ文字を読んで入力してください」「信号機が含まれる画像をすべて選んでください」といった課題を提示し、人間なら解けるがコンピューターには難しいタスクを使って自動化攻撃をブロックします。スパム投稿の大量送信、ブルートフォース攻撃(総当たりログイン試行)、チケットの買い占めボットなど、あらゆる自動化された不正アクセス・悪用への防衛策として広く使われています。


CAPTCHAの種類と仕組み

種類仕組み特徴
テキスト型ゆがんだ・ノイズ入り文字を読んで入力古典的。視覚障害者には不便
画像選択型「バスが含まれる画像を選べ」などGoogleの reCAPTCHA v2 が代表例
音声型音声で読み上げられた文字を入力アクセシビリティ対応
チェックボックス型「私はロボットではありません」にチェックマウス動作などを裏で解析
行動分析型ユーザーの操作パターンをAIで判定reCAPTCHA v3・見えないCAPTCHA
数学問題型「3+5は?」などの簡単な計算シンプルだがボットも突破しやすい

語源で覚える!CAPTCHA = チューリングテストの逆

チューリングテストとは「機械が人間と区別できないほど賢ければ知性がある」という概念。CAPTCHAはその逆方向、つまり「これを解けるなら人間だ」という判定。「逆チューリングテスト」と呼ばれることもあります。

reCAPTCHA の進化

v1(2007〜): ゆがんだ文字を入力 → ユーザー負担が大きい

v2(2014〜): 「私はロボットではありません」チェックボックス
             + 怪しければ画像選択チャレンジ

v3(2018〜): チャレンジなし。行動スコア(0.0〜1.0)で判定
             スコアが低いと追加認証を要求

歴史と背景

  • 1997年 — AltaVistaがスパムボット対策に「ゆがんだ文字認証」を実験的に導入
  • 2000年 — カーネギーメロン大学のルイス・フォン・アン氏らが「CAPTCHA」という名称と概念を体系化
  • 2007年 — Googleが reCAPTCHA を買収。文字認識で書籍のデジタル化にも活用するという逆転の発想を実現
  • 2008年〜 — OCR技術の進歩でテキスト型CAPTCHAのボット突破率が急上昇。画像認識型へ移行
  • 2014年 — reCAPTCHA v2「私はロボットではありません」登場。UXを大幅改善
  • 2018年 — reCAPTCHA v3 登場。スコアリングによる透明なボット検出へ
  • 2020年代〜 — AI(深層学習)によるCAPTCHA突破が高精度化し、行動分析・デバイスフィンガープリントなど複合的な対策へ進化

CAPTCHAと攻撃手法・対策技術の関係

CAPTCHAはボット攻撃全般への防御ですが、攻撃側も進化しています。

CAPTCHAを取り巻く攻撃と防御の構図 ボットの攻撃手法 スパム自動投稿 総当たりログイン チケット買い占め アカウント大量作成 CAPTCHA突破サービス CAPTCHAの防御技術 テキスト型CAPTCHA 画像選択型CAPTCHA チェックボックス型 行動分析型(v3) 複合認証・MFA連携 CAPTCHA 人間 vs ボットを 自動判定する関門 攻撃側が進化すれば 防御側も進化する ⚠️ AIによるCAPTCHA突破率が向上中 → 行動分析・MFAが主流へ

CAPTCHA突破への対抗手段(現在の主流)

課題対策
AI・深層学習による画像認識突破行動分析型(v3)への移行
人間を雇ったCAPTCHA解読サービスレート制限IP評判スコアの併用
UXの悪化(ユーザー離脱)不可視CAPTCHA・リスクベース認証
アクセシビリティの問題音声CAPTCHA・代替手段の提供

関連する規格・RFC

規格・RFC番号内容
RFC 9116security.txtの標準化(Webセキュリティ連絡先の定義)

関連用語