しゅういちのぶろぐ

活動記です.アウトプットにも使う予定です.ジャンルは多岐にわたる予(ry.

参加者内最弱による、セキュリティキャンプ全国大会参加記2018

はじめに

こんにちは。しゅういちです。インドカレーの人です。 この度セキュリティキャンプに行ってきたのでその報告をしたいと思います。
自分は参加者の中で技術的に一番弱いと自負(?)しているため、自分なんて弱いし応募を見送ろうかな...と思っている人が応募するきっかけになればいいなと思い書かせて頂きました。

応募課題

キャンプ-100日目。

そういえばセキュリティキャンプってこの時期に申し込みだったと3月頃に思い出し、100日前ぐらいにホームページを見に行ってみた。
すると、様々なプログラムが用意されており、私はまるでキラキラした宝石箱の中を見たかのような感覚に襲われた。
しかし、私はセキュリティエンジニアとしては初心者も初心者で、どの応募課題も難しく、応募を諦めようと思っていた。
すると目に入り込んだのは集中開発コースのデータベースゼミであった。このコースは今年度からできたらしい。
応募課題をする際どれだけ調べてもよく、募集案内の文章に魅了されて応募してみることにした。
ダメ元で通ればいいと思っていると、なんと募集定員2名のうちの1人に選ばれており、手違いなのではととても震えていたが、そのような連絡は何もなく、こうしてキャンプに参加できるようになった。

こちらで応募用紙晒しています。

ups.hatenablog.jp

事前課題

キャンプ-50日目

先方から連絡が来て、事前学習が始まった。応募課題をするまではDBはデータを出し入れしたりする何かという認識で、応募課題を通してトランザクション処理の素晴らしさを学んだ程度の素人であった。事前学習では、主にトランザクションに関する「読み物」を講師の星野さんに書いて頂き、そちらを学びつつ実際のコードを書いていくという方針になった。
普段の講義や試験前であったりインターン先での業務などで、事前準備を十分にやりきれなかったのは自身の見通しの甘さを実感した。 いまだに噛み砕ききれていない情報が多々あるので、実装を通して理解していきたい。

キャンプ-7日目

名刺作った。

想定していたところまでの実装が遅々として進まない。この頃から人生が厳しくなってくる。

C++での実装(数百行程度)に慣れていなかったというのもあるが、インデックス構造に用いるデータ構造をうまく実装に落とし込めなかった.

キャンプ0日目

インデックス構造が実装しきれない。つらい。

キャンプ本番

キャンプ1日目

起床チャレンジ成功からの新幹線に乗る。

会場に着いた。

開会式が始まり、いろんな人の話を聞いて、そこからの全体講義。楽しい。

LT大会が始まった。皆さんの技術力の高まりがやばい。明らかに訳わからないのに面白いの本当最高すぎる。 個人的MVPは講師のNTTの人のファイアウォールの話かチューターさんのWiiを使った話。 あっ、自分は自作インドカレーのLTしました。

https://drive.google.com/open?id=1BAwDvMSuST5okF8_3UIOxqcI2oMkH41F

その後グループワークの時間となり、コミュ障にはつらいタイムが始まる。hsjoihsプロにエンカできた嬉しい。

なお事前課題はなかなか終わらずつらみがやばい。バグってる所のパッチを星野さんに作ってもらった。感謝。

キャンプ2日目

8時に起きた。

本格的な開発が開始した。とりあえずバグを取り除こうとするも、なかなかうまくいかない。
サイトで写経してきたものそのままだとやばいなと思い、構造をどうするか1から自分で考え始めた。
とりあえずinsertする時にfindするので、そこの部分を分離してみた。
苦しみの記録

キャンプ3日目

ついにinsertのバグがなくなった。今までこの段階からのバグに散々悩まされていたのでとても達成感があった。
また,これまでデバッグはprintデバッグだったと星野さんに言うと,gdbを使いましょうとのことなのでgdbを使ってみた。
どこでセグフォが起きているのかとてもわかりやすく、デバッガの素晴らしさを実感した。

次はdeleteをもう一度1から実装してみた。バグが出てきた。ここからさらなるつらみが起きた。
この日の企業公演で、LINEの独自の暗号化技術の話がとても面白かった。 TLS1.2ではハンドシェイクが多くて通信が遅いため,独自で実装したという話(ですがこれはTLS1.3で改善された話のため).

その後ホームルームや他トラックの見学があった。面白い話が聞けて良かった。

キャンプ4日目

実質的な開発最終日。夕方にはトラック内での発表もあるため時間が少なくて悲しみの雨。

昨日からのバグはそのまま永遠と取れず、開発フェーズは終了した。
次は発表のためのスライド作成に移った。
トラック内の他の人の発表がとても高度で、自分もまだまだ精進しなければならないなと思った。
晩御飯フェーズ

この日の企業公演で、ゲヒルンの人(特務機関NERVの中の人)の話が非常に面白かった。強い人の話はうまく飲み込みきれないが、とても刺激的で最高だった。
グループワーク終了後には楽しい楽しいプレゼントタイムがあった。欲しかった大熱血アセンブラとか脆弱性診断とかブラウザハックの本が無くなってて悲しかった。代表者じゃんけんはよくないと思う。各位本当ごめんなさい許して。

キャンプ5日目

この日はグループワークである、キャンプ終了後の将来について記入するフェーズがあった。
勉強会を開いたりするのはまだまだ厳しいが、サークル内で勉強会を行ったりして、自身のアウトプットとセキュキャンの宣伝を同時にしていきたいといった内容のことを書いた。宣言したからにはその通りに実現していきたい。(追記: 全くできていないです新学期からやれたら良いなと思っていますはい)

次は全体での成果報告があった。前での発表はまだまだ慣れないが、それなりにはできたと思う。

やはり周りの発表と比べて技術的に見劣りしているように感じたので、今回キャンプでやったことを引き続きやっていき、より高度なことをしたいと思った。 (追記: githubのコミット履歴がこの日から何も進んでいないですごめんなさい数年スパンで時間を見つけたらやっていきたいです)

そして閉会式。プロデューサーの方々は皆、アウトプットや継続的に続けていくことの大切さなどを話していた。

まとめ

今回自分がこのようなプロの集まりに参加できるとは思っておらず、非常に楽しい時間を過ごせました。
ここ最近は「とりあえずチャレンジしてみよう!」を合言葉に生活していて、その一環で申し込んだのですが申し込んでみて本当によかったです。
何事も行動しないと始まらないし、持続して取り組むことの大切さを学べました。
また、全国の同じ道を志す人達や素晴らしい実績を持つ人々と繋がれて幸せです。
反省としては、やっぱり色んな人ともっと話をするべきだったなと思います。
キャンプは終了しましたが、ここがスタートラインだと思っています。 どんなことがあっても楽しくこれからも開発に取り組めたらなと思います。
そして、ここで学んだことを色んな人に布教して、低レイヤとセキュリティに興味を持つ人をもっと増やしていきたいです。
最後に、セキュリティキャンプの事務局・講師・チューター・参加者の方々、ホテルの従業員の方々、見学者の方々全てに感謝を。 特に、講師の星野さんには本当にお世話になりました。ありがとうございました!!