LINEの仕組み from did2memo.net

LINEの仕組みや使い方などについて詳しく解説します

非公開投稿の閲覧含むLINEの深刻な脆弱性4つが発見・報告された件について

LINE (1009) LINE-セキュリティ (51) LINE-脆弱性 (1) セキュリティ (62)

LINEの深刻な脆弱性4件を指摘する動画が、脆弱性発見者のれきさんとしりちゃんLINEボットさんによってYouTubeに投稿され、そこからその脆弱性の内容が広まっています。

naver-line-vulnerability-2016-02-22-youtube

動画はとても詳細なのですが、その分、かなり長い(16分)ことに加えてLINE用語が多く、LINEに詳しい人出ないと理解するのが難しいため、LINEにそこまで詳しくなくても指摘されている脆弱性の概要が把握できるように、このページにて、解説してみます。

※このページでは、発見報告の内容解説に重きを置いています。脆弱性の詳細な内容の確定は、LINE運営側からの情報公開待ちとなります。

指摘された脆弱性の内容解説

脆弱性(全4つ)の最初の指摘は、次のYouTube動画にあります(動画の投稿は2/23であり、2/25に脆弱性の対策は実施済み)

とても丁寧で詳細な動画なので、基本的にこの動画を見ていただければと思います(詳細な攻撃方法は伏せられており、考えられる対策方法についても同時に紹介されている。また、ユーザーの落ち度と脆弱性がちゃんと分離されている)

ただ、確かにとても丁寧で詳細な動画なのですが、16分と長めかつ、「LINE用語」が多く、LINEに詳しくないと、理解が難しかったりします。

そこで、このページでは、LINEの機能にそこまで詳しくない人向けに解説します。

注意点

また、現状、LINE運営側の立場からの脆弱性解説が公開されていない状態であるため、LINE運営側に不利すぎる(脆弱性の深刻さが強調されすぎる)ことがないように、脆弱性を悪用するために必要な条件などの情報を補っておきたいと思います(重要。ただし、結果を言えば、あまり動画に対して書き足せる部分はなかった)。

脆弱性(1):ログアウトで認証トークンが失効しない脆弱性(不正ログイン対策漏れ)

naver-line-vulnerability-2016-02-22-v1

1つ目は、ログアウト機能が不十分である、という脆弱性です。

LINEには、攻撃者の「不正ログイン」を、強制的に遠隔ログアウトできる機能があります。

ログイン中の端末一覧が表示できるので、そこから「ログアウト」を選択することで、追い出すことができます。

naver-line-vulnerability-2016-02-22-no-login

ログアウトが機能していない(認証トークンが失効しない)

今回指摘されているのは、この強制ログアウトを行ったとしても、通信で利用されていた、「認証トークン」が失効されないという脆弱性です。

つまり、表面上は強制ログアウトして、不正ログイン犯を追い出したように見えても実は、通信で利用されていた「認証トークン」が無効化されず、引き続き利用できるため、その後も、ログインしているのと同じように閲覧や投稿ができてしまいます

悪用条件

これを悪用するためには、事前に不正ログインに成功する必要があります。現在2要素認証が導入されており、基本的にメールアドレスとパスワードのペアが漏れていても、それだけでは不正ログインは成功しません(動画にも出てくる通り、ログインボタンを押してしまう、などが必要)

脆弱性(2):非公開設定を回避して投稿が閲覧されてしまう脆弱性(非公開回避)

naver-line-vulnerability-2016-02-22-v2

2つ目に解説されているのが、非公開設定にしているはずの相手から、タイムライン*機能への投稿を閲覧されてしまう、という脆弱性です(*タイムラインとは、LINE内のTwitterのような機能)

タイムラインのデータを取得する通信では、「攻撃者のID(mid)」「攻撃者の認証キー」「被害者(ターゲット)のID(mid)」を送信しています。

このとき、攻撃者に被害者のタイムラインの閲覧権限がないため、通常は閲覧することができません

閲覧者が自己申告制なので別人のふりをすれば閲覧できてしまう(IDと認証キーのペアが検証されていない)

しかし、「攻撃者のID」の代わりに、LINE運営公式アカウントの「りんな」のID(知ることができる)を送信をしてみると、なぜか閲覧できてしまう、という脆弱性です。

つまり、「りんなが見に来たよ-」のように、閲覧者を自己申告できてしまい、その自己申告に基づいて、閲覧可能であるかが判定されるというわけです。

今回「公式アカウント」である「りんな」にはタイムラインの閲覧権限があるため、動画のような結果になってしまっています。

悪用条件

攻撃者は、被害者に友だち登録してもらっている必要があります。なので、既に友だち同士であればこの脆弱性が利用可能と言うことになります。

一方で、友だちになっていなかったり、ブロックされてしまうと、攻撃は成功しません。

脆弱性(3):別アカウントになりすましてコメントできる脆弱性(非公開回避・なりすまし投稿)

naver-line-vulnerability-2016-02-22-comment-rinna

これはかなり脆弱性(2)に近い脆弱性で、公式アカウントに成りすまして、コメントできてしまう、というものです。

こちらも、認証キーとIDのペアが検証されていないことに起因する脆弱性です。

実際の書き込みの可否や、書き込み主の記録が、(自己申告の)IDに基づいて判定・実施されてしまっています。

悪用条件

(脆弱性(2)と同様)

脆弱性(4):限定公開のグループノートを閲覧・書き込み・編集できる脆弱性(非公開回避・なりすまし)

naver-line-vulnerability-2016-02-22-v4

こちらの脆弱性も、脆弱性(2)や(3)に類似していて、グループのメンバーにしか閲覧できないはずの「グループノート」を、「グループに参加していない攻撃者の認証キー」と、「グループに参加している誰かのID(←秘密でない)」を使えば閲覧できてしまう&書き込み・編集もできてしまう、という脆弱性です。

認証キーが認証に使用されていない

そしてさらに動画終盤で「完璧にお笑い」と指摘されているとおり、認証キーに適当な文字列を指定したり、空白にしてしまっても、なりすまし書き込みができてしまうという脆弱性が指摘されています。

つまり、認証キーが利用されていない状態であることが指摘されています(「認証キーとは何だったのか」とも)。

naver-line-vulnerability-2016-02-22-v4-2

悪用条件

これは動画では指摘されていない部分ですが、グループのIDは、どうにか別途取得する必要があります。

一度そのグループに参加するなど、何かしらグループのIDにリーチする手段が別途必要です(ターゲットを指定できない)。

脆弱性の傾向:認証キーのチェック漏れ

4つの脆弱性はいずれも、「認証キー」の検証が不十分であることに起因する不具合のようです。

正しく失効されなかったり、IDとの組合せが検証されず、ばらばらの組合せで認証が通ってしまったり(なりすまし放題)。

LINE運営と脆弱性発見者とのやりとり

さて、この動画を投稿した脆弱性発見者は、LINEとIPAに脆弱性を報告した、としつつ、動画を公開していました。

そして実際、LINE運営はその脆弱性発見者に対して、こんなツイートを送信しています。

(最近個別の問い合わせに返信してくれない)LINE公式Twitterアカウントが、返信でもないのに、個人宛にツイートを送信する、というとても珍しい光景です。そして、ツイートに「対策結果」の文字が含まれているのがポイントです。

そして、そのツイート中に書かれている、「詳細をメールにてお送りしております」のメールの内容が、「しりちゃん LINEボット - 【LINE脆弱性】LINE公式からの回答と不明点について。 - ブログ (Blog)」にて公開されています。

■脆弱性対応状況について
ご報告いただいた4つの脆弱性についての対応状況は以下のとおりです。

1.タイムラインの認証キーについて
2.非公開設定の人のタイムラインが閲覧できることについて
3.他人になりすましてタイムラインにコメントできることについて
4.グループノートが自由に閲覧できることについて

2〜4については、2016/02/25 深夜1時頃に対応を完了いたしました。
1については、仕様の悪用に起因する問題でもあることから、ユーザーの利便性を考慮しつつ、より安全にLINEをご利用いただける方法を検討中です。 引用元

LINE運営は既に対策済み(2016/02/25)

というわけで、報告後、既に直近で必要な対策は実施済みとなっています。

実際、報告者の「しりちゃんLINEぼっと」さんも、

脆弱性につきましては以上の返答がまいりました。2.〜4.に関しましては、こちらで確認を行い、すでに修正されているのを確認いたしました。 引用元

としています。

脆弱性を公開した理由についての言及

脆弱性公開した理由について、報告者の「しりちゃんLINEぼっと」さんは、以下のように述べています。

なぜ今回このように公開させていただいたのかと言いますと、過去に脆弱性に関しまして指摘を無視したという事例や、以前LINEに脆弱性を報告いただいたユーザの方のお話から「もみ消されそうになりかけた」との声もあったためこのような方法をとらせていただきました。 引用元

今後の展開

先ほどのLINE運営からのメール本文に、

今回の脆弱性に関する弊社からの告知につきましては、現在準備を行っております。
準備が整い次第、以下ページにて告知致します。

▼セキュリティ&プライバシー
http://linecorp.com/ja/security/ 引用元

とあり、今後は、この告知がどんなものになるのか、が注目されます。

付録:信憑性について

次のツイートにて、公式LINEアカウントが「対策結果」と述べていることが確認できるため、脆弱性の存在自体は認められたと思われます。また、公開されているLINE運営からのメール全文や、脆弱性を解説する動画がかなり詳細であり偽装されたものとは考えにくいため、それらの内容的にも、脆弱性報告信憑性はある程度高い、と思われます。

付録:LINEが要求する脆弱性の報告方法

なおLINEが希望する脆弱性の報告方法は次の通りです。

なお、Bounty Programは終了いたしましたが、LINEに関する脆弱性は以下で常時受け付けています。
dl_bugreport@linecorp.com
(※スムーズな対応のため、可能な限り再現手順などの詳細を御記載いただけますようお願いいたします)
上記窓口では脆弱性に関する内容のみ受付させていただきます(報奨金の支払いはございません)。 引用元

このメールアドレスから、脆弱性の報告ができるようです。

付録:関連ページ

以下が、この脆弱性報告に関連するページです。

次のツイートにより直接報告があったのが、このページのきっかけです。

付録:ツイッターでの反響

この脆弱性報告動画に対する反響が、少しずつ増えています。

コメント(0)

新しいコメントを投稿