セキュリティ・キャンプ全国大会2016に参加して1ヶ月経ったので色々書く
この記事は最終更新から半年以上経過しており、内容が古い可能性があります。
タイトル通りですが、セキュリティ・キャンプ全国大会2016に参加してきました…!
参加して1ヶ月が経ったところで、振り返りとして以下に参加記を書くこととします。 (これは言い訳で、単に書く時間がなさすぎていつの間にか1ヶ月経過していたというだけです。)
応募
応募用紙を書きます。どんな応募用紙を書いたかは、別記事「セキュリティ・キャンプ全国大会2016に参加することになった」を参照してください。
合格すると、「<合格>セキュリティ・キャンプ全国大会2016審査結果(要対応)」って件名のメールが来ます。件名だけで合否がわかるのはいいですね。 僕は直前まで「応募用紙頑張って書いたから受かっててくれ…でも落ちてそうな気がする…」みたいな気分だったので、この件名を見てから喜ぶまで5秒くらい思考停止してました。
(部のMLに合格を報告した時のpotetisensei)
参加するまで
時間割から取りたい講義を選んで、決定を待ちます。
僕は全部第1希望の通り、
- [1・2-E] TLS徹底演習
- [3A] Webアプリケーションの脆弱性の評価と発見
- [4C] オンラインゲームアタック&ディフェンスチャレンジ
- [5A] サーバ運用におけるパスワード管理
- [6A] 次世代プラットフォームのセキュリティモデル考察
- [7A] ID連携基礎
を受けることになりました。だいぶアプリケーショントラック寄りです。
受ける講義が決まったら、事前課題がある講義については事前課題を済ませておくべきです。…ちなみに僕は全てはできませんでした。結論から言うと、ある程度はやっていたのでそれでもなんとかなりましたが、(当たり前ですが)全くやってなかったらつらくなってたと思います。
セキュキャンは8/9(火)~8/13(土)での開催でしたが、遊ぶために8/7(日)夜に東京入りしていました。
1日目
11:30-12:00の間に集合するよう言われていたので、僕は会場に11:40に着いたが、Twitter情報だと、一部の参加者はもっと早く着いていたらしい。(るくすさんが作っていたセキュキャン2016関係者のリストがキャンプ中は常にすごく役に立った)
以前からTwitterで仲良くしていたnkpoidと初めて会った。(顔を知られてないはずなのにあちらから声をかけられたので特定力に驚いた)
彼とは隣の席だったのでやりやすかった。他にも、Twitterで知っていた多くの人々がいて嬉しかった。
開会式開始前が非公式な名刺交換の場として栄えていました。一応これを逃しても機会はあるっちゃあるのですが、休憩時間に全員が揃っている機会はこの初日くらいなので、確かに開始より早く行って名刺交換をしたほうがいいかもしれない。
ただ、非公式に各々が名刺交換をしているのみなので、人の顔を覚えることができない僕は同じ人に何度も名刺交換を頼むようになってしまった。公式な交換の場が用意されていたらなあと思いました。
その後の全体講義ではプロの方々からいい話を聞けます。(ただ、ずっと座りっぱで聞くので、少し眠かった…)
僕は寝ませんでしたが、寝ているとチューターに起こされます。寝ている人を探すチューターが楽しそうだった。
途中で倒れた参加者がいたのですが、その際チューターが一瞬で駆け寄ってトランシーバーで救援を呼ぶ様子がめちゃくちゃかっこよかったです。
グループワークでは、グループの名前を決めて、グループのディスカッションの課題を4つの中から決め、準備を始めました。 僕、nkpoid、おりさのさん、あやもりさんで構成された我がグループはグループ名を「お気持ち」に設定し、テーマを「倫理」に設定しました。
夜ご飯を食べ、コンビニツアー(1日1回、夕食後に開催される、コンビニに外出できる機会。夜食を買うと良いです)に参加して、部屋に来たnkpoidとNEW GAME!を観て寝ました。
2日目
起床成功。
朝食をお腹いっぱい食べて、「TLS徹底演習」を受講しました。TLSの歴史や仕様を学び、用意していただいたnodeモジュールを使ってハンドシェイクをしてみたり、中間者攻撃をしてみたりして、残りの時間ではnodejsでchachaのアルゴリズムを実装してみる、といった講義で、体感的に一気に知識を詰め込むことができた良い機会となりました。
あと、困っているとチューターの方々がめっちゃ積極的に助けを出してくれます。すごくありがたかったです。
夕食を食べた後はCTFをしました。
(CTF前)
(CTF後)
12チーム中9位でした。僕は最初にRPiにログインしてflagを取った以降点を生やせず、おりさのさんがバイナリ問を1問解いて終了、という感じでした。
CTFは初挑戦でした。解くこと自体はなかなか楽しかったですが、圧倒的経験不足を感じ、今後絶対精進したいと思いました。
お風呂を入れ、日付が変わったところでnkpoidの誕生日を祝いに行き、歯磨きをして「明日も早起きするぞ!」と思って寝ました。
3日目
アラームをかけていなかった。
最悪の起床をしました。
何故か部のSlackでも実況される始末である
「Webアプリケーションの脆弱性の評価と発見」を受講しました。前半はMasato Kinugawaさんによる脆弱性発見の講義を、後半はサイボウズ伊藤さんによる脆弱性評価の講義を受けました。楽しかったです。
昼食後は「オンラインゲームアタック&ディフェンスチャレンジ」を受講しました。攻撃側(チートプレイヤー)と防御側(ゲーム運営)にチーム分けされ、nodejsで作られた脆弱性付きのオンラインゲームを攻撃/防御してスコアを競うというものです。
前半戦では、僕は防御側チームに振られ、穴を埋めることになりました。
ブラウザのJS側でのみレベルアップに必要なスコアの判定がされていたため、直接レベルアップのメソッドを叩けばレベルアップしまくれるという穴があったのですが、穴を塞ごうとしたところ、始めのうちは誤ってレベルアップ不可能なコードにしてしまい、ゲーム内チャットでプレイヤーに「運営は何をやっているんだ!」みたいなヤジを投げられてしまって面白かったです。
しかし、その後講師に「穴を塞げない時にとりあえず機能を無効化するのは、最善ではないが1つの手段である」ということを言われ、なるほどなあと思いました。
途中までは防御側は負けていたのですが、不正ユーザーのBANをチームメンバーの人がしたところスコアサーバーがバグり、謎の勝利をしてしまいました。
後半戦では、僕は攻撃チームに振られ、攻撃を始めましたが、すべての脆弱性が既知のものとなっており穴を塞がれてしまっていたので、点が全く取れませんでした。
最初は攻撃側の方が楽しそうだと思っていたのですが、いざやってみると防御側は「1秒でも早く穴を塞がなきゃ」という焦りがあるもののすごく楽しかったです。
夕食を食べ、講義「サーバ運用におけるパスワード管理」でディスカッションをして、お風呂を入れました。
@hakatashiに代行してもらうコミケ同人誌を選んでいたら遅くなってしまった。就寝。
4日目
起床。朝食を食べて、講義「次世代プラットフォームのセキュリティモデル考察」を受けました。
前半ははせがわようすけ先生によるElectronに潜みうる脆弱性の話/演習を、後半はにしむねあさんによる、アプリ側からJavaScriptを実行するWebViewを持ったiOS/Androidアプリを利用して情報を取る話/演習を受けました。とても知見が深まり、楽しかったです!
昼食を食べた後は、講義「ID連携基礎」を受けました。OAuthやOpenID Connectの仕様を聞き、実際に通信を解析してみたり、CSRFを試してみたりしました。
夕食は牛タンを食べました。久しぶりの肉だったので激美味しかった。(もっと食べたかったけど… >_< )
風呂を入れようとして失敗。
風呂の後は僕の部屋にお気持ち一行が集まり、翌日のグループワーク発表のために意見とスライドを完成させました。3時までの作業になり、本当にキツかった。
就寝。
5日目
無事目覚めることはできたが、あまりの眠さにギリギリまで布団を出ることができず、朝食を食べないままの参加となってしまった。
グループワークの発表をした。我が班は苦しみまくった結果とても堅い内容となってしまったが、他の班の中には開き直ってめっちゃ面白い発表をして賞をもらうようなところもあり、なるほどと思った。
集合写真は「頑張るぞい!」のポーズで撮りました。 (出典: サイバーセキュリティの「守護神」育成へ 若き精鋭の熱い夏 (Yahoo!ニュース))
その後、技術書が全員3冊もらえるというイベントがありました。嬉しかった! 僕はハリネズミ本とOS自作入門の本、線形代数の本をもらいました。 また、キャンプならではですが、たいてい著者の方がいるので、著者の方にサインをもらうことができます!
感想
とりあえず、本当に楽しかった!!! 本当に多くの知見や経験を得ることができて、嬉しかったです。
ただ、選択講義の選択肢が本当に魅力的で、受けたかったけどなくなく受けられなかった講義もとても多いです。低レイヤーの講義も受けておけばよかったかなという反省もあります…
ただ、選択した講義以外のテキストも(配れるものは)配られていますし、講師とのつながりもできました。その点もこのキャンプの強みなのかなと思います。 また、キャンプで他の多くのプロな参加者と触れ合って、自分の未熟さも多分に感じることとなりました。今後精進して絶対強くなりたいなあと思いました。
その他:
- 参加者と話すのが本当に楽しい
- 憧れの講師から講義を受けたり話せたりして感動
- チューターがかっこいい
- ホテルが良いところで安心