フィッシング詐欺の被害に遭わないため、エンドユーザが本来習得しておくべきWebの基礎リテラシーは、次の行動をとることである。
しかし、ドメイン名が一致しているかを目で確認するというのは、神経が疲れるし、そっくりの偽ドメインに気付かないかもしれない。サーバ証明書に記載された組織名を確認するのも、面倒だし、英文しか使えない現状では、組織名の英文正式名称を覚えていられるかという問題がある。
また、常にメールを信用しない、常にブックマークを使うというのも現実的でない場合がある。(常にトップページから入らなければならないサイトが不便であるのと同様に。)
そこで次の方法を考えた。
javascript:document.cookie="mycookie="+escape("本日は晴天なり")+"; path=/; expires=Thu, 1-Jan-2030 00:00:00 GMT";「本日は晴天なり」の部分は、パッと見で自分だけが書きそうだとわかるユニークな文章(ただし他人に知られてもかまわないもの)とする。
javascript:unescape(document.cookie);「本日は晴天なり」という文字列を含むものが画面に表示されれば、以前自分が上の1.の操作をしたサイトとドメインが一致していることを機械的に確認できる。
これらの操作を簡単にするため、2つのそれぞれのJavaScript文をブックマークに登録する(いわゆる「Bookmarklet」とする)とよい。具体的には、実行した直後にブックマークの操作をすればよい。
上記1.のスクリプトを「オレオレCookie登録」、2.のスクリプトを「Cookie表示」とし、さらに「Cookie削除」の機能([memo:4027]参照)もBookmarklet化し、リンクバーにボタンとして置いた様子を以下の図に示す。
ただしこの方法には以下の使用上の注意点がある。
この方法は、「cookieは本物サイトと同じドメインにしか送信されない」という原理に基づくものである。これと同じ原理に基づく仕組みをサーバ側で用意することもできるが、それは効果が薄い。その理由は次の通りである。
サーバ側で用意する場合には、キーワードをユーザに入力させる画面を設けることになる。つまり、ログインする前ないし後に、「キーワードを入力してください」という画面が現れ、入力してボタンを押すと、cookieが発行されるという仕組みとなる。
しかし、本物サイトがそのような作りになっているときには、フィッシングでユーザを騙そうとしている詐欺師は、キーワードを入力させる画面自体を偽サイトに設置するだろう。
このことは、ソニー銀行の「事前登録のパソコンでしか取引できない」という仕組みが、フィッシング詐欺対策としては効果が薄いのと同じである。それについては、昨年5月12日の日記「事前登録のパソコンでしか取引できないという対策」に以下のように書いたが、それと同じ理屈である。
これをネットカフェで実行したとき、キーロガーが仕掛けられているとどうなるか。当然ながら、最初のパスワードと、次の暗証番号と、3つの合言葉は、全部そろって盗まれる。つまり、ネットカフェでキーロガーを仕掛けられて銀行口座を乗っ取られたという事件報道の文脈において、
3種類の「合言葉」を答えないと利用できない仕組み。さらに事前登録のパソコンでしか取引できないという対策も講じている。
というのは、何ら効果のある対策ではない。
つまり、自力でcookieをセットするという今回示した対策方法が効果を持つのは、サイトの指示に従ってではなく、自発的に操作するところにミソがある。
したがって、この対策方法は、元々偽サイトに対する警戒心のあるユーザが対象であり、ドメイン名の一致確認を目視でやってもいいところを、もっと簡単にパッと見でできるようにしたという仕掛けにすぎない。
調べでは、半田市内の30代の主婦が8月上旬、このATM脇に「防犯上、ご利用のお客さまはカードをお通し下さい」と張り紙のある小さな箱状の磁気情報読み取り装置にカードを通した。同月下旬になって、別のATMから預金計約1000万円が引き出されていることが判明したが、(略)
というニュース記事を読んだ。「フィッシング詐欺のリアル版」……という言い方は変か。昔からあった手口なのかもしれない*1。
そういえば、以前、早朝まで都内で飲んでいた帰りに、現金を確保しようと深夜営業のATMに入ろうとしたとき、ドアが開かず「どうなってんの?」と知人に聞いたところ、ドアにカードリーダがあるからそこにキャッシュカードを通すのだと指摘されたことがあった。
そのとき、直感的に嫌なものを感じつつ、カードを通したのだったが、今思えば、それが偽リーダだったらヤラれていたわけだ。
そんなことを思い出していたところ、UFJ銀行からこういう注意喚起の知らせが出ていた。
平成16年8月、ATMコーナーに「防犯のため、この機械にカードを通してください」と記載した貼り紙と共に「カード読取機」が、何者かによって設置されるという事件が発生いたしました。
当行では、深夜0時以降も稼動するATMコーナーに限り、カード読取機を設置しておりますが、他のATMコーナーには設置しておりません。これ以外の不審な機械には、決してキャッシュカードを通さないでください。
おいおい、じゃあ、深夜営業するATMコーナーではどうしろというのだ?
「どうやって本物だと見分けるか」を写真付きで説明するのが、ここでなすべきことだろう。どうしてこう、どいつもこいつも銀行の人たちはそういうことをサボるのか。
ようするに、「お客様の安全のために注意喚起している」のではなく、単に一定の説明責任を果たしさえすれば免責されるという発想で仕事をしている様子が透けて見えてくる。
ところで、ATMのドアがキャッシュカードがないと開かないようにする仕組み自体、効果があるのか疑問に思った。最初は、UFJ銀行のキャッシュカードでないと開かないのかと思ったが、他の都市銀行のカードで開いた。それだったら、銀行のカードを持たない人の侵入を防ぐという程度の効果しかない。
キャッシュカードは本来、ATMにしか通さない「神聖なもの」(安易に得体の知れないカードリーダに通さないもの)という常識があったが、こうしたドアの登場により、そうした感覚が崩れていってしまうのだろう。その結果、事件被害者の主婦のように、「防犯上、お通し下さい」と書かれているだけで通してしまうことが起きてくる。
あのようなドアは廃止すべきではなかろうか。
先週、日経デジタルコアの合宿討論会に行ってきた。その様子が以下にレポートされている。
この場で、ビットワレットの川合成幸社長にご挨拶し、少しお話しするお時間を頂いた。7月10日の日記の最後の段落に書いたam/pmの問題点の件を(概略だけであるが)川合社長にお伝えした。私からもam/pmに問い合わせてみるとも伝えた。
コロラド大学の木實新一さんが、ご自身のblog「Ubicomp+Shopping」の9月3日のエントリで、以下の疑問を呈されていた。
非常に基本的なことなのですが、以下の点がよくわかりません:
- 電子マネーの端末はRFIDチップのRAMの値の読み書きだけでなくシリアル番号も読んでいるのか?
- おサイフケータイのタグを利用者が好きなときに取り替えることができるのか?
- おサイフケータイのタグのシリアル番号は利用者の個人情報とネットワーク上のデータベースで関連づけられているのか?
シリアル番号には複数のものがあるらしい。1つにはカード製造者が製造時に記録したもので、カードの「管理権限」があるときにしか読めないようになっていると聞いたことがある。もうひとつは、アンチコリジョンを実現するためのユニークナンバーを持つカードがあり、これは、通常のリーダライターでも読まれているはずである。ただし、読み取った番号を記録しているかどうかは不明である。
トラブル時の対応目的で記録している可能性はあるが、それをCRMにまで活用しようということは、日本の普通の企業ならば、一般的には、そのような行為は非常識であるとして行わないところがほとんどだろうと、個人的には信じている。
問題は、何らかの拍子にそうした番号をCRMに使ってよいという感覚が生じて、なし崩し的にそのようになっていくことであり、それは食い止めるべきである。また、悪意ある者(詐欺師等)が番号を読み取って悪用することが懸念される。
am/pmの件については、問い合わせて回答が得られしだい、報告する予定。
*1 「ニセ夜間金庫」(昭和49年警察白書 第4章より)なる事件は昔あったそうだが、直接現金を入れさせるのではなく、IDとパスワードを騙して入れさせるという点がフィッシングに近い。