情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

QRコードログイン機能を悪用したLINEアカウント乗っ取りの危険性とその成功可能性・ユーザー像について

LINE-セキュリティ (51) LINE-乗っ取り (21) セキュリティ (62)

LINE PC版には「QRコードログイン」という機能があります。この機能を悪用すると、「簡単に」LINEアカウントを乗っ取ることができてしまいます。「簡単に」とは言うものの、疑い深い人であれば防ぐことができるものです。しかし、どうやら実際に、自分のLINEアカウントへのログインを、知らない人に許可してしまうケースが現在増えている模様です。

騙される対象としては、LINEへの依存度が高い中高生を想像してみてください。

今後、このパターンのアカウント乗っ取りが増えていく可能性があるので、ここで注意喚起及び、仕組みの解説をしたいと思います。

naver-line-qr-code-login-security

前提:QRコードログインの仕組み

まず最初に、悪用される「QRコードログイン」の仕組みを紹介したいと思います。

仕組みはちょっと誤解しやすいかもしれませんが、「ログイン手順」という意味では、驚くほど簡単なログイン方法です。

PC版LINEでのログイン用機能

QRコードログインは、PC版のLINEアプリから、普段スマホで使っているLINEアカウントにログインするための機能です。

手順

PC版LINEを起動すると、通常のメールアドレス・パスワードログインの画面が表示されますが、ここで「QRコードログイン」を選択します。

naver-line-qr-code-login-security-select-qr-code-login

すると、PC版LINE上に、次のようにQRコードが表示されるので、これをスマホのQRコードリーダーで読み取ります

naver-line-qr-code-login-security-select-qr-code

読み取ると、自動的にスマホ上でLINEアプリが起動します。

「ログインしますか?」と表示されるので、「ログイン」をタップします。

naver-line-qr-code-login-security-confirm-login

すると、パソコン側で、あなたのアカウントでのログインが完了します。

naver-line-qr-code-login-security-finish-login

簡単ですね。とても簡単です。

QRコードログインの仕組み

さて、ここからは、このログインの仕組みを簡単に解説したいと思います。

まず、PC版LINEで、ランダムに生成されたQRコードが表示されます。

このQRコード発行の時点で、LINE運営のサーバー側では、「あなたのPC上のLINEアプリ」と、この「QRコード」の【ペア】が登録された状態です。

ここで、QRコードをスマホで読み取り「ログイン」をタップすると、今度は「スマホのLINEアプリのアカウント」が、その「QRコード」に対して、「ログインOKって言ってるよ」という情報が、LINE運営のサーバーに送信されます。

すると、先ほどの【ペア】の情報の中から、該当するQRコードが検索されて、対になって登録されている「あなたのPC上のLINEアプリ」が特定されます。

こうして、LINE運営は、「(ログインOKって言っている)スマホのLINEアカウント」と「あなたのPC上のLINEアプリ」という組合せを特定できるので、その「あなたのPC上のLINEアプリ」で、「許可を出したスマホのLINEアカウント」がログインしたことにする、という処理をします

これが、QRコードログインの仕組みです。

悪用方法

このログインの仕組みを悪用するのは簡単です。

あなたがPC版のLINEで作成したQRコードを友達に見せて、読み取らせて、「ログイン」を押させれば良いのです。

そうすれば、「友達」が、「あなたのパソコン」に、ログインの許可を出すことになり、あなたはまんまと、友達のLINEアカウントを乗っ取ることができてしまいます。

実際はさらに簡単

ちょっと面倒かもしれませんが実は、QRコードの中身はただのURL(https://line.me/R/au/q/...という形式)です。

なので、このURLを踏ませるだけでQRコードを読み取らせたことと同じ効果があり、すぐさまLINEアプリが起動し、「ログイン」ボタンが表示されます。

なので、実質的には、URLを踏ませてログインボタンを押させるだけ、です。

「ログイン」を押さなければ安全

たしかにこの企みは、「ログイン」を押してもらえなければ、成立しません

でも「ログイン」を押してしまう

しかし、この種の「○○しなければ安全」は、世の中的なことを言えば、そこら中で簡単に突破されてしまっています

ましてや、今回のような、警告の弱い画面で、しかも1ボタンタップするだけであれば、とても簡単です。

「ログイン」ボタンを押してしまう実例

現在、その例としてあげられるのが、「自動スタンプ」というWebサービスです。

naver-line-auto-line-tl-site

「自動でスタンプを押せる、便利なサービスだよ」という宣伝に引かれて「同意してログイン」を押すと、QRコードのURLに、自動的に転送され、LINEが起動し、「ログイン」ボタンが出現します。

あとは、「自動スタンプ使いたい」と思った流れで「ログイン」をタップするだけです。

この流れで、多くの人が、知らない人にLINEアカウントを完全に明け渡してしまっているようです。

このサービスが、利用者の情報を悪用しているかは別として、このような手口で、簡単に大量のアカウントを乗っ取ることができる、ということがわかります。

この、単純な「仕組み」以上の、「人をどう騙すか・騙されるか」が問題となるセキュリティ、興味深いですよね。

問題点:警告がない

確かに「ログイン」をタップしてしまうユーザーが悪いかも知れません。

ただその一方で、「ログイン」画面の改良はできそうです。

naver-line-qr-code-login-security

現状、「ログインしますか?」と「他の端末にログインする場合「ログイン」を押して下さい」のみが表示されており、危険性の説明や、紹介がありません。

例えばTwitterの連携機能では、

twitter-katteni-retweet-auth-sample

このように、その危険を紹介しています。

それでも多くのユーザーが騙された結果がレイバンスパムだったりしますが、それでも運営側がリスクを認識して対策をしている、ということがわかる画面であり、重要です。

ここでTwitterとは、大きな違いがあります。それは、Twitterの連携機能が、もともとそのような「サービス間連携」を目的として作られた機能であることに対して、LINEのこのQRコードログイン機能は、本人が純粋にログインする為に用意された機能で、他人に利用する権利を渡すための機能ではない、ということです。

なので、純粋には、役割の異なる画面ですが、今回紹介しているような悪用方法は当然考えられるため、何らかの対策をしても良いのではないかと考えられます。

さらなる問題:ログイン解除が不完全である脆弱性

では、実際にログインされてしまった後、そのログイン許可を取り消したい!と思ったらどうすればよいのでしょうか

これについては、ちゃんと、ログイン許可を取り消すための画面が用意されています(設定>アカウント>ログイン中の端末)。

naver-line-qr-code-login-security-kick

ここで「ログアウト」をタップすると、ログイン許可が取り消され、強制ログアウトとなります。

naver-line-qr-code-login-security-kicked

APIトークンが無効化されない問題

しかし、問題はここからで、LINEでログイン許可を取り消して表面上ログアウト処理が実施されるものの、通信で利用していた認証トークン(これを知っている人は、ログインしている人だね、という情報)が無効化されない、という問題があり、事前にこの認証トークンを保存しておいて、アプリからではなく、API(プログラムからLINEの機能を利用する手段)を直接利用すれば、ログイン許可の取り消し後も、アプリを使えているかのようにトークの閲覧や投稿などの操作ができてしまいます

この問題については、「非公開投稿の閲覧含むLINEの深刻な脆弱性4つが発見・報告された件について」で詳しく解説しましたが、結局、LINE運営は脆弱性への対応状況について、

1については、仕様の悪用に起因する問題でもあることから、ユーザーの利便性を考慮しつつ、より安全にLINEをご利用いただける方法を検討中です 引用元

と説明するにとどめており、その後、対応した、という話は耳にしていません。

「仕様の悪用」がまさに、このQRコードログイン機能の悪用のことを指しているのですが、ここからも、警告文が掲載されない背景が見て取れる気がします。

ログイン直後の「ログインしました」メッセージ

実は、QRコードログインの直後、LINEアプリには、次のメッセージが届きます。

naver-line-qr-code-login-security-kokoroatari

PCでLINEにログインしました。
ログイン中の端末:
(PC名)
心当たりがない場合は下記のリンクからログアウトしてください。
line://nv/connectedDevices/(←先ほどのログアウト画面が開くリンク)

ここでは、「心当たりがない場合は」と書かれていますが、騙されたのであれば、心当たりが「あり」ます。

そして、ログアウト機能へ誘導されますが、以前の通りであれば、認証トークンは無効化されないため、やはりこの種の乗っ取り行為の対策としては不十分です。

今後考えられる悪用は、個人による特定個人への攻撃

今後、特にLINE界隈で考えられるのが、個人が友達のアカウントを乗っ取る・侵入することを目的とした、攻撃です。

LINEのQRコードログインの特徴は、難しいプログラミングの知識などが無くても、QRコードのURLを「ここからログインすると、有料スタンプが1つ無料で貰えるよ!」などと嘘をついて送信して、「ログイン」ボタンを押させてしまえばいい、という手軽さです。

後はもう「自分も騙されたんだ~」だとか言っておいて、乗っ取り行為に気が付かれないようにさえすれば、友達のLINEでのやりとりや友達関係を盗み見し放題になります。

事後、本当の対策

先ほどの脆弱性関連の話があるので、真の対策としておすすめできるのは、アカウントの削除です。

仕方ありません。対策として用意されている機能を信用しない結果、こうなってしまいます。

まとめ

今回は、昨日書いた自動スタンプサービスに関する注意喚起記事では説明しなかった、より詳細な仕組みや悪用方法について解説しました。

サービスとして、「ログインを押さなければセーフ」というラインは満たしている一方で、実際に悪用するのが困難かといえば、実情を見る限りそれほど困難そうにも見えない、というケースのひとつを紹介しました。

今回は、もっとも初歩的な、「警告文を表示する」という対策を紹介しましたが、サービス側として利便性を保ちつつ悪用を減らす為に、どんな機能追加ができるのか、を考えてみるのは、結構面白いのではないかと思います。

コメント(0)

新しいコメントを投稿




  • カテゴリ ナビ
  • 著者紹介

    ブログが趣味で、 月間1,000万PV を達成しました。

    自分が困ったことをブログに書けば、次に困る人の参考になって、みんながみんな同じ苦労をせずに済む、というのが原点です。

    最近の関心は、スマホやパソコンに詳しくない人の行動や思考、 そしてそんな人を手助けする方法や枠組み。 また、それに関連するような、"身近な"セキュリティ。

    ※SNS(特にTwitter)でシェアされた記事は、内容の追加・更新を行っています。 必ず、ではありませんが、気に入った記事は積極的にシェアしてみてください。

    RSS | Facebook | Twitter | About