アゴドリルの備忘録

小さいことを少しずつ

seccamp2018参加記

8/14~8/18にセキュリティ・キャンプ(seccamp)に行った参加記

seccampとは

 セキュリティ・キャンプ事業の中心的な行事です。毎年8月中旬頃に4泊5日の合宿形式で、情報セキュリティに関する実践的な講義を実施しています。対象は22歳以下の学生で、参加するためには、募集期間中(毎年4月~5月頃)に応募課題を提出し、書類審査に通過する必要があります。
 本大会は、2004年から毎年1回開催されており、これまでに663名の修了生を輩出しました。既に社会で活躍している修了生も多数存在します。
 なお、全国大会では、参加に係る費用を主催者側で負担しています。参加者は、キャンプ期間中一人一台のPCが貸与される他、受講費・交通費・宿泊費を含めて、無料で参加することができます。

セキュリティ・キャンプ:IPA 独立行政法人 情報処理推進機構

ということで学生無料で強い人に色々教えてもらえるキャンプがあるということで応募用紙を出したら通ったので行ってきた。
(応募用紙は気が向いたらブログに投げたい。)


0日目

パッキングがいい感じにできて助かった。

1日目

朝はしっかり起きて出撃した。

出撃トラック

眠い・暑い・荷物重いで会場到達までが地味に辛かった。
北府中駅から会場のクロスウェーブ府中までは自分と同じ様にスーツケースを持った民がたくさんいたのでついていけば場所がわかった。


開会式

OSCの紹介

法律のお話

夕食

18:00に夕食でめっちゃ早かった。

LT大会

Wiiの正しい遊び方LTとか、アンチウイルスソフトウェアとパッキング処理済みマルウェア対決のLT、Z4で扱うDPDKのLTが面白かった。
面白いし、技術力的なところでレベルが違うなぁ、って思いながら聞いてた。

グループワーク

seccamp終わった後、どういった活動をするのか、話し合ったりして検討した。

2日目(トラック1日目)

なぜか圧倒的起床力をこのタイミングに発揮してしまい、6:00に起きた。
キャンプ中に唯一の外出できるコンビニタイムでコーヒーを調達した。

しっかり起きれたのに部屋がわからないというインシデントが発生して2、3分遅れてトラックの部屋に着いた。

参加したトラック紹介

圧倒的治安の悪さで有名なZトラックで、その中で決めつけで治安の悪いZ4トラックで毎日頑張ってコードを書いてた。
真面目なことを言うと、DPDKというネットワーク処理に特化したCのライブラリを使ってファイアウォールを実装していこう、というゼミに参加しました。

講義開始

twitterで見た事がある赤いサメアイコンの強い人とネコのアイコンの無限に強い人が講師で、受講者は自分と研究でDPDK使ってる強い人で物理が専攻で趣味でプログラムやってる人が行っては行けないようなやばいゼミだった。

マシンが4台、受講者二名にプロの講師二名の最高の環境だった。

f:id:agodoriru:20180819163128j:plain

1日目は各トラックのイントロダクションをして、その後は各ゼミごとに別れてイントロ・実装とか作業をしていった。
自分は朝から晩まで事前課題で書いたコードをDPDKのコードに移植するために、C言語のコードのバグフィックスと最適化を行なっていた。

基本的にペアプロで開発をしていった。
sshで開発マシンに入って頑張って実装してた。
マシンのhost名がかっこよくて、良さみが深い、って一人で思ってた。

ssh経由で開発するっていう事が今までなくて、nanoの使い方で色々困ってた。
(nanoを使った理由は単に下にコマンドが書いてあって使いやすそうだったからです。
実際はまあまあ辛かったのでemacsvimを使い始めたいと思います。)

自分がコードを書いていて、色々というかほとんど指摘されました。
いつも、中途半端な理解だったところもしっかり指摘されてしまって、教えてもらいながらやっていけたので良かったです。
gitの使い方とか、bashのコマンドとか、Cのコードの書き方以外にも色々教えてくれた。

最後の方はエラー出してごめんなさい〜、って心の底で思いながら実装してた。
講師の人がエラーの処理方法とかを隣で教えてくれたけど、朝からの作業時間が10時間くらいとかで、頭が蒸発してて頭に入ってこなかった。
(講師の人にもこれはバレてたっぽい。)
バグフィックスが割としんどかった。
でも、エラーが出たときのときの対処を何回もやって、これは今回のゼミだけでなくて、今後の日常の開発で常に役立つよなぁ、とあとで思った。

・8:30~12:30
・13:30~17:30
・19:00~22:00
の合計11時間で今まで感じたことがない疲れを得て、2日目を終えました。

シャワって11:30くらいに速攻で寝れた。

3日目(トラック2日目)

起きたのが8:20で、朝飯行けない〜、って思いながらトラックの部屋に向かった気がする。

朝に特に話があるわけでもなく、各班の作業タイムが始まった。
1日目まででまだDPDKのサンプルコードに移植する作業が始まってなくて、あーやばい、って心の底で思ってたのを覚えてる。
トラックの最後の時間までにはDPDKのサンプルコードを動かして、少しづつやっていける状態になったのでよかった。

企業紹介

某社さんのオフレコの話が聞けてやばかった。

グループワーク

疲れてて、チューターの人と喋ったりしてた。

HR

HRという名の実装時間
相変わらず、コード書いてた。

HRの時間が終わって良い感じのところまでいって、もう少し実装したいですーみたいな事を言ったら、良いよーって言ってくれて、神だった。
結局良い感じの時間まで教室外の机で実装してた。

近くにいた講師・チューターの方々が「進捗どうですか」「どんな感じですか」って質問されて答えようとしたら「nano使ってるんですか?」ってなってみんな大好きエディタの話でめっちゃ盛り上がった。
楽し〜い。

あと、良い感じのCUIのプログラムのdemoを見せたりしてくれて、かっこいー、こんなの作りたいー、って思ったりしました。

4日目(トラック最終日)

6:30くらいに起きた。
まだベッドでゴロゴロ寝られるな、って思ってゆっくりしてたら8:15くらいなってて、朝飯行けない〜、ってなった。

3日目夜に良い感じに実装が進んで少しだけコードをいじって、計測にはいれた。
良い感じに高速化出来てる感じでよかった。

午後はトラック内で最終発表をした。
資料作成能力のNASAを発揮してしまい、時間をかけてしまった。
一旦、事前課題で自分が書いたコードが最終的にDPDKにのせて早くなったのがトラック最終日までに実装できたので、一応最低限の目標は達成したと言えるので、安心と高速化の喜びを感じた。

4日目のどっかのタイミングでNOC部屋に行ったりもした。
Elastic Search + kibanaで可視化されたログ見せてもらった。
飯時にめっちゃトラフィック上がってるアクセスポイントとかわかって面白い〜、とか思ってた。

企業紹介

ヒルンの発表が面白かった。

グループワーク

色々考えた。
seccamp恒例の本などのプレゼントタイムもここで行なった。

HR

今後、どういった機能を実装すると良い感じになるかという検討をしてた。

5日目

例の如く、朝飯行けず。

グループワーク

今後取り組む事を書いた。

成果発表

集中トラックは他も面白そうだった。
コンパイラゼミの0日目にセルフホスティング出来た人の話が普通に面白くて、かつ実装力がやばそうでやばかった。
リバエンゼミとかのハードよりのゼミも面白そうだな、って思った。

成果発表(続き)

いろんな分野の話が聞けた。
資料があるのであとで色々見てみたい。

閉会式

アウトプットが大事だという話を聞いた。
ブログとgithubに色々アウトプットしていきたい。

帰宅トラック

荷物が重くて大変だった。

戦利品

セキュキャンパーカーとTシャツといろんな本をもらいました。
(写真に乗ってないノベルティもたくさんいただきました。ありがとうございます。)
自分の受けていない、他の講義の資料があって、あとで勉強できるチャンスがあって良い〜、って思いました。

f:id:agodoriru:20180819182016j:plain

感想

素直に楽しかった。まずはそれに尽きると思います。
三日間、隣に強い講師がいて、いろんなことを聞いてなんでも答えてくれるという最高の環境だった。
参加する講師・受講者が無限に強くてやばいのでは思ってたけど、案の定トラック1日目に実装力がなくて頭が蒸発してました。
自分はまだまだプロには程遠い存在ということがわかったので、精進していく必要があると再認識した。
twitter上にいる強い人にも名刺交換とかできて、いろんな人と関われる良い機会になった。

開発の方は、C言語の基礎から丁寧に教えてくれて、最終的にはDPDKのサンプルコードに移植して動かせる状態になった。
開発したものに関しては、また開発記という形で別のブログに上げたいと思う。
C言語完全に理解した、DPDK完全に理解した、まではいかないけど、ほんのちょっとは理解できて成長できたと思います。

三日間nanoを使って開発したけど、流石にemacsvimに入信した方が良さそう、って言われてvimの資料があったので、、、(以下略)

スライド


最後に

Zトラックはいいぞ
(ほぼ)一対一で開発できて最高だった。
(他のトラックに参加してないからなんとも言えないけど、さすがに一対一はこのZトラックだけなのでは?
なお、治安の悪さもピカイチだった。)
治安が悪いと散々言ってるものの、実際はめっちゃラフな環境ですごい開発しやすくて、居心地がよかったので3日間本当に楽しかった。(だからこそ治安が悪くなった(?))

興味のある学生へ

応募した方が絶対良い経験・良い刺激になるので応募しましょう。
学生なのに応募しないで後悔するのが一番良くないので。
なので、このブログを見て、かつ技術的に強くなりたい人は来年応募しましょう、という参加してください。(Zトラックは良いぞ!)
ネットワークとマルウェアに興味がある人はぜひZ4に応募しましょう。

一緒に参加した人へ

切磋琢磨しあいましょう。
また、どこかで会いましょう

講師・チューターの方々へ

強くなって帰ってきます。

最後の最後に

トラック最終日に撮った治安の悪い写真で参加記を終わりたいと思います。