参加者内最弱による、セキュリティキャンプ全国大会参加記2018
はじめに
こんにちは。しゅういちです。インドカレーの人です。
この度セキュリティキャンプに行ってきたのでその報告をしたいと思います。
自分は参加者の中で技術的に一番弱いと自負(?)しているため、自分なんて弱いし応募を見送ろうかな...と思っている人が応募するきっかけになればいいなと思い書かせて頂きました。
応募課題
キャンプ-100日目。
そういえばセキュリティキャンプってこの時期に申し込みだったと3月頃に思い出し、100日前ぐらいにホームページを見に行ってみた。
すると、様々なプログラムが用意されており、私はまるでキラキラした宝石箱の中を見たかのような感覚に襲われた。
しかし、私はセキュリティエンジニアとしては初心者も初心者で、どの応募課題も難しく、応募を諦めようと思っていた。
すると目に入り込んだのは集中開発コースのデータベースゼミであった。このコースは今年度からできたらしい。
応募課題をする際どれだけ調べてもよく、募集案内の文章に魅了されて応募してみることにした。
ダメ元で通ればいいと思っていると、なんと募集定員2名のうちの1人に選ばれており、手違いなのではととても震えていたが、そのような連絡は何もなく、こうしてキャンプに参加できるようになった。
こちらで応募用紙晒しています。
事前課題
キャンプ-50日目
先方から連絡が来て、事前学習が始まった。応募課題をするまではDBはデータを出し入れしたりする何かという認識で、応募課題を通してトランザクション処理の素晴らしさを学んだ程度の素人であった。事前学習では、主にトランザクションに関する「読み物」を講師の星野さんに書いて頂き、そちらを学びつつ実際のコードを書いていくという方針になった。
普段の講義や試験前であったりインターン先での業務などで、事前準備を十分にやりきれなかったのは自身の見通しの甘さを実感した。
いまだに噛み砕ききれていない情報が多々あるので、実装を通して理解していきたい。
キャンプ-7日目
名刺作った。
本質情報ですが、ちゃんと名刺を作りました。
— しゅういち🐈🌎 (@hideh_1231) 2018年8月11日
しかし個人情報ガバガバなため特にTwitterにあげません。
想定していたところまでの実装が遅々として進まない。この頃から人生が厳しくなってくる。
ううううう(他の人は事前課題進んでるのに、自分は全く進捗ダメでどうして開発スキルクソなんだとつらい様子)
— しゅういち🐈🌎 (@hideh_1231) 2018年8月12日
ごめんなさいごめんなさいって連呼したくなってくる定期
— しゅういち🐈🌎 (@hideh_1231) 2018年8月12日
C++での実装(数百行程度)に慣れていなかったというのもあるが、インデックス構造に用いるデータ構造をうまく実装に落とし込めなかった.
継承したstructをunique_ptrでもつ変数を定義して、そのメンバには基底クラスのunique_ptrで定義された配列を持っていて、それを借用するためにdynamic_castしたり…とか疲れた型推論してくれよ
— しゅういち🐈🌎 (@hideh_1231) 2018年8月11日
キャンプ0日目
インデックス構造が実装しきれない。つらい。
事前課題で作ってたやつがダメダメでもう既にやばいどうしよう()
— しゅういち🐈🌎 (@hideh_1231) 2018年8月13日
人生つらあ、これダメじゃん
もう無理ダメプロの人交代して
— しゅういち🐈🌎 (@hideh_1231) 2018年8月13日
実質事前課題これまでやってきたの0になるとか集中コース的にかなり限界みがあるのですが(かなり耐えてる)
— しゅういち🐈🌎 (@hideh_1231) 2018年8月13日
キャンプ本番
キャンプ1日目
起床チャレンジ成功からの新幹線に乗る。
何かこう、買わなければならないという義務感に駆られたため
— しゅういち🐈🌎 (@hideh_1231) 2018年8月13日
というか高すぎでは??290円やで??
#シンカンセンスゴクカタイアイス pic.twitter.com/IV7M1uYnx7
会場に着いた。
受付長いなぁ(着いた) pic.twitter.com/Te4Sjhvel9
— しゅういち🐈🌎 (@hideh_1231) 2018年8月14日
開会式が始まり、いろんな人の話を聞いて、そこからの全体講義。楽しい。
セキュキャン運営が用意したPCにはVSCodeが入っていたので、これでエディタ戦争の終止符が打たれたに違いない
— しゅういち🐈🌎 (@hideh_1231) 2018年8月14日
ガンガンあげろと言われたので
— しゅういち🐈🌎 (@hideh_1231) 2018年8月14日
#seccamp pic.twitter.com/vPaetrOUni
続けていけることをやるってところがグサッと刺さった
— しゅういち🐈🌎 (@hideh_1231) 2018年8月14日
#seccamp
人生を通して1つの完成品を作りきったってかっこいいな…#seccamp
— しゅういち🐈🌎 (@hideh_1231) 2018年8月14日
好きにやるということを深く考えてほしい#seccamp
— しゅういち🐈🌎 (@hideh_1231) 2018年8月14日
LT大会が始まった。皆さんの技術力の高まりがやばい。明らかに訳わからないのに面白いの本当最高すぎる。 個人的MVPは講師のNTTの人のファイアウォールの話かチューターさんのWiiを使った話。 あっ、自分は自作インドカレーのLTしました。
https://drive.google.com/open?id=1BAwDvMSuST5okF8_3UIOxqcI2oMkH41F
ニンテンドーWiiでフィボナッチやったり、コードゴルフのLTやったりNode.jsとScratchでドローン飛ばしたり最高かよ
— しゅういち🐈🌎 (@hideh_1231) 2018年8月14日
その後グループワークの時間となり、コミュ障にはつらいタイムが始まる。hsjoihsプロにエンカできた嬉しい。
FUJITSUのスパコンの人の話聞けて面白かった
— しゅういち🐈🌎 (@hideh_1231) 2018年8月14日
3日目はセキュリティ関係以外の人探して話聞こかな
今日一のハイテンションイベント
— しゅういち🐈🌎 (@hideh_1231) 2018年8月14日
ガチプロに遭遇した pic.twitter.com/vHQ7FIonCQ
なお事前課題はなかなか終わらずつらみがやばい。バグってる所のパッチを星野さんに作ってもらった。感謝。
ポインタの気持ちを理解したいなって思いましたおやすみ
— しゅういち🐈🌎 (@hideh_1231) 2018年8月14日
キャンプ2日目
8時に起きた。
絶起ギリギリ回避(?)
— しゅういち🐈🌎 (@hideh_1231) 2018年8月14日
本格的な開発が開始した。とりあえずバグを取り除こうとするも、なかなかうまくいかない。
サイトで写経してきたものそのままだとやばいなと思い、構造をどうするか1から自分で考え始めた。
とりあえずinsertする時にfindするので、そこの部分を分離してみた。
苦しみの記録
開発やってると、我々がよく実装重めって言うあれは単に普段から開発してないからではってなる
— しゅういち🐈🌎 (@hideh_1231) 2018年8月15日
黙々と食事して部屋に戻ってるので本当ダメ
— しゅういち🐈🌎 (@hideh_1231) 2018年8月15日
疲れたにゃ〜ん
— しゅういち🐈🌎 (@hideh_1231) 2018年8月15日
8時半から22時まで活動するの、本当国のかtこら何をするやめ
— しゅういち🐈🌎 (@hideh_1231) 2018年8月15日
エラーが…エラーが取れねぇ…やっぱりセグフォ嫌い
— しゅういち🐈🌎 (@hideh_1231) 2018年8月15日
エラー取れないので寝ます無理つら
— しゅういち🐈🌎 (@hideh_1231) 2018年8月15日
どうしてそこだけダメなのかがわからんつらぁ
キャンプ3日目
ついにinsertのバグがなくなった。今までこの段階からのバグに散々悩まされていたのでとても達成感があった。
また,これまでデバッグはprintデバッグだったと星野さんに言うと,gdbを使いましょうとのことなのでgdbを使ってみた。
どこでセグフォが起きているのかとてもわかりやすく、デバッガの素晴らしさを実感した。
しゅういち は gdb で バックトレース の 方法 を 学んだ !!
— しゅういち🐈🌎 (@hideh_1231) 2018年8月16日
次はdeleteをもう一度1から実装してみた。バグが出てきた。ここからさらなるつらみが起きた。
この日の企業公演で、LINEの独自の暗号化技術の話がとても面白かった。
TLS1.2ではハンドシェイクが多くて通信が遅いため,独自で実装したという話(ですがこれはTLS1.3で改善された話のため).
今日の企業公演で面白かったのは、LINEの個人チャットの最終的なセキュリティはChat settingsのEncryption keysを目で見て判断するというあれ
— しゅういち🐈🌎 (@hideh_1231) 2018年8月16日
その後ホームルームや他トラックの見学があった。面白い話が聞けて良かった。
某キャンに来ると米の某gleの人の話を聞けてアド
— しゅういち🐈🌎 (@hideh_1231) 2018年8月16日
キャンプ4日目
実質的な開発最終日。夕方にはトラック内での発表もあるため時間が少なくて悲しみの雨。
昨日は早くに寝たので早く起きれたのは自明であり云々
— しゅういち🐈🌎 (@hideh_1231) 2018年8月16日
脳みそバグりつつあるやば。君データ構造作ってるだけじゃん耐えろよ
昨日からのバグはそのまま永遠と取れず、開発フェーズは終了した。
次は発表のためのスライド作成に移った。
トラック内の他の人の発表がとても高度で、自分もまだまだ精進しなければならないなと思った。
晩御飯フェーズ
この日の企業公演で、ゲヒルンの人(特務機関NERVの中の人)の話が非常に面白かった。強い人の話はうまく飲み込みきれないが、とても刺激的で最高だった。#人の金で食べる焼肉はうまい pic.twitter.com/irShh4u26m
— しゅういち🐈🌎 (@hideh_1231) 2018年8月17日
グループワーク終了後には楽しい楽しいプレゼントタイムがあった。欲しかった大熱血アセンブラとか脆弱性診断とかブラウザハックの本が無くなってて悲しかった。代表者じゃんけんはよくないと思う。各位本当ごめんなさい許して。
ジャンケンで負けることにより恨まれそうつら
— しゅういち🐈🌎 (@hideh_1231) 2018年8月17日
もらった#seccamp pic.twitter.com/jiTBJUm9Sc
— しゅういち🐈🌎 (@hideh_1231) 2018年8月17日
脆弱性診断のやつか大熱血アセンブラかHaskell本が欲しかった…
— しゅういち🐈🌎 (@hideh_1231) 2018年8月17日
キャンプ5日目
起床チャレンジにはギリギリ成功
— しゅういち🐈🌎 (@hideh_1231) 2018年8月17日
朝食チャレンジ不可能つらみ
この日はグループワークである、キャンプ終了後の将来について記入するフェーズがあった。
勉強会を開いたりするのはまだまだ厳しいが、サークル内で勉強会を行ったりして、自身のアウトプットとセキュキャンの宣伝を同時にしていきたいといった内容のことを書いた。宣言したからにはその通りに実現していきたい。(追記: 全くできていないです新学期からやれたら良いなと思っていますはい)
次は全体での成果報告があった。前での発表はまだまだ慣れないが、それなりにはできたと思う。
今日XトラックのDBで3分ぐらいで発表するので、こいつこの期間でこんだけしかやってないの?雑魚いなと思ったらTwitterでヤジ飛ばしてください
— しゅういち🐈🌎 (@hideh_1231) 2018年8月18日
#seccamp
やはり周りの発表と比べて技術的に見劣りしているように感じたので、今回キャンプでやったことを引き続きやっていき、より高度なことをしたいと思った。 (追記: githubのコミット履歴がこの日から何も進んでいないですごめんなさい数年スパンで時間を見つけたらやっていきたいです)
他トラック本当プロすぎてうううってなるんだよなぁ
— しゅういち🐈🌎 (@hideh_1231) 2018年8月18日
そして閉会式。プロデューサーの方々は皆、アウトプットや継続的に続けていくことの大切さなどを話していた。
ライバルを探してボコろう#seccamp
— しゅういち🐈🌎 (@hideh_1231) 2018年8月18日
天職とは
— しゅういち🐈🌎 (@hideh_1231) 2018年8月18日
- できること
- 世の中のためになること
- お金稼ぎになること
好きなこと、か
— しゅういち🐈🌎 (@hideh_1231) 2018年8月18日
まとめ
今回自分がこのようなプロの集まりに参加できるとは思っておらず、非常に楽しい時間を過ごせました。
ここ最近は「とりあえずチャレンジしてみよう!」を合言葉に生活していて、その一環で申し込んだのですが申し込んでみて本当によかったです。
何事も行動しないと始まらないし、持続して取り組むことの大切さを学べました。
また、全国の同じ道を志す人達や素晴らしい実績を持つ人々と繋がれて幸せです。
反省としては、やっぱり色んな人ともっと話をするべきだったなと思います。
キャンプは終了しましたが、ここがスタートラインだと思っています。
どんなことがあっても楽しくこれからも開発に取り組めたらなと思います。
そして、ここで学んだことを色んな人に布教して、低レイヤとセキュリティに興味を持つ人をもっと増やしていきたいです。
最後に、セキュリティキャンプの事務局・講師・チューター・参加者の方々、ホテルの従業員の方々、見学者の方々全てに感謝を。
特に、講師の星野さんには本当にお世話になりました。ありがとうございました!!
お疲れ様でした!!#seccamp
— しゅういち🐈🌎 (@hideh_1231) 2018年8月18日