こんにちは、LINEのセキュリティ室でセキュリティエンジニアをしているコキチーズです。
この記事ではLINEが運営している、LINE Security Bug Bountyの2018年(1月1日~12月31日)の結果についてご紹介します。
2018年 Bug Bounty Report
2018年下期のBug Bountyを通しての報告は次のような結果でした。
報告件数
X軸の数値は第何週かを表しています。
認定された報告の合計は88件でした、2017年は45件だったので倍近く増えました。
2017年は途中で審査対象の拡大をしたということもありましたが、プログラムの認知が広まり、複数の報告をしてくれるユーザーもいます。営業日換算で言えば、毎日1件以上の報告が来ていて、毎週1件以上の認定がされています。
脆弱性の種類別には次のようになっています。
Hall of Fameとして認定された中で1番多いのはOtherで15件で、次いで多いのがXSSでした。
Otherはユーザーが自力で回復不能なクライアント上のDoSや複合的な問題などカテゴライズにはないけどインパクトの大きい問題に対して認定しています。
XSSはLINEアプリ内のCordovaのWebViewでサービス提供されているアプリケーションの脆弱性で認定されています。
LINEアプリ内でユーザー情報を取得できるものに対してはHall of Fame認定を行っています。
また、RCEは2018年も1件あり、古いサービスでのTemplate Injectionが原因でシステムコールまで可能な脆弱性に10,000USDの認定を行いました。
なお、Special Contributors認定の脆弱性はこの中に含まれていません。
参加者数と報奨金額
認定された報告をしてくれた人は33人でした。
報奨金額の合計は104,500USD で、だいたい1100万円以上の報奨金の支払いを行いました。
2017年が76,500USDで700万円ほどだったのですが、ついに1000万円を越えました。
現在までの統計
2016年
|
2017年
|
2018年
|
|
---|---|---|---|
実施期間 | 6/2~12/31 | 通年 | 通年 |
受付件数(件) | 97 | 212 | 302 |
報奨金対象の脆弱性件数(件) | 13 | 45 | 88 |
Hall of Fame 認定者数(人) | 3 | 11 | 16 |
Special Contributors 認定者数(人) | 8 | 21 | 19 |
報奨金(USD) | 27,000 | 76,500 | 104,500 |
※ Hall of FameとSpecial Contributors認定を両方受けている方がいるため、実際の人数より多くなっています。
Bug Bountyへの参加する人が年々増えてきて、見つかる脆弱性も増えてきています。
報奨金の参考金額テーブルの更新
今までの参考金額は脆弱性の種類を基準にしていましたが、同じ脆弱性でも影響の度合いやアプリケーションの重要度によって参考価格より高い金額が支払われていたので、実態に即した形に参考金額テーブルをアップデートし、よりスッキリとわかりやすくまとめました。
何ができるのかという点を基準にカテゴライズされ、脆弱性の脅威と影響範囲、アプリケーションの重要度を基に金額の審査が行われます。
カテゴリー
|
例
|
重要なアプリケーションの参考金
|
それ以外のアプリケーションの参考金額
|
---|---|---|---|
Remote Code Execution | クライアントサイド、サーバーサイドで任意のシステムコールを実行できる脆弱性 | $30,000 | $10,000 - $30,000 |
Full access to file system or database | SSRF,SQL Injectionなどの任意のファイル、データベースの全てのデータへの書き取り読み取りが可能な脆弱性 | $10,000 - $30,000 | $3,000 - $10,000 |
Account takeover | Authentication Bypassなどのユーザーの認証情報を盗める脆弱性 | $5,000 - $10,000 | $5,000 - $10,000 |
Logic flaw bugs, information leaks, or bypassing significant security controls | IDOR, impersonation, sensitive actions by user,Purchase Bypass などの検証不備、ユーザー操作なしにユーザーの重要情報を操作できる脆弱性 | $5,000 - $15,000 | $1,000 - 5,000 |
Execute code on the client | Cross-site scriptingなどのブラウザなどのユーザー端末でアプリケーションの振る舞いを操作できる脆弱性 | $1,500 - $5,000 | $500 - $1,500 |
Other valid security vulnerabilities | CSRF, Clickjacking, information leakageやそれ以外にもここで分類できない脆弱性 | $500 - $10,000 | $500 - $10,000 |
このテーブルのカテゴライズ自体はよくあるものですが、少し違う点があります。
他のBug BountyではRemote Code Executionはサーバーサイドのみの認定ですが、私達はメッセンジャーアプリを作っているのでiOSやAndroidでLINEアプリを乗っ取れるような脆弱性はRemote Code Executionとして認定し高い報奨金を設定しています。
もしユーザーの操作に関わらず、攻撃者の操作のみで他人のLINEが乗っ取れてしまうような脆弱性があればBug Bountyのフォームからお知らせください!
LINEアプリ内でのCross-site scripting(XSS)に関してはExecute code on the clientの重要なアプリケーションとして評価されます。
あくまでも参考金額であり、必ずこの金額になるというわけではないので注意してください。
参考金額より低くなる例として、特定の機種の特定のバージョンでしか再現できない場合などが当てはまります。
一部カテゴライズが一緒になったことで値上がりする脆弱性などもありますが、基本的にはテーブルの見た目が変わっただけなので、既存の報告も新規の報告も同じ基準で審査され脆弱性のリワードが決まるのでご安心ください。
Swagの追加
LINEのBug Bountyでは特別多くの報告をしてくれている人や惜しくも報奨金の対象にはならなかったけれども有益な報告をしてくれた人にTシャツをプレゼントしています。
嬉しいことに、私達のサービスを愛し、繰り返し脆弱性を報告してくれている人の中には全てのTシャツをコンプリートした人もいます。
さらにTシャツの種類を追加することも考えましたが、報告者の衣装ケースが溢れてしまうかもしれないと心配し、よりコンパクトで普段から持ち運びしやすいアイテムを追加することにしました。
それがYubiKey 5です。
FIDO2に対応していて、NFCも対応しています。2019年2月時点では、Tシャツを全てゲットした人が再度「報奨金認定の基準に達してないけど、いい報告なのでお礼をしたい」という場合に配布を予定しています。
まとめ
昨年も非常に多くの方にBug Bountyに参加していただき、本当にありがとうございました。
今年も報告者の方とよりよい関係を築きLINEのユーザーが安全にサービスを使えるように務めていきます。
そして、LINEでは一緒にLINEの様々なサービスの脆弱性を探したりBug Bountyの運営をしたい人を募集しています!セキュリティエンジニア(脆弱性診断)【全事業対象】