2020年に誰でも簡単にWhatsAppを乗っ取ることができることを実証した後、実験とはいえ、倫理的な観点から他人のアカウントをハッキングする行為は中断していた。しかし、徐々に人々の交流が元通りになるにつれ、セキュリティに疎い人々、つまり友人たちに以前からの手法を試してみるのも面白いだろうと考えた。そして、よく使われているアプリがハッキングできるかどうかを検証してみると、今でも簡単にできてしまうことに衝撃を受けた。
アップル社のApp Storeにおけるトップ10の無料アプリの中から1つを選び、他人のアカウントを乗っ取れるかどうかを検証することとした。この実験は、それがいかに簡単にできるかを強調するだけではなく、アカウントを保護する方法を紹介する機会にもなるだろう。
Snapchatは18~24歳を主なユーザーとしている(ただし、多くのユーザーの年齢は、それより低いと思われる)。Z世代は、若いうちからデジタル製品に囲まれて育った世代であり、一般的に「テクノロジーに明るい」と考えられている。
一方、若い世代はセキュリティを軽視していると見られることもある。二要素認証(2FA)を設定していなかったり、友人とパスワードを共有したりしているからだ。そこで、Snapchatではセキュリティがどのように扱われ、WhatsAppと同様、簡単にハッキングできてしまうかどうかを検証してみた。
今回は、「ショルダーサーフィン」と呼ばれる、パスワードや暗証番号、確認コードなどの機密情報を盗むために肩越しに覗き見する、「ショルダージャック」とでも呼ぶべきテクニックを使ってみた。これは単純ではあるが、効果的な手法であり、ソーシャルメディアやそのほかのアカウントで大きな問題となり得る。果たしてこの手法はSnapchatのアカウントを乗っ取るのに有効なのだろうか?
実験の結果
筆者自身はSnapchatのアカウントを持っていなかったが、友人の中には持っている人もいた。そこで、検証するにはアカウントが必要だったため、同僚に許可を求めた。「エル」と呼ぶ友人が、ハッキングに成功したとしても彼女のアカウントで何も投稿しないという条件付きで、サイバー対策の啓蒙を目的に快く実験に協力してくれた。
そして、協力のお礼にエルをランチに誘い、友人と連れ立って出かけた。席につくとエルの隣に座り、会話をしながら、お互いにスマートフォン(以下、スマホ)を操作していた。筆者はあらかじめSnapchatをインストールしていたものの、設定やアカウントへのログインは完了していなかった。そこで、アプリを開き、ログイン画面を開いてサインインした。画面中央には、攻撃者がお気に入りの「パスワードを忘れた方はこちら」のリンクが表示されている。
図1:Snapchatのログイン画面
このリンクは、アカウントの乗っ取りを試みる攻撃者が、セキュリティや侵入方法の可能性を探るために最初に確認しようとする対象だ。「パスワードを忘れた方はこちら」をクリックすると、パスワードをリセットする方法を選択する画面に進む。「電話または電子メール」の選択肢があったので、そこで電話を選ぶと、電話番号の入力を求められた。
図2:電話番号を入力する画面
テーブルでは、エルはまだスマホで友人とメッセージのやり取りをしていた。筆者は彼女の電話番号を入力し、確認コードを「ショルダージャック」する瞬間を隣でじっと待っていた。しばらくすると、彼女のiPhoneの画面上部にあるドロップダウン通知に確認コードが届いたため、筆者はすぐに6桁の数字を盗み見て、それを記憶した。
この時点でエルが気づくかもしれないと思ったが、彼女は通知を無視し、友人とのメッセージを続けた。実際、後に実験の手順について話したところ、彼女はSnapchatからの通知に気づくこともなかったと言った。「通知が多すぎて、埋もれてしまう」とのことだった。
スマホに確認コードを入力すると、すぐに新しいパスワードを設定するよう促され、「JakeIsAwesome.1」と更新した。この段階までは、以前行ったWhatsAppのアカウントを乗っ取る実験と同じくらい簡単であったが、Snapchatにはアカウントを完全にコントロールするために必要なもう1つの手続きがあった。
パスワードは求められなかったものの(おそらく、電子メールやユーザー名がなくてもアカウントを作成できるため)、テキストメッセージで彼女の電話番号に確認コードが再度送られるというものだ。想定外の展開だったが、エルはまだスマホを開いていた(そして、気にも留めていなかった)ので、通知されたSMSメッセージからコードを盗み見ることができた。そして、このコードを使ってアプリにログインし、完全にコントロールできる状態にして、エルをこのアカウントから締め出した。
投稿したり、彼女の友人へ連絡したりしないと約束していたが、実証実験は成功したのだ。彼女の電話番号を知っており、スマホを肩越しに覗ける距離にいることだけで、容易に完遂できるのだ。すべてのSnapchatユーザーは、自身のアカウントがリスクにさらされていると認識しておく必要がある。近くにいる誰かがハッキングしようと思えば、容易にアカウントが奪われ、身代金を要求される恐れもあるだろう。
一歩考えを進めると、こうした攻撃は遠隔から実行できるかもしれない。ソーシャルエンジニアリングの手法を使って標的に電話をかけ、確認コードを口頭で伝えるよう仕向けるのだ。こうした手法は徐々に増えつつあり、十分に注意するべきだ。
もし、電子メールによる認証しかなかったら、この実験はおそらく不可能だっただろう。なぜなら、送られてきた電子メールを開き、メッセージの中にあるリンクをクリックするよう、エルに頼む必要があったからだ。彼女がこの2つの作業を実行してくれるとは考えにくい。Snapchatのパスワード回復の手順は、暗号化されていないSMSを介して送信されたコードをスマホの通知画面に表示するものだが、簡単に攻撃者に悪用される可能性があるのだ。
Snapchatのアカウントを回復するには?
盗まれたSnapchatのアカウントを回復するのは、残念ながら簡単ではない。すべては、攻撃者がアカウントにどのような変更を加えたかに依存する。攻撃者がパスワードを変更しただけであれば、先述した手続きに従ってアカウントを回復することが可能だ。
しかし、電話番号や電子メールアドレスを変更されていたり、二要素認証が追加されていたりすると、多くのソーシャルメディアと同様に、回復する手段は限られる。サービスを運営する会社に連絡して、不正な変更を修正してもらうことは容易ではない。アカウントが侵害されたと思った場合に、Snapchatはアドバイスを公開しているので参考にしてほしい。
Snapchatのアカウントを保護するには?
複雑でユニークなパスフレーズ(Snapchatに限らず、すべてのオンラインアカウントで設定するべきもの)を用いるのに加え、Snapchatの設定画面から二要素認証を有効化してほしい。また、Snapchat以外でも、二要素認証を利用できるアプリでは常に有効化しておくべきだ。Snapchatで、設定画面を表示し、二要素認証の設定を確認する。SMSを介した二要素認証でも構わないが、Microsoft AuthenticatorやGoogle Authenticatorといった認証アプリを使う方がはるかに良い。
図3:二要素認証の設定画面
Snapchatを持っていなかったとしても、それを使っている人は周りにいるだろう。そうした利用者に「Snapchatのハッキング」について知ってもらい、すべてのオンラインアカウントに前述のアドバイスを適用するよう促してほしい。
ショルダーサーフィン自体は、特に公共の場でアプリやWebサイトに機密情報を入力する際に、画面を覗き見る人を遠ざけることで回避できる。さらに、通知を無効化しておけば、スマホがロックされているときでも、覗き見られるのを防げるだろう。また、人前でスマホやタブレットを使用する際は、SMSメッセージに注意を払おう。そうしていれば、今回のSnapchatアカウントに対する攻撃実験も失敗していただろう。