KENRO(ケンロー)byFlatt Security

KENRO導入事例インタビュー

アーキテクチャが複雑化しているからこそ、Webセキュリティの基礎を学ぶ必要があった。Railsへの理解も深まったと評価

2010年に設立されたウォンテッドリー株式会社は「シゴトでココロオドルひとをふやす」をミッションに、個人ユーザー数330万人、登録会社数42,000社を突破したビジネスSNS「Wantedly」を運営しており、2017年に東京証券取引所マザーズに上場しました。 個人向けには気軽に会社訪問ができる「Wantedly Visit」、名刺管理もでき、出会いを記録し、活躍を共有する「Wantedly People」を。企業向けには採用広報サービスや入社後の従業員の定着・活躍を支援するオンライン社内報「Story」、チームマネジメント「Pulse」などを提供しています。

課題

  • エンジニア採用に当たっては一定以上の技術力を持つメンバーのみ採用していたが、それでもセキュリティに関しては技術・知識の差があった
  • メインで利用しているRuby on Railsはセキュリティに関してもフレームワークが担ってくれることが多いのでエンジニアがセキュリティの基礎を学ぶ機会が少なく、それがアーキテクチャの複雑化に伴って課題となっていた

効果

  • 課題に感じていたWebアプリケーションのセキュリティの基礎についてを実践的に学ぶことができた。また、Ruby on Railsのソースコードを用いた演習によりフレームワークへの理解も深まった
  • 社内で推奨していたセキュリティに関するドキュメントの内容は完全には浸透していなかったが、「KENRO」によってそれを補完することができた

今回はCTOの川崎禎紀さんに、「KENRO」を導入した経緯、感想、効果を伺いました。

もはやRuby on Rails単体ではなく、アーキテクチャが複雑化しているからこそセキュリティを基礎から学ぶ必要があった

image3

CTOの川崎禎紀さん

――「KENRO」を知ったきっかけを教えてください。

川崎禎紀さん(以下、川崎さん):まずFlatt Securityさんは、自分と同じく東京大学出身の方が立ち上げたスタートアップ企業ということもあり、創業当初から気になっていました。そんな中、Twitterで「KENRO」に関する投稿を見かけて、サービスにも興味を持ちました。

――今まで、セキュリティに対してどのような課題を持っていたのでしょうか。

川崎さん:約10年間、ウォンテッドリーのCTOをしている中で、「ユーザーに持続的な価値を届けるためにはセキュリティ強化が重要である」と日々、痛感しています。

弊社に所属しているエンジニアはセキュリティに関する意識は高いと自負しています。新卒メンバーも、サマーインターンなどを経て採用しているので、一定のレベルが担保されています。

しかし、体系的に学べる研修などを実施していたわけではなかったので、セキュリティに関して徐々に知識差が生まれてきていることに課題を感じていました。

また、私たちはRuby on Railsのフレームワーク上で開発していますが、だんだんアーキテクチャが複雑化していることも課題になっています。

Ruby on Railsはよくできているフレームワークです。普通に使っているうちは脆弱性も生まれにくいでしょう。しかし、だからこそフレームワークが担ってくれている基礎的な部分をエンジニアが学ぶ機会が少ないのです。そうなるとRailsの標準的な使い方から外れて行った時に、どのようにすればセキュアに開発できるかわからなくなってしまいます。

例えばフロントエンドのコードベースが別リポジトリに分かれたり、GraphQLのゲートウェイを挟んだり…といった場合ですね。それゆえ、セキュリティに関しては基礎的な部分から学習する必要があり、開発組織のセキュリティ技術を底上げするには、「KENRO」が適しているのではと思いました。

――「KENRO」を選んでいただいた決め手を教えてください。

川崎さん:まずはトライアルを3名で受講してみました。セキュリティに関する基礎知識って技術書を読めばある程度の概要はつかめますが、実践するのはなかなか難しいですよね。「KENRO」なら堅牢化演習を通じ、理論と実践のギャップをカバーできるのはと思いました。

御社のセールスの齋藤さんが「『KENRO』はCTF形式のハッキング演習だけでなく、堅牢化演習もあるので、CTF形式のみの教育サービスとは全く違う」とおっしゃってたんですね。聞いた時は「売り文句として理解できる」程度の感想でした。しかし、実際に触ってみるとやはり堅牢化演習の価値は高く、「その通りだ」と感じました。

また、「KENRO」がRuby on Railsに対応している点も選んだ理由の一つです。

image1 編集注:「堅牢化演習」はコードを書いて脆弱性を修正する演習です。修正するソースコードはPython・Java・Go・PHP・Ruby・C#から選ぶことが可能で、Rubyの場合はRuby on Railsを想定したソースコードになっています。

――懸念点はありませんでしたか。

川崎さん:強いて言うなら金額でしょうか。しかし「KENRO」の受講を経て、セキュリティに対する共通知識を持てるようになったら、コードレビュー等コミュニケーションにかかるコストを下げることができます。それを考えると、決して高くはない金額だと思います。実際、いい投資だったと感じています。

演習形式で、新卒エンジニアも楽しみながら受講できた

――どのような方に受講していただいたのでしょうか。

川崎さん:新卒を含めて24名が受講しています。モバイルネイティブアプリ担当以外のエンジニアはほぼ全員が受講しています。

――「KENRO」を実際に受講した方々の感想を教えてください。

川崎さん:演習をメインとする形式なので、ゲーム感覚で楽しみながら学習していたようです。

今回の受講を機にセキュリティ学習についてアンケートを取ったのですが、会社から推奨しているRailsのセキュリティに関するドキュメントの内容が意外と浸透していないことがわかりました。「KENRO」を受講することで、改めて受講対象のエンジニア全員がセキュリティ技術の全体像をつかむきっかけになっています。

また、Ruby on Railsはフレームワークレベルで脆弱性を防ぐ仕組みがいくつもありますが、開発者自身が気をつけないといけない点も多々あります。先ほどお話しした課題に近い話ですが、フレームワークレベルの仕組みがあるからこそ意識が低くなりがちなので、堅牢化演習で実践形式で学べてよかったという意見もありました。

――運用やマネジメントはどのようにしていたのでしょうか。

川崎さん:受講期間を1か月に設定したのですが、意外と早めに完了した人が多かったです。業務の合間を見て、それぞれ 自分のペースで進められたようです。ただ、新卒の中には、苦戦している人もいました。最後のほうは「やり切ろう」とお互いにはっぱをかけ合いながら進めていました。

※編集注:「KENRO」の受講可能期間は12か月です。

フレームワークの理解を深めることはよりよいエンジニアリングへの第一歩

image2

ウォンテッドリーのオフィスの様子

__ ――今後、「KENRO」をどのように活用する予定ですか。__

川崎さん:フレームワークの理解を深めることはよりよいエンジニアリングへの第一歩だと思っています。今回「KENRO」を受講することで、そこに意識が向くきっかけになりました。

一般的なWebアプリケーションのセキュリティの基礎的な部分は習得することができたので、今後も利用するのであれば、GraphQLの基礎とセキュリティのコースを受講したいと思います。

――今回のインタビューを読んでウォンテッドリーに興味を持った方におすすめの記事などありますか?

川崎さん:最近(編集注:2021年8月)Web版を公開した「Wantedly Engineering Handbook」がぴったりですね!Wantedly における開発プロセスや技術戦略の概要を高速に理解できるように作っています。

常に更新され続ける社内ドキュメントの公開なので常に開発チームの最新状態がわかります。ぜひ覗いてみてください。

Wantedly Engineering Handbook https://docs.wantedly.dev/

無料でコンテンツを試す

実際の演習やコンテンツの一部を今すぐに体験できます。(クレジットカード登録不要 / 期間無制限)

機能や活用事例をすぐに知りたい方はこちら