2024年度SecHack365を修了しました!
初めに
手羽先.png
Hello, 手羽先です!2024年3月をもって、NICT主催のSecHack365を無事修了したので、参加しての感想や記録、振り返りなどしていこうと思います。
ちょうど6月にシアトルのGoogleで登壇することになったので、その話もちょっと交えながら。
SecHack365とは?
- 主催:国立研究開発法人情報通信研究機構(NICT)
- 対象者:25歳以下を対象
- 期間:一年間(365days)
- 概要:セキュリティイノベーターとしてセキュリティのさまざまな課題にアイディアで切り込める人材を育成する長期ハッカソンです。
- 選考:日本全国から40名のみ
- 5つのコース
- 表現駆動コース
- 学習駆動コース
- 開発駆動コース
- 思索駆動コース
- 研究駆動コース
こんな感じのセキュリティガチ勢が集まるガチ系長期ハッカソンです。
どんな人が参加していたか
- バイナリデータをゴリゴリ
- CTFゴリゴリ
- Yahoo、CyberAgent, Flattなどのインターンに選抜
- セキュリティ関連の大会に出場経験あり
- ネットワーク関連に精通
- CDN、分散システム自作
- AIゴリゴリ、FW作ったりマルウェアか推論したり
- ハードウェアゴリゴリ
- 全国トップ、世界で戦うCTFプレイヤー
- セキュリティやプログラミングは初心者だが、芸術やコンセプト、思想が鋭利
- セキュリティなんもわからんけどAI数学とAIセキュリティには誰よりも詳しかったから選ばれた人←著者
いわゆる強い人たちが参加して、それぞれ自分の分野で取り組んでいました。40名という数字は全国で見れば上位数%なのは間違いないわけですが、実際に40名の中に入ると「こんなに強い人が沢山いるのか」という逆の感覚にもなる。
それでいて、やっぱり選抜される人たちは何かしら尖っている部分があって、話せば話すほどその人の実力が浮き彫りになるし、常識はずれのことや考え方、感じ方、考え方の差に刺激的な日々でした。
自分はセキュリティやローエンドに詳しいかと言われるとYESとは言えず、Webプログラマーとしての基本的な知識しか興味がなかった(CSRF,XSS, Cookieなど)そんな自分がなぜ採択されたかと言えば、AIのローエンド,AIセキュリティ,VPLというドメインにおいてはSH365の中でも突出していたという理由が大きい。
セキュリティについて知らない人でも、全国40名から選ばれるにふさわしい何かしらの能力が突出している人が選ばれていた。ただ、あくまでもセキュリティがメインのハッカソンなわけなので、完全初心者だとまた別ベクトルの能力が必要になり、それはそれでもっとレアになるので頑張る必要がある。
何をするのか
ちょうど最近、2024年度生の作品が全て掲載された。ここから見てみると面白い。新しいアーキテクチャや技術を作ったり、プロトコルの研究など、とても幅広い。
私は何をしたのか
AIセキュリティについて学習できるWebアプリ「MagicDelta」
というタイトルで活動していた。PDFを見てもらえばわかると思うが、AI自体難しい&AIセキュリティの認知度が低いのでそれを解決するためのWebアプリを作っていた。
振り返り
私は開発駆動コースの仲山ゼミに採択された。仲山ゼミは主にWeb技術がメインで、川合ゼミは自作言語やFWを作る人が多い。
仲山ゼミは他のコースに比べてもかなり開発する方で、「とにかく作れ!」の精神。MTGは月に一回のゼミもある中、仲山ゼミは毎週夜に1~2時間メンバー全員でMTGをするという習慣があった。多分SH365の中でトップクラスだと思う。そのおかげで毎週締め切り駆動で開発を続けられたし、短期間でのPDCAサイクルを行えた。
ではそのMTGでは何をやっていたかというと、特定のFWにのっとって振り返りをしていた。例えば、基本的にはYWT(ワイ・ダブリュー・ティー)という振り返りのFWを使った。これは、
- やったこと
- わかったこと
- 次やること
について記述するFWだ。ここに、毎週の進捗を書いていく。
実際の自分の振り返りはこんな感じ↓
このボリュームを毎週やるので、なかなか楽しくも大変なところはあったが、逆にボリュームがないということは活動できていないことになるので、嬉しい悲鳴だった。同じ仲山ゼミの人達もみんな同じFWを使うが、SH365の活動だけを書いたり、文書は10行ぐらいだけど実際に作っているデモやPC画面を共有したりするなど、様々な表現を使っていた。
自分はとにかく揮発性の高いメモリを装備しているので、何か取り組んだたびにBacklogに追記していった。SH365以外に、仕事や趣味でやっていること、LT登壇やコンテスト応募、採択、入賞、などなど、幅広く自分がやってきたことを共有していた。
以下から、SH365での一年間をYWTでまとめてみる。
やったこと
- AIセキュリティの勉強ができるWebアプリの開発
- 他のゼミの人との交流
- 認証認可の勉強
- OAuth,OIDCの勉強
- CTFに初挑戦
- SQLインジェクション
- バイナリの勉強
- AIセキュリティの勉強
- SECCONへの出場、優秀賞
- セキュリティ関連のLT参加、イベント参加
- セキュリティの勉強
- AWS, GCPの勉強
- チーム開発
- ランニング
- イベント終了後、打ち上げ飲み会
- セキュリティ関連の技術書も買って勉強しまくるなど。
わかったこと
SECCON13の会場でワークショップをした際の写真.png(仲山先生撮影、この時間に来てくださった👏)
- CTFは初心者向けのやつからやれば全然楽しいし解ける
- 現段階ではWeb以外興味ないのでWebだけ解けるようになるのもあり
- Webは俺に任せろ!になりたいが、CTFのトップが言うにはWeb門でも他の技術が求められることが高レベルの問題では多いので、結局広範囲をやらないといけない→ですよねー。
- 習慣化大事
- マンダラチャートを作って目的と手段、習慣を管理
- 物事をうまく進めるためにかなり重要な習慣だと分かった
- 犯罪、法律について
- 認証認可面白い
- OAuthはライブラリを使って実現していたが、一度自作してみたい
- AIセキュリティは情報がない
- 今のところ一冊しか本が無い
- SH365に参加しているみんな凄い
- バックグラウンドも分野も様々だが、それぞれが尖っていて面白い
- お互い尊敬しており、心地よい
次やること
- 2025年版のマンダラチャート作成
- 2025年度のSH365の募集が始まったのでそこらへんで何かしらやる
- 提案書の書き方解説や相談対応など
- セキュリティの勉強
メンタルの保ち方
SH365には強い人が沢山いて、自分なんてレベルが低くて生きてる意味ないんじゃないか…となる時期もあったのですが、やっぱり自分の強みの部分は誰にも負けていないということが分かり、仮に相手が強いなら相手は弱いし、相手が弱いなら相手は強いんだなぁという新しい視点が身についた一年でした。単純に人生は時間軸が有限リソースなので、他人がXXXを自分よりできたとしても、YYYはその人より自分の方ができるというのは自明なので、そのメンタルで生きるのは大事ですね。
とはいえ、自分はセキュリティの畑の人間ではないので、ちょっと俯瞰しながら「この人たちは凄いなぁ」という視点でも見れたのもありました。
今後の活動
これはSecHack365と個人的な話も含めて話そうと思います。今年の4月末で会社を辞めさせていただくことになったので、5月からはZEN大学一期生として活動していきます。その中で、
- セキュリティの勉強
- 登壇、LT
- イベント参加
- ハッカソン参加
- インターン参加
- 未踏IT
- TGCA
- クマ財団
- TGS2025
などをやっていきます。何気にインターンに参加したことがなかったのでやってみたい気持ち。SH365の人はほとんどインターン行ってる人が多かったので、自分もそのレベルに行ってみたい。SH365生と今でもDiscordでつながっているので、東京に行く機会があったらせっかくなので話してみたいな~と思ってます。SecHack365にはReturnsという同窓会もあるので、良いコミュニティです。
あと、直近だとGoogle(シアトル)で登壇してくることになったので、それのLT資料作成や手続きなどやっていく感じです。
今年の目標として、毎月東京に行く、海外に行く、中途採用でも通用する技術力をつける、というのがあるので、それに向けて全力でやっていきます。
全てに感謝を
今思えば、真夜中に「あと10分で応募締め切り!!」とか言いながらSecHack365に応募していたのに、もう卒業生になってしまいました。まさか一発で受かるとは思ってもいなかったし、運が良かったな、周りの方に助けられたなと思います。SH365活動期間中も、年齢関係なく仲良く楽しく接してくれて、とても良い友達、仲間ができた一年でした。本当にありがとうございました!
セキュリティ、やっていきますか
自分は個人開発もやっているので、やはりセキュリティは切っても切れない関係にあります。セキュリティは難しいですが、もう今の私にはSH365で出来た友達や先輩がいるので、分からないところは教えてもらえます。双方が高めあえるような環境にあるので、引き続き新しい分野に手を出していきます。
すでに多くの24年度生が振り返り記事を投稿していて面白いので、ぜひご覧ください。
ここまで読んでいただきありがとうございました!
Discussion