PCでもスマホでもサインインするようなことはしていないのに、何故か2要素認証を登録しているAutnenticatorアプリに承認要求が飛んできた。その時は「なんか不正アクセスされたかな?」ぐらいの軽い気持ちで拒否ったのだが、少し気になってアカウントのアクティビティログを確認した時の内容を共有する。
この事は、世界中で常に誰によるアカウントの乗っ取り行為が行われているという事実を改めて確認できたという事と、今使っているサービスがしっかりガードしてくれているという強い信頼感を持った出来事だった。
こちらも是非合わせて読んでいただきたい。
異常な数の不正なサインインアクティビティを確認
Authenticatorへの通知が少し気になって、アカウント情報のアクティビティ履歴を確認してみた結果が以下のスクリーンショット。1画面では伝わらないかもしれないが、画面をスクロールするとドイツ、トルコ、クロアチア、英国、中国、ロシアなど、様々な場所から何ヶ月にもわたって1日に何回もサインインアクティビティが検出されている。プログラムを使って自動的にパスワードスプレー攻撃を実施しているものかと思われる。
かつ恐ろしいのは、ドイツからの最近のアクセスにて「正常にサインインしました」となっている点。おそらく、この時のアクティビティが、冒頭で記載したAuthenticatorへのログイン認証要求になったのだと思う。
幸いにも2要素認証が効いて完全な乗っ取りを防止できていた事が判明した瞬間だったが、パスワードが当てられてしまった事はなんとも恐ろしい。ちなみにその時のパスワードは10桁で、数字、大小英文字、記号を全て組み合わせたもの。この組み合わせでパスワードが設定できるサービスはいっぱいあるだろう。
今回のアクティビティログから、攻撃はプログラムを使って自動化したものと思われるので、組み合わせの文字数を増やしたりパスワードを変更したりしても、突破されるのは時間の問題かと思われる。
2要素認証が利用できないサービスは利用を控えるべき
いまどきパスワード認証だけで利用できるインターネットサービスは使わない方が良いと思う。
私は複数のサービスでアカウントを持っており、AuthenticatorアプリやSMS認証やメール認証に対応しているサービスの場合は必ず2要素認証を有効にしている。
AuthenticatorアプリやSMS認証は手元にデバイスがあるので少し安心感が高い。
メール認証はメールにアクセスされるとどこからでも突破される可能性があるため安心感は低いが、特定のデバイスへの依存がなくなるので利便性はあるし、パスワード認証だけよりはよっぽどマシだ。
そもそもパスワード認証は時代遅れ
2要素認証という話の前に、そもそも「1要素目としてパスワード認証」という事をそろそろやめにしたい。昔はそれでもよかったのだろうが、今となってはデメリットしかない。
- 利用するサービスによってパスワードポリシーが異なるため、何種類かのパスワードを管理しなければならい
- 定期的に変更せよというのは非現実的でどこかにメモしておかないと絶対に忘れるが、メモする場所をどこにするかも困る
- サービス側でデータベースに保存したユーザーIDというのは様々なサービスからすでに漏れてダークウェブにて晒されており、パスワードの割り出しができれば1要素目を突破できる(パスワードを平文で保存しているサービスは今どき無いと思うが、もしその場合はパスワードもその時に漏れている)
ちなみに、Googleのサービスとして、自分のアカウントがどれだけダークウェブに漏れているかを自動検出してくれるサービスがあるので、もしGoogleアカウントを持っている人は試してみるとよい。私のGoogleアカウントは様々なサービスのユーザーIDや連絡先のメールアドレスとして使っているが、びっくりするほどユーザー情報が漏れている事がわかっている。
パスワードまで漏れていたのは1つだけ、かつそのパスワードは今は使っていない10年以上も前の古いモノだったが、いろんなダークウェブに晒されていた。TwitterかEvernote、どちらかのアカウントで使っていたモノだ。
パスワードレスという選択肢
たとえば、Microsoftアカウントであれば、パスワードレスという認証方法が選択できる。ログインしようとした時にパスワードは聞かれず、いきなりAuthenticatorアプリやSMSで登録元のデバイスもしくは自分が所有しているデバイスで認証するという方法。
この方法であれば、アカウント名やユーザーIDが知られてもデバイスが手元にない場合はログインできない。
ただ、デバイスが紛失・故障・盗難された場合など、デバイスが利用できない状況になるとどうしようもなくなるので別のデバイスでアプリが利用できるようになる「回復コード」というものが発行されるので自分で管理しておかなければならない。これはこれでセキュリティリスクとなるが現状やむなしだろうな。ログインする時に使用するパスワードが各サービスのデータベースに保存されて自分の管理外のところで漏れるよりはよっぽどマシなきがする。
ちなみに、Microsoft の Authenticatorは、生体認証に対応しており、アプリにアクセスする時は必ず指紋もしくは顔認証が必要となるため、最悪デバイス自体が盗まれたり、SIMが乗っ取られ最悪バックアップからアプリが別デバイスに復元されたとしても自分がいないとアクセスできない。セキュリティレベルは相当高いと思う。
生体認証機能のあるSIM対応Authenticator専用デバイスがほしい
今はスマホアプリとして、Google AuthenticatorやMicrosoft Authenticatorがあるが、他の会社も自前のAuthenticatorを出してきたら、それはそれで面倒臭い。また、スマホは2〜3年に一回は買い替えると思うので、もう少し息の長い専用デバイスが登場しても良いのではないだろうか。
誰か格安のSIM付き専用デバイス作ってくれないかな。
それか、モバイル通信が必要な通知機能などはスマホアプリで提供し、キーの機能だけを提供するSIMなしデバイスでもいい。QRコードを表示できるようにして、いちいち手入力しなくても済むやつ。Wifi機能があればスマホもいらないというオプション付き。
自分のアカウントを守るという事
ネットでサービスを利用する際には必ずアカウントが必要になる。有料サービスの場合、そのアカウントには個人情報だけでなく決済情報が常に紐づいている。情報がサービス側で暗号化されて保存されたりしたとしても、アカウント自体が乗っ取られてしまったらなんの意味もない。
自分のアカウントを守る方法や、自分のアカウントが今どのような状態なのかを確認する手段というのは知っておいた方がいい。ネットを安心して利用するために誰もが知っておくべき必須の基礎知識だろう。アカウントを管理しているサービス提供側としてもそのような情報は常にユーザーが確認できるような機能を提供した方が良いと思う。
コメント