Reports

リクルートでセキュリティエンジニアとして 1 ヶ月インターンシップをさせてもらいました!

情報セキュリティを専攻している、修士 1 年生の平尾です。
#RECRUIT Internship for Engineers, Data Specialists 2023
#エンジニアコース
#セキュリティエンジニア
に参加させていただきました!

選考参加前

当時は、夏のエンジニアインターンシップに参加するぞ!というモチベーションでインターンシップ探しをずっとしていました。今数えてみると14社くらい受けていたみたいです。リクルートの募集は魔法のスプレッドシートで知り、そこから具体的な情報を集め始めていました。
ちなみに皆さんはインターンシップの詳細情報をどうやって調べていますか?私は当時、X(旧Twitter)とかで「リクルート インターンシップ」で検索していました……が、英単語の関係上、他の企業の採用(=recruit)情報がいろいろ引っかかってしまい、全然うまく見つけられませんでした。リクルートだからこそですね。そんな中で、決め手は前々回インターンシップの参加者である知人にお話を聞かせていただけたことでした。知人のお話では、とにかく「やりたいことを尊重してくれ、一緒に考えてくれた」「メンターの方々の補助が手厚かった」などいろいろ情報をいただき、非常にリクルートのインターンシップへのモチベーションが上がったのを覚えています。また、セキュリティエンジニアの募集枠があるかつユーザー企業で開催されるインターンシップが少なかったことも要因です。しかし正直「めちゃくちゃ人気のインターンシップだし受からないだろうな」という気持ちで、ダメ元での応募でした。

選考

ここでは、インターンシップ前の選考についてお話します。

選考時の私のスキルなど

選考時の私のスキルです。誰かの背中を後押しできると良いなと思って書きます。

 - 専攻:データサイエンス/情報セキュリティ
 - セキュリティキャンプ全国大会2023修了
 - AtCoder緑
 - 同年3月からモバイルアプリの開発アルバイト開始

セキュリティに関しての経験が浅く、開発経験も選考時は3ヶ月だけと、正直絶望的な状況でした。選考合格後のインターン事前面談では「情報を自分で引き出す力が印象的でぜひインターンシップに参加して欲しい」と仰ってくれ、開発経験以外の、日常で頑張っているところも面接の中で見てくださっているのだと嬉しくなったのを覚えています。

第一希望としてセキュリティエンジニア、第二希望としてバックエンドエンジニアで応募しました。

選考フロー

技術試験や面接など複数回の選考がありました。選考内容は公開NGなのでここには書きません。
ちなみに合格の電話がきた時は、胃痛がひどく保健室で寝込んでいるときでした。おかげで胃痛がすっ飛びました。

本当にありがとうございました。

待遇詳細

RECRUIT Internship for Engineers, Data Specialists 2023

– 時給3000円
– 出社とリモートワークのハイブリッド。私は週2,3回程度出社していました。
– 遠方の人は、宿泊費一部補助あり
– 交通費も一部補助あり
– 一部食事代補助あり!!!!

破格の待遇です。奨学金をいただきながら生活していたので、これらの待遇は本当に助かりました。ありがとうございます。

また、各インターンシップ生に対して人事メンター、現場メンターのふたりのメンターさんをつけていただけます。
現場メンターとは、毎日30~60分程度「今日はどうだったか」「困ったことはないか」「やりたかったこととずれていないか」「雑談」などお話しさせていただき、本当に心強かったです。
人事メンターとは週に1度「今どんな感じ?」「やりたかったことできてる?」などをとてもフランクな感じで、気軽に相談させていただけました。インターンシップが終わる1週間前には「残り1週間どう過ごすか」を話す場を設けてくださり、ずっと楽しく有意義にインターンシップに参加することができました。

何をやったのか

インターンシップ全体を通して、脆弱性検査のタスクに取り組みました。インターンシップの前半後半で、それぞれ違うプロジェクトの脆弱性検査をさせていただきました。所属はPSAG(Product Security Assurance Group)配下の、RedTeamでした。

【前半】
前半では、あるプロジェクトAの脆弱性検査をしました。自社のプロジェクトだったので、ソースコードを読む静的解析から、BurpSuite(以下 Burp)で通信を解析する動的解析まで取り組むことができました。Burp を使用するのは初めてだったので、その使い方を教えていただきつつなんとか頑張りました。
この脆弱性検査では、なんと先方含む脆弱性検査報告会での報告も担当させていただきました。その際に、報告資料の文言や詳細部分まで、4度のレビューを受けました。そこで、リクルートのセキュリティ組織は「伝える力」も重視していることを知ります。PSAGを含む社内のセキュリティ組織では、「リクルート」という企業のセキュリティをずっと守り続けているからこそ、企業全体のセキュリティレベルを向上させ続けることができます。そのため、「なぜその脆弱性が発生したのか」「どういったリスクがあるのか」「改善手法とさらなる今後の対策」をしっかりと伝えることで、将来的なリスクを減らすことが可能になります。脆弱性検査は、先方にそのリスクをお伝えできたときにやっと「検査の仕事」をしたと言えるのだなと思いました。このような実務体験は、他のインターンシップで積む機会はめったにないと思います。
提案した対策手法のうちひとつは、先方に修正コードのプルリクエストを作成するようご提案いただき、なんと作成したプルリクエストがマージされました!!

他にも、Burpで検査する際に、検査を少し楽にする拡張機能の作成も行いました。リポジトリはこちらです。
脆弱性検査の手法として、responseに対してsタグを埋め込むといったものがあります。これは適切なエスケープ処理ができていないプロジェクトの場合、sタグがそのままhtmlタグと解釈されてしまい、打消し線が引かれてしまいます。もしエスケープ処理が適切でない場合、そのサービスには XSS脆弱性がある可能性があるため、この検査は必須のものと言えるでしょう。この動作を半自動化し、効率を上げるツールがこちらの拡張機能です。具体的な動作として、通信のresponseを書き換え、例えばjsonファイルが返ってきたとき、その各value(文字列)に対してsタグを埋め込んでくれます。

responseに対するsタグの自動埋め込みが動作している例

【後半】
後半では、あるプロジェクトBの脆弱性検査と、その開発上流工程支援をしました。開発上流工程支援とは、画面図や仕様書を読み、設計の段階から生じそうなセキュリティリスクやその他項目についてレビューを行うものです。前半で培った脆弱性検査のノウハウを活用しつつ、ドキュメントを読み漁りました。Burpが少しうまく使えるようになっていて嬉しかったです。

ここで、残りは約1週間、タスクは最終報告のスライド作成のみ、という状況を迎えます。すると、先述した人事メンターから
🙍‍♀️「残り一週間だね!どう過ごすかのよもやま*(後述)をしたいんだけど、どうかな?」
という連絡をいただきました。そうして迎えたよもやまでは、人事メンター目線の私への期待やアドバイスなどをたくさんいただきました。
そのよもやまがきっかけで「私は本当に残り一週間をこれらのタスクだけで過ごすのか、私は本当にそれがしたいのか」をしっかりと考え、向き合うことができました。もちろん、スライド作成も大切で必ずやらなければいけないタスクです。この参加記の執筆は自分でやりたいと手を挙げてやらせていただきました。しかし私は、せっかくの機会なので技術的なことにもう1件取り組み、そちらに関してもフィードバックをいただきたいと強く思いました。
そして、現場メンターに「追加でできそうなタスクはないですか」とお願いし、たくさんのタスクを柔軟に提示していただきました。そこで「redscanの改良」という追加タスクをいただきます。
redscanとは、ソースコードに対して静的解析を行うRedTeam製のオリジナルツールです。これによって、ソースコードのセキュリティ上のリスクが発生する可能性がある部分を列挙することができます。しかしこのツールには、計測時間が長い、といった課題が残されていたため、その改良に取り組みました。今までは、あらかじめ用意されていた脆弱性リスクの全てを対象に、ソースコード上の探索を行っていたものを、より重要度の高いリスクに絞って探索ができる機能を実装することで、実行時間を短くすることができました。
最終発表資料では、全7回ほどレビューをいただきました。

「聞いてくださる方に何か価値提供できるものを」というレビューを受け、当初のただ業務内容をお話しするスライドから大きく変更し、インターンシップ業務を通した自己分析とその結果についてお話しました。結果として、いろいろな方からの好評レビューをいただき、私自身も自分の伝えたいことを鑑みることができ、スライド作成の過程を通しても成長することができたように思います。また、社内ISUCON*(後述)でお知り合いになった方々も何人か発表をきいてくださり、とても温かな気持ちになりました。

まとめ

今回の約1ヶ月のインターンシップでは、さまざまな方に関わっていただきました。充実したメンタリング体制の中、自分の目的に沿って業務内容を考え提案いただき、自分自身でも成長を実感しながら過ごすことができました。人生の中でも、特に充実した 1 ヶ月だったと思います。今回のインターンシップを通して、自分自身の今後についてさらに熟慮していきたいです。関わってくださったたくさんの方々にこの場を通して改めてお礼申し上げます。ありがとうございました!

おまけ

社内ISUCON※ にも参加したよ

例年開催されている社内ISUCON (参考:2022年開催記事)に参加させていただきました!本家ISUCONに出たいと思いつつ出られたことがなかったので、有難い機会です。強過ぎる社員の方々とチームを組ませていただき、結果はなんと40チーム中 6 位でした 🎉 あと順位がひとつ高ければ 賞品圏内でした!悔しい!でも楽しかったので、本家 ISUCON にも参加申し込みをしました!楽しめるように頑張ります。
※「ISUCON」は、LINE株式会社の商標または登録商標です

ご飯

複数回連れていっていただきました。特に「豚捨」という牛丼屋さんの牛丼が絶品で、今まで食べた牛丼の概念が覆されました。遠慮せずに卵もつけてもらいました。もしこのブログを読んでインターンシップに参加してくださった方は、ぜひ食べに行ってくださると嬉しいです。

オフィスについて

今回、セキュリティ組織のメイン勤務地であるグラントウキョウサウスタワーと、九段下のオフィスの2箇所に行かせていただきました。グラントウキョウサウスタワーでは社員食堂が充実しており、私も3回ほど利用させていただきました。なんとオープンキッチンだったので目の前でお昼を作っていただき、本当に温かくて美味しかったです。社員食堂の雰囲気についてはこちらをご覧ください。九段下オフィスは、一言でいうと「秘密基地」でした。白い無人コンビニ、卓球台、ランニングステーションにかっこいい赤を基調とした会議室……。どこに行ってもその遊び心に心が動かされる感じがして、のびのびと働くことができる環境だなと思いました。九段下オフィスに関して、オフィス紹介サイトがまとめてくださっている記事がこちらです。見るだけでわくわくします。

面白い文化(よもやまなど)

リクルートには「よもやま」という文化があります。これは、社員間での交流を促進する「テーマ自由の 1on1」です。インターンシップ生もこの文化を体感させていただき、私は期間内に14人の方々とよもやまをさせていただきました。主にセキュリティ組織に所属していたため、PSAGの皆さんはもちろん、SOCの方々ともお話をさせていただけて、とても有難い機会でした。また、セキュリティ組織からは離れた方ですが、先述したAtCoderというサービスで尊敬している、ヒューリスティック部門で世界7位(2023/9/1現在)であるtomerunさんにもよもやまのご快諾をいただきました!急にお声がけしたにも関わらず、掲載許可までいただきありがとうございます。現在リクルートでデータアプリケーションエンジニアとして働かれており、強みを活かして最前線でサービスをより良いものにするお仕事をされているそうです。
また、折角なのでよもやまなどでさまざまな方にお伺いした「なぜあなたはリクルートに?」の結果を載せて、こちらのブログを締めさせていただきます。こちらは、インターンシップの最終報告発表の閑話休題としても発表させていただいたものになります。

14人に聞きました!リクルート入社理由ランキング!

1位:尊敬できる方がいた
2位:副業ができる(いろいろな経験の機会をあきらめなくてよい)
3位:ストレスなく働ける

ありがとうございました。

Reports