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.

とある脆弱性の永い議論

3,621 views

Published on

Cybozu Tech Conference 2016
https://cybozutech2016.qloba.com/

2016年12月13日(火)に、Cybozu の技術発表イベントの発表資料です。

サイボウズ脆弱性報奨金制度
https://cybozu.co.jp/products/bug-bounty/

脆弱性認定ガイドライン
https://github.com/cybozu/bugbounty

Published in: Technology
  • Be the first to comment

とある脆弱性の永い議論

  1. 1. Cybozu PSIRT Ikue Yamanishi Copyright (C) Cybozu,Inc. 1 とある脆弱性 の永い議論
  2. 2. Copyright (C) Cybozu,Inc. 自己紹介 ▌Ikue Yamanishi(@MtIkutea) ▌品質保証部 セキュリティチーム 所属 ▌やっていること 社内のセキュリティテスト・調整、脆弱性の評価(CVSS)、検証環境提供プログラム の運営、脆弱性の届け出対応等 ▌好きなもの 愛犬(キノ 4歳)、バンド、旅行 2
  3. 3. セキュリティチームの活動 • チームの紹介 • チームの取り組み • 脆弱性報奨金制度について 3
  4. 4. Copyright (C) Cybozu,Inc. 品質保証 セキュリティチームの紹介 ▌PSIRT Product Security Incident Response Team ▌メンバー 東京(7人) 上海(3人) 東京のメンバーはほとんど女性です。 来年には全員女性のチームに。 4
  5. 5. Copyright (C) Cybozu,Inc. 品質保証 セキュリティチームの取り組み 検出 受付 公開 その他 セキュリティテスト ソフトウェア 属性情報管理 脆弱性情報 の受付 脆弱性の評価 情報の公開 公的機関への 届け出 報奨金制度 の運営 検証環境提供プ ログラムの運営 5
  6. 6. Copyright (C) Cybozu,Inc. 脆弱性情報の受付 ▌脆弱性情報の受付にはサイボウズ内で検出した脆弱性だけではなく、 外部のバグハンターから受けた報告も含みます。 サイボウズ内で検出できる脅威 外部のバグハンターが検出できる脅威 セキュリティ専門家でも検出できない脅威 開発 運用 QA外部のバグハンター (善意による報告) 社内で検出されない 未知の脅威 6
  7. 7. Copyright (C) Cybozu,Inc. 脆弱性報奨金制度 ▌外部のバグハンターの力を借りて、脆弱性をより早く発見し、改修するこ とを目的として、2014年から開始。 ▌制度の推移 170件 118件 95件 729万円 446万円 304万円 0件 200件 400件 600件 800件 2014年 2015年 2016年 認定数 報奨金額 7 XSS や SQLi などの 典型的な脆弱性の 報告が主 Black Hat や AppSec などで報告された事例の 横展開が主
  8. 8. Copyright (C) Cybozu,Inc. 関連 ベンダー 技術 スタッフ トリアージ 運用 受付 非技術 スタッフ 認定・評価確定までの仕組み 開発 バグハンター 技術会議(TLM) 全開発責任者が参加 8 時間がかかる場所
  9. 9. 燃焼した事例の紹介 • CSRFの対策範囲 • PDF FormCalc Attack の報告 • Reflected Filename Download(RFD) の報告 9
  10. 10. Copyright (C) Cybozu,Inc. CSRF対策の報告 燃焼度 ★★★☆☆ ▌CSRF対策されていない箇所の指摘が同一の方より40件以上着信 CSRFトークンが付与されていない事によって、被害者が罠リンクをクリックして意図せ ずに処理を実行させられてしまう脆弱性 掲示板サイトへの投稿、メール等 広告のようにクリックを誘導するURL (被害者が利用するサイトの設定変更を行うURL) 被害者が利用するサイト 非公開設定になっている記事が いつの間にか公開設定に…トークンがあれば防げる!! 10
  11. 11. Copyright (C) Cybozu,Inc. CSRFの対策範囲についての対応 ▌CSRF 対策範囲を決めて認定 • ユーザーのログイン処理 • サーバー内のデータ及びユーザーの認証を変更する処理 ▌認定しない箇所もありました • ログアウト処理 • GETで副作用的にデータの変更がある処理 • UI の状態を保持するためのデータを変更する処理 トリアージ 11
  12. 12. Copyright (C) Cybozu,Inc. CSRF 対策範囲をバグハンターに連絡 ▌サイボウズの対策範囲を連絡 一部が脆弱性として認定できないことを納得頂いた! 12 クローズで良いです。 バグハンター
  13. 13. Copyright (C) Cybozu,Inc. CSRFの対策範囲を連絡したことで問題発生 ▌別のバグハンターから問い合わせ着信 バグハンター 私もCSRFの判断基準が欲しいです。 一部の人にだけ情報を出し ては不平等になる… トリアージ 13
  14. 14. Copyright (C) Cybozu,Inc. この問題に対してサイボウズが取った解決策 ▌脆弱性認定ガイドライン サイボウズで認定する脆弱性の判断基準について、ガイドラインを公開 ▽URL https://github.com/cybozu/bugbounty/tree/master/scope ▌脆弱性認定ガイドラインの公開まで どこに公開するか、誰が公開するか、どんなふうに公開するか等の調整 → 最初のガイドライン公開までに 3ヶ月かかる 14
  15. 15. Copyright (C) Cybozu,Inc. 報告者への情報提供を公平に ▌脆弱性認定ガイドラインを策定することで、制度改善に繋がった 15
  16. 16. Copyright (C) Cybozu,Inc. PDF Formcalc Attack の報告 燃焼度 ★★★★☆ ▌PDF Formcalc Attack とは PDFファイルがアップロードされているオリジンで任意のリクエストを発行できる攻撃 被害者が利用するサイト クリックを誘導するようなURL 攻撃用のPDFが埋め込まれたサイト PDF 内に書かれた スクリプト によって、 任意のリクエストが発行される! 任意のリクエスト 参考文献: https://dl.dropboxusercontent.com/u/13018058/poc/appsec.pdf PDF - Mess with the web @ Alexander Inführ 16
  17. 17. Copyright (C) Cybozu,Inc. Adobe 社 への問い合わせ クロスオリジンでリクエストを送信できる問題(CVE-2014-8453)は修正済 http://jvndb.jvn.jp/ja/contents/2014/JVNDB-2014-005928.html 関連 ベンダー 同一オリジン内でリクエストを送信できる点 については脆弱性としていません From our perspective, website owners must realize that PDF is active content, and serving user-uploaded/malicious PDFs from a non-throwaway domain is effectively an XSS (just like hosting an arbitrary/malicious HTML). © Adobe 社 17
  18. 18. Copyright (C) Cybozu,Inc. TLM で脆弱性とするか議論 ▌脆弱性として認定しないことに決定 • ファイルを自由にアップロードできる Webアプリケーション全般に発生する PDF ファイルを表示する Adobe Reader の問題 • ログインできない外部のユーザーからは攻撃可能なPDFファイルをダウンロードする URLは推測困難 技術会議(TLM) 全開発責任者が参加 ただ情報としては不穏なので、社内での対策 したほうが良さそう 18
  19. 19. Copyright (C) Cybozu,Inc. 認定しなかった旨を連絡 ▌が、あえなく打ち返される… というわけで、弊社の脆弱性としては 扱わないことになりました。 受付 非技術 スタッフ 同一オリジンへの攻撃は、Adobe の 仕様なので、サイト側で修正が必要で す。 バグハンター 19
  20. 20. Copyright (C) Cybozu,Inc. TLM で脆弱性とするか再議論 ▌認定するか? • バグハンターの意見も一理ある • 異なるオリジンにファイルを格納することで緩和策になる ▌認定することに決定! 20 技術会議(TLM) 全開発責任者が参加 認めてしまって長期的な課題として 対処しましょう
  21. 21. Copyright (C) Cybozu,Inc. 評価を確定し報告者へ連絡 ▌トリアージ担当で評価を確定 脆弱性の挙動としては、スクリプトが実行できるXSS と同等のため、 XSS の指標にそって評価 ▌受付担当からも連絡 21 脆弱性の評価はこちらになりました。 -> CVSSv3 基本値:5.4 (AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N) 受付 非技術 スタッフ
  22. 22. Copyright (C) Cybozu,Inc. 多方面から評価について反対意見が… ▌バグハンターより • CIA はすべて 高 ではないか ▌相談した有識者 • XSSとは攻撃方法が異なるから別にしたほうがいい 22
  23. 23. Copyright (C) Cybozu,Inc. 評価結果についてTLMで議論 ▌評価を再考し影響度の高い脆弱性となり、認定について再議論 ▌脆弱性として認定しない結論に… • 仕様変更に伴うユーザーへの説明コストが高い • 再現する環境の条件が限定的(他社製品の利用が前提となる) 23 技術会議(TLM) 全開発責任者が参加 Adobe Reader Plugin は 無効化することを推奨しよう!
  24. 24. Copyright (C) Cybozu,Inc. JPCERT/CC へ注意喚起掲載の相談 ▌注意喚起の掲載 細工された PDF による情報詐取について(JVNTA#94087669) http://jvn.jp/ta/JVNTA94087669/ 24 JPCERT/CC
  25. 25. Copyright (C) Cybozu,Inc. 認定しないからと言って脅威にならないとは限らない ▌脆弱性として認定しない場合でも、利用するユーザーにとって脅威になる 攻撃はあり、サイボウズ内だけではなく JPCERT/CC のような公的機関 と連携している企業との連携も大事 25
  26. 26. Copyright (C) Cybozu,Inc. RFD の報告 燃焼度 ★★★★★ ▌Reflected File Download(RFD) とは 攻撃者の入力値を含む Web ページからのレスポンスを指定したファイ ル名でダウンロードさせ、ユーザがそれをクリックすることでダウン ロードしたファイルを実行させる攻撃 引用:http://www.tiger1997.jp/report/activity/securityreport_20141114.html © Reflected File Downloadの問題(タイガーチームセキュリティレポート) ▌RFDの条件 1. Reflected -ユーザーの入力した値がレスポンスに反映される 2. File – URL に任意の文字列を追加でき、尚且つ正常にロードされ る 3. Download -ダウンロードが可能であり、上記 2 つの要素がダウン ロードしたファイルに反映される 引用:https://shhnjk.blogspot.jp/2015_12_01_archive.html © RFD 2015(Hack Patch!) 26
  27. 27. Copyright (C) Cybozu,Inc. トリアージメンバーでの評価 ▌RFD については、特に大きな疑問なく認定 • CIAの侵害については議論 ▌プロダクトに脆弱性を報告 トリアージ 27
  28. 28. Copyright (C) Cybozu,Inc. TLM での議論開始 ▌TLM で認定するべきかどうか質問される 開発 サイボウズ製品では実行ファイル の添付が可能。RFD によって 脅威は広がっていないのでは? トリアージ 他の脆弱性と組み合わせることにより、 リスクが増加する可能性がある。 28
  29. 29. Copyright (C) Cybozu,Inc. 与える影響を限定することで合意 ▌機密性(C)の侵害 • なし ▌完全性(I)の侵害 • 予期しないコンテンツが挿入されたファイルの生成 • 本来ダウンロードするファイルのファイル名を詐称 ▌可用性(A)の侵害 • 意図せず大容量のファイルをダウンロードさせられる可能性 29
  30. 30. Copyright (C) Cybozu,Inc. TLM で再議論 ▌トリアージメンバーからの説明 • 製品の特性として、脆弱性を利用しなくても実行可能な形式でアップする ことが可能 • ファイルのアップを自由に行えない企業では、テキストファイルに見せかけて ファイルをアップロードし、罠用のURLを渡すことで攻撃可能 ▌結論 そもそも Reflected はクエリパラメーター等で直接ファイルの中身を操作できな ければいけないのではないか? 例)https://www.google.com/s;/ChromeSetup.bat;/ChromeSetup.bat?q="||calc|| 30
  31. 31. Copyright (C) Cybozu,Inc. 評価の変更を再連絡 ▌が、あえなく打ち返される… 幾つかは脆弱性として 扱わないことになりました。 受付 非技術 スタッフ Reflected はクエリパラメータに限定 されるものではないですよ。バグハンター 31
  32. 32. Copyright (C) Cybozu,Inc. TLM で再々議論 ▌結論としては、脆弱性と認定して改修することに決定 • “ユーザーの入力した値”については限定しない → 外部からの入力値を箇所ごとに調べるにはコストが大きい • ファイル名が任意に変更されること自体は望ましい挙動ではない • 可用性(A)の侵害については評価しない 32
  33. 33. Copyright (C) Cybozu,Inc. 評価の変更を再々連絡 ▌ようやく決着 RFD の脆弱性を認めます。 影響についても変更になりました。 -> CVSSv2 基本値:4.0 (AV:N/AC:L/AU:S/C:N/I:P/A:N) 受付 非技術 スタッフ わかりました。クローズで良いです。バグハンター 33
  34. 34. Copyright (C) Cybozu,Inc. ファイル仕様の検討 ▌RFD に関する問い合わせから製品のファイルの取扱に関する共通仕様 の取り決めにつながった 34
  35. 35. Copyright (C) Cybozu,Inc. 完全燃焼できるお問い合わせお待ちしてます! ▌脆弱性報奨金制度 https://cybozu.co.jp/products/bug-bounty/ • 報告の際は再現手順と参考資料をご連絡ください 35

×