脆弱性発見のプロ集団ーーリクルート「レッドチーム」の仕事とは?(4/5 ページ)

» 2018年01月16日 08時00分 公開
[高橋睦美ITmedia]

 「人材領域でナンバーワン企業を目指す」という目標達成に向け、セキュリティの確保は欠かせない課題だが、「果たして、この少数の部隊でどこまで守れるかが課題だと感じています」(西村氏)という。

 そこで取り組んでいることの1つが「人材育成」だ。ある程度の開発経験を持つエンジニアがRECRUIT RED TEAMに異動し、約半年で脆弱性検査やセキュリティエンジニアリングに関する知識を、実務を通して徹底的に学ぶ。その先はセキュリティを極めてもよし、元いた部署にレッドチームでの経験とノウハウを持ち帰って、セキュアな開発やソースコードレビューに役立ててもらうもよし、という具合だ。いわば「社内留学」のような取り組みといえる。

 「“留学生”に『レッドチームは楽勝だった、意外とぬるかった』なんて言われたくないので、求めるレベルは高めに設定しています。例えば、かなり難度が高い資格であるSANS GWAPTの取得だとか、オープンソースソフトウェアのゼロデイ脆弱性を複数見つけるとかいったチャレンジングな課題を設け、圧倒的成長を遂げられるよう鍛えています」(西村氏)

 今まさに、Androidアプリ開発の傍ら、セキュリティに興味を持ちCTF(Capture The Flag:セキュリティ技術を競うコンテスト)にも参加している若手エンジニアが加わり、鋭意特訓中だという。

 もう1つの取り組みは、検査の自動化だ。権限管理の問題のように、どうしても人の目で検査せざるを得ない部分はあるものの、それ以外の部分はできる限り機械に任せられる仕組みを目指す。

 「リクルート社内でよく使われているフレームワークや言語を前提に、ありがちな脆弱性を自動的に見つけられるような仕組みを作ろうとしています。いわゆるソースコードスキャナですが、決して汎用的なものではなく、われわれのソースコードの特徴を分かった上で、なるべく誤検出を減らし、本当に深刻な脆弱性を見つけたいと考えています」(杉山氏)。

 ここで大切なのは、サービスそのものにダメージを与えないこと。セキュリティを優先するあまり、脆弱性を見つけるためにとにかく検査しまくり、サービスを落としてしまっては本末転倒だ。

 そこで、開発チーム側の許可を得てGitHubのアクセス権限を与えてもらい、開発環境のソースを確認して脆弱性を報告するというアプローチを考えている。ビルドからセキュリティテスト、修正、デプロイまでを自動化する「DevSecOps」的な展開も期待できるが、本番サービスへの影響を考えると、それはやや先の話になりそうだという。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ