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, すばらしい洞察)
そんなアルゴリズムが存在したら、それを用いて人間のように振る舞える機械が出来ちゃうのでは?
Re: (スコア:0, オフトピック)
アルゴリズムが存在するからと言って、アルゴリズム的に回避が容易であるとは限りません。
たとえばRSA暗号の秘密鍵と公開鍵のペアはアルゴリズム的に生成されますが、公開鍵から秘密鍵を求めるのは(アルゴリズム的に可能ではありますが)極めて困難です。
Re: (スコア:0)
それ全然別の話じゃない?
RSAは種(素数)を元にした生成アルゴリズム。
アルゴリズムが分かっていてもキーが分からなければ再現不能
ここで議論になっているのは、「何かを判定する」アルゴリズム
アルゴリズムが分かっていれば、判定をパスするのは可能
判定アルゴリズムにもキー的な秘密のパラメータを持たせる事は出来るけれど
そのキーが何であっても、「人間の振る舞い」でパスする事が分かっているならば
同じ様な操作をreplayすれば当然パスするはず
RSAの話に戻るならば、種に当たる人間の操作はいくらでも作れるんだもの。
アルゴリズムが分かっていても~ なんて話をしても意味が無い
Re: (スコア:0)
Re: (スコア:0)
それを検出するのもまだまだ難しいんじゃないでしょうか?
以下無限ループ
#元で言ってるのは、検出できるならば検出された部分を補正すればいいって話だと思うんで。
#検出精度の向上が無制限だとしてもイタチゴッコが限界で、汎用の入力デバイスでは精度が知れているので遠からず攻撃側優位で止まるとは思いますが。
逆に考えるんだ (スコア:1)
そこまでしなくちゃならないなら
ブログコメントなんていらないやって考えるんだ
Re: (スコア:0)
逆に (スコア:1, 興味深い)
そういう挙動を解析して人間だと判定できるプログラムができているのであれば
そのように振舞うプログラムを作成する事も可能ですよね?
ってことを考えなければいかんと思います。
Re:逆に (スコア:3, 参考になる)
人間が人間である事を判定するのは難しいですが、人間ではありえないと判定するのはよりやさしいでしょう。
私が改造したWeb掲示板のspam判定条件では、formのあるページをGETしてPOSTするまでの時間が短すぎたらbotとしています。投稿用のフォームをGETして5秒後にPOSTする人間はあまりいないでしょう。ごく原始的な、振る舞いの検知と言えるかもしれません。
もちろん、回避も容易で、わざわざGETとPOSTの間隔を開けているbotらしきログも多いです。(他の条件で結局排除されているのですが)
先に挙げた例のようにそれだけでは完全にbotの投稿を排除する事は出来ませんが、それで排除できるbotの投稿も多いはずです。spam投稿を防ぎ、かつ投稿者に余計な手間を取らせない手の一つとしては、それなりに有効だと思います。
> typing and retyping
一旦テキストエディタで書いてコピー&ペーストする私はbot扱いされるかも。
Re:アルゴリズムを作るのが難しければいいんでしょ? (スコア:0)
意味論ってほとんど研究進んでないですよね。
Re:アルゴリズムを作るのが難しければいいんでしょ? (スコア:4, おもしろおかしい)
Re:アルゴリズムを作るのが難しければいいんでしょ? (スコア:3, すばらしい洞察)
Re:アルゴリズムを作るのが難しければいいんでしょ? (スコア:1, 興味深い)
ブログ記事の趣旨に賛成できない人は突破できないような質問にすれば、
賛成論ばかりのコメント欄のいっちょう挙がりです。
#「反論はおことわり」ってどんなコメント欄だよ>時々そういうのがいる
Re:アルゴリズムを作るのが難しければいいんでしょ? (スコア:1)
企業の宣伝で、失敗 [engadget.com]から学んだ [engadget.com]結果、そのように進化したのかもしれません。
◆IZUMI162i6 [mailto]
Re: (スコア:0)
>#「反論はおことわり」ってどんなコメント欄だよ>時々そういうのがいる
そもそもそういうブログに限ってコメント欄自体がないことも多い…
Re: (スコア:0)
AI研究もそこでつまづいたわけですし。
もし突破するアルゴリズムをボット作者が考え付いたとしたら、
それはそれでコンピュータサイエンスの発展にとって有益ですし。
Re: (スコア:0)
文章っていうほどではないですが、以前こんなの [srad.jp]がありましたね
Re:逆に (スコア:2, 興味深い)
ですよね。
アルゴリズムで判定できるならアルゴリズムで突破できる。
だからアルゴリズムと無関係な、人間の「認識力」を使った認証システムを使わざるを得ないのが現実。
何が言いたいかというとねこ認証 [engadget.com]最強なんじゃないかと。
#まじめにこれ良いと思うんですけどね。グレースケールにすればさらに良し。
Re:逆に (スコア:2)
ノンですかね。
ネコとそれ以外のパターンをあるだけ調べ上げて
パターンと合致したらネコという判定を下せば楽々突破してしまうでしょう。
私の意見ではもうちょっと人間心理をつくものなんですよね
例えば「ネコとはなんぞや?」という質問を投げかけ、
「崇高なる愛の形」などと答える。
まず過去のパターンと一致した場合、(つまり、まったく同じ文章が出ている)
それははじく。
さらに無茶苦茶な文章で通らないように、
次の人に判定をしてもらうっていう方式なんだけど
けっこう複雑かもしんないね
それじゃあダメだよ。 (スコア:1, 興味深い)
認証の正答がハッキリしてないし、その正答の枠組みを決めようとすることは、
結果的にアルゴリズムを策定しようとすることに等しい。
最終的に人間に判断させるっていう場合も結局同じ。
『何を持って良しとするか』について考えるとき、
すでに我々はアルゴリズムを用いている。
こういう心身問題を突き詰めると、
『果たして人間は、アルゴリズムを超える″何か″をもって思考しているのか?』
という命題に突き当たるわけで、
それに大してNOと答えたのがチューリングのテーゼ。
YESと答えたのが直観主義うんぬんカンヌン・・・・。
一方、ねこ認証は、かなりいい線いっていると思う。
ねこの他に、いぬやあなぐまの写真なんかを混ぜて、
設問もいぬ三匹、あなぐま三匹とかに変化すれば、さらに突破されにくい。
なにより、CAPTCHAより手続きがスピーディになる上に、CAPTCHAより楽しい。
日本のネット認証は、これが普及したら面白いと真面目に思うんだけど。
より突破されにくい認証としては、
『日本の写真を三枚選んでください』とか作るといいよ。
日本の駅の写真だったり、日本風の顔立ちと服装で歩く人ごみの写真だったり、
日本の植物の写真だったり、日本の景勝地の写真だったり。
こうなると、ほとんどボットには突破できないと思うけど。
(外国人も突破できない)
Re:それじゃあダメだよ。 (スコア:3, おもしろおかしい)
ダミーは深谷駅。
正解は京葉線の入り口。
#そんなもんわかるかい
お金しかない (スコア:1, 興味深い)
こんな問題、アルゴリズムで解決できるわけがない。
人間とボットのあいだにある、絶対に超えられない壁はたった一つ、お金を払えるかどうか。
コメント1件につき保証金として10円くらいを供託させて、管理人が投稿者を人間だと思えば返還、ボットだと思えば没収。これで解決。ただしマイクロペイメントの普及が前提だけど。
#ネット右翼の投稿はボット扱いで没収します。
Re:お金しかない (スコア:3, 興味深い)
管理人がチェックするなら、供託金は不要かと。
極端な話、Botが書いていても、有用だと思えば採用すればいい。
CAPTCHAを使うのは、管理者が人手で中身を確認したくないから、その分、書き手に一手間かけてもらっているわけです。だから、CAPTCHAの改良は、Botに出し抜かれないという面だけでなく、書き手の手間や制限を低減したいという二面があるべきだと思うのですが、前者が話題になることが多い気がします。(近年、どんどん視力が落ちているので、CAPTCHAは消えて欲しい仕組みです)
Re: (スコア:0)
そりゃボットの投稿が稀ならそうでしょう。
ボットの投稿数が猛烈に多いと、チェックは猛烈に苦痛になります。
供託金を支払うボットはありえないので、供託金つきコメント欄にはそもそもボットの投稿がない、という状態が出現します。
Re:お金しかない (スコア:1)
供託させる時点で実在の人間と紐付けられてるんだから、お金を払わせる必要はなくて、実態は実名制じゃないかしらん。
後パソコンの前にいる人をタバコの自販機みたいに確認する必要が出てくるのかな。
Re: (スコア:0)
>#ネット右翼の投稿はボット扱いで没収します。
コメに反応してしまうけどね、自分の好きでない意見は検閲ってデカイ声で言うのってどうなんだろう?
真似はできなくても、再生はできるんじゃ… (スコア:1)
人間がウェブページの閲覧等で見せる、ランダムで回りくどい振る舞い――スクロールしたり、ハイライトしたり、タイプしたりし直したり――は、ボットにとっては極めて真似にくい。
そうかなぁ。
自分がこれを自動的に突破しろって言われたら、何回か自分の操作を記録して、それを再生するけど…。
CHAPTAはSPAM排除用に作ったんだから、そもそもが人間にしかできない能力を要求するしかない気がする。
# 逆に、慣れた人間を排除することになりそう…
そもそも (スコア:0)
The Rise of "Worse is Better" (スコア:0)
この方はデザインの「悪い方がよい」原則 [artcompsci.org]をご存知ないのでしょうか?単純なものには効能の限度はありますが、少ないコストである程度高い効果が得られるので広く普及するわけです。
あり得るんじゃないですかね (スコア:0)
1:blogのページにアクセスした時間を取得する。
2:JavaScriptでscrollの動きを取得して、それをPOSTするときに同時に渡して、検証する。
とかということですよね。
2':コメントを投稿した時間を取得する。近すぎたら拒否。
2':コメントの類似度を測定して類似度の高いコメントを拒否する。
これくらいはいまもやってるんですよね?
自分はblogの運営側では無いのですけど、運営側でデータを取ればもっといろいろ思いつきそうです。
Re:あり得るんじゃないですかね (スコア:2, 興味深い)
postデータなんてどうにでも加工できる。
サーバ側は、クライアントに関係なくあくまで送信されたデータのみを用いて、全てを判断・処理しなければならない。
送信されたデータが常に正しいとは考えない。
これがサーバの実装の根本です。
破ってみるか (スコア:0)
>ランダムで回りくどい振る舞い――スクロールしたり、ハイライトしたり、タイプしたりし直したり――は、ボットにとっては極めて真似にくい
うーんどうだろう?
「ランダム」だというなら、じゃあ乱数を使えば良さそうじゃん。
スクロールバーへのイベントをランダムに送るとか、
文字入力中にランダムに間違った文字を入力したり(もちろんBSで巻き戻す)とか、
をすれば騙せるってことじゃない?
つまり振る舞いと能力の区別はそもそも機械的につけれるのか?って話よ。
(人間によって区別つけるのも実は難しいけどね。それが難しいからこそ人を「騙す」ことを出来るのだから。)
着眼点は凄く興味深いけど、理念はともかく実装としては、それを破るワザもまたサクっと生み出せると思うんだよね。
Re: (スコア:0)
ランダムといっても人間の振る舞いが綺麗な乱数で表現できるわけはないので、判定側のモデルを知らずにうまく騙すのは難しいのでは?
まあ、人間の振る舞いも個体差が大きいからうまくいかない可能性も大きい気がしますけどね。
Re: (スコア:0)
> >ランダムで回りくどい振る舞い――スクロールしたり、ハイライトしたり、タイプしたりし直したり――は、ボットにとっては極めて真似にくい
> うーんどうだろう?
いろんな写真を縦にならべたページを作って、水着の姉ちゃん(兄ちゃんも可)のところでスクロールが止まったら人間、とか。
#しかし、スクロールだのハイライトだのを逐一監視されるのも気持ち悪いな
許可制 (スコア:0)
会員以外からは受け付けない様には作れてますね。
入会手段が有料、などのようなハードルがあればBotなどが入り込む余地はかなり少なく出来てます。
まあ、その手の手法を広域化しようとしているのがMSの‥なんだっけ(最近使ってない)、
IDの複数サイトでの共有化な訳ですが、一応、やる気になれば許可制はできなくもありません。
もっとも、現実的には広範囲というよりは狭い範囲のID共有化程度でしょうけど。
だいたいさー、 (スコア:0)
と、大見得を切ったくせに、
>人間の振る舞いの特徴をアルゴリズム的に捉えるシステムがあれば
と、結局チューリング・テストに帰ってきている時点で、
すでに失笑ものだけど、そもそも、
『人間らしく振舞えるということが人間性の本質そのものなんだ』
っていう、チューリング・テストのテーゼが理解できていないなら、
チューリング・テストに関する記事を書いちゃいけないだろと思ったんだ。
Re:だいたいさー、 (スコア:2, すばらしい洞察)
ん? 元記事の正否はともかく君が読み間違えているのは確か。
元記事の趣旨はチューリング・テストの批判ではないよ。まとめると、
チューリング・テストの目標はコンピュータが人間のように「振る舞えるか」を見分けることであるのにCAPTCHAはその振る舞いを調べず能力だけを調べてるよ。だから(CAPTCHAではない方法で)「人間の振る舞いの特徴をアルゴリズム的に捉えるシステムがあれば」簡単に見分けがつくよね。
ってこと。つまり現在のCAPTCHAはチューリング・テストになってないよというCAPTCHA批判が趣旨なので、それをチューリング・テスト批判ととらえて失笑しているということはきちんと読めていない証拠。
Re:だいたいさー、 (スコア:1)
「発想」の対象がなんなのかってことなんじゃないでしょうか。
CAPTHAの発想はその名前からしてチューリングテストにあるわけですよね?
その発想を否定するのであれば何らかのチューリングテストに則らない
発想を出すべきだろうということなんじゃないかなと。
が、結局チューリングテストに帰ってきている。
というように読めなくはないかなと思います。
個人的にはタレコミの主旨はCAPTHA批判であり
CAPTHAの「発想」はチューリングテストにあらず。に一票。
#が、チューリングテストに則らない発想って有り得るんでしょうか?
それを言うなら自動認証という発想が間違ってる (スコア:0)
もういっそ人間が認証してやればいいんじゃないですかね。
振る舞いを認証するアルゴリズムが作れる=それを突破するアルゴリズムも作れる、ということなら、
振る舞いを人間が判定してやれば、突破する側も限りなく人間に近くなる必要があるわけで。
例えば「足の速い動物の絵を描いて下さい」と表示して、(上手下手を含め)人間が描いたっぽい絵が送られてきたらOKとか。
もちろん例えばの話なので、人間らしさを調べるにはもっといい手法があると思いますが。
# IMである程度会話してみるだとか…は、某うずら辺りなら楽々突破しそうだしなぁ…
Re:それを言うなら自動認証という発想が間違ってる (スコア:1)
>もういっそ人間が認証してやればいいんじゃないですかね。
いやだからチューリングテストってのは……
それはさておき。
創造性のテストをやればある程度有効かも知れませんが
「掲示板に一つコメント書くごとに新しい発明を発表しなければならない」
なんて言われたらすごいことに。
Re:それを言うなら自動認証という発想が間違ってる (スコア:1, 興味深い)
twitterでずっと仲良くしていた人がbotだった [hatena.ne.jp]なんて話もあるので「人間なら確実に認証できる」と思うのも幻想ですね。
もっともそもそも防止したいのは「コンピュータによる投稿」ではなくspam投稿であるはずなので(その意味ではタレコミも問題をはき違えている)、判別できなくても問題ないかもしれませんが。
ぱっと思いつく問題点 (スコア:0)
それってユーザーの行動がサーバ側に「筒抜け」じゃないと成立しなくね?
OpneID (スコア:0)
ID取得にはクレジットカードが必須なサイトのIDを、OpenIDみたいに共通利用できるようにすればいいと思う。
Re: (スコア:0)
OpenIDなんか詐欺の元だよ。他のサイトのアカウントが乗っ取られる。
時代が追いつくチャンスだ! (スコア:0)
私には夢がある! (スコア:0)
CAPTCHAだらけのインターネットにおいてさえ,いつか,
幼いロボットが人間と共にサービスを利用できる日が来るという夢が!
という話かと期待しちゃいましたよ,そのタイトルは。
お金の力には勝てない (スコア:0)
http://japan.zdnet.com/sp/feature/07zeroday/story/0,3800083088,20392346,00.htm
経由、http://blogs.zdnet.com/security/?p=1835 にレポートがありますが、
CAPTCHA 認識のためのネットワークが、インドの貧困層を使うようになっている。と。
攻撃側も人間なのだとしたら、本質的に対応できない。ということでしょう。