KENRO導入事例インタビュー
株式会社クオカードは1987年12月に設立されたプリペイドカード「QUOカード」の発行会社です。2017年12月、スタートアップのようにスピード感を持って新規サービスを開発するため、社内に「デジタルイノベーションラボ」という組織を設立。同組織を中心に開発を進め、2019年3月、スマートフォンで利用できるデジタルギフト「QUOカードPay」が誕生しました。
課題
- 講義形式のe-learningでは脆弱性の仕組みが理解しづらく、開発現場で活かしにくいと考えた。
効果
- 実際の開発現場に近い演習用アプリケーションが用意されているので、実践に活用できるレベルでの理解ができた。
- 繰り返し学習することが可能なので、定期的な学習を行いたいと感じた。
今回は「デジタルイノベーションラボ」に所属するプロダクトグループ・グループリーダーの齋藤健一さんとエンジニアの齋藤剛さんにインタビューし、KENROの導入経緯・感想・効果を伺いました。
「ハッキング演習などの実践的な演習が魅力的」という意見で一致
――まず、「KENRO」を利用することになった背景を教えてください。
齋藤健一さん(以下、齋藤健):「QUOカードPay」は決済機能が中心のサービスですので、セキュリティの優先度を高く考えています。サービス開発も、「何か問題があったらサービスが終了する」という意識でかなりセキュリティに気を遣っています。
常に生まれる新しい脆弱性や攻撃を学ぶために、エンジニア向けてにe-learning研修を導入しようと考えました。しかし、一般的な講義形式での学習はなかなか頭に入りにくく、実際の開発現場にあまり活かせないのではと考えました。
――「KENRO」を導入した決め手を教えてください。
齋藤剛さん:最終的には、私を含めた数名のエンジニアで導入を決めたのですが、「ハッキング演習(※)などの実践的な演習が魅力的」という意見で一致しました。
※ハッキング演習...受講者が攻撃者となりシステムを攻撃する演習。脆弱性を悪用することにより、アプリケーションにどのような被害を与えることができるのかをCTF形式の演習で学びます。
「デジタルイノベーションラボ」が外部のセキュアコーディングのトレーニングを受けるのは今回が初めてです。なので、実は他のeラーニングサービスも候補に上がっており、具体的に話を聞いたりもしていました。しかし他のサービスは、動画で学ぶだけの内容だったり、クイズで知識を確認するものだったりしたので、実際に手を動かして学習するものではありませんでした。
私自身、情報セキュリティスペシャリストの資格は持っていて、すでに一通りセキュリティを知識として学んでいましたが、実際に手を動かして攻撃を試す経験はありませんでした。そのため、もっと開発現場でも生かせるような実践的な学習ができるサービスを使いたいと思っていました。
「KENRO」の場合はハッキング演習もあり、アプリケーションへの攻撃を実践できます。あらかじめそういった演習が可能なアプリケーションの環境が用意されていたので、すぐに手を動かしやすい点も魅力でした。
齋藤健:最初は社内の一部メンバーから導入を始めたのですが、まさに自ら手を動かすことによって脆弱性が生まれる仕組みを学べる内容で、求めていた学習ができると思いチーム全体で導入することにしました。
業務と並行して学習できるのが魅力。成果は、セキュリティ診断の結果でチェック
――チームで導入をしていただいてると思うのですが、どのようなシーンで学習を行っていますか?
齋藤剛:学習を行うタイミングは個々のメンバーの裁量に任せています。時間や場所の制限があるわけではないので、業務と並行して自分のペースでできるのは良いですね。
公開して間もないサービスだったので、チームでの活用に少し懸念もありましたが、分からない点は都度営業担当の方に確認できたり、社内のチャットでもメンバー同士で相談できるようにしていたので、その懸念はなくなりました。
――実際の開発現場では、学んだ知識はどう生きていますか?
齋藤剛:私はスマートフォンアプリエンジニアですが、我々の組織はスクラム開発でクロスファンクショナル(横断的)なチームの形態をとっているため、サーバーサイドのソースコードの修正対応などもすることがあります。なので、「KENRO」で得た知見をもとに、以前自分が書いたコードに脆弱性がなかったかを振り返るきっかけになりました。
また、我々の組織では、日ごろからCIツールを用いて継続的にセキュリティチェックをしていたり、外部の会社に定期的なセキュリティ診断を委託したりしています。今後はそういった診断結果に定量的な成果が現れることを期待しています。
演習用アプリケーションが用意されているので、すぐに試せて、深い理解ができた
――中でも特に役に立ったコンテンツはなんだったのでしょうか。
齋藤剛:具体的なコンテンツでいうと、Cross-Site Scripting(XSS)やCross-Site Request Forgery(CSRF)の項目はかなり腹に落ちました。これらの脆弱性を正しく理解するために、同一生成元ポリシー(Same-Origin Policy)といったブラウザの持つセキュリティ機能から理解する必要があります。これは、実際にアプリケーションを用いて確認しなければ、深くは理解しづらい点でした。
講義形式の演習や書籍でも、自分でアプリケーションの環境を用意すればそれらの仕組みを理解することができます。しかし、環境を用意して試すコストはかなり高いので、すでに環境が用意されているのはかなりありがたかったです。
――受講したエンジニアの皆さんからはどのような声が寄せられていますか。
齋藤剛:基本的にリモートなので直接話してはいませんが、社内のチャット上で「ここまで進んだ」「今ここをやっている」「これ教えて」と共有したりアドバイスし合っており、楽しみながら進めているようです。自主的に進捗を共有するようにしている様子を見ると、みんな順調に進めていますね。
何度もやり直して理解を定着させたい。追加されたJavaでの演習にも期待
※ 記事執筆以降も適宜対応言語を追加しており、2021年9月現在ではPython・Java・Go・PHP・Ruby・C#から選ぶことが可能です。
――今後、「KENRO」をどのように活用していきたいと思っていますか。
齋藤剛:より理解を深めるために、2周目、3周目と定期的に見直していきたいですね。我々の開発でメインに使用しているJavaでの学習に対応したとのことなので、そちらもぜひ活用したいです。
※OracleおよびJavaは、オラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。
――Javaはクオカード様からご要望いただいたこともあり、対応することになりました。ありがとうございます。最後に、「KENRO」に期待することを教えてください。
齋藤剛:「QUOカードPay」はほかにもサーバーサイドで使用している言語があるので、対応言語が拡充されたらうれしいですね。今後も機能やコースが充実するのを楽しみにしています。