LINE Bug Bountyの結果と総括

はじめに

こんにちは。LINEでセキュリティに関する業務を担当しているMJです。以前こちらの記事で、LINE初の試みである「LINE Bug Bounty Program」について紹介いたしましたが、今回、改めて内容を振り返りながら、その結果について書かせていただこうと思います。

LINE Bug Bountyは、8月24日から9月23日までの約1ヶ月間で行われ、その期間に発見した脆弱性を報告してくださった方には、最高で1件20,000米ドル(約240万円)をお支払いするというプログラムです。このような制度は国内ではまだ実施例が少なく、あまり馴染みがないかもしれません。しかし、LINEではユーザーの皆様により安全なサービスを提供したいと考えており、そのための取り組み、制度のひとつとして、今回のBug Bounty Programを実施しました。

本プログラムは我々にとっても初めての試みでありまったくの未知数だったのですが、結果的に194件の報告を受け、XSS、CSRFなど計14件をクリティカルな脆弱性として対応させていただきました。また報告件数の半分以上は日本国外からのものであり、海外のユーザーからの関心も大きかったことは大きな驚きでした。

では、結果の詳細について実際に見ていきましょう。

受付状況

まず、報告フォームでの受付件数【図1】を見てみましょう。

日付別の受付状況

8月24日から9月23日までの約1ヶ月間の総受付件数は、194件に達しました。受付開始初日の応募が最も多かったのですが、これはLINE Bug Bounty ProgramのWebサイトを8月5日にオープンし、対象サービスとドメインを先に公開したためだと思われます。事前に発見していた脆弱性を受付開始と同時に報告してくれたのでしょう。その後は、時間が経つにつれ受付件数が徐々に減少していき、受付締切日が近づくと再びやや増加していく傾向が見られました。

【図1】日付別の受付件数

国別のアクセス比率

次に国別のアクセス比率を見てみましょう。

【図2】は、実施期間中におけるLINE Bug Bounty ProgramのWebサイトへのアクセス比率を国別に示したものです。国別の受付件数をみると、日本からは89件、日本以外の国からは105件となっており、日本だけでなく、様々な国から高い関心を受けていたことが分かります。また今回の報告者のうち、10名の方が5件以上の報告をしてくださり、中には1人で16件もの報告をしてくださった方もいました。

【図2】国別のアクセス比率

審査および結果

審査過程

ご報告いただいた内容に対しては、1次審査と2次審査の2段階に分けて審査が行われました。

まず1次審査では、報告の内容がセキュリティの脆弱性に関するものか、十分な説明があるか、日本語または英語で作成されているかなどを審査しました。例えば、「LINEアプリをアップデートしたら起動しなくなった」などの内容は、脆弱性に関するものではありません。また、証拠の画面のみご報告いただいた件は、十分な説明がないことから1次審査の対象外となりました。

続いて2次審査では、1次審査を通った内容が脆弱性に値するかどうかを審査しました。利用規約上のサービス・ドメインを対象にしているか、エクスプロイトコード(exploit code)が実際に再現されるかなどの事実確認を行い、脆弱性と判断できるかをチェックするのが審査の主な内容です。

審査は、5人の審査委員によって行われました。審査委員は各部門のセキュリティエンジニアで構成されており、他社のBug Bountyに参加した経験のある人も含まれています。2次審査委員は、報告の内容を確認し、今回のBug Bountyの認定条件を満たしているかを踏み込んで検討しました。

2次審査を通過したものは脆弱性として認定され、報奨金が支払われました。そして、Hall of fame(名誉の殿堂)において報告者のお名前や脆弱性の種類などを公表しました。

審査結果

今回のプログラムでは、XSS、CSRFなど計14件が脆弱性として認められました。また、ご報告いただいた内容が本プログラムの利用規約上の対象範囲外ではあったものの、LINEのための有益な情報を報告していただいた10名の方を「Special Contributors」として選定し、報奨金をお支払いしました。

審査結果の詳細については、Webサイト(Hall of fame)をご覧ください。

参加者インタビュー

最後に、Bug Bounty Programの参加者の方にその感想をお聞きしましたので、ご紹介させていただこうと思います。

Q: ご参加のきっかけは何ですか。
A: 普段から、モバイル環境でいろいろなアプリの脆弱性を見つけることが趣味でしたが、ちょうどLINEがBug Bounty Programを実施すると聞き、参加しようと思いました。メッセンジャーアプリのBug Bounty Programは珍しいので、いい機会だと感じました。

Q: 脆弱性を発見できた経緯を簡単に教えてください。また、アプリを分析していて大変だったことは何ですか。
A: とにかくソースコードがない状態でアプリを分析しないといけなかったので、いろいろと分析方法を工夫する必要がありました。LINEは特に、他社のアプリよりデバッグが難しかったですね。

Q: Bug Bounty Programに参加して感じたことはありますか。
A: メッセンジャーアプリなので、これまであまり知られていなかった攻撃経路(attack vector)とバグを見つけ、エクスプロイト(exploit)まで作成するのが楽しかったです。自分で作った攻撃コードが実際に動作するのを見て、やりがいを感じました。他社の場合は、脆弱性を見つけて報告すると、感謝の言葉ではなくネガティブな反応が返ってきて、パッチに長い時間がかかることがありました。それに対しLINEは、Bug Bounty Programを運営すること自体、セキュリティ強化への関心と意欲を表しているのだと思います。また、脆弱性として認定されるために必要なことについて、スタッフの方が親切に教えてくれたこともよかったです。

Q: Bug Bounty Programに参加して残念だったことはありますか。
A: 特に残念だったことはありません。今回はプログラムの対象がメッセンジャーアプリに限られていたので、今後は対象範囲をWebにも拡大してほしいです。

今後のBug Bountyについて

約1ヶ月間の短い期間でしたが、多くの皆様のご関心・ご参加に支えられ、今回のBug Bounty Programを無事に終了することができました。また、本プログラムはLINEとして初の試みでしたが、様々な脆弱性を発見することができた事の効果を、大変に実感しております。今回ご協力をいただいた全ての皆様へ、関係者一同こころより御礼を申し上げます。尚、今回認定された脆弱性は、最新バージョンのLINEにて修正が完了しています。最新バージョンにアップデートしていただくことで、より安全にLINEをご利用いただくことができます。

また、今回の運営にあたり、受付期間の短さ、報告に対する審査結果、等に対する不満を持たれた方もいらっしゃるかと思います。受付期間につきましては、初の試みであったため、様々な試行錯誤を想定して、1ヶ月という期間を設定させていただきました。また、審査につきましては、利用規約に準じて適正かつ慎重に実施しており、例えば、LINEがすでに把握しているものや、先行して報告のあった脆弱性につきましては、新規の脆弱性として認定しておりませんので、ご理解のほど、よろしくお願い申し上げます。

本プログラムはすでに終了しておりますが、追加でLINEにおけるセキュリティの脆弱性を発見した方は、dl_bugbounty@linecorp.comまでご報告お願いいたします。詳細については、LINE Bug Bounty ProgramのWebサイトをご参照ください。

Related Post