株式会社メドレーDeveloper Portal

2017-10-20

開発本部のセキュリティ知識を底上げする、タスクフォースの進め方

ジョブメドレーの開発運用を担当している新居です。

メドレーでは開発本部のメンバーの技術力底上げや課題解決を目的とした短期プロジェクト(タスクフォースと呼んでいます)を実施しています。この取り組みの一環として、6〜8 月はセキュリティ知識の底上げを目指した「セキュリティタスクフォース」を実施しました。今回は、その取り組み内容を紹介します。

背景

現在、メドレーの開発本部には約 20 名のエンジニアが在籍しており、それぞれ多種多様な開発経験やスキルセットを持ったエンジニアが集まっています。

そして、前職ではフロントエンド専門でやってきたエンジニアもサーバーサイドの開発を行ったり、またその逆のケースもあったりと、各自の専門領域にとらわれないスタイルでの開発を行うことも多々あります。

課題

そういった背景の中、エンジニアが増えていくにつれエンジニア間のスキルセットに差が生まれ、ばらつきが見られるようにもなっています。今後、更に組織が拡大していくのに伴い、こうしたエンジニア間のスキルセットの差も大きくなっていくことが懸念されます。

また、メドレーは医療ヘルスケア分野に向けてサービス提供を行っており、多くの個人情報を扱っていることはもちろん、医療・介護という領域の性質上、セキュリティには非常に気をつかう必要があります。データベースに入れて保守・運用している個人情報などの取り扱いや、システム改善や新機能開発などを行うときには必然的にセキュリティにも配慮して開発を進める必要があります。

そして背景のところでも述べたように、元々フロントエンド専門のエンジニアがサーバーサイドの開発に関わるケースや、そもそもサーバーサイド開発の経験が浅いエンジニアも中にはいて、サーバーサイドのセキュリティに関して自信がなかったり、具体的な対策方法がすぐに出てこないこともあるという課題がありました(当然ですが実際の開発では PR などでレビューして問題が起きないように対応しています)。

そこで、そういったメンバーのセキュリティ知識の底上げを行い、エンジニア間のスキルセットの差を縮めていくことが必要であると考えました。

取り組み

上述した通り、

  • スキルセットにばらつきや差が見られる
  • 医療ヘルスケア分野は特にセキュリティに気を使う必要がある
  • セキュリティに関して自信がない、具体的な対策方法がすぐに出てこないこともある

といった課題感から、まずはフロントエンド専門でやってきたメンバーやサーバーサイド開発の経験が浅いメンバーをメインターゲットとして、セキュリティ知識の底上げをやっていくことにフォーカスしました。

目標としては、ウェブアプリケーション開発における最低限のセキュリティ知識や対策方法をしっかり再整理し、さらに開発で使っている Ruby on Rails 上でどのように対策するべきかを押さえるというところを目標におきました。

形式

形式としては、参加者に事前に教材の対象範囲を読んできてもらい、隔週開催の TechLunch(社内勉強会)終了後の約 20 分を利用して、内容の簡単な説明や補足、質疑応答、議論などを行う場(フォロー会)を設けました。

教材

以下を使用しました。

メイン教材:「IPA の安全なウェブサイトの作り方」

www.ipa.go.jp

サブ教材:「Rails セキュリティガイド」

railsguides.jp

メイン教材の「IPA の安全なウェブサイトの作り方」は、IPA が届出を受けた脆弱性関連情報を基にして作られており、セキュリティを考慮したウェブサイトを作る上での最低限の知識が整理できるだろうということで採用しました。

サブ教材の「Rails セキュリティガイド」は、Rails ではどのようにセキュリティの問題を回避しているのかといった方法が解説されており、実際の開発のときにどうすれば良いのかといったことが押さえられるだろうということで採用しました。

実際の開催スケジュールと、フォロー会の対象範囲はこちら。

f:id:dev-medley:20170925122130p:plain

取り組みを終えて

取り組みを終えて感じたこととしては以下になります。

技術的な観点

  • SQL インジェクションや XSS、CSRF などのメジャーな攻撃手法を参加者間で再整理できた
  • 技術的に不安なところなどは「ここはこうですよね?」という感じで確かめ合うことができた
  • 参加者が前職での経験談などをシェアしてくれる場面もあり、知見の共有ができた
  • セキュリティに詳しいエンジニアも交えて話すことで、随所で効果的にツッコミをいただき、濃密な議論ができた
  • ベテランエンジニアからは、昔流行った某サービスの某セキュリティ系障害の有名事例なども共有され、過去の歴史を知ることができる場となった

技術以外の観点

  • 普段はチーム毎に黙々と仕事に取り組んでおり、チームを跨いであるひとつの話題(今回はセキュリティ)についてみんなと会話する機会は少ないので、知識の底上げはもちろんのこと、コミュニケーションの場としても良かった

今回のように質疑応答や議論ができる場を設けることにより、他のメンバーの経験や知見も効果的に共有することができ、教材の読み合わせや講義形式では得られない知識も共有でき、取り組みとしてはうまくいったかなあと思います。

まとめ

ということで、今回はセキュリティタスクフォースについてご紹介しました。

セキュリティの知識はだれかひとりが押さえていれば良いというものではなく、開発に関わるエンジニア全員が最低限は押さえておく必要があると思います。

組織の拡大と共に、日々のプロダクトの運用・開発も大切ですが、それらを支えるエンジニアの知識の底上げなどの開発以外の部分もより大切になってきますし、そういった取り組みが組織力を高めていくのではないかと思います。

お知らせ

メドレーでは、医療介護の求人サイト「ジョブメドレー」、医師たちがつくるオンライン医療事典「MEDLEY」、口コミで探せる介護施設の検索サイト「介護のほんね」、オンライン診療アプリ「CLINICS」などのプロダクトを提供しています。これらのサービスの拡大を受けて、その成長を支えるエンジニア・デザイナーを募集しています。

www.medley.jp

医療や介護とは全く違う業界で経験を積んできたエンジニア・デザイナーが多いですが、こうした定期的な勉強会などで必要知識をインプットしながら開発しています。

メドレーで一緒に医療体験を変えるプロダクト作りに関わりたい方のご連絡お待ちしております!

株式会社メドレーDeveloper Portal

© 2016 MEDLEY, INC.