パスワードを忘れた? アカウント作成
88330 story

CAPTCHA無き世界を目指して 49

ストーリー by makeplex
人間が人間であることを証明するのは難しい 部門より

pinbou 曰く、

本家/.の記事(A Vision For a World Free of CAPTCHAs)より。Slateの記事(I'm Human, Computer, I Swear!)において、CAPTCHAに代表されるような現在のウェブ上における人間性の認証手法は、発想からして間違っていると主張されています。いわく

アラン・チューリングが1950年の論文において最初から述べていたように、チューリング・テストの目標はコンピュータが人間のように「振る舞えるか」を見分けることであり、人間が出来る作業をこなせるかどうかを判別することではなかった。CAPTCHAに根本的な限界がある理由は、CAPTCHAが調べるのが能力であって、振る舞いではないということである。(中略)人間がウェブページの閲覧等で見せる、ランダムで回りくどい振る舞い――スクロールしたり、ハイライトしたり、タイプしたりし直したり――は、ボットにとっては極めて真似にくい。そうした人間の振る舞いの特徴をアルゴリズム的に捉えるシステムがあれば、人間が人間であることを証明するのははるかに容易となるに違いない。

確かにおっしゃる通りですが、そんなアルゴリズムは存在しうるのでしょうか?

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 人間ごっこ (スコア:5, すばらしい洞察)

    by Offtopics (34135) on 2009年04月26日 23時41分 (#1555595)
    > そんなアルゴリズムは存在しうるのでしょうか?

    そんなアルゴリズムが存在したら、それを用いて人間のように振る舞える機械が出来ちゃうのでは?
    • Re: (スコア:0, オフトピック)

      by Anonymous Coward

      アルゴリズムが存在するからと言って、アルゴリズム的に回避が容易であるとは限りません。
      たとえばRSA暗号の秘密鍵と公開鍵のペアはアルゴリズム的に生成されますが、公開鍵から秘密鍵を求めるのは(アルゴリズム的に可能ではありますが)極めて困難です。

      • by Anonymous Coward

        それ全然別の話じゃない?
        RSAは種(素数)を元にした生成アルゴリズム。
        アルゴリズムが分かっていてもキーが分からなければ再現不能

        ここで議論になっているのは、「何かを判定する」アルゴリズム
        アルゴリズムが分かっていれば、判定をパスするのは可能

        判定アルゴリズムにもキー的な秘密のパラメータを持たせる事は出来るけれど
        そのキーが何であっても、「人間の振る舞い」でパスする事が分かっているならば
        同じ様な操作をreplayすれば当然パスするはず

        RSAの話に戻るならば、種に当たる人間の操作はいくらでも作れるんだもの。
        アルゴリズムが分かっていても~ なんて話をしても意味が無い

        • by Anonymous Coward
          録音された音声は人間なら1回目はともかく繰り返し聞けば録音だと解るように そのアルゴリズムは人間の振る舞いのコピーや加工されたものだと識別する 能力があるはず。計算でバリエーションをもたせたり、なめらかに変化させるのは 初音みくの発声とかアシモの動きを人間と対比させてみればまだまだ難しいんじゃ ないでしょうか?
          • by Anonymous Coward

            それを検出するのもまだまだ難しいんじゃないでしょうか?
            以下無限ループ

            #元で言ってるのは、検出できるならば検出された部分を補正すればいいって話だと思うんで。
            #検出精度の向上が無制限だとしてもイタチゴッコが限界で、汎用の入力デバイスでは精度が知れているので遠からず攻撃側優位で止まるとは思いますが。

  • by jaguar (3977) on 2009年04月26日 22時45分 (#1555577) 日記

    そこまでしなくちゃならないなら
    ブログコメントなんていらないやって考えるんだ

    • by Anonymous Coward
      トラックバックなんての思いついた奴、紹介した奴、スパム用システムなんか作ってあほじゃなかろうかと思ったもんですよ。
  • 逆に (スコア:1, 興味深い)

    by Anonymous Coward on 2009年04月26日 23時41分 (#1555597)

    そういう挙動を解析して人間だと判定できるプログラムができているのであれば
    そのように振舞うプログラムを作成する事も可能ですよね?

    ってことを考えなければいかんと思います。

    • Re:逆に (スコア:3, 参考になる)

      by bakuchikujuu (16666) on 2009年04月27日 1時35分 (#1555625) ホームページ 日記

       人間が人間である事を判定するのは難しいですが、人間ではありえないと判定するのはよりやさしいでしょう。

       私が改造したWeb掲示板のspam判定条件では、formのあるページをGETしてPOSTするまでの時間が短すぎたらbotとしています。投稿用のフォームをGETして5秒後にPOSTする人間はあまりいないでしょう。ごく原始的な、振る舞いの検知と言えるかもしれません。
       もちろん、回避も容易で、わざわざGETとPOSTの間隔を開けているbotらしきログも多いです。(他の条件で結局排除されているのですが)

       先に挙げた例のようにそれだけでは完全にbotの投稿を排除する事は出来ませんが、それで排除できるbotの投稿も多いはずです。spam投稿を防ぎ、かつ投稿者に余計な手間を取らせない手の一つとしては、それなりに有効だと思います。

      > typing and retyping

       一旦テキストエディタで書いてコピー&ペーストする私はbot扱いされるかも。

      親コメント
    • Re:逆に (スコア:2, 興味深い)

      by hado (21151) on 2009年04月27日 0時33分 (#1555607)

      ですよね。
      アルゴリズムで判定できるならアルゴリズムで突破できる。

      だからアルゴリズムと無関係な、人間の「認識力」を使った認証システムを使わざるを得ないのが現実。
      何が言いたいかというとねこ認証 [engadget.com]最強なんじゃないかと。

      #まじめにこれ良いと思うんですけどね。グレースケールにすればさらに良し。

      親コメント
      • by blackdrug (13208) on 2009年04月27日 0時55分 (#1555613) 日記

        ノンですかね。
        ネコとそれ以外のパターンをあるだけ調べ上げて
        パターンと合致したらネコという判定を下せば楽々突破してしまうでしょう。

        私の意見ではもうちょっと人間心理をつくものなんですよね
        例えば「ネコとはなんぞや?」という質問を投げかけ、
        「崇高なる愛の形」などと答える。

        まず過去のパターンと一致した場合、(つまり、まったく同じ文章が出ている)
        それははじく。
        さらに無茶苦茶な文章で通らないように、
        次の人に判定をしてもらうっていう方式なんだけど
        けっこう複雑かもしんないね

        親コメント
        • by Anonymous Coward on 2009年04月27日 2時02分 (#1555629)
          そんな方法じゃ、かなりの確率で人間も弾いちゃう。

          認証の正答がハッキリしてないし、その正答の枠組みを決めようとすることは、
          結果的にアルゴリズムを策定しようとすることに等しい。

          最終的に人間に判断させるっていう場合も結局同じ。
          『何を持って良しとするか』について考えるとき、
          すでに我々はアルゴリズムを用いている。

          こういう心身問題を突き詰めると、
          『果たして人間は、アルゴリズムを超える″何か″をもって思考しているのか?』
          という命題に突き当たるわけで、
          それに大してNOと答えたのがチューリングのテーゼ。
          YESと答えたのが直観主義うんぬんカンヌン・・・・。

          一方、ねこ認証は、かなりいい線いっていると思う。
          ねこの他に、いぬやあなぐまの写真なんかを混ぜて、
          設問もいぬ三匹、あなぐま三匹とかに変化すれば、さらに突破されにくい。
          なにより、CAPTCHAより手続きがスピーディになる上に、CAPTCHAより楽しい。
          日本のネット認証は、これが普及したら面白いと真面目に思うんだけど。

          より突破されにくい認証としては、
          『日本の写真を三枚選んでください』とか作るといいよ。
          日本の駅の写真だったり、日本風の顔立ちと服装で歩く人ごみの写真だったり、
          日本の植物の写真だったり、日本の景勝地の写真だったり。
          こうなると、ほとんどボットには突破できないと思うけど。
          (外国人も突破できない)
          親コメント
  • by Anonymous Coward on 2009年04月27日 1時09分 (#1555617)

    こんな問題、アルゴリズムで解決できるわけがない。
    人間とボットのあいだにある、絶対に超えられない壁はたった一つ、お金を払えるかどうか
    コメント1件につき保証金として10円くらいを供託させて、管理人が投稿者を人間だと思えば返還、ボットだと思えば没収。これで解決。ただしマイクロペイメントの普及が前提だけど。
    #ネット右翼の投稿はボット扱いで没収します。

    • by nmaeda (5111) on 2009年04月27日 6時14分 (#1555651)

      管理人がチェックするなら、供託金は不要かと。
      極端な話、Botが書いていても、有用だと思えば採用すればいい。

      CAPTCHAを使うのは、管理者が人手で中身を確認したくないから、その分、書き手に一手間かけてもらっているわけです。だから、CAPTCHAの改良は、Botに出し抜かれないという面だけでなく、書き手の手間や制限を低減したいという二面があるべきだと思うのですが、前者が話題になることが多い気がします。(近年、どんどん視力が落ちているので、CAPTCHAは消えて欲しい仕組みです)

      親コメント
      • by Anonymous Coward

        そりゃボットの投稿が稀ならそうでしょう。
        ボットの投稿数が猛烈に多いと、チェックは猛烈に苦痛になります。
        供託金を支払うボットはありえないので、供託金つきコメント欄にはそもそもボットの投稿がない、という状態が出現します。

    • by hishakuan (32621) on 2009年04月27日 3時12分 (#1555638) 日記

      供託させる時点で実在の人間と紐付けられてるんだから、お金を払わせる必要はなくて、実態は実名制じゃないかしらん。
      後パソコンの前にいる人をタバコの自販機みたいに確認する必要が出てくるのかな。

      親コメント
    • by Anonymous Coward

      >#ネット右翼の投稿はボット扱いで没収します。
      コメに反応してしまうけどね、自分の好きでない意見は検閲ってデカイ声で言うのってどうなんだろう?

  • 人間がウェブページの閲覧等で見せる、ランダムで回りくどい振る舞い――スクロールしたり、ハイライトしたり、タイプしたりし直したり――は、ボットにとっては極めて真似にくい。

    そうかなぁ。
    自分がこれを自動的に突破しろって言われたら、何回か自分の操作を記録して、それを再生するけど…。
    CHAPTAはSPAM排除用に作ったんだから、そもそもが人間にしかできない能力を要求するしかない気がする。

    # 逆に、慣れた人間を排除することになりそう…

  • by Anonymous Coward on 2009年04月26日 22時51分 (#1555579)
    インターネットの一般化自体間違ってる
  • by Anonymous Coward on 2009年04月26日 22時56分 (#1555580)

    この方はデザインの「悪い方がよい」原則 [artcompsci.org]をご存知ないのでしょうか?単純なものには効能の限度はありますが、少ないコストである程度高い効果が得られるので広く普及するわけです。

  • by Anonymous Coward on 2009年04月26日 23時17分 (#1555587)
    同じIPアドレスから
    1:blogのページにアクセスした時間を取得する。
    2:JavaScriptでscrollの動きを取得して、それをPOSTするときに同時に渡して、検証する。
    とかということですよね。

    2':コメントを投稿した時間を取得する。近すぎたら拒否。
    2':コメントの類似度を測定して類似度の高いコメントを拒否する。
    これくらいはいまもやってるんですよね?

    自分はblogの運営側では無いのですけど、運営側でデータを取ればもっといろいろ思いつきそうです。
    • by Anonymous Coward on 2009年04月27日 11時13分 (#1555712)
      JavaScriptを強制的にオンにさせることになる。
      postデータなんてどうにでも加工できる。

      サーバ側は、クライアントに関係なくあくまで送信されたデータのみを用いて、全てを判断・処理しなければならない。
      送信されたデータが常に正しいとは考えない。
      これがサーバの実装の根本です。
      親コメント
  • by Anonymous Coward on 2009年04月26日 23時26分 (#1555589)

    >ランダムで回りくどい振る舞い――スクロールしたり、ハイライトしたり、タイプしたりし直したり――は、ボットにとっては極めて真似にくい

    うーんどうだろう?
    「ランダム」だというなら、じゃあ乱数を使えば良さそうじゃん。

    スクロールバーへのイベントをランダムに送るとか、
    文字入力中にランダムに間違った文字を入力したり(もちろんBSで巻き戻す)とか、
    をすれば騙せるってことじゃない?

    つまり振る舞いと能力の区別はそもそも機械的につけれるのか?って話よ。

    (人間によって区別つけるのも実は難しいけどね。それが難しいからこそ人を「騙す」ことを出来るのだから。)

    着眼点は凄く興味深いけど、理念はともかく実装としては、それを破るワザもまたサクっと生み出せると思うんだよね。

    • by Anonymous Coward

      ランダムといっても人間の振る舞いが綺麗な乱数で表現できるわけはないので、判定側のモデルを知らずにうまく騙すのは難しいのでは?
      まあ、人間の振る舞いも個体差が大きいからうまくいかない可能性も大きい気がしますけどね。

    • by Anonymous Coward

      > >ランダムで回りくどい振る舞い――スクロールしたり、ハイライトしたり、タイプしたりし直したり――は、ボットにとっては極めて真似にくい
      > うーんどうだろう?

      いろんな写真を縦にならべたページを作って、水着の姉ちゃん(兄ちゃんも可)のところでスクロールが止まったら人間、とか。

      #しかし、スクロールだのハイライトだのを逐一監視されるのも気持ち悪いな

  • by Anonymous Coward on 2009年04月27日 0時57分 (#1555615)
    一応、現在でもできている方法としては、会員サイト内については
    会員以外からは受け付けない様には作れてますね。
    入会手段が有料、などのようなハードルがあればBotなどが入り込む余地はかなり少なく出来てます。

    まあ、その手の手法を広域化しようとしているのがMSの‥なんだっけ(最近使ってない)、
    IDの複数サイトでの共有化な訳ですが、一応、やる気になれば許可制はできなくもありません。
    もっとも、現実的には広範囲というよりは狭い範囲のID共有化程度でしょうけど。
  • by Anonymous Coward on 2009年04月27日 1時28分 (#1555620)
    >発想からして間違っている

    と、大見得を切ったくせに、

    >人間の振る舞いの特徴をアルゴリズム的に捉えるシステムがあれば

    と、結局チューリング・テストに帰ってきている時点で、
    すでに失笑ものだけど、そもそも、
    『人間らしく振舞えるということが人間性の本質そのものなんだ』
    っていう、チューリング・テストのテーゼが理解できていないなら、
    チューリング・テストに関する記事を書いちゃいけないだろと思ったんだ。
    • Re:だいたいさー、 (スコア:2, すばらしい洞察)

      by Anonymous Coward on 2009年04月27日 2時00分 (#1555627)

      ん? 元記事の正否はともかく君が読み間違えているのは確か。

      >人間の振る舞いの特徴をアルゴリズム的に捉えるシステムがあれば

      と、結局チューリング・テストに帰ってきている時点で、
      すでに失笑ものだけど、そもそも、

      元記事の趣旨はチューリング・テストの批判ではないよ。まとめると、

      チューリング・テストの目標はコンピュータが人間のように「振る舞えるか」を見分けることであるのにCAPTCHAはその振る舞いを調べず能力だけを調べてるよ。だから(CAPTCHAではない方法で)「人間の振る舞いの特徴をアルゴリズム的に捉えるシステムがあれば」簡単に見分けがつくよね。

      ってこと。つまり現在のCAPTCHAはチューリング・テストになってないよというCAPTCHA批判が趣旨なので、それをチューリング・テスト批判ととらえて失笑しているということはきちんと読めていない証拠。

      親コメント
      • by kyo1 (28134) on 2009年04月27日 23時58分 (#1556234) 日記
        元ACじゃありませんが、
        「発想」の対象がなんなのかってことなんじゃないでしょうか。
        CAPTHAの発想はその名前からしてチューリングテストにあるわけですよね?
        その発想を否定するのであれば何らかのチューリングテストに則らない
        発想を出すべきだろうということなんじゃないかなと。
        が、結局チューリングテストに帰ってきている。
        というように読めなくはないかなと思います。

        個人的にはタレコミの主旨はCAPTHA批判であり
        CAPTHAの「発想」はチューリングテストにあらず。に一票。
        #が、チューリングテストに則らない発想って有り得るんでしょうか?
        親コメント
  • by Anonymous Coward on 2009年04月27日 2時02分 (#1555628)

    もういっそ人間が認証してやればいいんじゃないですかね。
    振る舞いを認証するアルゴリズムが作れる=それを突破するアルゴリズムも作れる、ということなら、
    振る舞いを人間が判定してやれば、突破する側も限りなく人間に近くなる必要があるわけで。
    例えば「足の速い動物の絵を描いて下さい」と表示して、(上手下手を含め)人間が描いたっぽい絵が送られてきたらOKとか。
    もちろん例えばの話なので、人間らしさを調べるにはもっといい手法があると思いますが。
    # IMである程度会話してみるだとか…は、某うずら辺りなら楽々突破しそうだしなぁ…

  • by Anonymous Coward on 2009年04月27日 6時52分 (#1555654)

    それってユーザーの行動がサーバ側に「筒抜け」じゃないと成立しなくね?

  • by Anonymous Coward on 2009年04月27日 10時13分 (#1555688)

    ID取得にはクレジットカードが必須なサイトのIDを、OpenIDみたいに共通利用できるようにすればいいと思う。

    • by Anonymous Coward

      OpenIDなんか詐欺の元だよ。他のサイトのアカウントが乗っ取られる。

  • by Anonymous Coward on 2009年04月27日 14時39分 (#1555845)
    今こそ、フォークト・カンプフ法の導入を!
  • by Anonymous Coward on 2009年04月27日 19時54分 (#1556075)

    CAPTCHAだらけのインターネットにおいてさえ,いつか,
    幼いロボットが人間と共にサービスを利用できる日が来るという夢が!

    という話かと期待しちゃいましたよ,そのタイトルは。

  • by Anonymous Coward on 2009年04月29日 14時41分 (#1557016)
    GoogleのCAPTCHA実験が的外れな理由
    http://japan.zdnet.com/sp/feature/07zeroday/story/0,3800083088,20392346,00.htm

    経由、http://blogs.zdnet.com/security/?p=1835 にレポートがありますが、
    CAPTCHA 認識のためのネットワークが、インドの貧困層を使うようになっている。と。

    攻撃側も人間なのだとしたら、本質的に対応できない。ということでしょう。
typodupeerror

身近な人の偉大さは半減する -- あるアレゲ人

読み込み中...