サイボウズサマーインターン2017 報告その1〜品質保証・セキュリティコース

こんにちは!品質保証部の中園です。

サイボウズでは今年もサマーインターンシップを開催しました! 昨年好評をいただいたので、今年はどーーーんとパワーアップして5コース用意しました。

  • Webサービス開発
  • モバイルアプリ開発 (New!)
  • UX/UIデザイナー
  • 品質保証/セキュリティ
  • Site Reliability Engineering (New!)

今回は、品質保証/セキュリティコースについて、第1回の内容をお伝えします。

f:id:cybozuinsideout:20170904112051j:plain

インターンの概要

第1回は08月21日~08月25日で開催しました。品質保証/セキュリティコースは2名の学生さんが参加してくれました。

本コースでは、サイボウズ製品の品質保証活動がどのようにして行われているか、品質がどのようなプロセスで確保されているのかを、実際の業務を体験しながら学んでいただきました。

5日間のスケジュールです。

f:id:cybozuinsideout:20170904110451j:plain

製品テスト、セキュリティ、不具合情報公開サイトの運営の業務をほぼ日替わりで体験してもらいました。

今年は品質保証部内で自主的に開催している勉強会に参加してもらったり、品質保証部の部長とざっくばらんにお話しする機会があったりと、かなり内容の濃いインターンシップになったのではないでしょうか。

製品テスト

製品テストでは、kintoneの『アプリのアイコンを変更できる機能』を題材に、テスト設計からテスト設計レビュー、テスト実施までの流れを体験してもらいました。

1日目はテスト設計をしてもらいました。

テスト設計では、kintoneのプログラマが作成した本物の機能仕様書を見ながら、テスト仕様書を作成します。

f:id:cybozuinsideout:20170904111018j:plain

機能仕様書を網羅したテスト仕様書を作成することを意識しながら、目標時間内に無事に完成させることができました。

2日目は、作成したテスト仕様書を学生同士で交換し、レビューを行いました。手順のミスや、抜けている観点を指摘します。

互いにテスト仕様書をレビューすることで、それぞれ新たな視点に気づいていた様子でした。

f:id:cybozuinsideout:20170904112327j:plain

学生同士のレビューが終わったら、答え合わせの時間を設けました。

メンターが作成したテスト仕様書を見せながら、テスト設計のやり方や、よく使っているテスト技法などを紹介しました。

そして、メンターが作成したテスト仕様書をもとに、テスト実施もしてもらいました。 (「手順が分かりやすい!」「スッキリしていて見やすい!」などの声をいただき、大変恐縮でした…!)

また、不具合を見つけて、報告するまでの流れを体験するために、kintoneのアドホックテストも実施しました。 いくつか不具合を報告していただき、kintoneの品質向上に貢献してくれました!

セキュリティテスト

サイボウズ製品のガルーンを対象として、セキュリティテストを体験してもらいました。

まずは、セキュリティテストの位置付けとセキュリティテストに必要な知識の講義を行いました。

セキュリティテストはテストプロセスのサブプロジェクトです。製品のテスト担当者からセキュリティテストを依頼されます。

f:id:cybozuinsideout:20170927144835p:plain

講義が終わり、テストに利用する Burp Suite の設定を行っていきます。通信の内容を確認することで、それぞれのリクエストでどのような情報が送られているのかが分かり、また、テスト時には通信の内容を改ざんすることで、脆弱性がないかを調べることができます。

次は、サイボウズで検証している脆弱性を紹介していきます。サイボウズは CWE 識別子を使って脆弱性を識別しています。採用している脆弱性は、クロスサイト・スクリプティング、SQL インジェクション、CSRF 等様々です。

以前のバージョンで発生しており、現在は改修された脆弱性を使ったハンズオンも行いました。

f:id:cybozuinsideout:20170928133510p:plain

これで検証に必要な知識を得ることが出来ました。準備万端です。

早速、テスト設計を行っていきます。製品テストと同様に機能仕様書を見ながら、ガルーンの新機能がどのようなものかを把握していきます。

機能仕様書と実際の環境を見比べながら、追加された画面でどのようなリクエストが発生するかを洗い出していきます。 インターン生はメンターからのアドバイスを受けながら、無事テスト仕様書を完成させることが出来ました。

テスト仕様書が出来たら、実際の検証作業を実施します。

どのような手順で確認すればよいか・脆弱性の場合どのような挙動になるか・脆弱性ではない場合どのような挙動になるかといった内容が記載されているページを確認しながら検証を進めていきます。

サイボウズでは、セッション・リクエスト・パラメーター単位でテスト項目が決まっています。

f:id:cybozuinsideout:20170927144926p:plain

それぞれの検証を一つずつ実施していきます。中にはパラメーターが多く、検証に時間がかかるリクエストもあります。

すでに検証済みのバージョンということもあり、残念ながら今回は脆弱性を見つけることはできませんでしたが、検証のやり甲斐や面白さを体感してくれたようでした。

不具合情報公開サイトの運営

サイボウズでは、製品を利用しているお客様や、サイボウズ製品を取り扱っているパートナー様に向けて、 製品の不具合/脆弱性/制限事項に関する情報を不具合情報公開サイトで公開しています。

昨年に続き、今回のインターンでも「不具合」と「脆弱性」の2種類の記事を、ガルーンを対象として作成してもらいました。

始めに、メンターから不具合情報公開サイトの運用や業務体験の内容について説明しました。

その後、インターン生に記事作成を次の流れで実施してもらいました。

  1. 社内の検出情報をもとに、現象(不具合または脆弱性)が発生する手順を把握する。
  2. 実際に製品を操作し、以下の項目を検証する。
    ・現象が発生するバージョン
    ・他の箇所でも同様の現象が起きないか
    ・検出情報以外の再現手順はないか
  3. 検証した結果をまとめ、公開する記事を作成する。

実際に作業を進めると、発生するバージョンの切り分け方や、読者が読みやすく検索しやすい記事に仕上げるにはどうしたらよいかなどで、悩んでいたようです。

そのときには、メンターのアドバイスを受けながら進めてもらいました。

f:id:cybozuinsideout:20170927142048j:plain

記事が仕上がったら、メンターとインターン生全員で記事を確認し、良かった点やもう少し工夫した方がよい点をメンターからフィードバックしました。

最後に、公開した情報がどのように活用されているかを紹介し、不具合情報公開サイトの公開目的を理解していただきました。

サイボウズの品質保証活動の一連の流れを感じながら作業していただけたようで、嬉しい限りでした!

青野社長とのランチ

インターン期間中、社長の青野とのランチの機会も設けました!

f:id:cybozuinsideout:20170928124242j:plain

サイボウズ創業のことから、働き方改革について、更には今後のビジョンについてまで、幅広い話を聞きました。 社長から直々に話を聞けたおかげで、サイボウズについてより深く知ることができた様子でした。

成果報告会の様子

最終日の成果報告会では、他のコースと合同で、サイボウズ社員向けにインターンの成果を発表します。

f:id:cybozuinsideout:20170904114244j:plain

成果報告会では、50人近くの社員が参加しました。他拠点へも、テレビ会議システムを使い中継されていました。 どのコースも社員が驚くような成果で、議論や意見交換も活発に行われました。

成果報告会を終えた後、打ち上げ兼懇親会を開催しました。

f:id:cybozuinsideout:20170904115219j:plain

サプライズでロールケーキタワーを用意していました!

f:id:cybozuinsideout:20170904115223j:plain

大変名残惜しかったですが、これにてインターンの全日程が終了しました。

インターン生の感想

最後に、インターン生の感想を紹介します。

  • 品質保証/セキュリティコースのインターンシップを通じて、品質保証とは製品がお客様からの期待に応えられるかどうかを判断できる最後の確認する場所であることを体感でき、製品がリリースされるうえで最も重要な品質保証の一連の流れを学ぶことができました。 業務内容だけでなく、メンターさんや人事の方、またインターン生みんな親切でいい人だったのでお話することも本当に楽しかったです!長いようで一瞬の楽しい5日間でした。サイボウズで働けたらとても楽しいと心の底から思います!楽しい5日間をありがとうございました。

  • 品質保証部の業務を幅広く体験できたので全体的に良い構成だと思いました。特に実際の自社製品を使ってリアルな体験をできるところが魅力的なところだと思います。自社製品を使って品質管理や脆弱性診断を行うことで、業務に対する感覚を掴むことができました。毎日の内容が濃くて、5日間があっという間でした!本当に充実した5日間でした。メンターの方々に業務のことだけではなく、これからやるべきことなどの相談にも乗っていただけたので本当に感謝です。

まとめ

今回も非常に優秀な学生さんたちに参加して頂き、メンターとしても良い刺激をもらいました。 5日間という短い期間でしたが、サイボウズの品質保証部のこと、サイボウズという会社のことを多く吸収していただけたようでした。 学生の皆さんの今後の活躍を期待しています!

お知らせ

サイボウズではPSIRTの学生アルバイトを募集しています。 セキュリティに興味がある方、ぜひチェックしてみてください。