サイボウズサマーインターン2023 プロダクトセキュリティコース 開催報告

こんにちは!Cy-PSIRTの田口です。
本記事はサマーインターンシップ2023 プロダクトセキュリティコースの開催報告です。 今年も去年に続き、8月と9月に全2ターム、フルリモートでインターンシップを開催しました。

概要

プロダクトセキュリティコースは第1タームを8月28日〜31日、第2タームを9月11日〜14日で開催し、それぞれ4名のインターン生にご参加いただきました。 インターンでは、普段Cy-PSIRTが行っている業務をもとにコンテンツを構成しており、以下のような内容をインターン生の皆さんに体験していただきました。

  • 製品理解・ハンズオン
  • 脆弱性検証
  • 脆弱性評価
  • 外部通報対応

Cy-PSIRTの具体的な業務内容については以下の記事で紹介しています。

blog.cybozu.io

また、コンテンツで触れる業務以外のCy-PSIRTが行なっている取り組みの紹介や、社内環境を一部お見せしながらチームの雰囲気や実際の業務の進め方を知っていただく時間も今年から新たに設けました。

製品理解・ハンズオン

はじめに、サイボウズ製品やWebアプリケーションの脆弱性について学んでいただきました。 Cy-PSIRTの業務ではあらゆる場面で製品理解が重要になります。その第一歩として各製品の機能や使い方について簡単に説明を行いました。 その後、脆弱性の概要や原理について学び、ハンズオンを行なっていただきました。ハンズオンでは、過去サイボウズ製品に存在していた脆弱性(改修済み)を再現させ、脆弱性の挙動を確認していただきました。

脆弱性検証

この時間では、Cy-PSIRT内での脆弱性検証フローである以下の業務を順番に演習し、脆弱性検証の一連の流れを体験していただきました。

  • 要件確認
  • 試験仕様書の作成
  • 脆弱性検証

まずは 要件確認を行なっていただきました。要件確認とは、開発チームが実施した要件を確認し脆弱性検証の要否を判断する業務です。Cy-PSIRTでは、通常、開発によって生じる製品の差分に対して脆弱性検証を実施しています。そのため、要件確認は脆弱性検証フローの中で最初に行う必要がある業務です。 演習では、要件の実例を挙げながら、脆弱性検証が必要となる判断基準や考え方を学んでいただきました。

要件確認の様子(第1ターム)
要件確認(第1ターム)

次に、要件確認によって脆弱性検証が必要であると判断した要件について試験仕様書を作成します。 検証対象のリクエストについて、パラメータ単位での検証項目、権限、その他検証観点を漏れがないよう洗い出し、kintoneアプリに書き出していただきました。

試験仕様書を作成後、いよいよ検証に入ります。 作成した試験仕様書の内容をもとに、Burp Suiteを使いながら一つずつ検証を行います。 インターン生の中には、アジャイル開発における脆弱性検証や自動化に関心を持つ方、QAとPSIRTの試験範囲の違いに疑問を抱く方がいらっしゃいました。また、インターン期間中に脆弱性を見つけることを目標に掲げて検証に取り組む方もいらっしゃいました。インターン生は、検証やツールの使い方など技術的な面以外にも、脆弱性や品質保証に対する考え方など多くの気づきを得ることができたようです。

ランチ

お昼はCy-PSIRTのメンバーとインターン生でランチをしました。 一緒にご飯を食べながら気軽に雑談することで、Cy-PSIRTメンバーもインターン生のことをより知ることができました。 インターン生の皆さんも、チームの雰囲気を知る機会になっていただけたら嬉しいです。

ランチ(第1ターム)
ランチ(第1ターム)
ランチ(第2ターム)
ランチ(第2ターム)

脆弱性評価

続いては、脆弱性評価の時間です。サイボウズでは、脆弱性の深刻度をスコアリングする手法の一つであるCVSSv3を用いて脆弱性評価を行なっています。インターン生の皆さんには、CVSSv3の考え方やスコアの付け方を学んでいただき、過去サイボウズ製品に存在していた脆弱性を評価していただきました。

脆弱性評価(第2ターム)
脆弱性評価(第2ターム)

後半では、インターン生の皆さんが算出したスコアや考え方についてお互いに共有しました。 他の人の意見を聞いて、想定するシナリオや脆弱性の捉え方が人によって異なることを実感していただけたと思います。 Cy-PSIRT内でも、各評価項目に対する考え方やスコアの付け方に関する議論がよくありますが、他の人の意見を聞いたり議論を行うことで、より公正な評価を行うことができます。 この時間を通して、スコアをつけることの難しさやシナリオの考え方など新たな学びを得る機会になっていれば嬉しいです。

外部通報対応

最後のコンテンツは外部通報対応です。この時間では、サイボウズが運営している脆弱性報奨金制度の対応業務を体験していただきました。 外部通報対応は、脆弱性の再現確認や検証、脆弱性評価、また製品に対する理解など、これまでの時間で体験した業務の知識が必要となる集大成です。 はじめに、脆弱性報奨金制度の仕組みや実施することの意義を学んでいただき、その後「トリアージ」「再現確認」「評価」の一連の流れを演習していただきました。 このコンテンツを通して、脆弱性報告の書き方について気づきを得た方やバグハンティングに興味を持っていただいた方もいました。脆弱性報奨金制度の運営側について知る良い機会になったのではないでしょうか。

その他の紹介

最終日には、インターン生にCy-PSIRTの取り組みや普段の業務の雰囲気を知ってもらう時間を設けました。 Cy-PSIRTではコンテンツで紹介した業務の他にも、たくさんの活動や取り組みを行っています。 今回は以下の取り組みについて紹介しました。

  • 脆弱性検証の自動化
  • モバイル検証
  • インシデントハンドリング
  • チーム内での勉強会
  • WG / タスクフォース*1
  • チーム内イベント
  • 社外のセキュリティイベント/カンファレンス

インターン生は自動化やモバイルなど検証に関わる部分に興味を示している方が多かったようです。
それぞれの取り組みについて、目的や背景、現状の運用について説明しました。 また、チーム内のイベントや社外イベントへの参加を通じた情報収集や交流についても簡単にご紹介しました。

さらに、業務環境のスクリーンショットを一部紹介し、普段の業務の様子を知っていただきました。 脆弱性検証、評価などコンテンツで学んだ業務について、実際の運用や議論の様子をご覧いただきました。 また、開発チームとCy-PSIRTとのやりとりも紹介し、ユーザー企業のセキュリティチームとしての役割についても理解を深めていただきました。 こうした時間を通じて、業務のイメージやチームの雰囲気がより鮮明になったり、新たに得られる気づきがあれば嬉しいです。

成果報告会・懇親会

最終日の夕方は、kintoneアプリを使った形式で成果報告会を実施しました。 インターン生の皆さんには、「やったこと」「学び、気づき」「やってみたいこと」「感想」をベースに、各コンテンツについて事前に振り返りを記入していただきました。 成果報告会では、その振り返りの内容をもとに各コンテンツについての学びや感想を共有していただきました。

成果報告会(第1ターム)
成果報告会(第1ターム)
成果報告会(第2ターム)
成果報告会(第2ターム)

夜には懇親会を行いました。去年に続き、Cy-PSIRTメンバーに聞いてみたいことを事前に登録していただき、その内容をもとに雑談しながら夕食を食べました。 業務のことから業務以外の話題までとても盛り上がり、非常に楽しい時間となりました。

いただいた感想

今回のインターンでは、第1タームと第2タームそれぞれ4名の方にご参加いただきました。 参加者からいただいた感想を一部ご紹介いたします。

メンターさん以外の方も含めた社員の皆さんや他のインターン生、青野さんともお話させていただく機会があり、チームワークを大切にするサイボウズの風土を感じられました。また、座学と演習のプログラム全体が繋がっていて、手を動かしながらCy-PSIRTや事業会社のセキュリティ業務について理解していけるインターンでした。参加して本当に良かったです。


実際の業務の流れを体験することで、プロダクトセキュリティエンジニアという仕事への解像度が高くなりました。脆弱性評価や外部通報対応を通して、セキュリティの楽しさと難しさを再実感しましたし、メンターさんからのフィードバックをいただくことでより理解が深まりました。また、4日間でサイボウズの文化やチームワークの強さを知ることができたという意味でも、非常に参加して良かったと思いました。


今回のインターンでは、サイボウズの「チームワーク」について特に注目して参加していました。参加する前は、チーム内での助け合いが活発なのかなと考えていたが、実際には、チームを超えて助け合いが行われていました。チーム内だけでなく、サイボウズ社内でチームワークを発揮し助け合ってチームワークを高められる最高のグループウェアを作る、という社風がとても素敵だと感じました。大変有意義な4日間でした。非常に楽しかったです。

おわりに

今年も去年に続き、オンラインでの開催となりましたが2タームとも無事に実施することができました。 4日間と短い間でしたが、会社やチームの雰囲気、プロダクトセキュリティについて知る良い機会となったと思います。 また、インターン生同士が積極的に交流を深める様子も見られ、メンターとして大変嬉しく思いました。

インターンで用意されているコンテンツは、実際の業務をもとにした実践的な内容で構成されています。 ユーザー企業のセキュリティチームとしての役割や、Cy-PSIRTならではの業務についても学んでいただけたと思います。 インターン生の皆さんが、この経験や学びを今後の活動に役立ててくださることを願っています。今後の活躍を楽しみにしています!

Cy-PSIRTでは一緒に働く仲間を募集中です。ご興味のある方は以下をご覧ください。

cybozu.co.jp

*1:Cy-PSIRTではチーム内の課題や問題意識をもとに有志で小さなチームを作り様々な活動を行っています。