Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

LINE Security Bug Bounty Program について

3,679 views

Published on

LINE Security Bug Bounty Program について/久保田 量大 (LINE セキュリティ室 Security Engineer)
Meetup in Tokyo #34 - Security Bug Bounty -
https://line.connpass.com/event/84156/

Published in: Technology
  • Be the first to comment

LINE Security Bug Bounty Program について

  1. 1. LINE Security Bug Bounty Program について
  2. 2. Kazuhiro Kubota Security Engineer LINE Security Department @k2wanko
  3. 3. Kazuhiro Kubota セキュリティ検査 Bug Bounty対応 @k2wanko
  4. 4. •Bug Bounty •LINE Security Bug Bounty Program •認定された脆弱性の紹介 •LINEのBug Bountyで報告するためのTips •LINEの脆弱性を見つけるTips •最近の社内の取り組み Agenda
  5. 5. Bug Bounty
  6. 6. 2つの視点 報告者 運営者
  7. 7. 報告者からみたBug Bounty
  8. 8. 運営者からみたBug Bounty ● 社内だけではまかないきれない セキュリティリソースを得られる ● 社内だけでは気づかなかった視点を得られる 社内のセキュリティ文化が育成される
  9. 9. コミュニティへの貢献76,500 USDの支払い 対象拡大常時運営化START 2015 2016 2017 2018
  10. 10. 2017 Report ● 45件の脆弱性認定 ● 76,500 USDの支払い より詳しい内容に興味のある人はブログへ https://engineering.linecorp.com/ja/blog/detail/255
  11. 11. なぜ、Bug Bountyをはじめたのか? ● 元々内製のセキュリティエンジニアがいた(3人くらい) ● サービスが成長するにあたって人手が足らなくなった ● セキュリティベンダーへの依頼を増やす方法など検討したが 当時、海外では一般的だったBug Bountyも検討した結果 Bug Bountyの方がコスト的にも品質的にもよいと判断した
  12. 12. Report 開発者へ 有効 無効 対象外 修正 1-2 営業日 審査会 報奨確定 支払い ~ 2 ヶ月くらい Flow
  13. 13. 参考金額 SQL Injection SQLインジェクションにより、個人情報閲覧が可能 USD 3,000 Cross-Site Scripting (XSS) XSSにより、sessionhijackやスクリプト実行が可能 USD 500~ Cross-Site Request Forgery (CSRF) CSRFにより、ユーザが意図しない処理をさせることが可能 USD 500 Remote Code Execution クライアントあるいはサーバ側で任意コードを実行させることが可能 USD 10,000 authentication bypass 認証をバイパスし、成りすましが可能 USD 5,000 purchase bypass 課金をバイパスし、アイテムを購入可能 USD 5,000 encryption break 暗号化された通信の解読により他人の認証情報が取得可能 USD 10,000
  14. 14. 参考金額 Improper Certificate Validation 証明書の検証不備により、 SSL通信が盗聴可能 USD 10,000 Server-Side Request Forgery (SSRF) WEBサーバーを中継して、本来外部からは到達できない別のサーバーやネッ トワークに攻撃が可能 USD 2,500 Client-Side Enforcement of Server-Side Security クライアントサイドのみ妥当性チェックを行っているため、回避可能 USD 500 Improper Access Control アクセス制限の不備により、本来非公開ページが閲覧可能 USD 500~ Password in Configuration File 設定ファイルにパスワードなど重要な情報が閲覧可能 USD 500 Insecure Direct Object Reference (IDOR) セキュア実装不備により、オブジェクトの直接参照が可能 USD 5,000 Information Exposure Through Debug Information デバッグ情報の漏洩により、重要な情報が閲覧可能 USD 500
  15. 15. 参考金額 Privilege Escalation 一般ユーザーが、管理者などのより上位の権限を持つことが可能 USD 3,000 Cleartext Transmission of Sensitive Information 重要な情報を平文で送信して盗聴可能 USD 500~ Path Traversal Webアプリケーションのパラメータに特定の文字列を与えることで、非公開のディレ クトリやファイルにアクセス可能 USD 500~ Other その他 USD 500
  16. 16. Hall of Fame
  17. 17. Tシャツ
  18. 18. Tシャツ
  19. 19. 認定された脆弱性の紹介
  20. 20. DOM XSS By Regex Filter Misuse
  21. 21. DOM XSS By Regex Filter Misuse この正規表現はプレースホルダを置き換える https://example.com/?type=a1 <div id=”{{type}}”> <div id=”a1”> =>
  22. 22. DOM XSS By Regex Filter Misuse 1. 問題 | が含まれていると….
  23. 23. DOM XSS By Regex Filter Misuse 攻撃コード ?type=a1&id=0&|(.)h|=$1a$1onerror%3Dalert(1)//
  24. 24. DOM XSS By Regex Filter Misuse Regex Match: /{{|(.)h|}}/gm <img src="https://…"> <img src="a"onerror=alert(1)//ttps://…"> =>
  25. 25. Reward 500 USD
  26. 26. より詳しい内容は報告者のブログで http://masatokinugawa.l0.cm/2018/01/regex-domxss.html
  27. 27. Open Redirect Leading To Account Takeover LINE Login用のOAuthのRedirectにあった問題。 redirect_uri=evil.com%5C@example.com Location: evil.com@example.com
  28. 28. Open Redirect Leading To Account Takeover ブラウザとサーバーでHostの認識が違った。 evil.com@example.com evil.com@example.com Browser: Server:
  29. 29. Reward 6,000 USD
  30. 30. Remote Code Execution (libamp) • LINE app libamp module (SIP) Server Attacker Script Victim LINE APP Call victim using special crafted packet Special crafted packet Buffer Overflow
  31. 31. Remote Code Execution (libamp) ● Contained Multiple Buffer Overflows ● Exploitable for Remote Code Execution ● Patched in LINE 5.5.0
  32. 32. Reward 20,000 USD
  33. 33. LINEのBug Bountyで 報告するためのTips
  34. 34. 有益な報告 ● タイトルでどこのどういう脆弱性かわかる ● 再現手順が箇条書きでわかりやすい ● PoCやPayloadがある ● 脆弱性を利用した場合におけるRiskが書いてある ● 修正案が書いてある
  35. 35. なぜ、報告にコツがいるのか? ● 報告者 ○ 早く、審査してほしい ● 運営者 (早く報告に応えたい、けど作業が色々ある) - 報告内容の理解 - PoC作成 - 影響範囲の調査やRisk検討 - 開発者へ連絡 - 修正確認 - 事務手続き、などなど
  36. 36. コツをふまえた効果 ● 報告者 ○ 早く、審査してほしい ● 運営者 (早く報告に応えたい、けど作業が色々ある) - 報告内容の理解 - PoC作成 - 影響範囲の調査やRisk検討 - 開発者へ連絡 - 修正確認 - 事務手続き、などなど
  37. 37. LINEの脆弱性を 見つけるTips
  38. 38. LINEについて
  39. 39. LINE FRIENDS LINE バイト LINE ショッピング JUNGLE PANG 実はチャット以外にも色んなサービスが
  40. 40. しかもその中はWebの技術が使われている LINE FRIENDS LINE バイト LINE ショッピング JUNGLE PANG
  41. 41. つまりWebの脆弱性を探す知識で アプリのバグが探せる!!
  42. 42. LINE App Web View Native API Client LINE Server メッセージとか 通話とか CWA Server CWA Server LINE FamilyHTTP Thrift
  43. 43. LINE App Web View local proxy inspector or watch Native API Client Pass through LINE Server メッセージとか 通話とか CWA Server CWA Server LINE Family
  44. 44. LINE Scheme ● line:// みたいなやつ ● LINEの様々な機能を呼び出すことができる ● 中にはパラメータを受け取るものもあり、 そこに脆弱性があることも? 詳細は以下 LINE URLスキームを使うを見てください https://developers.line.me/ja/docs/messaging-api/usi ng-line-url-scheme/
  45. 45. 最近の社内の取り組み
  46. 46. 報告があるとSlackで通知
  47. 47. 審査会の議事録もSlackで共有
  48. 48. 社内Bug Bounty
  49. 49. キャンペーン ● 報告時に「SECCON2017」のキーワードと一緒に報告してくれた中から (報告フォームにキーワード用の欄を追加します。) ● もっとも報奨金が高い報告にプレゼント ● 同率1位だった場合はどちらがより優れた報告かを審査員で判断しま す。 ● 期限は2018/5/31 23:59 (JST) まで
  50. 50. ※画像はイメージ 刻印入りの10.5インチiPad Pro 64GB Wi-Fi + Cellularモデル キャンペーン賞品
  51. 51. THANK YOU @k2wanko
  52. 52. Question✋

×