cybozu.com Security Challenge ができるまで

サイボウズの CSIRT(Computor Security Insident Response Team)、Cy-SIRT の伊藤と申します。 多くの方にご協力いただき、「cybozu.com Security Challenge」を11月に開催することになりました。

国内商用クラウド初の脆弱性発見コンテスト「cybozu.com Security Challenge」を開催

今回はサイボウズの脆弱性対応に関するこれまでの取り組みをご紹介し、本コンテストを開催するに至った経緯などをお伝えします。

サイボウズの脆弱性対応

サイボウズの脆弱性対応として有名なものは、次のブログで問題提起いただいた事案です。

高木浩光@自宅の日記 - サイボウズが再び「闇改修」をしたので電話で抗議したが無駄骨だった

サイボウズではこの件をきっかけに、脆弱性情報の取り扱いについて 次のような問題があると考えました。

  • 脆弱性情報について、お客様からのお問い合わせを受け付ける専門のチームが無い
  • 脆弱性情報について、社内からの相談を受け付けるチームが無い
  • 脆弱性情報について、社外からの連絡を受け付けるチームが無い
  • どのような現象を脆弱性として捉えるか、整理できていない
  • 脆弱性情報を公開するポリシーが明確ではない

これらの問題に対応すべく、製品の脆弱性について社外からの連絡を受け付ける専門のチーム(PSIRT:Product Security Incident Response Team)を 2006 年に立ち上げました。

PSIRT は各プロダクトの開発をマネジメントするメンバーを中心に構成され、脆弱性情報に関する連絡を受け次第、速やかに脆弱性を改修し、お客様へ脆弱性情報を公開する役割を担いました。 Cy-SIRT の前身となるこのチームは、2009 年まで活動を続け、3 年間で 61 件の脆弱性情報に対応しました。

サービスにおけるセキュリティインシデントへの対応

PSIRT はプロダクトで発生する脆弱性に対応するためのチームとして最適化されていたため、弊社クラウドサービス基盤の cybozu.com で脆弱性が発見された場合に、迅速に対応できない点が問題となりました。

サービス上で検出される脆弱性に対応するためには、運用チームと連携して日々情報を収集し、未然にインシデントを防止する活動に日々取り組む必要があります。また脆弱性に対応するだけではなく、お客様からのサービスのセキュリティに関するご質問に回答するなど、広くセキュリティインシデントに対応するための能力が求められるようになりました。

Cy-SIRT の設立

こうした状況を受けて従来の PSIRT を強化する形で 2010 年から準備を進め、2011 年に Cy-SIRT(サイサート)として本格的に組織内 CSIRT の活動を開始しました。

サイボウズのセキュリティ体制
サイボウズのセキュリティ体制

Cy-SIRT は開発本部を横断する仮想組織です。 cybozu.com セキュリティ責任者の山本の元、開発本部内の主要なメンバーにスムーズにセキュリティ情報を配信する体制を構築し、社内各部署や外部の組織からの連絡を受け付けています。

開発本部だけではなく、組織を横断して全社的なセキュリティに関する議論を行う場合には、後述する CSM (Cybozu Security Meeting)という会議体で議論し、対応します。CSM には、情報システム部のメンバーと、Cy-SIRT 事務局がメンバーとして参加しています。

Cy-SIRT の活動

Cy-SIRT の活動内容は、大きく分けて以下の3つです。

  1. 製品およびサービスの脆弱性情報に関するサポート対応
  2. 製品およびサービスにて発生したインシデントに関する情報管理
  3. セキュリティインシデントを予防するための情報収集、情報発信

弊社製品およびサービスの脆弱性情報に関するサポート対応

製品およびサービスに関する脆弱性情報を受け付ける窓口を開設し、サポート対応しています。

脆弱性情報をお寄せいただく際は、脆弱性報告フォームをご利用ください。

また社内からのセキュリティに関する相談を受け付けるためのコミュニケーションスペースを開設し、相談者と協力して問題を解決しています。スペースでは、セキュリティ情報に関するトピックなども共有し、社内の関連部門と協力して解決することもあります。

コミュニケーションスペース
コミュニケーションスペース

弊社製品およびサービスにて発生したインシデントに関する情報管理

開発中のサービスで発見された脆弱性情報や、運用中に検出された 弊社サービスの脆弱性については、Cy-SIRT に集約されるようになっています。 集約した脆弱性情報は、CWE 別に分類し脆弱性の深刻度を CVSS v2 にて評価しています。 また、各製品で検出された脆弱性情報を他のチームにも共有し、同一の問題が発生することを予防しています。

CVSS に基づいた深刻度の評価
CVSS に基づいた深刻度の評価

セキュリティインシデントを予防するための情報収集、情報発信

Cy-SIRT ではセキュリティインシデントを予防するため、以下のような活動をしています

  • 弊社サービスや弊社が利用する他社サービスのペネトレーションテストや Web アプリケーションの脆弱性診断の実施
  • 第三者による監査として、外部の専門機関にて実施いただく脆弱性診断の運営
  • 弊社が利用する OSS や自社で利用するサービスに関するセキュリティ情報を収集し、社内に向けて情報発信

cybozu.com Security Challenge 開催の経緯

2011 年 Cy-SIRT を立ち上げる際に、より多くの方に弊社サービスの品質向上にご協力をいただくことを目的として、脆弱性情報報奨金プログラムを実施することが話題に上がりました。 ただ 2011 年当時、Cy-SIRT では外部の有識者の脆弱性情報を受け付けるための体制が十分に整っていませんでした。 このため、まずは Cy-SIRT を軌道に乗せることを優先することになりました。

転機を迎えたのが 2013 年 3 月に発生した当社ブログサイトが改ざんされたインシデントでした。

当社ブログサイトの改ざんについて

このインシデントを契機に、再度全社的なセキュリティに関するリスクを洗い出し、セキュリティポリシーの見直し、運用、教育、チェックを行う責任とレポートラインを明確化することを目的として CSM が設立されました。 この CSM にて様々な問題の棚卸を行う中で、脆弱性報奨金プログラムが再度話題に上がったのがコンテスト開催のきっかけとなりました。2013 年 5 月頃 CSM から SECCON 実行委員長でサイボウズ・ラボの竹迫さんに相談し、2013 年 7 月に開催が決定しました。

開催に向けた準備

開催に向けた準備として、CSM での議論を元に Cy-SIRT の体制強化に取り組みました。 この期間に Cy-CERT にて取り組んだ活動をご紹介いたします。

NCA への加盟

外部の専門家の方との協力関係をより密にすることを目的として、日本 CSIRT 協議会(NCA)に加盟することにしました。

NCA に加盟するためには、他の CERT 組織の方に体制を評価いただき推薦を受ける必要があります。 サイボウズでは CDI-CIRT 様に Cy-SIRT の活動を評価いただき、不足しているノウハウやコンテンツを整備することができました。

整備したコンテンツは CSIRT 記述書として、公開しています。

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

NCA への加盟に併せて、外部の有識者からいただいた脆弱性情報を取り扱う「脆弱性対応ポリシー」と、 サイボウズから脆弱性情報を公開するためのポリシーを定めた「脆弱性情報公開ポリシー」を整備し、 「脆弱性情報ハンドリングポリシー」を定めました。

これらのポリシーは、cybozu.com Security Challenge ルールブックにも反映されています。

脆弱性検証実施ポリシーの公開

より広く cybozu.com の脆弱性検証を実施いただくことができるように、 cybozu.com について脆弱性検証を実施することを許可するポリシーを定め、公開いたしました。

Q.cybozu.com サービスに対して、脆弱性検証を実施することは可能でしょうか。

これにより外部の専門家の方から、より積極的にご意見をいただくことが可能になりました。

コンテストに向けて

2013 年 10 月 11 日まで受け付けています。サイボウズの活動に興味を持っていただけた方は、ぜひご参加いただけますと幸いです。 cybozu.com Security Challenge 運営チーム一同、お待ちいたしております。