読者です 読者をやめる 読者になる 読者になる

koni blog

東京のウェブエンジニア koni です!ウェブサービスをガシガシ作っていきます!

「Twitter フォロワー募集掲示板」スパム対策のためログイン必須にし、通報機能をつけました

whotwi Twitter フォロワー募集掲示板

Twitter フォロワー募集掲示板について、いくつかの改修を行いました。

ログイン機能

いままでreCAPTCHAでかなり自動化スパムを防げてたんですが、やはり人間が投稿するタイプのスパムはなかなか防げませんね。 スパム投稿が増えてきたことと、Twitter IDの入力間違いが結構あるので、本日から書き込みにTwitterログインが必須になりました。

これでかなりスパムには効きそうです。もし繰り返されるようであればIDでのブラックリスト機能を作ろうと思います。

ログインさせたことで、今後、テキストの修正のために再投稿する人がいるので、編集機能をつけるのもありですね。

通報機能

また、スパムをすぐに見つけるべく、「通報」機能もつけてみました。 考えてみたら、上の対策で功を奏した場合は、通報は要らなかったかもですが・・・w

ログイン機能

掲示板にログイン機能をつけたことにより、いままでのTwitterのプラグインによるフォローではなく、ページ上でフォロー・リムができるようになりました。

これまでのTwitterのプラグインだと、いちいちページ遷移が発生してフォローしづらかったのですが、新しい仕組みだと、フォロー・フォロー解除ボタンを連打していけるようになりました。 また、フォローバックをしてくれたユーザーの下には、「フォローされています」と表示されるので、フォロワーが掲示板で増えたこともわかりやすくなりました。

ぜひご利用ください。

下の記事で紹介している、3/6に行った書き込みの横にTwitterアイコンをつける改修で、かなり書き込み数が増えました! これからもよろしくお願いします。

koni.hateblo.jp

フィッシング詐欺の偽サイトを作られた上、5000以上のアカウントを乗っ取られた件

whotwi

whotwiの姉妹サイトで、Twitter 利用料金チェッカーというサイトがあります。

昨日から今日にかけ、このサイトと偽ったスパムツイートをするスパマーが現れ、フィッシング詐欺により、5000人以上のTwitterアカウントを乗っ取っています。

今現在戦っているので、その途中経過を書きます。

Twitter 利用料金チェッカーとは

Twitter 利用料金チェッカー

ツイート数やフォロー数リスト数に応じて、Twitterの利用料金がわかる、というパロディサイトです。 リリース数日で、gigazineさんや、ねとらぼさんなどに取り上げてもらい、数日バズりました。 リリース直後こそ瞬間的に大量のアクセスが来ましたが、それも数日で収まり、以降はたまに小規模のバズりがあり、という感じでした。

このサイトが今日急にバズりました。「お、きたきた」と思って、Twitterの検索ページをしばらくウォッチしていました。 作ったアプリがバズっている様子を見るのはアプリ作者としてとても楽しいんですよ。

スパムツイートとの出会い

3/12 23時頃、ふとTLを眺めていると、自分のサイトの画像が見たことのないURLとともに貼られているツイートがあるではありませんか。 しかも検索すると、大量のユーザーがほぼおなじ文言でツイートをしている。。。

なんだこれ。

f:id:konisimple:20160314234530p:plain:w300

クリックしてみると、認証ボタンがポツンとあるだけのページがでてきます。このボタンを押してみます。

f:id:konisimple:20160314234855p:plain:w300

クリックするとTwitterの認証画面に飛びます。

f:id:konisimple:20160315000141p:plain:w300

非常によく出来てて、「Twitterアカウント利用料金チェッカー」と書いてあります。これではつい認証してしまいますね。 しかも認証後、正しいサイトへリダイレクトされて、普通にサイトは動きます。

Twitter→偽物の認証画面→本物のサイト

と遷移するので、気づきにくいです。あとから、スパムツイートをされてはじめて気がつきます。

上のダイアログの場合、普段から開発でこの画面を見ている人だったら、「必要のないWRITEを求めてきているのはちょっと怪しい」と気づけそうですが、この画面よく見るし、そもそもそんなこと考えたことのないユーザーが大半なんじゃないでしょうか。

ちなみにTwitterの権限委譲の仕組み(OAuthといいます)は、以下の3種類があります。

  • READ(DM以外の全データが見られる。ツイートはできない)
  • READ/WRITE(DM以外の全データを見たり変更したりできる。ツイートしたりフォローしたりできる)
  • READ/WRITE/DM(DMを含めなんでもできる)

読み取りだけでいいのにWRITEを求めてくるアプリは怪しいです。ちなみにALLにする場合はTwitter社の審査があります。

注意喚起の開始

すぐに注意喚起のツイートをしました。@whotwi には4万人弱のフォロワーがいるので一定の効果があったと思います。こういうときTwitterアカウントを運用していると、初動でしっかり動けますね。

また、上のツイートは見ていない人もいることが想定されるので、サイト上にも注意喚起を開始しました。

f:id:konisimple:20160314235625p:plain:w300

この時点では、スパムツイートは検索して出てくるもので大体数十件くらいだったので、これで収まるだろうと思っていました。

巧妙すぎるスパムツイートの進化

翌日(3/13)、再度例のサイトを見てみると、昨日までは認証画面の前に認証ボタンだけあるページを挟んでいたのが、なくなっていました。

  • Before: ツイートなどのリンク→偽サイト→偽Twitter認証画面→本物サイト
  • After: ツイートなどのリンク→偽Twitter認証画面→本物サイト

疑う材料がない!

いままではこの偽サイトが、いかにもフィッシング、という感じだったので非常に怪しかったんですが、これがなくなるともう、巧妙すぎて、サイト上に注意喚起がなければ気づくタイミングがないですよね。

あまりネットに慣れていない人だと、Twitterのサイトが出てくるので公式のサービスであると誤解したり、リテラシーのある人でも、SSL(https)のtwitter.comのページに「Twitterアカウント利用料金チェッカー」って書いてあるから大丈夫だろうと考えてしまったりするのではないでしょうか(実際にはTwitter社は何も審査したりしていません。)。

ツイートから認証画面にいきなり飛ぶのはあやしすぎるとすぐにわかるのですが、「なんか面白そうだし、ワンクリックだけ押してもいいか」と思ってひっかかったユーザーを責めることはできないと思います。

注意喚起の強化

収まるだろうという予想とは裏腹に、被害はどんどん拡大していきました。

3/13の11時台のスパム投稿件数は、1時間に1000件に達していました。

そこで、これまでサイトに掲載していた注意喚起では読まない人もいそうだったので、全員が必ず注意喚起の画面を通過する仕組みに変えました。

f:id:konisimple:20160315014352p:plain:w250

より訴えかけるよう、サイトのトンマナを無視し、真っ赤な大きな字の警告画面を追加しました。 こんなしつこいモーダル見たこと無い、と個人的には思いますw

昔三菱東京UFJ銀行がフィッシング詐欺で、「公式が逆に怪しい」と言われるようなデザインの注意喚起をしている、と話題になっていましたが、気持ちがわかった気がします。 変化をつけなきゃ読んでもらえないですからね。

cards.hateblo.jp

Twitterの反応

Twitterでもこのスパムに関して数千ツイートされていました。気づいて注意喚起している人、勘違いしている人と反応は様々でした。

呼びかけ

Twitter上でもこの状況に気づき、注意を呼びかけてくれている人が多数いました。 8時間で約4500RTされています。

この拡散の速さは、本当にTwitterならではですね。誤った情報もすぐに拡散するけどw

勘違いしている人も。。

残念なことに、正しいサイト自体をすべてスパムだと思い込んでしまっている人も結構いたようです。

サービス運営者としては、ここが一番ショックだったところです。朝からこういうツイートを見るたびに、やるせない気持ちになっていました。

とはいえ、勘違いしてしまうのも仕方ないくらい巧妙な手口でした。

被害件数

今回同じようなツイートが連続していたため、含まれるキーワードをもとにTwitter APIからスパム投稿と思われるツイートを収集するスクリプトを作って調査しました。

その結果、件数は以下のようになりました。

  • スパムツイート件数:5,443件
  • 被害人数:3,038人

(2016/3/15 1:00時点・非公開アカウントは含まない)

これには、非公開の人と、既に削除してしまった人が入っていないので、実際にはもっと多いと思われます。 whotwiのユーザーの場合、約30%が非公開なのと、20%の人がツイートを削除済みと仮定すると、被害件数は以下になります。

  • スパムツイート件数(推定):約10,800件
  • 被害人数(推定):約6,100件

(2016/3/15 1:00時点・30%が非公開アカウント、20%の人がツイートを削除していると仮定した場合)

たった2日で、かなりの被害が出てしまいました。

スパマーの戦略

どうしてこんなに多くの人の被害が出てしまったのでしょうか。

ここではスパマーがどのようにこのスパムを仕掛けたかを見ていきたいと思います。

たくさんのアプリ

スパムツイートを分析したところ、全部で大きく分けて5種類のURLがあることがわかりました。 1つ目と2つ目は認証画面前に1ページ挟むもの、それ以外は、いきなり認証画面に飛ぶものでした。

Twitterでは、成りすましやスパムなど、問題のあるアプリは登録を消す仕組みがあるのですが、 全体が消えるリスクを少しでも低減するため、あえてアプリを分けていると思われます。

アプリ名

Twitterの連携アプリには名前をつけることができ、通常はわかりやすいサイト名「whotwi」などにします。

今回のスパムアプリでは、どれも一見すると、なんのアプリかよくわからないようなアプリ名になっていました。 アプリ連携解除の際、ユーザーは問題のあるアプリを自分で探すわけですが、名前とアイコンくらいしかないので、見つかりづらくするためです。

以下が今回見つかったアプリ名の例です。

  • Account application system
  • Twitter Client OS ver 3.2
  • erased12054076
  • Account application system
  • Account application program
  • The application program
  • erased12054075
  • erased12036533
  • erased12036537
  • The account application program
  • erased12036536

どれも消していいのかダメなのか、よくわからないですね。 またこれは、「このアプリを消してね」と言いづらくする効果もあります。

つい試したくなるツイート

ツイートはいずれも、うちのサイトの画像を3枚セットにし、「芸能人の利用料金がすごいことになるよ、あなたもやってみて」という内容のものでした。

結構普通に行ってしまうような金額を投稿することで、その前後に達したユーザーに「俺芸能人と同じレベル?」と思わせて投稿を誘導しています。 正直うまいと思います。

フィッシングスパムアプリとどう戦えばいいのか

ユーザーとして

ユーザーとしては、とにかく「気をつける」以外にはなさそうです。 認証画面が出たら、以下のことをよく考えます。

  • 信頼できるサイトのものか
  • 許可するのは何なのか?(読み取りだけ?ツイートも可能にする必要ある?)

もし不安であれば、利用終了後、アプリ連携から都度解除する、という方法もあります。

サービス提供者として

これは長い時間がかかるとは思いますが、各サービスが認証画面を適正利用するように心がけることで、変なタイミングで認証画面が出てもユーザーが違和感を持つような環境にしていく、ということしかないと思います。

  • 必要のないパーミッションは取らない
  • パーミッションが必要になる直前に要求する(whotwiではフォローボタンを押した直後にログインが必要になったりします)
  • パーミッションが必要な理由を明示する

あたりかなと思います。このあたりは、Facebookのドキュメントがわかりやすかったです。

User Experience Design - Facebook Login - Documentation - Facebook for Developers

ただやはり残念ながら、直接防ぐ方法は残念ながらないと思います。

whotwiの場合は、4年間の運用のおかげでユーザーの皆様に信頼してもらえて注意喚起のツイートが流れるなど、多くの呼びかけが被害を未然に防ぐことにつながりました。ユーザーさんとそういう関係を維持していくことしかないのかなと思います。

↑こんなことを言ってもらえると嬉しいですね。

アプリのユーザー数・レビューなどの表示があってもいいのでは

認証画面が一番の判断タイミングですが、毎回同じデザインなので、判断が難しいですよね。

そこで、ユーザーがパット見で判断できる指標を入れてくれればいいのになと思います。

せめてユーザー数だけでも。

「ユーザー数:100万」だったら問題ない確率が高いですが、「ユーザー数:500」だったら警戒しますよね。 わかりやすい。

Facebookアプリはこんな感じでいろんなところにユーザー数が表示されるので、そもそも最初から警戒できますね。

f:id:konisimple:20160315033739p:plain:w300

今後

現在もまだスパムアプリは動いています(Twitter社に消されていません)。

また、ひっかかる(ひっかかったあとで連携を解除しない)人もいます。

しかしこちらでできることはやりつくした感があるので、今はTwitter, tinyyrl、レンサバ会社など関係各所にどうにか対応してもらえるように連絡しています。

進展があったらお知らせします。

iPadの防水ケースをLIFEPROOF nuudにしたらお風呂ライフが一変した!!

ガジェット

こんにちは、@koniです。

お風呂に入るのが好きなのですが、風呂の中で暇なので、iPadで映画見たりYouTubeで動画見たり、普通にネット見たりしています。

お風呂だと濡れてしまうので、防水ケースを使っていたのですが、「nuud」というケースに変えたところ、お風呂ネットライフが一変しました!!

これがLifeProofのnuudだ!!

こちらが、LifeProofのnuudという防水ケースです。防水だけでなく、防塵・耐衝撃もついています。

f:id:konisimple:20160306204109j:plain

iPad Air 2 に入れた様子です。画面がとてもクリアですね。

画面に直接触れる!!

nuudの何がすごいのかというと、なんと!画面のところを保護しないんです!!

要は、iPadに水が入らなければいいので、iPadの隙間の部分(=端っこの部分)だけ保護すれば、他の場所は保護しなくていいので、画面は保護していないんです。

「そんな変わらないっしょ」と思うかもしれませんが、快適さが全然違います!!

普通の防水ケースは袋状になっていて、その袋の中にiPadを入れるように作られています。 そうすると、どうしても画面を直接触れることができず、袋ごしにタップすることになります。 使っている人はわかると思いますが、普段より使い勝手が悪いですよね・・。時には反応しなかったり、誤タップしてしまうことも。。そして、画面が曇ったり水滴がついたりして見づらくなったり。。

他の防水ケースと比べると、ここの快適さが圧倒的に違います。

今までは映画とか動画を見るような、お風呂では画面の操作がない作業に限られていた人も、電子書籍を呼んだり、ネットサーフィンしたり、操作することもできちゃいます!

水滴がついたり画面が曇ったりもしません!

お風呂ライフの幅が相当広がりますよ!

普段使いもOK!=ケースから出し入れしなくていい!!

そしてこれも結構おすすめポイントなのですが、普通の防水ケースだと、お風呂以外で使うときにケースから出さなければいけないですよね。普通に使うときは画面がタップしづらいですからね。

nuudなら、画面には触れるし、充電の穴のところは扉になっていて、開けられるようになってるし、イヤホンの穴もボタン類もそのまま押せるようになっているので、ケースを取らなくても普段どおりに使えちゃうので、そのそもケースをとらなくていいんです!

ケースに入れたりするのが面倒だったりしたのですが、nuudに変えてからは完全に風呂入る=iPad持っていくになりました。

音が普通に聞こえる!!

そして通常の防水ケースだと、なんだか篭った音で聞こえてしまいます。袋に入れる形式だと、どうしても篭ってしまうんですよね。 これではせっかくの映画の音が楽しめません。この問題があるので、以前はBlootoothスピーカーとセットで使っていました。

nuudだと、スピーカーも完全防水のはずなのに、普通に音が聞こえちゃいます。 全然違和感がないんです。だからBlootoothスピーカーをわざわざ持ち込まなくてもいいんです!(持ち込んでもいいですが・・)

仕組みはよくわかりませんが、ケース内に空洞を作る、特許申請中の技術だそうで。

指紋も普通に認識する!!

Touch IDも普通に使えます。 ホームボタンの上に防水にするためのビニールがかかっていますが、普段どおり指をおけば普通に使えます。

防水・防塵・耐衝撃性能は、完璧

nuudは、日常防水どころか、水深2メートルで30分耐える性能が試験済みなので、防水性能に関しては全く心配ありません。 防塵・耐衝撃についても、IP-68やMIL-STDという米軍の軍用品用の規格をクリア(すごすぎる・・・)しているので、さらに安心ですね。

お風呂入るだけなのに絶対必要ないレベルの規格にクリアしているので、中のiPadの状態は絶対安心ですw

まとめ:nuudにしてからお風呂ライフが一変した!

  • 風呂に入るたびにケースから出し入れしなくていい
  • 画面に直接触れるので、ネットも快適
  • 音が普通に聞こえるので、スピーカー要らなくなった。
  • 画面が曇ったりずれたり水滴がついたりせず常に綺麗

というわけで、毎日お風呂でiPadをいじる人には、マストバイアイテムなんじゃないかなと思います。 ちょっと値段が高い(iPad Air 2 用で16,740円)のですが、毎日触ることを考えると、十分買う価値があると思います。

こういう生活のちょっとした不快がとても嫌なので、お風呂iPadにおける不満を全部解消できるのはホントありがたいです。

2年使うと考えると、1日23円(((16745/2/365)))くらいですね!!安い!!!w

購入はこちら

iPad Air 2 用

iPad Air 用

iPad mini 3 用

iPad mini 用

iPhone 用

iPhone 用もちゃんと大体出てる

iPhone 6s 用

iPhone 6s Plus 用

iPhone 6用

iPhone 5s 用

iPhone 5C 用

公式サイト

機能の説明があります。

lifeproof.jp

追記 (2016/6/6)

ちなみにiPad Air 2ゴールドを使っていますが、裏面はこんな感じです: ゴールドもしっかり見えていい感じですね!

f:id:konisimple:20160606112126j:plain

f:id:konisimple:20160606112212j:plain

「Twitter フォロワー募集掲示板」にアイコン・ツイート数・フォロー返し率の表示を追加しました

whotwi

Twitter フォロワー募集掲示板にアイコン・ツイート数・フォロー返し率の表示を追加しました。

f:id:konisimple:20160306193426p:plain

  • アイコンがわからないとイメージしづらい
  • フォローしても返ってくるのかよくわからない

という問題を解消しました。

他にも希望があれば教えてください!

ちなみに、フォローする際にいちいちページ移動が面倒問題は把握しているのですが、実装も面倒なので一旦放置していますw

「Twitter フォロワー募集掲示板」のリリースから1ヶ月振り返り

whotwi

1/31にリリースしたTwitter フォロワー募集掲示板ですが、リリースから約1ヶ月が経過しましたので、リリース後の状況を振り返ってみます。

koni.hateblo.jp

書き込み数は順調に伸びている

現在の書き込み数は450です。今日はリリースから36日目なので、一日で割ると1日平均12.5件の書き込みがあります。 ゼロから掲示板を作ったにしては、結構いい数字なんじゃないでしょうか。

Google Analyticsによれば、デイリーの訪問者数は100-150くらいなので、全体の10%くらいの人は書き込んでくれているようです。 この率はかなり高いので、この掲示板にきたフォロワーを増やしたい人と考えている人のアクションはかなり喚起できているようです。

SEO 1年くらいで「フォロワーを探す掲示板といえばこれ」になりたい

一方で、SEOは結構いい感じになっていて、「Twitter 掲示板」というキーワードは3位、「twitter フォロワー 募集」でも5位と、なかなかいい位置にきました。 これらのキーワードでヒットする掲示板は、どれも大体デイリー5-10くらいの書き込みしかないようなので、他に勝ってまずは1位にしたい。 そして日本でフォロワーを探す掲示板といえばこれ、というポジションに1年くらいかけてなれたらいいなーと思います。

今は450件と、件数自体はそんなに多くないですが、この掲示板の特徴である、年齢・場所・性別・職業の欄は結構使われているようです。 今のペースだと年間で1年で3000-5000くらいの投稿が集まるので、その規模のボリュームがあれば検索が機能してくると思います。 場所欄に入力したキーワードを検索結果にリンクしたり、ページが自動で増える仕掛けをしえちるので、自動的に内部リンクが増えてSEO的には強くなっていくはずです。

一旦掲示板としての機能は実装が終わったので、ここからはウォッチしていく段階に入ろうと思います。

「Twitter フォロワー募集掲示板」をリリースしました!!

whotwi Twitter

こんにちは、小西です。

日曜日(2016/1/31)に「Twitter フォロワー募集掲示板」をリリースしました。

Twitter フォロワー募集掲示板

こちらはTwitterのフォロワーを募集する掲示板です。他にもフォロワー募集の掲示板は多数あるのですが、広告ばかりだったり、スパム投稿で荒れていたりと、あまり綺麗なものがなかったので作成してみました。掲示板としての基本的な機能に加え、年齢や職業、性別でも探せるようにしているのがポイントです。

whotwiには、月間70万人の方が閲覧してくれており、おそらくそのほとんどがTwitterユーザーの方だと思われます。 whotwiの全ページからリンクを貼っているので、結構効果あると思いますので、ぜひご利用ください!

掲示板のスパム対策にreCAPTCHAを導入

掲示板といえばスパム、ということで、公開1日で数件スパム投稿がついてしまったので、googlereCAPTCHAを導入しました。

ロボットか判断するために読みにくい数字を入れたりするアレです。2014年のアップデートでGoogleアルゴリズムでロボットぽい人以外は面倒なチェックはなく、チェックをいれるだけでよくなりました。

Google から大変シンプルなAPIが提供されているので、導入は30分ほどで終わりました。

  • ページのHTMLにjsを貼ると、ウイジェットが表示される
  • ユーザーがreCAPTHAのチェックボックスを押し、人間だと確認できると、g-recaptcha-responseという値にランダムな文字列が入る
  • ページから投稿の際にg-recaptcha-responseも送り、サーバー側でgoogleAPIにそれを投げて有効化確認する

という流れになります。

以下が詳しいです。

ウェブサイトにキャプチャを導入する方法【reCAPTCHAの使い方】

上記では言及されていませんが、導入すると、reCAPTCHAのサイトで、スパムと判定された割合や人間チェックの割合が見られます。 今回のサイトでも結構なスパムが捕獲できているようです。

今後について

今までwhotwiは分析サイトだったり、Twitter 利用料金チェッカーだったりで、CGMはやったことがなかったので、第一弾として掲示板を追加してみました。SEO的にどうなのか、どうすればコミュニティが活性化するのか、試していこうと思います。

投稿件数が増えてきたら検索機能や年齢などでの絞り込みも実装します。実は実装したのですが、件数が少ないのでまだ検索窓は非表示にしてます。なので年齢などは実はクリックできます。これはSEO対策で、少しでも内部リンクを増やそうとした結果です。

こちらは日曜日に思いつき、3時間ほどで書き終え、そのまま公開してしまいました。久しぶりにサクッとリリースしたサービスになります。やっぱりウェブサービス作るの楽しいなーと再認識しました。

whotwiでは、今後もTwitterユーザーの方に便利なサービスを今後も提供していく予定です。

よろしくお願いします!!

「ブログ購読者数チェッカー」をパワーアップしました!

先日公開した「ブログ購読者数チェッカー」ですが、昨日のアップデートにより、パワーアップしました。

ブログの購読者数と、人気記事の数値がよく見えます。ぜひご利用ください。

ブログ購読者数チェッカー - konisimple tools

変更①はてな読者数も合算するようにしました

はてなブログで運営しているサイトの場合、「読者」数を計算に含めるようにしました。独自ドメインの場合も対応しています。

f:id:konisimple:20160121121508p:plain

変更②人気記事のFacebookシェア数とPocket数も見られるようにしました。

f:id:konisimple:20160121121511p:plain

今後の課題

シェア数の表示については、人気記事と最新記事でやるのもありかなーと思っていますが、これは次の課題とします。

そして、ツイートボタンが崩れていますね、、、そういえば最近mac+chromeでしか動作確認してないな・・・

IEの検証環境作らないと・・・

紹介記事

僕が記事にするより先に記事していただいていたので、そちらから画像は拝借させていただきました。

www.pojihiguma.com