セキュリティキャンプ全国大会に参加しそびれ悲しみに暮れていた老人がネクストキャンプに参加した話

Posted on Aug 12, 2022

はじめに

8月8日〜12日に開催されたセキュリティ・ネクストキャンプ 2022 オンラインというイベントに参加しました。このイベントは25歳以下の学生や社会人対して情報セキュリティに関する教育を行うプログラムです。セキュリティキャンプ 全国大会と並行に開催されました。全国大会は22歳以下が参加できます。

実を言うと自分は、当初全国大会に応募する予定でした。応募時点で22歳だったため、参加できるだろうと思っていました。しかし、応募要項を見ると「2023年3月31日終了時点において22歳以下」であることが必須であることがわかり、全国大会にはもう参加できないことを悟りました。セキュリティを学ぶ若者の中では自分はもう年齢が高い層にいる(老人)という事実に気付かされ、悲しみに暮れました。

しかし、自分が所属しているCTFチームの先輩が昨年度ネクストキャンプに参加しており、話を聞いていた中で面白そうだと思っていたため、ネクストキャンプに応募することにしました。そして無事に参加できることとなりました。

特に面白かった講義3選

今年のネクストキャンプでは以下の全7講義が開講されました。

  • Linux Networking Programmability入門
  • CanSatをはじめよう
  • TDD+モブプログラミング
  • プログラミング言語を自作しよう
  • バイナリ生物学入門
  • ソーシャルとマンガを活用した持続可能なセキュリティ啓発
  • RF(電波)攻防戦演習

どの講義も面白かったのですが、自分が特にためになった、面白かったと感じた講義を3つ紹介します。

Linux Networking Programmability入門

「Linux Networking Programmability入門」の講義では、仮想ネットワーク構築ツールであるtinetを用いて、Linuxのネットワーク機能を用いた実験を行いました。実験では、L2のトンネリングプロトコルであるGeneveとVXLANを用いて通信を行い、キャプチャしたパケットを見て比較したり、AS間で経路情報を交換するプロトコルであるBGPを用いて通信を行ったりしました。最も重要だと感じたのは、ネットワークの専門家である講師の方が「Linux OS一つあればネットワークのプロになれる」とおっしゃっていたことです。Linuxのネットワーク機能は充実しているため、tinetを用いて様々なネットワークを構築し、パケットをキャプチャして構造を確認するプロセスを繰り返すことでかなりネットワークに詳しくなれるとのことです。他の講義と比べて2時間と時間が短かったですが、かなり充実感のある内容でした。

TDD+モブプログラミング

「TDD+モブプログラミング」の講義では、TDDかつモブプログラミングで逆ポーランド記法電卓やLispインタプリタを実装する演習を行いました。TDDはテスト駆動開発のことで、「まず実施するテストを書き、テストを実行して失敗させる、その後に関数を実装してテストをパスさせる」というサイクルを繰り返します。モブプログラミングは、3人以上で行うプログラミングで、コードを書くドライバーとドライバーに指示を出すナビゲーターに分かれて開発を行います。自分は2人で行うペアプロは経験がありましたが、モブプロに関しては経験がありませんでした(モブプロのことをモブキャラがするプログラミングのことだと思っていたことは秘密)。実際にやってみると、テストが複雑になってしまったり、ドライバーが一人で実装を進めてしまったりとTDDとモブプロの両方で問題が発生しました。しかし、最終的にはいい感じに進めることができるようになり、TDD+モブプロの良さを実感することができました。今後、複数人で複雑な実装を行う場合などにはぜひTDD+モブプロで開発したいと思います。

バイナリ生物学入門

「バイナリ生物学入門」の講義では、バイナリを生物として扱うことで進化的にバイナリを生成する「バイナリ生物学」という新たな学問を学びました。また、daisy-toolsを用いて進化的にバイナリを生成する演習を行いました。正直、講義を受ける前は「なんだこの怪しい講義は…」と思っていたのですが、講義を受けてみると面白さが理解でき、怪しいものではないことが分かりました。何よりも面白いのは講師の方が一人でこの学問を生み出しておられることです。自分は思い返してみると今までの人生で、講師の方が作った学問を自分で教えているケースに出くわした事がないなと思い、新たな概念を生み出すことの素晴らしさを感じました。実際にバイナリを進化的に生成すると、なかなか実用的なバイナリを自動生成することは難しいことが分かりました。しかし、まだまだ理論に改良の余地は残されており、今後も講師の方によって改良がなされたり、バイナリ生物学の新たな流派を作る人が現れたりするのかなと想像するとワクワクしました。

全体的な感想

ネクストキャンプの他の受講生の方々は優秀な方が多い印象でした。セキュリティに興味がある同年代の優秀な方々と演習などを通じて交流できたのはとても良い機会でした。また、ジュニア(小中学生)や全国大会の方々の成果発表などを聞いて、技術へのこだわりや熱量がかなり高いと感じました。そして、全国大会の講義で面白そうなものがいくつもあった(特にプロダクトセキュリティのBトラック)ので、その公開資料を見るなどして勉強したいと思っています。

おわりに

n年後に講師としてセキュリティキャンプに参加したいと思いました。そのために、自分の専門分野を極めつつ発信も積極的にしていこうと考えています。また、チューターというポジションが魅力的だということも分かりました。チューターになって受講生のサポートをしつつ、自分が受講生として参加しそびれた全国大会の講義を聞くのも良さそうだと思っています。とにかく今回のキャンプを通じてかなりの刺激を受けたので、これを利用していっぱいパソコンカタカタしたいと思います。

関係ない余談 : ラスベガスに行っている方々のツイートがかなり羨ましいので、力をつけて数年後にはなんらかの形で、8月のラスベガスのセキュリティイベントの参加パスを獲得したいです。