はじめに
Flatt Securityでは2019年末から2020年始にかけて1週間の短期インターンを3日程実施しました。本記事は2番目の日程で参加された@ei01241さんによる体験記になります。
読者の皆様には実際の参加者の文章を通してFlatt Securityの雰囲気をより知っていただけたら幸いです。以下本文になります。
はじめまして、@ei01241です。 Flatt Securityさんでインターンに参加した体験記をまとめました。
本インターンは2020年1月27日~1月31日の5日間実施されました。 インターンの内容は独自コンテンツを利用してWebセキュリティを学習し、CTF形式で実践することで、スキルや知識を身に付けることを目的とするものでした。 本記事ではインターン前後やその心境を紹介します。
- はじめに
- インターン参加前
- 参加のきっかけ
- 事前学習
- インターンのコンテンツ
- コンテンツの内容と感想
- 受講体系
- コンテンツ以外
- ワークショップ
- ランチや歓迎会について
- このインターンはどんな方にオススメか
- インターン参加後
- おわりに
インターン参加前
参加のきっかけ
私は大学で機械系を専攻していて、趣味はセキュリティ全般です。 専攻として機械系を学んでいくうちに、その成果物が人命に直結する場面が多い分野であるのにも関わらず、全体のセキュリティに対する意識が低いなと感じることが多くなりました。 そのためものづくりの現場こそセキュリティを強く意識するべきだと次第に思うようになりました。
しかし、それと同時に、どう守るべきなのかといった具体的な構想は無い状態でした。 そんな中、2019年10月29日〜30日に行われたCODE BLUEで学生スタッフをしている時にFlatt Securityさんの話を聞きました。 私は具体的なセキュリティに触れるいい機会だと思い、インターンに参加をすることにしました。
事前学習
インターンが決定してからしばらくして事前学習の案内がありました。 内容は簡単なもので、数時間でできるものでした。 しかし、これだけでは不安だったので、徳丸本やHTTPに関する本やPHPの文法やBurp Suiteなどのツールも学習しました。 正直、この時点で頭では理解しているつもりでしたが…全然勉強量が足りないことが後にわかることになります。
インターンのコンテンツ
コンテンツの内容と感想
具体的な章立ては以下の通りで、その内容は素晴らしいの一言に尽きます。
- SQL Injection
- CSRF
- OS Command Injection
- Directory Traversal
- Insecure Deserialization
- XXE
- XPath Injection
- Cross-Site Scripting (XSS)
- Session Hijacking
- Header Injection
- Open Redirection
- DoS
ここまで体系的に整理されているものを見たことがありません。量も多く、これを全てこなせればWebアプリケーションの脆弱性に関する一通りの知識が身に付くものでした。 私のような初学者によくある、上級者に聞きにくい「なぜ〇〇するのか?」と言った素朴な疑問から説明が始まっていました。 例えば,3章のOS Command Injectionでは一見するとWebセキュリティとは関係の無く思えたbashの仕様をなぜ知る必要があるのかを説明しています。 また、上級者でも見落としがちな「ある部分にばかり意識をしていると別の部分を見落とす」ことも上手く解説されていました。
各章の最後にCTF形式の演習があり、復習と実践を兼ねることができたのもよかったです。
編集部追記: 弊社米内によるトレーニングコンテンツ制作の背景に関しては下記記事にまとまっていますので、是非ご参照ください。
受講体系
コンテンツは私も含め、2人のインターン生で行いました。
基本は各自で学習をしていき、章の終わりごとにトレーナーに評価と考察をしてもらうといった感じでした。 この人数がちょうど良かったと思います。インターン生同士でお互いに相談したり、知見を交換することができました。 また、社員さんが時々様子を見にきてくださって、学習中に関連する補足について話をしてくださいました。
今日から金曜日まで、短期インターンの学生が2人来ています!
— 株式会社Flatt Security (@flatt_security) 2020年1月27日
なんと京都⛩と鹿児島⛰からはるばる来てくださっています。
Webセキュリティと本郷周辺の美味しいご飯を圧倒的に学べる5日間にしましょう!!🔥🔥🔥 pic.twitter.com/eXNTfureXd
最終日には5日間のまとめを発表して、得られた知識を紹介しました。
1weekインターン、成果発表会です!!
— 株式会社Flatt Security (@flatt_security) 2020年1月31日
1週間お疲れ様でした👏👏 pic.twitter.com/Bev1PK3swC
コンテンツ以外
ワークショップ
インターン4日目に1時間のワークショップの時間が設けられていました。 内容は自分のキャリアについてWill, Can, Mustを言語化するワークショップでした。
その中で特に良かったことは、自分に足りないことは何かを整理することで今後具体的に何をしていくべきなのかを明確にできたことだと思います。 就活中でも見失いがちだと思いますので、自分の軸を整理する良い機会になったと思います。
ランチや歓迎会について
5日間のうち4日間(1日はフリー)、社員さんとインターン生でのランチの時間が設けられていました。 ここではキャリアに関するアドバイスや会社の雰囲気などを聞くことが出来ました。
また4日目の夜には歓迎会をしていただいて、私と社員さんの年齢は近いこともあり気軽に話せたので、とても楽しい時間を過ごせたと思います。 Flatt Securityさんの雰囲気はそこで知ることができました。
このインターンはどんな方にオススメか
Webセキュリティに興味関心がある人の中にも色々なスキルの人がいると思いますが、 特に「初学者ではなく知識はあるが、どう活かすのかわからない」層の方に勧めます。 私が思っていることとして、今のWebセキュリティの本は初学者向けか上級者向けかに分かれているように感じます。 中級者向けの書籍などは無く、CTFなどででひたすら経験を積むしかない状態です。 コンテンツの内容は「初学者を中級者~上級者に引き上げるもの」だと思いました(もちろん、上級者でも楽しみながら学習できる内容だと思います)。
私自身は普段、書籍やネットを使って勉強していますが、Webセキュリティの分野はCTF問題の演習サーバが落ちていて解けないことがあります。 また、Webセキュリティの世界では重要な概念はどれも密接に関わり合っているので、それらを混同しやすいといったことがあり、学習しづらさを感じていました。 インターンに参加して体系的に学習することで、今までの知識を整理できたと思います。
インターン参加後
参加前と比べて、Webに対する印象が随分と変わりました。 WebサイトのUIなどのバックエンド以外にも目を向けることが多くなり、視野が広がったと思います。 特に私自身の知識不足を痛感させられたことが一番良かったと思います。
おわりに
現在私はWebセキュリティやpwn(binary exploit)の勉強をしています。 インターンでトレーニングする機会がなければ本腰を入れて勉強することは無かったかもしれません。 これからも長くセキュリティの勉強が続けられればいいなと思います。
最後になりましたが、今回のインターンに関わった全ての方へ感謝します。ありがとうございました。
編集部より
Flatt Securityでは2020年3月現在は短期インターンのご案内はございませんが、長期インターン・正社員に関しては継続してセキュリティエンジニアを募集中です。 興味を持たれた方は是非お問い合わせよりお気軽にご連絡ください!