🐈‍⬛

Flatt Security 2024サマーインターンに参加したお話

2024/08/26に公開

はじめに

2024年8月19日から23日にかけてFlatt Securityのサマーインターンに参加しました!

Flatt Security ってどんな会社?

「外貨を稼げる1兆円企業を目指す」を目標に掲げて、セキュリティで日本を変えようとしている会社です。
セキュリティ診断とShisho Cloudを主軸として開発者のためのサービス提供を行っています。
技術力の高い人材が集まっており、現在急成長している企業です。
少しでも興味を持った方はぜひ公式サイトをチェックしてみてください。
https://flatt.tech/

概要

5日間を通してWebセキュリティ診断の全体像を掴むことができます。
前半でFlatt Security独自のトレーニング教材で学習し、
後半は実際にセキュリティ診断を行い、報告書まで書き上げます。
また、ランチや懇親会などでFlatt Securityのカルチャーを感じることもできます。
詳しくは 新卒採用 のページから確認できます。

サマーインターン応募

応募した動機は以下の3つでした。

  • Flatt Securityに興味を持っていたから
  • 実際の業務内容(Webの脆弱性診断員の仕事)を知りたいから
  • 技術を身に付けたいから

セキュリティミニキャンプなどで名前をよく耳にしており、Flatt社員である@Azaraさんとは何度かお話ししたこともありました。
また、ソースコードを読みながら診断ができるという点でも魅力的な会社だと感じていました。
https://blog.flatt.tech/entry/2023_assessment_new_policy

応募課題の内容は以下の3つでした。

  • 応募の動機
  • 技術的な経験
  • 興味がある技術・脆弱性

技術的な経験では、今までのnotionメモをひたすらアピールしました。
また、興味のある技術はセキュリティキャンプの応募時に調べた内容をまとめたものを書きました。
脆弱性に関しては、Log4Shellについて書きました[1]

内容

前半: Flatt Security Training(トレーニング教材)

KENRO[2]の元となった、”Webセキュリティ診断員”のためのセキュリティ学習サービスを体験しました。
XSSの項目でCSPヘッダに書かれていてレベルが高いなと思いました。
各項目の最後にはブラックボックス診断やホワイトボックス診断による演習があり、実務を意識しながら問題に取り組めました。

後半: セキュリティ診断

ソースコードを読みながら実際に診断を行いました。
ORCAsというFlatt Security独自のセキュリティ診断プラットフォームを使って情報を記録しながら進めていきます。
https://blog.flatt.tech/entry/introduction_to_orcas
めちゃくちゃ便利だったので、少しその魅力を語りたいと思います。

ORCAsについて

セキュリティ診断時に並行して使うことで、情報の整理や報告書作成を容易にすることができます。

魅力は大きく4つあります。

1. 情報の整理

診断対象のエンドポイントや診断状況、脆弱性の情報などを簡単に記録できます。
ORCAsによる一元管理ができるため、膨大な情報も関連付けて見やすく表示することが可能です。


2. プロジェクト管理

膨大なプロジェクトでは特に混乱しやすい進捗状況が詳細に表示されます。
これにより、確認漏れや重複した検査が発生しにくくなります。


3. 報告書作成

1の情報整理の地点で診断対象と脆弱性の内容が関連づけられているため、転記の動作が不要になります。
また、決められたフォーマットに沿って情報を入力することで容易に整った報告書が出来あがります。
Markdownを使える点も非常に便利です。


4. 診断品質の担保

診断項目を列挙するためのテンプレートが作成できるため、一定以上の診断品質を保つことができます。
また、診断員が検査項目データベースを更新することで知識や経験を共有することができます。
さらに、診断書のレビューを受けて、承認が得られるまで提出できない機能もあります。


そのほかにも様々な魅力があります。
詳しくは 公式ブログ を読んでみてください。

感想としては脆弱性診断の楽しさと難しさを感じました。
序盤はディレクトリ構造やコードの流れを理解するのに時間を要してしまいました。
認証周りの脆弱性を重点的に調査したのですが、とても難しかったです。
一つの脆弱性も残してはならないため慎重にコードを読む必要があり、集中力が削られていきました。
慣れていくと、脆弱性の深刻度を考えながら楽しく診断ができました。
XSSは多くの活用法があるため、そのアプリ内でどんな攻撃に発展させられるのかを調べる過程は少しワクワクしてしまいました。
あまり脆弱性を見つけられなかった点は悔しいですが、とても楽しく診断ができてよかったです。
次の診断ではディレクトリ構造などの知識が活かせるため、さらに効率よく診断できます。
“診断中に診断員が成長できる”[3]というFlatt Securityの魅力を実感しました。

最終日: 報告書作成

想像以上に大変でした。
特にソースコードを頂いているため、具体的な対策を提示する必要があり、調査に時間がかかりました。
また、脆弱性を噛み砕いて、齟齬のないように説明することが難しかったです、
Flatt Securityでは「DevToolsに貼り付けるだけで再現できるJS PoC」を売りにしており、”セキュリティを知らない開発者”でも脆弱性を理解できることを意識しています。
私もブログなどで文章力を鍛えていきたいと感じました。
報告書を書き終えた後はレビューを頂きました。
例えばこのようなレビューです。

alert(1)だとどのドメインでXSSが発火しているか明瞭ではないので(popupの上にドメイン出てますが...)、alert(document.domain)などにするのが望ましいです!

読み手への小さな気遣いが感じられて、非常にいい会社だなと思いました。

シャッフルランチ

5日間インターン生や社員の方と一緒にランチに行きました。
Flatt Securityの事業方針、興味のある分野や進路などのお話をさせて頂きました。
また、Flatt Securityの初期メンバーの方に、なぜ入社を決めたのか尋ねたところ、井手さんの本気度を感じたからという話を聞きました。詳しくは実際に聞いてみてください!

デイリーチェックイン

月・水・金曜日には出社している社員とリモートの社員でお話をする場が設けられます。
意識的に会話を取り入れている点も心の健康に良いと思いました。
雑談内容は特に決まっておらず、干支の話やピーターラビットのお皿の話をしていました。

オーナーズ会議

インターン第一期生は各事業部の目標や指針を確認する「オーナーズ会議」を実際に見ることができました!!
こっそり聞き耳を立てていたのですが、会社の本気度がよく伝わってきました。
例えば「日本円を稼いでも外国に流れてしまう。外資を稼がないと意味がない。」というお話をされていました。
井手さんの目指す目標[4]は今もブレておらず、本気で日本を変えようとしている姿を見ることができました。
このようなFlatt Securityの一員である自覚を再認識できる機会が大きなモチベにつながっているのだろうなと感じました。

懇親会

ピザやお寿司を食べながら社員やアルバイトの方々と交流をしました。
直近でBlackHatがあり、Flatt Security社員の方がラスベガスに行っていたのでそのお話を聞きました。
最後はノベルティを頂きました。とても嬉しかったです!!

感想

とても充実した5日間が過ごせました。
Webセキュリティの基礎から、実際の診断方法まで多くの学びを得ることができました。
また、社員の方と話す機会が非常に多く、カルチャーに触れることができました。
社員の方だけでなくインターン生も技術力が非常に高く、自分の実力不足を強く感じました。
学習環境は約2週間使えるそうなので、使い倒したいと思います!!

脚注
  1. 選んだ理由は有名なのに知らなかったからと、RyotaKさんがセキュリティパッチのバイパスを見つけており、自分も探せば見つけられるかなと思ったからです。無理でした。 ↩︎

  2. 開発者のためのセキュリティ学習サービスです。詳しくは 公式サイト ↩︎

  3. 詳しくは こちら ↩︎

  4. 詳しくは こちら ↩︎

Discussion