事例紹介
神戸デジタル・ラボ(KDL)は、川崎車両様と共にプロダクト開発を進めながら、内製化を支援しています。プラットフォームエンジニアリングや最新のフロントエンド開発の分野で培ったスキルを活用し、DevSecOpsやシフトレフトの実践に取り組んでいます。
こうした取り組みの中で、セキュア開発の重要性を再認識された川崎車両様よりご相談をいただき、KDLの「セキュア開発トレーニング」を提供。プロジェクト関係者だけでなく、総勢51名のエンジニアに受講していただきました。
インタビュー先
川崎車両株式会社
技術統括本部 新事業技術部 新事業技術二課
池田 一統 様
ベニックソリューション株式会社
事業開発本部 プラットフォーム事業推進部 アプリケーショングループ
遠藤 貴志 様
セキュア開発トレーニングを受講しようとお考えになったきっかけを教えてください。
川崎車両 池田様(以下、池田様)
川崎重工グループでは完成したアプリケーションに対して社外の脆弱性診断を受けていますが、より早期にセキュリティリスクに対応できる仕組みを構築したいと考えていました。
グループにはどの様な観点で診断されるのかが示されたドキュメントはありますが、具体的なセキュア開発の知識は属人的で、開発メンバー間の知識レベルにバラツキがあります。メンバーが同等の知識レベルを有すために、体系的に学びたいと考えていました。
KDLさんと共にプロダクト開発する中で、そのような知識をどうやって学んでいるか伺ったところ、社内でトレーニングを実施されていると聞きました。そこで共に開発しているベニックソリューションにも声をかけて、トレーニングを受講することにしました。
ベニックソリューション 遠藤様(以下、遠藤様)
川崎重工グループでは、長年にわたりほとんどのシステムやデータが社内LANを通じて運用されていました。3年程前にクラウド環境の利用が解禁され、推進する方針になったのですが、そこでセキュリティの重要性を改めて認識しました。ただ、これまでの運用に慣れているためなかなかメンバー全体に浸透しないことが課題でした。
ソフトウェア開発の内製化はいつごろから取り組まれていますか?
池田様
いわゆる「モノ」売りから「コト」売りへの変革が叫ばれるなか、当社も鉄道車両を作って納める既存事業に加えて、2017年ごろからストック型のビジネスモデルの構築に取り組み始めました。当時はアプリケーションを社外ベンダーに依頼して開発していましたが、サービスを継続的にブラッシュアップして価値を生み出すビジネスを構築するには、クラウドを使って自社で迅速に開発する必要があります。
とはいえ、クラウドを扱う人材を育てられるような人が社内にはいません。自分たちだけでは難しいと考え、KDLさんの支援を受けて内製開発をしています。
内製化にあたってどのような点で苦労されていますか?
遠藤様
クラウドサービスをメインとしたアーキテクチャで開発することです。例えば、作りたいシステムの要件があっても、クラウドのどのリソースを組み合わせて、どのようなデータフローで作るのがよいのか、という知見がまだ追いついていません。要件どおりに動いていたとしても、それがベストな構築方法なのかどうかを模索しており、一番頭を悩ませています。
池田様
クラウドを使ったアーキテクチャなどをKDLさんにアドバイスいただきながら、1つのスクラムチームとして共に開発しています。川崎重工グループでは非常に高いセキュリティレベルが求められる事業を営んでいるため、どこまで高いレベルを追求するかという点で難しさを感じています。
トレーニングを受講してみていかがでしたか?
池田様
もともとDevSecOpsに関して、シフトレフトやテスト駆動開発といったキーワードは知っていましたが、開発プロセスへの効果的なセキュリティ対策の組み込み方を模索していました。トレーニングでは開発プロセスにおけるセキュア開発の全体像が具体的に示されていて、非常に理解が進みました。
実装のポイントは開発メンバーにとっても実践的で、「明日からすぐ使えそう」という声も上がっています。またKDLさんと一緒に開発をする上でも、トレーニングのおかげでKDLさんの知識レベルに少しでもメンバーが追い付くことができたのではと思います。
遠藤様
セキュリティに関する知識や意識は開発メンバーによって差があると感じていましたが、トレーニングで教わった事例や実装方法で、開発メンバーが共通のイメージが持てて、知識のベースラインを底上げできたと思います。
テスト駆動ありきでプログラムを組むという文化を根付かせたいので、テストシナリオがあると参考になると思いました。
今後、セキュア開発にどのように取り組もうとお考えですか?
池田様
コードレビューなどを通じてディスカッションできればと考えています。KDLさんでは、コードレビューで質を上げていくのがカルチャーになっていると思うので、我々もそのカルチャーを取り入れたいですね。KDLさんと同じレベルでコードレビューできるようになって、メンバーのスキルアップを図っていけたらよいと思います。
先日KDLさんと一緒にモブプログラミングをしたのですが、そういう場で共通の認識が持てると思うので、モブプログラミングも定期的にできればよいと思っています。
また、テスト駆動開発やテストの自動化にもチャレンジしています。
遠藤様
今回の経験を活かして、早い段階からセキュリティ対策を意識して開発プロセスを進められるようになればと思います。KDLさんでは定期的にトレーニングをしているということでしたので、いただいたトレーニングの資料を活用して同じような取り組みを実施できればと思います。資料や動画は新入社員の教育教材としても活用させていただきます。
池田様
新入社員に関して言えば、我々のような鉄道車両を作る会社ですと、ソフトウェア開発をすると思わずに入社される方も居られるのですが、鉄道システムは社会の重要インフラですので、機械系や電気系のエンジニアもサイバーセキュリティの知識を持つことは非常に大切なことです。
受講者アンケートより(抜粋)
- トレーニングを受講したメンバーにおいては、脆弱性やその対策(実装方法)に対して共通のイメージが持てたと思います。また、若手においては新たな気づきや知見を得られたようで有意義なトレーニングとなりました。
- 主に前半で、いろいろな攻撃パターンを想定した具体的な対策が勉強になりました。知らなかった用語や「そんな攻撃もあるのか」というのもいくつか・・・。自分の周辺のメンバーも参加していたので意識の共有ができたのは現実的な効果につながりそうです。
- 硬くて敬遠したくなる内容を柔らかく面白く説明いただき、全編興味深く(飽きることもなく)拝聴させていただきました。ありがとうございました。
- 全般的に役に立ちそうです。10の対策に絞ってここをしっかりやろうという指針を出してくれたことも、ありがたかったです。
- 事例も挙げつつ、実際にどのようなコーディングをするべきかを教えていただいたため、業務で目にしたコーディングを思い出し、それぞれの意味の理解を深められました。