こんにちは!Cy-PSIRTの小西です。
本記事は8月に行われたサマーインターンシップ2021のプロダクトセキュリティコースの開催報告です。
今年より、Cy-PSIRTの業務が製品のセキュリティに関するものであることをイメージしやすくしていただくために「セキュリティコース」から「プロダクトセキュリティコース」に名前を変えて開催しました。また、今年も去年と同様に新型コロナウイルス(COVID-19)の影響によりフルリモートで実施しました。
概要
プロダクトセキュリティコースは、8/30〜9/2の4日間で開催しました。サマーインターンのコンテンツとしては主に、以下のような内容について体験していただきました。
- 製品理解とハンズオン
- 脆弱性検証
- 脆弱性評価
- 外部通報対応
どのコンテンツも、Cy-PSIRTが普段の業務で実際に行っている内容や流れに沿って実施しました。
Cy-PSIRTや具体的な業務内容についてはこちらの記事をご覧ください。
製品理解とハンズオン
まずはじめに、業務を体験するにあたってサイボウズ製品や脆弱性について知ってもらう時間を作りました。
インターンの内容を進める上で、製品に対する理解は重要です。その理解を深めるためにkintoneやGaroonなどのサイボウズ製品の特徴や機能、操作方法を学んでいただきました。その後、XSSなどの代表的な脆弱性や仕組みについて知っていただき、ハンズオンを通して実際に確認していただきました。ハンズオンでは、過去にサイボウズ製品で検出や報告された脆弱性(既に改修済みのもの)について再現確認をしてもらいました。皆さん、順調に検証環境上で脆弱性が再現できることを確認しながら、サイボウズの製品や脆弱性について理解できたとの声をいただけました。
脆弱性検証
ハンズオンを通して製品理解や脆弱性について学んでいただいた後は、いよいよ業務体験の始まりです。初めに体験していただいたのは脆弱性検証です!
脆弱性検証でも普段の流れと同様に、要件確認、試験仕様書の作成、検証を実施してもらいました。
要件確認
要件確認とは、実装された機能に対して検証の可否や検証観点を考える業務です。インターンでは、kintoneやGaroonに新しい機能が実装されたという想定で、検証観点を作成してもらいました。皆さん、実装された機能に対して正確に検証可否の判断や多くの検証観点を考えていただきました。
試験仕様書の作成
要件確認が終わった後は、試験仕様書の作成を進めてもらいました。試験仕様書の作成とは、検証対象の機能で送信されているリクエストに対して各パラメータの洗い出しや検証する項目を書き出していく作業です。試験仕様書自体は、kintone上のアプリを利用して作成していただきました。
検証
試験仕様書を作成したらいよいよ実際に検証をしていくことになります。作成した試験仕様書をもとに、一つずつ確認しながら検証を進めてもらいました。このとき、とある参加者の画面を共有し、皆で挙動について確認したり、意見を出しながら検証を進める光景も見られました。
インターン生からは初めて行う試験仕様書の作成の難しさや1つの脆弱性に対して細かく検査する内容を決めていくということに驚いたという感想をいただきました。実際に検証を行う前には、たくさんの段階があることや1つずつ確認をしながら検証を進めているということを知っていただくことができたかなと思います。
ランチ
今年も去年と同様にオンラインで繋ぎながらランチもしました。ご飯を食べながらチームメンバーと気軽に話をする中で、チームの雰囲気も含めてお互いのことについて知ってもらう機会になったかなと思います。
脆弱性評価
脆弱性評価では、脆弱性の影響度をスコアリングする方法の1つであるCVSSv3の評価方法について学び、実際に脆弱性の評価をしていただきました。CVSSv3の評価指標を元に複数の脅威シナリオについて考えていただき、様々な観点から評価をしていただいただきました。
また、評価後には他の人がどのように考えたか、お互いに共有する時間を設けました。共有してみると、評価について意見が異なることや評価の難しさについて知ることができたという感想をいただきました。実際にCy-PSIRT内でも検出された挙動に対して評価が異なることや悩むことが多々あります。そのため、脆弱性を評価することの難しさや様々な脅威シナリオを想定する必要があることを知っていただくことができて良かったです。
外部通報対応
ここまで、脆弱性の再現確認や検証、評価の方法について学んでいただきました。ここからは、これまで学んだ一連の流れを全て活用していただく外部通報対応の業務を体験してもらいました。
外部通報対応は、サイボウズが行っている脆弱性報奨金制度に関係する業務のことです。今回のインターンでは、過去に報告された内容に対してトリアージの対応や再現確認、評価、連絡対応と言った運営業務の一部を体験していただきました。前のコンテンツで学んでいただいた内容を元に報告内容から再現確認を行い、判断した内容を記載していただきました。レビューしている中で、インターンで学んでいただいた内容をうまく活用して再現確認や判断を実施されており、大変素晴らしかったです。また、業務体験を通じて、あまり知ることができないバグバウンティの運営側の業務についても知っていただく機会になったかなと思います。
成果報告会
例年、成果報告会ではインターンで体験した業務についてプレゼン形式でまとめて発表していただいていました。ですが、今年からは学んだことをインターン生自身でじっくりと復習や整理をしてもらう時間に充てていただけるよう、例年とは別の報告形式で実施しました。具体的には、Miroというツールを利用して、体験していただいた4つのコンテンツごとに「やったこと」、「気づき・学び」、「次にやりたいこと」というカテゴリーに対して、学びや感想を付箋に記載して共有していただきました。皆さん、インターンで得た多くの学びや感想についてたくさん貼っていただきCy-PSIRTメンバー一同、大変嬉しかったです。
懇親会
今年も社員とご飯を食べながらインターンの感想や雑談をする懇親会を開催しました。また、インターン期間中に聞き足りなかったことや聞きそびれたことなど、質問を事前に登録していただき、社員が答えていくコーナーなども開催しました。インターン生からは、サイボウズに関してやCy-PSIRTメンバーについて多くの質問をしていただきました。このコーナーを通じてインターンの中で聞きたかったことや疑問点などについて解消することができたようでした。
いただいた感想
今回は、3名の方にご参加いただきました。参加者からインターン終了後にいただいた感想を紹介したいと思います。
Cy-PSIRTの業務が業務範囲がここからここまでということが明確に分かったのが、大きな収穫だった。また、ほとんどが演習形式であったため、実際に働いてみなければわからないという部分も体感できたのが良かった。
仕事の流れを説明するだけでなく、一つ一つの作業を説明していただき実際に体験させていただき、とても貴重でした。本来のインターンのあるべき姿が詰まっていたと感じました。また、このインターンによって業務への解像度が格段に向上しました。
業務の全体感がつかめたことがよかったです.4日間で PSIRT が行うすべての業務について知ることができ,そのほとんどを体験することができました. 今後のキャリア形成に生かしていこうと考えてます!
まとめ
今年もオンラインでの開催となりましたが、実際にCy-PSIRTが普段実施している業務をしっかりと体験していただくことができました。数あるセキュリティ分野の中から製品に関するセキュリティとはなんなのかということについて知り、学んでいただけたようで良かったです。私もサマーインターンがきっかけで製品に関するセキュリティについて知り、その面白さにのめり込んでいった1人です。そのため、今回のインターンに参加していただいたインターン生の方にもインターンで得た学びを今後の活動に活かしていっていただければ、幸いです!
Cy-PSIRTでは、製品のセキュリティ面の品質を向上させることに興味があり、一緒に働いていただける仲間を募集しております! cybozu.co.jp