セキュリティ品質向上に向けたサイボウズの取り組み

52
セキュリティ品質向上に向けた サイボウズの取り組み 伊藤 彰嗣 Copyright (C) Cybozu,Inc. 1

Transcript of セキュリティ品質向上に向けたサイボウズの取り組み

Page 1: セキュリティ品質向上に向けたサイボウズの取り組み

セキュリティ品質向上に向けたサイボウズの取り組み

伊藤 彰嗣

Copyright (C) Cybozu,Inc. 1

Page 2: セキュリティ品質向上に向けたサイボウズの取り組み

自己紹介

•伊藤彰嗣(@springmoon6)

•グローバル開発本部品質保証部 セキュリティチーム• サイボウズの CSIRT(Cy-SIRT)で窓口(PoC)を担当(兼務)

•経歴• 2006年 新卒入社

• 2009年 サイボウズ Garoon 品質保証責任者

• 2011年 cybozu.com 品質保証責任者

• 2011年 Cy-SIRT 立ち上げ

• 2014年 脆弱性報奨金制度運営

• 2016年 セキュリティキャンプ講師

Copyright (C) Cybozu,Inc. 2

Page 3: セキュリティ品質向上に向けたサイボウズの取り組み

Cy-SIRT

•サイボウズの CSIRT• Computer Security Incident Response Team

Copyright (C) Cybozu,Inc. 3

https://www.cybozu.com/jp/features/mana

gement/cysirt.html

https://www.cybozu.com/jp/features/mana

gement/cysirt.html

Page 4: セキュリティ品質向上に向けたサイボウズの取り組み

2つの役割

• Cybozu,Inc. Product Security Incident Response Team

• 製品に関する脆弱性情報を取り扱うチーム

Cy-PSIRT

• Cybozu,Inc. Computer Security Incident Response Team

• インシデント対応を行うチーム

Cy-SIRT

Copyright (C) Cybozu,Inc. 4

Page 5: セキュリティ品質向上に向けたサイボウズの取り組み

PSIRT としての活動

Copyright (C) Cybozu,Inc. 5

脆弱性情報管理

報奨金制度運営

脆弱性検査

外部機関との連携

セキュリティチームと連携しサービスを提供

Page 6: セキュリティ品質向上に向けたサイボウズの取り組み

脆弱性情報ハンドリングポリシー

Copyright (C) Cybozu,Inc. 6

http://cybozu.co.jp/company/internal_control/security/vulnerability.html

Page 7: セキュリティ品質向上に向けたサイボウズの取り組み

Copyright (C) Cybozu,Inc. 7

外部からの脆弱性報告

社内からの脆弱性報告

脆弱性情報の受付

脆弱性情報の検証

脆弱性認定?

改修

回避策の配布

脆弱性情報の公開

報告者に連絡

脆弱性情報公開フロー 脆弱性対応フロー

ISO/IEC 29147 より引用

No

Yes

Page 8: セキュリティ品質向上に向けたサイボウズの取り組み

今日お話しすること

Copyright (C) Cybozu,Inc. 8

脆弱性報奨金制度を開始することを検討されている組織の皆様に、制度を安定して運用するための ポイントをお伝えします。

脆弱性情報の受付事例 報奨金制度における諸課題

Page 9: セキュリティ品質向上に向けたサイボウズの取り組み

脆弱性報奨金制度

Copyright (C) Cybozu,Inc. 9

Page 10: セキュリティ品質向上に向けたサイボウズの取り組み

サービスをセキュアにする活動

Copyright (C) Cybozu,Inc. 10

セキュア

開発訓練

コーディン

グ規約

フレームワー

クの利用

開発脆弱性の

即応体制

オペレー

ター教育

運用脆弱性検査

脆弱性情報

管理

外部機関と

の連携

QA

Page 11: セキュリティ品質向上に向けたサイボウズの取り組み

脆弱性報奨金制度

Copyright (C) Cybozu,Inc.

サイボウズでは発見できない未知の脅威への対策

11

Page 12: セキュリティ品質向上に向けたサイボウズの取り組み

制度の推移

170件

118件

95 件729万円

446万円

304万円

0

100

200

300

400

500

600

700

800

0

20

40

60

80

100

120

140

160

180

2014 年 2015 年 2016 年

認定件数 報奨金額

Copyright (C) Cybozu,Inc. 12

Page 13: セキュリティ品質向上に向けたサイボウズの取り組み

大まかな流れ

Copyright (C) Cybozu,Inc. 13

報告者 Cy-SIRT

調整機関

開発本部

運用本部サイボウズ

情報公開

Page 14: セキュリティ品質向上に向けたサイボウズの取り組み

脆弱性報奨金制度による変化

Copyright (C) Cybozu,Inc. 14

脆弱性改修脆弱性情報

公開

Before

After

脆弱性改修脆弱性情報

公開

脆弱性情報受付

報奨金お支払い

Page 15: セキュリティ品質向上に向けたサイボウズの取り組み

脆弱性情報の受付事例

Copyright (C) Cybozu,Inc. 15

Page 16: セキュリティ品質向上に向けたサイボウズの取り組み

PDF Formcalc Attack

Copyright (C) Cybozu,Inc. 16

https://dl.dropboxusercontent.com/u/13018058/poc/appsec.pdf

セッション

被害サイト 攻撃者被害者

APPSEC EU 2015 で公開された攻撃手法

Page 17: セキュリティ品質向上に向けたサイボウズの取り組み

FormCalc

Copyright (C) Cybozu,Inc. 17

http://help.adobe.com/ja_JP/livecycle/9.0/FormCalc.pdf

演算関数 文字列関数

日付と時間関数 URL 関数

会計関数 その他の関数

論理関数

Adobe 社が開発した演算言語

Page 18: セキュリティ品質向上に向けたサイボウズの取り組み

DEMO

Copyright (C) Cybozu,Inc. 18

Page 19: セキュリティ品質向上に向けたサイボウズの取り組み

問題点

Copyright (C) Cybozu,Inc. 19

ファイルがアップロードされているOrigin で任意のリクエストを発行することができる

http://insert-script.blogspot.jp/2015/05/pdf-mess-with-web.html

Page 20: セキュリティ品質向上に向けたサイボウズの取り組み

タイムライン

Feb Mar Aug Sep Oct Nov

Copyright (C) Cybozu,Inc. 20

第一報受信

評価開始

Adobe 社と相談

脆弱性認定せず

議論の結果認定

評価について有識者と議論

制限事項に決定

情報公開

受領から対応完了までに 9 カ月

Page 21: セキュリティ品質向上に向けたサイボウズの取り組み

Adobe 社の見解

Copyright (C) Cybozu,Inc. 21

In the absence of content-injection attacks (or arbitrary file upload attacks) in a domain, we feel the path for an attacker to abuse CVE-2014-8453 has been closed. Earlier, the attacker could use redirects (in a domain he controlled) to trick Reader into thinking a cross-origin PDF was same-origin with a victim domain, and that attack vector has been resolved.

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).

PDF は Active Contents であることを認識し、ユーザーがアップロードする PDF ファイルをプログラムが動作するオリジンには配置しないようにしなければならない。

Page 22: セキュリティ品質向上に向けたサイボウズの取り組み

サイボウズの見解

• 非互換な仕様変更に伴うユーザーへの説明コストが高く、ユーザーにとっても負担が大きい。特にオンプレミス版では別オリジンの設定を行うことが困難。

• 再現する環境の条件が限定的(他社製品の利用が前提となる)

Copyright (C) Cybozu,Inc. 22

本現象について、制限事項として情報公開する。サイボウズ製品を利用するユーザーに脅威があることを考慮し、回避策として、下記をアナウンスする。・IE/ Firefox でAdobe Reader プラグインを利用することは避ける

https://github.com/cybozu/bugbounty/tree/master/scope/PDFFormcalcAttack.md

Page 23: セキュリティ品質向上に向けたサイボウズの取り組み

報奨金制度における諸課題5 つの課題をご紹介します

Copyright (C) Cybozu,Inc. 23

Page 24: セキュリティ品質向上に向けたサイボウズの取り組み

Copyright (C) Cybozu,Inc. 24

外部からの脆弱性報告

社内からの脆弱性報告

脆弱性情報の受付

脆弱性情報の検証

脆弱性認定?

改修

回避策の配布

脆弱性情報の公開

報告者に連絡

脆弱性情報公開フロー 脆弱性対応フロー

ISO/IEC 29147 より引用

No

Yes

Page 25: セキュリティ品質向上に向けたサイボウズの取り組み

1. 海外からの報告

• スコープ外にある運用中のWeb サイトのアカウントを

窃取することに成功したとの報告を受けた

各国の法律の違い

• 「報告者と協調する」ことが最優先であることを社内に周知

• 海外の方が参照できるように、規約の英語化を進める

解決策

Copyright (C) Cybozu,Inc. 25

脆弱性情報の受付

Page 26: セキュリティ品質向上に向けたサイボウズの取り組み

2. 脆弱性の評価

• 複数の報告者からの問い合わせに対して、

同一の評価基準で脆弱性認定することが難しい

脆弱性の認定基準

• 脆弱性認定のためのガイドラインを策定する

• https://github.com/cybozu/bugbounty/tree/master/scope

解決策

Copyright (C) Cybozu,Inc. 26

脆弱性認定?

Page 27: セキュリティ品質向上に向けたサイボウズの取り組み

脆弱性認定ガイドライン

Copyright (C) Cybozu,Inc. 27

https://github.com/cybozu/bugbounty/blob/master/scope/PDFFormCalcAttack.md

脆弱性概要 認定可否対策箇所 /

認定しない理由

Page 28: セキュリティ品質向上に向けたサイボウズの取り組み

3. 脆弱性情報の検証

• 認定基準に定められていない複雑な問題が多数寄せられる

• トリアージ / 評価チームを維持することが困難

認定基準に収まらない問題

• 分業体制の構築(開発者に評価を協力してもらう)

• トリアージチームが参照できる「共通仕様」の策定

解決策

Copyright (C) Cybozu,Inc. 28

脆弱性情報の検証

Page 29: セキュリティ品質向上に向けたサイボウズの取り組み

サイボウズの評価体制

受付

• 非技術スタッフ

• 2名

トリアージ

• 技術スタッフ

• 2名

技術会議 (TLM)

• 全開発責任者

• オンライン

オフライン

Copyright (C) Cybozu,Inc. 29

Page 30: セキュリティ品質向上に向けたサイボウズの取り組み

脆弱性情報の受付件数

Copyright (C) Cybozu,Inc. 30

13

53

241208

183

0

50

100

150

200

250

2012 年 2013 年 2014 年 2015 年 2016 年

報告件数

Cybozu.com

Security Challenge

脆弱性報奨金制度常設

Page 31: セキュリティ品質向上に向けたサイボウズの取り組み

複雑な問題の例

• Reflected File Download• https://drive.google.com/file/d/0B0KLoHg_gR_XQnV4RVhlNl96MHM/view

• CSV Injection with the CVS export feature• https://hackerone.com/reports/72785

• CSV Excel Macro Injection• https://github.com/cybozu/bugbounty/blob/master/scope/CEMI.md

• PDF Formcalc Attack• http://insert-script.blogspot.jp/2014/12/multiple-pdf-vulnerabilites-text-

and.html

Copyright (C) Cybozu,Inc. 31

いずれも外部の評価事例が少なく、評価コストが高い

Page 32: セキュリティ品質向上に向けたサイボウズの取り組み

共通仕様

Copyright (C) Cybozu,Inc. 32

全製品が守ることを期待される仕様をまとめたドキュメント

TLM

提案 承認

共通仕様

開発本部の共通言語。車輪の再発明を抑止し、トリアージチームも判断基準として使うことができる。

Page 33: セキュリティ品質向上に向けたサイボウズの取り組み

4. 影響が広い脆弱性情報の公開

• サイボウズをご利用中のユーザーだけでなく、

特定の条件を満たす多くの Web サイトに影響する問題が報告された

サードパーティ製品の仕様に起因する問題

• 当該サードパーティ製品ベンダーと相談する

• 公開時には、JPCERT/CC 様と相談する

解決策

Copyright (C) Cybozu,Inc. 33

脆弱性情報の公開

Page 34: セキュリティ品質向上に向けたサイボウズの取り組み

JPCERT/CC 様との連携事例

Copyright (C) Cybozu,Inc. 34

https://jvn.jp/ta/JVNTA94087669/index.html

Page 35: セキュリティ品質向上に向けたサイボウズの取り組み

5. 脆弱性情報の公開

• 脆弱性を公開していることが失注に繋がる事例が度々ある

• 脆弱性の公開にかかるコストが少なくない

経済的合理性

• 自社製品届け出に対して CVE 番号をスムーズに発券する仕組み

• 1社だけでは難しく、脆弱性情報を流通させることの意義を広めたい

解決策

Copyright (C) Cybozu,Inc. 35

脆弱性情報の公開

Page 36: セキュリティ品質向上に向けたサイボウズの取り組み

脆弱性報奨金制度を検討する組織の皆様へ

Copyright (C) Cybozu,Inc. 36

Page 37: セキュリティ品質向上に向けたサイボウズの取り組み

5つのポイント

Copyright (C) Cybozu,Inc. 37

脆弱性ハンドリングポリシー

ルールの明文化

報奨金の設計 規約の設計どこまで

自社でやるか

Page 38: セキュリティ品質向上に向けたサイボウズの取り組み

1. 脆弱性ハンドリングポリシーの策定

Copyright (C) Cybozu,Inc. 38

脆弱性報奨金制度を支える仕組みを整備

Page 39: セキュリティ品質向上に向けたサイボウズの取り組み

2. 報奨金獲得ルールを明文化

Copyright (C) Cybozu,Inc. 39

事前にルールを定め公開すること

対象となるサービス

脆弱性認定ルール

脆弱性評価ルール

報奨金獲得に関するガイドライン

http://cybozu.co.jp/company/security/bug-bounty/guideline.pdf

Page 40: セキュリティ品質向上に向けたサイボウズの取り組み

対象とするサービスを明記する

Copyright (C) Cybozu,Inc. 40

対象外環境への報告があった場合に、どのように対処するかを決めておく

報告者

対象外のサービス

Internet

対象となるサービス

Page 41: セキュリティ品質向上に向けたサイボウズの取り組み

様々なケースを想定してルールを決める

Copyright (C) Cybozu,Inc. 41

対処方針を明確に公開することで、報告者の方と円滑にコミュニケーションが可能に

Page 42: セキュリティ品質向上に向けたサイボウズの取り組み

Cybozu.com Security

Challenge

広告宣伝

目的の賞金

源泉徴収を

行う

常設の報奨金制度

情報提供料源泉徴収を

行わない

3. 報奨金の設計

Copyright (C) Cybozu,Inc. 42

施策の目的に応じた設計が必要

サイボウズでの事例紹介です。詳しくは各社様の顧問会計士・税理士の方とご相談ください。

Page 43: セキュリティ品質向上に向けたサイボウズの取り組み

4. 規約の設計

Copyright (C) Cybozu,Inc. 43

規約で抑えるべきリスクを最小限にする

協調的な脆弱性公開が

破たん

ライセンスの商用利用

収集した個人情報の漏洩

規約改定時の通知コスト

どういう目的でやるものかを明確にすること

Page 44: セキュリティ品質向上に向けたサイボウズの取り組み

お客様環境の保護

お客様がご利用中の環境

プログラム参加者が利用する環境

お客様がご利用中の環境と物理的に隔離。診断が原因となる障害は発生しない

2016 年 9 月現在のべ178 名の方が利用

http://cybozu.co.jp/securityprogram.html

Copyright (C) Cybozu,Inc. 44

Page 45: セキュリティ品質向上に向けたサイボウズの取り組み

5. どこまで自社で実装するか

Copyright (C) Cybozu,Inc. 45

報告者 POC

開発

運用ベンダー

情報公開

評価受付

支払

改修

公開

ベンダー以外でも出来る

ベンダーのみ出来る

Page 46: セキュリティ品質向上に向けたサイボウズの取り組み

報奨金制度運営業者の活用

Copyright (C) Cybozu,Inc. 46

https://hackerone.com/

https://bugcrowd.com/ https://bugbounty.jp/

https://www.vulbox.com/

Page 47: セキュリティ品質向上に向けたサイボウズの取り組み

活用する際の留意点

Copyright (C) Cybozu,Inc. 47

コミュニティの規模

脆弱性情報の委託

脆弱性評価

報告者とのコミュニケー

ション

報奨金の対象とする脆弱性

運営業者に支払う費用

Page 48: セキュリティ品質向上に向けたサイボウズの取り組み

Full Disclosure 型の Bug Bounty

Copyright (C) Cybozu,Inc. 48

https://www.openbugbounty.org/about/

外部からの脆弱性情報を受け付ける体制を整え、情報公開しておくことが重要

Page 49: セキュリティ品質向上に向けたサイボウズの取り組み

まとめ

Copyright (C) Cybozu,Inc. 49

Page 50: セキュリティ品質向上に向けたサイボウズの取り組み

セキュリティと報奨金制度

Copyright (C) Cybozu,Inc.

• 自社で行う様々な施策で脆弱性を減らす

• 脆弱性報奨金制度を活用し、未知の脅威を知る

サービスをセキュアにする活動

• 脆弱性ハンドリングポリシーの策定

• 報告窓口を設け、窓口情報を公開する

脆弱性報奨金制度を検討する皆様へ

50

Page 51: セキュリティ品質向上に向けたサイボウズの取り組み

Q&Aご清聴いただきありがとうございました

Copyright (C) Cybozu,Inc. 51

Page 52: セキュリティ品質向上に向けたサイボウズの取り組み

参考文書

• ISO/IEC 29147 Information technology — Security techniques —Vulnerability disclosure

• ISO/IEC 30111 Information technology — Security techniques —Vulnerability handling processes

Copyright (C) Cybozu,Inc. 52