mixi 趣味でつながるSNS

ホームブログmixi における不正ログイン防止についての取り組み

ブログ

mixi における不正ログイン防止についての取り組み

こんにちは、mixiスタッフです。

第5回は、mixi 内で過去に実際に行われたスパム行為と、それを含む不正ログイン防止対策の一環として Google 社の「reCAPTCHA (リキャプチャ)」を導入した取り組みについてお話したいと思います。



mixi で行われたスパム行為

Web サービスにおいて、そのサービスを不正に利用したスパム行為や、アカウントの乗っ取りなど、様々な攻撃に晒されるのは珍しいことではなくなっています。それは mixi においても例外ではなく、安心・安全にご利用いただけるように常に対策を施してきました。

このような中、昨年の5月に大規模なスパム行為が確認されました。

これは他のサービスで不正に入手した大量のアカウント情報を元に、機械的にログインを試みてアカウントを乗っ取り、メッセージやつぶやきなどの機能を使って他のサイトに誘導するものでした。

図1_送信者の意図しない大量のスパムメッセージを受信した画面
その対応として、ユーザーの皆さまへの注意喚起を行ったり、被害が確認されたアカウントのアクセス制限や利用の一時停止、パスワードのリセットなどを行ってきましたが、スパム行為が止むことはなく、いたちごっこの状態でした。



対策の検討

そこで対応策として挙げられたのが Google 社が提供している reCAPTCHA というサービスの導入でした。
reCAPTCHA は不正利用やスパム行為から Web サイトを守るためのサービスで、利用者の行動が機械的なものであるかどうかを判定します。

出典:reCAPTCHA - Google Developers

この判定を使ってスパム行為をブロックできるのではという期待から、ログイン画面への導入検証を始めることになります。
reCAPTCHA では機能の異なる複数のバージョンが提供されていますが、当時ベータ版であったバージョン 3 (以降 v3) を避け、バージョン 2 (以降 v2) を選択しました。



reCAPTCHA v2 の導入

下記のお知らせでもご案内した通り、昨年6月より reCAPTCHA v2 の導入を開始しました。

早速ですが、こちらが導入前後1カ月間で確認したmixi全体でのログイン成功数のグラフです。
導入後からログイン成功数が 1/3 程度にまで減っていることが分かります。

図2_導入前後1カ月間のログイン成功数の推移
本来であればログイン成功数が減ることは大きな問題となりますが、ご利用いただいているユーザー数には大きな影響が出ていないことが分かりました。

それと同時に、継続していたスパム行為が無くなったことで、減少分のほとんどがスパム行為を含む不正ログインであったことが判明します。



導入後の問題

数値としては良いものが出たのですが、問題が無かったわけではありません。

reCAPTCHA v2 では、不正が疑われるものの必ずしも不正アクセスかどうかの判断ができないような場合、バスや横断歩道などの画像を選択させる画面を表示し、利用者に正しく選択してもらう仕組みがあります。

図3_画像選択画面
アクセス条件によってはこのような画面が表示されることがあり、正しい画像を選択するという手間が発生するようになってしまいました。また、正しく選択してもなかなかログインできないといったケースも見受けられました。

この問題については、ユーザーの皆さまに不正ログイン防止対策として導入していることをご理解いただきながら、閲覧環境の変更や推奨ブラウザのご利用などをご案内させていただきつつ、継続してご不便をおかけしないための方法を模索しました。



reCAPTCHA v3 の検証

このような中、昨年10月末に reCAPTCHA v3 の正式リリースが発表されました。

出典:Google ウェブマスター向け公式ブログ: reCAPTCHA v3 をご紹介します。Bot の活動を阻止する新しい方法

v3 では v2 と違い、画像を選択させる画面が出ない代わりに不正なアクセスの可能性を表すスコアが利用サービス側に返されます。利用サービス側では、そのスコアを元にアクセスを拒否したり、更に追加の認証を求めたりといった判断が行えるようになりました。

v2 の導入後に抱えていた問題を解決できる可能性があるため、早速検証に取り掛かりました。



reCAPTCHA v3 の導入

v3 ではどのようなスコアがどれくらい返ってくるかは導入してみないと分かりません。そのため、まずは一部のアクセスに対してのみ v3 を導入することでスコアの検証を行いました。

ある程度の期間 v2 と併用してみた結果、スコアの傾向が分かり、判断できるようになってきたため全体への導入を開始することになります。



導入の結果

こちらはとある3日間の実際のログイン状況のグラフです。黄色がログインの試行、青色がログインの成功、赤色がログインの失敗を表しています。

図4_とある3日間のログイン状況の推移
グラフを見ると、試行 (赤色) と失敗 (黄色) が同時に増える期間が数箇所で確認できます。平常時と異なる動きになっていることから、この期間で不正ログインが継続しているものと見られますが、無事に防げていることが分かります。

その後もいくつかの調整を行い、不正ログイン防止の効果とログインが困難な状況を改善することができました。




おわりに

今回は不正ログイン防止における取り組みについてご紹介しました。

対策の効果については今後も見守りつつ、引き続きさらなる改善に向けて取り組んでまいります。

mixi では不正ログインに限らず、安心・安全にご利用いただくための様々な対策を続けております。当ブログの記事を通して、こうした取り組みを適宜ご紹介できればと思っています。

今後ともよろしくお願いいたします。