ゼロデイ脆弱性を早期発見するための取り組み、報奨金は1件あたり最大100万円 サイボウズは2002年から自社製品の脆弱性ハンドリングを社内で行っていたが、2006年に外部からの脆弱性に対する問い合わせがあったことを機にPSIRT（Product Security Incident Response Team）を設立した。その後、2011年に同社のクラウド基盤「cybozu.com」のリリースと合わせるかたちでCSIRT（Computer Security Incident Response Team）の「Cy-SIRT」を立ち上げた。現在はPSIRTとセキュリティに関するヘルプデスクを担当する「セキュリティ室」となっており、Cy-PSIRT（23名）とセキュリティ室（3名）が協力して運営を行っている。 CSIRTは企業へのサイバーセキュリティインシデントに対応する部署だが、PSIRTは製品のセキュリティインシデントに対応する部署だ。つまりソフトウェアが関わるモノづくりを行っている会社ならば、本来PSIRTがあるべきだろう。 やや古いデータになるが、2018年12月にJPCERT/CCが公開した「2017年度 CSIRT構築および運用における実態調査」に関する報告書を見ると、日本シーサート協議会加盟の企業のうち、PSIRT機能を保有してる組織は22％程度、脆弱性対応の経験がある組織は半分程度で、日本企業の自社製品の脆弱性に対してまだ対応がよろしくない。 そしてCSIRTとPSIRTが独立して連携して運用している企業は6％未満と少ない。脆弱性報告窓口を用意しているサイボウズは、日本の中では製品脆弱性対応に非常に積極的な企業であるといえるだろう。 冒頭の脆弱性認定件数は、脆弱性報奨金制度が機能しているからこその数字ということができ、脆弱性に対して早期に対策することができる。 サイボウズのCy-PSIRTは製品開発の全ての脆弱性判断を行い、時には外部の専門会社に監査やペネトレーションテストも依頼している。しかし、それでも発見しきれない脆弱性が残ってしまう可能性は否定できない。 悪意のある攻撃者が脆弱性情報を得てしまった場合、その脆弱性を利用した攻撃が行われる可能性がある。また、過去の設計、実装の時点では問題にならなかった仕様も現在の観点で評価すると脆弱というケースもある。 サイボウズが2014年に開始した脆弱性報奨金制度は、いわゆる「ホワイトハッカー」からサイボウズ製品に対する脆弱性レポートを受け付け、脆弱度合に応じた報奨金を支払う制度だ。現在の規定では製品の脆弱性1件の報告で最大100万円がサイボウズから支払われる。過去3年の報奨金支払額は2016年に約400万円、2017年が約1100万円、2018年が約2105万円とほぼ倍々ペースで増加している。 サイボウズの製品の脆弱性報告に伴う報奨金支払いが2017年になって急増したのは、特定製品の脆弱性報告にボーナスを付けるキャンペーンと2017年に行われたバグハン合宿の結果といえるだろう。 2017年のバグハン合宿では15名のバグハンターが泊まり込みでハンティングを行った。その結果、57件の脆弱性報告があり、これは2017年の脆弱性報告数の4分の1を占める。 合宿は事前の準備が必要なため、2018年には行われず、2019年のバグハン合宿は4月20～21日に開催された。ちなみに2018年に認定された脆弱性は155件で、奇しくも同じ数の脆弱性が2019年のバグハン合宿の期間で見つかったことになる。 原稿執筆にあたり、サイボウズに問い合わせをしたところ、9月18日時点で42件の脆弱性（報奨金は約300万）が確定したという（合宿で報告されていても、最終的に確定していないものもまだ残っている）。 今回のバグハン合宿では外部のバグハンターとサイボウズの開発担当社員が一緒にチームを組んでいる。実際に脆弱性をあぶりだすバグハンターの活動を開発技術者が目の当たりにすることによって、意識改革につながるのを狙っていることも考えられる。

大量の脆弱性報告をこなすPSIRTチーム前提の合宿 通常の脆弱性報告とバグハン合宿で異なることが2つある。通常の脆弱性報告ではサイボウズ側の検討にある程度の時間がかかり、その間に報告者とのメール等でのやり取りがあり、認定まで時間がかかる。 一方、バグハン合宿ではチーム戦の表彰もある関係で、2日目までに暫定判定をしなければならないのでより早い対応が求められる。この点は仮判定にすることと、Cy-PSIRTメンバーと報告者がその場で対話することで対応した――と言っても、報告件数の多さに困ったようだ。 また、脆弱性審査は提出順に行うので、あとから報告された脆弱性報告の審査はあと回しになってしまう（今年の報奨金支払いルールでは「二番手」に報奨金が支払われない）。チームによっては事前に脆弱性を調べておき、バグハン合宿スタートとともに一気に提出するという戦略を取っていた。これが今年のバグハン合宿で多くの脆弱性が発見されたというカラクリだ。運営側からすると「ここまで多くの報告がある」のは想定外だったようで、スケジュールが一部変更になったほどだった。 また、チーム戦ということで、チームの別メンバーが発見した脆弱性をチーム内で共有することにより、他のバグハンターの得意分野と組み合わせた別の脆弱性として報告することが可能になった（これも今年のルールが変更になり、同じ脆弱性でも他の製品に波及する場合は製品数分支払われるようになったため）。 なお、今回のバグハン合宿ではこれまでの脆弱性報奨金制度の対象となっていなかったソフトも対象としており、脆弱性報奨金制度においても今後、招待制で実施するようだ。また、脆弱性認定に至らないケースも含め、ポイントを与える制度を開始している。